Procházet zdrojové kódy

fix

release_toaliyun_real
winter před 2 roky
rodič
revize
6807159e63
6 změnil soubory, kde provedl 107 přidání a 7 odebrání
  1. +5
    -0
      mallinkAdmin/src/main/resources/db/migration/V202405002.sql
  2. +64
    -5
      mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecord.java
  3. +3
    -0
      mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java
  4. +14
    -0
      mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java
  5. +16
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxRaffleActivityServiceImpl.java
  6. +5
    -1
      mallinkService/src/main/resources/mapper/WxRaffleActivityRecordMapper.xml

+ 5
- 0
mallinkAdmin/src/main/resources/db/migration/V202405002.sql Zobrazit soubor

@@ -0,0 +1,5 @@
ALTER TABLE wx_raffle_activity_record ADD audit_by BIGINT(20) COMMENT '审核人' AFTER `audit_status`;
ALTER TABLE wx_raffle_activity_record ADD audit_time datetime COMMENT '审核时间' AFTER `audit_status`;

ALTER TABLE wx_raffle_activity_record ADD send_by BIGINT(20) COMMENT '发放人' ;
ALTER TABLE wx_raffle_activity_record ADD send_time datetime COMMENT '发放时间' ;

+ 64
- 5
mallinkService/src/main/java/com/iformall/domain/po/WxRaffleActivityRecord.java Zobrazit soubor

