Browse Source

yxt-crm

master
fanzongzhe 12 months ago
parent
commit
575672673d
  1. 3
      yxt-crm-biz/README.md
  2. 134
      yxt-crm-biz/pom.xml
  3. 22
      yxt-crm-biz/src/main/java/com/yxt/crm/YxtCrmApplication.java
  4. 10
      yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/AdminHomeRest.java
  5. 95
      yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerOrgRest.java
  6. 105
      yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java
  7. 72
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java
  8. 73
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDetailsVo.java
  9. 73
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java
  10. 68
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java
  11. 34
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml
  12. 71
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerQuery.java
  13. 291
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java
  14. 73
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java
  15. 26
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehQuery.java
  16. 31
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehVo.java
  17. 72
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrg.java
  18. 73
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDetailsVo.java
  19. 73
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDto.java
  20. 64
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.java
  21. 13
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.xml
  22. 71
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgQuery.java
  23. 104
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgService.java
  24. 73
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgVo.java
  25. 4
      yxt-crm-biz/src/main/java/com/yxt/crm/biz/package-info.java
  26. 114
      yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenConfigure.java
  27. 67
      yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenGloableException.java
  28. 4
      yxt-crm-biz/src/main/java/com/yxt/crm/config/package-info.java
  29. 26
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerCrmVehVo.java
  30. 27
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeign.java
  31. 54
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeignFallback.java
  32. 4
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/package-info.java
  33. 22
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/privilege/PrivilegeQuery.java
  34. 35
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationFeign.java
  35. 88
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationVo.java
  36. 25
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysstafforg/SysStaffOrgFeign.java
  37. 22
      yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/SysUserFeign.java
  38. 30
      yxt-crm-biz/src/main/resources/application-devv.yml
  39. 27
      yxt-crm-biz/src/main/resources/application-pro.yml
  40. 31
      yxt-crm-biz/src/main/resources/application-test.yml
  41. 50
      yxt-crm-biz/src/main/resources/application.yml
  42. 50
      yxt-crm-biz/src/main/resources/logback-spring.xml
  43. 13
      yxt-crm-biz/src/test/java/com/yxt/crm/YxtCrm11ApplicationTests.java

3
yxt-crm-biz/README.md

@ -0,0 +1,3 @@
yxt-crm-biz
客户管理后台程序及接口

134
yxt-crm-biz/pom.xml

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.yxt</groupId>
<artifactId>yxt-parent</artifactId>
<version>0.0.1</version>
<relativePath/>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yxt-crm-biz</artifactId>
<groupId>com.yxt.crm</groupId>
<version>2.0.1</version>
<dependencies>
<dependency>
<groupId>com.yxt</groupId>
<artifactId>yxt-common-base</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Sa-Token 权限认证,在线文档:https://sa-token.cc -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>1.37.0</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.23</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>5.8.23</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.6</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*Mapper.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>

22
yxt-crm-biz/src/main/java/com/yxt/crm/YxtCrmApplication.java

@ -0,0 +1,22 @@
package com.yxt.crm;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication(scanBasePackages = {
"com.yxt.crm.config",
"com.yxt.common.base.config",
"com.yxt.crm"
})
// 启用自带定时任务
@EnableScheduling
@EnableFeignClients(basePackages = {})
public class YxtCrmApplication {
public static void main(String[] args) {
SpringApplication.run(YxtCrmApplication.class, args);
}
}

10
yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/AdminHomeRest.java

@ -0,0 +1,10 @@
package com.yxt.crm.apiadmin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController("com.yxt.crm.apiadmin.AdminHomeRest")
@RequestMapping("/apiadmin/home")
public class AdminHomeRest {
}

95
yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerOrgRest.java

@ -0,0 +1,95 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _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.crmcustomerorg.*;
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: CrmCustomerOrgFeignFallback.java <br/>
* Class: com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgRest <br/>
* Description: 客户单位. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "客户单位")
@RestController
@RequestMapping("/apiadmin/v1/crmcustomerorg")
public class CrmCustomerOrgRest {
@Autowired
private CrmCustomerOrgService crmCustomerOrgService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<CrmCustomerOrgVo>> listPage(@RequestBody PagerQuery<CrmCustomerOrgQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<CrmCustomerOrgVo> pv = crmCustomerOrgService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody CrmCustomerOrgDto dto){
ResultBean rb = ResultBean.fireFail();
crmCustomerOrgService.saveOrUpdateDto(dto);
return rb.success();
}
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
crmCustomerOrgService.delBySids(sids);
return rb.success();
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<CrmCustomerOrgDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
CrmCustomerOrgDetailsVo vo = crmCustomerOrgService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
}

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

@ -0,0 +1,105 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _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.crmcustomer.*;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmCustomerFeignFallback.java <br/>
* Class: com.yxt.crm.biz.crmcustomer.CrmCustomerRest <br/>
* Description: 客户. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "客户")
@RestController
@RequestMapping("/apiadmin/v1/crmcustomer")
public class CrmCustomerRest {
@Autowired
private CrmCustomerService crmCustomerService;
@ApiOperation("根据条件分页查询客户信息的列表")
@PostMapping("/customerListPage")
public ResultBean<PagerVo<CustomerVehVo>> customerListPage(@RequestBody PagerQuery<CustomerVehQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<CustomerVehVo> pv = crmCustomerService.customerListPage(pq);
return rb.success().setData(pv);
}
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<CrmCustomerVo>> listPage(@RequestBody PagerQuery<CrmCustomerQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<CrmCustomerVo> pv = crmCustomerService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody CrmCustomerDto dto) {
ResultBean rb = ResultBean.fireFail();
crmCustomerService.saveOrUpdateDto(dto);
return rb.success();
}
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
crmCustomerService.delBySids(sids);
return rb.success();
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<CrmCustomerDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
CrmCustomerDetailsVo vo = crmCustomerService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
}

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

