优化客户后台

master
river 4 years ago
parent 29540a25a4
commit bc73746223
  1. 13
      dq-financial-api/src/main/java/com/daqing/financial/crms/CustomerControllerApi.java
  2. BIN
      dq-financial-api/target/classes/com/daqing/financial/DqFinancialApiApplication.class
  3. BIN
      dq-financial-api/target/classes/com/daqing/financial/crms/CustomerControllerApi.class
  4. BIN
      dq-financial-api/target/classes/com/daqing/financial/hrauth/UserLoginControllerApi.class
  5. 34
      dq-financial-crms/src/main/java/com/daqing/financial/crms/controller/CustomerController.java
  6. 18
      dq-financial-crms/src/main/java/com/daqing/financial/crms/service/CustomerService.java
  7. 150
      dq-financial-crms/src/main/java/com/daqing/financial/crms/service/impl/CustomerServiceImpl.java
  8. BIN
      dq-financial-crms/target/classes/com/daqing/financial/crms/controller/CustomerController.class
  9. BIN
      dq-financial-crms/target/classes/com/daqing/financial/crms/service/CustomerService.class
  10. BIN
      dq-financial-crms/target/classes/com/daqing/financial/crms/service/impl/CustomerServiceImpl.class
  11. 29
      dq-financial-hrms-auth/target/classes/bootstrap.properties
  12. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/DqFinancialHrmsAuthApplication.class
  13. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/annotation/Log.class
  14. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/aspect/Operation.class
  15. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/aspect/SysLogAspect.class
  16. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/controller/UserLoginController.class
  17. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/dao/LoginLogMapper.class
  18. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/dao/SystemLogMapper.class
  19. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/dao/TokenMapper.class
  20. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/dao/UserLoginDao.class
  21. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/enums/BusinessType$1.class
  22. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/enums/BusinessType.class
  23. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/enums/OperationType$1.class
  24. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/enums/OperationType.class
  25. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/enums/OperationUnit.class
  26. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/service/LoginLogService.class
  27. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/service/TokenService.class
  28. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/service/UserLoginService.class
  29. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/service/impl/LoginLogServiceImpl.class
  30. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/service/impl/TokenServiceImpl.class
  31. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/service/impl/UserLoginServiceImpl.class
  32. BIN
      dq-financial-hrms-auth/target/classes/com/daqing/financial/hrauth/util/IpUtils.class
  33. 47
      dq-financial-hrms-auth/target/classes/logback-spring.xml
  34. 41
      dq-financial-hrms-auth/target/classes/mapper/hrmsauth/UserLoginMapper.xml
  35. 1
      dq-financial-hrms/src/main/resources/mapper/hrms/EmployeeDao.xml
  36. 2
      dq-financial-hrms/src/main/resources/mapper/hrms/PositionDao.xml
  37. 12
      dq-financial-hrms/target/classes/application.yml
  38. 12
      dq-financial-hrms/target/classes/bootstrap.properties
  39. BIN
      dq-financial-hrms/target/classes/com/daqing/financial/hrms/controller/EmployeeController.class
  40. 1
      dq-financial-hrms/target/classes/mapper/hrms/EmployeeDao.xml
  41. 2
      dq-financial-hrms/target/classes/mapper/hrms/PositionDao.xml
  42. 4
      dq-framework-common/src/main/java/com/daqing/framework/exception/ExceptionCatch.java
  43. 21
      dq-framework-common/src/main/java/com/daqing/framework/model/response/PromptSuccess.java
  44. 1
      dq-framework-common/src/main/java/com/daqing/framework/util/Md5Util.java
  45. BIN
      dq-framework-common/target/classes/com/daqing/framework/SpringContextHolder.class
  46. BIN
      dq-framework-common/target/classes/com/daqing/framework/exception/ExceptionCatch.class
  47. BIN
      dq-framework-common/target/classes/com/daqing/framework/model/response/PromptSuccess.class
  48. BIN
      dq-framework-common/target/classes/com/daqing/framework/util/BasePage.class
  49. BIN
      dq-framework-common/target/classes/com/daqing/framework/util/JwtUtils.class
  50. BIN
      dq-framework-common/target/classes/com/daqing/framework/util/Md5Util.class
  51. BIN
      dq-framework-common/target/classes/com/daqing/framework/util/RandomUtil.class
  52. BIN
      dq-framework-common/target/classes/com/daqing/framework/util/RedisUtil.class
  53. BIN
      dq-framework-common/target/classes/com/daqing/framework/util/SendSMS.class
  54. 5
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/CompanyCustomerEntity.java
  55. 2
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/CustomerEntity.java
  56. 4
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/PersonalCustomerEntity.java
  57. 83
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CompanyTemplate.java
  58. 1
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerCompanyDTO.java
  59. 29
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerCompanyTO.java
  60. 107
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerCompanyTOI.java
  61. 128
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerCompanyTOU.java
  62. 31
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerCompanyVO.java
  63. 1
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerPersonalDTO.java
  64. 30
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerPersonalTO.java
  65. 152
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerPersonalTOI.java
  66. 167
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerPersonalTOU.java
  67. 45
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerPersonalVO.java
  68. 133
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/PersonalTemplate.java
  69. 4
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/response/CrmsCode.java
  70. BIN
      dq-framework-model/target/classes/META-INF/dq-framework-model.kotlin_module
  71. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/CompanyCustomerEntity.class
  72. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/CustomerEntity.class
  73. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/PersonalCustomerEntity.class
  74. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/ext/CompanyTemplate.class
  75. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/ext/CustomerCompanyDTO.class
  76. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/ext/CustomerCompanyTO.class
  77. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/ext/CustomerCompanyTOI.class
  78. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/ext/CustomerCompanyTOU.class
  79. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/ext/CustomerCompanyVO.class
  80. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/ext/CustomerPersonalDTO.class
  81. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/ext/CustomerPersonalTO.class
  82. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/ext/CustomerPersonalTOI.class
  83. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/ext/CustomerPersonalTOU.class
  84. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/ext/CustomerPersonalVO.class
  85. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/ext/PersonalTemplate.class
  86. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/crms/response/CrmsCode.class
  87. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/hrms/LoginLog.class
  88. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/hrms/SystemLog$SystemLogBuilder.class
  89. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/hrms/SystemLog.class
  90. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/hrms/Token.class
  91. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/hrms/request/LoginRequest.class
  92. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/hrms/request/UserLoginRequest.class
  93. BIN
      dq-framework-model/target/classes/com/daqing/framework/domain/hrms/response/LoginResponse.class
  94. BIN
      dq-govern-gateway/target/classes/com/daqing/financial/gateway/DqGovernGatewayApplication.class
  95. BIN
      dq-govern-gateway/target/classes/com/daqing/financial/gateway/SpringContextHolder.class
  96. BIN
      dq-govern-gateway/target/classes/com/daqing/financial/gateway/config/ApiGlobalFilter.class
  97. BIN
      dq-govern-gateway/target/classes/com/daqing/financial/gateway/config/FinancialCorsConfiguration.class
  98. BIN
      dq-govern-gateway/target/classes/com/daqing/financial/gateway/util/OdcProperties$Async.class
  99. BIN
      dq-govern-gateway/target/classes/com/daqing/financial/gateway/util/OdcProperties$Config.class
  100. BIN
      dq-govern-gateway/target/classes/com/daqing/financial/gateway/util/OdcProperties$Oss.class
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,9 +1,7 @@
package com.daqing.financial.crms; package com.daqing.financial.crms;
import com.daqing.framework.domain.crms.ext.CustomerCompanyTO; import com.daqing.framework.domain.crms.ext.*;
import com.daqing.framework.domain.crms.ext.CustomerPersonalTO;
import com.daqing.framework.domain.crms.ext.CustomerTO;
import com.daqing.framework.domain.crms.request.CustomerRequest; import com.daqing.framework.domain.crms.request.CustomerRequest;
import com.daqing.framework.model.response.ResponseResult; import com.daqing.framework.model.response.ResponseResult;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -11,7 +9,6 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
/** /**
* @Author: gongsj. * @Author: gongsj.
@ -44,25 +41,25 @@ public interface CustomerControllerApi {
* 新增个人类型客户信息 * 新增个人类型客户信息
*/ */
@ApiOperation(value = "新增个人类型客户信息", notes = "新增个人类型客户信息") @ApiOperation(value = "新增个人类型客户信息", notes = "新增个人类型客户信息")
ResponseResult savePersonal(CustomerPersonalTO customerPersonalTO); ResponseResult savePersonal(CustomerPersonalTOI customerPersonalTOI);
/** /**
* 新增企业类型客户信息 * 新增企业类型客户信息
*/ */
@ApiOperation(value = "新增企业类型客户信息", notes = "新增企业类型客户信息") @ApiOperation(value = "新增企业类型客户信息", notes = "新增企业类型客户信息")
ResponseResult saveCompany(CustomerCompanyTO customerCompanyTO); ResponseResult saveCompany(CustomerCompanyTOI customerCompanyTOI);
/** /**
* 更新个人类型客户信息 * 更新个人类型客户信息
*/ */
@ApiOperation(value = "更新个人类型客户信息", notes = "更新个人类型客户信息") @ApiOperation(value = "更新个人类型客户信息", notes = "更新个人类型客户信息")
ResponseResult updatePersonal(CustomerPersonalTO customerPersonalTO); ResponseResult updatePersonal(CustomerPersonalTOU customerPersonalTOU);
/** /**
* 更新企业类型客户信息 * 更新企业类型客户信息
*/ */
@ApiOperation(value = "更新企业类型客户信息", notes = "更新企业类型客户信息") @ApiOperation(value = "更新企业类型客户信息", notes = "更新企业类型客户信息")
ResponseResult updateCompany(CustomerCompanyTO customerCompanyTO); ResponseResult updateCompany(CustomerCompanyTOU customerCompanyTOU);
/** /**
* 导入excel数据 * 导入excel数据

@ -2,22 +2,23 @@ package com.daqing.financial.crms.controller;
import com.daqing.financial.crms.CustomerControllerApi; import com.daqing.financial.crms.CustomerControllerApi;
import com.daqing.financial.crms.service.CustomerService; import com.daqing.financial.crms.service.CustomerService;
import com.daqing.framework.domain.crms.ext.CustomerCompanyTO; import com.daqing.framework.domain.crms.ext.CustomerCompanyTOI;
import com.daqing.framework.domain.crms.ext.CustomerPersonalTO; import com.daqing.framework.domain.crms.ext.CustomerCompanyTOU;
import com.daqing.framework.domain.crms.ext.CustomerPersonalTOI;
import com.daqing.framework.domain.crms.ext.CustomerPersonalTOU;
import com.daqing.framework.domain.crms.request.CustomerRequest; import com.daqing.framework.domain.crms.request.CustomerRequest;
import com.daqing.framework.model.response.CommonCode; import com.daqing.framework.model.response.CommonCode;
import com.daqing.framework.model.response.PromptSuccess; import com.daqing.framework.model.response.PromptSuccess;
import com.daqing.framework.model.response.ResponseResult; import com.daqing.framework.model.response.ResponseResult;
import com.daqing.framework.utils.PageUtils; import com.daqing.framework.utils.PageUtils;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List; import java.util.*;
import java.util.Objects;
/** /**
@ -73,9 +74,9 @@ public class CustomerController implements CustomerControllerApi {
List<String> list = customerService.updateCustomerById(ids); List<String> list = customerService.updateCustomerById(ids);
if (list == null){ if (list == null){
return new ResponseResult(CommonCode.INVALID_PARAM); return new ResponseResult(CommonCode.INVALID_PARAM);
}else if (Objects.equals(list.get(0),PromptSuccess.getDeleteSuccess())){ }else if (Objects.equals(list.get(0),PromptSuccess.DELETE_SUCCESS)){
return ResponseResult.SUCCESS(); return ResponseResult.SUCCESS();
}else if (Objects.equals(list.get(0),PromptSuccess.getDeleteFail())){ }else if (Objects.equals(list.get(0),PromptSuccess.DELETE_FAIL)){
return new ResponseResult(CommonCode.DELETE_FAIL); return new ResponseResult(CommonCode.DELETE_FAIL);
} }
else { else {
@ -87,8 +88,8 @@ public class CustomerController implements CustomerControllerApi {
* 保存个人类型客户信息 * 保存个人类型客户信息
*/ */
@PostMapping("/savePersonal") @PostMapping("/savePersonal")
public ResponseResult savePersonal(@RequestBody @Valid CustomerPersonalTO customerPersonalTO) { public ResponseResult savePersonal(@RequestBody @Valid CustomerPersonalTOI customerPersonalTOI) {
boolean result = customerService.saveCustomerPersonal(customerPersonalTO.getCustomerEntity(), customerPersonalTO.getPersonalCustomerEntity()); boolean result = customerService.saveCustomerPersonal(customerPersonalTOI);
return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.SAVE_FAIL); return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.SAVE_FAIL);
} }
@ -96,8 +97,8 @@ public class CustomerController implements CustomerControllerApi {
* 保存企业类型客户信息 * 保存企业类型客户信息
*/ */
@PostMapping("/saveCompany") @PostMapping("/saveCompany")
public ResponseResult saveCompany(@RequestBody @Valid CustomerCompanyTO customerCompanyTO) { public ResponseResult saveCompany(@RequestBody @Valid CustomerCompanyTOI customerCompanyTOI) {
boolean result = customerService.saveCustomerCompany(customerCompanyTO.getCustomerEntity(), customerCompanyTO.getCompanyCustomerEntity()); boolean result = customerService.saveCustomerCompany(customerCompanyTOI);
return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.SAVE_FAIL); return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.SAVE_FAIL);
} }
@ -105,8 +106,8 @@ public class CustomerController implements CustomerControllerApi {
* 更新个人类型客户信息 * 更新个人类型客户信息
*/ */
@PostMapping("/updatePersonal") @PostMapping("/updatePersonal")
public ResponseResult updatePersonal(@RequestBody CustomerPersonalTO customerPersonalTO) { public ResponseResult updatePersonal(@RequestBody @Valid CustomerPersonalTOU customerPersonalTOU) {
boolean result = customerService.updateCustomerPersonal(customerPersonalTO.getCustomerEntity(), customerPersonalTO.getPersonalCustomerEntity()); boolean result = customerService.updateCustomerPersonal(customerPersonalTOU);
return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.UPDATE_FAIL); return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.UPDATE_FAIL);
} }
@ -114,8 +115,8 @@ public class CustomerController implements CustomerControllerApi {
* 更新企业类型客户信息 * 更新企业类型客户信息
*/ */
@PostMapping("/updateCompany") @PostMapping("/updateCompany")
public ResponseResult updateCompany(@RequestBody CustomerCompanyTO customerCompanyTO) { public ResponseResult updateCompany(@RequestBody @Valid CustomerCompanyTOU customerCompanyTOU) {
boolean result = customerService.updateCustomerCompany(customerCompanyTO.getCustomerEntity(), customerCompanyTO.getCompanyCustomerEntity()); boolean result = customerService.updateCustomerCompany(customerCompanyTOU);
return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.UPDATE_FAIL); return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.UPDATE_FAIL);
} }
@ -143,7 +144,6 @@ public class CustomerController implements CustomerControllerApi {
@PostMapping("/excelImport") @PostMapping("/excelImport")
public ResponseResult excelImportCustomer(MultipartFile file){ public ResponseResult excelImportCustomer(MultipartFile file){
boolean result = customerService.excelImportCustomer(file); return customerService.excelImportCustomer(file);
return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.IMPORT_ERROR);
} }
} }

@ -1,8 +1,10 @@
package com.daqing.financial.crms.service; package com.daqing.financial.crms.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.daqing.framework.domain.crms.CompanyCustomerEntity; import com.daqing.framework.domain.crms.ext.CustomerCompanyTOI;
import com.daqing.framework.domain.crms.PersonalCustomerEntity; import com.daqing.framework.domain.crms.ext.CustomerCompanyTOU;
import com.daqing.framework.domain.crms.ext.CustomerPersonalTOI;
import com.daqing.framework.domain.crms.ext.CustomerPersonalTOU;
import com.daqing.framework.domain.crms.request.CustomerRequest; import com.daqing.framework.domain.crms.request.CustomerRequest;
import com.daqing.framework.model.response.ResponseResult; import com.daqing.framework.model.response.ResponseResult;
import com.daqing.framework.utils.PageUtils; import com.daqing.framework.utils.PageUtils;
@ -10,9 +12,7 @@ import com.daqing.framework.domain.crms.CustomerEntity;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 记录客户基本信息 * 记录客户基本信息
@ -29,17 +29,17 @@ public interface CustomerService extends IService<CustomerEntity> {
List<String> updateCustomerById(Long[] ids); List<String> updateCustomerById(Long[] ids);
boolean saveCustomerPersonal(CustomerEntity customerEntity, PersonalCustomerEntity personalCustomerEntity); boolean saveCustomerPersonal(CustomerPersonalTOI customerPersonalTOI);
boolean saveCustomerCompany(CustomerEntity customerEntity, CompanyCustomerEntity companyCustomerEntity); boolean saveCustomerCompany(CustomerCompanyTOI customerCompanyTOI);
boolean updateCustomerPersonal(CustomerEntity customerEntity, PersonalCustomerEntity personalCustomerEntity); boolean updateCustomerPersonal(CustomerPersonalTOU customerPersonalTOU);
boolean updateCustomerCompany(CustomerEntity customerEntity, CompanyCustomerEntity companyCustomerEntity); boolean updateCustomerCompany(CustomerCompanyTOU customerCompanyTOU);
void excelExportCustomer(HttpServletResponse response); void excelExportCustomer(HttpServletResponse response);
boolean excelImportCustomer(MultipartFile excel); ResponseResult excelImportCustomer(MultipartFile excel);
void excelTemplate(HttpServletResponse response); void excelTemplate(HttpServletResponse response);
} }

