Commit 19de5f86 by songyinghui

feat: 素材分享

parent 3044acb6
package com.gic.haoban.manage.service.pojo; package com.gic.haoban.manage.service.pojo.bo.content.binlog;
import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.annotation.JSONField;
import com.gic.haoban.manage.service.pojo.BinlogBasePojo;
/** /**
* @Author MUSI * @Author MUSI
* @Date 2023/4/6 7:19 PM * @Date 2023/4/6 7:19 PM
* @Description * @Description
* @Version * @Version
* tab_gic_eorder 表
**/ **/
public class MaterialMemberOrderPojo extends BinlogBasePojo { public class MaterialMemberEOrderPojo extends BinlogBasePojo {
@JSONField(name = "order_status") @JSONField(name = "order_status")
private Integer orderStatus; private Integer orderStatus;
......
package com.gic.haoban.manage.service.pojo.bo.content.binlog;
import com.alibaba.fastjson.annotation.JSONField;
import com.gic.haoban.manage.service.pojo.BinlogBasePojo;
/**
* @Author MUSI
* @Date 2023/4/6 7:19 PM
* @Description
* @Version
**/
public class MaterialMemberGicOrderPojo extends BinlogBasePojo {
@JSONField(name = "status")
private Integer orderStatus;
@JSONField(name = "member_id")
private String memberId;
@JSONField(name = "enterprise_id")
private String enterpriseId;
public Integer getOrderStatus() {
return orderStatus;
}
public void setOrderStatus(Integer orderStatus) {
this.orderStatus = orderStatus;
}
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
}
...@@ -41,7 +41,7 @@ public class InteractRecordMessageListener implements MessageListener<String, St ...@@ -41,7 +41,7 @@ public class InteractRecordMessageListener implements MessageListener<String, St
return; return;
} }
if (recordMessageBO.getEventType() == null || !dealEventType.contains(recordMessageBO.getEventType())) { if (recordMessageBO.getEventType() == null || !dealEventType.contains(recordMessageBO.getEventType())) {
log.info("素材埋点事件类型非 素材相关类型 {}", recordMessageBO.getEventType()); log.info("素材埋点事件类型非素材相关类型 {}", recordMessageBO.getEventType());
return; return;
} }
interactRecordMessageService.dealRecord(recordMessageBO); interactRecordMessageService.dealRecord(recordMessageBO);
......
...@@ -41,7 +41,7 @@ public class InteractRecordMessageService { ...@@ -41,7 +41,7 @@ public class InteractRecordMessageService {
* @param interactRecordMessageBO * @param interactRecordMessageBO
*/ */
public void dealRecord(InteractRecordMessageBO interactRecordMessageBO) { public void dealRecord(InteractRecordMessageBO interactRecordMessageBO) {
log.info("【dealRecord】处理埋点事件 >> {}", JSON.toJSONString(interactRecordMessageBO));
InteractRecordMessageContext context = InteractRecordMessageContext.create(interactRecordMessageBO); InteractRecordMessageContext context = InteractRecordMessageContext.create(interactRecordMessageBO);
// 参数是否完整 // 参数是否完整
// 根据businessId clerkId memberId materialId 构建唯一标识key // 根据businessId clerkId memberId materialId 构建唯一标识key
...@@ -109,11 +109,8 @@ public class InteractRecordMessageService { ...@@ -109,11 +109,8 @@ public class InteractRecordMessageService {
if (extendOrderInfo != null) { if (extendOrderInfo != null) {
interactRecordBO.getExtendInfo().getExtendOrderInfos().add(extendOrderInfo); interactRecordBO.getExtendInfo().getExtendOrderInfos().add(extendOrderInfo);
} }
} }
interactRecordService.saveOrUpdateInteractRecord(interactRecordBO); interactRecordService.saveOrUpdateInteractRecord(interactRecordBO);
// 更新销售线索 // 更新销售线索
if (StringUtils.isNotBlank(interactRecordMessageBO.getMemberId())) { if (StringUtils.isNotBlank(interactRecordMessageBO.getMemberId())) {
......
...@@ -13,8 +13,9 @@ import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService; ...@@ -13,8 +13,9 @@ import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.service.pojo.BinlogBasePojo; import com.gic.haoban.manage.service.pojo.BinlogBasePojo;
import com.gic.haoban.manage.service.pojo.ClerkSyncPojo; import com.gic.haoban.manage.service.pojo.ClerkSyncPojo;
import com.gic.haoban.manage.service.pojo.GroupSyncPojo; import com.gic.haoban.manage.service.pojo.GroupSyncPojo;
import com.gic.haoban.manage.service.pojo.MaterialMemberOrderPojo; import com.gic.haoban.manage.service.pojo.bo.content.binlog.MaterialMemberEOrderPojo;
import com.gic.haoban.manage.service.pojo.StoreSyncPojo; import com.gic.haoban.manage.service.pojo.StoreSyncPojo;
import com.gic.haoban.manage.service.pojo.bo.content.binlog.MaterialMemberGicOrderPojo;
import com.gic.haoban.manage.service.service.StoreRangeService; import com.gic.haoban.manage.service.service.StoreRangeService;
import com.gic.haoban.manage.service.service.content.PotentialCustomerService; import com.gic.haoban.manage.service.service.content.PotentialCustomerService;
import com.gic.haoban.manage.service.service.hm.HmQrcodeService; import com.gic.haoban.manage.service.service.hm.HmQrcodeService;
...@@ -45,7 +46,8 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor ...@@ -45,7 +46,8 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
private final String GROUP = "tab_gic_store_group"; private final String GROUP = "tab_gic_store_group";
private final String member_order = "tab_gic_order"; private final String tab_gic_eorder = "tab_gic_eorder";
private final String tab_gic_order = "tab_gic_order";
@Autowired @Autowired
private StoreRangeService storeRangeService; private StoreRangeService storeRangeService;
...@@ -86,9 +88,13 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor ...@@ -86,9 +88,13 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
else if (record.value().getTableName().equals(CLERK)) { else if (record.value().getTableName().equals(CLERK)) {
logger.info("导购binlog无需监听"); logger.info("导购binlog无需监听");
} }
else if (record.value().getTableName().equals(member_order)) { else if (StringUtils.startsWith(record.value().getTableName(), tab_gic_eorder)) {
// 处理会员订单新增事件 // 处理会员订单新增事件
dealMemberOrder((MaterialMemberOrderPojo) pojo); dealMemberEOrder((MaterialMemberEOrderPojo) pojo);
}
else if (StringUtils.startsWith(record.value().getTableName(), tab_gic_order)) {
// 处理会员订单新增事件
dealMemberGicOrder((MaterialMemberGicOrderPojo) pojo);
} }
} }
...@@ -101,12 +107,18 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor ...@@ -101,12 +107,18 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
return binlogMap(record.getFieldList(), record.getRecordType(), StoreSyncPojo.class); return binlogMap(record.getFieldList(), record.getRecordType(), StoreSyncPojo.class);
} else if (record.getTableName().equals(GROUP)) { } else if (record.getTableName().equals(GROUP)) {
return binlogMap(record.getFieldList(), record.getRecordType(), GroupSyncPojo.class); return binlogMap(record.getFieldList(), record.getRecordType(), GroupSyncPojo.class);
}else if (record.getTableName().equals(member_order)) { }else if (StringUtils.startsWith(record.getTableName(), tab_gic_eorder)) {
Map<String, String> mid = new HashMap<>(); Map<String, String> mid = new HashMap<>();
for (GicField gicField : record.getFieldList()) { for (GicField gicField : record.getFieldList()) {
mid.put(gicField.getName(), gicField.getValue()); mid.put(gicField.getName(), gicField.getValue());
} }
return JSON.parseObject(JSON.toJSONString(mid), MaterialMemberOrderPojo.class); return JSON.parseObject(JSON.toJSONString(mid), MaterialMemberEOrderPojo.class);
}else if (StringUtils.startsWith(record.getTableName(), tab_gic_order)) {
Map<String, String> mid = new HashMap<>();
for (GicField gicField : record.getFieldList()) {
mid.put(gicField.getName(), gicField.getValue());
}
return JSON.parseObject(JSON.toJSONString(mid), MaterialMemberGicOrderPojo.class);
} }
return null; return null;
} }
...@@ -196,7 +208,19 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor ...@@ -196,7 +208,19 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
} }
private void dealMemberOrder(MaterialMemberOrderPojo memberOrderPojo) { private void dealMemberEOrder(MaterialMemberEOrderPojo memberOrderPojo) {
if (memberOrderPojo == null || memberOrderPojo.getOrderStatus() == null) {
logger.info("会员订单状态异常");
return;
}
if (memberOrderPojo.getOrderStatus() != 1) {
logger.info("会员订单 非购买事件 {}", JSON.toJSONString(memberOrderPojo));
return;
}
potentialCustomerService.updateMemberDealFlag(memberOrderPojo.getEnterpriseId(), memberOrderPojo.getMemberId());
}
private void dealMemberGicOrder(MaterialMemberGicOrderPojo memberOrderPojo) {
if (memberOrderPojo == null || memberOrderPojo.getOrderStatus() == null) { if (memberOrderPojo == null || memberOrderPojo.getOrderStatus() == null) {
logger.info("会员订单状态异常"); logger.info("会员订单状态异常");
return; return;
......
...@@ -36,7 +36,6 @@ ...@@ -36,7 +36,6 @@
<!-- topic --> <!-- topic -->
<constructor-arg name="topics"> <constructor-arg name="topics">
<list> <list>
<!-- <value>${interact_record_topic}</value>-->
<value>${interact.record.topic}</value> <value>${interact.record.topic}</value>
</list> </list>
</constructor-arg> </constructor-arg>
......
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.service.pojo.bo.content.PotentialCustomerBO; import com.gic.haoban.manage.service.pojo.bo.content.PotentialCustomerBO;
import com.gic.haoban.manage.service.pojo.qo.content.PotentialCustomerQO; import com.gic.haoban.manage.service.pojo.qo.content.PotentialCustomerQO;
import com.gic.haoban.manage.service.service.MemberQueryService;
import com.gic.haoban.manage.service.service.content.PotentialCustomerService; import com.gic.haoban.manage.service.service.content.PotentialCustomerService;
import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.service.MemberService;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -21,6 +25,10 @@ public class PotentialCustomerServiceTest { ...@@ -21,6 +25,10 @@ public class PotentialCustomerServiceTest {
@Autowired @Autowired
PotentialCustomerService potentialCustomerService; PotentialCustomerService potentialCustomerService;
@Autowired
private MemberService memberService;
@Autowired
MemberQueryService memberQueryService;
String eid = "ff8080815dacd3a2015dacd3ef5c0000"; String eid = "ff8080815dacd3a2015dacd3ef5c0000";
String wxEid = "ca66a01b79474c40b3e7c7f93daf1a3b"; String wxEid = "ca66a01b79474c40b3e7c7f93daf1a3b";
...@@ -40,4 +48,13 @@ public class PotentialCustomerServiceTest { ...@@ -40,4 +48,13 @@ public class PotentialCustomerServiceTest {
potentialCustomerService.queryPotentialCustomerPage(potentialCustomerQO); potentialCustomerService.queryPotentialCustomerPage(potentialCustomerQO);
System.out.println(JSON.toJSONString(customerBOPage)); System.out.println(JSON.toJSONString(customerBOPage));
} }
@Test
public void queryMemberinfo(){
MemberDTO memberDTO = memberService.queryMember("ff8080818759ca7501875a349d140017");
System.out.println(JSON.toJSONString(memberDTO));
JSONObject jsonObject = memberQueryService.queryDataSingle(eid, "ff8080818759ca7501875a349d140017", null);
System.out.println(jsonObject.toJSONString());
}
} }
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