@ -0,0 +1,72 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomer;
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: CrmCustomer.java <br/>
* Class: com.yxt.crm.api.crmcustomer.CrmCustomer <br/>
* Description: 客户. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "客户", description = "客户")
@TableName("crm_customer")
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
}

73
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDetailsVo.java

@ -0,0 +1,73 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomer;
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: CrmCustomerVo.java <br/>
* Class: com.yxt.crm.api.crmcustomer.CrmCustomerVo <br/>
* Description: 客户 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "客户 视图数据详情", description = "客户 视图数据详情")
public class CrmCustomerDetailsVo 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
}

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

@ -0,0 +1,73 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomer;
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: CrmCustomerDto.java <br/>
* Class: com.yxt.crm.api.crmcustomer.CrmCustomerDto <br/>
* Description: 客户 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@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
}

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

@ -0,0 +1,68 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomer;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
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;
/**
* Project: crm(crm) <br/>
* File: CrmCustomerMapper.java <br/>
* Class: com.yxt.crm.biz.crmcustomer.CrmCustomerMapper <br/>
* Description: 客户. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
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();
}

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

@ -0,0 +1,34 @@
<?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.crmcustomer.CrmCustomerMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.crm.biz.crmcustomer.CrmCustomerVo">
SELECT * FROM crm_customer
<where>${ew.sqlSegment}</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.crm.biz.crmcustomer.CrmCustomerVo">
SELECT * FROM crm_customer
<where>${ew.sqlSegment}</where>
</select>
<select id="customerListPage" resultType="com.yxt.crm.biz.crmcustomer.CustomerVehVo">
SELECT
sid,
`name`,
mobile,
orgName
FROM crm_customer
<where>
${ew.sqlSegment}
</where>
</select>
<select id="customerList" resultType="com.yxt.crm.biz.crmcustomer.CustomerVehVo">
SELECT sid,
`name`,
mobile,
orgName,
useOrgSid
FROM crm_customer
</select>
</mapper>

71
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerQuery.java

@ -0,0 +1,71 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomer;
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: CrmCustomerQuery.java <br/>
* Class: com.yxt.crm.api.crmcustomer.CrmCustomerQuery <br/>
* Description: 客户 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "客户 查询条件", description = "客户 查询条件")
public class CrmCustomerQuery implements Query {
@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
}

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

@ -0,0 +1,291 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomer;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerCrmVehVo;
import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerVehicleFeign;
import com.yxt.crm.feign.portal.sysstafforg.SysStaffOrgFeign;
import org.apache.commons.lang3.StringUtils;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: crm(crm) <br/>
* File: CrmCustomerService.java <br/>
* Class: com.yxt.crm.biz.crmcustomer.CrmCustomerService <br/>
* Description: 客户 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class CrmCustomerService extends MybatisBaseService<CrmCustomerMapper, CrmCustomer> {
@Resource
private AsCustomerVehicleFeign asCustomerVehicleFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
private QueryWrapper<CrmCustomer> createQueryWrapper(CrmCustomerQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<CrmCustomer> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<CrmCustomerVo> listPageVo(PagerQuery<CrmCustomerQuery> pq) {
CrmCustomerQuery query = pq.getParams();
QueryWrapper<CrmCustomer> qw = createQueryWrapper(query);
IPage<CrmCustomer> page = PagerUtil.queryToPage(pq);
IPage<CrmCustomerVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<CrmCustomerVo> p = PagerUtil.pageToVo(pagging, null);
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();
BeanUtil.copyProperties(dto, entity, "id", "sid");
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);
CrmCustomerDetailsVo vo = new CrmCustomerDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public PagerVo<CustomerVehVo> customerListPage(PagerQuery<CustomerVehQuery> pq) {
PagerVo<CustomerVehVo> pagerVo = new PagerVo<>();
CustomerVehQuery pagerQuery = pq.getParams();
List<CustomerVehVo> nameList = new ArrayList<>();
List<CustomerVehVo> mobileList = new ArrayList<>();
List<CustomerVehVo> orgNameList = new ArrayList<>();
List<CustomerVehVo> vinList = new ArrayList<>();
List<AsCustomerCrmVehVo> vehVos = asCustomerVehicleFeign.listCustomerVeh().getData();
if (!vehVos.isEmpty()) {
List<CustomerVehVo> customerVos = baseMapper.customerList();
customerVos.removeAll(Collections.singleton(null));
if (!customerVos.isEmpty()) {
List<CustomerVehVo> result = vehVos.stream()
.map(v -> {
Optional<CustomerVehVo> vehVo = customerVos.stream()
.filter(c -> c.getSid().equals(v.getCustomerSid()))
.findFirst();
if (vehVo.isPresent()) {
CustomerVehVo customerVehVo = new CustomerVehVo();
if (StringUtils.isNotBlank(vehVo.get().getMobile())) {
customerVehVo.setMobile(vehVo.get().getMobile());
} else {
customerVehVo.setMobile("");
}
if (StringUtils.isNotBlank(vehVo.get().getName())) {
customerVehVo.setName(vehVo.get().getName());
} else {
customerVehVo.setName("");
}
if (StringUtils.isNotBlank(v.getVehMark())) {
customerVehVo.setVehMark(v.getVehMark());
} else {
customerVehVo.setVehMark("");
}
if (StringUtils.isNotBlank(vehVo.get().getSid())) {
customerVehVo.setSid(vehVo.get().getSid());
} else {
customerVehVo.setSid("");
}
if (StringUtils.isNotBlank(vehVo.get().getOrgName())) {
customerVehVo.setOrgName(vehVo.get().getOrgName());
} else {
customerVehVo.setOrgName("");
}
if (StringUtils.isNotBlank(vehVo.get().getUseOrgSid())) {
customerVehVo.setUseOrgSid(vehVo.get().getUseOrgSid());
} else {
customerVehVo.setUseOrgSid("");
}
if (StringUtils.isNotBlank(v.getVinNo())) {
customerVehVo.setVinNo(v.getVinNo());
} else {
customerVehVo.setVinNo("");
}
if (StringUtils.isNotBlank(v.getVehModel())) {
customerVehVo.setVehModel(v.getVehModel());
} else {
customerVehVo.setVehModel("");
}
if (StringUtils.isNotBlank(v.getVehModelSid())) {
customerVehVo.setVehModelSid(v.getVehModelSid());
} else {
customerVehVo.setVehModelSid("");
}
return customerVehVo;
} else {
CustomerVehVo customerVehVo = new CustomerVehVo();
if (StringUtils.isNotBlank(v.getVehMark())) {
customerVehVo.setVehMark(v.getVehMark());
} else {
customerVehVo.setVehMark("");
}
if (StringUtils.isNotBlank(v.getVinNo())) {
customerVehVo.setVinNo(v.getVinNo());
} else {
customerVehVo.setVinNo("");
}
if (StringUtils.isNotBlank(v.getVehModel())) {
customerVehVo.setVehModel(v.getVehModel());
} else {
customerVehVo.setVehModel("");
}
if (StringUtils.isNotBlank(v.getVehModelSid())) {
customerVehVo.setVehModelSid(v.getVehModelSid());
} else {
customerVehVo.setVehModelSid("");
}
customerVehVo.setMobile("");
customerVehVo.setOrgName("");
customerVehVo.setSid("");
customerVehVo.setName("");
customerVehVo.setUseOrgSid("");
return customerVehVo;
}
})
.collect(Collectors.toList());
if (StringUtils.isNotBlank(pagerQuery.getOrgPath())) {
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(pagerQuery.getOrgPath()).getData();
result = result.stream()
.filter(r -> r.getUseOrgSid().equals(useOrgSid))
.collect(Collectors.toList());
}
if (!result.isEmpty()) {
if (StringUtils.isNotBlank(pagerQuery.getVehMark())) {
result = result.stream().filter(r -> r.getVehMark().contains(pagerQuery.getVehMark()))
.collect(Collectors.toList());
}
if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
vinList = result.stream().filter(r -> r.getVinNo().contains(pagerQuery.getVinNo()))
.collect(Collectors.toList());
result = result.stream().filter(vinList::contains).collect(Collectors.toList());
}
if (StringUtils.isNotBlank(pagerQuery.getName())) {
nameList = result.stream().filter(r -> r.getName().contains(pagerQuery.getName()))
.collect(Collectors.toList());
result = result.stream().filter(nameList::contains).collect(Collectors.toList());
}
if (StringUtils.isNotBlank(pagerQuery.getOrgName())) {
orgNameList = result.stream().filter(r -> r.getOrgName().contains(pagerQuery.getOrgName()))
.collect(Collectors.toList());
result = result.stream().filter(orgNameList::contains).collect(Collectors.toList());
}
if (StringUtils.isNotBlank(pagerQuery.getMobile())) {
mobileList = result.stream().filter(r -> r.getMobile().contains(pagerQuery.getMobile()))
.collect(Collectors.toList());
result = result.stream().filter(mobileList::contains).collect(Collectors.toList());
}
}
if (!result.isEmpty()) {
List<CustomerVehVo> lastList = this.pageBySubList(result, (int) pq.getSize(), (int) pq.getCurrent());
pagerVo.setRecords(lastList);
pagerVo.setTotal(result.size());
pagerVo.setCurrent(pq.getCurrent());
pagerVo.setSize(pq.getSize());
if (result.size() % pq.getSize() != 0L) {
pagerVo.setPages((result.size() / pq.getSize()) + 1);
} else {
pagerVo.setPages(result.size() / pq.getSize());
}
pagerVo.setMsg("当前共查询到" + result.size() + "条记录");
}
}
}
return pagerVo;
}
/**
* 分页方法
*/
public List<CustomerVehVo> pageBySubList(List<CustomerVehVo> list, int pagesize, int currentPage) {
int totalcount = list.size();
int pagecount = 0;
List<CustomerVehVo> subList;
int m = totalcount % pagesize;
if (m > 0) {
pagecount = totalcount / pagesize + 1;
} else {
pagecount = totalcount / pagesize;
}
if (m == 0) {
subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
} else {
if (currentPage == pagecount) {
subList = list.subList((currentPage - 1) * pagesize, totalcount);
} else {
subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
}
}
return subList;
}
}

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