@ -2,6 +2,7 @@ package com.daqing.financial.crms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.daqing.financial.crms.dao.CompanyCustomerDao; import com.daqing.financial.crms.dao.CompanyCustomerDao;
@ -31,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
@ -76,13 +78,17 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerDao, CustomerEntity
//TODO 远程调用查询客户经理信息的接口 //TODO 远程调用查询客户经理信息的接口
ResponseResult responseResult = hrmsFeignService.getEmployeeAndDeptById(ids); ResponseResult responseResult = hrmsFeignService.getEmployeeAndDeptById(ids);
List<EmployeeTO> employeeTO = (List<EmployeeTO>) responseResult.getData(); List<EmployeeTO> employeeTO = (List<EmployeeTO>) responseResult.getData();
// 将客户信息和客户经理及部门信息拼装起来 if (employeeTO != null){
List<CustomerTO> customerTOS = this.jointCustomerEmployee(customers, employeeTO); // 将客户信息和客户经理及部门信息拼装起来
// 属性拷贝,将泛型为CustomerEntity类型的IPage的属性拷贝给泛型为CustomerTO类型的IPage,才能赋值给PageUtils List<CustomerTO> customerTOS = this.jointCustomerEmployee(customers, employeeTO);
IPage<CustomerTO> iPage = new Page<>(); // 属性拷贝,将泛型为CustomerEntity类型的IPage的属性拷贝给泛型为CustomerTO类型的IPage,才能赋值给PageUtils
BeanUtils.copyProperties(customerEntityIPage, iPage); IPage<CustomerTO> iPage = new Page<>();
iPage.setRecords(customerTOS); BeanUtils.copyProperties(customerEntityIPage, iPage);
return new PageUtils(iPage); iPage.setRecords(customerTOS);
return new PageUtils(iPage);
}else {
return new PageUtils(customerEntityIPage);
}
} else { } else {
return new PageUtils(customerEntityIPage); return new PageUtils(customerEntityIPage);
} }
@ -111,11 +117,13 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerDao, CustomerEntity
// 封装个人类型客户信息 // 封装个人类型客户信息
CustomerPersonalDTO customerPersonalDTO = this.setPersonal(customer,personalCustomerEntity); CustomerPersonalDTO customerPersonalDTO = this.setPersonal(customer,personalCustomerEntity);
return new ResponseResult<CustomerPersonalDTO>().SUCCESS(customerPersonalDTO); return new ResponseResult<CustomerPersonalDTO>().SUCCESS(customerPersonalDTO);
} else { } else if (Objects.equals(customer.getType(),CrmsConstant.CustomerType.COMPANY_CUSTOMER.getType())){
CompanyCustomerEntity companyCustomerEntity = companyCustomerDao.queryCompanyCustomerById(id); CompanyCustomerEntity companyCustomerEntity = companyCustomerDao.queryCompanyCustomerById(id);
// 封装企业类型客户信息 // 封装企业类型客户信息
CustomerCompanyDTO customerCompanyDTO = this.setCompany(customer, companyCustomerEntity); CustomerCompanyDTO customerCompanyDTO = this.setCompany(customer, companyCustomerEntity);
return new ResponseResult<CustomerCompanyDTO>().SUCCESS(customerCompanyDTO); return new ResponseResult<CustomerCompanyDTO>().SUCCESS(customerCompanyDTO);
}else {
return new ResponseResult(CommonCode.INEXISTENCE);
} }
} }
@ -132,7 +140,7 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerDao, CustomerEntity
if (customer == null) { if (customer == null) {
return new ResponseResult(CommonCode.INEXISTENCE); return new ResponseResult(CommonCode.INEXISTENCE);
} }
String name = PromptSuccess.getNoBeing(); String name = PromptSuccess.NOT_BEING;
if (customer.getManager() != null){ if (customer.getManager() != null){
ResponseResult<EmployeeEntity> employee = hrmsFeignService.getEmployeeById(customer.getManager()); ResponseResult<EmployeeEntity> employee = hrmsFeignService.getEmployeeById(customer.getManager());
if (employee.getData() != null){ if (employee.getData() != null){
@ -146,11 +154,13 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerDao, CustomerEntity
// 封装个人类型客户信息 // 封装个人类型客户信息
CustomerPersonalVO customerPersonalVO = this.setPersonal(customer, name, personalCustomerEntity); CustomerPersonalVO customerPersonalVO = this.setPersonal(customer, name, personalCustomerEntity);
return new ResponseResult<CustomerPersonalVO>().SUCCESS(customerPersonalVO); return new ResponseResult<CustomerPersonalVO>().SUCCESS(customerPersonalVO);
} else { } else if (Objects.equals(customer.getType(),CrmsConstant.CustomerType.COMPANY_CUSTOMER.getType())){
CompanyCustomerEntity companyCustomerEntity = companyCustomerDao.queryCompanyCustomerById(id); CompanyCustomerEntity companyCustomerEntity = companyCustomerDao.queryCompanyCustomerById(id);
// 封装企业类型客户信息 // 封装企业类型客户信息
CustomerCompanyVO customerCompanyVO = this.setCompany(customer, name, companyCustomerEntity); CustomerCompanyVO customerCompanyVO = this.setCompany(customer, name, companyCustomerEntity);
return new ResponseResult<CustomerCompanyVO>().SUCCESS(customerCompanyVO); return new ResponseResult<CustomerCompanyVO>().SUCCESS(customerCompanyVO);
}else {
return new ResponseResult(CommonCode.INEXISTENCE);
} }
} }
@ -170,9 +180,9 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerDao, CustomerEntity
if (idArray.size() == 0 || idArray == null) { if (idArray.size() == 0 || idArray == null) {
boolean customer = customerDao.updateCustomerById(Arrays.asList(ids)); boolean customer = customerDao.updateCustomerById(Arrays.asList(ids));
List<String> success = new ArrayList<>(); List<String> success = new ArrayList<>();
success.add(PromptSuccess.getDeleteSuccess()); success.add(PromptSuccess.DELETE_SUCCESS);
List<String> fail = new ArrayList<>(); List<String> fail = new ArrayList<>();
fail.add(PromptSuccess.getDeleteFail()); fail.add(PromptSuccess.DELETE_FAIL);
return customer ? success : fail; return customer ? success : fail;
} else { } else {
return customerDao.queryCustomerNameById(idArray); return customerDao.queryCustomerNameById(idArray);
@ -181,13 +191,14 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerDao, CustomerEntity
/** /**
* 插入个人类型客户信息 * 插入个人类型客户信息
* @param customerEntity 客户基本信息
* @param personalCustomerEntity 个人类型信息
* @return
*/ */
@Transactional @Transactional
@Override @Override
public boolean saveCustomerPersonal(CustomerEntity customerEntity, PersonalCustomerEntity personalCustomerEntity) { public boolean saveCustomerPersonal(CustomerPersonalTOI customerPersonalTOI) {
CustomerEntity customerEntity = new CustomerEntity();
PersonalCustomerEntity personalCustomerEntity = new PersonalCustomerEntity();
BeanUtils.copyProperties(customerPersonalTOI,customerEntity);
BeanUtils.copyProperties(customerPersonalTOI,personalCustomerEntity);
//TODO 设置客户编号 //TODO 设置客户编号
customerEntity.setCode(((int)(Math.random()*100+1))+""); customerEntity.setCode(((int)(Math.random()*100+1))+"");
customerEntity.setCreateTime(new Date()); customerEntity.setCreateTime(new Date());
@ -200,13 +211,14 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerDao, CustomerEntity
/** /**
* 插入企业类型客户信息 * 插入企业类型客户信息
* @param customerEntity 客户基本信息
* @param companyCustomerEntity 企业类型信息
* @return
*/ */
@Transactional @Transactional
@Override @Override
public boolean saveCustomerCompany(CustomerEntity customerEntity, CompanyCustomerEntity companyCustomerEntity) { public boolean saveCustomerCompany(CustomerCompanyTOI customerCompanyTOI) {
CustomerEntity customerEntity = new CustomerEntity();
CompanyCustomerEntity companyCustomerEntity = new CompanyCustomerEntity();
BeanUtils.copyProperties(customerCompanyTOI,customerEntity);
BeanUtils.copyProperties(customerCompanyTOI,companyCustomerEntity);
//TODO 设置客户编号 //TODO 设置客户编号
customerEntity.setCode(((int)(Math.random()*100+1))+""); customerEntity.setCode(((int)(Math.random()*100+1))+"");
customerEntity.setCreateTime(new Date()); customerEntity.setCreateTime(new Date());
@ -219,13 +231,14 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerDao, CustomerEntity
/** /**
* 更新个人类型客户信息 * 更新个人类型客户信息
* @param customerEntity 客户基本信息
* @param personalCustomerEntity 企业类型信息
* @return
*/ */
@Transactional @Transactional
@Override @Override
public boolean updateCustomerPersonal(CustomerEntity customerEntity, PersonalCustomerEntity personalCustomerEntity) { public boolean updateCustomerPersonal(CustomerPersonalTOU customerPersonalTOU) {
CustomerEntity customerEntity = new CustomerEntity();
PersonalCustomerEntity personalCustomerEntity = new PersonalCustomerEntity();
BeanUtils.copyProperties(customerPersonalTOU,customerEntity);
BeanUtils.copyProperties(customerPersonalTOU,personalCustomerEntity);
if (customerEntity.getId() == null){ if (customerEntity.getId() == null){
return false; return false;
} }
@ -238,16 +251,14 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerDao, CustomerEntity
/** /**
* 更新企业类型客户信息 * 更新企业类型客户信息
* @param customerEntity 客户基本信息
* @param companyCustomerEntity 企业类型信息
* @return
*/ */
@Transactional @Transactional
@Override @Override
public boolean updateCustomerCompany(CustomerEntity customerEntity, CompanyCustomerEntity companyCustomerEntity) { public boolean updateCustomerCompany(CustomerCompanyTOU customerCompanyTOU) {
if (customerEntity.getId() == null){ CustomerEntity customerEntity = new CustomerEntity();
return false; CompanyCustomerEntity companyCustomerEntity = new CompanyCustomerEntity();
} BeanUtils.copyProperties(customerCompanyTOU,customerEntity);
BeanUtils.copyProperties(customerCompanyTOU,companyCustomerEntity);
customerEntity.setMotifyTime(new Date()); customerEntity.setMotifyTime(new Date());
boolean customer = customerDao.updateCustomer(customerEntity); boolean customer = customerDao.updateCustomer(customerEntity);
companyCustomerEntity.setCustomerId(customerEntity.getId()); companyCustomerEntity.setCustomerId(customerEntity.getId());
@ -267,12 +278,14 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerDao, CustomerEntity
List<CustomerCompanyVO> companyList = new ArrayList<>(); List<CustomerCompanyVO> companyList = new ArrayList<>();
List<CustomerPersonalVO> personalList = new ArrayList<>(); List<CustomerPersonalVO> personalList = new ArrayList<>();
List<Long> longList = customerDao.listCustomerId(); List<Long> longList = customerDao.listCustomerId();
for (Long id : longList) { if (longList != null){
ResponseResult responseResult = this.getCustomerById(id); for (Long id : longList) {
if ((responseResult.getData()).getClass() == CustomerCompanyVO.class){ ResponseResult responseResult = this.getCustomerById(id);
companyList.add((CustomerCompanyVO) responseResult.getData()); if ((responseResult.getData()).getClass() == CustomerCompanyVO.class){
}else { companyList.add((CustomerCompanyVO) responseResult.getData());
personalList.add((CustomerPersonalVO) responseResult.getData()); }else {
personalList.add((CustomerPersonalVO) responseResult.getData());
}
} }
} }
ExcelUtil.writeExcelWithSheets(response,personalList,"客户资源信息一览表","个人类型",new CustomerPersonalVO()) ExcelUtil.writeExcelWithSheets(response,personalList,"客户资源信息一览表","个人类型",new CustomerPersonalVO())
@ -289,10 +302,10 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerDao, CustomerEntity
@Override @Override
public void excelTemplate(HttpServletResponse response) { public void excelTemplate(HttpServletResponse response) {
try { try {
List<CustomerCompanyVO> companyList = new ArrayList<>(); List<CompanyTemplate> companyTemplates = new ArrayList<>();
List<CustomerPersonalVO> personalList = new ArrayList<>(); List<PersonalTemplate> personalTemplates = new ArrayList<>();
ExcelUtil.writeExcelWithSheets(response,personalList,"客户资源信息表模板","个人类型",new CustomerPersonalVO()) ExcelUtil.writeExcelWithSheets(response,personalTemplates,"客户资源信息表模板","个人类型",new PersonalTemplate())
.write(companyList,"企业类型",new CustomerCompanyVO()) .write(companyTemplates,"企业类型",new CompanyTemplate())
.finish(); .finish();
}catch (Exception e){ }catch (Exception e){
ExceptionCast.cast(CrmsCode.CUSTOMER_EXPORTTEMPLATE_EXSIT); ExceptionCast.cast(CrmsCode.CUSTOMER_EXPORTTEMPLATE_EXSIT);
@ -305,55 +318,60 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerDao, CustomerEntity
*/ */
@Transactional @Transactional
@Override @Override
public boolean excelImportCustomer(MultipartFile excel) { public ResponseResult excelImportCustomer(MultipartFile excel) {
//TODO 导入excel数据到数据库,思路耗时太长,有待优化 //TODO 导入excel数据到数据库,思路耗时太长,有待优化
if (excel == null){ if (excel == null){
ExceptionCast.cast(CrmsCode.NOT_NULL); ExceptionCast.cast(CrmsCode.NOT_NULL);
} }
try { try {
List<Object> personalList = ExcelUtil.readExcel(excel, new CustomerPersonalVO(), 1); List<Object> personalList = ExcelUtil.readExcel(excel,new PersonalTemplate(), 1);
List<Object> companyList = ExcelUtil.readExcel(excel, new CustomerCompanyVO(), 2); List<Object> companyList = ExcelUtil.readExcel(excel, new CompanyTemplate(), 2);
List<EmployeeVO> nameList = hrmsFeignService.listEmployeeName().getData(); List<EmployeeVO> nameList = hrmsFeignService.listEmployeeName().getData();
CustomerEntity customer; // 客户基本信息 CustomerPersonalTOI customerPersonalTOI;
PersonalCustomerEntity pc; // 个人类型信息
CompanyCustomerEntity cc; // 企业类型信息
ManagerName manager; // 客户名称 ManagerName manager; // 客户名称
// 个人类型 // 个人类型
for (Object personal : personalList) { for (Object personal : personalList) {
customer = new CustomerEntity(); customerPersonalTOI = new CustomerPersonalTOI();
customerPersonalTOI.setType(0);
BeanUtils.copyProperties(personal,customerPersonalTOI);
manager = new ManagerName(); manager = new ManagerName();
pc = new PersonalCustomerEntity();
BeanUtils.copyProperties(personal,customer);
BeanUtils.copyProperties(personal,pc);
BeanUtils.copyProperties(personal,manager); BeanUtils.copyProperties(personal,manager);
// 根据客户经理名称找到对应的员工id // 根据客户经理名称找到对应的员工id
for (EmployeeVO employeeVO : nameList){ if (nameList != null && manager.getManager() != null){
if (Objects.equals(manager.getManager(),employeeVO.getName())){ for (EmployeeVO employeeVO : nameList){
customer.setManager(employeeVO.getId()); if (Objects.equals(manager.getManager(),employeeVO.getName())){
customerPersonalTOI.setManager(employeeVO.getId());
}
}
if (customerPersonalTOI.getManager() == null){
ExceptionCast.cast(CrmsCode.CUSTOMER_IS_NULL);
} }
} }
this.saveCustomerPersonal(customer,pc); this.saveCustomerPersonal(customerPersonalTOI);
} }
// 企业类型 // 企业类型
for (Object company : companyList){ for (Object company : companyList){
customer = new CustomerEntity(); CustomerCompanyTOI customerCompanyTOI = new CustomerCompanyTOI();
manager = new ManagerName(); manager = new ManagerName();
cc = new CompanyCustomerEntity(); customerCompanyTOI.setType(1);
BeanUtils.copyProperties(company,customer); BeanUtils.copyProperties(company,customerCompanyTOI);
BeanUtils.copyProperties(company,cc);
BeanUtils.copyProperties(company,manager); BeanUtils.copyProperties(company,manager);
// 根据客户经理名称找到对应的员工id // 根据客户经理名称找到对应的员工id
for (EmployeeVO employeeVO : nameList){ if (nameList != null && manager.getManager() != null){
if (Objects.equals(manager.getManager(),employeeVO.getName())){ for (EmployeeVO employeeVO : nameList){
customer.setManager(employeeVO.getId()); if (Objects.equals(manager.getManager(),employeeVO.getName())){
customerCompanyTOI.setManager(employeeVO.getId());
}
}
if (customerCompanyTOI.getManager() == null){
return new ResponseResult<String>().SUCCESS("导入数据失败,"+manager.getManager()+"员工不存在");
} }
} }
this.saveCustomerCompany(customer,cc); this.saveCustomerCompany(customerCompanyTOI);
} }
return true; return ResponseResult.SUCCESS();
}catch (Exception e){ }catch (Exception e){
ExceptionCast.cast(CrmsCode.CUSTOMER_IMPORT_EXSIT); return new ResponseResult<String>().SUCCESS("导入数据失败,请检查文件和数据格式或稍后再试");
return false;
} }
} }

@ -0,0 +1,29 @@
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
spring.application.name=dq-financial-hrms-auth
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ
spring.cloud.nacos.config.server-addr=192.168.31.142:8848
spring.cloud.nacos.config.namespace=7632bdaa-3381-4669-b3f9-2fc73be451e8
#spring.cloud.nacos.config.group=prod
spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml
spring.cloud.nacos.config.ext-config[0].group=dev
spring.cloud.nacos.config.ext-config[0].refresh=true
spring.cloud.nacos.config.ext-config[1].data-id=mybatis.yml
spring.cloud.nacos.config.ext-config[1].group=dev
spring.cloud.nacos.config.ext-config[1].refresh=true
spring.cloud.nacos.config.ext-config[2].data-id=other.yml
spring.cloud.nacos.config.ext-config[2].group=dev
spring.cloud.nacos.config.ext-config[2].refresh=true
spring.redis.host=192.168.232.128
spring.redis.port=6379
spring.redis.password=
spring.redis.database=0
spring.redis.timeout=30000
spring.redis.jedis.pool.max-active=8
spring.redis.jedis.pool.max-wait=-1
spring.redis.jedis.pool.max-idle=8
spring.redis.jedis.pool.min-idle=0

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--定义日志文件的存储地址,使用绝对路径-->
<property name="LOG_HOME" value="d:/logs/daqing/hrms_auth"/>
<!-- Console 输出设置 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<fileNamePattern>${LOG_HOME}/hrms_auth.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 异步输出 -->
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
<discardingThreshold>0</discardingThreshold>
<!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
<queueSize>512</queueSize>
<!-- 添加附加的appender,最多只能添加一个 -->
<appender-ref ref="FILE"/>
</appender>
<logger name="org.apache.ibatis.cache.decorators.LoggingCache" level="DEBUG" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.springframework.boot" level="DEBUG"/>
<root level="info">
<!--<appender-ref ref="ASYNC"/>-->
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
</root>
</configuration>

@ -0,0 +1,41 @@
<?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.daqing.financial.hrauth.dao.UserLoginDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.daqing.framework.domain.hrms.UserEntity" id="userMap">
<result property="id" column="id"/>
<result property="account" column="account"/>
<result property="phoneAccount" column="phone_account"/>
<result property="password" column="password"/>
<result property="loginNum" column="login_num"/>
<result property="createTime" column="create_time"/>
<result property="motifyTime" column="motify_time"/>
</resultMap>
<update id="updatePasswordByPhoneAccount">
update hrms_user set password = #{password} where phone_account = #{phoneAccount}
</update>
<select id="getUser" parameterType="string" resultType="com.daqing.framework.domain.hrms.UserEntity">
SELECT account,password FROM hrms_user WHERE account = #{account}
</select>
<select id="selectCount" resultType="java.lang.Integer">
select count(1) from hrms_user where phone_account = #{phoneAccount}
</select>
<select id="login" parameterType="com.daqing.framework.domain.hrms.request.LoginRequest" resultType="com.daqing.framework.domain.hrms.UserEntity">
select id,account,phone_account,password,login_num from hrms_user
where del_or_not = 0 and status = 0
<if test="phone != null and phone != '' ">
and phone_account = #{phone}
</if>
<if test="wechatId != null and wechatId != '' ">
and wechat_id = #{wechatId}
</if>
</select>
<select id="selectByPhoneAccount" resultType="com.daqing.framework.domain.hrms.UserEntity">
SELECT id,account FROM hrms_user WHERE phone_account = #{phoneAccount}
</select>
</mapper>

@ -95,6 +95,7 @@
<if test="employee.jobNumber != null and employee.jobNumber != ''"> <if test="employee.jobNumber != null and employee.jobNumber != ''">
AND e.job_number = #{employee.jobNumber} AND e.job_number = #{employee.jobNumber}
</if> </if>
AND u.del_or_not = 0
</where> </where>
</select> </select>
</mapper> </mapper>

@ -34,6 +34,7 @@
INNER JOIN hrms_dept_position dp ON p.id = dp.position_id INNER JOIN hrms_dept_position dp ON p.id = dp.position_id
INNER JOIN hrms_dept d ON dp.dept_id = d.id INNER JOIN hrms_dept d ON dp.dept_id = d.id
INNER JOIN hrms_employee e ON p.create_user = e.id INNER JOIN hrms_employee e ON p.create_user = e.id
INNER JOIN hrms_user u ON e.user_id = u.id
<if test="queryMsg != null and queryMsg != ''"> <if test="queryMsg != null and queryMsg != ''">
WHERE WHERE
( (
@ -41,6 +42,7 @@
OR p.`name` LIKE CONCAT('%',#{queryMsg},'%') OR p.`name` LIKE CONCAT('%',#{queryMsg},'%')
) )
</if> </if>
AND u.del_or_not = 0
GROUP BY GROUP BY
p.id p.id
ORDER BY ORDER BY

@ -0,0 +1,12 @@
#security:
# oauth2:
# client:
# client-id: user-client
# client-secret: user-secret-8888
# user-authorization-uri: http://localhost:7000/oauth/authorize
# access-token-uri: http://localhost:7000/oauth/token
# resource:
# id: user-client
# user-info-uri: user-info
# authorization:
# check-token-access: http://localhost:7000/oauth/check_token

@ -15,4 +15,14 @@ spring.cloud.nacos.config.ext-config[1].refresh=true
spring.cloud.nacos.config.ext-config[2].data-id=other.yml spring.cloud.nacos.config.ext-config[2].data-id=other.yml
spring.cloud.nacos.config.ext-config[2].group=dev spring.cloud.nacos.config.ext-config[2].group=dev
spring.cloud.nacos.config.ext-config[2].refresh=true spring.cloud.nacos.config.ext-config[2].refresh=true
#spring.redis.host=127.0.0.1
#spring.redis.port=6379
#spring.redis.password=123456
#spring.redis.database=0
#spring.redis.timeout=30000
#spring.redis.jedis.pool.max-active=8
#spring.redis.jedis.pool.max-wait=-1
#spring.redis.jedis.pool.max-idle=8
#spring.redis.jedis.pool.min-idle=0

@ -95,6 +95,7 @@
<if test="employee.jobNumber != null and employee.jobNumber != ''"> <if test="employee.jobNumber != null and employee.jobNumber != ''">
AND e.job_number = #{employee.jobNumber} AND e.job_number = #{employee.jobNumber}
</if> </if>
AND u.del_or_not = 0
</where> </where>
</select> </select>
</mapper> </mapper>

@ -34,6 +34,7 @@
INNER JOIN hrms_dept_position dp ON p.id = dp.position_id INNER JOIN hrms_dept_position dp ON p.id = dp.position_id
INNER JOIN hrms_dept d ON dp.dept_id = d.id INNER JOIN hrms_dept d ON dp.dept_id = d.id
INNER JOIN hrms_employee e ON p.create_user = e.id INNER JOIN hrms_employee e ON p.create_user = e.id
INNER JOIN hrms_user u ON e.user_id = u.id
<if test="queryMsg != null and queryMsg != ''"> <if test="queryMsg != null and queryMsg != ''">
WHERE WHERE
( (
@ -41,6 +42,7 @@
OR p.`name` LIKE CONCAT('%',#{queryMsg},'%') OR p.`name` LIKE CONCAT('%',#{queryMsg},'%')
) )
</if> </if>
AND u.del_or_not = 0
GROUP BY GROUP BY
p.id p.id
ORDER BY ORDER BY

@ -46,10 +46,10 @@ public class ExceptionCatch {
return new ResponseResult(CommonCode.SERVER_ERROR); return new ResponseResult(CommonCode.SERVER_ERROR);
} }
static { /*static {
//定义异常类型所对应的错误代码 //定义异常类型所对应的错误代码
builder.put(HttpMessageNotReadableException.class, CommonCode.INVALID_PARAM); builder.put(HttpMessageNotReadableException.class, CommonCode.INVALID_PARAM);
} }*/
@ExceptionHandler(CustomException.class)//捕获CustomException类型异常 @ExceptionHandler(CustomException.class)//捕获CustomException类型异常
@ResponseBody @ResponseBody

@ -8,25 +8,10 @@ package com.daqing.framework.model.response;
*/ */
public class PromptSuccess { public class PromptSuccess {
private static final String DELETE_SUCCESS = "删除成功!"; public static final String DELETE_SUCCESS = "删除成功!";
private static final String DELETE_FAIL = "删除失败!"; public static final String DELETE_FAIL = "删除失败!";
private static final String NO_BEING = "该员工已不存在"; public static final String NOT_BEING = "该员工已不存在";
public static String getDeleteSuccess(){
return PromptSuccess.DELETE_SUCCESS;
}
public static String getDeleteFail(){
return PromptSuccess.DELETE_FAIL;
}
public static String getNoBeing(){
return PromptSuccess.NO_BEING;
}
} }

@ -25,5 +25,6 @@ public class Md5Util {
//System.out.printf(md5("1234561")); //System.out.printf(md5("1234561"));
String s = URLEncoder.encode("www.occupationlab.com", "utf-8"); String s = URLEncoder.encode("www.occupationlab.com", "utf-8");
System.out.println(s); System.out.println(s);
System.out.println(md5("1234564"));
} }
} }

@ -10,6 +10,8 @@ import java.util.Date;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.Pattern;
/** /**
* 企业类型客户信息表 * 企业类型客户信息表
* *
@ -25,6 +27,7 @@ public class CompanyCustomerEntity implements Serializable {
/** /**
* 主键 * 主键
*/ */
//@Pattern(regexp = "^\\\\d+$",message = "成立年限只能为整形数字")
@ApiModelProperty(value = "id") @ApiModelProperty(value = "id")
@TableId(value = "id", type = IdType.INPUT) @TableId(value = "id", type = IdType.INPUT)
private Long id; private Long id;
@ -42,6 +45,7 @@ public class CompanyCustomerEntity implements Serializable {
* 成立年限 * 成立年限
*/ */
@ApiModelProperty(value = "成立年限") @ApiModelProperty(value = "成立年限")
@Pattern(regexp = "^\\\\d+$",message = "成立年限只能为整形数字")
private Integer years; private Integer years;
/** /**
* 所在区域 * 所在区域
@ -76,6 +80,7 @@ public class CompanyCustomerEntity implements Serializable {
/** /**
* 客户基本信息表id * 客户基本信息表id
*/ */
//@Pattern(regexp = "^\\\\d+$",message = "成立年限只能为整形数字")
@ApiModelProperty(value = "客户基本信息表id") @ApiModelProperty(value = "客户基本信息表id")
private Long customerId; private Long customerId;

@ -11,6 +11,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/** /**
* 记录客户基本信息 * 记录客户基本信息
@ -41,6 +42,7 @@ public class CustomerEntity implements Serializable {
*/ */
@NotNull(message = "客户类型不能为空") @NotNull(message = "客户类型不能为空")
@ApiModelProperty(value = "客户类型") @ApiModelProperty(value = "客户类型")
//@Pattern(regexp = "^\\\\d+$",message = "成立年限只能为整形数字")
private Integer type; private Integer type;
/** /**
* 客户的经理人id * 客户的经理人id

@ -10,6 +10,8 @@ import java.util.Date;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/** /**
* 个人类型客户信息表 * 个人类型客户信息表
@ -38,6 +40,7 @@ public class PersonalCustomerEntity implements Serializable {
/** /**
* 身份证号 * 身份证号
*/ */
@NotNull(message = "身份证号不能为空")
@ApiModelProperty(value = "身份证号") @ApiModelProperty(value = "身份证号")
private String idCard; private String idCard;
/** /**
@ -73,6 +76,7 @@ public class PersonalCustomerEntity implements Serializable {
/** /**
* 工作年限 * 工作年限
*/ */
@Pattern(regexp = "^\\d+$",message = "工作年限只能为数字")
@ApiModelProperty(value = "工作年限") @ApiModelProperty(value = "工作年限")
private Integer workingYears; private Integer workingYears;
/** /**

@ -0,0 +1,83 @@
package com.daqing.framework.domain.crms.ext;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
/**
* 导出excel模板(企业类型)
* @auther River
* @date 2020/10/9 11:38
*/
@Data
@ToString
public class CompanyTemplate extends BaseRowModel implements Serializable {
/**
* 客户经理
*/
@ExcelProperty(value = "客户经理(请填写本公司存在的员工姓名)",index = 0)
private String manager;
/**
* 客户名称
*/
@ExcelProperty(value = "姓名",index = 1)
private String name;
/**
* 联系地址
*/
@ExcelProperty(value = "地址",index = 2)
private String addr;
/**
* 联系电话
*/
@ExcelProperty(value = "电话",index = 3)
private String phone;
/**
* 注册资金
*/
@ExcelProperty(value = "注册资金",index = 4)
private String registeredCapital;
/**
* 所属行业
*/
@ExcelProperty(value = "所属行业",index = 5)
private String industry;
/**
* 成立年限
*/
@ExcelProperty(value = "成立年限",index = 6)
private Integer years;
/**
* 所在区域
*/
@ExcelProperty(value = "所在区域",index = 7)
private String region;
/**
* 股东名称
*/
@ExcelProperty(value = "股东名称",index = 8)
private String shareholder;
/**
* 关联企业
*/
@ExcelProperty(value = "关联企业",index = 9)
private String affiliatedCompany;
/**
* 员工个数
*/
@ExcelProperty(value = "员工个数",index = 10)
private String empNum;
/**
* 联系人
*/
@ExcelProperty(value = "联系人",index = 11)
private String linkman;
/**
* 业务来源
*/
@ExcelProperty(value = "业务来源",index = 12)
private String businessSource;
}

@ -7,6 +7,7 @@ import lombok.ToString;
import java.io.Serializable; import java.io.Serializable;
/** /**
* 客户信息详情(企业类型)
* @auther River * @auther River
* @date 2020/9/29 11:00 * @date 2020/9/29 11:00
*/ */

@ -1,29 +0,0 @@
package com.daqing.framework.domain.crms.ext;
import com.daqing.framework.domain.crms.CompanyCustomerEntity;
import com.daqing.framework.domain.crms.CustomerEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
/**
* @auther River
* @date 2020/9/15 20:20
*/
@Data
@ToString
public class CustomerCompanyTO implements Serializable {
/**
* 客户基本信息
*/
@ApiModelProperty(value = "客户基本信息")
private CustomerEntity customerEntity;
/**
* 企业类型信息
*/
@ApiModelProperty(value = "客户企业信息")
private CompanyCustomerEntity companyCustomerEntity;
}

@ -0,0 +1,107 @@
package com.daqing.framework.domain.crms.ext;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import javax.validation.constraints.*;
import java.io.Serializable;
/**
* 企业类型客户信息新增
* @auther River
* @date 2020/10/9 10:32
*/
@Data
@ToString
public class CustomerCompanyTOI implements Serializable {
/**
* 客户类型1企业类型0个人类型
*/
@Min(value = 0,message = "客户类型格式有误")
@Max(value = 1,message = "客户类型格式有误")
@NotNull(message = "客户类型不能为空")
@ApiModelProperty(value = "客户类型")
private Integer type;
/**
* 客户的经理人id
*/
@NotNull(message = "客户经理人不能为空")
@ApiModelProperty(value = "客户经理人id")
private Long manager;
/**
* 客户名称
*/
@NotNull(message = "客户名称不能为空")
@ApiModelProperty(value = "客户名称")
private String name;
/**
* 联系地址
*/
@NotNull(message = "联系地址不能为空")
@ApiModelProperty(value = "联系地址")
private String addr;
/**
* 联系电话
*/
@NotNull(message = "联系电话不能为空")
@Pattern(regexp = "^[0-9]*$",message = "联系电话格式错误")
@ApiModelProperty(value = "联系电话")
private String phone;
/**
* 注册资金
*/
@Pattern(regexp = "^[0-9]+\\.{0,1}[0-9]{0,2}$",message = "注册资金格式有误")
@NotNull(message = "注册资金不能为空")
@ApiModelProperty(value = "注册资金")
private String registeredCapital;
/**
* 所属行业
*/
@NotNull(message = "所属行业不能为空")
@ApiModelProperty(value = "所属行业")
private String industry;
/**
* 成立年限
*/
@NotNull(message = "成立年限不能为空")
@ApiModelProperty(value = "成立年限")
private Integer years;
/**
* 所在区域
*/
@NotNull(message = "所在区域不能为空")
@ApiModelProperty(value = "所在区域")
private String region;
/**
* 股东名称
*/
@NotNull(message = "股东名称不能为空")
@ApiModelProperty(value = "股东名称")
private String shareholder;
/**
* 关联企业
*/
@NotNull(message = "关联企业不能为空")
@ApiModelProperty(value = "关联企业")
private String affiliatedCompany;
/**
* 员工个数
*/
@Pattern(regexp = "^[0-9]*$",message = "员工个数格式错误")
@NotNull(message = "员工个数不能为空")
@ApiModelProperty(value = "员工个数")
private String empNum;
/**
* 联系人
*/
@NotNull(message = "联系人不能为空")
@ApiModelProperty(value = "联系人")
private String linkman;
/**
* 业务来源
*/
@NotNull(message = "业务来源不能为空")
@ApiModelProperty(value = "业务来源")
private String businessSource;
}

@ -0,0 +1,128 @@
package com.daqing.framework.domain.crms.ext;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.daqing.framework.domain.crms.CompanyCustomerEntity;
import com.daqing.framework.domain.crms.CustomerEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
/**
* 企业类型客户信息更新
* @auther River
* @date 2020/9/15 20:20
*/
@Data
@ToString
public class CustomerCompanyTOU implements Serializable {
/**
* 主键
*/
@NotNull(message = "id不能为空")
@ApiModelProperty(value = "id")
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
* 客户编号
*/
@NotNull(message = "客户编号不能为空")
@ApiModelProperty(value = "客户编号")
private String code;
/**
* 客户类型1企业类型0个人类型
*/
@Min(value = 0,message = "客户类型格式有误")
@Max(value = 1,message = "客户类型格式有误")
@NotNull(message = "客户类型不能为空")
@ApiModelProperty(value = "客户类型")
private Integer type;
/**
* 客户的经理人id
*/
@NotNull(message = "客户经理人不能为空")
@ApiModelProperty(value = "客户经理人id")
private Long manager;
/**
* 客户名称
*/
@NotNull(message = "客户名称不能为空")
@ApiModelProperty(value = "客户名称")
private String name;
/**
* 联系地址
*/
@NotNull(message = "联系地址不能为空")
@ApiModelProperty(value = "联系地址")
private String addr;
/**
* 联系电话
*/
@Pattern(regexp = "^[0-9]*$",message = "联系电话格式错误")
@NotNull(message = "联系电话不能为空")
@ApiModelProperty(value = "联系电话")
private String phone;
/**
* 注册资金
*/
@Pattern(regexp = "^[0-9]+\\.{0,1}[0-9]{0,2}$",message = "注册资金格式有误")
@NotNull(message = "注册资金不能为空")
@ApiModelProperty(value = "注册资金")
private String registeredCapital;
/**
* 所属行业
*/
@NotNull(message = "所属行业不能为空")
@ApiModelProperty(value = "所属行业")
private String industry;
/**
* 成立年限
*/
@NotNull(message = "成立年限不能为空")
@ApiModelProperty(value = "成立年限")
private Integer years;
/**
* 所在区域
*/
@NotNull(message = "所在区域不能为空")
@ApiModelProperty(value = "所在区域")
private String region;
/**
* 股东名称
*/
@NotNull(message = "股东名称不能为空")
@ApiModelProperty(value = "股东名称")
private String shareholder;
/**
* 关联企业
*/
@NotNull(message = "关联企业不能为空")
@ApiModelProperty(value = "关联企业")
private String affiliatedCompany;
/**
* 员工个数
*/
@Pattern(regexp = "^[0-9]*$",message = "员工个数格式错误")
@NotNull(message = "员工个数不能为空")
@ApiModelProperty(value = "员工个数")
private String empNum;
/**
* 联系人
*/
@NotNull(message = "联系人不能为空")
@ApiModelProperty(value = "联系人")
private String linkman;
/**
* 业务来源
*/
@NotNull(message = "业务来源不能为空")
@ApiModelProperty(value = "业务来源")
private String businessSource;
}

@ -24,74 +24,69 @@ public class CustomerCompanyVO extends BaseRowModel implements Serializable {
*/ */
@ExcelProperty(value = "编号",index = 0) @ExcelProperty(value = "编号",index = 0)
private String code; private String code;
/**
* 客户类型1企业类型0个人类型
*/
@ExcelProperty(value = "企业类型",index = 1)
private Integer type;
/** /**
* 客户经理 * 客户经理
*/ */
@ExcelProperty(value = "客户经理",index = 2) @ExcelProperty(value = "客户经理",index = 1)
private String manager; private String manager;
/** /**
* 客户名称 * 客户名称
*/ */
@ExcelProperty(value = "姓名",index = 3) @ExcelProperty(value = "姓名",index = 2)
private String name; private String name;
/** /**
* 联系地址 * 联系地址
*/ */
@ExcelProperty(value = "地址",index = 4) @ExcelProperty(value = "地址",index = 3)
private String addr; private String addr;
/** /**
* 联系电话 * 联系电话
*/ */
@ExcelProperty(value = "电话",index = 5) @ExcelProperty(value = "电话",index = 4)
private String phone; private String phone;
/** /**
* 注册资金 * 注册资金
*/ */
@ExcelProperty(value = "注册资金",index = 6) @ExcelProperty(value = "注册资金",index = 5)
private String registeredCapital; private String registeredCapital;
/** /**
* 所属行业 * 所属行业
*/ */
@ExcelProperty(value = "所属行业",index = 7) @ExcelProperty(value = "所属行业",index = 6)
private String industry; private String industry;
/** /**
* 成立年限 * 成立年限
*/ */
@ExcelProperty(value = "成立年限",index = 8) @ExcelProperty(value = "成立年限",index = 7)
private Integer years; private Integer years;
/** /**
* 所在区域 * 所在区域
*/ */
@ExcelProperty(value = "所在区域",index = 9) @ExcelProperty(value = "所在区域",index = 8)
private String region; private String region;
/** /**
* 股东名称 * 股东名称
*/ */
@ExcelProperty(value = "股东名称",index = 10) @ExcelProperty(value = "股东名称",index = 9)
private String shareholder; private String shareholder;
/** /**
* 关联企业 * 关联企业
*/ */
@ExcelProperty(value = "关联企业",index = 11) @ExcelProperty(value = "关联企业",index = 10)
private String affiliatedCompany; private String affiliatedCompany;
/** /**
* 员工个数 * 员工个数
*/ */
@ExcelProperty(value = "员工个数",index = 12) @ExcelProperty(value = "员工个数",index = 11)
private String empNum; private String empNum;
/** /**
* 联系人 * 联系人
*/ */
@ExcelProperty(value = "联系人",index = 13) @ExcelProperty(value = "联系人",index = 12)
private String linkman; private String linkman;
/** /**
* 业务来源 * 业务来源
*/ */
@ExcelProperty(value = "业务来源",index = 14) @ExcelProperty(value = "业务来源",index = 13)
private String businessSource; private String businessSource;
} }

@ -6,6 +6,7 @@ import lombok.ToString;
import java.io.Serializable; import java.io.Serializable;
/** /**
* 客户信息详情(个人类型)
* @auther River * @auther River
* @date 2020/9/29 11:01 * @date 2020/9/29 11:01
*/ */

@ -1,30 +0,0 @@
package com.daqing.framework.domain.crms.ext;
import com.daqing.framework.domain.crms.CustomerEntity;
import com.daqing.framework.domain.crms.PersonalCustomerEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
/**
* @auther River
* @date 2020/9/15 19:57
*/
@Data
@ToString
public class CustomerPersonalTO implements Serializable {
/**
* 客户基本信息
*/
@ApiModelProperty(value = "客户基本信息")
private CustomerEntity customerEntity;
/**
* 客户个人信息
*/
@ApiModelProperty(value = "客户个人信息")
private PersonalCustomerEntity personalCustomerEntity;
}

@ -0,0 +1,152 @@
package com.daqing.framework.domain.crms.ext;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
/**
* 个人类型客户信息新增
* @auther River
* @date 2020/10/9 10:32
*/
@Data
@ToString
public class CustomerPersonalTOI implements Serializable {
/**
* 客户类型1企业类型0个人类型
*/
@Min(value = 0,message = "客户类型格式有误")
@Max(value = 1,message = "客户类型格式有误")
@NotNull(message = "客户类型不能为空")
@ApiModelProperty(value = "客户类型")
private Integer type;
/**
* 客户的经理人id
*/
@NotNull(message = "客户经理人不能为空")
@ApiModelProperty(value = "客户经理人id")
private Long manager;
/**
* 客户名称
*/
@NotNull(message = "客户名称不能为空")
@ApiModelProperty(value = "客户名称")
private String name;
/**
* 联系地址
*/
@NotNull(message = "联系地址不能为空")
@ApiModelProperty(value = "联系地址")
private String addr;
/**
* 联系电话
*/
@Pattern(regexp = "^[0-9]*$",message = "联系电话格式错误")
@NotNull(message = "联系电话不能为空")
@ApiModelProperty(value = "联系电话")
private String phone;
/**
* 身份证号
*/
@NotNull(message = "身份证号不能为空")
@ApiModelProperty(value = "身份证号")
private String idCard;
/**
* 年龄
*/
@NotNull(message = "年龄不能为空")
@ApiModelProperty(value = "年龄")
private Integer age;
/**
* 性别10
*/
@Min(value = 0,message = "性别格式有误")
@Max(value = 1,message = "性别格式有误")
@NotNull(message = "性别不能为空")
@ApiModelProperty(value = "性别")
private Integer gender;
/**
* 婚姻状况,0:未婚,1:已婚,2:离异,3:再婚
*/
@Min(value = 0,message = "婚姻状况格式有误")
@Max(value = 3,message = "婚姻状况格式有误")
@NotNull(message = "婚姻状况不能为空")
@ApiModelProperty(value = "婚姻状况")
private Integer maritalStatus;
/**
* 学历,0:本科,1:大专,2:高职,3:中专,4:其他
*/
@Min(value = 0,message = "学历格式有误")
@Max(value = 4,message = "学历格式有误")
@NotNull(message = "学历不能为空")
@ApiModelProperty(value = "学历")
private Integer education;
/**
* 工作单位
*/
@NotNull(message = "工作单位不能为空")
@ApiModelProperty(value = "工作单位")
private String employer;
/**
* 职务
*/
@NotNull(message = "职务不能为空")
@ApiModelProperty(value = "职务")
private String position;
/**
* 工作年限
*/
@NotNull(message = "工作年限不能为空")
@ApiModelProperty(value = "工作年限")
private Integer workingYears;
/**
* 社保账号
*/
@NotNull(message = "社保账号不能为空")
@ApiModelProperty(value = "社保账号")
private String socialSecurityNum;
/**
* 居住情况
*/
@NotNull(message = "居住情况不能为空")
@ApiModelProperty(value = "居住情况")
private String livingSituation;
/**
* 户籍地址
*/
@NotNull(message = "户籍地址不能为空")
@ApiModelProperty(value = "户籍地址")
private String residenceAddr;
/**
* 业务来源
*/
@NotNull(message = "业务来源不能为空")
@ApiModelProperty(value = "业务来源")
private String businessSource;
/**
* 紧急联系人
*/
@NotNull(message = "紧急联系人不能为空")
@ApiModelProperty(value = "紧急联系人")
private String emergencyLinkman;
/**
* 紧急联系人关系
*/
@NotNull(message = "紧急联系人关系不能为空")
@ApiModelProperty(value = "紧急联系人关系")
private String emergencyLinkmanRelationship;
/**
* 紧急联系人电话
*/
@Pattern(regexp = "^[0-9]*$",message = "紧急联系人电话格式错误")
@NotNull(message = "紧急联系人电话不能为空")
@ApiModelProperty(value = "紧急联系人电话")
private String emergencyLinkmanPhone;
}

@ -0,0 +1,167 @@
package com.daqing.framework.domain.crms.ext;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
/**
* 个人类型客户信息更新
* @auther River
* @date 2020/9/15 19:57
*/
@Data
@ToString
public class CustomerPersonalTOU implements Serializable {
/**
* 主键
*/
@NotNull(message = "id不能为空")
@ApiModelProperty(value = "id")
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
* 客户编号
*/
@NotNull(message = "客户编号不能为空")
@ApiModelProperty(value = "客户编号")
private String code;
/**
* 客户类型1企业类型0个人类型
*/
@Min(value = 0,message = "客户类型格式有误")
@Max(value = 1,message = "客户类型格式有误")
@NotNull(message = "客户类型不能为空")
@ApiModelProperty(value = "客户类型")
private Integer type;
/**
* 客户的经理人id
*/
@NotNull(message = "客户经理人不能为空")
@ApiModelProperty(value = "客户经理人id")
private Long manager;
/**
* 客户名称
*/
@NotNull(message = "客户名称不能为空")
@ApiModelProperty(value = "客户名称")
private String name;
/**
* 联系地址
*/
@NotNull(message = "联系地址不能为空")
@ApiModelProperty(value = "联系地址")
private String addr;
/**
* 联系电话
*/
@Pattern(regexp = "^[0-9]*$",message = "联系电话格式错误")
@NotNull(message = "联系电话不能为空")
@ApiModelProperty(value = "联系电话")
private String phone;
/**
* 身份证号
*/
@NotNull(message = "身份证号不能为空")
@ApiModelProperty(value = "身份证号")
private String idCard;
/**
* 年龄
*/
@NotNull(message = "年龄不能为空")
@ApiModelProperty(value = "年龄")
private Integer age;
/**
* 性别10
*/
@Min(value = 0,message = "性别格式有误")
@Max(value = 1,message = "性别格式有误")
@NotNull(message = "性别不能为空")
@ApiModelProperty(value = "性别")
private Integer gender;
/**
* 婚姻状况,0:未婚,1:已婚,2:离异,3:再婚
*/
@Min(value = 0,message = "婚姻状况格式有误")
@Max(value = 3,message = "婚姻状况格式有误")
@NotNull(message = "婚姻状况不能为空")
@ApiModelProperty(value = "婚姻状况")
private Integer maritalStatus;
/**
* 学历,0:本科,1:大专,2:高职,3:中专,4:其他
*/
@Min(value = 0,message = "学历格式有误")
@Max(value = 4,message = "学历格式有误")
@NotNull(message = "学历不能为空")
@ApiModelProperty(value = "学历")
private Integer education;
/**
* 工作单位
*/
@NotNull(message = "工作单位不能为空")
@ApiModelProperty(value = "工作单位")
private String employer;
/**
* 职务
*/
@NotNull(message = "职务不能为空")
@ApiModelProperty(value = "职务")
private String position;
/**
* 工作年限
*/
@NotNull(message = "工作年限不能为空")
@ApiModelProperty(value = "工作年限")
private Integer workingYears;
/**
* 社保账号
*/
@NotNull(message = "社保账号不能为空")
@ApiModelProperty(value = "社保账号")
private String socialSecurityNum;
/**
* 居住情况
*/
@NotNull(message = "居住情况不能为空")
@ApiModelProperty(value = "居住情况")
private String livingSituation;
/**
* 户籍地址
*/
@NotNull(message = "户籍地址不能为空")
@ApiModelProperty(value = "户籍地址")
private String residenceAddr;
/**
* 业务来源
*/
@NotNull(message = "业务来源不能为空")
@ApiModelProperty(value = "业务来源")
private String businessSource;
/**
* 紧急联系人
*/
@NotNull(message = "紧急联系人不能为空")
@ApiModelProperty(value = "紧急联系人")
private String emergencyLinkman;
/**
* 紧急联系人关系
*/
@NotNull(message = "紧急联系人关系不能为空")
@ApiModelProperty(value = "紧急联系人关系")
private String emergencyLinkmanRelationship;
/**
* 紧急联系人电话
*/
@Pattern(regexp = "^[0-9]*$",message = "紧急联系人电话格式错误")
@NotNull(message = "紧急联系人电话不能为空")
@ApiModelProperty(value = "紧急联系人电话")
private String emergencyLinkmanPhone;
}

@ -5,6 +5,8 @@ import com.alibaba.excel.metadata.BaseRowModel;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -22,104 +24,99 @@ public class CustomerPersonalVO extends BaseRowModel implements Serializable {
*/ */
@ExcelProperty(value = "编号",index = 0) @ExcelProperty(value = "编号",index = 0)
private String code; private String code;
/**
* 客户类型1企业类型0个人类型
*/
@ExcelProperty(value = "个人类型",index = 1)
private Integer type;
/** /**
* 客户经理 * 客户经理
*/ */
@ExcelProperty(value = "客户经理",index = 2) @ExcelProperty(value = "客户经理",index = 1)
private String manager; private String manager;
/** /**
* 客户名称 * 客户名称
*/ */
@ExcelProperty(value = "姓名",index = 3) @ExcelProperty(value = "姓名",index = 2)
private String name; private String name;
/** /**
* 联系地址 * 联系地址
*/ */
@ExcelProperty(value = "地址",index = 4) @ExcelProperty(value = "地址",index = 3)
private String addr; private String addr;
/** /**
* 联系电话 * 联系电话
*/ */
@ExcelProperty(value = "电话",index = 5) @ExcelProperty(value = "电话",index = 4)
private String phone; private String phone;
/** /**
* 身份证号 * 身份证号
*/ */
@ExcelProperty(value = "身份证号",index = 6) @ExcelProperty(value = "身份证号",index = 5)
private String idCard; private String idCard;
/** /**
* 年龄 * 年龄
*/ */
@ExcelProperty(value = "年龄",index = 7) @ExcelProperty(value = "年龄",index = 6)
private Integer age; private Integer age;
/** /**
* 性别10 * 性别10
*/ */
@ExcelProperty(value = "性别(1:男,0:女)",index = 8) @ExcelProperty(value = "性别(1:男,0:女)",index = 7)
private Integer gender; private Integer gender;
/** /**
* 婚姻状况1已婚0未婚 * 婚姻状况1已婚0未婚
*/ */
@ExcelProperty(value = "婚姻状况(0:未婚,1:已婚,2:离异,3:再婚)",index = 9) @ExcelProperty(value = "婚姻状况(0:未婚,1:已婚,2:离异,3:再婚)",index = 8)
private Integer maritalStatus; private Integer maritalStatus;
/** /**
* 学历 * 学历
*/ */
@ExcelProperty(value = "学历(0:本科,1:大专,2:高职,3:中专,4:其他)",index = 10) @ExcelProperty(value = "学历(0:本科,1:大专,2:高职,3:中专,4:其他)",index = 9)
private Integer education; private Integer education;
/** /**
* 工作单位 * 工作单位
*/ */
@ExcelProperty(value = "工作单位",index = 11) @ExcelProperty(value = "工作单位",index = 10)
private String employer; private String employer;
/** /**
* 职务 * 职务
*/ */
@ExcelProperty(value = "职务",index = 12) @ExcelProperty(value = "职务",index = 11)
private String position; private String position;
/** /**
* 工作年限 * 工作年限
*/ */
@ExcelProperty(value = "工作年限",index = 13) @ExcelProperty(value = "工作年限",index = 12)
private Integer workingYears; private Integer workingYears;
/** /**
* 社保账号 * 社保账号
*/ */
@ExcelProperty(value = "社保账号",index = 14) @ExcelProperty(value = "社保账号",index = 13)
private String socialSecurityNum; private String socialSecurityNum;
/** /**
* 居住情况 * 居住情况
*/ */
@ExcelProperty(value = "居住情况",index = 15) @ExcelProperty(value = "居住情况",index = 14)
private String livingSituation; private String livingSituation;
/** /**
* 户籍地址 * 户籍地址
*/ */
@ExcelProperty(value = "户籍地址",index = 16) @ExcelProperty(value = "户籍地址",index = 15)
private String residenceAddr; private String residenceAddr;
/** /**
* 业务来源 * 业务来源
*/ */
@ExcelProperty(value = "业务来源",index = 17) @ExcelProperty(value = "业务来源",index = 16)
private String businessSource; private String businessSource;
/** /**
* 紧急联系人 * 紧急联系人
*/ */
@ExcelProperty(value = "紧急联系人",index = 18) @ExcelProperty(value = "紧急联系人",index = 17)
private String emergencyLinkman; private String emergencyLinkman;
/** /**
* 紧急联系人关系 * 紧急联系人关系
*/ */
@ExcelProperty(value = "紧急联系人关系",index = 19) @ExcelProperty(value = "紧急联系人关系",index = 18)
private String emergencyLinkmanRelationship; private String emergencyLinkmanRelationship;
/** /**
* 紧急联系人电话 * 紧急联系人电话
*/ */
@ExcelProperty(value = "紧急联系人电话",index = 20) @ExcelProperty(value = "紧急联系人电话",index = 19)
private String emergencyLinkmanPhone; private String emergencyLinkmanPhone;
} }

@ -0,0 +1,133 @@
package com.daqing.framework.domain.crms.ext;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import lombok.Data;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 导出excel模板(个人类型)
* @auther River
* @date 2020/10/9 11:32
*/
@Data
@ToString
public class PersonalTemplate extends BaseRowModel implements Serializable {
/**
* 客户经理
*/
@NotNull(message = "客户经理不能为空")
@ExcelProperty(value = "客户经理(请填写本公司存在的员工姓名)",index = 0)
private String manager;
/**
* 客户名称
*/
@NotNull(message = "客户名称不能为空")
@ExcelProperty(value = "姓名",index = 1)
private String name;
/**
* 联系地址
*/
@NotNull(message = "联系地址不能为空")
@ExcelProperty(value = "地址",index = 2)
private String addr;
/**
* 联系电话
*/
@NotNull(message = "联系电话不能为空")
@ExcelProperty(value = "电话",index = 3)
private String phone;
/**
* 身份证号
*/
@NotNull(message = "身份证号不能为空")
@ExcelProperty(value = "身份证号",index = 4)
private String idCard;
/**
* 年龄
*/
@NotNull(message = "年龄不能为空")
@ExcelProperty(value = "年龄",index = 5)
private Integer age;
/**
* 性别10
*/
@NotNull(message = "性别不能为空")
@ExcelProperty(value = "性别(1:男,0:女)",index = 6)
private Integer gender;
/**
* 婚姻状况1已婚0未婚
*/
@NotNull(message = "婚姻状况不能为空")
@ExcelProperty(value = "婚姻状况(0:未婚,1:已婚,2:离异,3:再婚)",index = 7)
private Integer maritalStatus;
/**
* 学历
*/
@NotNull(message = "学历不能为空")
@ExcelProperty(value = "学历(0:本科,1:大专,2:高职,3:中专,4:其他)",index = 8)
private Integer education;
/**
* 工作单位
*/
@NotNull(message = "工作单位不能为空")
@ExcelProperty(value = "工作单位",index = 9)
private String employer;
/**
* 职务
*/
@NotNull(message = "职务不能为空")
@ExcelProperty(value = "职务",index = 10)
private String position;
/**
* 工作年限
*/
@NotNull(message = "工作年限不能为空")
@ExcelProperty(value = "工作年限",index = 11)
private Integer workingYears;
/**
* 社保账号
*/
@NotNull(message = "社保账号不能为空")
@ExcelProperty(value = "社保账号",index = 12)
private String socialSecurityNum;
/**
* 居住情况
*/
@NotNull(message = "居住情况不能为空")
@ExcelProperty(value = "居住情况",index = 13)
private String livingSituation;
/**
* 户籍地址
*/
@NotNull(message = "户籍地址不能为空")
@ExcelProperty(value = "户籍地址",index = 14)
private String residenceAddr;
/**
* 业务来源
*/
@NotNull(message = "业务来源不能为空")
@ExcelProperty(value = "业务来源",index = 15)
private String businessSource;
/**
* 紧急联系人
*/
@NotNull(message = "紧急联系人不能为空")
@ExcelProperty(value = "紧急联系人",index = 16)
private String emergencyLinkman;
/**
* 紧急联系人关系
*/
@NotNull(message = "紧急联系人关系不能为空")
@ExcelProperty(value = "紧急联系人关系",index = 17)
private String emergencyLinkmanRelationship;
/**
* 紧急联系人电话
*/
@NotNull(message = "紧急联系人电话不能为空")
@ExcelProperty(value = "紧急联系人电话",index = 18)
private String emergencyLinkmanPhone;
}

@ -18,7 +18,9 @@ public enum CrmsCode implements ResultCode {
CUSTOMER_IMPORT_EXSIT(false,20001,"导入数据失败,请检查文件和数据格式或稍后再试!"), CUSTOMER_IMPORT_EXSIT(false,20001,"导入数据失败,请检查文件和数据格式或稍后再试!"),
CUSTOMER_EXPORT_EXSIT(false,20002,"导出数据失败,请稍后再试!"), CUSTOMER_EXPORT_EXSIT(false,20002,"导出数据失败,请稍后再试!"),
CUSTOMER_EXPORTTEMPLATE_EXSIT(false,20003,"导出excel模板失败,请稍后再试!"), CUSTOMER_EXPORTTEMPLATE_EXSIT(false,20003,"导出excel模板失败,请稍后再试!"),
NOT_NULL(false,20004,"上传的文件不能为空"); NOT_NULL(false,20004,"上传的文件不能为空"),
CUSTOMER_IS_NULL(false,20005,"导入数据失败,当前员工不存在!");
/** /**
* 操作是否成功 * 操作是否成功

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

Loading…
Cancel
Save