diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCashBackActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCashBackActivityController.java index 0348b3adb..4c58485c6 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCashBackActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCashBackActivityController.java @@ -13,6 +13,8 @@ import com.iformall.domain.po.WxCashBackActivityRecord; import com.iformall.domain.po.WxCashOut; import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxMerchant; +import com.iformall.domain.po.WxRaffleActivityItem; +import com.iformall.domain.po.WxRaffleActivityRecord; import com.iformall.domain.po.base.BaseEntity.SortField; import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumCashBackActivityItemRule; @@ -231,7 +233,7 @@ public class WxCashBackActivityController extends BaseController { TenantEntity tenantInfo = getTenantInfo(); wxCashBackActivityRecord.updateTenantInfo(tenantInfo); wxCashBackActivityRecord.setSortColumns(SortField.CreateDate_DESC); - final PageInfo page = wxCashBackActivityService.listActivityRecordAsPage(wxCashBackActivityRecord, pageNum, pageSize); + final PageInfo page = wxCashBackActivityService.listActivityRecordAsPage(wxCashBackActivityRecord, pageNum, pageSize,null); return new ResultData(page); } @@ -241,14 +243,26 @@ public class WxCashBackActivityController extends BaseController { TenantEntity tenantInfo = getTenantInfo(); wxCashBackActivityRecord.updateTenantInfo(tenantInfo); wxCashBackActivityRecord.setSortColumns(SortField.CreateDate_DESC); - PageInfo page = wxCashBackActivityService.listActivityRecordAsPage(wxCashBackActivityRecord, 1, 10000); - List result = null; - if (null != page && null != page.getList()) { - result = page.getList(); + if (null != wxCashBackActivityRecord.getActivityId()) { + //List _aids = new ArrayList(); + //_aids.add(wxCashBackActivityRecord.getActivityId()); + //Map itemMap = wxCashBackActivityService.getItemMap(wxCashBackActivityRecord,_aids); + List> oneActivityExeclList = new ArrayList>(); + PageInfo page = wxCashBackActivityService.listActivityRecordAsPage(wxCashBackActivityRecord, 1, 10000,oneActivityExeclList); + Integer maxExtendsSize = wxCashBackActivityService.getMaxRecordExtendsSize(wxCashBackActivityRecord); + wxCashBackActivityService.exportData(WxCashBackActivityRecord.generateExcelTitle(maxExtendsSize),oneActivityExeclList, "返现活动记录.xlsx","sheet1", request, response); }else { - result = new ArrayList(); + PageInfo page = wxCashBackActivityService.listActivityRecordAsPage(wxCashBackActivityRecord, 1, 10000,null); + List result = null; + if (null != page && null != page.getList()) { + result = page.getList(); + }else { + result = new ArrayList(); + } + wxCashBackActivityService.exportData(result,"现金返现记录",WxCashBackActivityRecord.class, request, response); + } - wxCashBackActivityService.exportData(result,"现金返现记录",WxCashBackActivityRecord.class, request, response); + } @ApiOperation("查询当前提现信息") @@ -265,7 +279,7 @@ public class WxCashBackActivityController extends BaseController { activity.setActivityName(a.getName()); } } - + activity.setRecordExtends(wxCashBackActivityService.getRecordExtends(activity)); if (null != activity.getMerchantId()) { WxMerchant m = new WxMerchant(); m.updateTenantInfo(activity); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxRaffleActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxRaffleActivityController.java index ff14b10bf..6544b8eb9 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxRaffleActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxRaffleActivityController.java @@ -250,7 +250,8 @@ public class WxRaffleActivityController extends BaseController { Map itemMap = wxCashBackActivityService.getItemMap(wxCashBackActivityRecord,_aids); List> oneActivityExeclList = new ArrayList>(); PageInfo page = wxCashBackActivityService.listActivityRecordAsPage(wxCashBackActivityRecord, 1, 10000,oneActivityExeclList); - wxCashBackActivityService.exportData(WxRaffleActivityRecord.generateExcelTitle(itemMap),oneActivityExeclList, "线下抽奖记录.xlsx","sheet1", request, response); + Integer maxExtendsSize = wxCashBackActivityService.getMaxRecordExtendsSize(wxCashBackActivityRecord); + wxCashBackActivityService.exportData(WxRaffleActivityRecord.generateExcelTitle(itemMap,maxExtendsSize),oneActivityExeclList, "线下抽奖记录.xlsx","sheet1", request, response); }else { PageInfo page = wxCashBackActivityService.listActivityRecordAsPage(wxCashBackActivityRecord, 1, 10000,null); List result = null; @@ -281,7 +282,7 @@ public class WxRaffleActivityController extends BaseController { aids.add(activity.getActivityId()); activity.setRecordItemList(wxCashBackActivityService.getActivityRecordItemListByRecordId(aids, id, tenantInfo)); activity.setItemDetail(activity.generateItemDetaiJson(wxCashBackActivityService.getMallUserInfoMap(activity))); - + activity.setRecordExtends(wxCashBackActivityService.getRecordExtends(activity)); if (null != activity.getMerchantId()) { WxMerchant m = new WxMerchant(); m.updateTenantInfo(activity); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCashBackActivityController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCashBackActivityController.java index 31b1351bb..5053d11cb 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCashBackActivityController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCashBackActivityController.java @@ -109,7 +109,7 @@ public class WxCashBackActivityController extends BaseController { wxCashBackActivityRecord.updateTenantInfo(tenantInfo); wxCashBackActivityRecord.setMerchantId(getLoginBUser().getMerchantId()); wxCashBackActivityRecord.setSortColumns(SortField.CreateDate_DESC); - final PageInfo page = wxCashBackActivityService.listActivityRecordAsPage(wxCashBackActivityRecord, pageNum, pageSize); + final PageInfo page = wxCashBackActivityService.listActivityRecordAsPage(wxCashBackActivityRecord, pageNum, pageSize,null); return new ResultData(page); } @@ -127,7 +127,7 @@ public class WxCashBackActivityController extends BaseController { activity.setActivityName(a.getName()); } } - + activity.setRecordExtends(wxCashBackActivityService.getRecordExtends(activity)); WxCashBackActivityItem item = wxCashBackActivityService.getActivityItemById(activity.getItemId(), tenantInfo.getTenantId()); if (null != item) { activity.setItemName(item.getName()); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxRaffleActivityController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxRaffleActivityController.java index fdb759fdb..067db750d 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxRaffleActivityController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxRaffleActivityController.java @@ -136,6 +136,7 @@ public class WxRaffleActivityController extends BaseController { aids.add(activity.getActivityId()); activity.setRecordItemList(wxCashBackActivityService.getActivityRecordItemListByRecordId(aids, id, tenantInfo)); activity.setItemDetail(activity.generateItemDetaiJson(wxCashBackActivityService.getMallUserInfoMap(activity))); + activity.setRecordExtends(wxCashBackActivityService.getRecordExtends(activity)); if (null != activity.getMerchantId()) { WxMerchant m = new WxMerchant(); m.updateTenantInfo(activity); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivityItem.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivityItem.java index be5fb079f..57d563b8d 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivityItem.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivityItem.java @@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode; import lombok.ToString; import java.math.BigDecimal; import java.util.Date; +import java.util.List; @TableName(value = "wx_cash_back_activity_item") @Data @@ -37,5 +38,8 @@ public class WxCashBackActivityItem extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "商户返现比例", name = "merchantBackRate") private BigDecimal merchantBackRate; + @TableField(exist = false) + private List activityIdList; + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivityRecord.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivityRecord.java index c7c698370..fe1677422 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivityRecord.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivityRecord.java @@ -3,6 +3,8 @@ package com.iformall.domain.po; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumCashBackActivityRecordStatus; +import com.iformall.utils.DateUtils; import cn.afterturn.easypoi.excel.annotation.Excel; import lombok.Data; @@ -11,7 +13,11 @@ import lombok.ToString; import java.math.BigDecimal; import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; @TableName(value = "wx_cash_back_activity_record") @Data @@ -31,6 +37,9 @@ public class WxCashBackActivityRecord extends TenantEntity { @Excel(name="商户名称",width = 20,orderNum = "2") @TableField(exist = false) private String merchantName; + @Excel(name="商铺号",width = 20,orderNum = "3") + @TableField(exist = false) + private String shopNumber; @io.swagger.annotations.ApiModelProperty(value = "选项", name = "itemId") private Long itemId; @Excel(name="选项名称",width = 20,orderNum = "3") @@ -92,4 +101,57 @@ public class WxCashBackActivityRecord extends TenantEntity { @TableField(exist = false) private List merchantIdList; + @TableField(exist = false) + private List recordExtends; + + public static Map generateExcelTitle(Integer recordExtendsSize) { + Map excelTitle = new LinkedHashMap(); + excelTitle.put("activityName", "活动名称"); + excelTitle.put("merchantName", "商户名称"); + excelTitle.put("shopNumber", "商铺号"); + excelTitle.put("orderNo", "订单号"); + excelTitle.put("orderMoney", "订单金额"); + excelTitle.put("cusName", "客户姓名"); + excelTitle.put("phone", "客户电话"); + excelTitle.put("address", "客户地址"); + excelTitle.put("createDate", "提交时间"); + excelTitle.put("itemName", "选项名称"); + excelTitle.put("auditStatus", "状态"); + excelTitle.put("auditRemark", "审核内容"); + + if (null != recordExtendsSize && recordExtendsSize > 0 ) { + for (int i = 0 ; i < recordExtendsSize ; i++) { + excelTitle.put("remark_"+i, "备注_"+(i+1)); + } + } + + return excelTitle; + } + + public Map generateExcelData() { + Map excelObject = new HashMap(); + excelObject.put("activityName", activityName); + excelObject.put("merchantName", merchantName); + excelObject.put("shopNumber", shopNumber); + excelObject.put("orderNo", orderNo); + excelObject.put("orderMoney", orderMoney); + excelObject.put("cusName", cusName); + excelObject.put("phone", phone); + excelObject.put("address", address); + excelObject.put("createDate", DateUtils.date2String(createDate)); + excelObject.put("itemName", this.itemName); + EnumCashBackActivityRecordStatus status = EnumCashBackActivityRecordStatus.getEnum(auditStatus); + if (null != status ) { + excelObject.put("auditStatus", status.getMessage()); + } + excelObject.put("auditRemark", auditRemark); + if (null != recordExtends && recordExtends.size() > 0 ) { + for (int i = 0 ; i < recordExtends.size() ; i++) { + WxCashBackActivityRecordExtends re = recordExtends.get(i); + excelObject.put("remark_"+i, re.getRemark()); + } + } + return excelObject; + } + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivityRecordExtends.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivityRecordExtends.java new file mode 100644 index 000000000..6e18558a6 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivityRecordExtends.java @@ -0,0 +1,32 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.base.TenantEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import java.util.Date; + +@TableName(value = "wx_cash_back_activity_record_extends") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxCashBackActivityRecordExtends extends TenantEntity { + + private static final long serialVersionUID = 1608288407081146149L; + + private Long id; + + @io.swagger.annotations.ApiModelProperty(value = "活动", name = "activityId") + private Long activityId; + @io.swagger.annotations.ApiModelProperty(value = "记录ID", name = "recordId") + private Long recordId; + @io.swagger.annotations.ApiModelProperty(value = "备注", name = "remark") + private String remark; + @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") + private Date createDate; + @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") + private Date updateDate; + +} diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecord.java b/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecord.java index ff247bc11..8b81ec9d8 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecord.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecord.java @@ -109,6 +109,9 @@ public class WxRaffleActivityRecord extends TenantEntity { @TableField(exist = false) private Map recordItemJiangQuanCountMap; + @TableField(exist = false) + private List recordExtends; + public String generateItemDetaiJson(Map userMap) { if(null != auditBy) { MallUserInfo au = userMap.get(auditBy); @@ -159,9 +162,10 @@ public class WxRaffleActivityRecord extends TenantEntity { } } } + } - public static Map generateExcelTitle(Map itemMap) { + public static Map generateExcelTitle(Map itemMap,Integer recordExtendsSize) { Map excelTitle = new LinkedHashMap(); excelTitle.put("activityName", "活动名称"); excelTitle.put("merchantName", "商户名称"); @@ -188,6 +192,13 @@ public class WxRaffleActivityRecord extends TenantEntity { excelTitle.put("sendTime", "发奖时间"); excelTitle.put("sendByName", "发奖人"); + + if (null != recordExtendsSize && recordExtendsSize > 0 ) { + for (int i = 0 ; i < recordExtendsSize ; i++) { + excelTitle.put("remark_"+i, "备注_"+(i+1)); + } + } + return excelTitle; } @@ -243,6 +254,13 @@ public class WxRaffleActivityRecord extends TenantEntity { excelObject.put("sendByName", mu.getName()); } } + + if (null != recordExtends && recordExtends.size() > 0 ) { + for (int i = 0 ; i < recordExtends.size() ; i++) { + WxRaffleActivityRecordExtends re = recordExtends.get(i); + excelObject.put("remark_"+i, re.getRemark()); + } + } return excelObject; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecordExtends.java b/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecordExtends.java new file mode 100644 index 000000000..be48d93a0 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecordExtends.java @@ -0,0 +1,32 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.base.TenantEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import java.util.Date; + +@TableName(value = "wx_raffle_activity_record_extends") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxRaffleActivityRecordExtends extends TenantEntity { + + private static final long serialVersionUID = 1608288407081146149L; + + private Long id; + + @io.swagger.annotations.ApiModelProperty(value = "活动", name = "activityId") + private Long activityId; + @io.swagger.annotations.ApiModelProperty(value = "记录ID", name = "recordId") + private Long recordId; + @io.swagger.annotations.ApiModelProperty(value = "备注", name = "remark") + private String remark; + @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") + private Date createDate; + @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") + private Date updateDate; + +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCashBackActivityRecordExtendsMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCashBackActivityRecordExtendsMapper.java new file mode 100644 index 000000000..b49183df0 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCashBackActivityRecordExtendsMapper.java @@ -0,0 +1,22 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxCashBackActivityRecordExtends; +import com.iformall.domain.po.WxRaffleActivityRecordExtends; + +import org.apache.ibatis.annotations.Param; +import java.util.List; + +public interface WxCashBackActivityRecordExtendsMapper extends CommonMapper { + + WxCashBackActivityRecordExtends selectById(@Param("id")Long id,@Param("tenantId")String tenantId); + + List findList(WxCashBackActivityRecordExtends recordExtends); + + Integer findMaxRecordExtendsSize(WxCashBackActivityRecordExtends recordExtends); + + void deleteExtendsByRecordId(WxCashBackActivityRecordExtends recordExtends); + + + +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxRaffleActivityRecordExtendsMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxRaffleActivityRecordExtendsMapper.java new file mode 100644 index 000000000..af544aa59 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxRaffleActivityRecordExtendsMapper.java @@ -0,0 +1,25 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxRaffleActivityRecord; +import com.iformall.domain.po.WxRaffleActivityRecordExtends; +import com.iformall.domain.po.WxRaffleActivityRecordItem; + +import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +public interface WxRaffleActivityRecordExtendsMapper extends CommonMapper { + + WxRaffleActivityRecordExtends selectById(@Param("id")Long id,@Param("tenantId")String tenantId); + + List findList(WxRaffleActivityRecordExtends recordExtends); + + Integer findMaxRecordExtendsSize(WxRaffleActivityRecordExtends recordExtends); + + void deleteExtendsByRecordId(WxRaffleActivityRecordExtends recordExtends); + + + +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxCashBackActivityService.java b/mallinkService/src/main/java/com/iformall/service/WxCashBackActivityService.java index e009f4417..7b07eab4d 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCashBackActivityService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCashBackActivityService.java @@ -12,6 +12,11 @@ import com.iformall.domain.po.WxCashBackActivity; import com.iformall.domain.po.WxCashBackActivityItem; import com.iformall.domain.po.WxCashBackActivityMerchant; import com.iformall.domain.po.WxCashBackActivityRecord; +import com.iformall.domain.po.WxCashBackActivityRecordExtends; +import com.iformall.domain.po.WxRaffleActivityItem; +import com.iformall.domain.po.WxRaffleActivityRecord; +import com.iformall.domain.po.WxRaffleActivityRecordExtends; +import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumCashBackActivityRecordStatus; public interface WxCashBackActivityService { @@ -28,7 +33,7 @@ public interface WxCashBackActivityService { PageInfo listActivityItemAsPage(WxCashBackActivityItem record, Integer pageIndex, Integer pageSize); - PageInfo listActivityRecordAsPage(WxCashBackActivityRecord record, Integer pageIndex, Integer pageSize); + PageInfo listActivityRecordAsPage(WxCashBackActivityRecord record, Integer pageIndex, Integer pageSize,List> oneActivityExeclList); int getItemCount(WxCashBackActivity record); int getRecordCount(WxCashBackActivityRecord record); @@ -65,6 +70,7 @@ public interface WxCashBackActivityService { List getActivityMerchants(Long activityId,String tenantId,boolean hasMerchantInfo); void exportData(List objectList,String sheetName,Class objectCalss,HttpServletRequest request, HttpServletResponse response); + void exportData(Map titleMap,List> objectList,String fileName,String sheetName,HttpServletRequest request, HttpServletResponse response); void auditRecord(WxCashBackActivityRecord record); @@ -72,5 +78,11 @@ public interface WxCashBackActivityService { void saveOrUpdateRecord(WxCashBackActivityRecord record); + Map getItemMap(TenantEntity tenantEntity,List activitIds); + + List getRecordExtends(WxCashBackActivityRecord record); + + Integer getMaxRecordExtendsSize(WxCashBackActivityRecord record); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxRaffleActivityService.java b/mallinkService/src/main/java/com/iformall/service/WxRaffleActivityService.java index 532930b4a..4ee7a1c31 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRaffleActivityService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRaffleActivityService.java @@ -13,6 +13,7 @@ import com.iformall.domain.po.WxRaffleActivity; import com.iformall.domain.po.WxRaffleActivityItem; import com.iformall.domain.po.WxRaffleActivityMerchant; import com.iformall.domain.po.WxRaffleActivityRecord; +import com.iformall.domain.po.WxRaffleActivityRecordExtends; import com.iformall.domain.po.WxRaffleActivityRecordItem; import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumCashBackActivityRecordStatus; @@ -84,5 +85,9 @@ public interface WxRaffleActivityService { Map getMallUserInfoMap(TenantEntity tenantEntity); + List getRecordExtends(WxRaffleActivityRecord record); + + Integer getMaxRecordExtendsSize(WxRaffleActivityRecord record); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCashBackActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCashBackActivityServiceImpl.java index d9f3c6bd5..439e090f6 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCashBackActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCashBackActivityServiceImpl.java @@ -8,8 +8,13 @@ import com.iformall.domain.po.WxCashBackActivity; import com.iformall.domain.po.WxCashBackActivityItem; import com.iformall.domain.po.WxCashBackActivityMerchant; import com.iformall.domain.po.WxCashBackActivityRecord; +import com.iformall.domain.po.WxCashBackActivityRecordExtends; import com.iformall.domain.po.WxMerchant; +import com.iformall.domain.po.WxRaffleActivityItem; +import com.iformall.domain.po.WxRaffleActivityRecord; +import com.iformall.domain.po.WxRaffleActivityRecordExtends; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.po.base.BaseEntity.SortField; import com.iformall.domain.vo.WxCUserBasicInfoVo; import com.iformall.enums.EnumCashBackActivityItemRule; import com.iformall.enums.EnumCashBackActivityRecordStatus; @@ -17,13 +22,17 @@ import com.iformall.enums.EnumYesOrNo; import com.iformall.mapper.WxCashBackActivityItemMapper; import com.iformall.mapper.WxCashBackActivityMapper; import com.iformall.mapper.WxCashBackActivityMerchantMapper; +import com.iformall.mapper.WxCashBackActivityRecordExtendsMapper; import com.iformall.mapper.WxCashBackActivityRecordMapper; import com.iformall.mapper.WxMerchantMapper; import com.iformall.service.ExcelService; import com.iformall.service.WxCashBackActivityService; +import com.iformall.service.WxShopService; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -46,10 +55,16 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService WxCashBackActivityMerchantMapper wxCashBackActivityMerchantMapper; @Autowired WxMerchantMapper wxMerchantMapper; + @Autowired + WxCashBackActivityRecordExtendsMapper wxCashBackActivityRecordExtendsMapper; @Autowired ExcelService excelService; + @Lazy + @Autowired + WxShopService wxShopService; + @Override public PageInfo listActivityAsPage(WxCashBackActivity record, Integer pageIndex, Integer pageSize) { if (null != record.getMerchantId()) { @@ -117,16 +132,16 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService @Override public PageInfo listActivityRecordAsPage(WxCashBackActivityRecord record, - Integer pageIndex, Integer pageSize) { + Integer pageIndex, Integer pageSize,List> oneActivityExeclList) { initRecordQueryParam(record); PageInfo recordPage = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCashBackActivityRecordMapper.findList(record)); if (null != recordPage && null != recordPage.getList()) { - handerRecordPageData(record,recordPage.getList()); + handerRecordPageData(record,recordPage.getList(),oneActivityExeclList,record.getActivityId()); } return recordPage; } - private void handerRecordPageData(TenantEntity tenantEntity,List recordList) { + private void handerRecordPageData(TenantEntity tenantEntity,List recordList,List> oneActivityExeclList,Long oneAcitvityId) { if (null == recordList || recordList.size() <=0 ) { return; } @@ -171,6 +186,11 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService } } + Map merchantShopNumberMap = null; + if (null != midList && midList.size() > 0 ) { + merchantShopNumberMap = wxShopService.getMerchantShopNumberMap(tenantEntity, midList); + } + for (WxCashBackActivityRecord _r : recordList) { if (null != _r.getActivityId()) { WxCashBackActivity _a = activityMap.get(_r.getActivityId()); @@ -184,6 +204,10 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService if (null != _m) { _r.setMerchantName(_m.getName()); } + + if (null != merchantShopNumberMap && merchantShopNumberMap.containsKey(_r.getMerchantId())) { + _r.setShopNumber(merchantShopNumberMap.get(_r.getMerchantId())); + } } if (null != _r.getItemId()) { @@ -192,6 +216,10 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService _r.setItemName(_i.getName()); } } + + if (null != oneActivityExeclList && null != oneAcitvityId) { + oneActivityExeclList.add(_r.generateExcelData()); + } } } @@ -341,6 +369,12 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService public void exportData(List objectList,String sheetName,Class objectCalss,HttpServletRequest request, HttpServletResponse response) { excelService.exportExcel(objectList, null, sheetName, objectCalss, sheetName+".xlsx", response, false); } + + @Override + public void exportData(Map titleMap,List> objectList, String fileName,String sheetName, HttpServletRequest request, + HttpServletResponse response) { + excelService.exportExcel(titleMap,objectList, fileName,sheetName, response); + } @Override public void auditRecord(WxCashBackActivityRecord record) { @@ -381,6 +415,26 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService wxCashBackActivityRecordMapper.updateById(record); } + WxCashBackActivityRecordExtends wxCashBackActivityRecordExtends = new WxCashBackActivityRecordExtends(); + wxCashBackActivityRecordExtends.updateTenantInfo(record); + wxCashBackActivityRecordExtends.setRecordId(record.getId()); + wxCashBackActivityRecordExtendsMapper.deleteExtendsByRecordId(wxCashBackActivityRecordExtends); + + if (null != record.getRecordExtends()) { + for (int i = 0 ; i < record.getRecordExtends().size() ; i++) { + WxCashBackActivityRecordExtends re = record.getRecordExtends().get(i); + WxCashBackActivityRecordExtends are = new WxCashBackActivityRecordExtends(); + are.setId(idWorker.nextId()); + are.updateTenantInfo(record); + are.setCreateDate(new Date()); + are.setUpdateDate(new Date()); + are.setActivityId(record.getActivityId()); + are.setRecordId(record.getId()); + are.setRemark(re.getRemark()); + wxCashBackActivityRecordExtendsMapper.insert(are); + } + } + } @Override @@ -388,5 +442,38 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService initRecordQueryParam(record); return wxCashBackActivityRecordMapper.selectMerchantRecords(record); } + + @Override + public Map getItemMap(TenantEntity tenantEntity,List activitIds) { + WxCashBackActivityItem iq = new WxCashBackActivityItem(); + iq.updateTenantInfo(tenantEntity); + iq.setActivityIdList(activitIds); + List iqList = wxCashBackActivityItemMapper.findList(iq); + Map itemMap = new HashMap(); + if (null != iqList && iqList.size() > 0 ) { + for (WxCashBackActivityItem i : iqList) { + itemMap.put(i.getId(), i); + } + } + return itemMap; + } + + @Override + public List getRecordExtends(WxCashBackActivityRecord record) { + WxCashBackActivityRecordExtends re = new WxCashBackActivityRecordExtends(); + re.updateTenantInfo(record); + re.setActivityId(record.getActivityId()); + re.setRecordId(record.getId()); + re.setSortColumns(SortField.CreateDate_ASC); + return wxCashBackActivityRecordExtendsMapper.findList(re); + } + + @Override + public Integer getMaxRecordExtendsSize(WxCashBackActivityRecord record) { + WxCashBackActivityRecordExtends re = new WxCashBackActivityRecordExtends(); + re.updateTenantInfo(record); + re.setActivityId(record.getActivityId()); + return wxCashBackActivityRecordExtendsMapper.findMaxRecordExtendsSize(re); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRaffleActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRaffleActivityServiceImpl.java index 0d8367d84..a209d6781 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRaffleActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRaffleActivityServiceImpl.java @@ -11,7 +11,9 @@ import com.iformall.domain.po.WxRaffleActivity; import com.iformall.domain.po.WxRaffleActivityItem; import com.iformall.domain.po.WxRaffleActivityMerchant; import com.iformall.domain.po.WxRaffleActivityRecord; +import com.iformall.domain.po.WxRaffleActivityRecordExtends; import com.iformall.domain.po.WxRaffleActivityRecordItem; +import com.iformall.domain.po.base.BaseEntity.SortField; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.WxCUserBasicInfoVo; import com.iformall.enums.EnumCashBackActivityItemRule; @@ -21,6 +23,7 @@ import com.iformall.mapper.WxMerchantMapper; import com.iformall.mapper.WxRaffleActivityItemMapper; import com.iformall.mapper.WxRaffleActivityMapper; import com.iformall.mapper.WxRaffleActivityMerchantMapper; +import com.iformall.mapper.WxRaffleActivityRecordExtendsMapper; import com.iformall.mapper.WxRaffleActivityRecordItemMapper; import com.iformall.mapper.WxRaffleActivityRecordMapper; import com.iformall.service.ExcelService; @@ -54,6 +57,8 @@ public class WxRaffleActivityServiceImpl implements WxRaffleActivityService { WxRaffleActivityMerchantMapper wxActivityMerchantMapper; @Autowired WxMerchantMapper wxMerchantMapper; + @Autowired + WxRaffleActivityRecordExtendsMapper wxRaffleActivityRecordExtendsMapper; @Lazy @Autowired @@ -208,6 +213,7 @@ public class WxRaffleActivityServiceImpl implements WxRaffleActivityService { _r.setRecordItemList(getActivityRecordItemListByRecordId(aidList,_r.getId(),_r)); _r.setItemDetail(_r.generateItemDetaiJson(userMap)); + _r.setRecordExtends(getRecordExtends(_r)); if (null != oneActivityExeclList && null != oneAcitvityId) { _r.generateItemIds(); @@ -499,6 +505,26 @@ public class WxRaffleActivityServiceImpl implements WxRaffleActivityService { wxActivityRecordMapper.updateById(record); } + WxRaffleActivityRecordExtends wxRaffleActivityRecordExtends = new WxRaffleActivityRecordExtends(); + wxRaffleActivityRecordExtends.updateTenantInfo(record); + wxRaffleActivityRecordExtends.setRecordId(record.getId()); + wxRaffleActivityRecordExtendsMapper.deleteExtendsByRecordId(wxRaffleActivityRecordExtends); + + if (null != record.getRecordExtends()) { + for (int i = 0 ; i < record.getRecordExtends().size() ; i++) { + WxRaffleActivityRecordExtends re = record.getRecordExtends().get(i); + WxRaffleActivityRecordExtends are = new WxRaffleActivityRecordExtends(); + are.setId(idWorker.nextId()); + are.updateTenantInfo(record); + are.setCreateDate(new Date()); + are.setUpdateDate(new Date()); + are.setActivityId(record.getActivityId()); + are.setRecordId(record.getId()); + are.setRemark(re.getRemark()); + wxRaffleActivityRecordExtendsMapper.insert(are); + } + } + } @Override @@ -541,4 +567,23 @@ public class WxRaffleActivityServiceImpl implements WxRaffleActivityService { } return _riList; } + + @Override + public List getRecordExtends(WxRaffleActivityRecord record) { + WxRaffleActivityRecordExtends re = new WxRaffleActivityRecordExtends(); + re.updateTenantInfo(record); + re.setActivityId(record.getActivityId()); + re.setRecordId(record.getId()); + re.setSortColumns(SortField.CreateDate_ASC); + return wxRaffleActivityRecordExtendsMapper.findList(re); + } + + @Override + public Integer getMaxRecordExtendsSize(WxRaffleActivityRecord record) { + WxRaffleActivityRecordExtends re = new WxRaffleActivityRecordExtends(); + re.updateTenantInfo(record); + re.setActivityId(record.getActivityId()); + re.setRecordId(record.getId()); + return wxRaffleActivityRecordExtendsMapper.findMaxRecordExtendsSize(re); + } } diff --git a/mallinkService/src/main/resources/mapper/WxCashBackActivityItemMapper.xml b/mallinkService/src/main/resources/mapper/WxCashBackActivityItemMapper.xml index 0b3f898b5..d370ca63d 100644 --- a/mallinkService/src/main/resources/mapper/WxCashBackActivityItemMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCashBackActivityItemMapper.xml @@ -50,6 +50,13 @@ and `activity_id` = #{activityId} + + and activity_id in + + #{aidItem} + + + and id in diff --git a/mallinkService/src/main/resources/mapper/WxCashBackActivityRecordExtendsMapper.xml b/mallinkService/src/main/resources/mapper/WxCashBackActivityRecordExtendsMapper.xml new file mode 100644 index 000000000..e1da4e6f8 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxCashBackActivityRecordExtendsMapper.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + `id`,`tenant_id`,`parent_tenant_id`,`activity_id`,`record_id`,`create_date`,`update_date`,`remark` + + + + where 1 = 1 + + + and `id` = #{id} + + + and `activity_id` = #{activityId} + + + and `record_id` = #{recordId} + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + + + + + delete from wx_cash_back_activity_record_extends where `record_id` = #{recordId} + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + + \ No newline at end of file diff --git a/mallinkService/src/main/resources/mapper/WxRaffleActivityRecordExtendsMapper.xml b/mallinkService/src/main/resources/mapper/WxRaffleActivityRecordExtendsMapper.xml new file mode 100644 index 000000000..34bd2f53c --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxRaffleActivityRecordExtendsMapper.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + `id`,`tenant_id`,`parent_tenant_id`,`activity_id`,`record_id`,`create_date`,`update_date`,`remark` + + + + where 1 = 1 + + + and `id` = #{id} + + + and `activity_id` = #{activityId} + + + and `record_id` = #{recordId} + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + + + + + delete from wx_raffle_activity_record_extends where `record_id` = #{recordId} + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + + \ No newline at end of file