Browse Source

售后客户管理优化

zhanglei
fanzongzhe 7 months ago
parent
commit
76067d492d
  1. 13
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/crm/crmmaintenanceenterpriserecord/MonthEndService.java
  2. 31
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CarListVo.java
  3. 93
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecord.java
  4. 208
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordDetailsVo.java
  5. 200
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordDto.java
  6. 123
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordFeignFallback.java
  7. 69
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordQuery.java
  8. 110
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordVo.java
  9. 15
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/FileQueryUrl.java
  10. 32
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/PersonListVo.java
  11. 128
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/YxtCrmMaintenanceenterpriseRecordFeign.java
  12. 37
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseCompleteDto.java
  13. 26
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseDelegateQuery.java
  14. 25
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseNodeQuery.java
  15. 26
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseNodeVo.java
  16. 48
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseTaskQuery.java
  17. 24
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/SubmitEnterpriseDto.java
  18. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java
  19. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java
  20. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillvech/AsBusrepairBillVech.java
  21. 3
      yxt-as/src/main/java/com/yxt/anrui/as/api/ascustomervehicle/AsCustomerCrmVehVo.java
  22. 4
      yxt-as/src/main/java/com/yxt/anrui/as/api/ascustomervehicle/AsCustomerVehicle.java
  23. 6
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
  24. 11
      yxt-as/src/main/java/com/yxt/anrui/as/biz/ascustomervehicle/AsCustomerVehicleMapper.xml
  25. 7
      yxt-as/src/main/java/com/yxt/anrui/as/biz/ascustomervehicle/AsCustomerVehicleService.java
  26. 93
      yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java
  27. 116
      yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmDockingPeopleRest.java
  28. 112
      yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmFileRest.java
  29. 104
      yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterprisePersonRest.java
  30. 172
      yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterpriseRecordRest.java
  31. 93
      yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterpriseVehRest.java
  32. 35
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/AsCustomerListQuery.java
  33. 40
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/AsCustomerListVo.java
  34. 160
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java
  35. 145
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java
  36. 12
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java
  37. 28
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml
  38. 378
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java
  39. 117
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerUpdateDto.java
  40. 187
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java
  41. 34
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerInitQuery.java
  42. 60
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeople.java
  43. 60
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleDetailsVo.java
  44. 60
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleDto.java
  45. 69
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleMapper.java
  46. 16
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleMapper.xml
  47. 58
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleQuery.java
  48. 132
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleService.java
  49. 60
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleVo.java
  50. 20
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/PeopleList.java
  51. 158
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFile.java
  52. 37
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileAttachTypeEnum.java
  53. 63
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileDetailsVo.java
  54. 65
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileDto.java
  55. 39
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileListDto.java
  56. 78
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileMapper.java
  57. 57
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileMapper.xml
  58. 57
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileQuery.java
  59. 240
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileService.java
  60. 60
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileVo.java
  61. 64
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePerson.java
  62. 64
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonDetailsVo.java
  63. 64
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonDto.java
  64. 72
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonMapper.java
  65. 13
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonMapper.xml
  66. 62
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonQuery.java
  67. 115
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonService.java
  68. 64
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonVo.java
  69. 17
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmPersonListVo.java
  70. 31
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CarListVo.java
  71. 93
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecord.java
  72. 208
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordDetailsVo.java
  73. 200
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordDto.java
  74. 74
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordMapper.java
  75. 90
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordMapper.xml
  76. 69
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordQuery.java
  77. 1011
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordService.java
  78. 110
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordVo.java
  79. 15
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/FileQueryUrl.java
  80. 32
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/PersonListVo.java
  81. 37
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseCompleteDto.java
  82. 26
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseDelegateQuery.java
  83. 25
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseNodeQuery.java
  84. 26
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseNodeVo.java
  85. 48
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseTaskQuery.java
  86. 25
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/SubmitEnterpriseDto.java
  87. 70
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVeh.java
  88. 71
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehDetailsVo.java
  89. 71
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehDto.java
  90. 69
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehMapper.java
  91. 13
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehMapper.xml
  92. 69
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehQuery.java
  93. 111
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehService.java
  94. 71
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehVo.java
  95. 171
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/anruicrm/crmcustomertemp/CrmCustomerTemp.java
  96. 44
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/anruicrm/crmcustomertemp/CrmCustomerTempFeign.java
  97. 70
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleDto.java
  98. 14
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeign.java
  99. 60
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/base/basevehicleoutapply/BaseVehicleOutApplyFeign.java
  100. 155
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/bus/bussalesorder/BusSalesOrder.java

13
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/crm/crmmaintenanceenterpriserecord/MonthEndService.java

@ -27,23 +27,18 @@ package com.yxt.anrui.terminal.biz.crm.crmmaintenanceenterpriserecord;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordDetailsVo;
import com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordFeign;
import com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.flowable.*;
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;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*;
import com.yxt.anrui.terminal.api.crm.crmmaintenanceenterpriserecord.MonthEndDetailsVo;
import com.yxt.anrui.terminal.api.crm.crmmaintenanceenterpriserecord.flow.AppMonthEndTaskQuery;
import com.yxt.anrui.terminal.api.crm.crmmaintenanceenterpriserecord.flow.CompleteMonthEndDto;
import com.yxt.anrui.terminal.api.crm.crmmaintenanceenterpriserecord.flow.MonthEndDelegateQuery;
import com.yxt.anrui.terminal.api.crm.crmmaintenanceenterpriserecord.flow.MonthEndFlowableQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleDelegateQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleTaskQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.BuckleFlowableQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.CompleteBuckleDto;
import com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.CrmMaintenanceenterpriseRecordDetailsVo;
import com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.YxtCrmMaintenanceenterpriseRecordFeign;
import com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable.*;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -71,7 +66,7 @@ import java.util.stream.Collectors;
public class MonthEndService {
@Autowired
private CrmMaintenanceenterpriseRecordFeign crmMaintenanceenterpriseRecordFeign;
private YxtCrmMaintenanceenterpriseRecordFeign crmMaintenanceenterpriseRecordFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired

31
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CarListVo.java

@ -0,0 +1,31 @@
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/22 14:42
*/
@Data
public class CarListVo {
/**
* 购买日期
*/
private String buyDate;
private String sid;
/**
* 车牌号
*/
private String vehMark;
/**
* 车架号
*/
private String vinNo;
@ApiModelProperty("售后客户车辆信息sid")
private String asVinSid; // 售后客户车辆信息sid
}

93
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecord.java

@ -0,0 +1,93 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecord.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecord <br/>
* Description: 定点企业备案. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案", description = "定点企业备案")
@TableName("crm_maintenanceenterprise_record")
public class CrmMaintenanceenterpriseRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("备案类别")
private String filingType; // 备案类别
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("备案有效期")
private Date filingIndate; // 备案有效期
@ApiModelProperty("申请部门")
private String deptName; // 申请部门
@ApiModelProperty("申请部门sid")
private String deptSid; // 申请部门sid
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("环节定义的sid")
private String nodeSid; // 环节定义的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("使用组织名称(分公司)")
private String useOrgName; // 使用组织名称(分公司)
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称(分公司)")
private String createOrgName; // 创建组织名称(分公司)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("办结日期")
private Date closingDate; // 办结日期
}

208
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordDetailsVo.java

@ -0,0 +1,208 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecordVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordVo <br/>
* Description: 定点企业备案 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案 视图数据详情", description = "定点企业备案 视图数据详情")
public class CrmMaintenanceenterpriseRecordDetailsVo implements Vo {
/**
* 客户sid
*/
private String customerSid;
/**
* 详细地址
*/
private String address;
/**
* 详细地址
*/
private String customerAddress;
/**
* 车辆列表
*/
private List<CarListVo> carList = new ArrayList<>();
/**
* 证件类型
*/
private String certificateType;
/**
* 证件类型Key
*/
private String certificateTypeKey;
/**
*
*/
private String city;
/**
* 对接人列表
*/
private List<PersonListVo> contactPerson = new ArrayList<>();
/**
*
*/
private String county;
/**
* 申请人
*/
private String createByName;
/**
* 申请人sid
*/
private String createBySid;
/**
* 分公司
*/
private String createOrgName;
/**
* 分公司sid
*/
private String createOrgSid;
/**
* 申请日期
*/
private String createTime;
/**
* 客户名称
*/
private String customerName;
/**
* 客户类型
*/
private String customerType;
/**
* 客户类型Key
*/
private String customerTypeKey;
/**
* 申请部门
*/
private String deptName;
/**
* 申请部门sid
*/
private String deptSid;
/**
* 电子邮箱
*/
private String e_mail;
/**
* 紧急联系人
*/
private String emergencyContact;
/**
* 紧急联系电话
*/
private String emergencyMobile;
/**
* 证书有效期
*/
private String endDate;
/**
* 附件
*/
private List<FileQueryUrl> files = new ArrayList<>();
private List<String> files2 = new ArrayList<>();
/**
* 备案有效期
*/
private String filingIndate;
/**
* 备案类别默认赋值"首次"
*/
private String filingType;
/**
* 证书号码
*/
private String idnumber;
/**
* 流程实例ID
*/
private String instanceId;
private String procInsId;
/**
* 联系电话
*/
private String mobile;
/**
*
*/
private String province;
/**
* 已备人数首次备案默认为空
*/
private String readyStrength;
/**
* 已备车辆首次备案默认为空
*/
private String readyVehicle;
/**
* 备注
*/
private String remarks;
private String sid;
/**
* 流程ID
*/
private String taskId;
/**
* 分公司
*/
private String useOrgName;
/**
* 分公司sid
*/
private String useOrgSid;
/**
* 微信号
*/
private String weixin;
}

200
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordDto.java

@ -0,0 +1,200 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecordDto.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordDto <br/>
* Description: 定点企业备案 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案 数据传输对象", description = "定点企业备案 数据传输对象")
public class CrmMaintenanceenterpriseRecordDto implements Dto {
/**
* 客户sid
*/
private String customerSid;
/**
* 详细地址
*/
private String address;
/**
* 车辆列表
*/
private List<CarListVo> carList = new ArrayList<>();
/**
* 证件类型
*/
private String certificateType;
/**
* 证件类型Key
*/
private String certificateTypeKey;
/**
*
*/
private String city;
/**
* 对接人列表
*/
private List<PersonListVo> contactPerson = new ArrayList<>();
/**
*
*/
private String county;
/**
* 申请人
*/
private String createByName;
/**
* 申请人sid
*/
private String createBySid;
/**
* 分公司
*/
private String createOrgName;
/**
* 分公司sid
*/
private String createOrgSid;
/**
* 申请日期
*/
private String createTime;
/**
* 客户名称
*/
private String customerName;
/**
* 客户类型
*/
private String customerType;
/**
* 客户类型Key
*/
private String customerTypeKey;
/**
* 申请部门
*/
private String deptName;
/**
* 申请部门sid
*/
private String deptSid;
/**
* 电子邮箱
*/
private String eMail;
/**
* 紧急联系人
*/
private String emergencyContact;
/**
* 紧急联系电话
*/
private String emergencyMobile;
/**
* 证书有效期
*/
private String endDate;
/**
* 附件
*/
private List<FileQueryUrl> files = new ArrayList<>();
/**
* 备案有效期
*/
private String filingIndate;
/**
* 备案类别默认赋值"首次"
*/
private String filingType;
/**
* 证书号码
*/
private String idnumber;
/**
* 流程实例ID
*/
private String instanceId;
/**
* 联系电话
*/
private String mobile;
/**
*
*/
private String province;
/**
* 已备人数首次备案默认为空
*/
private String readyStrength;
/**
* 已备车辆首次备案默认为空
*/
private String readyVehicle;
/**
* 备注
*/
private String remarks;
private String sid;
/**
* 流程ID
*/
private String taskId;
/**
* 分公司
*/
private String useOrgName;
/**
* 分公司sid
*/
private String useOrgSid;
/**
* 微信号
*/
private String weixin;
}

123
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordFeignFallback.java

@ -0,0 +1,123 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
import com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecordFeignFallback.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordFeignFallback <br/>
* Description: 定点企业备案. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class CrmMaintenanceenterpriseRecordFeignFallback implements YxtCrmMaintenanceenterpriseRecordFeign {
@Override
public ResultBean<PagerVo<CrmMaintenanceenterpriseRecordVo>> listPage(PagerQuery<CrmMaintenanceenterpriseRecordQuery> pq){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口crm/crmmaintenanceenterpriserecord/listPage无法访问");
}
@Override
public ResultBean save(CrmMaintenanceenterpriseRecordDto dto){
return ResultBean.fireFail().setMsg("接口crm/crmmaintenanceenterpriserecord/save无法访问");
}
@Override
public ResultBean delBySids( String[] sids){
return ResultBean.fireFail().setMsg("接口crm/crmmaintenanceenterpriserecord/delBySids无法访问");
}
@Override
public ResultBean<CrmMaintenanceenterpriseRecordDetailsVo> init(String sid) {
return null;
}
@Override
public ResultBean<CrmMaintenanceenterpriseRecordDetailsVo> fetchDetailsBySid(String sid){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口crm/crmmaintenanceenterpriserecord/fetchDetailsBySid无法访问");
}
@Override
public ResultBean submitRecordApplication(SubmitEnterpriseDto dto) {
return null;
}
@Override
public ResultBean complete(EnterpriseCompleteDto dto) {
return null;
}
@Override
public ResultBean revokeProcess(EnterpriseTaskQuery query) {
return null;
}
@Override
public ResultBean taskReject(EnterpriseTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(EnterpriseTaskQuery query) {
return null;
}
@Override
public ResultBean flowRecord(String procInsId) {
return null;
}
@Override
public ResultBean<List<EnterpriseNodeVo>> getNextNodesForSubmit(EnterpriseNodeQuery query) {
return null;
}
@Override
public ResultBean<List<EnterpriseNodeVo>> getPreviousNodesForReject(EnterpriseNodeQuery query) {
return null;
}
@Override
public ResultBean delegate(EnterpriseDelegateQuery query) {
return null;
}
}

69
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordQuery.java

@ -0,0 +1,69 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecordQuery.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordQuery <br/>
* Description: 定点企业备案 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案 查询条件", description = "定点企业备案 查询条件")
public class CrmMaintenanceenterpriseRecordQuery implements Query {
private String billNo;
private String closingDateEnd;
private String closingDateStart;
private String createByName;
private String createEndTime;
private String createOrgName;
private String createStartTime;
private String customerName;
private String customerTypeKey;
private String deptName;
private String menuUrl;
private String mobile;
private String orgPath;
/**
* 是否有效 1是0否
*/
private String state;
private String userSid;
}

110
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordVo.java

@ -0,0 +1,110 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecordVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordVo <br/>
* Description: 定点企业备案 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案 视图数据对象", description = "定点企业备案 视图数据对象")
public class CrmMaintenanceenterpriseRecordVo implements Vo {
/**
* 单据编号
*/
private String billNo;
/**
* 办结日期
*/
private String closingDate;
/**
* 申请人
*/
private String createByName;
/**
* 申请日期
*/
private String createTime;
/**
* 客户名称
*/
private String customerName;
/**
* 客户类型
*/
private String customerTypeValue;
/**
* 申请部门
*/
private String deptName;
/**
* 备案有效期
*/
private String filingIndate;
/**
* 备案有效期是否已过1是0否
*/
private String isFilingIndate;
/**
* 联系电话
*/
private String mobile;
/**
* 流程状态
*/
private String nodeState;
/**
* 流程定义ID
*/
private String procDefId;
/**
* 流程实例ID
*/
private String procInstId;
private String sid;
/**
* 分公司
*/
private String useOrgName;
@ApiModelProperty("备案类别")
private String filingType; // 备案类别
}

15
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/FileQueryUrl.java

@ -0,0 +1,15 @@
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/22 14:35
*/
@Data
public class FileQueryUrl {
private String url;
}

32
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/PersonListVo.java

@ -0,0 +1,32 @@
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/22 14:42
*/
@Data
public class PersonListVo {
/**
* 手机号码
*/
private String mobile;
/**
* 姓名
*/
private String name;
/**
* 备注
*/
private String remarks;
private String sid;
@ApiModelProperty("对接人员sid")
private String personSid; // 对接人员sid
}

128
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/YxtCrmMaintenanceenterpriseRecordFeign.java

@ -0,0 +1,128 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
import com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable.*;
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.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecordFeign.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordFeign <br/>
* Description: 定点企业备案. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "定点企业备案")
@FeignClient(
contextId = "yxt-crm-CrmMaintenanceenterpriseRecord",
name = "yxt-crm",
path = "v1/maintenanceEnterprise",
fallback = CrmMaintenanceenterpriseRecordFeignFallback.class)
public interface YxtCrmMaintenanceenterpriseRecordFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
@ResponseBody
public ResultBean<PagerVo<CrmMaintenanceenterpriseRecordVo>> listPage(@RequestBody PagerQuery<CrmMaintenanceenterpriseRecordQuery> pq);
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody CrmMaintenanceenterpriseRecordDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("新增初始化")
@GetMapping("/init")
@ResponseBody
public ResultBean<CrmMaintenanceenterpriseRecordDetailsVo> init(@RequestParam("sid") String sid);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<CrmMaintenanceenterpriseRecordDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
//------------------------------流程接口----------------------------------------------
@ApiOperation("提交")
@PostMapping("/submit")
public ResultBean submitRecordApplication(@RequestBody @Valid SubmitEnterpriseDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody EnterpriseCompleteDto dto);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody EnterpriseTaskQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody EnterpriseTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@RequestBody EnterpriseTaskQuery query);
@ApiOperation(value = "流程历史流转记录")
@GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<EnterpriseNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap EnterpriseNodeQuery query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<EnterpriseNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap EnterpriseNodeQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody EnterpriseDelegateQuery query);
}

