|
@@ -1,6 +1,7 @@
|
|
package com.fs.qw.service.impl;
|
|
package com.fs.qw.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONException;
|
|
import com.alibaba.fastjson.JSONException;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -26,10 +27,13 @@ import com.fs.crm.domain.CrmCustomer;
|
|
import com.fs.crm.mapper.CrmCustomerMapper;
|
|
import com.fs.crm.mapper.CrmCustomerMapper;
|
|
import com.fs.his.domain.FsUser;
|
|
import com.fs.his.domain.FsUser;
|
|
import com.fs.his.mapper.FsUserMapper;
|
|
import com.fs.his.mapper.FsUserMapper;
|
|
|
|
+import com.fs.his.utils.PhoneUtil;
|
|
import com.fs.qw.domain.*;
|
|
import com.fs.qw.domain.*;
|
|
import com.fs.qw.mapper.*;
|
|
import com.fs.qw.mapper.*;
|
|
import com.fs.qw.param.*;
|
|
import com.fs.qw.param.*;
|
|
import com.fs.qw.param.newparam.ExternalContactPageListParam;
|
|
import com.fs.qw.param.newparam.ExternalContactPageListParam;
|
|
|
|
+import com.fs.qw.param.sidebar.ExternalContactInfoParam;
|
|
|
|
+import com.fs.qw.param.sidebar.TagGroupUpdateParam;
|
|
import com.fs.qw.result.QwExternalContactLogVo;
|
|
import com.fs.qw.result.QwExternalContactLogVo;
|
|
import com.fs.qw.result.QwExternalContactVo;
|
|
import com.fs.qw.result.QwExternalContactVo;
|
|
import com.fs.qw.service.*;
|
|
import com.fs.qw.service.*;
|
|
@@ -37,6 +41,9 @@ import com.fs.qw.vo.*;
|
|
import com.fs.qw.vo.newvo.ExternalContactListVO;
|
|
import com.fs.qw.vo.newvo.ExternalContactListVO;
|
|
import com.fs.qw.vo.newvo.ExternalContactNumVO;
|
|
import com.fs.qw.vo.newvo.ExternalContactNumVO;
|
|
import com.fs.qw.vo.newvo.ExternalContactPageVO;
|
|
import com.fs.qw.vo.newvo.ExternalContactPageVO;
|
|
|
|
+import com.fs.qw.vo.sidebar.ExternalContactInfoVO;
|
|
|
|
+import com.fs.qw.vo.sidebar.ExternalContactQwUserVO;
|
|
|
|
+import com.fs.qw.vo.sidebar.ExternalContactTagVO;
|
|
import com.fs.qwApi.Result.QwOpenidResult;
|
|
import com.fs.qwApi.Result.QwOpenidResult;
|
|
import com.fs.qwApi.domain.*;
|
|
import com.fs.qwApi.domain.*;
|
|
import com.fs.qwApi.domain.inner.*;
|
|
import com.fs.qwApi.domain.inner.*;
|
|
@@ -54,10 +61,14 @@ import com.fs.sop.service.IQwSopService;
|
|
import com.fs.sop.service.ISopUserLogsInfoService;
|
|
import com.fs.sop.service.ISopUserLogsInfoService;
|
|
import com.fs.sop.service.ISopUserLogsService;
|
|
import com.fs.sop.service.ISopUserLogsService;
|
|
import com.fs.system.service.ISysConfigService;
|
|
import com.fs.system.service.ISysConfigService;
|
|
|
|
+import com.fs.system.service.ISysDictTypeService;
|
|
import com.fs.voice.utils.StringUtil;
|
|
import com.fs.voice.utils.StringUtil;
|
|
|
|
+import com.google.gson.Gson;
|
|
|
|
+import com.google.gson.reflect.TypeToken;
|
|
import lombok.extern.log4j.Log4j;
|
|
import lombok.extern.log4j.Log4j;
|
|
import lombok.extern.log4j.Log4j2;
|
|
import lombok.extern.log4j.Log4j2;
|
|
import org.apache.rocketmq.spring.core.RocketMQTemplate;
|
|
import org.apache.rocketmq.spring.core.RocketMQTemplate;
|
|
|
|
+import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -191,8 +202,11 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
|
|
@Autowired
|
|
@Autowired
|
|
private QwTagMapper qwTagMapper;
|
|
private QwTagMapper qwTagMapper;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private ISysDictTypeService dictTypeService;
|
|
|
|
+
|
|
|
|
|
|
- org.slf4j.Logger logger = LoggerFactory.getLogger(getClass());
|
|
|
|
|
|
+ Logger logger = LoggerFactory.getLogger(getClass());
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void addQwCourseJob() {
|
|
public void addQwCourseJob() {
|
|
@@ -5379,6 +5393,101 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public ExternalContactInfoVO getExternalContactInfo(Long qwExternalContactId) {
|
|
|
|
+ QwExternalContact qwExternalContact = qwExternalContactMapper.selectQwExternalContactById(qwExternalContactId);
|
|
|
|
+ ExternalContactInfoVO externalContactInfoVO = new ExternalContactInfoVO();
|
|
|
|
+ BeanUtils.copyProperties(qwExternalContact, externalContactInfoVO);
|
|
|
|
+ externalContactInfoVO.setQwExternalContactId(qwExternalContact.getId());
|
|
|
|
+
|
|
|
|
+ // 设置性别
|
|
|
|
+ if(externalContactInfoVO.getGender() == 1){
|
|
|
|
+ externalContactInfoVO.setGenderName("男性");
|
|
|
|
+ } else if(externalContactInfoVO.getGender() == 2) {
|
|
|
|
+ externalContactInfoVO.setGenderName("女性");
|
|
|
|
+ } else {
|
|
|
|
+ externalContactInfoVO.setGenderName("未知");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 设置电话
|
|
|
|
+ if(qwExternalContact.getFsUserId() != null) {
|
|
|
|
+ FsUser fsUser = fsUserMapper.selectFsUserByUserId(qwExternalContact.getFsUserId());
|
|
|
|
+ if(fsUser != null && StringUtils.isNotEmpty(fsUser.getPhone())){
|
|
|
|
+ externalContactInfoVO.setPhone(PhoneUtil.decryptPhone(fsUser.getPhone()));
|
|
|
|
+ externalContactInfoVO.setContactLevel("注册会员");
|
|
|
|
+ } else {
|
|
|
|
+ externalContactInfoVO.setContactLevel("未注册会员");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 设置红包和答题
|
|
|
|
+ int answerTime = 0;
|
|
|
|
+ BigDecimal redPacketAmount = BigDecimal.ZERO;
|
|
|
|
+ if(qwExternalContact.getFsUserId() != null){
|
|
|
|
+ answerTime = qwExternalContactMapper.getAnswerTime(qwExternalContact.getFsUserId());
|
|
|
|
+ redPacketAmount = qwExternalContactMapper.getRedPacketAmount(qwExternalContact.getFsUserId());
|
|
|
|
+ }
|
|
|
|
+ externalContactInfoVO.setAnswerTime(answerTime);
|
|
|
|
+ externalContactInfoVO.setRedPacketAmount(redPacketAmount);
|
|
|
|
+
|
|
|
|
+ // 设置添加员工信息
|
|
|
|
+ List<ExternalContactQwUserVO> emptyList = Collections.emptyList();
|
|
|
|
+ List<ExternalContactQwUserVO> qwUsers = qwUserMapper.selectQwUserByFsUserId(qwExternalContact.getFsUserId());
|
|
|
|
+ externalContactInfoVO.setQwUserList(qwUsers.isEmpty() ? emptyList : qwUsers);
|
|
|
|
+
|
|
|
|
+ return externalContactInfoVO;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<ExternalContactTagVO> getExternalContactTag(Long qwExternalContactId) {
|
|
|
|
+ QwExternalContact qwExternalContact = qwExternalContactMapper.selectQwExternalContactById(qwExternalContactId);
|
|
|
|
+
|
|
|
|
+ if (StringUtils.isNotEmpty(qwExternalContact.getTagIds()) && !Objects.equals(qwExternalContact.getTagIds(), "[]")) {
|
|
|
|
+ Gson gson = new Gson();
|
|
|
|
+ List<String> tagIds = gson.fromJson(
|
|
|
|
+ qwExternalContact.getTagIds(),
|
|
|
|
+ new TypeToken<List<String>>() {
|
|
|
|
+ }.getType()
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ return qwTagMapper.selectQwTagListByTagIds(tagIds);
|
|
|
|
+ }
|
|
|
|
+ return Collections.emptyList();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public R updateExternalContactInfo(ExternalContactInfoParam param) {
|
|
|
|
+ QwExternalContact qwExternalContact;
|
|
|
|
+ if(param.getQwExternalContactId() == null) {
|
|
|
|
+ return R.error(400, "外部联系人id不能为空");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ qwExternalContact = qwExternalContactMapper.selectQwExternalContactById(param.getQwExternalContactId());
|
|
|
|
+ BeanUtils.copyProperties(param, qwExternalContact);
|
|
|
|
+ qwExternalContact.setId(param.getQwExternalContactId());
|
|
|
|
+
|
|
|
|
+ qwExternalContactMapper.updateQwExternalContact(qwExternalContact);
|
|
|
|
+
|
|
|
|
+ // 修改电话
|
|
|
|
+ if(qwExternalContact.getFsUserId() != null) {
|
|
|
|
+ FsUser fsUser = fsUserMapper.selectFsUserByUserId(qwExternalContact.getFsUserId());
|
|
|
|
+ if(fsUser != null && StringUtils.isNotEmpty(param.getPhone())){
|
|
|
|
+ fsUser.setPhone(PhoneUtil.encryptPhone(param.getPhone()));
|
|
|
|
+ fsUserMapper.updateFsUser(fsUser);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return R.ok();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public int updateExternalContactTag(TagGroupUpdateParam param) {
|
|
|
|
+ QwExternalContact qwExternalContact = qwExternalContactMapper.selectQwExternalContactById(param.getQwExternalContactId());
|
|
|
|
+ if(qwExternalContact != null){
|
|
|
|
+ qwExternalContact.setTagIds(JSONUtil.toJsonStr(param.getTagIds()));
|
|
|
|
+ return qwExternalContactMapper.updateQwExternalContact(qwExternalContact);
|
|
|
|
+ }
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
//发送好友欢迎语
|
|
//发送好友欢迎语
|