@@ -53,14 +53,23 @@ public class WxRaffleActivityRecord extends TenantEntity {
@Excel(name="客户地址",width = 20,orderNum = "8") @Excel(name="客户地址",width = 20,orderNum = "8")
@io.swagger.annotations.ApiModelProperty(value = "客户地址", name = "address") @io.swagger.annotations.ApiModelProperty(value = "客户地址", name = "address")
private String address; private String address;
@Excel(name="状态",width = 20,replace = {"审核中_0", "审核通过_1", "审核驳回_2","已退单_3"},orderNum = "9")
@Excel(name="状态",width = 20,replace = {"审核中_0", "审核通过_1", "审核驳回_2","已退单_3"},orderNum = "10")
@io.swagger.annotations.ApiModelProperty(value = "EnumCashBackActivityRecordStatus", name = "auditStatus") @io.swagger.annotations.ApiModelProperty(value = "EnumCashBackActivityRecordStatus", name = "auditStatus")
private Integer auditStatus; private Integer auditStatus;
@TableField(exist = false) @TableField(exist = false)
private List<Integer> auditStatusList; private List<Integer> auditStatusList;
@Excel(name="审核内容",width = 20,orderNum = "11")
@io.swagger.annotations.ApiModelProperty(value = "审核内容", name = "auditRemark") @io.swagger.annotations.ApiModelProperty(value = "审核内容", name = "auditRemark")
private String auditRemark; private String auditRemark;
@Excel(name="提交时间",width = 20,format="yyyy-MM-dd HH:mm:ss", orderNum = "16")
@Excel(name="审核时间",width = 20,format="yyyy-MM-dd HH:mm:ss",orderNum = "12")
@io.swagger.annotations.ApiModelProperty(value = "审核时间", name = "auditTime")
private Date auditTime;
@io.swagger.annotations.ApiModelProperty(value = "审核人", name = "auditBy")
private Long auditBy;
@Excel(name="审核人",width = 20,orderNum = "13")
@TableField(exist = false)
private String auditByName;
@Excel(name="提交时间",width = 20,format="yyyy-MM-dd HH:mm:ss", orderNum = "9")
@io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate")
private Date createDate; private Date createDate;
@TableField(exist = false) @TableField(exist = false)
@@ -69,6 +78,14 @@ public class WxRaffleActivityRecord extends TenantEntity {
private Date createDateEnd; private Date createDateEnd;
@io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate")
private Date updateDate; private Date updateDate;
@Excel(name="提交时间",width = 20,format="yyyy-MM-dd HH:mm:ss", orderNum = "14")
@io.swagger.annotations.ApiModelProperty(value = "发奖时间", name = "sendTime")
private Date sendTime;
@io.swagger.annotations.ApiModelProperty(value = "发奖人", name = "sendBy")
private Long sendBy;
@Excel(name="发奖人",width = 20,orderNum = "15")
@TableField(exist = false)
private String sendByName;
@io.swagger.annotations.ApiModelProperty(value = "签名图片", name = "updateDate") @io.swagger.annotations.ApiModelProperty(value = "签名图片", name = "updateDate")
private String signImg; private String signImg;
@Excel(name="中奖信息",width = 20, orderNum = "16") @Excel(name="中奖信息",width = 20, orderNum = "16")
@@ -86,6 +103,8 @@ public class WxRaffleActivityRecord extends TenantEntity {
private List<WxRaffleActivityRecordItem> recordItemList; private List<WxRaffleActivityRecordItem> recordItemList;
@TableField(exist = false) @TableField(exist = false)
private Map<String,Integer> recordItemIdCountMap; private Map<String,Integer> recordItemIdCountMap;
@TableField(exist = false)
private Map<String,String> recordItemJiangQuanCountMap;
public String generateItemDetaiJson() { public String generateItemDetaiJson() {
if (null != recordItemList && recordItemList.size() > 0 ) { if (null != recordItemList && recordItemList.size() > 0 ) {
@@ -104,6 +123,7 @@ public class WxRaffleActivityRecord extends TenantEntity {
public void generateItemIds() { public void generateItemIds() {
if (null != recordItemList && recordItemList.size() > 0 ) { if (null != recordItemList && recordItemList.size() > 0 ) {
recordItemIdCountMap = new HashMap<String,Integer>(); recordItemIdCountMap = new HashMap<String,Integer>();
recordItemJiangQuanCountMap = new HashMap<String,String>();
for (int i = 0 ; i < recordItemList.size() ; i++) { for (int i = 0 ; i < recordItemList.size() ; i++) {
WxRaffleActivityRecordItem ri = recordItemList.get(i); WxRaffleActivityRecordItem ri = recordItemList.get(i);
String key = this.id+"&"+ri.getItemId(); String key = this.id+"&"+ri.getItemId();
@@ -114,6 +134,14 @@ public class WxRaffleActivityRecord extends TenantEntity {
}else { }else {
recordItemIdCountMap.put(key, 1); recordItemIdCountMap.put(key, 1);
} }
if (recordItemJiangQuanCountMap.containsKey(key)) {
String jq = recordItemJiangQuanCountMap.get(key);
jq = jq + ","+ri.getCode();
recordItemJiangQuanCountMap.put(key, jq);
}else {
recordItemJiangQuanCountMap.put(key, ri.getCode());
}
} }
} }
} }
@@ -127,20 +155,27 @@ public class WxRaffleActivityRecord extends TenantEntity {
excelTitle.put("cusName", "客户姓名"); excelTitle.put("cusName", "客户姓名");
excelTitle.put("phone", "客户电话"); excelTitle.put("phone", "客户电话");
excelTitle.put("address", "客户地址"); excelTitle.put("address", "客户地址");
excelTitle.put("createDate", "提交时间");
excelTitle.put("auditStatus", "状态"); excelTitle.put("auditStatus", "状态");
excelTitle.put("auditRemark", "审核内容"); excelTitle.put("auditRemark", "审核内容");
excelTitle.put("createDate", "提交时间");
excelTitle.put("auditTime", "审核时间");
excelTitle.put("auditByName", "审核人");
if (null != itemMap) { if (null != itemMap) {
for (Iterator<Long> it = itemMap.keySet().iterator();it.hasNext();) { for (Iterator<Long> it = itemMap.keySet().iterator();it.hasNext();) {
Long itemId = it.next(); Long itemId = it.next();
WxRaffleActivityItem item = itemMap.get(itemId); WxRaffleActivityItem item = itemMap.get(itemId);
excelTitle.put(String.valueOf(item.getId()),item.getName()); excelTitle.put(String.valueOf(item.getId()),item.getName());
excelTitle.put(String.valueOf(item.getId())+"_jiangquan",item.getName()+"_奖券编码");
} }
} }
excelTitle.put("sendTime", "发奖时间");
excelTitle.put("sendByName", "发奖人");
return excelTitle; return excelTitle;
} }
public Map<String,Object> generateExcelData(Map<Long,WxRaffleActivityItem> itemMap) {
public Map<String,Object> generateExcelData(Map<Long,WxRaffleActivityItem> itemMap,Map<Long,MallUserInfo> mallUserMap) {
Map<String,Object> excelObject = new HashMap<String,Object>(); Map<String,Object> excelObject = new HashMap<String,Object>();
excelObject.put("activityName", activityName); excelObject.put("activityName", activityName);
excelObject.put("merchantName", merchantName); excelObject.put("merchantName", merchantName);
@@ -149,12 +184,23 @@ public class WxRaffleActivityRecord extends TenantEntity {
excelObject.put("cusName", cusName); excelObject.put("cusName", cusName);
excelObject.put("phone", phone); excelObject.put("phone", phone);
excelObject.put("address", address); excelObject.put("address", address);
excelObject.put("createDate", DateUtils.date2String(createDate));
EnumCashBackActivityRecordStatus status = EnumCashBackActivityRecordStatus.getEnum(auditStatus); EnumCashBackActivityRecordStatus status = EnumCashBackActivityRecordStatus.getEnum(auditStatus);
if (null != status ) { if (null != status ) {
excelObject.put("auditStatus", status.getMessage()); excelObject.put("auditStatus", status.getMessage());
} }
excelObject.put("auditRemark", auditRemark); excelObject.put("auditRemark", auditRemark);
excelObject.put("createDate", DateUtils.date2String(createDate));
if (null != auditTime) {
excelObject.put("auditTime", DateUtils.date2String(auditTime));
}
if (null != auditBy) {
MallUserInfo mu = mallUserMap.get(auditBy);
if (null != mu) {
excelObject.put("auditByName", mu.getName());
}
}
if (null != itemMap) { if (null != itemMap) {
for (Iterator<Long> it = itemMap.keySet().iterator();it.hasNext();) { for (Iterator<Long> it = itemMap.keySet().iterator();it.hasNext();) {
Long itemId = it.next(); Long itemId = it.next();
@@ -162,11 +208,24 @@ public class WxRaffleActivityRecord extends TenantEntity {
String key = this.id+"&"+item.getId(); String key = this.id+"&"+item.getId();
if (null != recordItemIdCountMap && recordItemIdCountMap.containsKey(key)) { if (null != recordItemIdCountMap && recordItemIdCountMap.containsKey(key)) {
excelObject.put(String.valueOf(item.getId()), recordItemIdCountMap.get(key)); excelObject.put(String.valueOf(item.getId()), recordItemIdCountMap.get(key));
excelObject.put(String.valueOf(item.getId())+"_jiangquan", recordItemJiangQuanCountMap.get(key));
}else { }else {
excelObject.put(String.valueOf(item.getId()), 0); excelObject.put(String.valueOf(item.getId()), 0);
excelObject.put(String.valueOf(item.getId())+"_jiangquan", null);
} }
} }
} }
if (null != sendTime) {
excelObject.put("sendTime", DateUtils.date2String(sendTime));
}
if (null != sendBy) {
MallUserInfo mu = mallUserMap.get(sendBy);
if (null != mu) {
excelObject.put("sendByName", mu.getName());
}
}
return excelObject; return excelObject;
} }


+ 3
- 0
mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java Zobrazit soubor

@@ -11,6 +11,7 @@ import com.iformall.domain.vo.MallUserInfoVo;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set; import java.util.Set;


public interface MallUserInfoService { public interface MallUserInfoService {
@@ -203,4 +204,6 @@ public interface MallUserInfoService {
* @return * @return
*/ */
Set<String> getUserPermissions(MallUserInfo record, boolean boolNav); Set<String> getUserPermissions(MallUserInfo record, boolean boolNav);
Map<Long,MallUserInfo> getUserMap(MallUserInfo record);
} }

+ 14
- 0
mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java Zobrazit soubor

@@ -334,4 +334,18 @@ public class MallUserInfoServiceImpl implements MallUserInfoService {
return permsSet; return permsSet;
} }


@Override
public Map<Long, MallUserInfo> getUserMap(MallUserInfo record) {
List<MallUserInfo> userList = mallUserInfoMapper.findList(record);
if (null != userList && userList.size() > 0 ) {
Map<Long,MallUserInfo> userMap = new HashMap<Long,MallUserInfo>();
for (int i = 0 ; i < userList.size() ; i ++) {
MallUserInfo mui = userList.get(i);
userMap.put(mui.getId(), mui);
}
return userMap;
}
return null;
}

} }

+ 16
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxRaffleActivityServiceImpl.java Zobrazit soubor

@@ -5,6 +5,7 @@ import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker; import com.iformall.common.IdWorker;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxRaffleActivity; import com.iformall.domain.po.WxRaffleActivity;
import com.iformall.domain.po.WxRaffleActivityItem; import com.iformall.domain.po.WxRaffleActivityItem;
@@ -23,11 +24,13 @@ import com.iformall.mapper.WxRaffleActivityMerchantMapper;
import com.iformall.mapper.WxRaffleActivityRecordItemMapper; import com.iformall.mapper.WxRaffleActivityRecordItemMapper;
import com.iformall.mapper.WxRaffleActivityRecordMapper; import com.iformall.mapper.WxRaffleActivityRecordMapper;
import com.iformall.service.ExcelService; import com.iformall.service.ExcelService;
import com.iformall.service.MallUserInfoService;
import com.iformall.service.WxRaffleActivityService; import com.iformall.service.WxRaffleActivityService;


import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
@@ -51,6 +54,10 @@ public class WxRaffleActivityServiceImpl implements WxRaffleActivityService {
@Autowired @Autowired
WxMerchantMapper wxMerchantMapper; WxMerchantMapper wxMerchantMapper;
@Lazy
@Autowired
MallUserInfoService mallUserInfoService;
@Autowired @Autowired
ExcelService excelService; ExcelService excelService;
@@ -168,6 +175,8 @@ public class WxRaffleActivityServiceImpl implements WxRaffleActivityService {
itemMap = getItemMap(tenantEntity,_aids); itemMap = getItemMap(tenantEntity,_aids);
} }
Map<Long,MallUserInfo> userMap = getMallUserInfoMap(tenantEntity);
for (WxRaffleActivityRecord _r : recordList) { for (WxRaffleActivityRecord _r : recordList) {
if (null != _r.getActivityId()) { if (null != _r.getActivityId()) {
WxRaffleActivity _a = activityMap.get(_r.getActivityId()); WxRaffleActivity _a = activityMap.get(_r.getActivityId());
@@ -187,7 +196,7 @@ public class WxRaffleActivityServiceImpl implements WxRaffleActivityService {
if (null != oneActivityExeclList && null != oneAcitvityId) { if (null != oneActivityExeclList && null != oneAcitvityId) {
_r.generateItemIds(); _r.generateItemIds();
oneActivityExeclList.add(_r.generateExcelData(itemMap));
oneActivityExeclList.add(_r.generateExcelData(itemMap,userMap));
} }
} }
} }
@@ -206,6 +215,12 @@ public class WxRaffleActivityServiceImpl implements WxRaffleActivityService {
} }
return itemMap; return itemMap;
} }
private Map<Long,MallUserInfo> getMallUserInfoMap(TenantEntity tenantEntity) {
MallUserInfo mui = new MallUserInfo();
mui.updateTenantInfo(tenantEntity);
return mallUserInfoService.getUserMap(mui);
}
@Override @Override
public int getItemCount(WxRaffleActivity record) { public int getItemCount(WxRaffleActivity record) {


+ 5
- 1
mallinkService/src/main/resources/mapper/WxRaffleActivityRecordMapper.xml Zobrazit soubor

@@ -15,13 +15,17 @@
<result column="address" jdbcType="VARCHAR" property="address" /> <result column="address" jdbcType="VARCHAR" property="address" />
<result column="audit_remark" jdbcType="VARCHAR" property="auditRemark" /> <result column="audit_remark" jdbcType="VARCHAR" property="auditRemark" />
<result column="audit_status" jdbcType="INTEGER" property="auditStatus" /> <result column="audit_status" jdbcType="INTEGER" property="auditStatus" />
<result column="audit_by" jdbcType="BIGINT" property="auditBy" />
<result column="audit_time" jdbcType="TIMESTAMP" property="auditTime" />
<result column="merchant_id" jdbcType="BIGINT" property="merchantId" /> <result column="merchant_id" jdbcType="BIGINT" property="merchantId" />
<result column="sign_img" jdbcType="VARCHAR" property="signImg" /> <result column="sign_img" jdbcType="VARCHAR" property="signImg" />
<result column="send_by" jdbcType="BIGINT" property="sendBy" />
<result column="send_time" jdbcType="TIMESTAMP" property="sendTime" />
</resultMap> </resultMap>


<sql id="allColumns"> <sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`activity_id`,`order_no`,`order_money`,`cus_name`,`create_date`,`update_date`,`phone`, `id`,`tenant_id`,`parent_tenant_id`,`activity_id`,`order_no`,`order_money`,`cus_name`,`create_date`,`update_date`,`phone`,
`address`,`audit_remark`,`audit_status`,`merchant_id`,`sign_img`
`address`,`audit_remark`,`audit_status`,`audit_by`,`audit_time`,`merchant_id`,`sign_img`,`send_by`,`send_time`
</sql> </sql>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">


Načítá se…
Zrušit
Uložit