From d5abf2ed1ed9b82cfbb1546294f3c73ec566f0af Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Thu, 29 Aug 2024 15:44:40 +0800 Subject: [PATCH] //OfflineActivity --- .../WxOfflineActivityGrantController.java | 4 +- .../domain/po/WxOfflineActivityRecord.java | 6 ++ .../WxOfflineActivityRecordGrantMapper.java | 2 +- .../WxOfflineActivityGrantAwardService.java | 2 +- ...xOfflineActivityGrantAwardServiceImpl.java | 66 ++++++++++--------- .../WxOfflineActivityRecordServiceImpl.java | 4 ++ 6 files changed, 50 insertions(+), 34 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java index 7d75661c8..eda9b0c4b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java @@ -134,8 +134,8 @@ public class WxOfflineActivityGrantController extends BaseController { } TenantEntity tenantInfo = getTenantInfo(); wxOfflineActivityGrantAward.updateTenantInfo(tenantInfo); - WxOfflineActivityGrantAward grantAward = wxOfflineActivityGrantAwardService.grantAwardDetail(wxOfflineActivityGrantAward); - return new ResultData(grantAward); + List grantAwardList = wxOfflineActivityGrantAwardService.grantAwardDetail(wxOfflineActivityGrantAward); + return new ResultData(grantAwardList); } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java b/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java index 439e45103..28f02aef2 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java @@ -169,6 +169,12 @@ public class WxOfflineActivityRecord extends TenantEntity { @TableField(value = "audit_status") private Integer auditStatus; + /** + * 是否可发奖 + */ + @TableField(exist = false) + private Integer grantStatus; + /** * 审核人 */ diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordGrantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordGrantMapper.java index ae5feed7f..a8e01052f 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordGrantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordGrantMapper.java @@ -19,7 +19,7 @@ public interface WxOfflineActivityRecordGrantMapper extends CommonMapper recordGrantList); - Long selectGrantId(@Param("tenantId")String tenantId, @Param("activityId")Long activityId, @Param("recordId")Long recordId); + List selectGrantId(@Param("tenantId")String tenantId, @Param("activityId")Long activityId, @Param("recordId")Long recordId); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java index 246bd646c..60f2c39d7 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java @@ -31,7 +31,7 @@ public interface WxOfflineActivityGrantAwardService { void recordExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord wxOfflineActivityRecord); - WxOfflineActivityGrantAward grantAwardDetail(WxOfflineActivityGrantAward wxOfflineActivityGrantAward); + List grantAwardDetail(WxOfflineActivityGrantAward wxOfflineActivityGrantAward); void activityGrantExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivity wxOfflineActivity); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java index f74007b75..0604b9523 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java @@ -322,9 +322,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity if(record.getCreateDate().before(activity.getStartTime()) || record.getCreateDate().after(activity.getEndTime())){ throw new MallinkException(Result.ERROR, "请检查活动时间"); } - if(wxOfflineActivityRecordGrantMapper.selectGrantCount(activity.getTenantId(),activity.getId(),record.getId()) > 0){ - throw new MallinkException(Result.ERROR, "请检查订单是否已参与活动"); - } +// if(wxOfflineActivityRecordGrantMapper.selectGrantCount(activity.getTenantId(),activity.getId(),record.getId()) > 0){ +// throw new MallinkException(Result.ERROR, "请检查订单是否已参与活动"); +// } orderMoneySum = orderMoneySum.add(record.getOrderMoney()); if(record.getLotteryNumList() != null && !record.getLotteryNumList().isEmpty()){ @@ -548,37 +548,43 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity } @Override - public WxOfflineActivityGrantAward grantAwardDetail(WxOfflineActivityGrantAward wxOfflineActivityGrantAward) { - Long grantId = wxOfflineActivityRecordGrantMapper.selectGrantId(wxOfflineActivityGrantAward.getTenantId(),wxOfflineActivityGrantAward.getActivityId(),wxOfflineActivityGrantAward.getRecordId()); - if(grantId == null){ + public List grantAwardDetail(WxOfflineActivityGrantAward wxOfflineActivityGrantAward) { + List grantIds = wxOfflineActivityRecordGrantMapper.selectGrantId(wxOfflineActivityGrantAward.getTenantId(),wxOfflineActivityGrantAward.getActivityId(),wxOfflineActivityGrantAward.getRecordId()); + if(grantIds == null || grantIds.isEmpty()){ return null; } - WxOfflineActivityGrantAward grantAward = wxOfflineActivityGrantAwardMapper.selectById(grantId,wxOfflineActivityGrantAward.getTenantId()); - //获取奖项 - List activityItemList = wxOfflineActivityItemService.getActivityItemList(grantAward.getActivityId(), grantAward.getTenantId()); - grantAward.setActivityItemList(activityItemList); - //获取实际获得奖项 - WxOfflineActivityGrantItem grantItemQ = new WxOfflineActivityGrantItem(); - grantItemQ.updateTenantInfo(grantAward); - grantItemQ.setGrantId(grantId); - List grantItemList = wxOfflineActivityGrantItemMapper.findList(grantItemQ); - Map> activityItemGrantMap = grantItemList.stream().collect(groupingBy(WxOfflineActivityGrantItem::getActivityItemId)); - for (WxOfflineActivityItem activityItem : grantAward.getActivityItemList()) { - List grantActivityItemList = activityItemGrantMap.get(activityItem.getId()); - if (grantActivityItemList == null || grantActivityItemList.isEmpty()) { - activityItem.setIsMeet(false); - continue; - } - for (WxOfflineActivityGrantItem grantItem : grantActivityItemList) { - grantItem.setMallSharePrice(grantItem.getAwardPrice() - .multiply(grantItem.getMallShareRate().divide(new BigDecimal(100))) - .setScale(2, RoundingMode.HALF_UP)); - grantItem.setMerchantSharePrice(grantItem.getAwardPrice().subtract(grantItem.getMallSharePrice())); + WxOfflineActivityGrantAward grantAwardQ = new WxOfflineActivityGrantAward(); + grantAwardQ.updateTenantInfo(wxOfflineActivityGrantAward); + grantAwardQ.setIds(grantIds); + List grantAwardList = wxOfflineActivityGrantAwardMapper.findList(grantAwardQ); + for (WxOfflineActivityGrantAward grantAward : grantAwardList) { + //获取奖项 + List activityItemList = wxOfflineActivityItemService.getActivityItemList(grantAward.getActivityId(), grantAward.getTenantId()); + grantAward.setActivityItemList(activityItemList); + //获取实际获得奖项 + WxOfflineActivityGrantItem grantItemQ = new WxOfflineActivityGrantItem(); + grantItemQ.updateTenantInfo(grantAward); + grantItemQ.setGrantId(grantAward.getId()); + List grantItemList = wxOfflineActivityGrantItemMapper.findList(grantItemQ); + Map> activityItemGrantMap = grantItemList.stream().collect(groupingBy(WxOfflineActivityGrantItem::getActivityItemId)); + for (WxOfflineActivityItem activityItem : grantAward.getActivityItemList()) { + List grantActivityItemList = activityItemGrantMap.get(activityItem.getId()); + if (grantActivityItemList == null || grantActivityItemList.isEmpty()) { + activityItem.setIsMeet(false); + continue; + } + for (WxOfflineActivityGrantItem grantItem : grantActivityItemList) { + grantItem.setMallSharePrice(grantItem.getAwardPrice() + .multiply(grantItem.getMallShareRate().divide(new BigDecimal(100))) + .setScale(2, RoundingMode.HALF_UP)); + grantItem.setMerchantSharePrice(grantItem.getAwardPrice().subtract(grantItem.getMallSharePrice())); + } + activityItem.setIsMeet(true); + activityItem.setActivityGrantItemList(grantActivityItemList); } - activityItem.setIsMeet(true); - activityItem.setActivityGrantItemList(grantActivityItemList); } - return grantAward; + + return grantAwardList; } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java index 192a8b8ec..06f5eb5c1 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java @@ -142,6 +142,10 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco } if(activityId != null){ + record.setGrantStatus(EnumYesOrNo.NO.getCode()); + if(EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode().equals(record.getAuditStatus())){ + record.setGrantStatus(EnumYesOrNo.YES.getCode()); + } //判断订单是否发奖 Integer grantCount = wxOfflineActivityRecordGrantMapper.selectGrantCount(tenantEntity.getTenantId(),activityId,record.getId()); if(grantCount >= 1){