37
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseCompleteDto.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 14:57
* @Description
*/
@Data
public class EnterpriseCompleteDto implements Dto {
private static final long serialVersionUID = 6378752532534735663L;
@ApiModelProperty(value = "用户sid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id(PC)")
private String instanceId;
@ApiModelProperty(value = "流程id(移动)")
private String procInsId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
private String orgPath;
}

26
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseDelegateQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 9:28
*/
@Data
public class EnterpriseDelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
// @JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

25
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseNodeQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:04
* @Description
*/
@Data
public class EnterpriseNodeQuery implements Query {
private static final long serialVersionUID = 9117613683840483366L;
@ApiModelProperty(value = "环节定义id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
private Integer next;
}

26
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseNodeVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:03
* @Description
*/
@Data
public class EnterpriseNodeVo implements Vo {
private static final long serialVersionUID = -833419512294877848L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

48
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseTaskQuery.java

@ -0,0 +1,48 @@
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:06
* @Description
*/
@Data
public class EnterpriseTaskQuery implements Query {
private static final long serialVersionUID = 1288615499873178778L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id(PC)")
private String instanceId;
@ApiModelProperty("流程实例Id(移动)")
private String procInsId;
}

24
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/SubmitEnterpriseDto.java

@ -0,0 +1,24 @@
package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable;
import com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.CrmMaintenanceenterpriseRecordDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/04/13
*/
@ApiModel("提交")
@Data
public class SubmitEnterpriseDto extends CrmMaintenanceenterpriseRecordDto {
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java

@ -149,6 +149,8 @@ public class AsBusrepairBillDetailsVo implements Vo {
private String oil;
@ApiModelProperty("当前里程(本次里程)")
private String currentMileage;
@ApiModelProperty("客户车辆sid")
private String customerVehicleSid;
private InvoiceVo invoiceVo = new InvoiceVo(); //发票信息
private InsuranceVo insuranceVo = new InsuranceVo();//保险信息
private OtherVo otherVo = new OtherVo();//送修人信息

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java

@ -147,6 +147,8 @@ public class AsBusrepairBillDto implements Dto {
private String mileage;
@ApiModelProperty("油量(空、小于1/4、1/4、1/2、3/4、满)")
private String oil;
@ApiModelProperty("客户车辆sid")
private String customerVehicleSid;
@ApiModelProperty("当前里程(本次里程)")
private String currentMileage;
private InvoiceVo invoiceVo = new InvoiceVo(); //发票信息

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillvech/AsBusrepairBillVech.java

@ -19,6 +19,8 @@ public class AsBusrepairBillVech extends BaseEntity {
@ApiModelProperty("工单sid")
private String billSid;
@ApiModelProperty("客户车辆sid")
private String customerVehicleSid;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("车牌号")

3
yxt-as/src/main/java/com/yxt/anrui/as/api/ascustomervehicle/AsCustomerCrmVehVo.java

@ -25,7 +25,8 @@ public class AsCustomerCrmVehVo implements Vo {
private String salesCompany; // 销售公司
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("客户车辆sid")
private String customerVehicleSid;
@ApiModelProperty("车型")
private String vehModel; // 客户名称
@ApiModelProperty("来源")

4
yxt-as/src/main/java/com/yxt/anrui/as/api/ascustomervehicle/AsCustomerVehicle.java

@ -54,6 +54,8 @@ public class AsCustomerVehicle extends BaseEntity {
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("销售公司")
private String saleOrgName; // 销售公司名称-集团销售时有值
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车架号")
@ -71,6 +73,8 @@ public class AsCustomerVehicle extends BaseEntity {
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("下次保养日期")
private Date nextMaintainDate; // 下次保养日期
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date saleDate; // 销售日期-集团销售时有值
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("购车日期")
private Date buyDate; // 购车日期

6
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java

@ -350,6 +350,9 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
if (StringUtils.isNotBlank(dto.getOil())) {
vech.setOil(dto.getOil());
}
if (StringUtils.isNotBlank(dto.getCustomerVehicleSid())) {
vech.setCustomerVehicleSid(dto.getCustomerVehicleSid());
}
if (StringUtils.isNotBlank(dto.getCurrentMileage())) {
vech.setCurrentMileage(Integer.parseInt(dto.getCurrentMileage()));
}
@ -584,6 +587,9 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
if (StringUtils.isNotBlank(vech.getVehModel())) {
vo.setVehModel(vech.getVehModel());
}
if (StringUtils.isNotBlank(vech.getCustomerVehicleSid())) {
vo.setCustomerVehicleSid(vech.getCustomerVehicleSid());
}
if (null != vech.getMileage()) {
vo.setMileage(vech.getMileage().toString());
}

11
yxt-as/src/main/java/com/yxt/anrui/as/biz/ascustomervehicle/AsCustomerVehicleMapper.xml

@ -26,18 +26,19 @@
</select>
<select id="customerList" resultType="com.yxt.anrui.as.api.ascustomervehicle.AsCustomerCrmVehVo">
SELECT
v.sid,
c.sid,
v.vehMark,
v.vinNo,
c.`name` AS customerName,
c.customerType,
c.mobile,
s.`name` AS salesCompany,
v.saleOrgName AS salesCompany,
v.vehModel,
c.source
c.source,
v.sid as customerVehicleSid
FROM
as_customer_vehicle AS v
LEFT JOIN anrui_crm.crm_customer_temp AS c ON v.customerSid = c.sid
yxt_crm.crm_customer AS c
LEFT JOIN as_customer_vehicle AS v ON v.customerSid = c.sid
LEFT JOIN anrui_portal.sys_organization AS s ON c.createOrgSid = s.sid
<where> ${ew.sqlSegment} </where>
</select>

7
yxt-as/src/main/java/com/yxt/anrui/as/biz/ascustomervehicle/AsCustomerVehicleService.java

@ -236,12 +236,7 @@ public class AsCustomerVehicleService extends MybatisBaseService<AsCustomerVehic
if (StringUtils.isNotBlank(query.getVehMark())) {
qw.like("v.vehMark", query.getVehMark());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
if (query.getVinNo().length() > 4) {
qw.like("v.vinNo", query.getVinNo());
}
}
qw.orderByDesc("v.id");
qw.orderByDesc("c.sid");
IPage<AsCustomerVehicle> page = PagerUtil.queryToPage(pq);
IPage<AsCustomerCrmVehVo> pagging = baseMapper.customerList(page, qw);
PagerVo<AsCustomerCrmVehVo> p = PagerUtil.pageToVo(pagging, null);

93
yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java

@ -33,9 +33,11 @@ import com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgQuery;
import com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
@ -77,12 +79,16 @@ public class CrmCustomerRest {
}
@ApiOperation("新增或修改")
/**
* pc端潜在客户新增保存
*
* @param dto 客户信息及运行信息数据传输对象
* @return
*/
@ApiOperation("新增保存")
@PostMapping("/save")
public ResultBean save(@RequestBody CrmCustomerDto dto) {
ResultBean rb = ResultBean.fireFail();
crmCustomerService.saveOrUpdateDto(dto);
return rb.success();
public ResultBean save(@Valid @RequestBody CrmCustomerDto dto) {
return crmCustomerService.saveCrmCustomer(dto);
}
@ -102,4 +108,81 @@ public class CrmCustomerRest {
CrmCustomerDetailsVo vo = crmCustomerService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@ApiOperation("根据车架号初始化客户新增页面")
@PostMapping("/customerInit")
public ResultBean<CrmCustomerDto> customerInit(@RequestBody CustomerInitQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isNotBlank(query.getVinNo())) {
String vinNo = query.getVinNo();
if (vinNo.length() != 8 || vinNo.length() != 17) {
return rb.setMsg("请填写8位或17位车架号!");
}
}
CrmCustomerDto vo = crmCustomerService.customerInit(query);
return rb.success().setData(vo);
}
/**
* pc潜在客户的编辑回显
*
* @param sid
* @return
*/
@ApiOperation("获取一条记录")
@GetMapping("/fetchSid/{sid}")
public ResultBean<CrmCustomerVo> fetchSid(@PathVariable("sid") String sid){
ResultBean<CrmCustomerVo> rb = ResultBean.fireFail();
CrmCustomer customerTemp = crmCustomerService.fetchBySid(sid);
if (customerTemp == null) {
return rb.setMsg("该客户不存在");
}
CrmCustomerVo vo = crmCustomerService.fetchAllBySid(sid);
return rb.success().setData(vo);
}
/**
* pc端潜在客户编辑保存
*
* @param dto 数据传输对象
* @param sid 潜在客户sid
* @return
*/
@ApiOperation("修改保存")
@PostMapping("/update/{sid}")
public ResultBean update(@RequestBody CrmCustomerUpdateDto dto, @PathVariable("sid") 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 = crmCustomerService.updateCrmCustomer(dto, sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setMsg(resultBean.getMsg());
}
/**
* 售后客户管理分页列表
*
* @param pq
* @return
*/
@ApiOperation("售后客户管理分页列表")
@PostMapping("/asListPage")
public ResultBean<PagerVo<AsCustomerListVo>> asListPage(PagerQuery<AsCustomerListQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<AsCustomerListVo> pv = crmCustomerService.asListPage(pq);
return rb.success().setData(pv);
}
}

116
yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmDockingPeopleRest.java

@ -0,0 +1,116 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.apiadmin;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.crm.biz.crmdockingpeople.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui-crm(crm) <br/>
* File: CrmDockingPeopleFeignFallback.java <br/>
* Class: com.yxt.anrui.crm.biz.crmdockingpeople.CrmDockingPeopleRest <br/>
* Description: 定点企业对接人信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 17:21:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "定点企业对接人信息")
@RestController
@RequestMapping("v1/crmdockingpeople")
public class CrmDockingPeopleRest{
@Autowired
private CrmDockingPeopleService crmDockingPeopleService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<CrmDockingPeopleVo>> listPage(@RequestBody PagerQuery<CrmDockingPeopleQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<CrmDockingPeopleVo> pv = crmDockingPeopleService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody CrmDockingPeopleDto dto){
ResultBean rb = ResultBean.fireFail();
crmDockingPeopleService.saveOrUpdateDto(dto);
return rb.success();
}
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
crmDockingPeopleService.delBySids(sids);
return rb.success();
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<CrmDockingPeopleDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
CrmDockingPeopleDetailsVo vo = crmDockingPeopleService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@ApiOperation("对接人批量禁用")
@PostMapping("/disableState")
public ResultBean disableState(String[] sid) {
return crmDockingPeopleService.disableState(sid);
}
@ApiOperation("对接人批量启用")
@PostMapping("/enable")
public ResultBean enable(String[] sid) {
return crmDockingPeopleService.enable(sid);
}
@ApiOperation("根据客户SID获取一条记录")
@GetMapping("/getListByCustomerSid")
@ResponseBody
public ResultBean<List<PeopleList>> getListByCustomerSid(String customerSid) {
ResultBean rb = ResultBean.fireFail();
List<PeopleList> list = crmDockingPeopleService.getListByCustomerSid(customerSid);
return rb.success().setData(list);
}
}

112
yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmFileRest.java

@ -0,0 +1,112 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.apiadmin;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.crm.biz.crmfile.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* Project: anrui-crm(客户信息) <br/>
* File: CrmFileFeignFallback.java <br/>
* Class: com.yxt.anrui.crm.biz.crmfile.CrmFileRest <br/>
* Description: 客户资料表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-24 09:15:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "客户资料表")
@RestController
@RequestMapping("v1/crmfile")
public class CrmFileRest {
@Autowired
private CrmFileService crmFileService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<CrmFileVo>> listPage(@RequestBody PagerQuery<CrmFileQuery> pq) {
ResultBean rb = ResultBean.fireFail();
IPage<CrmFileVo> page = crmFileService.listPageVo(pq);
PagerVo<CrmFileVo> pv = new PagerVo<>();
PagerVo<CrmFileVo> pv1 = PagerUtil.pageToVo(page, pv);
return rb.success().setData(pv1);
}
@ApiOperation("新增保存")
@PostMapping("/save")
public ResultBean save(@RequestBody CrmFileDto dto) {
ResultBean rb = ResultBean.fireFail();
crmFileService.saveCrmFile(dto);
return rb.success();
}
@ApiOperation("修改保存")
@PostMapping("/update/{sid}")
public ResultBean update(@RequestBody CrmFileDto dto, @PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
crmFileService.updateCrmFile(dto,sid);
return rb.success();
}
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
crmFileService.delBySids(sids);
return rb.success();
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchBySid/{sid}")
public ResultBean<CrmFileVo> fetchBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
CrmFile vo = crmFileService.fetchBySid(sid);
return rb.success().setData(vo);
}
@ApiOperation(value = "移除文件")
@ApiImplicitParam(name = "fullPath", value = "文件全路径", required = true, dataTypeClass = String.class)
@PostMapping("/deleteFilesOss")
public ResultBean deleteFilesOss(@RequestParam(value = "fullPath") String fullPath) {
return crmFileService.deleteFilesOss(fullPath);
}
}

104
yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterprisePersonRest.java

@ -0,0 +1,104 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.apiadmin;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.crm.biz.crmmaintenanceenterpriseperson.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterprisePersonFeignFallback.java <br/>
* Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonRest <br/>
* Description: 定点企业备案-对接人员. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "定点企业备案-对接人员")
@RestController
@RequestMapping("v1/crmmaintenanceenterpriseperson")
public class CrmMaintenanceenterprisePersonRest{
@Autowired
private CrmMaintenanceenterprisePersonService crmMaintenanceenterprisePersonService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<CrmMaintenanceenterprisePersonVo>> listPage(@RequestBody PagerQuery<CrmMaintenanceenterprisePersonQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<CrmMaintenanceenterprisePersonVo> pv = crmMaintenanceenterprisePersonService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody CrmMaintenanceenterprisePersonDto dto){
ResultBean rb = ResultBean.fireFail();
crmMaintenanceenterprisePersonService.saveOrUpdateDto(dto);
return rb.success();
}
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
crmMaintenanceenterprisePersonService.delBySids(sids);
return rb.success();
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<CrmMaintenanceenterprisePersonDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
CrmMaintenanceenterprisePersonDetailsVo vo = crmMaintenanceenterprisePersonService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/personList")
@ResponseBody
public ResultBean<List<CrmPersonListVo>> personList(String sid) {
ResultBean rb = ResultBean.fireFail();
List<CrmPersonListVo> list = crmMaintenanceenterprisePersonService.personList(sid);
return rb.success().setData(list);
}
}

172
yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterpriseRecordRest.java

@ -0,0 +1,172 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.apiadmin;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.crm.biz.crmmaintenanceenterpriserecord.*;
import com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable.*;
import com.yxt.crm.feign.flowable.flow.BusinessVariables;
import com.yxt.crm.feign.flowable.flow.ProcDefEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecordFeignFallback.java <br/>
* Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordRest <br/>
* Description: 定点企业备案. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "定点企业备案")
@RestController
@RequestMapping("v1/maintenanceEnterprise")
public class CrmMaintenanceenterpriseRecordRest {
@Autowired
private CrmMaintenanceenterpriseRecordService crmMaintenanceenterpriseRecordService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
@ResponseBody
public ResultBean<PagerVo<CrmMaintenanceenterpriseRecordVo>> listPage(@RequestBody PagerQuery<CrmMaintenanceenterpriseRecordQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<CrmMaintenanceenterpriseRecordVo> pv = crmMaintenanceenterpriseRecordService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody CrmMaintenanceenterpriseRecordDto dto){
ResultBean rb = ResultBean.fireFail();
crmMaintenanceenterpriseRecordService.saveOrUpdateDto(dto);
return rb.success();
}
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids){
return crmMaintenanceenterpriseRecordService.deleteBySids(sids);
}
@ApiOperation("新增初始化")
@GetMapping("/init")
@ResponseBody
public ResultBean<CrmMaintenanceenterpriseRecordDetailsVo> init(@RequestParam("sid") String sid) {
return crmMaintenanceenterpriseRecordService.init(sid);
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<CrmMaintenanceenterpriseRecordDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
CrmMaintenanceenterpriseRecordDetailsVo vo = crmMaintenanceenterpriseRecordService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@ApiOperation("提交")
@PostMapping("/submit")
public ResultBean submitRecordApplication(@RequestBody @Valid SubmitEnterpriseDto dto) {
return crmMaintenanceenterpriseRecordService.submitRecordApplication(dto);
}
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody EnterpriseCompleteDto dto){
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(dto, bv);
bv.setModelId(ProcDefEnum.ENTERPRISEAPPLY.getProDefId());
return crmMaintenanceenterpriseRecordService.complete(bv);
}
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody EnterpriseTaskQuery query) {
return crmMaintenanceenterpriseRecordService.revokeProcess(query);
}
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody EnterpriseTaskQuery query) {
return crmMaintenanceenterpriseRecordService.taskReject(query);
}
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody EnterpriseTaskQuery query) {
return crmMaintenanceenterpriseRecordService.breakProcess(query);
}
@ApiOperation(value = "流程历史流转记录")
@GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId) {
return crmMaintenanceenterpriseRecordService.flowRecord(procInsId);
}
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
public ResultBean<List<EnterpriseNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap EnterpriseNodeQuery query) {
return crmMaintenanceenterpriseRecordService.getNextNodesForSubmit(query);
}
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
public ResultBean<List<EnterpriseNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap EnterpriseNodeQuery query) {
return crmMaintenanceenterpriseRecordService.getPreviousNodesForReject(query);
}
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody EnterpriseDelegateQuery query) {
return crmMaintenanceenterpriseRecordService.delegate(query);
}
}

93
yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterpriseVehRest.java

@ -0,0 +1,93 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.apiadmin;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.crm.biz.crmmaintenanceenterpriseveh.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseVehFeignFallback.java <br/>
* Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehRest <br/>
* Description: 定点企业备案-车辆信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "定点企业备案-车辆信息")
@RestController
@RequestMapping("v1/crmmaintenanceenterpriseveh")
public class CrmMaintenanceenterpriseVehRest {
@Autowired
private CrmMaintenanceenterpriseVehService crmMaintenanceenterpriseVehService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<CrmMaintenanceenterpriseVehVo>> listPage(@RequestBody PagerQuery<CrmMaintenanceenterpriseVehQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<CrmMaintenanceenterpriseVehVo> pv = crmMaintenanceenterpriseVehService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody CrmMaintenanceenterpriseVehDto dto){
ResultBean rb = ResultBean.fireFail();
crmMaintenanceenterpriseVehService.saveOrUpdateDto(dto);
return rb.success();
}
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
crmMaintenanceenterpriseVehService.delBySids(sids);
return rb.success();
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<CrmMaintenanceenterpriseVehDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
CrmMaintenanceenterpriseVehDetailsVo vo = crmMaintenanceenterpriseVehService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
}

35
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/AsCustomerListQuery.java

@ -0,0 +1,35 @@
package com.yxt.crm.biz.crmcustomer;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/6/3 13:42
*/
@Data
public class AsCustomerListQuery implements Query {
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("客户类型key(自然人/法人)")
private String customerTypeKey;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
private String levelKey;
@ApiModelProperty("提醒开始日期")
private String remindStartDay;
@ApiModelProperty("提醒结束日期")
private String remindEndDay;
@ApiModelProperty("全路径")
private String orgPath;
private String userSid;
@ApiModelProperty("菜单url")
private String menuUrl;
@ApiModelProperty("是否为定点企业 1是0否")
private String isDesignatedEnterprise;
}

40
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/AsCustomerListVo.java

@ -0,0 +1,40 @@
package com.yxt.crm.biz.crmcustomer;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/6/3 13:42
*/
@Data
public class AsCustomerListVo implements Vo {
@ApiModelProperty("潜在客户sid")
private String sid;
@ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))")
private String customerNo;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("客户类型(自然人/法人)")
private String customerType;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("微信号码")
private String weixin;
@ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
private String level;
@ApiModelProperty("提醒日期")
private String remind_day;
private String vehCount; //车辆数量
private String personCount; //对接人数量
private String isDesignatedEnterprise; //是否为定点企业 1是0否
private String filingIndate; //备案有效期
private String isFilingIndate; //备案有效期是否已过 1是0否
private String isEnable; //使用状态 1启用0禁用
}

160
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java

@ -31,6 +31,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: crm(crm) <br/>
* File: CrmCustomer.java <br/>
@ -50,23 +52,145 @@ import lombok.Data;
public class CrmCustomer extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("客户名称")
private String name; // 客户名称
@ApiModelProperty("客户编码")
private String customerNo; // 客户编码
@ApiModelProperty("联系电话")
private String mobile; // 联系电话
@ApiModelProperty("客户类型")
private String customerTypeKey; // 客户类型
@ApiModelProperty("客户类型(个人、企业)")
private String customerType; // 客户类型(个人、企业)
@ApiModelProperty("所在单位sid")
private String orgSid; // 所在单位sid
@ApiModelProperty("所在单位")
private String orgName; // 所在单位
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))")
private String customerNo;
@ApiModelProperty("客户类型(自然人/法人)")
private String customerType;
@ApiModelProperty("客户类型key")
private String customerTypeKey;
@ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
private String customerClass;
@ApiModelProperty("客户分类key")
private String customerClassKey;
@ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
private String source;
@ApiModelProperty("客户来源key")
private String sourceKey;
@ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
private String level;
@ApiModelProperty("客户级别key")
private String levelKey;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("证件类型key")
private String certificateTypeKey;
@ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
private String certificateType;
@ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
private String IDNumber;
@ApiModelProperty("证件有效期")
private String endDate;
@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 zipCode;
@ApiModelProperty("电子邮箱")
private String e_mail;
@ApiModelProperty("联系人")
private String contacts;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("紧急联系电话")
private String emergencyContact;
@ApiModelProperty("紧急联系电话")
private String emergencyMobile;
@ApiModelProperty("微信号码")
private String weixin;
@ApiModelProperty("业务人员sid")
private String staffSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("创建部门sid")
private String useOrgSid;
@ApiModelProperty("性别")
private String sex;
@ApiModelProperty("性别key")
private String sexKey;
@ApiModelProperty("生日")
private String birthday;
@ApiModelProperty("所在公司名称")
private String companyName;
@ApiModelProperty("跟进状态key")
private String follow_state_key;
@ApiModelProperty("跟进状态")
private String follow_state;
@ApiModelProperty("是否开启提醒key(1开启,0不开启)")
private String isOnRemindkey;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemind;
@ApiModelProperty("提醒日期")
private String remind_day;
@ApiModelProperty("提醒备注")
private String remind_remark;
@ApiModelProperty("客户头像")
private String customerPhoto;
@ApiModelProperty("见面方式key")
private String visitWayKey;
@ApiModelProperty("见面方式(到店/电话/拜访)")
private String visitWay;
@ApiModelProperty("证件地址")
private String certificateAddress;
@ApiModelProperty("是否为定点企业(1是0否)")
private Integer isDesignatedEnterprise;
@ApiModelProperty("定点企业备案有效期")
private Date filingIndate;
}

145
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java

@ -32,6 +32,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
/**
* Project: crm(crm) <br/>
* File: CrmCustomerDto.java <br/>
@ -49,25 +52,123 @@ import lombok.Data;
@ApiModel(value = "客户 数据传输对象", description = "客户 数据传输对象")
public class CrmCustomerDto implements Dto {
private String sid; // sid
@ApiModelProperty("客户名称")
private String name; // 客户名称
@ApiModelProperty("客户编码")
private String customerNo; // 客户编码
@ApiModelProperty("联系电话")
private String mobile; // 联系电话
@ApiModelProperty("客户类型")
private String customerTypeKey; // 客户类型
@ApiModelProperty("客户类型(个人、企业)")
private String customerType; // 客户类型(个人、企业)
@ApiModelProperty("所在单位sid")
private String orgSid; // 所在单位sid
@ApiModelProperty("所在单位")
private String orgName; // 所在单位
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}
private static final long serialVersionUID = 793474187074718535L;
@ApiModelProperty(value = "当前登录用户的sid")
private String userSid;
@ApiModelProperty(value = "客户类型(1个人/2企业)", 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 = "联系电话为必填项")
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("是否开启提醒(1开启,0不开启)")
private String isOnRemindkey;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemind;
@ApiModelProperty("提醒日期")
private String remind_day;
@ApiModelProperty("提醒备注")
private String remind_remark;
//更多信息
@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("业务人员sid")
private String staffSid;
// //运营信息
// @ApiModelProperty(value = "运营信息")
// private CrmBusinessDto crmBusinessDto = new CrmBusinessDto();
// //见证材料集合
// @ApiModelProperty(value = "见证材料的集合,编辑保存时无此字段")
// private List<PcCrmVisitAppendixDto> crmVisitAppendixDtoList = new ArrayList<>();
private String orgPath;
private String useOrgSid;
private String customerOrgSid;
private String customerOrgName;
private String vinNo;
private String vehState;
private String saleOrgName;
private String saleDate;
}

12
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java

@ -54,15 +54,19 @@ public interface CrmCustomerMapper extends BaseMapper<CrmCustomer> {
//@Update("update crm_customer set name=#{msg} where id=#{id}")
//IPage<CrmCustomerVo> voPage(IPage<CrmCustomer> page, @Param(Constants.WRAPPER) QueryWrapper<CrmCustomer> qw);
IPage<CrmCustomerVo> selectPageVo(IPage<CrmCustomer> page, @Param(Constants.WRAPPER) Wrapper<CrmCustomer> qw);
List<CrmCustomerVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<CrmCustomer> qw);
@Select("select * from crm_customer")
List<CrmCustomerVo> selectListVo();
List<CustomerVehVo> customerListPage(@Param(Constants.WRAPPER) QueryWrapper<CrmCustomer> qw);
List<CustomerVehVo> customerList();
}
CrmCustomer selectByCustomerNo(String customerNo);
IPage<AsCustomerListVo> asListPage(IPage<CrmCustomer> page, @Param(Constants.WRAPPER)QueryWrapper<CrmCustomer> qw);
}

28
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml

@ -31,4 +31,30 @@
useOrgSid
FROM crm_customer
</select>
</mapper>
<select id="asListPage" resultType="com.yxt.crm.biz.crmcustomer.AsCustomerListVo">
SELECT
a.*,
CASE
WHEN a.filingIndate >= NOW() THEN
'0'
WHEN a.filingIndate &lt; NOW() THEN
'1'
ELSE '1'
END as isFilingIndate,
(SELECT COUNT(*) FROM yxt_4sas.as_customer_vehicle as v WHERE v.customerSid = a.sid and v.isDelete = 0) as vehCount,
(SELECT COUNT(*) FROM crm_docking_people as d WHERE d.customerSid = a.sid and d.isDelete = 0) as personCount
FROM
crm_customer AS a
LEFT JOIN anrui_portal.sys_organization as s on a.useOrgSid = s.sid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectByCustomerNo" resultType="com.yxt.crm.biz.crmcustomer.CrmCustomer">
select *
from crm_customer
where customerNo = #{customerNo}
</select>
</mapper>

378
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java

@ -26,11 +26,30 @@
package com.yxt.crm.biz.crmcustomer;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.utils.HanZiConverterPinYin;
import com.yxt.common.base.utils.HttpStatusEnum;
import com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrg;
import com.yxt.crm.feign.anruicrm.crmcustomertemp.CrmCustomerTemp;
import com.yxt.crm.feign.anruicrm.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerCrmVehVo;
import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerVehicleDto;
import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerVehicleFeign;
import com.yxt.crm.feign.base.basevehicleoutapply.BaseVehicleOutApplyFeign;
import com.yxt.crm.feign.bus.bussalesorder.BusSalesOrder;
import com.yxt.crm.feign.bus.bussalesorder.BusSalesOrderFeign;
import com.yxt.crm.feign.portal.dictcommon.DictCommonFeign;
import com.yxt.crm.feign.portal.dictcommon.DictCommonType;
import com.yxt.crm.feign.portal.privilege.PrivilegeQuery;
import com.yxt.crm.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.crm.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.crm.feign.portal.sysstafforg.SysStaffOrg;
import com.yxt.crm.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.crm.feign.portal.sysuser.SysUserDto;
import com.yxt.crm.feign.portal.sysuser.SysUserFeign;
import com.yxt.crm.feign.portal.sysuser.SysUserVo;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -38,6 +57,7 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -64,10 +84,22 @@ import java.util.stream.Collectors;
@Service
public class CrmCustomerService extends MybatisBaseService<CrmCustomerMapper, CrmCustomer> {
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private BaseVehicleOutApplyFeign baseVehicleOutApplyFeign;
@Autowired
private DictCommonFeign dictCommonFeign;
@Resource
private AsCustomerVehicleFeign asCustomerVehicleFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
private QueryWrapper<CrmCustomer> createQueryWrapper(CrmCustomerQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -85,14 +117,7 @@ public class CrmCustomerService extends MybatisBaseService<CrmCustomerMapper, Cr
return p;
}
public void saveOrUpdateDto(CrmCustomerDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(CrmCustomerDto dto) {
CrmCustomer entity = new CrmCustomer();
@ -100,15 +125,7 @@ public class CrmCustomerService extends MybatisBaseService<CrmCustomerMapper, Cr
baseMapper.insert(entity);
}
public void updateByDto(CrmCustomerDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
CrmCustomer entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public CrmCustomerDetailsVo fetchDetailsVoBySid(String sid) {
CrmCustomer entity = fetchBySid(sid);
@ -288,4 +305,329 @@ public class CrmCustomerService extends MybatisBaseService<CrmCustomerMapper, Cr
}
return subList;
}
}
public PagerVo<AsCustomerListVo> asListPage(PagerQuery<AsCustomerListQuery> pq) {
AsCustomerListQuery query = pq.getParams();
QueryWrapper<CrmCustomer> qw = new QueryWrapper<>();
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(query.getMenuUrl())) {
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("a.createBySid", query.getUserSid());
} else {
PagerVo<AsCustomerListVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<AsCustomerListVo> p = new PagerVo<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getName())) {
qw.like("a.name", query.getName());
}
if (StringUtils.isNotBlank(query.getCustomerTypeKey())) {
qw.eq("a.customerTypeKey", query.getCustomerTypeKey());
}
if (StringUtils.isNotBlank(query.getMobile())) {
qw.like("a.mobile", query.getMobile());
}
if (StringUtils.isNotBlank(query.getLevelKey())) {
qw.like("a.levelKey", query.getLevelKey());
}
if (StringUtils.isNotBlank(query.getIsDesignatedEnterprise())) {
qw.eq("a.isDesignatedEnterprise", query.getIsDesignatedEnterprise());
}
String remindStartDay = query.getRemindStartDay();
String remindEndDay = query.getRemindEndDay();
qw.apply(StringUtils.isNotBlank(remindStartDay), "date_format (a.remind_day,'%Y-%m-%d') >= date_format('" + remindStartDay + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(remindEndDay), "date_format (a.remind_day,'%Y-%m-%d') <= date_format('" + remindEndDay + "','%Y-%m-%d')"
);
qw.apply("a.useOrgSid IS NOT NULL and a.useOrgSid != ''");
qw.eq("a.isDelete", 0);
qw.orderByDesc("a.createTime");
IPage<CrmCustomer> page = PagerUtil.queryToPage(pq);
IPage<AsCustomerListVo> pagging = baseMapper.asListPage(page, qw);
PagerVo<AsCustomerListVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
/**
* pc端潜在客户新增保存
*
* @param dto 数据传输对象
* state值211为当前用户的客户
* @return
*/
public ResultBean saveCrmCustomer(CrmCustomerDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = "";
if (dto.getVehState().equals("0")) {
CrmCustomer crmCustomerTemp = new CrmCustomer();
BeanUtil.copyProperties(dto,crmCustomerTemp);
String orgSid = "";
if (StringUtils.isNotBlank(dto.getOrgPath())) {
orgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
} else {
orgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
}
crmCustomerTemp.setCreateOrgSid(orgSid);
ResultBean resultBean = dictCommonFeign.getFirstDictKeyByType(DictCommonType.FOLLOW_STATE, "0");
if (resultBean.getSuccess() && resultBean.getData() != null) {
String key = resultBean.getData().toString();
crmCustomerTemp.setFollow_state_key(key);
crmCustomerTemp.setFollow_state(dictCommonFeign.selectBykey(key, DictCommonType.FOLLOW_STATE).getData().getDictValue());
}
//客户编码
String customerNo = getPrefix(crmCustomerTemp.getStaffSid(), crmCustomerTemp.getName(), crmCustomerTemp.getMobile());
crmCustomerTemp.setCustomerNo(customerNo);
if (StringUtils.isNotBlank(dto.getUseOrgSid())) {
crmCustomerTemp.setUseOrgSid(dto.getUseOrgSid());
}
save(crmCustomerTemp);
sid = crmCustomerTemp.getSid();
AsCustomerVehicleDto v = new AsCustomerVehicleDto();
if (StringUtils.isNotBlank(dto.getVinNo())) {
v.setVinNo(dto.getVinNo());
}
v.setCustomerSid(sid);
asCustomerVehicleFeign.save(v);
} else {
//手机号
String mobile = dto.getMobile();
//微信号
String weixin = dto.getWeixin();
if ("1".equals(dto.getCustomerType())) {
/* if (!mobile.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("手机号格式不正确");
}*/
/*if (StringUtils.isNotBlank(dto.getIDNumber())) {
if (!weixin.matches("^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$")) {
return rb.setMsg("证件号码格式不正确");
}
}*/
} else {
/*if (StringUtils.isNotBlank(dto.getIDNumber())) {
if (dto.getIDNumber().length() != 9 && dto.getIDNumber().length() != 18) {
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获取业务员信息
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
if (sysUserVo == null) {
return rb.setMsg("该用户不存在");
}
String staffSid = sysUserVo.getStaffSid();
String name = dto.getName();
//生成客户编码:分公司简称+部门编码+手机号+姓名首字母大写拼写
String customerNo = getPrefix(staffSid, name, mobile);
//查询该客户编码是否存在
CrmCustomer crmCustomerTemp = baseMapper.selectByCustomerNo(customerNo);
if (crmCustomerTemp != null) {//存在
//查询是否是当前用户客户
if (!dto.getUserSid().equals(crmCustomerTemp.getCreateBySid())) {
String staffName = "";
SysUserVo sysCrmVo = sysUserFeign.fetchBySid(crmCustomerTemp.getCreateBySid()).getData();
if (sysCrmVo != null) {
staffName = sysCrmVo.getName();
return rb.setCode(HttpStatusEnum.CRM_ERROR_NOTBELONG.getCode()).setMsg("为" + staffName + "销售专员客户");
}
} else {
// 返回潜在客户sid,跳转维护信息页面
return rb.setCode(HttpStatusEnum.CRM_ERROR_EXIST.getCode()).setMsg(HttpStatusEnum.CRM_ERROR_EXIST.getMsg()).setData(crmCustomerTemp.getSid());
}
} else {//不存在
// 新增
CrmCustomer customerTemp = saveCrmCustomerTemp(dto, sysUserVo);
sid = customerTemp.getSid();
}
}
return rb.success().setData(sid);
}
/**
* 新增潜在客户信息及运营信息并增加跟进记录
*
* @param dto 潜在客户信息数据传输对象
* @param sysUserInfoVo 当前登录者的组织信息
* @return
*/
private CrmCustomer saveCrmCustomerTemp(CrmCustomerDto dto, SysUserVo sysUserInfoVo) {
CrmCustomer crmCustomerTemp = new CrmCustomer();
dto.fillEntity(crmCustomerTemp);
crmCustomerTemp.setCreateBySid(dto.getUserSid());
crmCustomerTemp.setStaffSid(sysUserInfoVo.getStaffSid());
String orgSid = "";
if (StringUtils.isNotBlank(dto.getOrgPath())) {
orgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
} else {
orgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
}
crmCustomerTemp.setCreateOrgSid(orgSid);
ResultBean resultBean = dictCommonFeign.getFirstDictKeyByType(DictCommonType.FOLLOW_STATE, "0");
if (resultBean.getSuccess() && resultBean.getData() != null) {
String key = resultBean.getData().toString();
crmCustomerTemp.setFollow_state_key(key);
crmCustomerTemp.setFollow_state(dictCommonFeign.selectBykey(key, DictCommonType.FOLLOW_STATE).getData().getDictValue());
}
//客户编码
String customerNo = getPrefix(crmCustomerTemp.getStaffSid(), crmCustomerTemp.getName(), crmCustomerTemp.getMobile());
crmCustomerTemp.setCustomerNo(customerNo);
if (StringUtils.isNotBlank(dto.getUseOrgSid())) {
crmCustomerTemp.setUseOrgSid(dto.getUseOrgSid());
}
save(crmCustomerTemp);
//创建客户账号中
SysUserDto sysUserDto = new SysUserDto();
sysUserDto.setMobile(dto.getMobile());
sysUserDto.setUserType(2);
sysUserFeign.saveCustUser(sysUserDto);
return crmCustomerTemp;
}
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 + mobile + HanZiConverterPinYin.getPinYinFirst(name);
System.out.println(customerNoPrefix.length() > 30 ? customerNoPrefix.substring(0, 30) : customerNoPrefix);
return customerNoPrefix.length() > 30 ? customerNoPrefix.substring(0, 30) : customerNoPrefix;
}
public CrmCustomerVo fetchAllBySid(String sid) {
CrmCustomerVo vo = new CrmCustomerVo();
CrmCustomer crmCustomerTemp = this.fetchBySid(sid);
BeanUtil.copyProperties(crmCustomerTemp, vo);
return vo;
}
/**
* 潜在客户的信息的编辑保存
*
* @param dto 数据传输对象
* @param sid 潜在客户的sid
* @return
*/
public ResultBean updateCrmCustomer(CrmCustomerUpdateDto dto, String sid) {
ResultBean rb = ResultBean.fireFail();
CrmCustomer customerTemp = fetchBySid(sid);
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);
if (StringUtils.isNotBlank(dto.getUseOrgSid())) {
customerTemp.setUseOrgSid(dto.getUseOrgSid());
}
baseMapper.updateById(customerTemp);
return rb.success();
}
public CrmCustomerDto customerInit(CustomerInitQuery query) {
CrmCustomerDto vo = new CrmCustomerDto();
vo.setVehState("1");
if (StringUtils.isNotBlank(query.getVinNo())) {
String vinNo = query.getVinNo();
String orderSid = baseVehicleOutApplyFeign.selectSidByVinNo(vinNo).getData();
if (StringUtils.isNotBlank(orderSid)) {
BusSalesOrder order = busSalesOrderFeign.fetchBySid(orderSid).getData();
if (null != order) {
if (StringUtils.isNotBlank(order.getCustomerSid())) {
String customerSid = order.getCustomerSid();
CrmCustomerTemp customerTemp = crmCustomerTempFeign.fetchEntity(customerSid).getData();
if (null != customerTemp) {
BeanUtils.copyProperties(customerTemp,vo,"isDesignatedEnterprise","filingIndate");
vo.setVehState("0");
vo.setVinNo(vinNo);
vo.setSaleOrgName(order.getUseOrgName());
vo.setSaleDate(DateUtil.formatDate(order.getCreateDate()));
}
}
}
}
}
vo.setUserSid(query.getUserSid());
vo.setUseOrgSid(query.getUseOrgSid());
vo.setOrgPath(query.getOrgPath());
vo.setVisitWay(query.getVisitWay());
vo.setVisitWayKey(query.getVisitWayKey());
vo.setCustomerType(query.getCustomerType());
vo.setCustomerTypeKey(query.getCustomerTypeKey());
return vo;
}
}

117
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerUpdateDto.java

@ -0,0 +1,117 @@
package com.yxt.crm.biz.crmcustomer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
/**
* @author Fan
* @description
* @date 2024/10/28 10:09
*/
@Data
public class CrmCustomerUpdateDto {
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;
private String orgPath;
private String useOrgSid;
private String customerOrgSid;
private String customerOrgName;
// //运营信息
// @ApiModelProperty(value = "运营信息")
// private CrmBusinessDto crmBusinessDto = new CrmBusinessDto();
}

187
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java

@ -26,12 +26,15 @@
package com.yxt.crm.biz.crmcustomer;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: crm(crm) <br/>
* File: CrmCustomerVo.java <br/>
@ -49,25 +52,169 @@ import lombok.Data;
@ApiModel(value = "客户 视图数据对象", description = "客户 视图数据对象")
public class CrmCustomerVo implements Vo {
private String sid; // sid
@ApiModelProperty("客户名称")
private String name; // 客户名称
@ApiModelProperty("客户编码")
private String customerNo; // 客户编码
@ApiModelProperty("联系电话")
private String mobile; // 联系电话
@ApiModelProperty("客户类型")
private String customerTypeKey; // 客户类型
@ApiModelProperty("客户类型(个人、企业)")
private String customerType; // 客户类型(个人、企业)
@ApiModelProperty("所在单位sid")
private String orgSid; // 所在单位sid
@ApiModelProperty("所在单位")
private String orgName; // 所在单位
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("潜在客户sid")
private String sid;
@ApiModelProperty("分公司名称")
private String createOrgName;
@ApiModelProperty("业务员名称")
private String staffName;
@ApiModelProperty("部门名称")
private String deptName;
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("登记日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))")
private String customerNo;
@ApiModelProperty("客户类型(自然人/法人)")
private String customerType;
@ApiModelProperty("客户类型key")
private String customerTypeKey;
@ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
private String customerClass;
@ApiModelProperty("客户分类key")
private String customerClassKey;
@ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
private String source;
@ApiModelProperty("客户来源key")
private String sourceKey;
@ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
private String level;
@ApiModelProperty("客户级别key")
private String levelKey;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("证件类型key")
private String certificateTypeKey;
@ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
private String certificateType;
@ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
private String IDNumber;
@ApiModelProperty("证件有效期")
private String endDate;
@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 zipCode;
@ApiModelProperty("电子邮箱")
private String e_mail;
@ApiModelProperty("联系人")
private String contacts;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("紧急联系电话")
private String emergencyContact;
@ApiModelProperty("紧急联系电话")
private String emergencyMobile;
@ApiModelProperty("微信号码")
private String weixin;
@ApiModelProperty("业务人员sid")
private String staffSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("性别")
private String sex;
@ApiModelProperty("性别key")
private String sexKey;
@ApiModelProperty("客户生日")
private String birthday;
@ApiModelProperty("所在公司名称")
private String companyName;
@ApiModelProperty("跟进状态key")
private String follow_state_key;
@ApiModelProperty("跟进状态")
private String follow_state;
@ApiModelProperty("是否开启提醒key(1开启,0不开启)")
private String isOnRemindkey;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemind;
@ApiModelProperty("提醒日期")
private String remind_day;
@ApiModelProperty("提醒备注")
private String remind_remark;
@ApiModelProperty("客户头像")
private String customerPhoto;
@ApiModelProperty("见面方式key")
private String visitWayKey;
@ApiModelProperty("见面方式(到店/电话/拜访)")
private String visitWay;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("意向车型数量")
private String yxcounts;
@ApiModelProperty("跟进记录数量")
private String gjcounts;
// @ApiModelProperty("客户运营信息")
// private CrmBusinessVo crmBusinessVo;
private String useOrgSid;
private String customerOrgSid;
private String customerOrgName;
}

