From 495cfe3dbed6b7e141fdfe205ff0e66d7905f947 Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Sat, 17 Aug 2024 13:46:43 +0800 Subject: [PATCH] //OfflineActivity --- .../domain/po/WxOfflineActivityRecord.java | 13 +++-- .../WxOfflineActivityRecordService.java | 3 + ...xOfflineActivityGrantAwardServiceImpl.java | 34 +++-------- .../WxOfflineActivityRecordServiceImpl.java | 57 ++++++++++++++----- 4 files changed, 61 insertions(+), 46 deletions(-) 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 ea012c496..29375b1bf 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java @@ -43,7 +43,7 @@ public class WxOfflineActivityRecord extends TenantEntity { /** * 订单金额 */ - @Excel(name = "订单金额(元)", width = 20, orderNum = "7") + @Excel(name = "订单金额(元)", width = 20, orderNum = "8") @TableField(value = "order_money") private BigDecimal orderMoney; @@ -125,6 +125,9 @@ public class WxOfflineActivityRecord extends TenantEntity { @Excel(name = "商户名称", width = 20, orderNum = "6") @TableField(exist = false) private String merchantName; + @Excel(name="商铺号",width = 20,orderNum = "7") + @TableField(exist = false) + private String shopNumber; @TableField(exist = false) private List merchantIdList; @@ -155,14 +158,14 @@ public class WxOfflineActivityRecord extends TenantEntity { /** * 审批意见 */ - @Excel(name = "审核意见", width = 20, orderNum = "9") + @Excel(name = "审核意见", width = 20, orderNum = "10") @TableField(value = "audit_remark") private String auditRemark; /** * 审批状态 */ - @Excel(name = "审核状态", width = 20, orderNum = "8", replace = {"审核中_0", "已审批_1", "已驳回_2", "已发奖_10"}) + @Excel(name = "审核状态", width = 20, orderNum = "9", replace = {"审核中_0", "已审批_1", "已驳回_2", "已发奖_10"}) @TableField(value = "audit_status") private Integer auditStatus; @@ -172,14 +175,14 @@ public class WxOfflineActivityRecord extends TenantEntity { @TableField(value = "audit_by") private Long auditBy; - @Excel(name = "审核人", width = 20, orderNum = "11") + @Excel(name = "审核人", width = 20, orderNum = "12") @TableField(exist = false) private String auditByName; /** * 审核时间 */ - @Excel(name = "审核时间", width = 20, format = "yyyy-MM-dd HH:mm:ss", orderNum = "10") + @Excel(name = "审核时间", width = 20, format = "yyyy-MM-dd HH:mm:ss", orderNum = "11") @TableField(value = "audit_time") private Date auditTime; diff --git a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityRecordService.java b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityRecordService.java index c50d602d0..2e7601bad 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityRecordService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityRecordService.java @@ -8,6 +8,7 @@ import com.iformall.domain.po.base.TenantEntity; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Map; /** @@ -19,6 +20,8 @@ public interface WxOfflineActivityRecordService { PageInfo listAsPage(WxOfflineActivityRecord record, Integer pageNum, Integer pageSize); + void handlerRecordList(TenantEntity tenantEntity,Long activityId, List recordList); + void saveOrUpdate(WxOfflineActivityRecord wxOfflineActivityRecord); WxOfflineActivityRecord getById(Long id, String tenantId); 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 6c1f39167..ecd0d05ca 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java @@ -75,12 +75,17 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity @Autowired WxOfflineActivityService wxOfflineActivityService; + @Autowired + WxOfflineActivityRecordService wxOfflineActivityRecordService; + @Autowired WxOfflineActivityGrantSettlementService wxOfflineActivityGrantSettlementService; @Autowired WxMerchantService wxMerchantService; @Autowired + WxShopService wxShopService; + @Autowired MallUserInfoService mallUserInfoService; @Autowired @@ -127,7 +132,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity public List getRecordList(WxOfflineActivityRecord wxOfflineActivityRecord) { handlerRecordQuery(wxOfflineActivityRecord); List recordList = wxOfflineActivityRecordMapper.findList(wxOfflineActivityRecord); - handlerRecordList(wxOfflineActivityRecord,recordList); + wxOfflineActivityRecordService.handlerRecordList(wxOfflineActivityRecord,wxOfflineActivityRecord.getActivityId(),recordList); return recordList; } @@ -149,31 +154,6 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity } } - private void handlerRecordList(WxOfflineActivityRecord wxOfflineActivityRecord, List recordList) { - if (recordList == null || recordList.isEmpty()) { - return; - } - WxMerchant merchantQ = new WxMerchant(); - merchantQ.updateTenantInfo(wxOfflineActivityRecord); - Map idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); - MallUserInfo userInfoQ = new MallUserInfo(); - userInfoQ.updateTenantInfo(wxOfflineActivityRecord); - Map userMap = mallUserInfoService.getUserMap(userInfoQ); - - for (WxOfflineActivityRecord record : recordList) { - record.setMerchantName(idAndNamesMap.get(record.getMerchantId())); - if(record.getAuditBy() != null){ - record.setAuditByName(userMap.get(record.getAuditBy()).getName()); - } - //判断订单是否发奖 - Integer grantCount = wxOfflineActivityRecordGrantMapper.selectGrantCount(wxOfflineActivityRecord.getTenantId(),wxOfflineActivityRecord.getActivityId(),record.getId()); - if(grantCount >= 1){ - record.setAuditStatus(EnumOfflineActivityRecordStatus.IS_GRANT.getCode()); - } - - } - } - @Override public void handlerGrantAwardPage(WxOfflineActivityGrantAward wxOfflineActivityGrantAward) { WxOfflineActivity activity = wxOfflineActivityMapper.selectById(wxOfflineActivityGrantAward.getActivityId(), wxOfflineActivityGrantAward.getTenantId()); @@ -560,7 +540,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity public void recordExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord wxOfflineActivityRecord) { handlerRecordQuery(wxOfflineActivityRecord); List recordList = wxOfflineActivityRecordMapper.findList(wxOfflineActivityRecord); - handlerRecordList(wxOfflineActivityRecord,recordList); + wxOfflineActivityRecordService.handlerRecordList(wxOfflineActivityRecord,wxOfflineActivityRecord.getActivityId(),recordList); excelService.exportExcel(recordList, null, "用户参加活动订单列表", WxOfflineActivityRecord.class, "用户参加活动订单列表.xlsx", response, false); } 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 c6ca2ad68..e43a5c69f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java @@ -8,12 +8,11 @@ import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.OfflineActivityRecordStatistics; import com.iformall.enums.EnumOfflineActivityRecordStatus; +import com.iformall.enums.EnumYesOrNo; import com.iformall.mapper.WxMerchantMapper; import com.iformall.mapper.WxOfflineActivityGrantAwardMapper; -import com.iformall.service.ExcelService; -import com.iformall.service.MallUserInfoService; -import com.iformall.service.WxMerchantService; -import com.iformall.service.WxOfflineActivityRecordService; +import com.iformall.mapper.WxOfflineActivityRecordGrantMapper; +import com.iformall.service.*; import com.iformall.mapper.WxOfflineActivityRecordMapper; import com.iformall.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -23,6 +22,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.text.NumberFormat; import java.util.*; +import java.util.stream.Collectors; /** * @author xiaohu @@ -38,11 +38,16 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco @Autowired WxOfflineActivityGrantAwardMapper wxOfflineActivityGrantAwardMapper; + @Autowired + WxOfflineActivityRecordGrantMapper wxOfflineActivityRecordGrantMapper; + @Autowired WxMerchantMapper wxMerchantMapper; @Autowired WxMerchantService wxMerchantService; @Autowired + WxShopService wxShopService; + @Autowired MallUserInfoService mallUserInfoService; @Autowired @@ -52,7 +57,7 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco public PageInfo listAsPage(WxOfflineActivityRecord record, Integer pageNum, Integer pageSize) { handlerQuery(record); PageInfo recordPageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxOfflineActivityRecordMapper.findList(record)); - handlerRecordList(record,recordPageInfo.getList()); + handlerRecordList(record,null,recordPageInfo.getList()); return recordPageInfo; } @@ -102,23 +107,47 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco } } - private void handlerRecordList(TenantEntity tenantEntity,List recordList) { + @Override + public void handlerRecordList(TenantEntity tenantEntity,Long activityId,List recordList) { if (recordList == null || recordList.size() <= 0) { return; } - WxMerchant merchantQ = new WxMerchant(); - merchantQ.updateTenantInfo(tenantEntity); - Map idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); - MallUserInfo userInfoQ = new MallUserInfo(); - userInfoQ.updateTenantInfo(tenantEntity); - Map userMap = mallUserInfoService.getUserMap(userInfoQ); + List merchantIds = recordList.stream().map(WxOfflineActivityRecord::getMerchantId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); + List userIds = recordList.stream().map(WxOfflineActivityRecord::getAuditBy).filter(Objects::nonNull).distinct().collect(Collectors.toList()); + Map idAndNamesMap = new HashMap<>(); + Map merchantShopNumberMap = new HashMap<>(); + if(!merchantIds.isEmpty()){ + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(tenantEntity); + merchantQ.setIds(merchantIds); + idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); + merchantShopNumberMap = wxShopService.getMerchantShopNumberMap(tenantEntity, merchantIds, EnumYesOrNo.NO.getCode()); + } + Map userMap = new HashMap<>(); + if(!userIds.isEmpty()){ + MallUserInfo userInfoQ = new MallUserInfo(); + userInfoQ.updateTenantInfo(tenantEntity); + userMap = mallUserInfoService.getUserMap(userInfoQ); + } for (WxOfflineActivityRecord record : recordList) { - record.setMerchantName(idAndNamesMap.get(record.getMerchantId())); + if(record.getMerchantId() != null){ + record.setMerchantName(idAndNamesMap.get(record.getMerchantId())); + record.setShopNumber(merchantShopNumberMap.get(record.getMerchantId())); + } if(record.getAuditBy() != null){ record.setAuditByName(userMap.get(record.getAuditBy()).getName()); } + + if(activityId != null){ + //判断订单是否发奖 + Integer grantCount = wxOfflineActivityRecordGrantMapper.selectGrantCount(tenantEntity.getTenantId(),activityId,record.getId()); + if(grantCount >= 1){ + record.setAuditStatus(EnumOfflineActivityRecordStatus.IS_GRANT.getCode()); + } + } } + } @Override @@ -242,7 +271,7 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco public void exportData(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord record) { handlerQuery(record); List list = wxOfflineActivityRecordMapper.findList(record); - handlerRecordList(record,list); + handlerRecordList(record,null,list); excelService.exportExcel(list, null, "活动订单列表", WxOfflineActivityRecord.class, "活动订单列表.xlsx", response, false); }