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.gic.haoban.manage.service.pojo.BinlogBasePojo;
/**
* @Author MUSI
* @Date 2023/4/6 7:19 PM
* @Description
* @Version
* tab_gic_eorder 表
**/
public class MaterialMemberOrderPojo extends BinlogBasePojo {
public class MaterialMemberEOrderPojo extends BinlogBasePojo {
@JSONField(name = "order_status")
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
return;
}
if (recordMessageBO.getEventType() == null || !dealEventType.contains(recordMessageBO.getEventType())) {
log.info("素材埋点事件类型非 素材相关类型 {}", recordMessageBO.getEventType());
log.info("素材埋点事件类型非素材相关类型 {}", recordMessageBO.getEventType());
return;
}
interactRecordMessageService.dealRecord(recordMessageBO);
......
......@@ -41,7 +41,7 @@ public class InteractRecordMessageService {
* @param interactRecordMessageBO
*/
public void dealRecord(InteractRecordMessageBO interactRecordMessageBO) {
log.info("【dealRecord】处理埋点事件 >> {}", JSON.toJSONString(interactRecordMessageBO));
InteractRecordMessageContext context = InteractRecordMessageContext.create(interactRecordMessageBO);
// 参数是否完整
// 根据businessId clerkId memberId materialId 构建唯一标识key
......@@ -109,11 +109,8 @@ public class InteractRecordMessageService {
if (extendOrderInfo != null) {
interactRecordBO.getExtendInfo().getExtendOrderInfos().add(extendOrderInfo);
}
}
interactRecordService.saveOrUpdateInteractRecord(interactRecordBO);
// 更新销售线索
if (StringUtils.isNotBlank(interactRecordMessageBO.getMemberId())) {
......
......@@ -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.ClerkSyncPojo;
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.bo.content.binlog.MaterialMemberGicOrderPojo;
import com.gic.haoban.manage.service.service.StoreRangeService;
import com.gic.haoban.manage.service.service.content.PotentialCustomerService;
import com.gic.haoban.manage.service.service.hm.HmQrcodeService;
......@@ -45,7 +46,8 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
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
private StoreRangeService storeRangeService;
......@@ -86,9 +88,13 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
else if (record.value().getTableName().equals(CLERK)) {
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
return binlogMap(record.getFieldList(), record.getRecordType(), StoreSyncPojo.class);
} else if (record.getTableName().equals(GROUP)) {
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<>();
for (GicField gicField : record.getFieldList()) {
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;
}
......@@ -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) {
logger.info("会员订单状态异常");
return;
......
......@@ -36,7 +36,6 @@
<!-- topic -->
<constructor-arg name="topics">
<list>
<!-- <value>${interact_record_topic}</value>-->
<value>${interact.record.topic}</value>
</list>
</constructor-arg>
......
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
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.service.MemberQueryService;
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.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -21,6 +25,10 @@ public class PotentialCustomerServiceTest {
@Autowired
PotentialCustomerService potentialCustomerService;
@Autowired
private MemberService memberService;
@Autowired
MemberQueryService memberQueryService;
String eid = "ff8080815dacd3a2015dacd3ef5c0000";
String wxEid = "ca66a01b79474c40b3e7c7f93daf1a3b";
......@@ -40,4 +48,13 @@ public class PotentialCustomerServiceTest {
potentialCustomerService.queryPotentialCustomerPage(potentialCustomerQO);
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