34
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerInitQuery.java

@ -0,0 +1,34 @@
package com.yxt.crm.biz.crmcustomer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Fan
* @description
* @date 2024/10/28 11:46
*/
@Data
public class CustomerInitQuery {
private String vinNo;
private String userSid;
private String orgPath;
private String useOrgSid;
@ApiModelProperty(value = "客户类型(1个人/2企业)", 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;
}

60
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeople.java

@ -0,0 +1,60 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmdockingpeople;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(crm) <br/>
* File: CrmDockingPeople.java <br/>
* Class: com.yxt.anrui.crm.api.crmdockingpeople.CrmDockingPeople <br/>
* Description: 定点企业对接人信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 17:21:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业对接人信息", description = "定点企业对接人信息")
@TableName("crm_docking_people")
public class CrmDockingPeople extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("对接人")
private String name; // 对接人
@ApiModelProperty("手机号码")
private String mobile; // 手机号码
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
}

60
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleDetailsVo.java

@ -0,0 +1,60 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmdockingpeople;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(crm) <br/>
* File: CrmDockingPeopleVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmdockingpeople.CrmDockingPeopleVo <br/>
* Description: 定点企业对接人信息 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 17:21:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业对接人信息 视图数据详情", description = "定点企业对接人信息 视图数据详情")
public class CrmDockingPeopleDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("对接人")
private String name; // 对接人
@ApiModelProperty("手机号码")
private String mobile; // 手机号码
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
}

60
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleDto.java

@ -0,0 +1,60 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmdockingpeople;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(crm) <br/>
* File: CrmDockingPeopleDto.java <br/>
* Class: com.yxt.anrui.crm.api.crmdockingpeople.CrmDockingPeopleDto <br/>
* Description: 定点企业对接人信息 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 17:21:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业对接人信息 数据传输对象", description = "定点企业对接人信息 数据传输对象")
public class CrmDockingPeopleDto implements Dto {
private String sid; // sid
@ApiModelProperty("对接人")
private String name; // 对接人
@ApiModelProperty("手机号码")
private String mobile; // 手机号码
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
}

69
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleMapper.java

@ -0,0 +1,69 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmdockingpeople;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* Project: anrui-crm(crm) <br/>
* File: CrmDockingPeopleMapper.java <br/>
* Class: com.yxt.anrui.crm.biz.crmdockingpeople.CrmDockingPeopleMapper <br/>
* Description: 定点企业对接人信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 17:21:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface CrmDockingPeopleMapper extends BaseMapper<CrmDockingPeople> {
//@Update("update crm_docking_people set name=#{msg} where id=#{id}")
//IPage<CrmDockingPeopleVo> voPage(IPage<CrmDockingPeople> page, @Param(Constants.WRAPPER) QueryWrapper<CrmDockingPeople> qw);
IPage<CrmDockingPeopleVo> selectPageVo(IPage<CrmDockingPeople> page, @Param(Constants.WRAPPER) Wrapper<CrmDockingPeople> qw);
List<CrmDockingPeopleVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<CrmDockingPeople> qw);
@Select("select * from crm_docking_people")
List<CrmDockingPeopleVo> selectListVo();
List<PeopleList> getListByCustomerSid(@Param("customerSid") String customerSid);
@Delete("delete from crm_docking_people where customerSid = #{customerSid}")
void delByCustomerSid(String customerSid);
}

16
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleMapper.xml

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.crm.biz.crmdockingpeople.CrmDockingPeopleMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.crm.biz.crmdockingpeople.CrmDockingPeopleVo">
SELECT * FROM crm_docking_people <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.crm.biz.crmdockingpeople.CrmDockingPeopleVo">
SELECT * FROM crm_docking_people <where> ${ew.sqlSegment} </where>
</select>
<select id="getListByCustomerSid" resultType="com.yxt.crm.biz.crmdockingpeople.PeopleList">
SELECT * FROM crm_docking_people where customerSid =#{customerSid}
</select>
</mapper>

58
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleQuery.java

@ -0,0 +1,58 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmdockingpeople;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(crm) <br/>
* File: CrmDockingPeopleQuery.java <br/>
* Class: com.yxt.anrui.crm.api.crmdockingpeople.CrmDockingPeopleQuery <br/>
* Description: 定点企业对接人信息 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 17:21:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业对接人信息 查询条件", description = "定点企业对接人信息 查询条件")
public class CrmDockingPeopleQuery implements Query {
@ApiModelProperty("对接人")
private String name; // 对接人
@ApiModelProperty("手机号码")
private String mobile; // 手机号码
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
}

132
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleService.java

@ -0,0 +1,132 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmdockingpeople;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Project: anrui-crm(crm) <br/>
* File: CrmDockingPeopleService.java <br/>
* Class: com.yxt.anrui.crm.biz.crmdockingpeople.CrmDockingPeopleService <br/>
* Description: 定点企业对接人信息 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 17:21:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class CrmDockingPeopleService extends MybatisBaseService<CrmDockingPeopleMapper, CrmDockingPeople> {
private QueryWrapper<CrmDockingPeople> createQueryWrapper(CrmDockingPeopleQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<CrmDockingPeople> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<CrmDockingPeopleVo> listPageVo(PagerQuery<CrmDockingPeopleQuery> pq) {
CrmDockingPeopleQuery query = pq.getParams();
QueryWrapper<CrmDockingPeople> qw = createQueryWrapper(query);
IPage<CrmDockingPeople> page = PagerUtil.queryToPage(pq);
IPage<CrmDockingPeopleVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<CrmDockingPeopleVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(CrmDockingPeopleDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(CrmDockingPeopleDto dto){
CrmDockingPeople entity = new CrmDockingPeople();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(CrmDockingPeopleDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
CrmDockingPeople entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public CrmDockingPeopleDetailsVo fetchDetailsVoBySid(String sid){
CrmDockingPeople entity = fetchBySid(sid);
CrmDockingPeopleDetailsVo vo = new CrmDockingPeopleDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public ResultBean disableState(String[] sid) {
ResultBean rb = ResultBean.fireFail();
for (String s : sid) {
CrmDockingPeople crmDockingPeople = fetchBySid(s);
crmDockingPeople.setIsEnable(0);
baseMapper.updateById(crmDockingPeople);
}
return rb.success();
}
public ResultBean enable(String[] sid) {
ResultBean rb = ResultBean.fireFail();
for (String s : sid) {
CrmDockingPeople crmDockingPeople = fetchBySid(s);
crmDockingPeople.setIsEnable(1);
baseMapper.updateById(crmDockingPeople);
}
return rb.success();
}
public List<PeopleList> getListByCustomerSid(String customerSid) {
return baseMapper.getListByCustomerSid(customerSid);
}
public void delByCustomerSid(String customerSid) {
baseMapper.delByCustomerSid(customerSid);
}
}

60
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleVo.java

@ -0,0 +1,60 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmdockingpeople;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(crm) <br/>
* File: CrmDockingPeopleVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmdockingpeople.CrmDockingPeopleVo <br/>
* Description: 定点企业对接人信息 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 17:21:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业对接人信息 视图数据对象", description = "定点企业对接人信息 视图数据对象")
public class CrmDockingPeopleVo implements Vo {
private String sid; // sid
@ApiModelProperty("对接人")
private String name; // 对接人
@ApiModelProperty("手机号码")
private String mobile; // 手机号码
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
}

20
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/PeopleList.java

@ -0,0 +1,20 @@
package com.yxt.crm.biz.crmdockingpeople;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/31 14:33
*/
@Data
public class PeopleList {
private String sid;
@ApiModelProperty("对接人")
private String name; // 对接人
@ApiModelProperty("手机号码")
private String mobile; // 手机号码
private String remarks;
}

158
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFile.java

@ -0,0 +1,158 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmfile;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* Project: anrui-crm(客户信息) <br/>
* File: CrmFile.java <br/>
* Class: com.yxt.anrui.crm.api.crmfile.CrmFile <br/>
* Description: 客户资料表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-24 09:15:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "客户资料表", description = "客户资料表")
@TableName("crm_file")
public class CrmFile extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("文件名")
private String fileName; // 文件名
@ApiModelProperty("文件类型")
private String fileType; // 文件类型
@ApiModelProperty("上传人姓名")
private String name; // 上传人姓名
@ApiModelProperty("关联业务对象sid")
private String linkSid; // 关联业务对象sid
@ApiModelProperty("附件类型")
private String attachType; // 附件类型
@ApiModelProperty("文件大小")
private String fileSize; // 文件大小
@ApiModelProperty("文件的相对路径")
private String filePath; // 文件的相对路径
/**
* @return 文件名
*/
public String getFileName(){
return fileName;
}
/**
* @param fileName 文件名 to set
*/
public void setFileName(String fileName){
this.fileName = fileName;
}
/**
* @return 文件类型
*/
public String getFileType(){
return fileType;
}
/**
* @param fileType 文件类型 to set
*/
public void setFileType(String fileType){
this.fileType = fileType;
}
/**
* @return 上传人姓名
*/
public String getName(){
return name;
}
/**
* @param name 上传人姓名 to set
*/
public void setName(String name){
this.name = name;
}
/**
* @return 关联业务对象sid
*/
public String getLinkSid(){
return linkSid;
}
/**
* @param linkSid 关联业务对象sid to set
*/
public void setLinkSid(String linkSid){
this.linkSid = linkSid;
}
/**
* @return 附件类型
*/
public String getAttachType(){
return attachType;
}
/**
* @param attachType 附件类型 to set
*/
public void setAttachType(String attachType){
this.attachType = attachType;
}
/**
* @return 文件大小
*/
public String getFileSize(){
return fileSize;
}
/**
* @param fileSize 文件大小 to set
*/
public void setFileSize(String fileSize){
this.fileSize = fileSize;
}
/**
* @return 文件的相对路径
*/
public String getFilePath(){
return filePath;
}
/**
* @param filePath 文件的相对路径 to set
*/
public void setFilePath(String filePath){
this.filePath = filePath;
}
}

37
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileAttachTypeEnum.java

@ -0,0 +1,37 @@
package com.yxt.crm.biz.crmfile;
/**
* 客户资料类型的枚举类
*/
public enum CrmFileAttachTypeEnum {
IDCARD("0001", "身份证"),
IDOFFRONT("0001_1", "身份证正面"),
IDOFBACK("0001_2", "身份证反面"),
;
/**
* 附件类型
*/
private final String attachType;
/**
* 代号
*/
private final String mark;
CrmFileAttachTypeEnum(String attachType, String mark) {
this.attachType = attachType;
this.mark = mark;
}
public String getAttachType() {
return attachType;
}
public String getMark() {
return mark;
}
}

63
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileDetailsVo.java

@ -0,0 +1,63 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmfile;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(客户信息) <br/>
* File: CrmFileVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmfile.CrmFileVo <br/>
* Description: 客户资料表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-24 09:15:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "客户资料表 视图数据对象", description = "客户资料表 视图数据对象")
@Data
public class CrmFileDetailsVo implements Vo {
@ApiModelProperty("图片sid")
private String sid;
@ApiModelProperty("上传时间")
private String createTime;
@ApiModelProperty("文件名")
private String fileName;
@ApiModelProperty("文件大小")
private String fileSize;
@ApiModelProperty("文件路径")
private String filePath;
@ApiModelProperty("是否可以删除(0不可删除,1可以删除)")
private Integer isDel;
}

65
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileDto.java

@ -0,0 +1,65 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmfile;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(客户信息) <br/>
* File: CrmFileDto.java <br/>
* Class: com.yxt.anrui.crm.api.crmfile.CrmFileDto <br/>
* Description: 客户资料表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-24 09:15:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "客户资料表 数据传输对象", description = "客户资料表 数据传输对象")
@Data
public class CrmFileDto implements Dto {
@ApiModelProperty("文件名")
private String fileName; // 文件名
@ApiModelProperty("文件类型")
private String fileType; // 文件类型
@ApiModelProperty("上传人姓名")
private String name; // 上传人姓名
@ApiModelProperty("关联业务对象sid")
private String linkSid; // 关联业务对象sid
@ApiModelProperty("附件类型")
private String attachType; // 附件类型
@ApiModelProperty("文件大小")
private String fileSize; // 文件大小
@ApiModelProperty("文件的相对路径")
private String filePath; // 文件的相对路径
}

39
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileListDto.java

@ -0,0 +1,39 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmfile;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class CrmFileListDto implements Dto {
@ApiModelProperty("客户资料")
private List<CrmFileDto> crmFileDtoList;
}

78
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileMapper.java

@ -0,0 +1,78 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmfile;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* Project: anrui-crm(客户信息) <br/>
* File: CrmFileMapper.java <br/>
* Class: com.yxt.anrui.crm.biz.crmfile.CrmFileMapper <br/>
* Description: 客户资料表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-24 09:15:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface CrmFileMapper extends BaseMapper<CrmFile> {
IPage<CrmFileVo> selectPageVo(IPage<CrmFile> page, @Param(Constants.WRAPPER) Wrapper<CrmFile> qw);
List<CrmFileVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<CrmFile> qw);
@Select("select * from crm_file")
List<CrmFileVo> selectListVo();
List<String> selectByLinkSid(@Param("linkSid") String linkSid, @Param("attachType") String attachType);
@Delete("delete from crm_file where linkSid=#{linkSid} and filePath=#{filePath}")
int delByLinkSidAndFilePath(@Param("linkSid") String linkSid, @Param("filePath") String filePath);
@Select("select * from crm_file where linkSid = #{sid}")
List<CrmFileDetailsVo> fetchByLinkSid(String sid);
int selectPath(String path);
void deletePath(String path);
int fetchByFilePath(String str);
void deleteByLinkSidAndAttachType(@Param("sid") String sid, @Param("key") String key);
}

57
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileMapper.xml

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.crm.biz.crmfile.CrmFileMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.crm.biz.crmfile.CrmFileVo">
SELECT
fileName,
attachType,
name,
createTime
FROM
crm_file
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.crm.biz.crmfile.CrmFileVo">
SELECT * FROM crm_file
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectByLinkSid" resultType="String">
SELECT filePath FROM crm_file
WHERE linkSid = #{linkSid}
<if test="attachType != null and attachType != ''">
AND attachType = #{attachType}
</if>
</select>
<select id="selectPath" resultType="int">
select count(*)
from crm_file
where filePath = #{path}
</select>
<delete id="deletePath">
delete
from crm_file
where filePath = #{path}
</delete>
<delete id="deleteByLinkSidAndAttachType">
delete
from crm_file
where linkSid = #{sid}
and attachType = #{key}
</delete>
<select id="fetchByFilePath" resultType="int">
select count(*)
from crm_file
where filePath = #{str}
</select>
</mapper>

57
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileQuery.java

@ -0,0 +1,57 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmfile;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(客户信息) <br/>
* File: CrmFileQuery.java <br/>
* Class: com.yxt.anrui.crm.api.crmfile.CrmFileQuery <br/>
* Description: 客户资料表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-24 09:15:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "客户资料表 查询条件", description = "客户资料表 查询条件")
@Data
public class CrmFileQuery implements Query {
@ApiModelProperty("客户sid")
private String linkSid;
@ApiModelProperty("文件名")
private String fileName;
@ApiModelProperty("文件类型")
private String fileType;
}