@ -0,0 +1,73 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomer;
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: CrmCustomerVo.java <br/>
* Class: com.yxt.crm.api.crmcustomer.CrmCustomerVo <br/>
* Description: 客户 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@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
}

26
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehQuery.java

@ -0,0 +1,26 @@
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/3/19 9:56
*/
@Data
public class CustomerVehQuery implements Query {
@ApiModelProperty("客户名称")
private String name; // 客户名称
@ApiModelProperty("车辆牌照")
private String vehMark; // 车辆牌照
@ApiModelProperty("联系电话")
private String mobile; // 联系电话
@ApiModelProperty("所在单位")
private String orgName; // 所在单位
private String vinNo; //车架号
@ApiModelProperty("组织全路径")
private String orgPath; // 组织全路径
}

31
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehVo.java

@ -0,0 +1,31 @@
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/3/19 9:57
*/
@Data
public class CustomerVehVo implements Vo {
private String sid;
@ApiModelProperty("客户名称")
private String name; // 客户名称
@ApiModelProperty("车辆牌照")
private String vehMark; // 车辆牌照
@ApiModelProperty("联系电话")
private String mobile; // 联系电话
@ApiModelProperty("所在单位")
private String orgName; // 所在单位
@ApiModelProperty("车型sid")
private String vehModelSid;
@ApiModelProperty("车型")
private String vehModel;
@ApiModelProperty("车架号")
private String vinNo;
private String useOrgSid;
}

72
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrg.java

@ -0,0 +1,72 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomerorg;
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: CrmCustomerOrg.java <br/>
* Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrg <br/>
* Description: 客户单位. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "客户单位", description = "客户单位")
@TableName("crm_customer_org")
public class CrmCustomerOrg extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("单位名称")
private String orgName; // 单位名称
@ApiModelProperty("单位编码(拼音缩写)")
private String orgCode; // 单位编码(拼音缩写)
@ApiModelProperty("联系人")
private String contacts; // 联系人
@ApiModelProperty("联系电话")
private String mobile; // 联系电话
@ApiModelProperty("地址")
private String address; // 地址
@ApiModelProperty("信用额度")
private Integer creditLimit; // 信用额度
@ApiModelProperty("排序号")
private Integer sortNo; // 排序号
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}

73
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDetailsVo.java

@ -0,0 +1,73 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomerorg;
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: CrmCustomerOrgVo.java <br/>
* Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgVo <br/>
* Description: 客户单位 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "客户单位 视图数据详情", description = "客户单位 视图数据详情")
public class CrmCustomerOrgDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("单位名称")
private String orgName; // 单位名称
@ApiModelProperty("单位编码(拼音缩写)")
private String orgCode; // 单位编码(拼音缩写)
@ApiModelProperty("联系人")
private String contacts; // 联系人
@ApiModelProperty("联系电话")
private String mobile; // 联系电话
@ApiModelProperty("地址")
private String address; // 地址
@ApiModelProperty("信用额度")
private Integer creditLimit; // 信用额度
@ApiModelProperty("排序号")
private Integer sortNo; // 排序号
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}

73
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDto.java

@ -0,0 +1,73 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomerorg;
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: CrmCustomerOrgDto.java <br/>
* Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgDto <br/>
* Description: 客户单位 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "客户单位 数据传输对象", description = "客户单位 数据传输对象")
public class CrmCustomerOrgDto implements Dto {
private String sid; // sid
@ApiModelProperty("单位名称")
private String orgName; // 单位名称
@ApiModelProperty("单位编码(拼音缩写)")
private String orgCode; // 单位编码(拼音缩写)
@ApiModelProperty("联系人")
private String contacts; // 联系人
@ApiModelProperty("联系电话")
private String mobile; // 联系电话
@ApiModelProperty("地址")
private String address; // 地址
@ApiModelProperty("信用额度")
private Integer creditLimit; // 信用额度
@ApiModelProperty("排序号")
private Integer sortNo; // 排序号
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}

64
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.java

