Commit 6c49d1db by songyinghui

feat: 互动记录调试

parent 33929f74
...@@ -14,30 +14,11 @@ import java.util.List; ...@@ -14,30 +14,11 @@ import java.util.List;
public class InteractRecordExtendInfoDTO implements Serializable { public class InteractRecordExtendInfoDTO implements Serializable {
private static final long serialVersionUID = 1577766149535235456L; private static final long serialVersionUID = 1577766149535235456L;
/**
* 订单编号
*/
private String orderNumber;
/**
* 订单创建时间
*/
private Date orderCreateTime;
/**
* 订单商品项总数
*/
private Integer orderTotalNum;
/**
* 订单应付
*/
private BigDecimal orderPay;
/** /**
* 订单实付 * 素材关联的订单信息
*/ */
private BigDecimal realPay; private List<ExtendOrderInfo> extendOrderInfos;
/** /**
* 失效商品数量 * 失效商品数量
...@@ -129,44 +110,95 @@ public class InteractRecordExtendInfoDTO implements Serializable { ...@@ -129,44 +110,95 @@ public class InteractRecordExtendInfoDTO implements Serializable {
} }
} }
public String getOrderNumber() { /**
return orderNumber; * 素材关联的订单信息
} */
public static class ExtendOrderInfo {
/**
* 订单编号
*/
private String orderNumber;
public void setOrderNumber(String orderNumber) { /**
this.orderNumber = orderNumber; * 订单创建时间
} */
private Date orderCreateTime;
public Date getOrderCreateTime() { /**
return orderCreateTime; * 订单商品项总数
} */
private Integer orderTotalNum;
public void setOrderCreateTime(Date orderCreateTime) { /**
this.orderCreateTime = orderCreateTime; * 订单应付
} */
private BigDecimal orderPay;
public Integer getOrderTotalNum() { /**
return orderTotalNum; * 订单实付
} */
private BigDecimal realPay;
public void setOrderTotalNum(Integer orderTotalNum) { /**
this.orderTotalNum = orderTotalNum; * 订单商品信息
} */
private List<ExtendGoodsInfo> orderGoodsInfos;
public BigDecimal getOrderPay() { public String getOrderNumber() {
return orderPay; return orderNumber;
} }
public void setOrderNumber(String orderNumber) {
this.orderNumber = orderNumber;
}
public Date getOrderCreateTime() {
return orderCreateTime;
}
public void setOrderCreateTime(Date orderCreateTime) {
this.orderCreateTime = orderCreateTime;
}
public Integer getOrderTotalNum() {
return orderTotalNum;
}
public void setOrderPay(BigDecimal orderPay) { public void setOrderTotalNum(Integer orderTotalNum) {
this.orderPay = orderPay; this.orderTotalNum = orderTotalNum;
}
public BigDecimal getOrderPay() {
return orderPay;
}
public void setOrderPay(BigDecimal orderPay) {
this.orderPay = orderPay;
}
public BigDecimal getRealPay() {
return realPay;
}
public void setRealPay(BigDecimal realPay) {
this.realPay = realPay;
}
public List<ExtendGoodsInfo> getOrderGoodsInfos() {
return orderGoodsInfos;
}
public void setOrderGoodsInfos(List<ExtendGoodsInfo> orderGoodsInfos) {
this.orderGoodsInfos = orderGoodsInfos;
}
} }
public BigDecimal getRealPay() { public List<ExtendOrderInfo> getExtendOrderInfos() {
return realPay; return extendOrderInfos;
} }
public void setRealPay(BigDecimal realPay) { public void setExtendOrderInfos(List<ExtendOrderInfo> extendOrderInfos) {
this.realPay = realPay; this.extendOrderInfos = extendOrderInfos;
} }
public Integer getInvalidGoodsNum() { public Integer getInvalidGoodsNum() {
......
...@@ -40,6 +40,11 @@ public class InteractRecordInfoDTO implements Serializable { ...@@ -40,6 +40,11 @@ public class InteractRecordInfoDTO implements Serializable {
private Date createTime; private Date createTime;
/** /**
* 线索来源 1朋友圈; 2客户群; 3 对话框; 0其他
*/
private Integer channelSource;
/**
* 记录事件类型 * 记录事件类型
* 1浏览素材;2 查看商品; 3 购买商品 * 1浏览素材;2 查看商品; 3 购买商品
* 通过此类型区分 弹窗提示 * 通过此类型区分 弹窗提示
...@@ -52,6 +57,16 @@ public class InteractRecordInfoDTO implements Serializable { ...@@ -52,6 +57,16 @@ public class InteractRecordInfoDTO implements Serializable {
private String bizId; private String bizId;
/** /**
* 浏览的商品数量
*/
private Integer visitGoodsNum;
/**
* 下单的商品数量
*/
private Integer orderGoodsNum;
/**
* 扩展信息 * 扩展信息
*/ */
private InteractRecordExtendInfoDTO extendInfo; private InteractRecordExtendInfoDTO extendInfo;
...@@ -119,4 +134,28 @@ public class InteractRecordInfoDTO implements Serializable { ...@@ -119,4 +134,28 @@ public class InteractRecordInfoDTO implements Serializable {
public void setExtendInfo(InteractRecordExtendInfoDTO extendInfo) { public void setExtendInfo(InteractRecordExtendInfoDTO extendInfo) {
this.extendInfo = extendInfo; this.extendInfo = extendInfo;
} }
public Integer getChannelSource() {
return channelSource;
}
public void setChannelSource(Integer channelSource) {
this.channelSource = channelSource;
}
public Integer getVisitGoodsNum() {
return visitGoodsNum;
}
public void setVisitGoodsNum(Integer visitGoodsNum) {
this.visitGoodsNum = visitGoodsNum;
}
public Integer getOrderGoodsNum() {
return orderGoodsNum;
}
public void setOrderGoodsNum(Integer orderGoodsNum) {
this.orderGoodsNum = orderGoodsNum;
}
} }
package com.gic.haoban.manage.service.pojo.bo.content; package com.gic.haoban.manage.service.pojo.bo.content;
import com.gic.haoban.manage.api.enums.content.InteractRecordExtendInfoDTO;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
...@@ -84,4 +83,15 @@ public class InteractRecordBO { ...@@ -84,4 +83,15 @@ public class InteractRecordBO {
* 扩展信息 * 扩展信息
*/ */
private InteractRecordExtendInfoBO extendInfo; private InteractRecordExtendInfoBO extendInfo;
/**
* 浏览的商品数量
*/
private Integer visitGoodsNum;
/**
* 下单的商品数量
*/
private Integer orderGoodsNum;
} }
...@@ -18,34 +18,9 @@ import java.util.List; ...@@ -18,34 +18,9 @@ import java.util.List;
public class InteractRecordExtendInfoBO implements Serializable { public class InteractRecordExtendInfoBO implements Serializable {
/** /**
* 浏览的商品id * 素材关联的订单信息
*/ */
private List<String> goodsIds; private List<ExtendOrderInfo> extendOrderInfos;
/**
* 订单编号
*/
private String orderNumber;
/**
* 订单创建时间
*/
private Date orderCreateTime;
/**
* 订单商品项总数
*/
private Integer orderTotalNum;
/**
* 订单应付
*/
private BigDecimal orderPay;
/**
* 订单实付
*/
private BigDecimal realPay;
/** /**
* 失效商品数量 * 失效商品数量
...@@ -57,6 +32,11 @@ public class InteractRecordExtendInfoBO implements Serializable { ...@@ -57,6 +32,11 @@ public class InteractRecordExtendInfoBO implements Serializable {
*/ */
private List<ExtendGoodsInfo> extendGoodsInfos; private List<ExtendGoodsInfo> extendGoodsInfos;
/**
* 冗余的商品id
*/
private List<String> goodsIds;
@Data @Data
public static class ExtendGoodsInfo { public static class ExtendGoodsInfo {
...@@ -88,6 +68,49 @@ public class InteractRecordExtendInfoBO implements Serializable { ...@@ -88,6 +68,49 @@ public class InteractRecordExtendInfoBO implements Serializable {
* 商品单价 * 商品单价
*/ */
private BigDecimal salePrice; private BigDecimal salePrice;
/***
* 1 erp同步
* 2 自建
* @see com.gic.store.goods.enums.GoodsSourceTypeEnum
*/
private Integer sourceType;
}
/**
* 素材关联的订单信息
*/
@Data
public static class ExtendOrderInfo {
/**
* 订单编号
*/
private String orderNumber;
/**
* 订单创建时间
*/
private Date orderCreateTime;
/**
* 订单商品项总数
*/
private Integer orderTotalNum;
/**
* 订单应付
*/
private BigDecimal orderPay;
/**
* 订单实付
*/
private BigDecimal realPay;
/**
* 订单商品信息
*/
private List<ExtendGoodsInfo> orderGoodsInfos;
} }
public static InteractRecordExtendInfoBO empty() { public static InteractRecordExtendInfoBO empty() {
......
...@@ -54,13 +54,13 @@ public class InteractRecordMessageBO implements Serializable { ...@@ -54,13 +54,13 @@ public class InteractRecordMessageBO implements Serializable {
*/ */
private Integer durationTime; private Integer durationTime;
/** /**
* 购买商品时的 订单id * 购买商品时的 订单编号
*/ */
private String orderId; private String orderNumber;
/** /**
* 查看商品时查看的商品id * 查看商品时查看的商品id
*/ */
private List<String> goodsIds; private String goodsId;
/** /**
* 业务唯一标识 * 业务唯一标识
*/ */
......
...@@ -2,14 +2,17 @@ package com.gic.haoban.manage.service.service.content.adaptor; ...@@ -2,14 +2,17 @@ package com.gic.haoban.manage.service.service.content.adaptor;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.enums.content.MaterialInteractRecordEventType; import com.gic.haoban.manage.api.enums.content.MaterialInteractRecordEventType;
import com.gic.haoban.manage.api.enums.content.TriggerCustomerChannelType; import com.gic.haoban.manage.api.enums.content.TriggerCustomerChannelType;
import com.gic.haoban.manage.service.entity.content.TabHaobanInteractRecord; import com.gic.haoban.manage.service.entity.content.TabHaobanInteractRecord;
import com.gic.haoban.manage.service.pojo.bo.content.InteractRecordBO;
import com.gic.haoban.manage.service.pojo.bo.content.InteractRecordExtendInfoBO; import com.gic.haoban.manage.service.pojo.bo.content.InteractRecordExtendInfoBO;
import com.gic.store.goods.dto.goods.GoodsInfoSimpleDTO; import com.gic.store.goods.dto.goods.GoodsSpuInfoDTO;
import com.gic.store.goods.dto.qdto.ErpGoodsInfoQDTO; import com.gic.store.goods.dto.qdto.GoodsListQDTO;
import com.gic.store.goods.enums.GoodsStatusEnum; import com.gic.store.goods.enums.GoodsStatusEnum;
import com.gic.store.goods.service.GoodsCenterApiService;
import com.gic.store.goods.service.GoodsInfoOutApiService; import com.gic.store.goods.service.GoodsInfoOutApiService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -34,6 +37,8 @@ public class InteractRecordBuilder { ...@@ -34,6 +37,8 @@ public class InteractRecordBuilder {
@Autowired @Autowired
private GoodsInfoOutApiService goodsInfoOutApiService; private GoodsInfoOutApiService goodsInfoOutApiService;
@Autowired
private GoodsCenterApiService goodsCenterApiService;
/** /**
* 互动记录描述 * 互动记录描述
...@@ -47,6 +52,7 @@ public class InteractRecordBuilder { ...@@ -47,6 +52,7 @@ public class InteractRecordBuilder {
/** /**
* 基于渠道和事件类型拼接信息 * 基于渠道和事件类型拼接信息
*
* @param channelSource * @param channelSource
* @param eventType * @param eventType
* @return * @return
...@@ -93,10 +99,12 @@ public class InteractRecordBuilder { ...@@ -93,10 +99,12 @@ public class InteractRecordBuilder {
// 浏览商品事件 // 浏览商品事件
List<String> visitGoodsIds = extendInfo.getGoodsIds(); List<String> visitGoodsIds = extendInfo.getGoodsIds();
if (CollectionUtils.isEmpty(visitGoodsIds)) { if (CollectionUtils.isEmpty(visitGoodsIds)) {
log.info("组装浏览商品信息, 商品信息不存在 {}", interactRecord.getExtendInfo());
return null; return null;
} }
// 拼接商品信息 // 拼接商品信息
List<InteractRecordExtendInfoBO.ExtendGoodsInfo> extendGoodsInfos = this.convertGoodsInfo(visitGoodsIds, interactRecord.getEnterpriseId()); List<InteractRecordExtendInfoBO.ExtendGoodsInfo> extendGoodsInfos =
this.convertGoodsInfo(visitGoodsIds, interactRecord.getEnterpriseId());
extendInfo.setExtendGoodsInfos(extendGoodsInfos); extendInfo.setExtendGoodsInfos(extendGoodsInfos);
extendInfo.setInvalidGoodsNum(visitGoodsIds.size() - extendGoodsInfos.size()); extendInfo.setInvalidGoodsNum(visitGoodsIds.size() - extendGoodsInfos.size());
return extendInfo; return extendInfo;
...@@ -105,26 +113,65 @@ public class InteractRecordBuilder { ...@@ -105,26 +113,65 @@ public class InteractRecordBuilder {
} }
private List<InteractRecordExtendInfoBO.ExtendGoodsInfo> convertGoodsInfo(List<String> visitGoodsIds, String enterpriseId) { private List<InteractRecordExtendInfoBO.ExtendGoodsInfo> convertGoodsInfo(List<String> visitGoodsIds, String enterpriseId) {
ErpGoodsInfoQDTO search = new ErpGoodsInfoQDTO(); if (CollectionUtils.isEmpty(visitGoodsIds)) {
search.setEnterpriseId(enterpriseId); return Collections.emptyList();
search.setGoodsIds(visitGoodsIds); }
search.setExcludeStatus(Arrays.asList(GoodsStatusEnum.DELETED.getCode(), GoodsStatusEnum.BACK.getCode())); GoodsListQDTO goodsListQDTO = new GoodsListQDTO();
ServiceResponse<List<GoodsInfoSimpleDTO>> serviceResponse = goodsListQDTO.setEnterpriseId(enterpriseId);
goodsInfoOutApiService.queryErpGoodsInfoWithIds(search); goodsListQDTO.setIncludeGoodsIds(visitGoodsIds);
goodsListQDTO.setExcludeStatus(Arrays.asList(GoodsStatusEnum.DELETED.getCode(), GoodsStatusEnum.BACK.getCode()));
goodsListQDTO.setPageSize(visitGoodsIds.size() + 1);
ServiceResponse<Page<GoodsSpuInfoDTO>> serviceResponse = goodsCenterApiService.queryStoreGoodsList(goodsListQDTO);
if (!serviceResponse.isSuccess()) { if (!serviceResponse.isSuccess()) {
log.info("查询商品异常 {}", JSON.toJSONString(serviceResponse));
return Collections.emptyList();
}
if (CollectionUtils.isEmpty(serviceResponse.getResult().getResult())) {
log.info("查询商品为空 {}", JSON.toJSONString(serviceResponse));
return Collections.emptyList(); return Collections.emptyList();
} }
return serviceResponse.getResult() return serviceResponse.getResult()
.getResult()
.stream() .stream()
.map(item -> { .map(item -> {
InteractRecordExtendInfoBO.ExtendGoodsInfo extendGoodsInfo = new InteractRecordExtendInfoBO.ExtendGoodsInfo(); InteractRecordExtendInfoBO.ExtendGoodsInfo extendGoodsInfo = new InteractRecordExtendInfoBO.ExtendGoodsInfo();
extendGoodsInfo.setGoodsName(item.getGoodsName()); extendGoodsInfo.setGoodsName(item.getGoodsName());
extendGoodsInfo.setGoodsCode(item.getGoodsCode()); extendGoodsInfo.setGoodsCode(item.getGoodsCode());
extendGoodsInfo.setGoodsImageUrl(item.getGoodsImageUrl()); extendGoodsInfo.setGoodsImageUrl(item.getImageUrl());
extendGoodsInfo.setSalePrice(item.getSalePrice()); extendGoodsInfo.setSalePrice(item.getSalePrice());
extendGoodsInfo.setSourceType(item.getSourceType());
return extendGoodsInfo; return extendGoodsInfo;
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
/**
* 计算商品浏览数量
* @param interactRecordBO
* @return
*/
public void warpRelationGoodsNum(InteractRecordBO interactRecordBO) {
if (interactRecordBO == null) {
log.info("互动记录不存在");
return;
}
if (interactRecordBO.getExtendInfo() == null) {
log.info("互动记录不存在扩展信息 {}", JSON.toJSONString(interactRecordBO));
return;
}
InteractRecordExtendInfoBO extendInfo = interactRecordBO.getExtendInfo();
interactRecordBO.setVisitGoodsNum(0);
if (CollectionUtils.isNotEmpty(extendInfo.getGoodsIds())) {
interactRecordBO.setVisitGoodsNum(extendInfo.getGoodsIds().size());
}
interactRecordBO.setOrderGoodsNum(0);
if (CollectionUtils.isNotEmpty(extendInfo.getExtendOrderInfos())) {
Integer orderGoodsNum = extendInfo.getExtendOrderInfos()
.stream()
.map(item -> item.getOrderGoodsInfos().size())
.reduce(0, Integer::sum);
interactRecordBO.setOrderGoodsNum(orderGoodsNum);
}
}
} }
...@@ -71,12 +71,14 @@ public class InteractRecordServiceImpl implements InteractRecordService { ...@@ -71,12 +71,14 @@ public class InteractRecordServiceImpl implements InteractRecordService {
@Override @Override
public Page<InteractRecordBO> queryInteractRecordPage(InteractRecordQO interactRecordQO) { public Page<InteractRecordBO> queryInteractRecordPage(InteractRecordQO interactRecordQO) {
// 默认查最近一年内的的数据
if (StringUtils.isBlank(interactRecordQO.getClerkId())) { if (StringUtils.isBlank(interactRecordQO.getClerkId())) {
log.info("queryInteractRecordPage 参数缺失"); log.info("queryInteractRecordPage 参数缺失");
return new Page<>(); return new Page<>();
} }
interactRecordQO.setStartTime(DateUtil.addNumForYear(new Date(), -1)); // 默认查最近一年内的的数据
if (interactRecordQO.getStartTime() == null || interactRecordQO.getStartTime().before(DateUtil.addNumForYear(new Date(), -1))) {
interactRecordQO.setStartTime(DateUtil.addNumForYear(new Date(), -1));
}
PageHelper.startPage(interactRecordQO.getPageNum(), interactRecordQO.getPageSize()); PageHelper.startPage(interactRecordQO.getPageNum(), interactRecordQO.getPageSize());
com.github.pagehelper.Page<TabHaobanInteractRecord> pageResult = com.github.pagehelper.Page<TabHaobanInteractRecord> pageResult =
(com.github.pagehelper.Page<TabHaobanInteractRecord>) tabHaobanInteractRecordMapper.queryInteractRecordList(interactRecordQO); (com.github.pagehelper.Page<TabHaobanInteractRecord>) tabHaobanInteractRecordMapper.queryInteractRecordList(interactRecordQO);
...@@ -91,8 +93,9 @@ public class InteractRecordServiceImpl implements InteractRecordService { ...@@ -91,8 +93,9 @@ public class InteractRecordServiceImpl implements InteractRecordService {
.map(item -> { .map(item -> {
InteractRecordBO temp = new InteractRecordBO(); InteractRecordBO temp = new InteractRecordBO();
BeanUtils.copyProperties(item, temp); BeanUtils.copyProperties(item, temp);
temp.setRecordDesc(this.interactRecordBuilder.buildDesc(item)); temp.setRecordDesc(interactRecordBuilder.buildDesc(item));
temp.setExtendInfo(interactRecordBuilder.convertExtendInfo(item)); temp.setExtendInfo(interactRecordBuilder.convertExtendInfo(item));
interactRecordBuilder.warpRelationGoodsNum(temp);
return temp; return temp;
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
......
...@@ -69,22 +69,21 @@ public class InteractRecordMessageService { ...@@ -69,22 +69,21 @@ public class InteractRecordMessageService {
} }
} }
if (null == interactRecordBO.getExtendInfo()) {
interactRecordBO.setExtendInfo(InteractRecordExtendInfoBO.empty());
}
// 组装扩展信息 // 组装扩展信息
if (MaterialInteractRecordEventType.VISIT_PRODUCT.getCode().equals(interactRecordMessageBO.getEventType())) { if (MaterialInteractRecordEventType.VISIT_PRODUCT.getCode().equals(interactRecordMessageBO.getEventType())) {
// 浏览商品 // 浏览商品
if (CollectionUtils.isNotEmpty(interactRecordMessageBO.getGoodsIds())) { if (StringUtils.isNotBlank(interactRecordMessageBO.getGoodsId())) {
if (interactRecordBO.getExtendInfo() == null){ interactRecordBO.getExtendInfo().getGoodsIds().add(interactRecordMessageBO.getGoodsId());
interactRecordBO.setExtendInfo(InteractRecordExtendInfoBO.empty());
}
interactRecordBO.getExtendInfo().getGoodsIds().addAll(interactRecordMessageBO.getGoodsIds());
} }
} }
if (MaterialInteractRecordEventType.ORDER.getCode().equals(interactRecordMessageBO.getEventType())) { if (MaterialInteractRecordEventType.ORDER.getCode().equals(interactRecordMessageBO.getEventType())) {
// 下单 // 下单
// 查询订单信息 // 查询订单信息
String orderId = interactRecordMessageBO.getOrderId(); String orderNumber = interactRecordMessageBO.getOrderNumber();
} }
interactRecordService.saveOrUpdateInteractRecord(interactRecordBO); interactRecordService.saveOrUpdateInteractRecord(interactRecordBO);
......
...@@ -19,40 +19,19 @@ public class InteractRecordExtendInfoVO implements Serializable { ...@@ -19,40 +19,19 @@ public class InteractRecordExtendInfoVO implements Serializable {
private static final long serialVersionUID = 799914036029100258L; private static final long serialVersionUID = 799914036029100258L;
/** /**
* 订单编号 * 素材关联的商品信息商品信息
*/ */
private String orderNumber; private List<ExtendGoodsInfo> extendGoodsInfos;
/**
* 订单创建时间
*/
private Date orderCreateTime;
/**
* 订单商品项总数
*/
private Integer orderTotalNum;
/**
* 订单应付
*/
private BigDecimal orderPay;
/** /**
* 订单实付 * 素材关联的订单信息
*/ */
private BigDecimal realPay; private List<ExtendOrderInfo> extendOrderInfos;
/** /**
* 失效商品数量 * 失效商品数量
*/ */
private Integer invalidGoodsNum; private Integer invalidGoodsNum;
/**
* 素材扩展商品信息
*/
private List<ExtendGoodsInfo> extendGoodsInfos;
@Data @Data
public static class ExtendGoodsInfo { public static class ExtendGoodsInfo {
...@@ -84,5 +63,45 @@ public class InteractRecordExtendInfoVO implements Serializable { ...@@ -84,5 +63,45 @@ public class InteractRecordExtendInfoVO implements Serializable {
* 商品单价 * 商品单价
*/ */
private BigDecimal salePrice; private BigDecimal salePrice;
/***
* 1 erp同步
* 2 自建
* @see com.gic.store.goods.enums.GoodsSourceTypeEnum
*/
private Integer sourceType;
}
@Data
public static class ExtendOrderInfo {
/**
* 订单编号
*/
private String orderNumber;
/**
* 订单创建时间
*/
private Date orderCreateTime;
/**
* 订单商品项总数
*/
private Integer orderTotalNum;
/**
* 订单应付
*/
private BigDecimal orderPay;
/**
* 订单实付
*/
private BigDecimal realPay;
/**
* 订单项商品信息
*/
private List<ExtendGoodsInfo> orderGoodsInfos;
} }
} }
...@@ -43,6 +43,11 @@ public class InteractRecordVO implements Serializable { ...@@ -43,6 +43,11 @@ public class InteractRecordVO implements Serializable {
private Date createTime; private Date createTime;
/** /**
* 1 "朋友圈"; 2 "客户群";3 "对话框";4 "复制文案"; 5"下载素材"
*/
private Integer channelSource;
/**
* 记录事件类型 * 记录事件类型
* 1浏览素材;2 查看商品; 3 购买商品 * 1浏览素材;2 查看商品; 3 购买商品
* 通过此类型区分 弹窗提示 * 通过此类型区分 弹窗提示
...@@ -50,6 +55,16 @@ public class InteractRecordVO implements Serializable { ...@@ -50,6 +55,16 @@ public class InteractRecordVO implements Serializable {
private Integer eventType; private Integer eventType;
/** /**
* 浏览的商品数量
*/
private Integer visitGoodsNum;
/**
* 下单的商品数量
*/
private Integer orderGoodsNum;
/**
* 素材信息 * 素材信息
* null 代表素材被删除 * null 代表素材被删除
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment