Browse Source

小程序客户信息维护详情接口开发完成

小程序保存/修改潜在客户信息接口开发完成
小程序销售订单调试完成
zhanglei
God 11 months ago
parent
commit
f9606dde98
  1. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  2. 9
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java
  3. 10
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java
  4. 11
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java
  5. 76
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java
  6. 4
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basesuppliertype/BaseSupplierTypeService.java

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -166,6 +166,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUser;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo;
@ -2161,8 +2162,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
QueryWrapper<BusSalesOrder> qw = new QueryWrapper<>();
if (query != null) {
if (StringUtils.isNotBlank(query.getUserSid())) {
SysUserVo sysUserVo = sysUserFeign.fetchBySid(query.getUserSid()).getData();
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.selByMobile(sysUserVo.getMobile()).getData();
SysUser sysUser = sysUserFeign.fetchBySidWx(query.getUserSid()).getData();
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.selByMobile(sysUser.getMobile()).getData();
qw.eq("bo.customerSid", crmCustomerTempVo.getSid());
}
qw.eq("bo.nodeState", "已办结");

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

@ -160,6 +160,10 @@ public interface CrmCustomerTempFeign {
@PostMapping("/saveOrUpdateAppCustomerTemp")
public ResultBean<String> saveOrUpdateAppCustomerTemp(@Valid @RequestBody AppCrmCustomerTempDto dto);
@ApiOperation("小程序保存/修改潜在客户信息")
@PostMapping("/saveOrUpdateAppCustomerTempWx")
public ResultBean saveOrUpdateAppCustomerTempWx(@Valid @RequestBody AppCrmCustomerTempDto dto);
@ApiOperation("手机端维护客户信息是否完善的状态")
@ResponseBody
@GetMapping("/getAppCrmCustomerTempMaintainState")
@ -182,6 +186,11 @@ public interface CrmCustomerTempFeign {
@GetMapping("/customerTempDetailsBySid/{sid}")
public ResultBean<AppCrmCustomerTempBasicsDetailsVo> customerTempDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("小程序客户信息维护详情")
@ResponseBody
@GetMapping("/customerTempDetailsBySidWx/{sid}")
public ResultBean<AppCrmCustomerTempBasicsDetailsVo> customerTempDetailsBySidWx(@PathVariable("sid") String sid);
@ApiOperation("初始化客户详情")
@ResponseBody
@GetMapping("/getAppCustomerTempDetails")

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

@ -110,6 +110,11 @@ public class CrmCustomerTempFeignFallback implements CrmCustomerTempFeign {
return rb.setMsg("接口anrui-crm/crmcustomertemp/saveOrUpdateAppCustomerTemp无法访问");
}
@Override
public ResultBean saveOrUpdateAppCustomerTempWx(AppCrmCustomerTempDto dto) {
return null;
}
@Override
public ResultBean<AppCrmCustomerTempMaintainStateVo> getAppCrmCustomerTempMaintainState(String sid, String userSid) {
return null;
@ -140,6 +145,11 @@ public class CrmCustomerTempFeignFallback implements CrmCustomerTempFeign {
return null;
}
@Override
public ResultBean<AppCrmCustomerTempBasicsDetailsVo> customerTempDetailsBySidWx(String sid) {
return null;
}
@Override
public ResultBean<AppCrmCustomerTempArchivesVo> initCustomerArchives(String customerSid, String userSid) {
return null;

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

@ -217,6 +217,11 @@ public class CrmCustomerTempRest implements CrmCustomerTempFeign {
return crmCustomerTempService.saveOrUpdateAppCustomerTemp(dto);
}
@Override
public ResultBean saveOrUpdateAppCustomerTempWx(AppCrmCustomerTempDto dto) {
return crmCustomerTempService.saveOrUpdateAppCustomerTempWx(dto);
}
/**
* 手机端维护客户信息是否完善的状态
*
@ -301,6 +306,12 @@ public class CrmCustomerTempRest implements CrmCustomerTempFeign {
return new ResultBean<AppCrmCustomerTempBasicsDetailsVo>().success().setData(vo);
}
@Override
public ResultBean<AppCrmCustomerTempBasicsDetailsVo> customerTempDetailsBySidWx(String sid) {
AppCrmCustomerTempBasicsDetailsVo vo = crmCustomerTempService.customerTempDetailsBySidWx(sid);
return new ResultBean<AppCrmCustomerTempBasicsDetailsVo>().success().setData(vo);
}
/**
* 初始化客户档案信息
*

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

@ -127,6 +127,7 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
private CrmCustomerOrgLinkService crmCustomerOrgLinkService;
@Autowired
private CrmCustomerOrgService crmCustomerOrgService;
public PagerVo<CrmCustomerTemp> listPage(PagerQuery<CrmCustomerTempQuery> pq) {
CrmCustomerTempQuery query = pq.getParams();
QueryWrapper<CrmCustomerTemp> qw = createQueryWrapper(query);
@ -372,6 +373,53 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
return rb.success().setData(sid);
}
public ResultBean saveOrUpdateAppCustomerTempWx(AppCrmCustomerTempDto dto) {
ResultBean rb = ResultBean.fireFail();
/**
* 2023-02-10:
* 先查询客户编码是否存在
* 1存在
* 1.1是否是当前用户的客户
* 1.1.1,提示客户已存在不能新增
* 1.1.2,提示为xxx销售专员客户
* 2不存在
* 2.1新增客户信息新增跟进记录保存时添加二次提醒保存后客户名称手机号码将不能修改
*/
//根据用户sid获取业务员信息
SysUser sysUser = sysUserFeign.fetchBySidWx(dto.getUserSid()).getData();
if (sysUser == null) {
return rb.setMsg("该用户不存在");
}
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selByMobile(sysUser.getMobile());
CrmCustomerTemp customerTemp = fetchBySid(crmCustomerTempVo.getSid());
if (customerTemp == null) {
return rb.setMsg("该客户不存在");
}
//对比客户名称以及手机号是否变化
if (!customerTemp.getName().equals(dto.getName())) {
return rb.setMsg("客户名称不允许修改");
}
if (!customerTemp.getMobile().equals(dto.getMobile())) {
return rb.setMsg("客户手机号不允许修改");
}
BeanUtil.copyProperties(dto, customerTemp, "sid");
String adCode = dto.getAdCode();
if (StringUtils.isNotBlank(adCode)) {
customerTemp.setAddress_province(adCode.substring(0, 2));
customerTemp.setAddress_city(adCode.substring(2, 4));
customerTemp.setAddress_county(adCode.substring(4, 6));
}
if (StringUtils.isNotBlank(customerTemp.getCustomerPhoto())) {
customerTemp.setCustomerPhoto(customerTemp.getCustomerPhoto().replace(fileUploadComponent.getUrlPrefix(), ""));
}
customerTemp.setUpdateBySid(dto.getUserSid());
boolean updateBoolean = updateById(customerTemp);
if (!updateBoolean) {
return rb.fail().setMsg("更新失败");
}
return rb.success();
}
/**
* 生成潜在客户编号
*
@ -1008,7 +1056,7 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
}
baseMapper.updateById(customerTemp);
if (StringUtils.isNotBlank(dto.getCustomerOrgSid())) {
crmCustomerOrgLinkService.saveOrgLink(sid,dto.getCustomerOrgSid());
crmCustomerOrgLinkService.saveOrgLink(sid, dto.getCustomerOrgSid());
}
//更新运营信息
CrmBusinessDto crmBusinessDto = dto.getCrmBusinessDto();
@ -1046,6 +1094,32 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
return vo;
}
public AppCrmCustomerTempBasicsDetailsVo customerTempDetailsBySidWx(String sid) {
SysUser sysUser = sysUserFeign.fetchBySidWx(sid).getData();
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selByMobile(sysUser.getMobile());
AppCrmCustomerTempBasicsDetailsVo vo = baseMapper.customerTempDetailsBySid(crmCustomerTempVo.getSid());
vo.setSid(sid);
String adCode = vo.getAddress_province() + vo.getAddress_city() + vo.getAddress_county();
if (StringUtils.isNotBlank(adCode)) {
vo.setAdCode(adCode);
} else {
vo.setAdCode("");
}
String type = "customerType";
DictCommonVo customerType = dictCommonFeign.selectBykey(vo.getCustomerTypeKey(), type).getData();
vo.setParentSid(customerType.getSid());
List<CrmFileDetailsVo> crmFileDetailsVos = crmFileService.fetchByLinkSid(sid);
List<String> list = new ArrayList<>();
if (crmFileDetailsVos != null) {
for (CrmFileDetailsVo crmFileDetailsVo : crmFileDetailsVos) {
String filePath = crmFileDetailsVo.getFilePath();
list.add(fileUploadComponent.getUrlPrefix() + filePath);
}
}
vo.setCrmVisitFileList(list);
return vo;
}
public CrmCustomerTempVo selByMobile(String mobile) {
return baseMapper.selByMobile(mobile);
}

4
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basesuppliertype/BaseSupplierTypeService.java

@ -107,14 +107,14 @@ public class BaseSupplierTypeService extends MybatisBaseService<BaseSupplierType
if (StringUtils.isBlank(dtoSid)) {
int i = baseMapper.checkSaveCode(dto.getSupplierTypeCode(),dto.getUseOrgSid());
if (i > 0){
return rb.setMsg("新增编码已存在,请重新输入");
return rb.setMsg("类型编码已存在,请重新输入");
}
this.insertByDto(dto);
return rb.success();
}
int i = baseMapper.checkUpdateCode(dto.getSupplierTypeCode(),dto.getUseOrgSid(),dtoSid);
if (i > 0){
return rb.setMsg("修改编码已存在,请重新输入");
return rb.setMsg("类型编码已存在,请重新输入");
}
this.updateByDto(dto);
return rb.success();

Loading…
Cancel
Save