初始化天卡开放平台后端项目
包含完整功能模块: - 设备激活(直销激活码模式 + 代销免激活码模式) - 微信支付 + 天卡订单 - 天卡池管理 + 异步橘视厅SDK激活 - 第三方合作伙伴接口(代销模式) - 签名鉴权(appKey/appSecret + nonce防重放) - 天卡消耗(事务 + 幂等 + 并发控制) - 媒资接口(三级授权过滤) - 审计日志 - 定价策略(3层:门店 > 渠道 > 平台) - 分账(微信分账 + 分润规则) - Docker部署(含Redis容器)
This commit is contained in:
21
src/main/resources/mapper/daycard/DayCardPoolDao.xml
Normal file
21
src/main/resources/mapper/daycard/DayCardPoolDao.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="io.as.modules.daycard.dao.DayCardPoolDao">
|
||||
|
||||
<!-- 使用 FOR UPDATE SKIP LOCKED 抢占一张未使用的天卡,避免并发下单分配到同一张卡 -->
|
||||
<select id="selectOneForUpdateSkipLocked" resultType="io.as.modules.daycard.entity.DayCardPoolEntity">
|
||||
SELECT * FROM day_card_pool
|
||||
WHERE delete_flag = 'UNDEL'
|
||||
AND (
|
||||
status = 'UNUSED'
|
||||
OR (status = 'REUSABLE' AND expire_at > NOW())
|
||||
)
|
||||
ORDER BY
|
||||
CASE WHEN status = 'REUSABLE' THEN 0 ELSE 1 END,
|
||||
id ASC
|
||||
LIMIT 1
|
||||
FOR UPDATE SKIP LOCKED
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user