@ -0,0 +1,64 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomerorg;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
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;
/**
* Project: crm(crm) <br/>
* File: CrmCustomerOrgMapper.java <br/>
* Class: com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgMapper <br/>
* Description: 客户单位. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface CrmCustomerOrgMapper extends BaseMapper<CrmCustomerOrg> {
//@Update("update crm_customer_org set name=#{msg} where id=#{id}")
//IPage<CrmCustomerOrgVo> voPage(IPage<CrmCustomerOrg> page, @Param(Constants.WRAPPER) QueryWrapper<CrmCustomerOrg> qw);
IPage<CrmCustomerOrgVo> selectPageVo(IPage<CrmCustomerOrg> page, @Param(Constants.WRAPPER) Wrapper<CrmCustomerOrg> qw);
List<CrmCustomerOrgVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<CrmCustomerOrg> qw);
@Select("select * from crm_customer_org")
List<CrmCustomerOrgVo> selectListVo();
}

13
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.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.crmcustomerorg.CrmCustomerOrgMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgVo">
SELECT * FROM crm_customer_org <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgVo">
SELECT * FROM crm_customer_org <where> ${ew.sqlSegment} </where>
</select>
</mapper>

71
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgQuery.java

@ -0,0 +1,71 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomerorg;
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: CrmCustomerOrgQuery.java <br/>
* Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgQuery <br/>
* Description: 客户单位 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "客户单位 查询条件", description = "客户单位 查询条件")
public class CrmCustomerOrgQuery implements Query {
@ApiModelProperty("单位名称")
private String orgName; // 单位名称
@ApiModelProperty("单位编码(拼音缩写)")
private String orgCode; // 单位编码(拼音缩写)
@ApiModelProperty("联系人")
private String contacts; // 联系人
@ApiModelProperty("联系电话")
private String mobile; // 联系电话
@ApiModelProperty("地址")
private String address; // 地址
@ApiModelProperty("信用额度")
private Integer creditLimit; // 信用额度
@ApiModelProperty("排序号")
private Integer sortNo; // 排序号
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}

104
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgService.java

@ -0,0 +1,104 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomerorg;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.commons.lang3.StringUtils;
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.springframework.stereotype.Service;
import java.util.List;
/**
* Project: crm(crm) <br/>
* File: CrmCustomerOrgService.java <br/>
* Class: com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgService <br/>
* Description: 客户单位 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class CrmCustomerOrgService extends MybatisBaseService<CrmCustomerOrgMapper, CrmCustomerOrg> {
private QueryWrapper<CrmCustomerOrg> createQueryWrapper(CrmCustomerOrgQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<CrmCustomerOrg> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<CrmCustomerOrgVo> listPageVo(PagerQuery<CrmCustomerOrgQuery> pq) {
CrmCustomerOrgQuery query = pq.getParams();
QueryWrapper<CrmCustomerOrg> qw = createQueryWrapper(query);
IPage<CrmCustomerOrg> page = PagerUtil.queryToPage(pq);
IPage<CrmCustomerOrgVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<CrmCustomerOrgVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(CrmCustomerOrgDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(CrmCustomerOrgDto dto){
CrmCustomerOrg entity = new CrmCustomerOrg();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(CrmCustomerOrgDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
CrmCustomerOrg entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public CrmCustomerOrgDetailsVo fetchDetailsVoBySid(String sid){
CrmCustomerOrg entity = fetchBySid(sid);
CrmCustomerOrgDetailsVo vo = new CrmCustomerOrgDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
}

73
yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgVo.java

@ -0,0 +1,73 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.biz.crmcustomerorg;
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: CrmCustomerOrgVo.java <br/>
* Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgVo <br/>
* Description: 客户单位 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-15 17:06:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "客户单位 视图数据对象", description = "客户单位 视图数据对象")
public class CrmCustomerOrgVo implements Vo {
private String sid; // sid
@ApiModelProperty("单位名称")
private String orgName; // 单位名称
@ApiModelProperty("单位编码(拼音缩写)")
private String orgCode; // 单位编码(拼音缩写)
@ApiModelProperty("联系人")
private String contacts; // 联系人
@ApiModelProperty("联系电话")
private String mobile; // 联系电话
@ApiModelProperty("地址")
private String address; // 地址
@ApiModelProperty("信用额度")
private Integer creditLimit; // 信用额度
@ApiModelProperty("排序号")
private Integer sortNo; // 排序号
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}

4
yxt-crm-biz/src/main/java/com/yxt/crm/biz/package-info.java

@ -0,0 +1,4 @@
/**
* 宇信通 仓库管理 项目后台逻辑和接口
*/
package com.yxt.crm.biz;

114
yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenConfigure.java

