Commit f140e01a by songyinghui

feat: 表记录

parent e011734e
...@@ -85,5 +85,13 @@ public interface TabHaobanPotentialCustomerMapper { ...@@ -85,5 +85,13 @@ public interface TabHaobanPotentialCustomerMapper {
*/ */
void mergeMember(@Param("mergeMemberId") String mergeMemberId, @Param("memberId") String memberId); void mergeMember(@Param("mergeMemberId") String mergeMemberId, @Param("memberId") String memberId);
/**
* 更新会员成交标识
* @param enterpriseId
* @param memberId
* @return
*/
int updateMemberDealRecordNum(@Param("enterpriseId") String enterpriseId, @Param("memberId") String memberId);
} }
package com.gic.haoban.manage.service.pojo;
import com.alibaba.fastjson.annotation.JSONField;
/**
* @Author MUSI
* @Date 2023/4/6 7:19 PM
* @Description
* @Version
**/
public class MaterialMemberOrderPojo extends BinlogBasePojo {
@JSONField(name = "order_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;
}
}
...@@ -62,4 +62,11 @@ public interface PotentialCustomerService { ...@@ -62,4 +62,11 @@ public interface PotentialCustomerService {
* @param memberId * @param memberId
*/ */
void mergeMember(String mergeMemberId, String memberId); void mergeMember(String mergeMemberId, String memberId);
/**
* 处理会员成交记录
* @param enterpriseId
* @param memberId
*/
void updateMemberDealFlag(String enterpriseId, String memberId);
} }
...@@ -244,4 +244,19 @@ public class PotentialCustomerServiceImpl implements PotentialCustomerService { ...@@ -244,4 +244,19 @@ public class PotentialCustomerServiceImpl implements PotentialCustomerService {
} }
potentialCustomerMapper.mergeMember(mergeMemberId, memberId); potentialCustomerMapper.mergeMember(mergeMemberId, memberId);
} }
/**
* 处理会员成交记录
*
* @param enterpriseId
* @param memberId
*/
@Override
public void updateMemberDealFlag(String enterpriseId, String memberId) {
log.info("刷新订单是否有成交记录 {}, {}", enterpriseId, memberId);
if (StringUtils.isAnyBlank(enterpriseId, memberId)) {
return;
}
potentialCustomerMapper.updateMemberDealRecordNum(enterpriseId, memberId);
}
} }
package com.gic.haoban.manage.service.task; package com.gic.haoban.manage.service.task;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.binlog.base.entity.GicField; import com.gic.binlog.base.entity.GicField;
import com.gic.binlog.base.entity.GicRecord; import com.gic.binlog.base.entity.GicRecord;
...@@ -12,9 +13,12 @@ import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService; ...@@ -12,9 +13,12 @@ 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.StoreSyncPojo; import com.gic.haoban.manage.service.pojo.StoreSyncPojo;
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.hm.HmQrcodeService; import com.gic.haoban.manage.service.service.hm.HmQrcodeService;
import org.apache.commons.lang3.StringUtils;
import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -41,6 +45,8 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor ...@@ -41,6 +45,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";
@Autowired @Autowired
private StoreRangeService storeRangeService; private StoreRangeService storeRangeService;
...@@ -49,6 +55,8 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor ...@@ -49,6 +55,8 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
@Autowired @Autowired
private HmQrcodeService hmQrcodeService; private HmQrcodeService hmQrcodeService;
@Autowired
PotentialCustomerService potentialCustomerService;
@Override @Override
public void onMessage(ConsumerRecord<String, GicRecord> record) { public void onMessage(ConsumerRecord<String, GicRecord> record) {
...@@ -60,6 +68,7 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor ...@@ -60,6 +68,7 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
logger.info("数据为空"); logger.info("数据为空");
return; return;
} }
BinlogBasePojo pojo = binlogChange(record.value()); BinlogBasePojo pojo = binlogChange(record.value());
logger.info("binlog数据接收:{}", JSONObject.toJSONString(pojo)); logger.info("binlog数据接收:{}", JSONObject.toJSONString(pojo));
if (pojo == null) { if (pojo == null) {
...@@ -77,6 +86,10 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor ...@@ -77,6 +86,10 @@ 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)) {
// 处理会员订单新增事件
dealMemberOrder((MaterialMemberOrderPojo) pojo);
}
} }
private BinlogBasePojo binlogChange(GicRecord record) { private BinlogBasePojo binlogChange(GicRecord record) {
...@@ -88,9 +101,14 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor ...@@ -88,9 +101,14 @@ 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 { }else if (record.getTableName().equals(member_order)) {
return null; 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 null;
} }
private BinlogBasePojo binlogMap(List<GicField> list, GicRecordType recordType, Class<? extends BinlogBasePojo> aclass) { private BinlogBasePojo binlogMap(List<GicField> list, GicRecordType recordType, Class<? extends BinlogBasePojo> aclass) {
...@@ -178,4 +196,17 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor ...@@ -178,4 +196,17 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
} }
private void dealMemberOrder(MaterialMemberOrderPojo 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());
}
} }
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
<value>haoban_gic_clerk</value> <value>haoban_gic_clerk</value>
<value>haoban_gic_store</value> <value>haoban_gic_store</value>
<value>haoban_gic_store_group</value> <value>haoban_gic_store_group</value>
<value>tab_haoban_member_order_event</value>
</list> </list>
</constructor-arg> </constructor-arg>
<property name="messageListener" ref="kafkaConsumerService"/> <property name="messageListener" ref="kafkaConsumerService"/>
......
...@@ -282,5 +282,11 @@ ...@@ -282,5 +282,11 @@
where member_id = #{memberId} and delete_flag = 0 where member_id = #{memberId} and delete_flag = 0
</update> </update>
<update id="updateMemberDealRecordNum">
update tab_haoban_potential_customer
set deal_record_num =1
where member_id = #{memberId} and enterprise_id = #{enterpriseId} and delete_flag = 0
</update>
</mapper> </mapper>
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