From 2aa5da15461e9a6ed533056b304eb2bfebba3f49 Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Thu, 15 Jan 2026 12:09:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=BD=E5=A5=96=E6=B4=BB=E5=8A=A8=E6=96=B0?= =?UTF-8?q?=E5=A2=9EactivityId=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/api/LotteryTicketClientApi.java | 1 + .../LotteryActivityRestController.java | 21 +++++++++++++------ .../app/task/SpinsTaskRestController.java | 7 ++++--- .../command/SpinsTaskReceiveRewardExe.java | 6 ++++-- .../ActivityRewardConfigBadgeQryExe.java | 2 +- .../activity/ClaimActivityRewardBadgeExe.java | 2 +- .../activity/ClaimActivityRewardExe.java | 1 + .../activity/LotteryActivityDetailQryExe.java | 1 + .../app/command/activity/LotteryDrawExe.java | 5 +++-- .../command/activity/LotteryMultiDrawExe.java | 18 ++++++++++++---- .../activity/LotteryTicketCountQryExe.java | 3 ++- .../command/activity/LotteryTicketQryExe.java | 3 ++- .../activity/MyTotalDrawCountQryExe.java | 3 ++- .../LotteryActivityRestServiceImpl.java | 12 +++++------ .../service/activity/LotteryServiceImpl.java | 5 ----- .../dto/cmd/SpinsTaskReceiveRewardCmd.java | 2 ++ .../activity/LotteryActivityRestService.java | 6 +++--- .../app/service/activity/LotteryService.java | 5 ----- .../rds/entity/activity/LotteryTicket.java | 6 ++++++ .../activity/LotteryTicketClientEndpoint.java | 4 ++-- .../activity/LotteryTicketClientService.java | 2 +- .../impl/LotteryTicketClientServiceImpl.java | 3 ++- 22 files changed, 73 insertions(+), 45 deletions(-) diff --git a/rc-service/rc-inner-api/other-inner/other-inner-api/src/main/java/com/red/circle/other/inner/endpoint/activity/api/LotteryTicketClientApi.java b/rc-service/rc-inner-api/other-inner/other-inner-api/src/main/java/com/red/circle/other/inner/endpoint/activity/api/LotteryTicketClientApi.java index 7da8826f..d81e1bd2 100644 --- a/rc-service/rc-inner-api/other-inner/other-inner-api/src/main/java/com/red/circle/other/inner/endpoint/activity/api/LotteryTicketClientApi.java +++ b/rc-service/rc-inner-api/other-inner/other-inner-api/src/main/java/com/red/circle/other/inner/endpoint/activity/api/LotteryTicketClientApi.java @@ -36,6 +36,7 @@ public interface LotteryTicketClientApi { @PostMapping("/addTicket") ResultResponse addTicket( @RequestParam("userId") Long userId, + @RequestParam("activityId") Long activityId, @RequestParam("count") Integer count, @RequestParam(value = "source", required = false) String source, @RequestParam(value = "sourceId", required = false) String sourceId diff --git a/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/activity/LotteryActivityRestController.java b/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/activity/LotteryActivityRestController.java index 84abaf1e..f4c60e27 100644 --- a/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/activity/LotteryActivityRestController.java +++ b/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/activity/LotteryActivityRestController.java @@ -151,8 +151,11 @@ public class LotteryActivityRestController extends BaseController { * @eo.request-type formdata */ @GetMapping("/my-tickets") - public List listMyTickets(AppExtCommand cmd) { - return lotteryActivityRestService.listMyTickets(cmd); + public List listMyTickets(AppExtCommand cmd, Long activityId) { + if (activityId == null) { + activityId = 2005571533988298753L; + } + return lotteryActivityRestService.listMyTickets(cmd, activityId); } /** @@ -164,8 +167,11 @@ public class LotteryActivityRestController extends BaseController { * @eo.request-type formdata */ @GetMapping("/my-ticket-count") - public Integer getMyTicketCount(AppExtCommand cmd) { - return lotteryActivityRestService.getMyTicketCount(cmd); + public Integer getMyTicketCount(AppExtCommand cmd, Long activityId) { + if (activityId == null) { + activityId = 2005571533988298753L; + } + return lotteryActivityRestService.getMyTicketCount(cmd, activityId); } /** @@ -177,8 +183,11 @@ public class LotteryActivityRestController extends BaseController { * @eo.request-type formdata */ @GetMapping("/my-total-draw-count") - public MyTotalDrawCountCO getMyTotalDrawCount(AppExtCommand cmd) { - return lotteryActivityRestService.getMyTotalDrawCount(cmd); + public MyTotalDrawCountCO getMyTotalDrawCount(AppExtCommand cmd, Long activityId) { + if (activityId == null) { + activityId = 2005571533988298753L; + } + return lotteryActivityRestService.getMyTotalDrawCount(cmd, activityId); } /** diff --git a/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/task/SpinsTaskRestController.java b/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/task/SpinsTaskRestController.java index f2ef7756..14bcf040 100644 --- a/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/task/SpinsTaskRestController.java +++ b/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/task/SpinsTaskRestController.java @@ -48,8 +48,9 @@ public class SpinsTaskRestController { */ @PostMapping("/receive/reward") public SpinsTaskRewardCO receiveReward(@Validated @RequestBody SpinsTaskReceiveRewardCmd cmd) { - log.info("领取任务奖励, userId={}, taskCode={}", cmd.getReqUserId(), cmd.getTaskCode()); - SpinsTaskRewardCO reward = spinsTaskService.receiveTaskReward(cmd); - return reward; + if (cmd.getActivityId() == null) { + cmd.setActivityId(2005571533988298753L); + } + return spinsTaskService.receiveTaskReward(cmd); } } diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/SpinsTaskReceiveRewardExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/SpinsTaskReceiveRewardExe.java index 714f3038..f7c42e8d 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/SpinsTaskReceiveRewardExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/SpinsTaskReceiveRewardExe.java @@ -51,6 +51,7 @@ public class SpinsTaskReceiveRewardExe { public SpinsTaskRewardCO execute(SpinsTaskReceiveRewardCmd cmd) { Long userId = cmd.getReqUserId(); String taskCode = cmd.getTaskCode(); + Long activityId = cmd.getActivityId(); // 构建分布式锁key String lockKey = DistributedLockUtil.buildLockKey(LOCK_KEY_PREFIX, userId, taskCode); @@ -58,13 +59,13 @@ public class SpinsTaskReceiveRewardExe { // 使用分布式锁工具类执行业务逻辑 return distributedLockUtil.executeWithLock( lockKey, - () -> executeReceiveReward(userId, taskCode)); + () -> executeReceiveReward(userId, activityId, taskCode)); } /** * 执行领取任务奖励的核心逻辑 */ - private SpinsTaskRewardCO executeReceiveReward(Long userId, String taskCode) { + private SpinsTaskRewardCO executeReceiveReward(Long userId, Long activityId, String taskCode) { // 1. 查询任务配置 List spinsTaskConfigs = spinsTaskConfigDAO.selectList( new LambdaQueryWrapper() @@ -106,6 +107,7 @@ public class SpinsTaskReceiveRewardExe { for (int i = 0; i < taskConfig.getRewardValue(); i++) { Long ticketId = lotteryTicketClient.addTicket( userId, + activityId, 1, "SPINS_TASK", taskCode diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/ActivityRewardConfigBadgeQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/ActivityRewardConfigBadgeQryExe.java index bc558f72..34ab7b28 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/ActivityRewardConfigBadgeQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/ActivityRewardConfigBadgeQryExe.java @@ -53,7 +53,7 @@ public class ActivityRewardConfigBadgeQryExe { List ruleIds = ruleConfigs.stream().map(ActivityPropsRule::getId).collect(Collectors.toList()); Map claimMap = getUserClaimMap(cmd.getReqUserId(), ruleIds); - MyTotalDrawCountCO drawCount = lotteryActivityRestService.getMyTotalDrawCount(cmd); + MyTotalDrawCountCO drawCount = lotteryActivityRestService.getMyTotalDrawCount(cmd, cmd.getActivityId()); BigDecimal finalUserTotalAmount = drawCount != null && drawCount.getUsedCount() != null ? new BigDecimal(drawCount.getUsedCount()) : BigDecimal.ZERO; diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/ClaimActivityRewardBadgeExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/ClaimActivityRewardBadgeExe.java index 692e56e7..c343c282 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/ClaimActivityRewardBadgeExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/ClaimActivityRewardBadgeExe.java @@ -84,7 +84,7 @@ public class ClaimActivityRewardBadgeExe { BigDecimal requiredAmount = parseRequiredAmount(targetRule.getJsonData()); ResponseAssert.notNull(DynamicErrorCode.NO_RELATED_INFORMATION_FOUND, requiredAmount); - MyTotalDrawCountCO drawCount = lotteryActivityRestService.getMyTotalDrawCount(cmd); + MyTotalDrawCountCO drawCount = lotteryActivityRestService.getMyTotalDrawCount(cmd, cmd.getActivityId()); BigDecimal finalUserTotalAmount = drawCount != null && drawCount.getUsedCount() != null ? new BigDecimal(drawCount.getUsedCount()) : BigDecimal.ZERO; diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/ClaimActivityRewardExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/ClaimActivityRewardExe.java index e81ad92b..86bd9c2d 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/ClaimActivityRewardExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/ClaimActivityRewardExe.java @@ -97,6 +97,7 @@ public class ClaimActivityRewardExe { Long ticketId = ResponseAssert.requiredSuccess( lotteryTicketClient.addTicket( cmd.getReqUserId(), + cmd.getActivityId(), 1, "ACTIVITY_REWARD", cmd.getRuleId().toString() diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryActivityDetailQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryActivityDetailQryExe.java index 68abf0c7..a78698a7 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryActivityDetailQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryActivityDetailQryExe.java @@ -73,6 +73,7 @@ public class LotteryActivityDetailQryExe { if (activity.getNeedTicket() == 1) { ticketCount = lotteryTicketService.query() .eq(LotteryTicket::getUserId, userId) + .eq(LotteryTicket::getActivityId, activity.getId()) .eq(LotteryTicket::getStatus, 1) .gt(LotteryTicket::getRemainingCount, 0) .list() diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryDrawExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryDrawExe.java index 45df7313..6d24d6a3 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryDrawExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryDrawExe.java @@ -88,7 +88,7 @@ public class LotteryDrawExe { BigDecimal userRechargeAmount = getUserRechargeAmount(userId, activityId); // 5. 校验并扣除抽奖券(如果需要) - deductTicket(userId, activity.getTicketCost()); + deductTicket(userId, activity.getId(), activity.getTicketCost()); // 6. 获取或创建用户进度(用于动态概率) LotteryUserProgress progress = getOrCreateUserProgress(userId, activityId); @@ -470,9 +470,10 @@ public class LotteryDrawExe { /** * 扣除抽奖券. */ - private void deductTicket(Long userId, Integer ticketCost) { + private void deductTicket(Long userId, Long activityId, Integer ticketCost) { List tickets = lotteryTicketService.query() .eq(LotteryTicket::getUserId, userId) + .eq(LotteryTicket::getActivityId, activityId) .eq(LotteryTicket::getStatus, 1) .gt(LotteryTicket::getRemainingCount, 0) .orderByAsc(LotteryTicket::getExpireTime) diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryMultiDrawExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryMultiDrawExe.java index e7ef57ba..6b3ff5ec 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryMultiDrawExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryMultiDrawExe.java @@ -95,7 +95,7 @@ public class LotteryMultiDrawExe { ? activity.getMultiDrawTicketCost() : drawCount * activity.getTicketCost(); - deductTicket(userId, ticketCost); + deductTicket(userId, activityId, ticketCost); // 7. 获取或创建用户进度(用于动态概率) LotteryUserProgress progress = getOrCreateUserProgress(userId, activityId); @@ -469,8 +469,13 @@ public class LotteryMultiDrawExe { return lotteryPrizeService.query().eq(LotteryPrize::getActivityId, activityId).eq(LotteryPrize::getIsGuaranteePrize, 1).gt(LotteryPrize::getRemainingStock, 0).orderByDesc(LotteryPrize::getPrizeValue).last("LIMIT 1").getOne(); } - private void deductTicket(Long userId, Integer ticketCost) { - List tickets = lotteryTicketService.query().eq(LotteryTicket::getUserId, userId).eq(LotteryTicket::getStatus, 1).gt(LotteryTicket::getRemainingCount, 0).orderByAsc(LotteryTicket::getExpireTime).list(); + private void deductTicket(Long userId, Long activityId, Integer ticketCost) { + List tickets = lotteryTicketService.query() + .eq(LotteryTicket::getUserId, userId) + .eq(LotteryTicket::getActivityId, activityId) + .eq(LotteryTicket::getStatus, 1) + .gt(LotteryTicket::getRemainingCount, 0) + .orderByAsc(LotteryTicket::getExpireTime).list(); int totalRemaining = tickets.stream().mapToInt(LotteryTicket::getRemainingCount).sum(); ResponseAssert.isTrue(LotteryErrorCode.INSUFFICIENT_TICKETS, totalRemaining >= ticketCost); List records = new ArrayList<>(); @@ -478,7 +483,12 @@ public class LotteryMultiDrawExe { for (LotteryTicket ticket : tickets) { if (remaining <= 0) break; int deduct = Math.min(remaining, ticket.getRemainingCount()); - boolean updateSuccess = lotteryTicketService.update().eq(LotteryTicket::getId, ticket.getId()).eq(LotteryTicket::getRemainingCount, ticket.getRemainingCount()).setSql("used_count = used_count + " + deduct).setSql("remaining_count = remaining_count - " + deduct).execute(); + boolean updateSuccess = lotteryTicketService.update() + .eq(LotteryTicket::getId, ticket.getId()) + .eq(LotteryTicket::getRemainingCount, ticket.getRemainingCount()) + .setSql("used_count = used_count + " + deduct) + .setSql("remaining_count = remaining_count - " + deduct) + .execute(); ResponseAssert.isTrue(LotteryErrorCode.INSUFFICIENT_TICKETS, updateSuccess); LotteryTicketRecord ticketRecord = new LotteryTicketRecord(); ticketRecord.setUserId(userId); diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryTicketCountQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryTicketCountQryExe.java index 16ef276b..52dd26ec 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryTicketCountQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryTicketCountQryExe.java @@ -19,11 +19,12 @@ public class LotteryTicketCountQryExe { private final LotteryTicketService lotteryTicketService; - public Integer execute(AppExtCommand cmd) { + public Integer execute(AppExtCommand cmd, Long activityId) { Long userId = cmd.requiredReqUserId(); List tickets = lotteryTicketService.query() .eq(LotteryTicket::getUserId, userId) + .eq(LotteryTicket::getActivityId, activityId) .eq(LotteryTicket::getStatus, 1) .gt(LotteryTicket::getRemainingCount, 0) .list(); diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryTicketQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryTicketQryExe.java index fbd6faf4..04a0a1d2 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryTicketQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/LotteryTicketQryExe.java @@ -22,11 +22,12 @@ public class LotteryTicketQryExe { private final LotteryTicketService lotteryTicketService; - public List execute(AppExtCommand cmd) { + public List execute(AppExtCommand cmd, Long activityId) { Long userId = cmd.requiredReqUserId(); List tickets = lotteryTicketService.query() .eq(LotteryTicket::getUserId, userId) + .eq(LotteryTicket::getActivityId, activityId) .eq(LotteryTicket::getStatus, 1) .gt(LotteryTicket::getRemainingCount, 0) .orderByAsc(LotteryTicket::getExpireTime) diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/MyTotalDrawCountQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/MyTotalDrawCountQryExe.java index 7bbeffea..532ef0e0 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/MyTotalDrawCountQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/MyTotalDrawCountQryExe.java @@ -18,11 +18,12 @@ public class MyTotalDrawCountQryExe { private final LotteryTicketService lotteryTicketService; - public MyTotalDrawCountCO execute(AppExtCommand cmd) { + public MyTotalDrawCountCO execute(AppExtCommand cmd, Long activityId) { Long userId = cmd.getReqUserId(); List tickets = lotteryTicketService.query() .eq(LotteryTicket::getUserId, userId) + .eq(LotteryTicket::getActivityId, activityId) .eq(LotteryTicket::getStatus, 1) .list(); diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/activity/LotteryActivityRestServiceImpl.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/activity/LotteryActivityRestServiceImpl.java index 2f35850e..ed4c2971 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/activity/LotteryActivityRestServiceImpl.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/activity/LotteryActivityRestServiceImpl.java @@ -84,18 +84,18 @@ public class LotteryActivityRestServiceImpl implements LotteryActivityRestServic } @Override - public List listMyTickets(AppExtCommand cmd) { - return lotteryTicketQryExe.execute(cmd); + public List listMyTickets(AppExtCommand cmd, Long activityId) { + return lotteryTicketQryExe.execute(cmd, activityId); } @Override - public Integer getMyTicketCount(AppExtCommand cmd) { - return lotteryTicketCountQryExe.execute(cmd); + public Integer getMyTicketCount(AppExtCommand cmd, Long activityId) { + return lotteryTicketCountQryExe.execute(cmd, activityId); } @Override - public MyTotalDrawCountCO getMyTotalDrawCount(AppExtCommand cmd) { - return myTotalDrawCountQryExe.execute(cmd); + public MyTotalDrawCountCO getMyTotalDrawCount(AppExtCommand cmd, Long activityId) { + return myTotalDrawCountQryExe.execute(cmd, activityId); } @Override diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/activity/LotteryServiceImpl.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/activity/LotteryServiceImpl.java index f9f8f522..6a05c06d 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/activity/LotteryServiceImpl.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/activity/LotteryServiceImpl.java @@ -44,9 +44,4 @@ public class LotteryServiceImpl implements LotteryService { return lotteryDrawExe.execute(cmd); } - @Override - public List listMyTickets(AppExtCommand cmd) { - return lotteryTicketQryExe.execute(cmd); - } - } diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/SpinsTaskReceiveRewardCmd.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/SpinsTaskReceiveRewardCmd.java index cec273cf..78cfda29 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/SpinsTaskReceiveRewardCmd.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/SpinsTaskReceiveRewardCmd.java @@ -18,4 +18,6 @@ public class SpinsTaskReceiveRewardCmd extends AppExtCommand { @NotBlank(message = "任务编码不能为空") private String taskCode; + + private Long activityId; } diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/activity/LotteryActivityRestService.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/activity/LotteryActivityRestService.java index b221f5d2..0d91dd59 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/activity/LotteryActivityRestService.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/activity/LotteryActivityRestService.java @@ -60,17 +60,17 @@ public interface LotteryActivityRestService { /** * 查询我的抽奖券. */ - List listMyTickets(AppExtCommand cmd); + List listMyTickets(AppExtCommand cmd, Long activityId); /** * 获取抽奖券总数. */ - Integer getMyTicketCount(AppExtCommand cmd); + Integer getMyTicketCount(AppExtCommand cmd, Long activityId); /** * 查询我的总抽奖次数. */ - MyTotalDrawCountCO getMyTotalDrawCount(AppExtCommand cmd); + MyTotalDrawCountCO getMyTotalDrawCount(AppExtCommand cmd, Long activityId); /** * 查询排行榜. diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/activity/LotteryService.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/activity/LotteryService.java index ac456394..582482ed 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/activity/LotteryService.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/activity/LotteryService.java @@ -33,9 +33,4 @@ public interface LotteryService { */ LotteryDrawResultCO draw(LotteryDrawCmd cmd); - /** - * 查询用户抽奖券. - */ - List listMyTickets(AppExtCommand cmd); - } diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/entity/activity/LotteryTicket.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/entity/activity/LotteryTicket.java index b0681985..325c3b0a 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/entity/activity/LotteryTicket.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/entity/activity/LotteryTicket.java @@ -37,6 +37,12 @@ public class LotteryTicket implements Serializable { @TableField("user_id") private Long userId; + /** + * 活动ID. + */ + @TableField("activity_id") + private Long activityId; + /** * 来源:SYSTEM-系统发放,ACTIVITY-活动赠送,PURCHASE-购买. */ diff --git a/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/endpoint/activity/LotteryTicketClientEndpoint.java b/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/endpoint/activity/LotteryTicketClientEndpoint.java index eac0958e..f1ad663e 100644 --- a/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/endpoint/activity/LotteryTicketClientEndpoint.java +++ b/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/endpoint/activity/LotteryTicketClientEndpoint.java @@ -36,8 +36,8 @@ public class LotteryTicketClientEndpoint implements LotteryTicketClientApi { } @Override - public ResultResponse addTicket(Long userId, Integer count, String source, String sourceId) { - Long result = lotteryTicketClientService.addTicket(userId, count, source, sourceId); + public ResultResponse addTicket(Long userId, Long activityId, Integer count, String source, String sourceId) { + Long result = lotteryTicketClientService.addTicket(userId, activityId, count, source, sourceId); return ResultResponse.success(result); } diff --git a/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/activity/LotteryTicketClientService.java b/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/activity/LotteryTicketClientService.java index 823ab80b..d7831139 100644 --- a/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/activity/LotteryTicketClientService.java +++ b/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/activity/LotteryTicketClientService.java @@ -34,6 +34,6 @@ public interface LotteryTicketClientService { * @param sourceId 来源ID * @return 是否成功 */ - Long addTicket(Long userId, Integer count, String source, String sourceId); + Long addTicket(Long userId, Long activityId, Integer count, String source, String sourceId); } diff --git a/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/activity/impl/LotteryTicketClientServiceImpl.java b/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/activity/impl/LotteryTicketClientServiceImpl.java index b1570e6d..45dc6b58 100644 --- a/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/activity/impl/LotteryTicketClientServiceImpl.java +++ b/rc-service/rc-service-other/other-inner-endpoint/src/main/java/com/red/circle/other/app/inner/service/activity/impl/LotteryTicketClientServiceImpl.java @@ -86,9 +86,10 @@ public class LotteryTicketClientServiceImpl implements LotteryTicketClientServic @Override @Transactional(rollbackFor = Exception.class) - public Long addTicket(Long userId, Integer count, String source, String sourceId) { + public Long addTicket(Long userId, Long activityId, Integer count, String source, String sourceId) { LotteryTicket ticket = new LotteryTicket(); ticket.setUserId(userId); + ticket.setActivityId(activityId); ticket.setTicketSource(source != null ? source : "SYSTEM"); ticket.setSourceId(sourceId); ticket.setTotalCount(count);