@ -0,0 +1,114 @@
package com.yxt.crm.config;//package com.yxt.wms.config;
//
//import cn.dev33.satoken.interceptor.SaInterceptor;
//import cn.dev33.satoken.stp.StpUtil;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
//
///**
// * @author wangpengfei
// * @date 2023/5/16 14:43
// */
//@Configuration
//public class SaTokenConfigure implements WebMvcConfigurer {
// @Value("${image.url.prefix:http://127.0.0.1:8080/upload/}")
// private String urlPrefix;
// // 注册 Sa-Token 拦截器
// @Override
// public void addInterceptors(InterceptorRegistry registry) {
// // 注册 Sa-Token 拦截器,校验规则为 StpUtil.checkLogin() 登录校验。
//
// registry.addInterceptor(new SaInterceptor(handler -> StpUtil.checkLogin()))
// .addPathPatterns("/**")
// .excludePathPatterns("/sysuser/doLogin")
// .excludePathPatterns("/lpkgiftcard/gifCardByCustomerSid")
// .excludePathPatterns("/empcardgift/gifCardByCustomerSid")
// .excludePathPatterns("/empcard/getEmpCardByCustomerSid")
// .excludePathPatterns("/lpkgiftcard/getGifCardBySid/**")
// .excludePathPatterns("/empcardgift/getGifCardBySid/**")
// .excludePathPatterns("/empcard/getEmpCardBySid/**")
// .excludePathPatterns("/lpkgiftcard/isSaturAndSun/**")
// .excludePathPatterns("/empcardgift/isSaturAndSun/**")
// .excludePathPatterns("/empcard/isSaturAndSun/**")
// .excludePathPatterns("/lpkgiftcard/getReservationBySid/**")
// .excludePathPatterns("/lpksreservoorder/submission")
// .excludePathPatterns("/lpksreservoorder/exportExcelByStore")
// .excludePathPatterns("/empsreservoorder/createNewUserBagOrder")
// .excludePathPatterns("/lpksreservoorders/submission")
// .excludePathPatterns("/empsreservoorder/ordersList")
// .excludePathPatterns("/empsreservoorder/submission")
// .excludePathPatterns("/empsreservoorder/submissionEmp")
// .excludePathPatterns("/empcardgift/generateCard")
// .excludePathPatterns("/lpkgiftcard/bindCard")
// .excludePathPatterns("/empcard/bindCard")
// .excludePathPatterns("/lpksreservoorder/orderByCardSid/**")
// .excludePathPatterns("/lpksreservoorder/orderListByUserSid/**")
// .excludePathPatterns("/lpksreservoorder/orderDetails/**")
// .excludePathPatterns("/newcomerrecorecord/recommendNewUsers")
// .excludePathPatterns("/newcomerrecorecord/recommendedAssistance")
// .excludePathPatterns("/newcomerrecorecord/recordList/**")
// .excludePathPatterns("/transferrecords/transferRecordsList")
// .excludePathPatterns("/empsreservoorder/createVegeOrder")
// .excludePathPatterns("/empsreservoorder/OrderDetails/**")
// .excludePathPatterns("/empsreservoorder/changePayState/**")
// .excludePathPatterns("/lpkgoods/goodsDetails/**")
// .excludePathPatterns("/lpkstore/getAllStoreByQuery")
// .excludePathPatterns("/vegetablecellar/receiveTransferGoods")
// .excludePathPatterns("/transferrecords/submission")
// .excludePathPatterns("/lpkgiftcard/getCardByBank")
// .excludePathPatterns("/empcard/getEmpCard")
// .excludePathPatterns("/empcardgift/shareEmpCard/**")
// .excludePathPatterns("/empcardgift/generateEmpCardGift")
// .excludePathPatterns("/empcardgift/generateEmpCard")
// .excludePathPatterns("/lpkcustomer/wxSilentLogin")
// .excludePathPatterns("/lpkgiftcard/gifCardsByCustomerSid")
// .excludePathPatterns("/lpkgoods/getAllGiftBag")
// .excludePathPatterns("/appletgiftbag/getGiftBagBySid/**")
// .excludePathPatterns("/appletgiftbag/appletGiftBagList")
// .excludePathPatterns("/lpkgiftcard/cardShareDetail/**")
// .excludePathPatterns("/lpkgiftcard/cardShareGoodsDetail/**")
// .excludePathPatterns("/empcardgift/generateTopEmpCard/**")
// .excludePathPatterns("/empsreservoorder/createOrder")
// .excludePathPatterns("/appletgiftbag/recommendRecord/**")
// //2024-01-17
// .excludePathPatterns("/lpkgiftcard/getAllGoodsType/**")
// .excludePathPatterns("/appletnotice/getNotice")
// .excludePathPatterns("/empsreservoorder/getPreOrder")
// .excludePathPatterns("/lpkgoods/getAllGoodsType/**")
// .excludePathPatterns("/transferrecords/submission")
// .excludePathPatterns("/vegetablecellar/receiveTransferGoods")
// .excludePathPatterns("/customerstore/isSaturAndSun")
// .excludePathPatterns("/lpkgiftcard/getGoodsByType/**")
// .excludePathPatterns("/lpkgoods/getGoodsTypeAndBrand")
// .excludePathPatterns("/lpkgoods/getGoodsByType")
// .excludePathPatterns("/lpksreservoorders/orderListByUserSid")
// .excludePathPatterns("/appletgiftbag/newUserQuota")
// .excludePathPatterns("/shoppingcart/addShoppingCart")
// .excludePathPatterns("/shoppingcart/getGoodsWeight")
// .excludePathPatterns("/shoppingcart/shoppingCartList")
// .excludePathPatterns("/shoppingcart/delShoppingCart/**")
// .excludePathPatterns("/lpkgoods/vegeCellarTypeList")
// .excludePathPatterns("/vegetablecellar/addGoods/**")
// .excludePathPatterns("/lpkgoods/vegeCellarList")
// .excludePathPatterns("/customerstore/getStoreBySid/**")
// .excludePathPatterns("/lpkgiftcard/bindAllCard")
// .excludePathPatterns("/lpkcustomer/customerInfo/**")
// .excludePathPatterns("/vegetablecellar/saveGoods")
// .excludePathPatterns("/transferrecords/getTransferByCode/**")
// //2024-01-18
// .excludePathPatterns("/lpkcustomer/getCustomerInfo/**")
// .excludePathPatterns("/lpkcustomer/modifyUserNickName")
// .excludePathPatterns("/lpkcustomer/modifyHeadImage")
// .excludePathPatterns("/upload/**")
// .excludePathPatterns("/lpkcustomer/getPhoneNumber")
// .excludePathPatterns("/lpkcustomer/getRealInfo/**")
// .excludePathPatterns("/lpkcustomer/saveRealInfo")
// .excludePathPatterns("/pms/PmsBrand/getList")
// .excludePathPatterns("/LpkCustomerBank/getBankList")
// .excludePathPatterns("/lpkcustomer/updateCustomerBank")
// .excludePathPatterns("//wxapi/**")
// ;
// }
//}

67
yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenGloableException.java

@ -0,0 +1,67 @@
package com.yxt.crm.config;
import com.yxt.common.base.config.handler.GlobalExceptionHandler;
import com.yxt.common.core.result.ResultBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.validation.BindException;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.NoHandlerFoundException;
/**
* @author dimengzhe
* @date 2020/9/12 3:23
* @description 全局异常处理
*/
@RestControllerAdvice
public class SaTokenGloableException extends GlobalExceptionHandler {
private static final Logger L = LoggerFactory.getLogger(GlobalExceptionHandler.class);
public SaTokenGloableException() {
}
@ExceptionHandler({Exception.class})
public ResultBean handleException(Exception e) {
if(null !=e.getMessage()){
if(e.getMessage().contains("token 无效:")){
L.error(e.getMessage(), e);
return ResultBean.fireFail().setCode("5000").setMsg("系统异常::" + e.getMessage());
}
if(e.getMessage().contains("未能读取到有效 token")){
// L.error(e.getMessage(), e);
return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage());
}
}
L.error(e.getMessage(), e);
return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage());
}
@ExceptionHandler({NoHandlerFoundException.class})
public ResultBean handlerNoFoundException(Exception e) {
L.error(e.getMessage(), e);
return ResultBean.fireFail().setCode("404").setMsg("路径不存在,请检查路径是否正确");
}
// @ExceptionHandler({Exception.class})
// public ResultBean handleException(Exception e) {
// L.error(e.getMessage(), e);
// return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage());
// }
@ExceptionHandler({BindException.class})
public ResultBean validatedBindException(BindException e) {
L.error(e.getMessage(), e);
String message = ((ObjectError)e.getAllErrors().get(0)).getDefaultMessage();
return ResultBean.fireFail().setCode("405").setMsg(message);
}
@ExceptionHandler({MethodArgumentNotValidException.class})
public ResultBean validExceptionHandler(MethodArgumentNotValidException e) {
L.error(e.getMessage(), e);
String message = e.getBindingResult().getFieldError().getDefaultMessage();
return ResultBean.fireFail().setCode("405").setMsg(message);
}
}

