Browse Source

//OfflineActivity

release_toaliyun_real
xiaohu 1 year ago
parent
commit
495cfe3dbe
4 changed files with 61 additions and 46 deletions
  1. +8
    -5
      mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java
  2. +3
    -0
      mallinkService/src/main/java/com/iformall/service/WxOfflineActivityRecordService.java
  3. +7
    -27
      mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java
  4. +43
    -14
      mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java

+ 8
- 5
mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java View File

@@ -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;




+ 3
- 0
mallinkService/src/main/java/com/iformall/service/WxOfflineActivityRecordService.java View File

@@ -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);


+ 7
- 27
mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java View File

@@ -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);
} }




+ 43
- 14
mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java View File

@@ -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);
} }




Loading…
Cancel
Save