提交 aaf7e1eb 编写于 作者: L leejoker

补充敏感词行为记录(删除/拉黑好友)

上级 63162845
package com.linkwechat.wecom.factory.impl.customer;
import com.linkwechat.wecom.domain.WeCustomer;
import com.linkwechat.wecom.domain.WeSensitiveAct;
import com.linkwechat.wecom.domain.WeSensitiveActHit;
import com.linkwechat.wecom.domain.WeUser;
import com.linkwechat.wecom.domain.vo.WxCpXmlMessageVO;
import com.linkwechat.wecom.factory.WeEventStrategy;
import com.linkwechat.wecom.service.IWeCustomerService;
import com.linkwechat.wecom.service.IWeFlowerCustomerRelService;
import com.linkwechat.wecom.service.IWeSensitiveActHitService;
import com.linkwechat.wecom.service.IWeUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* @author danmo
* @description 删除企业客户事件
......@@ -20,12 +28,32 @@ public class WeCallBackDelExternalContactImpl extends WeEventStrategy {
private IWeCustomerService weCustomerService;
@Autowired
private IWeFlowerCustomerRelService weFlowerCustomerRelService;
@Autowired
private IWeSensitiveActHitService weSensitiveActHitService;
@Autowired
private IWeUserService weUserService;
@Override
public void eventHandle(WxCpXmlMessageVO message) {
if (message.getExternalUserId() != null) {
weCustomerService.deleteCustomersByEid(message.getExternalUserId());
weFlowerCustomerRelService.deleteFollowUser(message.getUserId(),message.getExternalUserId());
weFlowerCustomerRelService.deleteFollowUser(message.getUserId(), message.getExternalUserId());
//增加敏感行为记录,员工删除客户
WeSensitiveAct weSensitiveAct = weSensitiveActHitService.getSensitiveActType("拉黑/删除好友");
WeSensitiveActHit weSensitiveActHit = new WeSensitiveActHit();
weSensitiveActHit.setSensitiveActId(weSensitiveAct.getId());
weSensitiveActHit.setSensitiveAct(weSensitiveAct.getActName());
weSensitiveActHit.setCreateTime(new Date(message.getCreateTime()));
weSensitiveActHit.setCreateBy("admin");
weSensitiveActHit.setOperatorId(message.getUserId());
WeUser user = weUserService.getById(message.getUserId());
weSensitiveActHit.setOperator(user.getName());
WeCustomer weCustomer = weCustomerService.selectWeCustomerById(message.getExternalUserId());
weSensitiveActHit.setOperateTargetId(weCustomer.getUserId());
weSensitiveActHit.setOperateTarget(weCustomer.getName());
weSensitiveActHitService.insertWeSensitiveActHit(weSensitiveActHit);
}
}
}
......@@ -4,23 +4,18 @@ import com.alibaba.fastjson.JSONObject;
import com.linkwechat.common.constant.WeConstans;
import com.linkwechat.common.enums.MessageType;
import com.linkwechat.wecom.client.WeMessagePushClient;
import com.linkwechat.wecom.domain.WeCorpAccount;
import com.linkwechat.wecom.domain.WeCustomer;
import com.linkwechat.wecom.domain.*;
import com.linkwechat.wecom.domain.dto.WeMessagePushDto;
import com.linkwechat.wecom.domain.dto.message.TextMessageDto;
import com.linkwechat.wecom.domain.vo.WxCpXmlMessageVO;
import com.linkwechat.wecom.factory.WeEventStrategy;
import com.linkwechat.wecom.service.IWeCorpAccountService;
import com.linkwechat.wecom.service.IWeCustomerService;
import com.linkwechat.wecom.service.IWeFlowerCustomerRelService;
import com.linkwechat.wecom.service.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.List;
import java.util.Date;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @author danmo
......@@ -38,6 +33,10 @@ public class WeCallBackDelFollowUserImpl extends WeEventStrategy {
private IWeCorpAccountService weCorpAccountService;
@Autowired
private WeMessagePushClient weMessagePushClient;
@Autowired
private IWeSensitiveActHitService weSensitiveActHitService;
@Autowired
private IWeUserService weUserService;
@Override
public void eventHandle(WxCpXmlMessageVO message) {
......@@ -47,9 +46,9 @@ public class WeCallBackDelFollowUserImpl extends WeEventStrategy {
WeCorpAccount validWeCorpAccount = weCorpAccountService.findValidWeCorpAccount();
Optional.ofNullable(validWeCorpAccount).ifPresent(weCorpAccount -> {
String customerChurnNoticeSwitch = weCorpAccount.getCustomerChurnNoticeSwitch();
if (WeConstans.DEL_FOLLOW_USER_SWITCH_OPEN.equals(customerChurnNoticeSwitch)){
if (WeConstans.DEL_FOLLOW_USER_SWITCH_OPEN.equals(customerChurnNoticeSwitch)) {
WeCustomer weCustomer = weCustomerService.selectWeCustomerById(message.getExternalUserId());
String content = "您已经被客户@"+weCustomer.getName()+"删除!" ;
String content = "您已经被客户@" + weCustomer.getName() + "删除!";
TextMessageDto textMessageDto = new TextMessageDto();
textMessageDto.setContent(content);
WeMessagePushDto weMessagePushDto = new WeMessagePushDto();
......@@ -60,12 +59,26 @@ public class WeCallBackDelFollowUserImpl extends WeEventStrategy {
weMessagePushDto.setAgentid(Integer.valueOf(agentId));
});
weMessagePushClient.sendMessageToUser(weMessagePushDto);
//增加敏感行为记录,客户删除员工
WeSensitiveAct weSensitiveAct = weSensitiveActHitService.getSensitiveActType("拉黑/删除好友");
WeSensitiveActHit weSensitiveActHit = new WeSensitiveActHit();
weSensitiveActHit.setSensitiveActId(weSensitiveAct.getId());
weSensitiveActHit.setSensitiveAct(weSensitiveAct.getActName());
weSensitiveActHit.setCreateTime(new Date(message.getCreateTime()));
weSensitiveActHit.setCreateBy("admin");
WeUser user = weUserService.getById(message.getUserId());
weSensitiveActHit.setOperatorId(weCustomer.getUserId());
weSensitiveActHit.setOperator(weCustomer.getName());
weSensitiveActHit.setOperateTargetId(user.getUserId());
weSensitiveActHit.setOperateTarget(user.getName());
weSensitiveActHitService.insertWeSensitiveActHit(weSensitiveActHit);
}
});
}
} catch (Exception e) {
e.printStackTrace();
log.error("del_follow_user>>>>>>>>>>>>>param:{},ex:{}", JSONObject.toJSONString(message),e);
log.error("del_follow_user>>>>>>>>>>>>>param:{},ex:{}", JSONObject.toJSONString(message), e);
}
}
}
......@@ -2,6 +2,7 @@ package com.linkwechat.wecom.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.linkwechat.wecom.domain.WeSensitiveAct;
import com.linkwechat.wecom.domain.WeSensitiveActHit;
import java.util.List;
......@@ -42,4 +43,12 @@ public interface IWeSensitiveActHitService extends IService<WeSensitiveActHit> {
* @param chatDataList
*/
public void hitWeSensitiveAct(List<JSONObject> chatDataList);
/**
* 获取敏感行为类型
*
* @param msgType
* @return
*/
public WeSensitiveAct getSensitiveActType(String msgType);
}
......@@ -103,7 +103,7 @@ public class WeSensitiveActHitServiceImpl extends ServiceImpl<WeSensitiveActHitM
return null;
}
private WeSensitiveAct getSensitiveActType(String msgType) {
public WeSensitiveAct getSensitiveActType(String msgType) {
String type;
if ("card".equals(msgType)) {
type = "发名片";
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册