4
yxt-crm-biz/src/main/java/com/yxt/crm/config/package-info.java

@ -0,0 +1,4 @@
/**
* 宇信通监管项目-光伏山海新能源项目后台逻辑和接口-接口声明
*/
package com.yxt.crm.config;

26
yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerCrmVehVo.java

@ -0,0 +1,26 @@
package com.yxt.crm.feign.as.ascustomervehicle;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author Fan
* @description
* @date 2024/3/7 14:29
*/
@Data
public class AsCustomerCrmVehVo {
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("车型sid")
private String vehModelSid;
@ApiModelProperty("车型")
private String vehModel;
}

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

@ -0,0 +1,27 @@
package com.yxt.crm.feign.as.ascustomervehicle;
import com.yxt.common.core.result.ResultBean;
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.RequestParam;
import java.util.List;
/**
* @description: 客户车辆信息
* @author: fzz
* @date: 2024/3/7
**/
@FeignClient(
contextId = "yxt-as-AsCustomerVehicle",
name = "yxt-as",
path = "as/v1/ascustomervehicle",
fallback = AsCustomerVehicleFeignFallback.class
)
public interface AsCustomerVehicleFeign {
@ApiOperation("查询数据的列表")
@PostMapping("/listCustomerVeh")
public ResultBean<List<AsCustomerCrmVehVo>> listCustomerVeh();
}

54
yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeignFallback.java

@ -0,0 +1,54 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.crm.feign.as.ascustomervehicle;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Project: anrui-fin(安瑞财务) <br/>
* File: FinManufacturerBankFeignFallback.java <br/>
* Class: com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBankFeignFallback <br/>
* Description: 公司开户账号表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-03 15:00:11 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class AsCustomerVehicleFeignFallback implements AsCustomerVehicleFeign{
@Override
public ResultBean<List<AsCustomerCrmVehVo>> listCustomerVeh() {
return null;
}
}

4
yxt-crm-biz/src/main/java/com/yxt/crm/feign/package-info.java

@ -0,0 +1,4 @@
/**
* 宇信通监管项目-光伏山海新能源项目后台逻辑和接口-接口声明
*/
package com.yxt.crm.feign;

22
yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/privilege/PrivilegeQuery.java

@ -0,0 +1,22 @@
package com.yxt.crm.feign.portal.privilege;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 权限角色层级
* @author: dimengzhe
* @date: 2023/5/23
**/
@Data
public class PrivilegeQuery {
@ApiModelProperty("菜单路由")
private String menuUrl;
@ApiModelProperty("组织全路径sid")
private String orgPath;
@ApiModelProperty("菜单sid")
private String menuSid;
@ApiModelProperty("用户sid")
private String userSid;
}

35
yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationFeign.java

@ -0,0 +1,35 @@
package com.yxt.crm.feign.portal.sysorganization;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysOrganizationFeign.java <br/>
* Class: com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign <br/>
* Description: 组织机构表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "组织机构表")
@FeignClient(
contextId = "anrui-portal-SysOrganization",
name = "anrui-portal",
path = "v1/sysorganization")
public interface SysOrganizationFeign {
@ApiOperation("获取一条记录 根据sid")
@ResponseBody
@GetMapping("/fetchBySid/{sid}")
public ResultBean<SysOrganizationVo> fetchBySid(@PathVariable("sid") String sid);
}

88
yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationVo.java

@ -0,0 +1,88 @@
package com.yxt.crm.feign.portal.sysorganization;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysOrganizationVo.java <br/>
* Class: com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo <br/>
* Description: 组织机构表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "组织机构表 视图数据对象", description = "组织机构表 视图数据对象")
@Data
public class SysOrganizationVo implements Vo {
@ApiModelProperty("部门/组织名称")
private String name;
@ApiModelProperty("父(部门/组织) sid")
private String psid;
@ApiModelProperty("联系电话")
private String linkPhone;
@ApiModelProperty("联系人")
private String linkPerson;
@ApiModelProperty("部门sid全路径")
private String orgSidPath;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("地址")
private String addrs;
@ApiModelProperty("地理位置经纬度")
private String jwd;
@ApiModelProperty("二维码")
private String qrText;
@ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己")
private Integer limitOrgMember;
@ApiModelProperty("部门编码")
private String orgCode;
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("子集")
private List<SysOrganizationVo> children = new ArrayList<>();
@ApiModelProperty("主管人员名称")
private String zgNames;
@ApiModelProperty("分管人员名称")
private String fgNames;
@ApiModelProperty("主管人员sid")
private String zgStaffSid;
@ApiModelProperty("分管人员sid")
private String fgStaffSid;
@ApiModelProperty("组织简称")
private String orgAbbre;
@ApiModelProperty("是否是部门(0否,1是)")
private Integer isDept;
@ApiModelProperty("组织属性key")
private String orgAttributeKey;
@ApiModelProperty("组织属性value")
private String orgAttributeValue;
@ApiModelProperty("管理层级key")
private String orgLevelKey;
@ApiModelProperty("管理层级value")
private String orgLevelValue;
@ApiModelProperty("其他编码")
private String otherCode;
@ApiModelProperty("主管用户sid")
private String managerSid;
}

