From fd64462330a5ace0993f12d469c9a7c0bd7885cd Mon Sep 17 00:00:00 2001 From: winter Date: Mon, 13 May 2024 15:39:11 +0800 Subject: [PATCH] fix --- .../resources/db/migration/V202405004.sql | 2 ++ .../domain/po/WxRaffleActivityRecord.java | 32 ++++++++++++++++++- .../domain/po/WxRaffleActivityRecordItem.java | 2 ++ .../iformall/mapper/MallUserInfoMapper.java | 2 ++ .../iformall/service/MallUserInfoService.java | 2 ++ .../service/impl/MallUserInfoServiceImpl.java | 5 +++ .../impl/WxRaffleActivityServiceImpl.java | 23 ++++++++++--- .../resources/mapper/MallUserInfoMapper.xml | 6 ++++ .../WxRaffleActivityRecordItemMapper.xml | 5 +-- .../mapper/WxRaffleActivityRecordMapper.xml | 28 ++++++++++++++-- 10 files changed, 97 insertions(+), 10 deletions(-) create mode 100644 mallinkAdmin/src/main/resources/db/migration/V202405004.sql diff --git a/mallinkAdmin/src/main/resources/db/migration/V202405004.sql b/mallinkAdmin/src/main/resources/db/migration/V202405004.sql new file mode 100644 index 000000000..7442fb60d --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V202405004.sql @@ -0,0 +1,2 @@ +ALTER TABLE wx_raffle_activity_record_item ADD COLUMN item_size INT(3) NOT NULL DEFAULT 1 COMMENT '数量' AFTER `item_id`; +ALTER TABLE wx_raffle_activity_record ADD COLUMN cus_card VARCHAR(100) COMMENT '身份证号' AFTER `cus_name`; \ No newline at end of file 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 8b81ec9d8..1f6198894 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecord.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecord.java @@ -49,7 +49,10 @@ public class WxRaffleActivityRecord extends TenantEntity { private BigDecimal orderMoney; @Excel(name="客户姓名",width = 20,orderNum = "6") @io.swagger.annotations.ApiModelProperty(value = "客户姓名", name = "cusName") - private String cusName; + private String cusName; + @Excel(name="身份证号",width = 20,orderNum = "6") + @io.swagger.annotations.ApiModelProperty(value = "身份证号", name = "cusCard") + private String cusCard; @Excel(name="客户电话",width = 20,orderNum = "7") @io.swagger.annotations.ApiModelProperty(value = "客户电话", name = "phone") private String phone; @@ -67,6 +70,10 @@ public class WxRaffleActivityRecord extends TenantEntity { @Excel(name="审核时间",width = 20,format="yyyy-MM-dd HH:mm:ss",orderNum = "12") @io.swagger.annotations.ApiModelProperty(value = "审核时间", name = "auditTime") private Date auditTime; + @TableField(exist = false) + private Date auditTimeBegin; + @TableField(exist = false) + private Date auditTimeEnd; @io.swagger.annotations.ApiModelProperty(value = "审核人", name = "auditBy") private Long auditBy; @Excel(name="审核人",width = 20,orderNum = "13") @@ -84,8 +91,14 @@ public class WxRaffleActivityRecord extends TenantEntity { @Excel(name="提交时间",width = 20,format="yyyy-MM-dd HH:mm:ss", orderNum = "14") @io.swagger.annotations.ApiModelProperty(value = "发奖时间", name = "sendTime") private Date sendTime; + @TableField(exist = false) + private Date sendTimeBegin; + @TableField(exist = false) + private Date sendTimeEnd; @io.swagger.annotations.ApiModelProperty(value = "发奖人", name = "sendBy") private Long sendBy; + @TableField(exist = false) + private List sendByList; @Excel(name="发奖人",width = 20,orderNum = "15") @TableField(exist = false) private String sendByName; @@ -108,6 +121,8 @@ public class WxRaffleActivityRecord extends TenantEntity { private Map recordItemIdCountMap; @TableField(exist = false) private Map recordItemJiangQuanCountMap; + @TableField(exist = false) + private Map recordItemSizeMap; @TableField(exist = false) private List recordExtends; @@ -142,6 +157,7 @@ public class WxRaffleActivityRecord extends TenantEntity { if (null != recordItemList && recordItemList.size() > 0 ) { recordItemIdCountMap = new HashMap(); recordItemJiangQuanCountMap = new HashMap(); + recordItemSizeMap = new HashMap(); for (int i = 0 ; i < recordItemList.size() ; i++) { WxRaffleActivityRecordItem ri = recordItemList.get(i); String key = this.id+"&"+ri.getItemId(); @@ -160,6 +176,14 @@ public class WxRaffleActivityRecord extends TenantEntity { }else { recordItemJiangQuanCountMap.put(key, ri.getCode()); } + + if (recordItemSizeMap.containsKey(key)) { + Integer is = recordItemSizeMap.get(key); + is = is + ri.getItemSize(); + recordItemSizeMap.put(key, is); + }else { + recordItemSizeMap.put(key, ri.getItemSize()); + } } } @@ -173,6 +197,7 @@ public class WxRaffleActivityRecord extends TenantEntity { excelTitle.put("orderNo", "订单号"); excelTitle.put("orderMoney", "订单金额"); excelTitle.put("cusName", "客户姓名"); + excelTitle.put("cusCard", "身份证号"); excelTitle.put("phone", "客户电话"); excelTitle.put("address", "客户地址"); excelTitle.put("createDate", "提交时间"); @@ -186,7 +211,9 @@ public class WxRaffleActivityRecord extends TenantEntity { Long itemId = it.next(); WxRaffleActivityItem item = itemMap.get(itemId); excelTitle.put(String.valueOf(item.getId()),item.getName()); + excelTitle.put(String.valueOf(item.getId())+"_size",item.getName()+"_个数"); excelTitle.put(String.valueOf(item.getId())+"_jiangquan",item.getName()+"_奖券编码"); + } } @@ -210,6 +237,7 @@ public class WxRaffleActivityRecord extends TenantEntity { excelObject.put("orderNo", orderNo); excelObject.put("orderMoney", orderMoney); excelObject.put("cusName", cusName); + excelObject.put("cusCard", cusCard); excelObject.put("phone", phone); excelObject.put("address", address); excelObject.put("createDate", DateUtils.date2String(createDate)); @@ -236,9 +264,11 @@ public class WxRaffleActivityRecord extends TenantEntity { String key = this.id+"&"+item.getId(); if (null != recordItemIdCountMap && recordItemIdCountMap.containsKey(key)) { excelObject.put(String.valueOf(item.getId()), recordItemIdCountMap.get(key)); + excelObject.put(String.valueOf(item.getId())+"_size", recordItemJiangQuanCountMap.get(key)); excelObject.put(String.valueOf(item.getId())+"_jiangquan", recordItemJiangQuanCountMap.get(key)); }else { excelObject.put(String.valueOf(item.getId()), 0); + excelObject.put(String.valueOf(item.getId())+"_size", null); excelObject.put(String.valueOf(item.getId())+"_jiangquan", null); } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecordItem.java b/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecordItem.java index 329e3358b..e5986b6fa 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecordItem.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecordItem.java @@ -31,6 +31,8 @@ public class WxRaffleActivityRecordItem extends TenantEntity { private Long itemId; @TableField(exist = false) private String itemName; + @io.swagger.annotations.ApiModelProperty(value = "数量", name = "itemSize") + private Integer itemSize; @io.swagger.annotations.ApiModelProperty(value = "奖券编码", name = "code") private String code; @io.swagger.annotations.ApiModelProperty(value = "返现金额", name = "cashMoney") diff --git a/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java index e616bcd5f..07c3a5952 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java @@ -54,5 +54,7 @@ public interface MallUserInfoMapper extends CommonMapper { * 查询用户的所有菜单ID */ List queryAllMenuId(Long userId); + + List findIdList(MallUserInfo mallUserInfo); } diff --git a/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java b/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java index dfdbd8c58..bf45b48dd 100644 --- a/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java @@ -206,4 +206,6 @@ public interface MallUserInfoService { Set getUserPermissions(MallUserInfo record, boolean boolNav); Map getUserMap(MallUserInfo record); + + List getUserIdList(MallUserInfo record); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java index bd73387a4..58a621ed7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java @@ -348,4 +348,9 @@ public class MallUserInfoServiceImpl implements MallUserInfoService { return null; } + @Override + public List getUserIdList(MallUserInfo record) { + return mallUserInfoMapper.findIdList(record); + } + } 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 a209d6781..3c8d4e2ef 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRaffleActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRaffleActivityServiceImpl.java @@ -132,7 +132,18 @@ public class WxRaffleActivityServiceImpl implements WxRaffleActivityService { }else { record.setMerchantIdList(mids); } - + } + + if (StringUtils.isNotBlank(record.getSendByName())) { + MallUserInfo userInfo = new MallUserInfo(); + userInfo.updateTenantInfo(record); + userInfo.setUsername(record.getSendByName()); + List mids = mallUserInfoService.getUserIdList(userInfo); + if (null == mids || mids.size() <= 0 ) { + record.setId(-1L); + }else { + record.setSendByList(mids); + } } } @@ -481,14 +492,16 @@ public class WxRaffleActivityServiceImpl implements WxRaffleActivityService { record.setMallRate(item.getMallBackRate()); record.setMerchantRate(item.getMerchantBackRate()); if (moneyRule == EnumCashBackActivityItemRule.MALL_ONLY) { - record.setMallCashMoney(record.getCashMoney()); + record.setMallCashMoney(record.getCashMoney().multiply(new BigDecimal(record.getItemSize()))); record.setMerchantCashMoney(new BigDecimal(0)); }else if(moneyRule == EnumCashBackActivityItemRule.MERCHANT_ONLY) { record.setMallCashMoney(new BigDecimal(0)); - record.setMerchantCashMoney(record.getCashMoney()); + record.setMerchantCashMoney(record.getCashMoney().multiply(new BigDecimal(record.getItemSize()))); }else if (moneyRule == EnumCashBackActivityItemRule.SHARE) { - record.setMallCashMoney(record.getCashMoney().multiply(item.getMallBackRate()).divide(new BigDecimal(100)).setScale(3,BigDecimal.ROUND_HALF_UP)); - record.setMerchantCashMoney(record.getCashMoney().multiply(item.getMerchantBackRate()).divide(new BigDecimal(100)).setScale(3,BigDecimal.ROUND_HALF_UP)); + record.setMallCashMoney(record.getCashMoney().multiply(item.getMallBackRate()).multiply(new BigDecimal(record.getItemSize())) + .divide(new BigDecimal(100)).setScale(3,BigDecimal.ROUND_HALF_UP)); + record.setMerchantCashMoney(record.getCashMoney().multiply(item.getMerchantBackRate()).multiply(new BigDecimal(record.getItemSize())) + .divide(new BigDecimal(100)).setScale(3,BigDecimal.ROUND_HALF_UP)); } } diff --git a/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml b/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml index 75fd3bbb0..07bb1b280 100644 --- a/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml @@ -113,6 +113,12 @@ from mall_user_info + +