Ver a proveniência

fix

release_toaliyun_real
winter há 2 anos
ascendente
cometimento
6807159e63
6 ficheiros alterados com 107 adições e 7 eliminações
  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 Ver ficheiro

@@ -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 Ver ficheiro

@@ -53,14 +53,23 @@ public class WxRaffleActivityRecord extends TenantEntity {
@Excel(name="客户地址",width = 20,orderNum = "8")
@io.swagger.annotations.ApiModelProperty(value = "客户地址", name = "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")
private Integer auditStatus;
@TableField(exist = false)
private List<Integer> auditStatusList;
@Excel(name="审核内容",width = 20,orderNum = "11")
@io.swagger.annotations.ApiModelProperty(value = "审核内容", name = "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")
private Date createDate;
@TableField(exist = false)
@@ -69,6 +78,14 @@ public class WxRaffleActivityRecord extends TenantEntity {
private Date createDateEnd;
@io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "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")
private String signImg;
@Excel(name="中奖信息",width = 20, orderNum = "16")
@@ -86,6 +103,8 @@ public class WxRaffleActivityRecord extends TenantEntity {
private List<WxRaffleActivityRecordItem> recordItemList;
@TableField(exist = false)
private Map<String,Integer> recordItemIdCountMap;
@TableField(exist = false)
private Map<String,String> recordItemJiangQuanCountMap;
public String generateItemDetaiJson() {
if (null != recordItemList && recordItemList.size() > 0 ) {
@@ -104,6 +123,7 @@ public class WxRaffleActivityRecord extends TenantEntity {
public void generateItemIds() {
if (null != recordItemList && recordItemList.size() > 0 ) {
recordItemIdCountMap = new HashMap<String,Integer>();
recordItemJiangQuanCountMap = new HashMap<String,String>();
for (int i = 0 ; i < recordItemList.size() ; i++) {
WxRaffleActivityRecordItem ri = recordItemList.get(i);
String key = this.id+"&"+ri.getItemId();
@@ -114,6 +134,14 @@ public class WxRaffleActivityRecord extends TenantEntity {
}else {
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("phone", "客户电话");
excelTitle.put("address", "客户地址");
excelTitle.put("createDate", "提交时间");
excelTitle.put("auditStatus", "状态");
excelTitle.put("auditRemark", "审核内容");
excelTitle.put("createDate", "提交时间");
excelTitle.put("auditTime", "审核时间");
excelTitle.put("auditByName", "审核人");
if (null != itemMap) {
for (Iterator<Long> it = itemMap.keySet().iterator();it.hasNext();) {
Long itemId = it.next();
WxRaffleActivityItem item = itemMap.get(itemId);
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;
}
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>();
excelObject.put("activityName", activityName);
excelObject.put("merchantName", merchantName);
@@ -149,12 +184,23 @@ public class WxRaffleActivityRecord extends TenantEntity {
excelObject.put("cusName", cusName);
excelObject.put("phone", phone);
excelObject.put("address", address);
excelObject.put("createDate", DateUtils.date2String(createDate));
EnumCashBackActivityRecordStatus status = EnumCashBackActivityRecordStatus.getEnum(auditStatus);
if (null != status ) {
excelObject.put("auditStatus", status.getMessage());
}
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) {
for (Iterator<Long> it = itemMap.keySet().iterator();it.hasNext();) {
Long itemId = it.next();
@@ -162,11 +208,24 @@ 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())+"_jiangquan", recordItemJiangQuanCountMap.get(key));
}else {
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;
}


+ 3
- 0
mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java Ver ficheiro

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

public interface MallUserInfoService {
@@ -203,4 +204,6 @@ public interface MallUserInfoService {
* @return
*/
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 Ver ficheiro

@@ -334,4 +334,18 @@ public class MallUserInfoServiceImpl implements MallUserInfoService {
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 Ver ficheiro

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

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


+ 5
- 1
mallinkService/src/main/resources/mapper/WxRaffleActivityRecordMapper.xml Ver ficheiro

@@ -15,13 +15,17 @@
<result column="address" jdbcType="VARCHAR" property="address" />
<result column="audit_remark" jdbcType="VARCHAR" property="auditRemark" />
<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="sign_img" jdbcType="VARCHAR" property="signImg" />
<result column="send_by" jdbcType="BIGINT" property="sendBy" />
<result column="send_time" jdbcType="TIMESTAMP" property="sendTime" />
</resultMap>

<sql id="allColumns">
`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 id="dynamicWhereConditions">


Carregando…
Cancelar
Guardar