| @@ -122,4 +122,20 @@ public class WxOfflineActivityGrantController extends BaseController { | |||||
| return new ResultData(); | 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); | |||||
| } | |||||
| } | } | ||||
| @@ -123,6 +123,8 @@ public class WxOfflineActivityGrantAward extends TenantEntity{ | |||||
| @TableField(value = "anniversary_lottery_num") | @TableField(value = "anniversary_lottery_num") | ||||
| private String anniversaryLotteryNum; | private String anniversaryLotteryNum; | ||||
| @TableField(exist = false) | |||||
| private Long recordId; | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private List<Long> recordIds; | private List<Long> recordIds; | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| @@ -2,6 +2,7 @@ package com.iformall.mapper; | |||||
| import com.iformall.common.CommonMapper; | import com.iformall.common.CommonMapper; | ||||
| import com.iformall.domain.po.WxOfflineActivityGrantAward; | import com.iformall.domain.po.WxOfflineActivityGrantAward; | ||||
| import org.apache.ibatis.annotations.Param; | |||||
| import java.util.List; | import java.util.List; | ||||
| @@ -16,6 +17,8 @@ public interface WxOfflineActivityGrantAwardMapper extends CommonMapper<WxOfflin | |||||
| Integer getCusCount(WxOfflineActivityGrantAward grantAwardQ); | Integer getCusCount(WxOfflineActivityGrantAward grantAwardQ); | ||||
| List<Long> getRecordIdList(WxOfflineActivityGrantAward grantAwardQ); | List<Long> getRecordIdList(WxOfflineActivityGrantAward grantAwardQ); | ||||
| WxOfflineActivityGrantAward selectById(@Param("id")Long id, @Param("tenantId")String tenantId); | |||||
| } | } | ||||
| @@ -18,6 +18,8 @@ public interface WxOfflineActivityGrantItemMapper extends CommonMapper<WxOffline | |||||
| void insertList(@Param("grantItemList")List<WxOfflineActivityGrantItem> grantItemList); | void insertList(@Param("grantItemList")List<WxOfflineActivityGrantItem> grantItemList); | ||||
| Integer getSumAwardCount(WxOfflineActivityGrantItem grantItemQ); | Integer getSumAwardCount(WxOfflineActivityGrantItem grantItemQ); | ||||
| List<WxOfflineActivityGrantItem> findList(WxOfflineActivityGrantItem grantItemQ); | |||||
| } | } | ||||
| @@ -18,6 +18,8 @@ public interface WxOfflineActivityRecordGrantMapper extends CommonMapper<WxOffli | |||||
| Integer selectGrantCount(@Param("tenantId")String tenantId, @Param("activityId")Long activityId, @Param("recordId")Long recordId); | Integer selectGrantCount(@Param("tenantId")String tenantId, @Param("activityId")Long activityId, @Param("recordId")Long recordId); | ||||
| void insertList(@Param("recordGrantList")List<WxOfflineActivityRecordGrant> recordGrantList); | void insertList(@Param("recordGrantList")List<WxOfflineActivityRecordGrant> recordGrantList); | ||||
| Long selectGrantId(@Param("tenantId")String tenantId, @Param("activityId")Long activityId, @Param("recordId")Long recordId); | |||||
| } | } | ||||
| @@ -28,4 +28,6 @@ public interface WxOfflineActivityGrantAwardService { | |||||
| Map<String, Object> cusStatistics(TenantEntity tenantInfo); | Map<String, Object> cusStatistics(TenantEntity tenantInfo); | ||||
| void recordExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord wxOfflineActivityRecord); | void recordExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord wxOfflineActivityRecord); | ||||
| WxOfflineActivityGrantAward grantAwardDetail(WxOfflineActivityGrantAward wxOfflineActivityGrantAward); | |||||
| } | } | ||||
| @@ -36,6 +36,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| @Autowired | @Autowired | ||||
| private WxOfflineActivityGrantAwardMapper wxOfflineActivityGrantAwardMapper; | private WxOfflineActivityGrantAwardMapper wxOfflineActivityGrantAwardMapper; | ||||
| @Autowired | |||||
| private WxOfflineActivityGrantItemMapper wxOfflineActivityGrantItemMapper; | |||||
| @Autowired | @Autowired | ||||
| WxOfflineActivityMapper wxOfflineActivityMapper; | WxOfflineActivityMapper wxOfflineActivityMapper; | ||||
| @@ -68,6 +71,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| @Autowired | @Autowired | ||||
| ExcelService excelService; | ExcelService excelService; | ||||
| @Override | @Override | ||||
| public Map<String, Object> getRecordStatistics(WxOfflineActivityRecord wxOfflineActivityRecord) { | public Map<String, Object> getRecordStatistics(WxOfflineActivityRecord wxOfflineActivityRecord) { | ||||
| handlerRecordQuery(wxOfflineActivityRecord); | handlerRecordQuery(wxOfflineActivityRecord); | ||||
| @@ -487,6 +491,34 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| excelService.exportExcel(recordList, null, "用户参加活动订单列表", WxOfflineActivityGrantSettlement.class, "用户参加活动订单列表.xlsx", response, false); | 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<WxOfflineActivityItem> activityItemList = wxOfflineActivityItemService.getActivityItemList(grantAward.getActivityId(), grantAward.getTenantId()); | |||||
| grantAward.setActivityItemList(activityItemList); | |||||
| //获取实际获得奖项 | |||||
| WxOfflineActivityGrantItem grantItemQ = new WxOfflineActivityGrantItem(); | |||||
| grantItemQ.updateTenantInfo(grantAward); | |||||
| grantItemQ.setGrantId(grantId); | |||||
| List<WxOfflineActivityGrantItem> grantItemList = wxOfflineActivityGrantItemMapper.findList(grantItemQ); | |||||
| Map<Long, List<WxOfflineActivityGrantItem>> activityItemGrantMap = grantItemList.stream().collect(Collectors.groupingBy(WxOfflineActivityGrantItem::getActivityItemId)); | |||||
| for (WxOfflineActivityItem activityItem : grantAward.getActivityItemList()) { | |||||
| List<WxOfflineActivityGrantItem> grantActivityItemList = activityItemGrantMap.get(activityItem.getId()); | |||||
| if (grantActivityItemList == null || grantActivityItemList.isEmpty()) { | |||||
| activityItem.setIsMeet(false); | |||||
| continue; | |||||
| } | |||||
| activityItem.setIsMeet(true); | |||||
| activityItem.setActivityGrantItemList(grantActivityItemList); | |||||
| } | |||||
| return grantAward; | |||||
| } | |||||
| } | } | ||||
| @@ -80,4 +80,8 @@ | |||||
| </foreach> | </foreach> | ||||
| </if> | </if> | ||||
| </select> | </select> | ||||
| <select id="selectById" parameterType="java.util.HashMap" resultMap="BaseResultMap"> | |||||
| select <include refid="allColumns" /> from wx_offline_activity_grant_award where id = #{id} and tenant_id=#{tenantId} | |||||
| </select> | |||||
| </mapper> | </mapper> | ||||
| @@ -41,6 +41,48 @@ | |||||
| create_date,update_date | create_date,update_date | ||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | |||||
| where 1 = 1 | |||||
| <if test=" null != id "> | |||||
| and `id` = #{id} | |||||
| </if> | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and `tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||||
| and `parent_tenant_id` = #{parentTenantId} | |||||
| </if> | |||||
| <if test=" null != grantId"> | |||||
| and `grant_id` = #{grantId} | |||||
| </if> | |||||
| <if test=" null != activityId"> | |||||
| and `activityId` = #{activityId} | |||||
| </if> | |||||
| <if test=" null != activityItemId"> | |||||
| and `activity_item_id` = #{activityItemId} | |||||
| </if> | |||||
| <if test=" null != awardItamId"> | |||||
| and `award_itam_id` = #{awardItamId} | |||||
| </if> | |||||
| <if test=" null != ids "> | |||||
| and id in | |||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||||
| #{idItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != sortColumns"> order by ${sortColumns} </if> | |||||
| </sql> | |||||
| <select id="findList" parameterType="com.iformall.domain.po.WxOfflineActivityGrantItem" resultMap="BaseResultMap"> | |||||
| select <include refid="allColumns" /> from wx_offline_activity_grant_item | |||||
| <include refid="dynamicWhereConditions" /> | |||||
| </select> | |||||
| <insert id="insertList" parameterType="java.util.List"> | <insert id="insertList" parameterType="java.util.List"> | ||||
| insert into wx_offline_activity_grant_item | insert into wx_offline_activity_grant_item | ||||
| (id,tenant_id,parent_tenant_id, | (id,tenant_id,parent_tenant_id, | ||||
| @@ -17,7 +17,6 @@ | |||||
| record_id,grant_id | record_id,grant_id | ||||
| </sql> | </sql> | ||||
| <select id="selectGrantCount" parameterType="java.util.HashMap" resultType="java.lang.Integer"> | <select id="selectGrantCount" parameterType="java.util.HashMap" resultType="java.lang.Integer"> | ||||
| select COUNT(1) from wx_offline_activity_record_grant | select COUNT(1) from wx_offline_activity_record_grant | ||||
| where activity_id = #{activityId} and record_id = #{recordId} and tenant_id=#{tenantId} | where activity_id = #{activityId} and record_id = #{recordId} and tenant_id=#{tenantId} | ||||
| @@ -36,4 +35,9 @@ | |||||
| </foreach> | </foreach> | ||||
| </insert> | </insert> | ||||
| <select id="selectGrantId" parameterType="java.util.HashMap" resultType="java.lang.Long"> | |||||
| select grant_id from wx_offline_activity_record_grant | |||||
| where activity_id = #{activityId} and record_id = #{recordId} and tenant_id=#{tenantId} | |||||
| </select> | |||||
| </mapper> | </mapper> | ||||