Commit a241e180 by 王祖波

Merge branch 'feature-analysis' into 'master'

Feature analysis

See merge request !1863
parents 4397c659 81acb355
......@@ -16,7 +16,8 @@ public enum TriggerCustomerChannelType {
CUSTOMER_GROUP(2, "客户群"),
DIALOG_BOX(3, "对话框"),
CONTENT_COPY(4, "复制文案"),
CONTENT_DOWNLOAD(5, "下载素材")
CONTENT_DOWNLOAD(5, "下载素材"),
RECOMMEND(6, "潜客推荐")
;
/**
......@@ -24,7 +25,7 @@ public enum TriggerCustomerChannelType {
* @return
*/
public static List<Integer> showDescChannel(){
return Arrays.asList(PYQ.code, CUSTOMER_GROUP.code, DIALOG_BOX.code);
return Arrays.asList(PYQ.code, CUSTOMER_GROUP.code, DIALOG_BOX.code,RECOMMEND.code);
}
public static TriggerCustomerChannelType getInstance(Integer code) {
......
......@@ -199,7 +199,9 @@ public interface ExternalClerkRelatedApiService {
List<String> listMemberAndStaff(List<String> memberIdList , String StaffId , String enterpriseId) ;
List<String> listMemberAndStaff(List<String> memberIdList , String StaffId , String enterpriseId) ;
List<ExternalClerkRelatedDTO> listRelationMemberAndStaff(List<String> memberIdList , String StaffId , String enterpriseId) ;
/**
*
......
......@@ -397,6 +397,8 @@ public interface TabHaobanExternalClerkRelatedMapper {
List<String> listMemberAndStaff(@Param("memberIdList")List<String> memberIdList, @Param("staffId")String staffId, @Param("enterpriseId")String enterpriseId);
List<TabHaobanExternalClerkRelated> listRelationMemberAndStaff(@Param("memberIdList")List<String> memberIdList, @Param("staffId")String staffId, @Param("enterpriseId")String enterpriseId);
/**
* 查询成员的好友列表
*/
......
......@@ -46,7 +46,7 @@ public class TabHaobanInteractRecord implements Serializable {
*/
private String storeId;
/**
* 线索来源 1朋友圈; 2客户群; 3 对话框; 4 复制文案; 5 下载素材
* 线索来源 1朋友圈; 2客户群; 3 对话框; 4 复制文案; 5 下载素材;6 潜客推荐
* @see TriggerCustomerChannelType
*/
private Integer channelSource;
......
......@@ -48,7 +48,7 @@ public class TabHaobanTriggerCustomerDetail implements Serializable {
private String storeId;
/**
* 渠道类型 1朋友圈; 2客户群; 3 对话框; 4 复制文案; 5 下载素材
* 渠道类型 1朋友圈; 2客户群; 3 对话框; 4 复制文案; 5 下载素材;6 潜客推荐
*/
private Integer channelType;
/**
......
......@@ -44,7 +44,7 @@ public class TriggerCustomerDetailBO implements Serializable {
*/
private String storeId;
/**
* 渠道类型 1朋友圈; 2客户群; 3 对话框; 4 复制文案; 5 下载素材
* 渠道类型 1朋友圈; 2客户群; 3 对话框; 4 复制文案; 5 下载素材;6 潜客推荐
*/
private Integer channelType;
/**
......
......@@ -41,7 +41,7 @@ public class InteractRecordMessageBO implements Serializable {
private String materialId;
/**
* 来源渠道
* 线索来源 1朋友圈; 2客户群; 3 对话框; 0其他
* 线索来源 1朋友圈; 2客户群; 3 对话框; 6 潜客推荐; 0其他
*/
private Integer channelSource;
/**
......@@ -120,4 +120,9 @@ public class InteractRecordMessageBO implements Serializable {
* 3 基础线下单
*/
private Integer orderType;
/**
* 商品类型 微盟、达摩
*/
private String goodsChannel;
}
......@@ -9,6 +9,8 @@ import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.util.Objects;
/**
* @Author MUSI
* @Date 2023/9/4 3:14 PM
......@@ -71,6 +73,8 @@ public class MessageConvertHelper {
String weimoFlag = cuspJson.getString("is_weiMob");
interactRecordMessageBO.setWeimoGoodsFlag(this.convertWeimoFlag(weimoFlag));
String goodsChannel = cuspJson.getString("goods_channel");
interactRecordMessageBO.setGoodsChannel(goodsChannel);
String goodsId = cuspJson.getString("goods_id");
interactRecordMessageBO.setGoodsId(goodsId);
String goodsCode = cuspJson.getString("goods_code");
......@@ -93,6 +97,7 @@ public class MessageConvertHelper {
String refUrl = syspJson.getString("ref_url");
interactRecordMessageBO.setRefUrl(refUrl);
dealRecordFilter(eventCode, interactRecordMessageBO);
return interactRecordMessageBO;
}
......@@ -110,11 +115,24 @@ public class MessageConvertHelper {
return 2;
case "对话框":
return 3;
case "潜客推荐":
return 6;
default:
return 0;
}
}
private void dealRecordFilter(String eventCode,InteractRecordMessageBO interactRecordMessageBO) {
if (StringUtils.isBlank(eventCode) || interactRecordMessageBO == null) {
return;
}
// 商品详情页埋点如果是微盟类型商品不计算页面停留时长
if (Objects.equals("store_goods_detail", eventCode)
&& Objects.equals("微盟", interactRecordMessageBO.getGoodsChannel())) {
interactRecordMessageBO.setDurationTime(0);
}
}
private Integer convertEventType(String eventCode) {
if (StringUtils.isBlank(eventCode)) {
return null;
......
......@@ -524,6 +524,12 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
}
@Override
public List<ExternalClerkRelatedDTO> listRelationMemberAndStaff(List<String> memberIdList, String staffId, String enterpriseId) {
List<TabHaobanExternalClerkRelated> list = tabHaobanExternalClerkRelatedMapper.listRelationMemberAndStaff(memberIdList, staffId, enterpriseId);
return EntityUtil.changeEntityListNew(ExternalClerkRelatedDTO.class, list);
}
@Override
public Map<String, List<ClerkStaffWxUserDTO>> listMemberStaffRel(List<String> memberIdList, List<String> clerkIdList, String enterpriseId, String wxEnterpriseId) {
if (CollectionUtils.isEmpty(memberIdList) || CollectionUtils.isEmpty(clerkIdList)) {
// 2个列表都为空查不了关系
......
......@@ -848,6 +848,18 @@
AND status_flag = 1
</select>
<select id="listRelationMemberAndStaff" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from tab_haoban_external_clerk_related
where member_id in
<foreach collection="memberIdList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
and staff_id = #{staffId}
and enterprise_id = #{enterpriseId}
AND status_flag = 1
</select>
<select id="listByWxEnterpriseId" resultType="java.lang.String">
select staff_id
from tab_haoban_external_clerk_related
......
......@@ -43,10 +43,15 @@ public class ContentMaterialShareQO implements Serializable {
private String storeCode;
/**
* 1朋友圈; 2客户群; 3 对话框; 4 复制文案; 5 下载素材
* 1朋友圈; 2客户群; 3 对话框; 4 复制文案; 5 下载素材;6 潜客推荐
*/
private Integer channelSource;
/**
* 喜好推荐、商品中心、商品素材、其他
*/
private String goodsDetailSource;
public String getEnterpriseId() {
return enterpriseId;
}
......@@ -102,4 +107,12 @@ public class ContentMaterialShareQO implements Serializable {
public void setChannelSource(Integer channelSource) {
this.channelSource = channelSource;
}
public String getGoodsDetailSource() {
return goodsDetailSource;
}
public void setGoodsDetailSource(String goodsDetailSource) {
this.goodsDetailSource = goodsDetailSource;
}
}
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