Browse Source

客户+中介人员修改编码规则:分公司简称+部门编码+姓名首字母+手机号。客户根据编码验重

master
dimengzhe 3 years ago
parent
commit
24d1baedf0
  1. 73
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemiddleman/BaseMiddlemanService.java
  2. 4
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java
  3. 15
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml
  4. 87
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java

73
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemiddleman/BaseMiddlemanService.java

@ -29,6 +29,9 @@ import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basemiddleman.*;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
@ -65,6 +68,8 @@ public class BaseMiddlemanService extends MybatisBaseService<BaseMiddlemanMapper
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
public PagerVo<BaseMiddlemanVo> listPageVo(PagerQuery<BaseMiddlemanQuery> pq) {
IPage<BaseMiddleman> page = PagerUtil.queryToPage(pq);
@ -90,7 +95,36 @@ public class BaseMiddlemanService extends MybatisBaseService<BaseMiddlemanMapper
BeanUtil.copyProperties(dto, baseMiddleman, "sid");
baseMiddleman.setCreateOrgSid(resultBean.getData());
baseMiddleman.setUseOrgSid(resultBean.getData());
String middleCode = HanZiConverterPinYin.getPinYinFirst(baseMiddleman.getName()) + baseMiddleman.getMobile();
String customerNoPrefix = "";
//查询业务员的分公司简称和部门编码
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (staffOrgResultBean.getSuccess()) {
SysStaffOrg sysStaffOrg = staffOrgResultBean.getData();
if (sysStaffOrg != null) {
ResultBean<String> resultBean1 = sysStaffOrgFeign.getOrgSidByPath(sysStaffOrg.getOrgSidPath());
if (resultBean1.getSuccess()) {
String osid = resultBean1.getData();
if (StringUtils.isNotBlank(osid)) {
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(osid);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgAbbre();
}
}
}
String orgSid1 = sysStaffOrg.getOrgSid();
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgSid1);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgCode();
}
}
}
String middleCode = customerNoPrefix + HanZiConverterPinYin.getPinYinFirst(baseMiddleman.getName()) + baseMiddleman.getMobile();
baseMiddleman.setMiddleCode(middleCode);
baseMapper.insert(baseMiddleman);
} else {
@ -99,7 +133,36 @@ public class BaseMiddlemanService extends MybatisBaseService<BaseMiddlemanMapper
return rb.setMsg("该数据不存在");
}
BeanUtil.copyProperties(dto, baseMiddleman);
String middleCode = HanZiConverterPinYin.getPinYinFirst(baseMiddleman.getName()) + baseMiddleman.getMobile();
String customerNoPrefix = "";
//查询业务员的分公司简称和部门编码
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (staffOrgResultBean.getSuccess()) {
SysStaffOrg sysStaffOrg = staffOrgResultBean.getData();
if (sysStaffOrg != null) {
ResultBean<String> resultBean1 = sysStaffOrgFeign.getOrgSidByPath(sysStaffOrg.getOrgSidPath());
if (resultBean1.getSuccess()) {
String osid = resultBean1.getData();
if (StringUtils.isNotBlank(osid)) {
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(osid);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgAbbre();
}
}
}
String orgSid1 = sysStaffOrg.getOrgSid();
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgSid1);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgCode();
}
}
}
String middleCode = customerNoPrefix + HanZiConverterPinYin.getPinYinFirst(baseMiddleman.getName()) + baseMiddleman.getMobile();
baseMiddleman.setMiddleCode(middleCode);
baseMapper.updateById(baseMiddleman);
}
@ -116,12 +179,12 @@ public class BaseMiddlemanService extends MybatisBaseService<BaseMiddlemanMapper
BaseMiddleQuery params = query.getParams();
QueryWrapper<BaseMiddleman> qw = new QueryWrapper<>();
if (params != null) {
if(StringUtils.isBlank(params.getOrgPath())){
if (StringUtils.isBlank(params.getOrgPath())) {
if (StringUtils.isNotBlank(params.getUserSid())) {
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(params.getUserSid());
qw.eq("useOrgSid", resultBean.getData());
}
}else{
} else {
String orgPath = sysStaffOrgFeign.getOrgSidByPath(params.getOrgPath()).getData();
qw.eq("useOrgSid", orgPath);
}
@ -138,7 +201,7 @@ public class BaseMiddlemanService extends MybatisBaseService<BaseMiddlemanMapper
List<BaseMiddleListVo> list = new ArrayList<>();
//查询用户sid
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.selectByStaffsid(staffSid);
if(sysUserVoResultBean.getSuccess()){
if (sysUserVoResultBean.getSuccess()) {
list = baseMapper.selectMiddleList(sysUserVoResultBean.getData().getSid());
}
return rb.success().setData(list);

4
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java

@ -119,4 +119,8 @@ public interface CrmCustomerTempMapper extends BaseMapper<CrmCustomerTemp> {
CrmCustomerTempVo selByMobile(@Param("mobile") String mobile);
List<CrmCustomerTempListVo> selectCustomerList(@Param("orgSid") String orgSid, @Param("staffSid") String staffSid);
CrmCustomerTempVo selectNo(String customerNo);
CrmCustomerTempVo selectNo1(@Param("customerNo") String customerNo, @Param("sid") String sid);
}

15
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml

@ -13,7 +13,7 @@
FROM crm_visit cvi
WHERE cct.sid = cvi.customerSid) gjcounts
FROM crm_customer_temp cct
LEFT JOIN anrui_portal.sys_organization so ON cct.createOrgSid = so.sid
LEFT JOIN anrui_portal.sys_organization so ON cct.createOrgSid = so.sid
<where>
${ew.sqlSegment}
</where>
@ -211,4 +211,17 @@
where createOrgSid = #{orgSid}
and staffSid = #{staffSid}
</select>
<select id="selectNo" resultType="com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo">
select *
from crm_customer_temp
where customerNo = #{customerNo}
</select>
<select id="selectNo1" resultType="com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo">
select *
from crm_customer_temp
where customerNo = #{customerNo}
and sid != #{sid}
</select>
</mapper>

87
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java

@ -236,8 +236,11 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
map.put("staffSid", userOrgInfoVo.getStaffSid());
if (StringUtils.isBlank(dto.getSid())) { // 新增
if (StringUtils.isNotBlank(dto.getMobile())) { // 有手机号
map.put("mobile", dto.getMobile());
CrmCustomerTempVo customerTempVo = baseMapper.selectByMobileOrWx(map);
//查询业务员的分公司简称和部门简称
String customerNo = getPrefix(userOrgInfoVo.getStaffSid(), dto.getName(), dto.getMobile());
CrmCustomerTempVo customerTempVo = baseMapper.selectNo(customerNo);
// map.put("mobile", dto.getMobile());
// CrmCustomerTempVo customerTempVo = baseMapper.selectByMobileOrWx(map);
if (customerTempVo != null) {
// 是否为当前用户的客户
if (customerTempVo.getStaffSid().equals(userOrgInfoVo.getStaffSid())) {
@ -267,14 +270,20 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
}
} else { // 修改
if (StringUtils.isNotBlank(dto.getMobile())) {
AppCrmCustomerTempInfoVo appCrmCustomerTempInfoVo = baseMapper.selectBySid(dto.getSid());
//查询业务员的分公司简称和部门简称
String customerNo = getPrefix(userOrgInfoVo.getStaffSid(), dto.getName(), dto.getMobile());
CrmCustomerTempVo customerTempVo = baseMapper.selectNo1(customerNo,dto.getSid());
if(customerTempVo != null){
return new ResultBean().fail().setMsg("该手机号已绑定其它客户,请重新添加");
}
/* AppCrmCustomerTempInfoVo appCrmCustomerTempInfoVo = baseMapper.selectBySid(dto.getSid());
String mobile = appCrmCustomerTempInfoVo.getMobile();
if (!mobile.equals(dto.getMobile())) {
int count = baseMapper.selBySidAndMobile(dto.getSid(), dto.getMobile());
if (count > 0) {
return new ResultBean().fail().setMsg("该手机号已绑定其它客户,请重新添加");
}
}
}*/
}
// if (StringUtils.isNotBlank(dto.getWeixin())) {
// AppCrmCustomerTempInfoVo appCrmCustomerTempInfoVo = baseMapper.selectBySid(dto.getSid());
@ -832,7 +841,10 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
String staffSid = sysUserInfoVo.getStaffSid();
//根据客户的手机号以及当前登录者所在部门的sid查询该部门内是否有重复的
if (StringUtils.isNotBlank(mobile)) {
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByMobile(staffSid, mobile);
//客户编码
String customerNo = getPrefix(staffSid, dto.getName(), dto.getMobile());
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectNo(customerNo);
// CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByMobile(staffSid, mobile);
if (crmCustomerTempVo == null) {
//新增潜在客户信息
CrmCustomerTemp crmCustomerTemp = saveCrmCustomerTemp(dto, sysUserInfoVo);
@ -891,7 +903,7 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
crmCustomerTemp.setFollow_state(dictCommonFeign.selectBykey(key, DictCommonType.FOLLOW_STATE).getData().getDictValue());
}
String customerNoPrefix = "";
//查询业务员的分公司简称和部门简称
//查询业务员的分公司简称和部门编码
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(sysUserInfoVo.getStaffSid());
if (staffOrgResultBean.getSuccess()) {
SysStaffOrg sysStaffOrg = staffOrgResultBean.getData();
@ -916,7 +928,7 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
}
}
//客户编码
String customerNo = customerNoPrefix + HanZiConverterPinYin.getPinYinFirst(crmCustomerTemp.getName()) + crmCustomerTemp.getMobile();
String customerNo = getPrefix(crmCustomerTemp.getStaffSid(), crmCustomerTemp.getName(), crmCustomerTemp.getMobile());
crmCustomerTemp.setCustomerNo(customerNo);
save(crmCustomerTemp);
// 增加跟进记录
@ -939,6 +951,36 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
}
public String getPrefix(String staffSid, String name, String mobile) {
String customerNoPrefix = "";
//查询业务员的分公司简称和部门编码
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(staffSid);
if (staffOrgResultBean.getSuccess()) {
SysStaffOrg sysStaffOrg = staffOrgResultBean.getData();
if (sysStaffOrg != null) {
ResultBean<String> resultBean1 = sysStaffOrgFeign.getOrgSidByPath(sysStaffOrg.getOrgSidPath());
if (resultBean1.getSuccess()) {
String osid = resultBean1.getData();
if (StringUtils.isNotBlank(osid)) {
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(osid);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgAbbre();
}
}
}
String orgSid1 = sysStaffOrg.getOrgSid();
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgSid1);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgCode();
}
}
}
customerNoPrefix = customerNoPrefix + HanZiConverterPinYin.getPinYinFirst(name) + mobile;
return customerNoPrefix;
}
private Map<String, String> genetrateCustomerNumO(String customerTypeKey, SysUserInfoVo sysUserInfoVo) {
// 流水号
int i = selectCountByOrgSid(sysUserInfoVo.getOrgCode());
@ -977,7 +1019,9 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
return rb.setMsg("联系电话和微信号二选一必填");
}
if (StringUtils.isNotBlank(mobile)) {
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByMobile(staffSid, mobile);
String customerNo = getPrefix(staffSid, dto.getName(), dto.getMobile());
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectNo1(customerNo,sid);
// CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByMobile(staffSid, mobile);
if (crmCustomerTempVo != null && !crmCustomerTempVo.getStaffSid().equals(sysUserInfoVo.getStaffSid())) {
return rb.setMsg("该手机号已绑定其他客户,请重新添加");
}
@ -996,30 +1040,9 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
//客户编码
String customerNoPrefix = "";
//查询业务员的分公司简称和部门简称
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(customerTemp.getStaffSid());
if (staffOrgResultBean.getSuccess()) {
SysStaffOrg sysStaffOrg = staffOrgResultBean.getData();
if (sysStaffOrg != null) {
ResultBean<String> resultBean1 = sysStaffOrgFeign.getOrgSidByPath(sysStaffOrg.getOrgSidPath());
if (resultBean1.getSuccess()) {
String osid = resultBean1.getData();
if (StringUtils.isNotBlank(osid)) {
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(osid);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgAbbre();
}
}
}
String orgSid1 = sysStaffOrg.getOrgSid();
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgSid1);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgCode();
}
}
}
String customerNo = customerNoPrefix + HanZiConverterPinYin.getPinYinFirst(customerTemp.getName()) + customerTemp.getMobile();
String customerNo = getPrefix(staffSid, dto.getName(), dto.getMobile());
// CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectNo(customerNo);
// String customerNo = customerNoPrefix + HanZiConverterPinYin.getPinYinFirst(customerTemp.getName()) + customerTemp.getMobile();
customerTemp.setCustomerNo(customerNo);
baseMapper.updateById(customerTemp);
//更新运营信息

Loading…
Cancel
Save