| @@ -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") | @TableField(value = "order_money") | ||||
| private BigDecimal orderMoney; | private BigDecimal orderMoney; | ||||
| @@ -125,6 +125,9 @@ public class WxOfflineActivityRecord extends TenantEntity { | |||||
| @Excel(name = "商户名称", width = 20, orderNum = "6") | @Excel(name = "商户名称", width = 20, orderNum = "6") | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private String merchantName; | private String merchantName; | ||||
| @Excel(name="商铺号",width = 20,orderNum = "7") | |||||
| @TableField(exist = false) | |||||
| private String shopNumber; | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private List<Long> merchantIdList; | private List<Long> 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") | @TableField(value = "audit_remark") | ||||
| private String auditRemark; | 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") | @TableField(value = "audit_status") | ||||
| private Integer auditStatus; | private Integer auditStatus; | ||||
| @@ -172,14 +175,14 @@ public class WxOfflineActivityRecord extends TenantEntity { | |||||
| @TableField(value = "audit_by") | @TableField(value = "audit_by") | ||||
| private Long auditBy; | private Long auditBy; | ||||
| @Excel(name = "审核人", width = 20, orderNum = "11") | |||||
| @Excel(name = "审核人", width = 20, orderNum = "12") | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private String auditByName; | 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") | @TableField(value = "audit_time") | ||||
| private Date auditTime; | private Date auditTime; | ||||
| @@ -8,6 +8,7 @@ import com.iformall.domain.po.base.TenantEntity; | |||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| import java.util.List; | |||||
| import java.util.Map; | import java.util.Map; | ||||
| /** | /** | ||||
| @@ -19,6 +20,8 @@ public interface WxOfflineActivityRecordService { | |||||
| PageInfo<WxOfflineActivityRecord> listAsPage(WxOfflineActivityRecord record, Integer pageNum, Integer pageSize); | PageInfo<WxOfflineActivityRecord> listAsPage(WxOfflineActivityRecord record, Integer pageNum, Integer pageSize); | ||||
| void handlerRecordList(TenantEntity tenantEntity,Long activityId, List<WxOfflineActivityRecord> recordList); | |||||
| void saveOrUpdate(WxOfflineActivityRecord wxOfflineActivityRecord); | void saveOrUpdate(WxOfflineActivityRecord wxOfflineActivityRecord); | ||||
| WxOfflineActivityRecord getById(Long id, String tenantId); | WxOfflineActivityRecord getById(Long id, String tenantId); | ||||
| @@ -75,12 +75,17 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| @Autowired | @Autowired | ||||
| WxOfflineActivityService wxOfflineActivityService; | WxOfflineActivityService wxOfflineActivityService; | ||||
| @Autowired | |||||
| WxOfflineActivityRecordService wxOfflineActivityRecordService; | |||||
| @Autowired | @Autowired | ||||
| WxOfflineActivityGrantSettlementService wxOfflineActivityGrantSettlementService; | WxOfflineActivityGrantSettlementService wxOfflineActivityGrantSettlementService; | ||||
| @Autowired | @Autowired | ||||
| WxMerchantService wxMerchantService; | WxMerchantService wxMerchantService; | ||||
| @Autowired | @Autowired | ||||
| WxShopService wxShopService; | |||||
| @Autowired | |||||
| MallUserInfoService mallUserInfoService; | MallUserInfoService mallUserInfoService; | ||||
| @Autowired | @Autowired | ||||
| @@ -127,7 +132,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| public List<WxOfflineActivityRecord> getRecordList(WxOfflineActivityRecord wxOfflineActivityRecord) { | public List<WxOfflineActivityRecord> getRecordList(WxOfflineActivityRecord wxOfflineActivityRecord) { | ||||
| handlerRecordQuery(wxOfflineActivityRecord); | handlerRecordQuery(wxOfflineActivityRecord); | ||||
| List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordMapper.findList(wxOfflineActivityRecord); | List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordMapper.findList(wxOfflineActivityRecord); | ||||
| handlerRecordList(wxOfflineActivityRecord,recordList); | |||||
| wxOfflineActivityRecordService.handlerRecordList(wxOfflineActivityRecord,wxOfflineActivityRecord.getActivityId(),recordList); | |||||
| return recordList; | return recordList; | ||||
| } | } | ||||
| @@ -149,31 +154,6 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| } | } | ||||
| } | } | ||||
| private void handlerRecordList(WxOfflineActivityRecord wxOfflineActivityRecord, List<WxOfflineActivityRecord> recordList) { | |||||
| if (recordList == null || recordList.isEmpty()) { | |||||
| return; | |||||
| } | |||||
| WxMerchant merchantQ = new WxMerchant(); | |||||
| merchantQ.updateTenantInfo(wxOfflineActivityRecord); | |||||
| Map<Long, String> idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); | |||||
| MallUserInfo userInfoQ = new MallUserInfo(); | |||||
| userInfoQ.updateTenantInfo(wxOfflineActivityRecord); | |||||
| Map<Long, MallUserInfo> 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 | @Override | ||||
| public void handlerGrantAwardPage(WxOfflineActivityGrantAward wxOfflineActivityGrantAward) { | public void handlerGrantAwardPage(WxOfflineActivityGrantAward wxOfflineActivityGrantAward) { | ||||
| WxOfflineActivity activity = wxOfflineActivityMapper.selectById(wxOfflineActivityGrantAward.getActivityId(), wxOfflineActivityGrantAward.getTenantId()); | 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) { | public void recordExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord wxOfflineActivityRecord) { | ||||
| handlerRecordQuery(wxOfflineActivityRecord); | handlerRecordQuery(wxOfflineActivityRecord); | ||||
| List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordMapper.findList(wxOfflineActivityRecord); | List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordMapper.findList(wxOfflineActivityRecord); | ||||
| handlerRecordList(wxOfflineActivityRecord,recordList); | |||||
| wxOfflineActivityRecordService.handlerRecordList(wxOfflineActivityRecord,wxOfflineActivityRecord.getActivityId(),recordList); | |||||
| excelService.exportExcel(recordList, null, "用户参加活动订单列表", WxOfflineActivityRecord.class, "用户参加活动订单列表.xlsx", response, false); | excelService.exportExcel(recordList, null, "用户参加活动订单列表", WxOfflineActivityRecord.class, "用户参加活动订单列表.xlsx", response, false); | ||||
| } | } | ||||
| @@ -8,12 +8,11 @@ import com.iformall.domain.po.*; | |||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.vo.OfflineActivityRecordStatistics; | import com.iformall.domain.vo.OfflineActivityRecordStatistics; | ||||
| import com.iformall.enums.EnumOfflineActivityRecordStatus; | import com.iformall.enums.EnumOfflineActivityRecordStatus; | ||||
| import com.iformall.enums.EnumYesOrNo; | |||||
| import com.iformall.mapper.WxMerchantMapper; | import com.iformall.mapper.WxMerchantMapper; | ||||
| import com.iformall.mapper.WxOfflineActivityGrantAwardMapper; | 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.mapper.WxOfflineActivityRecordMapper; | ||||
| import com.iformall.utils.DateUtils; | import com.iformall.utils.DateUtils; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| @@ -23,6 +22,7 @@ import javax.servlet.http.HttpServletRequest; | |||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| import java.text.NumberFormat; | import java.text.NumberFormat; | ||||
| import java.util.*; | import java.util.*; | ||||
| import java.util.stream.Collectors; | |||||
| /** | /** | ||||
| * @author xiaohu | * @author xiaohu | ||||
| @@ -38,11 +38,16 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco | |||||
| @Autowired | @Autowired | ||||
| WxOfflineActivityGrantAwardMapper wxOfflineActivityGrantAwardMapper; | WxOfflineActivityGrantAwardMapper wxOfflineActivityGrantAwardMapper; | ||||
| @Autowired | |||||
| WxOfflineActivityRecordGrantMapper wxOfflineActivityRecordGrantMapper; | |||||
| @Autowired | @Autowired | ||||
| WxMerchantMapper wxMerchantMapper; | WxMerchantMapper wxMerchantMapper; | ||||
| @Autowired | @Autowired | ||||
| WxMerchantService wxMerchantService; | WxMerchantService wxMerchantService; | ||||
| @Autowired | @Autowired | ||||
| WxShopService wxShopService; | |||||
| @Autowired | |||||
| MallUserInfoService mallUserInfoService; | MallUserInfoService mallUserInfoService; | ||||
| @Autowired | @Autowired | ||||
| @@ -52,7 +57,7 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco | |||||
| public PageInfo<WxOfflineActivityRecord> listAsPage(WxOfflineActivityRecord record, Integer pageNum, Integer pageSize) { | public PageInfo<WxOfflineActivityRecord> listAsPage(WxOfflineActivityRecord record, Integer pageNum, Integer pageSize) { | ||||
| handlerQuery(record); | handlerQuery(record); | ||||
| PageInfo<WxOfflineActivityRecord> recordPageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxOfflineActivityRecordMapper.findList(record)); | PageInfo<WxOfflineActivityRecord> recordPageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxOfflineActivityRecordMapper.findList(record)); | ||||
| handlerRecordList(record,recordPageInfo.getList()); | |||||
| handlerRecordList(record,null,recordPageInfo.getList()); | |||||
| return recordPageInfo; | return recordPageInfo; | ||||
| } | } | ||||
| @@ -102,23 +107,47 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco | |||||
| } | } | ||||
| } | } | ||||
| private void handlerRecordList(TenantEntity tenantEntity,List<WxOfflineActivityRecord> recordList) { | |||||
| @Override | |||||
| public void handlerRecordList(TenantEntity tenantEntity,Long activityId,List<WxOfflineActivityRecord> recordList) { | |||||
| if (recordList == null || recordList.size() <= 0) { | if (recordList == null || recordList.size() <= 0) { | ||||
| return; | return; | ||||
| } | } | ||||
| WxMerchant merchantQ = new WxMerchant(); | |||||
| merchantQ.updateTenantInfo(tenantEntity); | |||||
| Map<Long, String> idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); | |||||
| MallUserInfo userInfoQ = new MallUserInfo(); | |||||
| userInfoQ.updateTenantInfo(tenantEntity); | |||||
| Map<Long, MallUserInfo> userMap = mallUserInfoService.getUserMap(userInfoQ); | |||||
| List<Long> merchantIds = recordList.stream().map(WxOfflineActivityRecord::getMerchantId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); | |||||
| List<Long> userIds = recordList.stream().map(WxOfflineActivityRecord::getAuditBy).filter(Objects::nonNull).distinct().collect(Collectors.toList()); | |||||
| Map<Long, String> idAndNamesMap = new HashMap<>(); | |||||
| Map<Long,String> 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<Long, MallUserInfo> userMap = new HashMap<>(); | |||||
| if(!userIds.isEmpty()){ | |||||
| MallUserInfo userInfoQ = new MallUserInfo(); | |||||
| userInfoQ.updateTenantInfo(tenantEntity); | |||||
| userMap = mallUserInfoService.getUserMap(userInfoQ); | |||||
| } | |||||
| for (WxOfflineActivityRecord record : recordList) { | 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){ | if(record.getAuditBy() != null){ | ||||
| record.setAuditByName(userMap.get(record.getAuditBy()).getName()); | 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 | @Override | ||||
| @@ -242,7 +271,7 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco | |||||
| public void exportData(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord record) { | public void exportData(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord record) { | ||||
| handlerQuery(record); | handlerQuery(record); | ||||
| List<WxOfflineActivityRecord> list = wxOfflineActivityRecordMapper.findList(record); | List<WxOfflineActivityRecord> list = wxOfflineActivityRecordMapper.findList(record); | ||||
| handlerRecordList(record,list); | |||||
| handlerRecordList(record,null,list); | |||||
| excelService.exportExcel(list, null, "活动订单列表", WxOfflineActivityRecord.class, "活动订单列表.xlsx", response, false); | excelService.exportExcel(list, null, "活动订单列表", WxOfflineActivityRecord.class, "活动订单列表.xlsx", response, false); | ||||
| } | } | ||||