From 6861c50f5094ef401e5838d123653fe017f45a98 Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Tue, 13 Aug 2024 13:59:57 +0800 Subject: [PATCH] //OfflineActivity --- .../WxOfflineActivityGrantController.java | 16 +++++++ .../po/WxOfflineActivityGrantAward.java | 2 + .../WxOfflineActivityGrantAwardMapper.java | 3 ++ .../WxOfflineActivityGrantItemMapper.java | 2 + .../WxOfflineActivityRecordGrantMapper.java | 2 + .../WxOfflineActivityGrantAwardService.java | 2 + ...xOfflineActivityGrantAwardServiceImpl.java | 32 ++++++++++++++ .../WxOfflineActivityGrantAwardMapper.xml | 4 ++ .../WxOfflineActivityGrantItemMapper.xml | 42 +++++++++++++++++++ .../WxOfflineActivityRecordGrantMapper.xml | 6 ++- 10 files changed, 110 insertions(+), 1 deletion(-) 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 970221b55..a256a0134 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java @@ -122,4 +122,20 @@ public class WxOfflineActivityGrantController extends BaseController { return new ResultData(); } + @ApiOperation("活动发奖详情") + @GetMapping("grantAwardDetail") + @ApiImplicitParams({}) + public ResultData grantAwardDetail(@ModelAttribute WxOfflineActivityGrantAward wxOfflineActivityGrantAward) { + if(wxOfflineActivityGrantAward.getActivityId() == null){ + return new ResultData(Result.ERROR,"活动ID为空"); + } + if(wxOfflineActivityGrantAward.getRecordId() == null){ + return new ResultData(Result.ERROR,"订单ID为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxOfflineActivityGrantAward.updateTenantInfo(tenantInfo); + WxOfflineActivityGrantAward grantAward = wxOfflineActivityGrantAwardService.grantAwardDetail(wxOfflineActivityGrantAward); + return new ResultData(grantAward); + } + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityGrantAward.java b/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityGrantAward.java index a98313161..e51a70fd1 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityGrantAward.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityGrantAward.java @@ -123,6 +123,8 @@ public class WxOfflineActivityGrantAward extends TenantEntity{ @TableField(value = "anniversary_lottery_num") private String anniversaryLotteryNum; + @TableField(exist = false) + private Long recordId; @TableField(exist = false) private List recordIds; @TableField(exist = false) diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityGrantAwardMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityGrantAwardMapper.java index 4102f49eb..4b02d1624 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityGrantAwardMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityGrantAwardMapper.java @@ -2,6 +2,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxOfflineActivityGrantAward; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -16,6 +17,8 @@ public interface WxOfflineActivityGrantAwardMapper extends CommonMapper getRecordIdList(WxOfflineActivityGrantAward grantAwardQ); + + WxOfflineActivityGrantAward selectById(@Param("id")Long id, @Param("tenantId")String tenantId); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityGrantItemMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityGrantItemMapper.java index c1bfd5ddb..991ed2d0e 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityGrantItemMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityGrantItemMapper.java @@ -18,6 +18,8 @@ public interface WxOfflineActivityGrantItemMapper extends CommonMapper grantItemList); Integer getSumAwardCount(WxOfflineActivityGrantItem grantItemQ); + + List findList(WxOfflineActivityGrantItem grantItemQ); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordGrantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordGrantMapper.java index 15b90cd46..ae5feed7f 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordGrantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordGrantMapper.java @@ -18,6 +18,8 @@ public interface WxOfflineActivityRecordGrantMapper extends CommonMapper recordGrantList); + + Long 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 698b70b66..00999c067 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java @@ -28,4 +28,6 @@ public interface WxOfflineActivityGrantAwardService { Map cusStatistics(TenantEntity tenantInfo); void recordExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord wxOfflineActivityRecord); + + WxOfflineActivityGrantAward grantAwardDetail(WxOfflineActivityGrantAward wxOfflineActivityGrantAward); } 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 ed4948c2f..e6222f299 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java @@ -36,6 +36,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity @Autowired private WxOfflineActivityGrantAwardMapper wxOfflineActivityGrantAwardMapper; + @Autowired + private WxOfflineActivityGrantItemMapper wxOfflineActivityGrantItemMapper; + @Autowired WxOfflineActivityMapper wxOfflineActivityMapper; @@ -68,6 +71,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity @Autowired ExcelService excelService; + @Override public Map getRecordStatistics(WxOfflineActivityRecord wxOfflineActivityRecord) { handlerRecordQuery(wxOfflineActivityRecord); @@ -487,6 +491,34 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity excelService.exportExcel(recordList, null, "用户参加活动订单列表", WxOfflineActivityGrantSettlement.class, "用户参加活动订单列表.xlsx", response, false); } + @Override + public WxOfflineActivityGrantAward grantAwardDetail(WxOfflineActivityGrantAward wxOfflineActivityGrantAward) { + Long grantId = wxOfflineActivityRecordGrantMapper.selectGrantId(wxOfflineActivityGrantAward.getTenantId(),wxOfflineActivityGrantAward.getActivityId(),wxOfflineActivityGrantAward.getRecordId()); + if(grantId == null){ + 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(Collectors.groupingBy(WxOfflineActivityGrantItem::getActivityItemId)); + for (WxOfflineActivityItem activityItem : grantAward.getActivityItemList()) { + List grantActivityItemList = activityItemGrantMap.get(activityItem.getId()); + if (grantActivityItemList == null || grantActivityItemList.isEmpty()) { + activityItem.setIsMeet(false); + continue; + } + activityItem.setIsMeet(true); + activityItem.setActivityGrantItemList(grantActivityItemList); + } + return grantAward; + } + } diff --git a/mallinkService/src/main/resources/mapper/WxOfflineActivityGrantAwardMapper.xml b/mallinkService/src/main/resources/mapper/WxOfflineActivityGrantAwardMapper.xml index 704a949e2..57a4f31c4 100644 --- a/mallinkService/src/main/resources/mapper/WxOfflineActivityGrantAwardMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOfflineActivityGrantAwardMapper.xml @@ -80,4 +80,8 @@ + + diff --git a/mallinkService/src/main/resources/mapper/WxOfflineActivityGrantItemMapper.xml b/mallinkService/src/main/resources/mapper/WxOfflineActivityGrantItemMapper.xml index 4a50b47c4..6de34aea3 100644 --- a/mallinkService/src/main/resources/mapper/WxOfflineActivityGrantItemMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOfflineActivityGrantItemMapper.xml @@ -41,6 +41,48 @@ create_date,update_date + + where 1 = 1 + + + and `id` = #{id} + + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + + and `grant_id` = #{grantId} + + + + and `activityId` = #{activityId} + + + and `activity_item_id` = #{activityItemId} + + + and `award_itam_id` = #{awardItamId} + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + insert into wx_offline_activity_grant_item (id,tenant_id,parent_tenant_id, diff --git a/mallinkService/src/main/resources/mapper/WxOfflineActivityRecordGrantMapper.xml b/mallinkService/src/main/resources/mapper/WxOfflineActivityRecordGrantMapper.xml index a6ccc058c..48de481a1 100644 --- a/mallinkService/src/main/resources/mapper/WxOfflineActivityRecordGrantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOfflineActivityRecordGrantMapper.xml @@ -17,7 +17,6 @@ record_id,grant_id - + select grant_id from wx_offline_activity_record_grant + where activity_id = #{activityId} and record_id = #{recordId} and tenant_id=#{tenantId} + +