25
yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysstafforg/SysStaffOrgFeign.java

@ -0,0 +1,25 @@
package com.yxt.crm.feign.portal.sysstafforg;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @description: 人员与机构
* @author: dimengzhe
* @date: 2024/3/6
**/
@FeignClient(
contextId = "anrui-portal-SysStaffOrg",
name = "anrui-portal",
path = "v1/sysstafforg")
public interface SysStaffOrgFeign {
@GetMapping("/getOrgSidByPath")
@ResponseBody
@ApiOperation("根据用户组织全路径获取用户的分公司sid")
ResultBean<String> getOrgSidByPath(@RequestParam("orgPath") String orgPath);
}

22
yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/SysUserFeign.java

@ -0,0 +1,22 @@
package com.yxt.crm.feign.portal.sysuser;
import com.yxt.common.core.result.ResultBean;
import com.yxt.crm.feign.portal.privilege.PrivilegeQuery;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@Api(tags = "用户表")
@FeignClient(
contextId = "anrui-portal-SysUser",
name = "anrui-portal",
path = "v1/sysuser")
public interface SysUserFeign {
@ApiOperation(value = "查询角色权限的层级获取权限id")
@PostMapping(value = "/selectPrivilegeLevel")
ResultBean<String> selectPrivilegeLevel(@RequestBody PrivilegeQuery query);
}

30
yxt-crm-biz/src/main/resources/application-devv.yml

@ -0,0 +1,30 @@
spring:
datasource:
hikari:
max-lifetime: 500000
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://39.104.100.138:3306/yxt_crm?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
username: root
password: yxt_mysql_138
cloud:
nacos:
discovery:
server-addr: 39.104.100.138:8848
register-enabled: false
redis:
database: 3 # Redis数据库索引(默认为0)
host: 39.104.100.138
jedis:
pool:
max-active: -1 #连接池最大连接数(使用负值表示没有限制)
max-idle: 8 #连接池中的最大空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
password: 123456
port: 6379
timeout: 0 # 连接超时时间(毫秒)
image:
upload:
path: D:\\anrui\\upload\\
url:
prefix: http://192.168.1.106:8111/upload/

27
yxt-crm-biz/src/main/resources/application-pro.yml

@ -0,0 +1,27 @@
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://120.46.172.184:3306/yxt_crm?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
username: root
password: '@anrui18033887500'
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
redis:
database: 3 # Redis数据库索引(默认为0)
host: 127.0.0.1
jedis:
pool:
max-active: -1 #连接池最大连接数(使用负值表示没有限制)
max-idle: 8 #连接池中的最大空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
password: 123456
port: 6379
timeout: 0 # 连接超时时间(毫秒)
image:
upload:
path: D:\anrui\upload\
url:
prefix: http://120.46.172.184/api/upload/

31
yxt-crm-biz/src/main/resources/application-test.yml

@ -0,0 +1,31 @@
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://172.18.0.4:3306/yxt_crm?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
username: root
password: yxt_mysql_138
hikari:
minimum-idle: 3
max-lifetime: 30000
maximum-pool-size: 10
cloud:
nacos:
discovery:
server-addr: 172.18.0.5:8848
redis:
database: 3 # Redis数据库索引(默认为0)
host: 172.18.0.7
jedis:
pool:
max-active: -1 #连接池最大连接数(使用负值表示没有限制)
max-idle: 8 #连接池中的最大空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
password: 123456
port: 6379
timeout: 0 # 连接超时时间(毫秒)
image:
upload:
path: /home/lzh/docker_data/nginx/html/anrui-system-ui/upload/
url:
prefix: http://anrui.yyundong.com/upload/

50
yxt-crm-biz/src/main/resources/application.yml

@ -0,0 +1,50 @@
spring:
application:
name: yxt-crm
profiles:
active: devv
# active: test
# active: pro
messages:
# 国际化资源文件路径
basename: i18n/messages
servlet:
#上传文件
multipart:
max-file-size: 50MB
max-request-size: 100MB
devtools:
restart:
# 热部署开关
enabled: true
server:
port: 7303
max-http-header-size: 102400
undertow:
max-http-post-size: -1
#mybatis
mybatis-plus:
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapper-locations: classpath*:**Mapper.xml
global-config:
refresh: true
db-config:
#定义生成ID的类型
id-type: Auto
db-type: mysql
configuration:
map-underscore-to-camel-case: false
cache-enabled: true
call-setters-on-nulls: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#rocketmq:
# producer:
# group: yxt-supervise-gf
# name-server: 127.0.0.1:9876

50
yxt-crm-biz/src/main/resources/logback-spring.xml

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.base" value="logs/yxt_wms" />
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 :
|%blue(%thread) 线程 如 :DiscoveryClient-CacheRefreshExecutor-0-->
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
</pattern>
<!--<charset>UTF-8</charset> -->
</encoder>
</appender>
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<appender name="FILEOUT"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.base}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.base}.%d{yyyyMMdd}.%i.log.zip
</fileNamePattern>
<!-- 当文件大小超过10MB时触发滚动 -->
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>1MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<!--<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
-%msg%n</Pattern>
<!--<charset>UTF-8</charset> -->
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILEOUT" />
</root>
</configuration>

13
yxt-crm-biz/src/test/java/com/yxt/crm/YxtCrm11ApplicationTests.java

@ -0,0 +1,13 @@
package com.yxt.crm;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class YxtCrm11ApplicationTests {
@Test
void contextLoads() {
}
}
Loading…
Cancel
Save