From 5f23ebd502101eace9e74156a8f74c178eb5d83f Mon Sep 17 00:00:00 2001 From: river <1376754470@qq.com> Date: Tue, 29 Sep 2020 17:29:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AE=A2=E6=88=B7=E5=90=8E?= =?UTF-8?q?=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CustomerServiceImpl.java | 125 ++++++++++-------- .../service/impl/CustomerServiceImpl.class | Bin 21159 -> 20486 bytes .../controller/UserLoginController.java | 2 +- .../src/main/resources/bootstrap.properties | 4 +- .../service/impl/EmployeeServiceImpl.java | 1 - .../resources/mapper/hrms/EmployeeDao.xml | 25 +++- .../hrms/controller/DeptController.class | Bin 4069 -> 4190 bytes .../classes/mapper/hrms/EmployeeDao.xml | 25 +++- .../com/daqing/framework/util/JwtUtils.java | 6 +- .../domain/crms/ext/CustomerCompanyDTO.java | 92 +++++++++++++ .../domain/crms/ext/CustomerCompanyVO.java | 19 +-- .../domain/crms/ext/CustomerPersonalDTO.java | 101 ++++++++++++++ .../domain/crms/ext/CustomerPersonalVO.java | 2 +- .../domain/crms/ext/CustomerCompanyVO.class | Bin 7786 -> 7491 bytes .../domain/hrms/response/HrmsCode.class | Bin 3521 -> 3872 bytes .../gateway/config/ApiGlobalFilter.java | 4 +- .../src/main/resources/application.yml | 14 +- .../src/main/resources/bootstrap.properties | 12 +- .../src/main/resources/jwt.properties | 5 +- .../target/classes/application.yml | 34 +++-- .../target/classes/bootstrap.properties | 12 +- .../target/classes/jwt.properties | 5 +- 22 files changed, 368 insertions(+), 120 deletions(-) create mode 100644 dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerCompanyDTO.java create mode 100644 dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerPersonalDTO.java diff --git a/dq-financial-crms/src/main/java/com/daqing/financial/crms/service/impl/CustomerServiceImpl.java b/dq-financial-crms/src/main/java/com/daqing/financial/crms/service/impl/CustomerServiceImpl.java index 37bfb53a..5c6aabc6 100644 --- a/dq-financial-crms/src/main/java/com/daqing/financial/crms/service/impl/CustomerServiceImpl.java +++ b/dq-financial-crms/src/main/java/com/daqing/financial/crms/service/impl/CustomerServiceImpl.java @@ -63,12 +63,10 @@ public class CustomerServiceImpl extends ServiceImpl pages = this.pageCheckout(page, size); // 查询所有客户的基本信息 IPage customerEntityIPage = customerDao.queryList(pages, customerRequest); - // 获取所有的客户基本信息 List customers = customerEntityIPage.getRecords(); // 获取所有的客户经理id @@ -78,10 +76,8 @@ public class CustomerServiceImpl extends ServiceImpl employeeTO = (List) responseResult.getData(); - // 将客户信息和客户经理及部门信息拼装起来 List customerTOS = this.jointCustomerEmployee(customers, employeeTO); - // 属性拷贝,将泛型为CustomerEntity类型的IPage的属性拷贝给泛型为CustomerTO类型的IPage,才能赋值给PageUtils IPage iPage = new Page<>(); BeanUtils.copyProperties(customerEntityIPage, iPage); @@ -101,6 +97,33 @@ public class CustomerServiceImpl extends ServiceImpl().SUCCESS(customerPersonalDTO); + } else { + CompanyCustomerEntity companyCustomerEntity = companyCustomerDao.queryCompanyCustomerById(id); + // 封装企业类型客户信息 + CustomerCompanyDTO customerCompanyDTO = this.setCompany(customer, companyCustomerEntity); + return new ResponseResult().SUCCESS(customerCompanyDTO); + } + } + + /** + * 根据id查询客户的信息(导入到excel中) + */ + public ResponseResult getCustomerById(Long id) { + if (id == null){ return new ResponseResult(CommonCode.INVALID_PARAM); } @@ -203,6 +226,9 @@ public class CustomerServiceImpl extends ServiceImpl personalList = new ArrayList<>(); List longList = customerDao.listCustomerId(); for (Long id : longList) { - ResponseResult responseResult = this.queryCustomerById(id); + ResponseResult responseResult = this.getCustomerById(id); if ((responseResult.getData()).getClass() == CustomerCompanyVO.class){ companyList.add((CustomerCompanyVO) responseResult.getData()); }else { @@ -337,7 +366,7 @@ public class CustomerServiceImpl extends ServiceImpl jointCustomerEmployee(List customers, List employeeTO) { List customerTOS = new ArrayList<>();// 用于拼装客户信息和员工及部门信息的集合 CustomerTO customerTO; - // 将客户信息和客户经理及部门信息拼装起来 for (CustomerEntity customer : customers) { // 每一个客户对应一个不同的对象 customerTO = new CustomerTO(); for (EmployeeTO anEmployeeTO : employeeTO) { if (Objects.equals(customer.getManager(), anEmployeeTO.getId())) { - customerTO.setId(customer.getId()); - customerTO.setCode(customer.getCode()); - customerTO.setName(customer.getName()); - customerTO.setPhone(customer.getPhone()); - customerTO.setType(customer.getType()); + BeanUtils.copyProperties(customer,customerTO); customerTO.setManager(anEmployeeTO.getEmpName()); customerTO.setDepartments(anEmployeeTO.getDeptNames()); customerTOS.add(customerTO); } } if (!Objects.equals(customerTO.getId(), customer.getId())) { - customerTO.setId(customer.getId()); - customerTO.setCode(customer.getCode()); - customerTO.setName(customer.getName()); - customerTO.setPhone(customer.getPhone()); - customerTO.setType(customer.getType()); + BeanUtils.copyProperties(customer,customerTO); customerTOS.add(customerTO); } } return customerTOS; } + + /** * 封装个人类型的客户信息 * * @param customer 客户基本信息 - * @param name 客户经理姓名 * @param personal 个人类型信息 * @return */ - private CustomerPersonalVO setPersonal(CustomerEntity customer, String name, PersonalCustomerEntity personal) { + private CustomerPersonalDTO setPersonal(CustomerEntity customer, PersonalCustomerEntity personal) { //BeanUtils能批量封装相同字段名称和类型的属性的值 - CustomerPersonalVO customerPersonalVO = new CustomerPersonalVO(); - customerPersonalVO.setCode(customer.getCode()); - customerPersonalVO.setType(customer.getType()); - customerPersonalVO.setManager(name); - customerPersonalVO.setName(customer.getName()); - customerPersonalVO.setAddr(customer.getAddr()); - customerPersonalVO.setPhone(customer.getPhone()); - customerPersonalVO.setIdCard(personal.getIdCard()); - customerPersonalVO.setAge(personal.getAge()); - customerPersonalVO.setGender(personal.getGender()); - customerPersonalVO.setMaritalStatus(personal.getMaritalStatus()); - customerPersonalVO.setEducation(personal.getEducation()); - customerPersonalVO.setEmployer(personal.getEmployer()); - customerPersonalVO.setPosition(personal.getPosition()); - customerPersonalVO.setWorkingYears(personal.getWorkingYears()); - customerPersonalVO.setSocialSecurityNum(personal.getSocialSecurityNum()); - customerPersonalVO.setLivingSituation(personal.getLivingSituation()); - customerPersonalVO.setResidenceAddr(personal.getResidenceAddr()); - customerPersonalVO.setBusinessSource(personal.getBusinessSource()); - customerPersonalVO.setEmergencyLinkman(personal.getEmergencyLinkman()); - customerPersonalVO.setEmergencyLinkmanRelationship(personal.getEmergencyLinkmanRelationship()); - customerPersonalVO.setEmergencyLinkmanPhone(personal.getEmergencyLinkmanPhone()); - return customerPersonalVO; + CustomerPersonalDTO personalDTO = new CustomerPersonalDTO(); + BeanUtils.copyProperties(customer,personalDTO); + BeanUtils.copyProperties(personal,personalDTO); + return personalDTO; } /** * 封装企业类型的客户信息 * * @param customer 客户基本信息 - * @param name 客户经理姓名 * @param company 企业类型信息 * @return */ + private CustomerCompanyDTO setCompany(CustomerEntity customer, CompanyCustomerEntity company) { + CustomerCompanyDTO companyDTO = new CustomerCompanyDTO(); + BeanUtils.copyProperties(customer,companyDTO); + BeanUtils.copyProperties(company,companyDTO); + return companyDTO; + } + + /** + * 封装企业类型的客户信息(excel) + */ private CustomerCompanyVO setCompany(CustomerEntity customer, String name, CompanyCustomerEntity company) { CustomerCompanyVO customerCompanyVO = new CustomerCompanyVO(); - customerCompanyVO.setCode(customer.getCode()); - customerCompanyVO.setType(customer.getType()); + BeanUtils.copyProperties(customer,customerCompanyVO); + BeanUtils.copyProperties(company,customerCompanyVO); customerCompanyVO.setManager(name); - customerCompanyVO.setName(customer.getName()); - customerCompanyVO.setAddr(customer.getAddr()); - customerCompanyVO.setPhone(customer.getPhone()); - customerCompanyVO.setRegisteredCapital(company.getRegisteredCapital()); - customerCompanyVO.setIndustry(company.getIndustry()); - customerCompanyVO.setYears(company.getYears()); - customerCompanyVO.setRegion(company.getRegion()); - customerCompanyVO.setShareholder(company.getShareholder()); - customerCompanyVO.setAffiliatedCompany(company.getAffiliatedCompany()); - customerCompanyVO.setEmployeeNumber(company.getEmpNum()); - customerCompanyVO.setLinkman(company.getLinkman()); - customerCompanyVO.setBusinessSource(company.getBusinessSource()); return customerCompanyVO; } + + /** + * 封装个人类型的客户信息(excel) + */ + private CustomerPersonalVO setPersonal(CustomerEntity customer, String name, PersonalCustomerEntity personal) { + //BeanUtils能批量封装相同字段名称和类型的属性的值 + CustomerPersonalVO customerPersonalVO = new CustomerPersonalVO(); + BeanUtils.copyProperties(customer,customerPersonalVO); + BeanUtils.copyProperties(personal,customerPersonalVO); + customerPersonalVO.setManager(name); + return customerPersonalVO; + } } \ No newline at end of file diff --git a/dq-financial-crms/target/classes/com/daqing/financial/crms/service/impl/CustomerServiceImpl.class b/dq-financial-crms/target/classes/com/daqing/financial/crms/service/impl/CustomerServiceImpl.class index 547b83fb55bde9265f7375132ac64247b0f8b34c..a68be8685f0ffb4e714e2d7b99195e93d3cf1e49 100644 GIT binary patch literal 20486 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 literal 21159 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 #{id} @@ -44,7 +47,12 @@ @@ -55,15 +63,22 @@ ON e.id = ed.employee_id LEFT JOIN hrms_dept d ON ed.dept_id = d.id - WHERE d.id = #{id} + LEFT JOIN hrms_user u + ON e.user_id = u.id + WHERE u.del_or_not = 0 + AND d.id = #{id} + - SELECT name FROM hrms_employee WHERE id = #{id} + SELECT e.name name + FROM hrms_employee e + LEFT JOIN hrms_user u + ON e.user_id = u.id + WHERE u.del_or_not = 0 + AND e.id = #{id} @@ -55,15 +63,22 @@ ON e.id = ed.employee_id LEFT JOIN hrms_dept d ON ed.dept_id = d.id - WHERE d.id = #{id} + LEFT JOIN hrms_user u + ON e.user_id = u.id + WHERE u.del_or_not = 0 + AND d.id = #{id} +