From fe2011489267bff42f904563cdc500aaa7fabe95 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Tue, 12 Jul 2022 16:34:34 +0800 Subject: [PATCH] =?UTF-8?q?pc=E7=AB=AF=E5=AE=A2=E6=88=B7=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../crmcustomertemp/CrmCustomerTempDto.java | 2 + .../crmcustomertemp/CrmCustomerTempFeign.java | 9 +- .../CrmCustomerTempFeignFallback.java | 4 +- .../CrmCustomerTempUpdateDto.java | 114 ++++++++++++++++++ .../anrui/crm/api/crmvisit/CrmVisitFeign.java | 4 +- .../api/crmvisit/CrmVisitFeignFallback.java | 2 +- .../CrmCustomerTempMapper.java | 8 +- .../crmcustomertemp/CrmCustomerTempMapper.xml | 94 +++++++-------- .../crmcustomertemp/CrmCustomerTempRest.java | 32 +++-- .../CrmCustomerTempService.java | 43 ++++--- .../anrui/crm/biz/crmvisit/CrmVisitRest.java | 8 +- 11 files changed, 228 insertions(+), 92 deletions(-) create mode 100644 anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempUpdateDto.java diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempDto.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempDto.java index e4f6ae0956..0d57f9e31f 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempDto.java +++ b/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("微信号码") diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java index 0cfcff117e..b62bc2097a 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java +++ b/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潜在客户的编辑回显 diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java index a3c297fb36..6fbef05041 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java +++ b/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无法访问"); } diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempUpdateDto.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempUpdateDto.java new file mode 100644 index 0000000000..9df8db6451 --- /dev/null +++ b/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; +} diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvisit/CrmVisitFeign.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvisit/CrmVisitFeign.java index 099f920cd6..b32c3ac972 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvisit/CrmVisitFeign.java +++ b/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}") diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvisit/CrmVisitFeignFallback.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvisit/CrmVisitFeignFallback.java index 8efc074ed7..651f2d35f8 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvisit/CrmVisitFeignFallback.java +++ b/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无法访问"); } diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java index 1aab1e918b..073cd9ab39 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java +++ b/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 { /** * 根据客户的手机号以及当前登录者所在部门的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 { int selBySidAndMobile(@Param("sid") String sid, @Param("mobile") String mobile); int selBySidAndWeixin( @Param("sid")String sid, @Param("weixin") String weixin); + } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml index 3aa9087c50..f882435694 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml @@ -4,47 +4,46 @@ - SELECT * FROM crm_customer_temp - WHERE createOrgSid = #{createOrgSid} - - AND staffSid = #{staffSid} - - + SELECT * + FROM crm_customer_temp + WHERE staffSid = #{staffSid} + AND mobile = #{mobile} - + AND weixin = #{weixin} LIMIT 1 @@ -110,15 +107,14 @@ @@ -196,14 +192,12 @@ SELECT count(*) FROM crm_customer_temp cct WHERE cct.sid != #{sid} - AND - cct.mobile =#{mobile} + AND cct.mobile = #{mobile} \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java index a0700be3d0..ec75961420 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java +++ b/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 fetchSid(String sid) { - ResultBean rb = ResultBean.fireFail(); + ResultBean 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 initCustomerArchives(String customerSid, String userSid) { - return crmCustomerFileService.initCustomerArchives(customerSid,userSid); + return crmCustomerFileService.initCustomerArchives(customerSid, userSid); } /** * 保存客户档案信息 + * * @param dto * @return */ diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java index 5cdd8d27d1..158dbf2d4c 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java +++ b/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 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 crmVehicledemandVos = crmVehicledemandService.fetchAllByCustomerSid(sid); - vo.setCrmVehicledemandVos(crmVehicledemandVos);*/ return vo; } @@ -659,11 +656,28 @@ public class CrmCustomerTempService extends MybatisBaseService 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(); }