240
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileService.java

@ -0,0 +1,240 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmfile;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
* Project: anrui-crm(客户信息) <br/>
* File: CrmFileService.java <br/>
* Class: com.yxt.anrui.crm.biz.crmfile.CrmFileService <br/>
* Description: 客户资料表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-24 09:15:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class CrmFileService extends MybatisBaseService<CrmFileMapper, CrmFile> {
@Autowired
private FileUploadComponent fileUploadComponent;
public PagerVo<CrmFile> listPage(PagerQuery<CrmFileQuery> pq) {
CrmFileQuery query = pq.getParams();
QueryWrapper<CrmFile> qw = createQueryWrapper(query);
IPage<CrmFile> page = PagerUtil.queryToPage(pq);
IPage<CrmFile> pagging = baseMapper.selectPage(page, qw);
PagerVo<CrmFile> p = PagerUtil.pageToVo(pagging, null);
return p;
}
private QueryWrapper<CrmFile> createQueryWrapper(CrmFileQuery query) {
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<CrmFile> qw = new QueryWrapper<>();
qw.eq("linkSid", query.getLinkSid());
if (StringUtils.isNotNull(query.getFileType())) {
qw.eq("fileType", query.getFileType());
}
if (StringUtils.isNotNull(query.getFileName())) {
qw.eq("fileName", query.getFileName());
}
qw.groupBy("attachType", "fileName");
return qw;
}
public IPage<CrmFileVo> listPageVo(PagerQuery<CrmFileQuery> pq) {
// mybits所用的分页对对象
IPage<CrmFile> page = PagerUtil.queryToPage(pq);
// mybits所用的查询条件封装类
QueryWrapper<CrmFile> qw = createQueryWrapper(pq.getParams());
return baseMapper.selectPageVo(page, qw);
}
public void saveOrUpdateDto(CrmFileDto dto) {
CrmFile entity = new CrmFile();
dto.fillEntity(entity);
this.saveOrUpdate(entity);
}
public CrmFileVo fetchByIdVo(String id) {
CrmFile entity = this.fetchById(id);
CrmFileVo vo = new CrmFileVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
/**
* 根据linkSid和附件类型查询文件路径
*
* @param linkSid
* @param attachType
* @return
*/
public List<String> selectByLinkSid(String linkSid, String attachType) {
return baseMapper.selectByLinkSid(linkSid, attachType);
}
/**
* 插入客户资料数据
*
* @param linkSid
* @param list 相对路径
*/
public void insertCrmFile(String linkSid, List<String> list) {
list.stream().forEach(str -> {
CrmFile crmFile = new CrmFile();
File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator));
if (file != null) {
crmFile.setFileSize(fileUploadComponent.getPrintSize(file.length()));
}
crmFile.setLinkSid(linkSid);
crmFile.setFileName(str.substring(str.lastIndexOf("/") + 1, str.lastIndexOf(".")));
crmFile.setFileType(str.substring(str.lastIndexOf(".") + 1));
crmFile.setAttachType(CrmFileAttachTypeEnum.IDCARD.getAttachType());
crmFile.setFilePath(str.replace(fileUploadComponent.getUrlPrefix(), ""));
save(crmFile);
});
}
/**
* 根据linkSid和附件类型删除文件
*
* @param linkSid
* @param delList
* @return
*/
public void delByLinkSidAndAttachType(String linkSid, List<String> delList) {
for (String str : delList) {
// 删除数据库
baseMapper.delByLinkSidAndFilePath(linkSid, str);
// 删除文件
String pathLoc = fileUploadComponent.getUploadPath() + str;
pathLoc = pathLoc.substring(0, pathLoc.lastIndexOf("/") + 1).replace("/", File.separator);
fileUploadComponent.deleteFiles(fileUploadComponent.getUrlPrefix() + str, pathLoc);
}
}
public void saveCrmFile(CrmFileDto dto) {
/* List<String> filePath = dto.getFilePath();
for (String str : filePath) {
String xdfilePath = str.replace(fileUploadComponent.getUrlPrefix(), "");
int i = baseMapper.fetchByFilePath(xdfilePath);
if (i > 0) {
continue;
}
CrmFile crmFile = new CrmFile();
File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator));
if (file != null) {
crmFile.setFileSize(fileUploadComponent.getPrintSize(file.length()));
}
crmFile.setName(dto.getName());
crmFile.setLinkSid(dto.getLinkSid());
crmFile.setFileName(str.substring(str.lastIndexOf("/") + 1, str.lastIndexOf(".")));
crmFile.setFileType(str.substring(str.lastIndexOf(".") + 1));
crmFile.setAttachType(dto.getAttachType());
crmFile.setFilePath(xdfilePath);
save(crmFile);
}*/
}
public void updateCrmFile(CrmFileDto dto, String sid) {
CrmFile crmFile = new CrmFile();
dto.fillEntity(crmFile);
}
public List<CrmFileDetailsVo> fetchByLinkSid(String sid) {
List<CrmFileDetailsVo> crmFileDetailsVos = baseMapper.fetchByLinkSid(sid);
if (crmFileDetailsVos.size() > 0) {
ChenkCrmFileDetails(crmFileDetailsVos);
}
return crmFileDetailsVos;
}
private void ChenkCrmFileDetails(List<CrmFileDetailsVo> crmFileDetailsVos) {
String path = "";
for (CrmFileDetailsVo crmFileDetailsVo : crmFileDetailsVos) {
String filePath = crmFileDetailsVo.getFilePath();
String urlPrefix = fileUploadComponent.getUrlPrefix();
path = urlPrefix + filePath;
crmFileDetailsVo.setFilePath(path);
String createTime = crmFileDetailsVo.getCreateTime();
String date = createTime.substring(0, 10);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String format = simpleDateFormat.format(new Date());
if (date.equals(format)) {
crmFileDetailsVo.setIsDel(1);
} else {
crmFileDetailsVo.setIsDel(0);
}
}
}
public ResultBean deleteFilesOss(String fullPath) {
ResultBean rb = ResultBean.fireFail();
//删除服务器上的该文件
String pathT = fileUploadComponent.getUrlPrefix();
String path = "";
if (fullPath.indexOf(pathT) > -1) {
path = fullPath.replace(pathT, "");
} else {
path = fullPath;
}
String a = path.substring(0, path.lastIndexOf("/")).replace("/", File.separator);
String pathOne = fileUploadComponent.getUploadPath() + path.substring(0, path.lastIndexOf("/") + 1).replace("/", File.separator);
FileUploadComponent.deleteFiles(fullPath, pathOne);
//查询数据库,然后根据相对路径删除数据
int count = baseMapper.selectPath(path);
if (count > 0) {
baseMapper.deletePath(path);
}
return rb.success().setMsg("移除成功");
}
public void deleteByLinkSidAndAttachType(String sid, String key) {
baseMapper.deleteByLinkSidAndAttachType(sid,key);
}
}

60
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileVo.java

@ -0,0 +1,60 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmfile;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(客户信息) <br/>
* File: CrmFileVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmfile.CrmFileVo <br/>
* Description: 客户资料表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-24 09:15:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "客户资料表 视图数据对象", description = "客户资料表 视图数据对象")
@Data
public class CrmFileVo implements Vo {
private static final long serialVersionUID = -7094724945005598636L;
@ApiModelProperty("文件名")
private String fileName;
@ApiModelProperty("上传人姓名")
private String name;
@ApiModelProperty("文件类别")
private String attachType;
@ApiModelProperty(value = "上传时间")
private String createTime;
}

64
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePerson.java

@ -0,0 +1,64 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterprisePerson.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePerson <br/>
* Description: 定点企业备案-对接人员. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案-对接人员", description = "定点企业备案-对接人员")
@TableName("crm_maintenanceenterprise_person")
public class CrmMaintenanceenterprisePerson extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("定点企业备案sid")
private String billSid; // 定点企业备案sid
@ApiModelProperty("对接人员sid")
private String personSid; // 对接人员sid
@ApiModelProperty("姓名")
private String name; // 姓名
@ApiModelProperty("手机号码")
private String mobile; // 手机号码
}

64
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonDetailsVo.java

@ -0,0 +1,64 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterprisePersonVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonVo <br/>
* Description: 定点企业备案-对接人员 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案-对接人员 视图数据详情", description = "定点企业备案-对接人员 视图数据详情")
public class CrmMaintenanceenterprisePersonDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("定点企业备案sid")
private String billSid; // 定点企业备案sid
@ApiModelProperty("对接人员sid")
private String personSid; // 对接人员sid
@ApiModelProperty("姓名")
private String name; // 姓名
@ApiModelProperty("手机号码")
private String mobile; // 手机号码
}

64
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonDto.java

@ -0,0 +1,64 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterprisePersonDto.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonDto <br/>
* Description: 定点企业备案-对接人员 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案-对接人员 数据传输对象", description = "定点企业备案-对接人员 数据传输对象")
public class CrmMaintenanceenterprisePersonDto implements Dto {
private String sid; // sid
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("定点企业备案sid")
private String billSid; // 定点企业备案sid
@ApiModelProperty("对接人员sid")
private String personSid; // 对接人员sid
@ApiModelProperty("姓名")
private String name; // 姓名
@ApiModelProperty("手机号码")
private String mobile; // 手机号码
}

72
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonMapper.java

@ -0,0 +1,72 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterprisePersonMapper.java <br/>
* Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonMapper <br/>
* Description: 定点企业备案-对接人员. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface CrmMaintenanceenterprisePersonMapper extends BaseMapper<CrmMaintenanceenterprisePerson> {
//@Update("update crm_maintenanceenterprise_person set name=#{msg} where id=#{id}")
//IPage<CrmMaintenanceenterprisePersonVo> voPage(IPage<CrmMaintenanceenterprisePerson> page, @Param(Constants.WRAPPER) QueryWrapper<CrmMaintenanceenterprisePerson> qw);
IPage<CrmMaintenanceenterprisePersonVo> selectPageVo(IPage<CrmMaintenanceenterprisePerson> page, @Param(Constants.WRAPPER) Wrapper<CrmMaintenanceenterprisePerson> qw);
List<CrmMaintenanceenterprisePersonVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<CrmMaintenanceenterprisePerson> qw);
@Select("select * from crm_maintenanceenterprise_person")
List<CrmMaintenanceenterprisePersonVo> selectListVo();
@Delete("delete from crm_maintenanceenterprise_person where billSid = #{sid}")
void delByBillSid(String sid);
@Select("select * from crm_maintenanceenterprise_person where billSid = #{sid} ")
List<CrmMaintenanceenterprisePerson> selByBillSid(String sid);
@Select("select * from crm_maintenanceenterprise_person where billSid = #{sid}")
List<CrmPersonListVo> personList(String sid);
}

13
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonMapper.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.crm.biz.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.crm.biz.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonVo">
SELECT * FROM crm_maintenanceenterprise_person <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.crm.biz.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonVo">
SELECT * FROM crm_maintenanceenterprise_person <where> ${ew.sqlSegment} </where>
</select>
</mapper>

62
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonQuery.java

@ -0,0 +1,62 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterprisePersonQuery.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonQuery <br/>
* Description: 定点企业备案-对接人员 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案-对接人员 查询条件", description = "定点企业备案-对接人员 查询条件")
public class CrmMaintenanceenterprisePersonQuery implements Query {
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("定点企业备案sid")
private String billSid; // 定点企业备案sid
@ApiModelProperty("对接人员sid")
private String personSid; // 对接人员sid
@ApiModelProperty("姓名")
private String name; // 姓名
@ApiModelProperty("手机号码")
private String mobile; // 手机号码
}

115
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonService.java

