Commit 53679858 by xiongjiangtao

触达

parent fe9856dd
......@@ -3,6 +3,8 @@ package com.gic.haoban.manage.api.service.content;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.content.log.ClerkShareMaterialLogDTO;
import java.util.List;
/**
* @Author MUSI
* @Date 2023/3/18 8:20 PM
......@@ -19,4 +21,12 @@ public interface MaterialShareLogApiService {
* @return
*/
ServiceResponse<Long> saveClerkShareMaterialLog(ClerkShareMaterialLogDTO clerkShareMaterialLogDTO);
/**
* 保存导购分享记录
*
* @param clerkShareMaterialLogDTOList
* @return
*/
ServiceResponse<Long> saveClerkShareRecommendLog(List<ClerkShareMaterialLogDTO> clerkShareMaterialLogDTOList);
}
......@@ -21,6 +21,8 @@ import org.springframework.stereotype.Component;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author MUSI
......@@ -38,8 +40,10 @@ public class MaterialShareLogApiServiceImpl implements MaterialShareLogApiServic
* @see com.gic.haoban.manage.api.service.content.task.QywxGroupMsgTaskApiService#handlerTriggerCustomerDetailLog(String)
*/
private static final String SHARE_MATERIAL_DETAIL_LOG = "handlerTriggerCustomerDetailLog";
@Autowired
private ClerkShareLogService clerkShareLogService;
@Autowired
TriggerCustomerDetailService triggerCustomerDetailService;
......@@ -90,4 +94,27 @@ public class MaterialShareLogApiServiceImpl implements MaterialShareLogApiServic
}
return ServiceResponse.success(logId);
}
@Override
public ServiceResponse<Long> saveClerkShareRecommendLog(List<ClerkShareMaterialLogDTO> clerkShareMaterialLogDTOList) {
List<TriggerCustomerDetailBO> list = clerkShareMaterialLogDTOList.stream().map(clerkShareMaterialLogDTO -> {
TriggerCustomerDetailBO temp = new TriggerCustomerDetailBO();
temp.setId(UniqueIdUtils.uniqueLong());
temp.setEnterpriseId(clerkShareMaterialLogDTO.getEnterpriseId());
temp.setWxEnterpriseId(clerkShareMaterialLogDTO.getWxEnterpriseId());
temp.setBizId(clerkShareMaterialLogDTO.getBizId());
temp.setBizType(clerkShareMaterialLogDTO.getBizType());
temp.setClerkId(clerkShareMaterialLogDTO.getClerkId());
temp.setStaffId(clerkShareMaterialLogDTO.getStaffId());
temp.setStoreId(clerkShareMaterialLogDTO.getStoreId());
temp.setChannelType(clerkShareMaterialLogDTO.getShareType());
temp.setCustomerId(clerkShareMaterialLogDTO.getExternalUserId());
temp.setCreateTime(new Date());
temp.setUpdateTime(new Date());
temp.setDeleteFlag(0);
return temp;
}).collect(Collectors.toList());
triggerCustomerDetailService.batchSave(list,"tab_pro_trigger_customer_detail");
return ServiceResponse.success();
}
}
......@@ -16,11 +16,13 @@ import com.gic.haoban.manage.api.enums.content.ShareBizType;
import com.gic.haoban.manage.api.service.content.MaterialShareLogApiService;
import com.gic.haoban.manage.web.qo.content.ContentMaterialBaseQO;
import com.gic.haoban.manage.web.qo.content.log.MaterialShareLogQO;
import com.gic.haoban.manage.web.qo.content.log.RecommendShareLogQO;
import com.gic.haoban.manage.web.qo.content.share.ContentLinkShareQO;
import com.gic.haoban.manage.web.vo.content.ContentMaterialInfoVO;
import com.gic.haoban.manage.web.vo.content.SimpleGoodsInfoVO;
import com.gic.haoban.manage.web.vo.content.share.ContentMaterialLandingPageVO;
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
......@@ -80,6 +82,55 @@ public class ClerkMaterialShareController {
/**
* 导购分享推荐商品日志
* *
*
* @param recommendShareLogQO
* @return
*/
@RequestMapping(path = "/clerk/share/recomend/log", method = RequestMethod.POST)
public RestResponse<Long> clerkShareRecommendLog(@RequestBody RecommendShareLogQO recommendShareLogQO) {
if (CollectionUtils.isEmpty(recommendShareLogQO.getGoodsIdList())
|| CollectionUtils.isEmpty(recommendShareLogQO.getExternalUserIdList())
|| StringUtils.isBlank(recommendShareLogQO.getClerkId())) {
log.info("参数缺失 {}", JSON.toJSONString(recommendShareLogQO));
return RestResponse.failure("-1", "参数异常");
}
List<ClerkShareMaterialLogDTO> list = Lists.newArrayList();
List<String> goodsIdList = recommendShareLogQO.getGoodsIdList();
List<String> externalUserIdList = recommendShareLogQO.getExternalUserIdList();
for (String externalUserId : externalUserIdList) {
for (String goodsId : goodsIdList) {
ClerkShareMaterialLogDTO temp = new ClerkShareMaterialLogDTO();
temp.setEnterpriseId(recommendShareLogQO.getEnterpriseId());
temp.setWxEnterpriseId(recommendShareLogQO.getWxEnterpriseId());
temp.setClerkId(recommendShareLogQO.getClerkId());
temp.setExternalUserId(externalUserId);
temp.setBizId(goodsId);
temp.setBizType(ShareBizType.GOODS.getCode());
temp.setStoreId(recommendShareLogQO.getStoreId());
temp.setExternalUserId(recommendShareLogQO.getExternalUserId());
temp.setExtend(recommendShareLogQO.getExtend());
list.add(temp);
}
//会员推荐时间
}
ServiceResponse<Long> serviceResponse = materialShareLogApiService.saveClerkShareRecommendLog(list);
if (!serviceResponse.isSuccess()) {
return RestResponse.failure("-701", "系统异常");
}
//更新会员推荐时间更新
return RestResponse.successResult(serviceResponse.getResult());
}
/**
* 查询素材落地页信息
*
* @param contentMaterialBaseQO
......@@ -126,7 +177,8 @@ public class ClerkMaterialShareController {
/**
* 生成素材外链跳转地址
* @param materialBaseQO
*
* @param linkShareQO
* @return
*/
@RequestMapping(path = "/clerk/share-material-link", method = RequestMethod.POST)
......
package com.gic.haoban.manage.web.qo.content.log;
import java.io.Serializable;
import java.util.List;
/**
* @author shangfeng
* @date 2024-08-27 16:57:54
*/
public class RecommendShareLogQO implements Serializable {
private static final long serialVersionUID = 2329468480342306582L;
/**
* 企业id
*/
private String enterpriseId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 门店id
*/
private String storeId;
/**
* 导购id
*/
private String clerkId;
/**
* 商品id
*/
private List<String> goodsIdList;
/**
* 成员id
*/
private String staffId;
/**
* 外部联系人id集合
*/
private List<String> externalUserIdList;
/**
* 会员id集合
*/
private List<String> memberIdList;
/**
* 微信unionId
*/
private String unionId;
/**
* 外部联系人id
*/
private String externalUserId;
/**
* 额外数据
*/
private String extend;
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public List<String> getGoodsIdList() {
return goodsIdList;
}
public void setGoodsIdList(List<String> goodsIdList) {
this.goodsIdList = goodsIdList;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public List<String> getExternalUserIdList() {
return externalUserIdList;
}
public void setExternalUserIdList(List<String> externalUserIdList) {
this.externalUserIdList = externalUserIdList;
}
public List<String> getMemberIdList() {
return memberIdList;
}
public void setMemberIdList(List<String> memberIdList) {
this.memberIdList = memberIdList;
}
public String getUnionId() {
return unionId;
}
public void setUnionId(String unionId) {
this.unionId = unionId;
}
public String getExternalUserId() {
return externalUserId;
}
public void setExternalUserId(String externalUserId) {
this.externalUserId = externalUserId;
}
public String getExtend() {
return extend;
}
public void setExtend(String extend) {
this.extend = extend;
}
}
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