Browse Source

pc端客户相关问题修复

master
dimengzhe 3 years ago
parent
commit
fe20114892
  1. 2
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempDto.java
  2. 9
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java
  3. 4
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java
  4. 114
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempUpdateDto.java
  5. 4
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvisit/CrmVisitFeign.java
  6. 2
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvisit/CrmVisitFeignFallback.java
  7. 8
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java
  8. 94
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml
  9. 32
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java
  10. 43
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java
  11. 8
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitRest.java

2
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempDto.java

@ -9,6 +9,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.util.List;
/**
@ -55,6 +56,7 @@ public class CrmCustomerTempDto implements Dto {
@ApiModelProperty("联系电话")
@NotBlank(message = "联系电话为必填项")
@Pattern(regexp = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$", message = "手机号码格式不正确")
private String mobile;
@ApiModelProperty("微信号码")

9
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java

@ -6,11 +6,8 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@ -74,7 +71,7 @@ public interface CrmCustomerTempFeign {
*/
@ApiOperation("修改保存")
@PostMapping("/update/{sid}")
public ResultBean update(@RequestBody CrmCustomerTempDto dto, @PathVariable("sid") String sid);
public ResultBean update(@RequestBody CrmCustomerTempUpdateDto dto, @PathVariable("sid") String sid);
/**
* pc潜在客户的批量删除
@ -83,8 +80,8 @@ public interface CrmCustomerTempFeign {
* @return
*/
@ApiOperation("删除记录")
@GetMapping("/del/{sid}")
public ResultBean del(@PathVariable("sid") String sid);
@DeleteMapping("/del")
public ResultBean del(String[] sid);
/**
* pc潜在客户的编辑回显

4
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java

@ -49,12 +49,12 @@ public class CrmCustomerTempFeignFallback implements CrmCustomerTempFeign {
}
@Override
public ResultBean update(CrmCustomerTempDto dto,String sid){
public ResultBean update(CrmCustomerTempUpdateDto dto,String sid){
return ResultBean.fireFail().setMsg("接口anrui-crm/crmcustomertemp/update无法访问");
}
@Override
public ResultBean del(String ids){
public ResultBean del(String[] ids){
return ResultBean.fireFail().setMsg("接口anrui-crm/crmcustomertemp/del无法访问");
}

114
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempUpdateDto.java

@ -0,0 +1,114 @@
package com.yxt.anrui.crm.api.crmcustomertemp;
import com.yxt.anrui.crm.api.crmbusiness.CrmBusinessDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
/**
* @Author dimengzhe
* @Date 2022/7/12 14:04
* @Description
*/
@Data
public class CrmCustomerTempUpdateDto implements Dto {
private static final long serialVersionUID = -1744083007571476652L;
@ApiModelProperty(value = "当前登录用户的sid")
private String userSid;
@ApiModelProperty(value = "客户类型(个人/企业)", required = true)
@NotBlank(message = "客户类型为必选项")
private String customerType;
@ApiModelProperty(value = "客户类型key", required = true)
@NotBlank(message = "客户类型为必选项")
private String customerTypeKey;
@ApiModelProperty(value = "见面方式key", required = true)
@NotBlank(message = "见面方式为必选项")
private String visitWayKey;
@ApiModelProperty(value = "见面方式(到店/电话/拜访)", required = true)
@NotBlank(message = "见面方式为必选项")
private String visitWay;
@ApiModelProperty(value = "客户名称", required = true)
@NotBlank(message = "客户名称为必填项")
private String name;
@ApiModelProperty("联系电话")
@NotBlank(message = "联系电话为必填项")
@Pattern(regexp = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$", message = "手机号码格式不正确")
private String mobile;
@ApiModelProperty("微信号码")
private String weixin;
@ApiModelProperty("公司名称:个人客户时显示")
private String companyName;
@ApiModelProperty("行政区划代码(省)")
private String address_province;
@ApiModelProperty("行政区划代码(市)")
private String address_city;
@ApiModelProperty("行政区划代码(县)")
private String address_county;
@ApiModelProperty("客户地址:省")
private String province;
@ApiModelProperty("客户地址:市")
private String city;
@ApiModelProperty("客户地址:县")
private String county;
@ApiModelProperty("客户地址:详细地址")
private String address;
@ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
private String level;
@ApiModelProperty("客户级别key")
private String levelKey;
//更多信息
@ApiModelProperty("客户生日:个人客户时显示")
private String birthday;
@ApiModelProperty("性别:个人客户时显示")
private String sex;
@ApiModelProperty("性别key:个人客户时")
private String sexKey;
@ApiModelProperty("证件类型key")
private String certificateTypeKey;
@ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
private String certificateType;
@ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
private String IDNumber;
@ApiModelProperty("证件有效期")
private String endDate;
@ApiModelProperty("电子邮箱")
private String e_mail;
@ApiModelProperty(value = "联系人")
private String contacts;
@ApiModelProperty("紧急联系人")
private String emergencyContact;
@ApiModelProperty("紧急联系电话")
private String emergencyMobile;
@ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
private String source;
@ApiModelProperty("客户来源key")
private String sourceKey;
@ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
private String customerClass;
@ApiModelProperty("客户分类key")
private String customerClassKey;
@ApiModelProperty(value = "备注")
private String remarks;
//运营信息
@ApiModelProperty(value = "运营信息")
private CrmBusinessDto crmBusinessDto;
}

4
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvisit/CrmVisitFeign.java

@ -50,8 +50,8 @@ public interface CrmVisitFeign {
public ResultBean update(@RequestBody CrmVisitDto dto, @PathVariable("sid") String sid);
@ApiOperation("删除记录")
@GetMapping("/del/{ids}")
public ResultBean del(@PathVariable("ids") String ids);
@DeleteMapping("/del")
public ResultBean del(@RequestBody String[] ids);
@ApiOperation("获取一条记录")
@GetMapping("/fetch/{id}")

2
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvisit/CrmVisitFeignFallback.java

@ -38,7 +38,7 @@ public class CrmVisitFeignFallback implements CrmVisitFeign {
}
@Override
public ResultBean del(String ids){
public ResultBean del(String[] ids){
return ResultBean.fireFail().setMsg("接口anrui-crm/crmvisit/del无法访问");
}

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

@ -72,21 +72,20 @@ public interface CrmCustomerTempMapper extends BaseMapper<CrmCustomerTemp> {
/**
* 根据客户的手机号以及当前登录者所在部门的sid查询该部门内是否有重复的
*
* @param orgSid 当前登录者所在部门的sid
* @param staffSid 当前登录者staffSId
* @param mobile 手机号
* @return
*/
CrmCustomerTempVo selectByMobile(@Param("orgSid") String orgSid, @Param("mobile") String mobile);
CrmCustomerTempVo selectByMobile(@Param("staffSid") String staffSid, @Param("mobile") String mobile);
/**
* 根据客户的微信号以及当前登录者所在部门的sid和登录者所关联的员工sid查询
*
* @param orgSid 当前登录者所在部门的sid
* @param staffSid 登录者所关联的员工sid
* @param weixin 微信号
* @return
*/
CrmCustomerTempVo selectByWx(@Param("orgSid") String orgSid, @Param("staffSid") String staffSid, @Param("weixin") String weixin);
CrmCustomerTempVo selectByWx(@Param("staffSid") String staffSid, @Param("weixin") String weixin);
/**
* 客户信息维护 - 详情接口
@ -116,4 +115,5 @@ public interface CrmCustomerTempMapper extends BaseMapper<CrmCustomerTemp> {
int selBySidAndMobile(@Param("sid") String sid, @Param("mobile") String mobile);
int selBySidAndWeixin( @Param("sid")String sid, @Param("weixin") String weixin);
}

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

@ -4,47 +4,46 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo">
SELECT
*,
(SELECT
COUNT(*)
FROM
crm_vehicledemand cv
WHERE cct.sid = cv.customerSid
AND states = 1) yxcounts,
(SELECT
COUNT(*)
FROM
crm_visit cvi
WHERE cct.sid = cvi.customerSid) gjcounts
FROM
crm_customer_temp cct
<where>${ew.sqlSegment}</where>
SELECT *,
(SELECT COUNT(*)
FROM crm_vehicledemand cv
WHERE cct.sid = cv.customerSid
AND states = 1) yxcounts,
(SELECT COUNT(*)
FROM crm_visit cvi
WHERE cct.sid = cvi.customerSid) gjcounts
FROM crm_customer_temp cct
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo">
SELECT * FROM crm_customer_temp
<where>${ew.sqlSegment}</where>
SELECT *
FROM crm_customer_temp
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getCustomerTempListByUserSid" resultType="com.yxt.anrui.crm.api.crmcustomertemp.AppCrmCustomerTempVo">
SELECT
cct.sid ,
cct.`name`,
cct.mobile,
cct.weixin ,
cct.customerType,
cct.customerTypeKey,
cct.createTime,
cct.customerPhoto,
cct.remind_day,
cct.isOnRemindkey,
cct.companyName,
(select Max(DATE_FORMAT(cv.createTime,'%Y-%m-%d')) from crm_visit cv where cv.customerSid = cct.sid order by
cv.id DESC) as visitTime ,
cct.follow_state
FROM
crm_customer_temp cct
LEFT JOIN crm_visit cv ON cct.sid = cv.customerSid
SELECT cct.sid,
cct.`name`,
cct.mobile,
cct.weixin,
cct.customerType,
cct.customerTypeKey,
cct.createTime,
cct.customerPhoto,
cct.remind_day,
cct.isOnRemindkey,
cct.companyName,
(select Max(DATE_FORMAT(cv.createTime, '%Y-%m-%d'))
from crm_visit cv
where cv.customerSid = cct.sid
order by cv.id DESC) as visitTime,
cct.follow_state
FROM crm_customer_temp cct
LEFT JOIN crm_visit cv ON cct.sid = cv.customerSid
WHERE cct.staffSid = #{staffSid}
<if test="name != '' and name != null">
AND cct.name LIKE concat('%', #{name}, '%')
@ -60,15 +59,13 @@
<!--对应手机号应为一条,对应微信号可能为多条-->
<select id="selectByMobileOrWx" parameterType="map"
resultType="com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo">
SELECT * FROM crm_customer_temp
WHERE createOrgSid = #{createOrgSid}
<if test="staffSid != null and staffSid !=''">
AND staffSid = #{staffSid}
</if>
<if test="mobile != null and mobile !=''">
SELECT *
FROM crm_customer_temp
WHERE staffSid = #{staffSid}
<if test="mobile != null and mobile != ''">
AND mobile = #{mobile}
</if>
<if test="weixin != null and weixin !=''">
<if test="weixin != null and weixin != ''">
AND weixin = #{weixin}
</if>
LIMIT 1
@ -110,15 +107,14 @@
<select id="selectByMobile" resultType="com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo">
SELECT *
FROM crm_customer_temp
WHERE createOrgSid = #{orgSid}
WHERE staffSid = #{staffSid}
and mobile = #{mobile}
</select>
<!--根据客户的微信号以及当前登录者所在部门的sid和登录者所关联的员工sid查询-->
<select id="selectByWx" resultType="com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo">
SELECT *
FROM crm_customer_temp
WHERE createOrgSid = #{orgSid}
and staffSid = #{staffSid}
WHERE staffSid = #{staffSid}
and weixin = #{weixin}
</select>
<!--获取客户基础信息-->
@ -196,14 +192,12 @@
SELECT count(*)
FROM crm_customer_temp cct
WHERE cct.sid != #{sid}
AND
cct.mobile =#{mobile}
AND cct.mobile = #{mobile}
</select>
<select id="selBySidAndWeixin" resultType="java.lang.Integer">
SELECT count(*)
FROM crm_customer_temp cct
WHERE cct.sid != #{sid}
AND
cct.weixin =#{weixin}
AND cct.weixin = #{weixin}
</select>
</mapper>

32
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java

@ -14,10 +14,8 @@ import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@ -96,8 +94,20 @@ public class CrmCustomerTempRest implements CrmCustomerTempFeign {
* @return
*/
@Override
public ResultBean update(CrmCustomerTempDto dto, String sid) {
public ResultBean update(CrmCustomerTempUpdateDto dto, String sid) {
ResultBean rb = ResultBean.fireFail();
String weixin = dto.getWeixin();
if (StringUtils.isNotBlank(weixin)) {
if (!weixin.matches("^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}$") && !weixin.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
return rb.setMsg("微信号格式不正确");
}
}
String email = dto.getE_mail();
if (StringUtils.isNotBlank(email)) {
if (!email.matches("^[0-9A-Za-z][\\.-_0-9A-Za-z]*@[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)+$")) {
return rb.setMsg("邮箱格式不正确");
}
}
ResultBean resultBean = crmCustomerTempService.updateCrmCustomer(dto, sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
@ -106,16 +116,19 @@ public class CrmCustomerTempRest implements CrmCustomerTempFeign {
}
@Override
public ResultBean del(String sid) {
public ResultBean del(String[] sid) {
ResultBean rb = ResultBean.fireFail();
String[] sids = sid.split(",");
crmCustomerTempService.delBySids(sids);
crmCustomerTempService.delBySids(sid);
return rb.success();
}
@Override
public ResultBean<CrmCustomerTempVo> fetchSid(String sid) {
ResultBean rb = ResultBean.fireFail();
ResultBean<CrmCustomerTempVo> rb = ResultBean.fireFail();
CrmCustomerTemp customerTemp = crmCustomerTempService.fetchBySid(sid);
if (customerTemp == null) {
return rb.setMsg("该客户不存在");
}
CrmCustomerTempVo vo = crmCustomerTempService.fetchAllBySid(sid);
return rb.success().setData(vo);
}
@ -185,7 +198,6 @@ public class CrmCustomerTempRest implements CrmCustomerTempFeign {
// }
/**
* 初始化客户详情 - 基础信息接口
*
@ -223,17 +235,19 @@ public class CrmCustomerTempRest implements CrmCustomerTempFeign {
/**
* 初始化客户档案信息
*
* @param customerSid
* @param userSid
* @return
*/
@Override
public ResultBean<AppCrmCustomerTempArchivesVo> initCustomerArchives(String customerSid, String userSid) {
return crmCustomerFileService.initCustomerArchives(customerSid,userSid);
return crmCustomerFileService.initCustomerArchives(customerSid, userSid);
}
/**
* 保存客户档案信息
*
* @param dto
* @return
*/

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

@ -179,7 +179,7 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
return new ResultBean().fail().setMsg("请先设置该员工所属部门");
}
Map<String, String> map = new HashMap<>();
map.put("createOrgSid", userOrgInfoVo.getOrgSid());
map.put("staffSid", userOrgInfoVo.getStaffSid());
if (StringUtils.isBlank(dto.getSid())) { // 新增
if (StringUtils.isNotBlank(dto.getMobile())) { // 有手机号
map.put("mobile", dto.getMobile());
@ -201,7 +201,6 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
return new ResultBean().success().setMsg("添加成功").setData(customerTemp.getSid());
}
} else { // 无手机号,有微信号
map.put("staffSid", userOrgInfoVo.getStaffSid());
map.put("weixin", dto.getWeixin());
CrmCustomerTempVo customerTempVo = baseMapper.selectByMobileOrWx(map);
if (customerTempVo != null) {
@ -626,8 +625,6 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
BeanUtil.copyProperties(crmCustomerTemp, vo);
CrmBusinessVo crmBusinessVo = crmBusinessService.selectByCustomerSid(sid);
vo.setCrmBusinessVo(crmBusinessVo);
/*List<CrmVehicledemandVo> crmVehicledemandVos = crmVehicledemandService.fetchAllByCustomerSid(sid);
vo.setCrmVehicledemandVos(crmVehicledemandVos);*/
return vo;
}
@ -659,11 +656,28 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
if (StringUtils.isBlank(mobile)) {
return rb.setMsg("请输入联系电话");
}
if (StringUtils.isNotBlank(weixin)) {
if (!weixin.matches("^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}$") && !weixin.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
return rb.setMsg("微信号格式不正确");
}
}
String email = dto.getE_mail();
if (StringUtils.isNotBlank(email)) {
if (!email.matches("^[0-9A-Za-z][\\.-_0-9A-Za-z]*@[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)+$")) {
return rb.setMsg("邮箱格式不正确");
}
}
String emergencyMobile = dto.getEmergencyMobile();
if (StringUtils.isNotBlank(emergencyMobile)) {
if (!emergencyMobile.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
return rb.setMsg("紧急联系电话格式不正确");
}
}
//当前登录用户的所在部门sid
String orgSid = sysUserInfoVo.getOrgSid();
String staffSid = sysUserInfoVo.getStaffSid();
//根据客户的手机号以及当前登录者所在部门的sid查询该部门内是否有重复的
if (StringUtils.isNotBlank(mobile)) {
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByMobile(orgSid, mobile);
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByMobile(staffSid, mobile);
if (crmCustomerTempVo == null) {
//新增潜在客户信息
CrmCustomerTemp crmCustomerTemp = saveCrmCustomerTemp(dto, sysUserInfoVo);
@ -684,9 +698,9 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
}
} else if (StringUtils.isNotBlank(weixin)) {
String staffSid = sysUserInfoVo.getStaffSid();
// String staffSid = sysUserInfoVo.getStaffSid();
//根据客户的微信号以及当前登录者所在部门的sid和登录者所关联的员工sid查询
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByWx(orgSid, staffSid, weixin);
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByWx(staffSid, weixin);
if (crmCustomerTempVo == null) {
//新增潜在客户信息
CrmCustomerTemp crmCustomerTemp = saveCrmCustomerTemp(dto, sysUserInfoVo);
@ -757,7 +771,7 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
* @param sid 潜在客户的sid
* @return
*/
public ResultBean updateCrmCustomer(CrmCustomerTempDto dto, String sid) {
public ResultBean updateCrmCustomer(CrmCustomerTempUpdateDto dto, String sid) {
ResultBean rb = ResultBean.fireFail();
//当前登录用户的sid
String userSid = dto.getUserSid();
@ -771,21 +785,20 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
if (StringUtils.isBlank(sysUserInfoVo.getOrgSid())) {
return rb.setMsg("请先设置该员工所属部门");
}
String orgSid = sysUserInfoVo.getOrgSid();
String staffSid = sysUserInfoVo.getStaffSid();
String mobile = dto.getMobile();
String weixin = dto.getWeixin();
if (StringUtils.isBlank(mobile) && StringUtils.isBlank(weixin)) {
return rb.setMsg("联系电话和微信号二选一必填");
}
if (StringUtils.isNotBlank(mobile)) {
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByMobile(orgSid, mobile);
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByMobile(staffSid, mobile);
if (crmCustomerTempVo != null && !crmCustomerTempVo.getStaffSid().equals(sysUserInfoVo.getStaffSid())) {
return rb.setMsg("该手机号已绑定其他客户,请重新添加");
}
} else {
String staffSid = sysUserInfoVo.getStaffSid();
//根据客户的微信号以及当前登录者所在部门的sid和登录者所关联的员工sid查询
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByWx(orgSid, staffSid, weixin);
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByWx(staffSid, weixin);
if (crmCustomerTempVo != null && !crmCustomerTempVo.getStaffSid().equals(sysUserInfoVo.getStaffSid())) {
return rb.setMsg("该微信号已绑定其他客户,请重新添加");
}
@ -794,7 +807,9 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
if (customerTemp == null) {
return rb.setMsg("该客户信息不存在");
}
int count = updateBySid(dto, sid);
BeanUtil.copyProperties(dto,customerTemp);
baseMapper.updateById(customerTemp);
// int count = updateBySid(dto, sid);
//更新运营信息
CrmBusinessDto crmBusinessDto = dto.getCrmBusinessDto();
crmBusinessService.updateByCusSid(crmBusinessDto, sid);

8
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitRest.java

@ -89,7 +89,7 @@ public class CrmVisitRest implements CrmVisitFeign {
int count = crmCustomerService.selBySid(customerSid);
if (count > 0) {
CrmVisit entity = new CrmVisit();
BeanUtil.copyProperties(dto,entity);
BeanUtil.copyProperties(dto, entity);
boolean IsSave = crmVisitService.save(entity);
if (!IsSave) {
return rb.fail().setMsg("添加失败");
@ -140,7 +140,7 @@ public class CrmVisitRest implements CrmVisitFeign {
String remind_remark = dto.getRemind_remark();
String isOnRemind = dto.getIsOnRemind();
String follow_state = dto.getFollow_state();
crmCustomerService.updateRemindAndByCustomerSid(customerSid, remind_day, remind_remark, isOnRemind, isOnRemindkey,follow_state);
crmCustomerService.updateRemindAndByCustomerSid(customerSid, remind_day, remind_remark, isOnRemind, isOnRemindkey, follow_state);
return rb.success().setMsg("添加成功");
}
return rb.fail().setMsg("保存失败,该客户不存在");
@ -172,9 +172,9 @@ public class CrmVisitRest implements CrmVisitFeign {
}
@Override
public ResultBean del(String ids) {
public ResultBean del(String[] ids) {
ResultBean rb = ResultBean.fireFail();
crmVisitService.delByIds(ids);
crmVisitService.delBySids(ids);
return rb.success();
}

Loading…
Cancel
Save