@ -0,0 +1,115 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterprisePersonService.java <br/>
* Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonService <br/>
* Description: 定点企业备案-对接人员 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class CrmMaintenanceenterprisePersonService extends MybatisBaseService<CrmMaintenanceenterprisePersonMapper, CrmMaintenanceenterprisePerson> {
private QueryWrapper<CrmMaintenanceenterprisePerson> createQueryWrapper(CrmMaintenanceenterprisePersonQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<CrmMaintenanceenterprisePerson> qw = new QueryWrapper<>();
return qw;
}
public void delByBillSid(String sid) {
baseMapper.delByBillSid(sid);
}
public List<CrmMaintenanceenterprisePerson> selByBillSid(String sid) {
return baseMapper.selByBillSid(sid);
}
public PagerVo<CrmMaintenanceenterprisePersonVo> listPageVo(PagerQuery<CrmMaintenanceenterprisePersonQuery> pq) {
CrmMaintenanceenterprisePersonQuery query = pq.getParams();
QueryWrapper<CrmMaintenanceenterprisePerson> qw = createQueryWrapper(query);
IPage<CrmMaintenanceenterprisePerson> page = PagerUtil.queryToPage(pq);
IPage<CrmMaintenanceenterprisePersonVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<CrmMaintenanceenterprisePersonVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(CrmMaintenanceenterprisePersonDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(CrmMaintenanceenterprisePersonDto dto){
CrmMaintenanceenterprisePerson entity = new CrmMaintenanceenterprisePerson();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(CrmMaintenanceenterprisePersonDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
CrmMaintenanceenterprisePerson entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public CrmMaintenanceenterprisePersonDetailsVo fetchDetailsVoBySid(String sid){
CrmMaintenanceenterprisePerson entity = fetchBySid(sid);
CrmMaintenanceenterprisePersonDetailsVo vo = new CrmMaintenanceenterprisePersonDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public List<CrmPersonListVo> personList(String sid) {
return baseMapper.personList(sid);
}
}

64
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonVo.java

@ -0,0 +1,64 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterprisePersonVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonVo <br/>
* Description: 定点企业备案-对接人员 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案-对接人员 视图数据对象", description = "定点企业备案-对接人员 视图数据对象")
public class CrmMaintenanceenterprisePersonVo implements Vo {
private String sid; // sid
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("定点企业备案sid")
private String billSid; // 定点企业备案sid
@ApiModelProperty("对接人员sid")
private String personSid; // 对接人员sid
@ApiModelProperty("姓名")
private String name; // 姓名
@ApiModelProperty("手机号码")
private String mobile; // 手机号码
}

17
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmPersonListVo.java

@ -0,0 +1,17 @@
package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/29 16:48
*/
@Data
public class CrmPersonListVo {
private String mobile;
private String name;
private String remarks;
private String sid;
}

31
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CarListVo.java

@ -0,0 +1,31 @@
package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/22 14:42
*/
@Data
public class CarListVo {
/**
* 购买日期
*/
private String buyDate;
private String sid;
/**
* 车牌号
*/
private String vehMark;
/**
* 车架号
*/
private String vinNo;
@ApiModelProperty("售后客户车辆信息sid")
private String asVinSid; // 售后客户车辆信息sid
}

93
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecord.java

@ -0,0 +1,93 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecord.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecord <br/>
* Description: 定点企业备案. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案", description = "定点企业备案")
@TableName("crm_maintenanceenterprise_record")
public class CrmMaintenanceenterpriseRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("备案类别")
private String filingType; // 备案类别
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("备案有效期")
private Date filingIndate; // 备案有效期
@ApiModelProperty("申请部门")
private String deptName; // 申请部门
@ApiModelProperty("申请部门sid")
private String deptSid; // 申请部门sid
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("环节定义的sid")
private String nodeSid; // 环节定义的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("使用组织名称(分公司)")
private String useOrgName; // 使用组织名称(分公司)
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称(分公司)")
private String createOrgName; // 创建组织名称(分公司)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("办结日期")
private Date closingDate; // 办结日期
}

208
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordDetailsVo.java

@ -0,0 +1,208 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecordVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordVo <br/>
* Description: 定点企业备案 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案 视图数据详情", description = "定点企业备案 视图数据详情")
public class CrmMaintenanceenterpriseRecordDetailsVo implements Vo {
/**
* 客户sid
*/
private String customerSid;
/**
* 详细地址
*/
private String address;
/**
* 详细地址
*/
private String customerAddress;
/**
* 车辆列表
*/
private List<CarListVo> carList = new ArrayList<>();
/**
* 证件类型
*/
private String certificateType;
/**
* 证件类型Key
*/
private String certificateTypeKey;
/**
*
*/
private String city;
/**
* 对接人列表
*/
private List<PersonListVo> contactPerson = new ArrayList<>();
/**
*
*/
private String county;
/**
* 申请人
*/
private String createByName;
/**
* 申请人sid
*/
private String createBySid;
/**
* 分公司
*/
private String createOrgName;
/**
* 分公司sid
*/
private String createOrgSid;
/**
* 申请日期
*/
private String createTime;
/**
* 客户名称
*/
private String customerName;
/**
* 客户类型
*/
private String customerType;
/**
* 客户类型Key
*/
private String customerTypeKey;
/**
* 申请部门
*/
private String deptName;
/**
* 申请部门sid
*/
private String deptSid;
/**
* 电子邮箱
*/
private String e_mail;
/**
* 紧急联系人
*/
private String emergencyContact;
/**
* 紧急联系电话
*/
private String emergencyMobile;
/**
* 证书有效期
*/
private String endDate;
/**
* 附件
*/
private List<FileQueryUrl> files = new ArrayList<>();
private List<String> files2 = new ArrayList<>();
/**
* 备案有效期
*/
private String filingIndate;
/**
* 备案类别默认赋值"首次"
*/
private String filingType;
/**
* 证书号码
*/
private String idnumber;
/**
* 流程实例ID
*/
private String instanceId;
private String procInsId;
/**
* 联系电话
*/
private String mobile;
/**
*
*/
private String province;
/**
* 已备人数首次备案默认为空
*/
private String readyStrength;
/**
* 已备车辆首次备案默认为空
*/
private String readyVehicle;
/**
* 备注
*/
private String remarks;
private String sid;
/**
* 流程ID
*/
private String taskId;
/**
* 分公司
*/
private String useOrgName;
/**
* 分公司sid
*/
private String useOrgSid;
/**
* 微信号
*/
private String weixin;
}

200
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordDto.java

@ -0,0 +1,200 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecordDto.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordDto <br/>
* Description: 定点企业备案 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案 数据传输对象", description = "定点企业备案 数据传输对象")
public class CrmMaintenanceenterpriseRecordDto implements Dto {
/**
* 客户sid
*/
private String customerSid;
/**
* 详细地址
*/
private String address;
/**
* 车辆列表
*/
private List<CarListVo> carList = new ArrayList<>();
/**
* 证件类型
*/
private String certificateType;
/**
* 证件类型Key
*/
private String certificateTypeKey;
/**
*
*/
private String city;
/**
* 对接人列表
*/
private List<PersonListVo> contactPerson = new ArrayList<>();
/**
*
*/
private String county;
/**
* 申请人
*/
private String createByName;
/**
* 申请人sid
*/
private String createBySid;
/**
* 分公司
*/
private String createOrgName;
/**
* 分公司sid
*/
private String createOrgSid;
/**
* 申请日期
*/
private String createTime;
/**
* 客户名称
*/
private String customerName;
/**
* 客户类型
*/
private String customerType;
/**
* 客户类型Key
*/
private String customerTypeKey;
/**
* 申请部门
*/
private String deptName;
/**
* 申请部门sid
*/
private String deptSid;
/**
* 电子邮箱
*/
private String eMail;
/**
* 紧急联系人
*/
private String emergencyContact;
/**
* 紧急联系电话
*/
private String emergencyMobile;
/**
* 证书有效期
*/
private String endDate;
/**
* 附件
*/
private List<FileQueryUrl> files = new ArrayList<>();
/**
* 备案有效期
*/
private String filingIndate;
/**
* 备案类别默认赋值"首次"
*/
private String filingType;
/**
* 证书号码
*/
private String idnumber;
/**
* 流程实例ID
*/
private String instanceId;
/**
* 联系电话
*/
private String mobile;
/**
*
*/
private String province;
/**
* 已备人数首次备案默认为空
*/
private String readyStrength;
/**
* 已备车辆首次备案默认为空
*/
private String readyVehicle;
/**
* 备注
*/
private String remarks;
private String sid;
/**
* 流程ID
*/
private String taskId;
/**
* 分公司
*/
private String useOrgName;
/**
* 分公司sid
*/
private String useOrgSid;
/**
* 微信号
*/
private String weixin;
}

74
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordMapper.java

@ -0,0 +1,74 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecordMapper.java <br/>
* Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordMapper <br/>
* Description: 定点企业备案. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface CrmMaintenanceenterpriseRecordMapper extends BaseMapper<CrmMaintenanceenterpriseRecord> {
//@Update("update crm_maintenanceenterprise_record set name=#{msg} where id=#{id}")
//IPage<CrmMaintenanceenterpriseRecordVo> voPage(IPage<CrmMaintenanceenterpriseRecord> page, @Param(Constants.WRAPPER) QueryWrapper<CrmMaintenanceenterpriseRecord> qw);
IPage<CrmMaintenanceenterpriseRecordVo> selectPageVo(IPage<CrmMaintenanceenterpriseRecord> page, @Param(Constants.WRAPPER) Wrapper<CrmMaintenanceenterpriseRecord> qw);
List<CrmMaintenanceenterpriseRecordVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<CrmMaintenanceenterpriseRecord> qw);
@Select("select * from crm_maintenanceenterprise_record")
List<CrmMaintenanceenterpriseRecordVo> selectListVo();
List<PersonListVo> selPersonList(@Param("sid") String sid);
int selectNum(String bill);
int selPersonCount(@Param("customerSid") String customerSid);
int selectBySid(String join);
int updateFlowFiled(Map<String, Object> map);
}

90
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordMapper.xml

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.crm.biz.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.crm.biz.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordVo">
SELECT
*
FROM
(
SELECT
t.customerTypeKey,
r.createBySid,
r.billNo,
date_format ( r.closingDate, '%Y-%m-%d' ) closingDate,
t.mobile,
r.nodeState,
r.procDefId,
r.procInstId,
r.sid,
r.deptName,
r.filingType,
r.useOrgName,
r.createByName,
date_format ( r.createTime, '%Y-%m-%d' ) createTime,
t.`name` customerName,
t.customerType customerTypeValue,
date_format ( r.filingIndate, '%Y-%m-%d' ) filingIndate,
CASE
WHEN r.filingIndate >= NOW() THEN
'0'
WHEN r.filingIndate &lt; NOW() THEN
'1' ELSE '1'
END AS isFilingIndate,
s.orgSidPath
FROM
crm_maintenanceenterprise_record AS r
LEFT JOIN crm_customer AS t ON r.customerSid = t.sid
LEFT JOIN anrui_portal.sys_organization AS s ON r.deptSid = s.sid
) a
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.crm.biz.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordVo">
SELECT * FROM crm_maintenanceenterprise_record <where> ${ew.sqlSegment} </where>
</select>
<select id="selPersonList" resultType="com.yxt.crm.biz.crmmaintenanceenterpriserecord.PersonListVo">
select
sid as personSid,
mobile,
`name`,
remarks
from crm_docking_people where customerSid =#{sid} and isEnable = 1
</select>
<select id="selectNum" resultType="java.lang.Integer">
select IFNULL(CAST(REPLACE(MAX(billNo), #{bill}, '') AS SIGNED), 0) as code
from crm_maintenanceenterprise_record
where billNo LIKE concat(#{bill}, '%')
</select>
<select id="selPersonCount" resultType="java.lang.Integer">
select
count(*)
from crm_docking_people where customerSid =#{customerSid} and isDelete = 0
</select>
<select id="selectBySid" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM crm_maintenanceenterprise_record
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
<update id="updateFlowFiled">
UPDATE crm_maintenanceenterprise_record
SET nodeState=#{nodeState}
, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid = #{sid}
</update>
</mapper>

69
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordQuery.java

@ -0,0 +1,69 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecordQuery.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordQuery <br/>
* Description: 定点企业备案 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案 查询条件", description = "定点企业备案 查询条件")
public class CrmMaintenanceenterpriseRecordQuery implements Query {
private String billNo;
private String closingDateEnd;
private String closingDateStart;
private String createByName;
private String createEndTime;
private String createOrgName;
private String createStartTime;
private String customerName;
private String customerTypeKey;
private String deptName;
private String menuUrl;
private String mobile;
private String orgPath;
/**
* 是否有效 1是0否
*/
private String state;
private String userSid;
}

1011
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordService.java

File diff suppressed because it is too large

110
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordVo.java

@ -0,0 +1,110 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseRecordVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordVo <br/>
* Description: 定点企业备案 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案 视图数据对象", description = "定点企业备案 视图数据对象")
public class CrmMaintenanceenterpriseRecordVo implements Vo {
/**
* 单据编号
*/
private String billNo;
/**
* 办结日期
*/
private String closingDate;
/**
* 申请人
*/
private String createByName;
/**
* 申请日期
*/
private String createTime;
/**
* 客户名称
*/
private String customerName;
/**
* 客户类型
*/
private String customerTypeValue;
/**
* 申请部门
*/
private String deptName;
/**
* 备案有效期
*/
private String filingIndate;
/**
* 备案有效期是否已过1是0否
*/
private String isFilingIndate;
/**
* 联系电话
*/
private String mobile;
/**
* 流程状态
*/
private String nodeState;
/**
* 流程定义ID
*/
private String procDefId;
/**
* 流程实例ID
*/
private String procInstId;
private String sid;
/**
* 分公司
*/
private String useOrgName;
@ApiModelProperty("备案类别")
private String filingType; // 备案类别
}

15
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/FileQueryUrl.java

@ -0,0 +1,15 @@
package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/22 14:35
*/
@Data
public class FileQueryUrl {
private String url;
}

32
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/PersonListVo.java

@ -0,0 +1,32 @@
package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/22 14:42
*/
@Data
public class PersonListVo {
/**
* 手机号码
*/
private String mobile;
/**
* 姓名
*/
private String name;
/**
* 备注
*/
private String remarks;
private String sid;
@ApiModelProperty("对接人员sid")
private String personSid; // 对接人员sid
}

37
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseCompleteDto.java

@ -0,0 +1,37 @@
package com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 14:57
* @Description
*/
@Data
public class EnterpriseCompleteDto implements Dto {
private static final long serialVersionUID = 6378752532534735663L;
@ApiModelProperty(value = "用户sid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id(PC)")
private String instanceId;
@ApiModelProperty(value = "流程id(移动)")
private String procInsId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
private String orgPath;
}

26
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseDelegateQuery.java

@ -0,0 +1,26 @@
package com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 9:28
*/
@Data
public class EnterpriseDelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
// @JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

25
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseNodeQuery.java

@ -0,0 +1,25 @@
package com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:04
* @Description
*/
@Data
public class EnterpriseNodeQuery implements Query {
private static final long serialVersionUID = 9117613683840483366L;
@ApiModelProperty(value = "环节定义id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
private Integer next;
}

26
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseNodeVo.java

@ -0,0 +1,26 @@
package com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:03
* @Description
*/
@Data
public class EnterpriseNodeVo implements Vo {
private static final long serialVersionUID = -833419512294877848L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

48
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseTaskQuery.java

@ -0,0 +1,48 @@
package com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:06
* @Description
*/
@Data
public class EnterpriseTaskQuery implements Query {
private static final long serialVersionUID = 1288615499873178778L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id(PC)")
private String instanceId;
@ApiModelProperty("流程实例Id(移动)")
private String procInsId;
}

25
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/SubmitEnterpriseDto.java

@ -0,0 +1,25 @@
package com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable;
import com.yxt.crm.biz.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/04/13
*/
@ApiModel("提交")
@Data
public class SubmitEnterpriseDto extends CrmMaintenanceenterpriseRecordDto {
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

70
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVeh.java

@ -0,0 +1,70 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseveh;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseVeh.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVeh <br/>
* Description: 定点企业备案-车辆信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案-车辆信息", description = "定点企业备案-车辆信息")
@TableName("crm_maintenanceenterprise_veh")
public class CrmMaintenanceenterpriseVeh extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("定点企业备案sid")
private String billSid; // 定点企业备案sid
@ApiModelProperty("售后客户车辆信息sid")
private String asVinSid; // 售后客户车辆信息sid
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("购车日期")
private Date buyDate; // 购车日期
}

71
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehDetailsVo.java

@ -0,0 +1,71 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseveh;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseVehVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehVo <br/>
* Description: 定点企业备案-车辆信息 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案-车辆信息 视图数据详情", description = "定点企业备案-车辆信息 视图数据详情")
public class CrmMaintenanceenterpriseVehDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("定点企业备案sid")
private String billSid; // 定点企业备案sid
@ApiModelProperty("售后客户车辆信息sid")
private String asVinSid; // 售后客户车辆信息sid
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("购车日期")
private Date buyDateStart; // 购车日期
private Date buyDateEnd; // 购车日期
}

71
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehDto.java

@ -0,0 +1,71 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseveh;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseVehDto.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehDto <br/>
* Description: 定点企业备案-车辆信息 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案-车辆信息 数据传输对象", description = "定点企业备案-车辆信息 数据传输对象")
public class CrmMaintenanceenterpriseVehDto implements Dto {
private String sid; // sid
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("定点企业备案sid")
private String billSid; // 定点企业备案sid
@ApiModelProperty("售后客户车辆信息sid")
private String asVinSid; // 售后客户车辆信息sid
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("购车日期")
private Date buyDateStart; // 购车日期
private Date buyDateEnd; // 购车日期
}

69
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehMapper.java

@ -0,0 +1,69 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseveh;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseVehMapper.java <br/>
* Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehMapper <br/>
* Description: 定点企业备案-车辆信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface CrmMaintenanceenterpriseVehMapper extends BaseMapper<CrmMaintenanceenterpriseVeh> {
//@Update("update crm_maintenanceenterprise_veh set name=#{msg} where id=#{id}")
//IPage<CrmMaintenanceenterpriseVehVo> voPage(IPage<CrmMaintenanceenterpriseVeh> page, @Param(Constants.WRAPPER) QueryWrapper<CrmMaintenanceenterpriseVeh> qw);
IPage<CrmMaintenanceenterpriseVehVo> selectPageVo(IPage<CrmMaintenanceenterpriseVeh> page, @Param(Constants.WRAPPER) Wrapper<CrmMaintenanceenterpriseVeh> qw);
List<CrmMaintenanceenterpriseVehVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<CrmMaintenanceenterpriseVeh> qw);
@Select("select * from crm_maintenanceenterprise_veh")
List<CrmMaintenanceenterpriseVehVo> selectListVo();
@Delete("delete from crm_maintenanceenterprise_veh where billSid = #{sid}")
void delByBillSid(String sid);
@Select("select * from crm_maintenanceenterprise_veh where billSid = #{sid} ")
List<CrmMaintenanceenterpriseVeh> selByBillSid(String sid);
}

13
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehMapper.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.crm.biz.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.crm.biz.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehVo">
SELECT * FROM crm_maintenanceenterprise_veh <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.crm.biz.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehVo">
SELECT * FROM crm_maintenanceenterprise_veh <where> ${ew.sqlSegment} </where>
</select>
</mapper>

69
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehQuery.java

@ -0,0 +1,69 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseveh;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseVehQuery.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehQuery <br/>
* Description: 定点企业备案-车辆信息 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案-车辆信息 查询条件", description = "定点企业备案-车辆信息 查询条件")
public class CrmMaintenanceenterpriseVehQuery implements Query {
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("定点企业备案sid")
private String billSid; // 定点企业备案sid
@ApiModelProperty("售后客户车辆信息sid")
private String asVinSid; // 售后客户车辆信息sid
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("购车日期")
private Date buyDateStart; // 购车日期
private Date buyDateEnd; // 购车日期
}

111
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehService.java

@ -0,0 +1,111 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseveh;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseVehService.java <br/>
* Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehService <br/>
* Description: 定点企业备案-车辆信息 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class CrmMaintenanceenterpriseVehService extends MybatisBaseService<CrmMaintenanceenterpriseVehMapper, CrmMaintenanceenterpriseVeh> {
private QueryWrapper<CrmMaintenanceenterpriseVeh> createQueryWrapper(CrmMaintenanceenterpriseVehQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<CrmMaintenanceenterpriseVeh> qw = new QueryWrapper<>();
return qw;
}
public void delByBillSid(String sid) {
baseMapper.delByBillSid(sid);
}
public List<CrmMaintenanceenterpriseVeh> selByBillSid(String sid) {
return baseMapper.selByBillSid(sid);
}
public PagerVo<CrmMaintenanceenterpriseVehVo> listPageVo(PagerQuery<CrmMaintenanceenterpriseVehQuery> pq) {
CrmMaintenanceenterpriseVehQuery query = pq.getParams();
QueryWrapper<CrmMaintenanceenterpriseVeh> qw = createQueryWrapper(query);
IPage<CrmMaintenanceenterpriseVeh> page = PagerUtil.queryToPage(pq);
IPage<CrmMaintenanceenterpriseVehVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<CrmMaintenanceenterpriseVehVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(CrmMaintenanceenterpriseVehDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(CrmMaintenanceenterpriseVehDto dto){
CrmMaintenanceenterpriseVeh entity = new CrmMaintenanceenterpriseVeh();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(CrmMaintenanceenterpriseVehDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
CrmMaintenanceenterpriseVeh entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public CrmMaintenanceenterpriseVehDetailsVo fetchDetailsVoBySid(String sid){
CrmMaintenanceenterpriseVeh entity = fetchBySid(sid);
CrmMaintenanceenterpriseVehDetailsVo vo = new CrmMaintenanceenterpriseVehDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
}

71
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehVo.java

@ -0,0 +1,71 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmmaintenanceenterpriseveh;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: crm(crm) <br/>
* File: CrmMaintenanceenterpriseVehVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehVo <br/>
* Description: 定点企业备案-车辆信息 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-22 13:49:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "定点企业备案-车辆信息 视图数据对象", description = "定点企业备案-车辆信息 视图数据对象")
public class CrmMaintenanceenterpriseVehVo implements Vo {
private String sid; // sid
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("定点企业备案sid")
private String billSid; // 定点企业备案sid
@ApiModelProperty("售后客户车辆信息sid")
private String asVinSid; // 售后客户车辆信息sid
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("购车日期")
private Date buyDateStart; // 购车日期
private Date buyDateEnd; // 购车日期
}

171
yxt-crm-biz/src/main/java/com/yxt/crm/feign/anruicrm/crmcustomertemp/CrmCustomerTemp.java

@ -0,0 +1,171 @@
package com.yxt.crm.feign.anruicrm.crmcustomertemp;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmCustomerTemp.java <br/>
* Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp <br/>
* Description: 潜在客户信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-12 11:21:16 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "潜在客户信息", description = "潜在客户信息")
@TableName("crm_customer_temp")
@Data
public class CrmCustomerTemp extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))")
private String customerNo;
@ApiModelProperty("客户类型(自然人/法人)")
private String customerType;
@ApiModelProperty("客户类型key")
private String customerTypeKey;
@ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
private String customerClass;
@ApiModelProperty("客户分类key")
private String customerClassKey;
@ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
private String source;
@ApiModelProperty("客户来源key")
private String sourceKey;
@ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
private String level;
@ApiModelProperty("客户级别key")
private String levelKey;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("证件类型key")
private String certificateTypeKey;
@ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
private String certificateType;
@ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
private String IDNumber;
@ApiModelProperty("证件有效期")
private String endDate;
@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 zipCode;
@ApiModelProperty("电子邮箱")
private String e_mail;
@ApiModelProperty("联系人")
private String contacts;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("紧急联系电话")
private String emergencyContact;
@ApiModelProperty("紧急联系电话")
private String emergencyMobile;
@ApiModelProperty("微信号码")
private String weixin;
@ApiModelProperty("业务人员sid")
private String staffSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("创建部门sid")
private String useOrgSid;
@ApiModelProperty("性别")
private String sex;
@ApiModelProperty("性别key")
private String sexKey;
@ApiModelProperty("生日")
private String birthday;
@ApiModelProperty("所在公司名称")
private String companyName;
@ApiModelProperty("跟进状态key")
private String follow_state_key;
@ApiModelProperty("跟进状态")
private String follow_state;
@ApiModelProperty("是否开启提醒key(1开启,0不开启)")
private String isOnRemindkey;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemind;
@ApiModelProperty("提醒日期")
private String remind_day;
@ApiModelProperty("提醒备注")
private String remind_remark;
@ApiModelProperty("客户头像")
private String customerPhoto;
@ApiModelProperty("见面方式key")
private String visitWayKey;
@ApiModelProperty("见面方式(到店/电话/拜访)")
private String visitWay;
@ApiModelProperty("证件地址")
private String certificateAddress;
@ApiModelProperty("是否为定点企业(1是0否)")
private Integer isDesignatedEnterprise;
@ApiModelProperty("定点企业备案有效期")
private Date filingIndate;
}

44
yxt-crm-biz/src/main/java/com/yxt/crm/feign/anruicrm/crmcustomertemp/CrmCustomerTempFeign.java

@ -0,0 +1,44 @@
package com.yxt.crm.feign.anruicrm.crmcustomertemp;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.crm.biz.crmcustomer.AsCustomerListQuery;
import com.yxt.crm.biz.crmcustomer.AsCustomerListVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmCustomerTempFeign.java <br/>
* Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign <br/>
* Description: 潜在客户信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-12 11:21:16 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "潜在客户信息")
@FeignClient(
contextId = "anrui-crm-CrmCustomerTemp",
name = "anrui-crm",
path = "v1/crmcustomertemp")
public interface CrmCustomerTempFeign {
@ApiOperation("根据sid查询实体")
@GetMapping("/fetchEntity/{sid}")
@ResponseBody
public ResultBean<CrmCustomerTemp> fetchEntity(@PathVariable("sid") String sid);
}

70
yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleDto.java

@ -0,0 +1,70 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.feign.as.ascustomervehicle;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: asdfasd(sdg) <br/>
* File: AsCustomerVehicleDto.java <br/>
* Class: as.api.ascustomervehicle.AsCustomerVehicleDto <br/>
* Description: 客户车辆信息 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-19 11:28:19 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "客户车辆信息 数据传输对象", description = "客户车辆信息 数据传输对象")
public class AsCustomerVehicleDto implements Dto {
private String sid; // sid
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("发动机号")
private String engineNo; // 发动机号
@ApiModelProperty("车型sid")
private String vehModelSid; // 车型sid
@ApiModelProperty("车型")
private String vehModel; // 车型
@ApiModelProperty("购车日期")
private String buyDate; // 购车日期
@ApiModelProperty("0为内部车,1为外部车")
private Integer vehState; // 0为内部车,1为外部车
}

14
yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeign.java

@ -1,10 +1,12 @@
package com.yxt.crm.feign.as.ascustomervehicle;
import com.yxt.common.core.result.ResultBean;
import com.yxt.crm.biz.crmmaintenanceenterpriserecord.CarListVo;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@ -24,4 +26,16 @@ public interface AsCustomerVehicleFeign {
@ApiOperation("查询数据的列表")
@PostMapping("/listCustomerVeh")
public ResultBean<List<AsCustomerCrmVehVo>> listCustomerVeh();
@ApiOperation("根据客户sid查询车辆数量")
@GetMapping("/getVehListCountsByCustomerSid")
public int getVehListCountsByCustomerSid(@RequestParam("customerSid") String customerSid);
@ApiOperation("根据客户sid查询车辆")
@GetMapping("/getVehListByCustomerSid")
public ResultBean<List<CarListVo>> getVehListByCustomerSid(@RequestParam("customerSid") String customerSid);
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody AsCustomerVehicleDto dto);
}

60
yxt-crm-biz/src/main/java/com/yxt/crm/feign/base/basevehicleoutapply/BaseVehicleOutApplyFeign.java

@ -0,0 +1,60 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.feign.base.basevehicleoutapply;
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.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
/**
* Project: anrui-base(销售出库单) <br/>
* File: BaseVehicleOutApplyFeign.java <br/>
* Class: com.yxt.anrui.base.api.basevehicleoutapply.BaseVehicleOutApplyFeign <br/>
* Description: 车辆出库单. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-12 08:54:50 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "车辆出库单")
@FeignClient(
contextId = "anrui-base-BaseVehicleOutApply",
name = "anrui-base",
path = "v1/basevehicleoutapply"
)
public interface BaseVehicleOutApplyFeign {
@ApiOperation("查询根据车架号查询销售订单信息")
@PostMapping("/selectSidByVinNo")
ResultBean<String> selectSidByVinNo(@RequestParam("vinNo") String vinNo);
}

155
yxt-crm-biz/src/main/java/com/yxt/crm/feign/bus/bussalesorder/BusSalesOrder.java

@ -0,0 +1,155 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.feign.bus.bussalesorder;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* Project: anrui-buscenter(业务管理) <br/>
* File: BusSalesOrder.java <br/>
* Class: com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder <br/>
* Description: 销售订单主表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-04-27 13:39:04 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "销售订单主表", description = "销售订单主表")
@TableName("bus_sales_order")
public class BusSalesOrder extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("订单编号")
private String billNo;
@ApiModelProperty("销售部门sid")
private String orgSid;
@ApiModelProperty("销售部门")
private String orgName;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("销售专员")
private String staffName;
@ApiModelProperty("销售专员sid")
private String staffSid;
@ApiModelProperty("客户联系电话")
private String mobile;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("制单日期")
private Date createDate;
@ApiModelProperty("开票类型key")
private String billingTypeKey;
@ApiModelProperty("开票类型value")
private String billingType;
@ApiModelProperty("付款方式key")
private String payTypeKey;
@ApiModelProperty("付款方式value")
private String payType;
@ApiModelProperty("挂靠公司sid")
private String affiliatedCompanySid;
@ApiModelProperty("挂靠公司名称")
private String affiliatedCompany;
@ApiModelProperty("公司是否入保")
private String isInsurance;
@ApiModelProperty("补充说明")
private String notes;
@ApiModelProperty("是否包含上装")
private String isTop;
@ApiModelProperty("节点状态")
private String nodeState;
@ApiModelProperty("流程定义id")
private String procDefId;
@ApiModelProperty("环节定义id")
private String nodeId;
@ApiModelProperty("流程实例id")
private String procInstId;
@ApiModelProperty("记录最后修改时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date closingDate;
@ApiModelProperty("销售订单车辆类型:1现车、2订单、3排产")
private String type;
@ApiModelProperty("单台开票金额")
private BigDecimal oneBillMoney; // 单台开票金额
@ApiModelProperty(value = "客户类型key")
private String customerClassKey;
@ApiModelProperty(value = "客户类型")
private String customerClass;
@ApiModelProperty(value = "客户头像")
private String customerPhoto;
@ApiModelProperty(value = "任务编号id")
private String taskId;
@ApiModelProperty(value = "付款类型下级")
private String financePlan;
@ApiModelProperty(value = "付款类型下级value")
private String financePlanValue;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("是否包牌:1是,0否")
private String licensePlateKey;
@ApiModelProperty("是否包牌")
private String licensePlateValue;
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid;
@ApiModelProperty("采购系统名称")
private String purchaseSystemName;
@ApiModelProperty("补充说明附件")
private String imagesFile;
@ApiModelProperty("申请人的组织机构全路径sid")
private String orgSidPath;
private String contractNo;
@ApiModelProperty("若无值,则为现车中有车架号或其他两种类型的,若有值,则为现车中不确定车架号的数量")
private String nowCarUnknownVinNum;
@ApiModelProperty("是否是挂靠公司")
private int affiliatedCompanyType;
@ApiModelProperty("开票单位名称")
private String companyInvoicingName;
@ApiModelProperty("开票单位sid")
private String companyInvoicingSid;
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save