From 6a7f4c756c311f2d885e0837bd11096a363b6627 Mon Sep 17 00:00:00 2001 From: river <1376754470@qq.com> Date: Thu, 22 Oct 2020 18:46:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../crms/CustomerWorkbenchControllerApi.java | 58 ++++++++ .../financial/hrms/UserControllerApi.java | 4 + .../CustomerWorkbenchController.java | 126 +++++++++++++++- .../crms/dao/CustomerWorkbenchDao.java | 2 + .../crms/feign/HrmsFeignService.java | 4 +- .../service/CustomerWorkbenchService.java | 26 ++++ .../service/impl/CustomerServiceImpl.java | 5 +- .../impl/CustomerWorkbenchServiceImpl.java | 137 +++++++++++++++++- .../mapper/crms/CustomerWorkbenchDao.xml | 4 + dq-financial-hrms-auth/pom.xml | 6 + .../financial/hrauth/config/WeChatConfig.java | 14 +- .../controller/UserLoginController.java | 11 ++ .../hrauth/feign/HrmsFeignService.java | 8 + .../hrauth/service/UserLoginService.java | 3 + .../financial/hrauth/service/UserService.java | 2 + .../service/impl/UserLoginServiceImpl.java | 16 ++ .../mapper/hrauth/RolePermissionMapper.xml | 2 +- .../hrms/controller/DeptController.java | 10 ++ .../hrms/controller/EmployeeController.java | 6 +- .../hrms/controller/UserController.java | 16 ++ .../daqing/financial/hrms/dao/DeptDao.java | 2 + .../daqing/financial/hrms/dao/UserDao.java | 2 + .../hrms/feign/HrmsAuthFeignService.java | 6 +- .../financial/hrms/service/DeptService.java | 4 + .../financial/hrms/service/UserService.java | 3 + .../hrms/service/impl/DeptServiceImpl.java | 14 ++ .../hrms/service/impl/UserServiceImpl.java | 81 +++++++++-- .../src/main/resources/bootstrap.properties | 80 +++++----- .../main/resources/mapper/hrms/DeptDao.xml | 18 +++ .../main/resources/mapper/hrms/UserDao.xml | 4 + .../com/daqing/framework/util/HttpUtils.java | 107 ++++++++++++++ .../response/CustomerWorkbenchListVO.java | 2 +- .../src/main/resources/jwt.properties | 1 + pom.xml | 2 +- 34 files changed, 713 insertions(+), 73 deletions(-) create mode 100644 dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/feign/HrmsFeignService.java create mode 100644 dq-framework-common/src/main/java/com/daqing/framework/util/HttpUtils.java diff --git a/dq-financial-api/src/main/java/com/daqing/financial/crms/CustomerWorkbenchControllerApi.java b/dq-financial-api/src/main/java/com/daqing/financial/crms/CustomerWorkbenchControllerApi.java index dde4af51..35864f87 100644 --- a/dq-financial-api/src/main/java/com/daqing/financial/crms/CustomerWorkbenchControllerApi.java +++ b/dq-financial-api/src/main/java/com/daqing/financial/crms/CustomerWorkbenchControllerApi.java @@ -1,5 +1,9 @@ package com.daqing.financial.crms; +import com.daqing.framework.domain.crms.ext.CustomerCompanyTOI; +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.CustomerWorkbenchRequest; import com.daqing.framework.domain.crms.response.CustomerWorkbenchListVO; import com.daqing.framework.model.response.ResponseResult; @@ -20,4 +24,58 @@ public interface CustomerWorkbenchControllerApi { */ @ApiOperation(value = "客户信息列表展示", notes = "客户信息列表展示",response = CustomerWorkbenchListVO.class) ResponseResult List(Integer page, Integer size, CustomerWorkbenchRequest customerWorkbenchRequest); + + /** + * 详情 + */ + @ApiOperation(value = "详情",notes = "详情") + ResponseResult info(Long id); + + /** + * 删除 + */ + @ApiOperation(value = "删除",notes = "删除") + ResponseResult delete(Long[] ids); + + /** + * 新增个人 + */ + @ApiOperation(value = "新增个人类型客户信息", notes = "新增个人类型客户信息") + ResponseResult savePersonal(CustomerPersonalTOI customerPersonalTOI); + + /** + * 新增企业 + */ + @ApiOperation(value = "新增企业类型客户信息", notes = "新增企业类型客户信息") + ResponseResult saveCompany(CustomerCompanyTOI customerCompanyTOI); + + /** + * 更新个人类型客户信息 + */ + @ApiOperation(value = "更新个人类型客户信息", notes = "更新个人类型客户信息") + ResponseResult updatePersonal(CustomerPersonalTOU customerPersonalTOU); + + /** + * 更新企业类型客户信息 + */ + @ApiOperation(value = "更新企业类型客户信息", notes = "更新企业类型客户信息") + ResponseResult updateCompany(CustomerCompanyTOU customerCompanyTOU); + + /** + * 通过审核 + */ + @ApiOperation(value = "通过审核", notes = "通过审核") + ResponseResult pass(Long id,Long manager); + + /** + * 不通过 + */ + @ApiOperation(value = "不通过",notes = "不通过") + ResponseResult noPass(Long id,String cause); + + /** + * 获取当前客户部门经理的部门下所有客户经理 + */ + @ApiOperation(value = "获取当前客户部门经理的部门下所有客户经理",notes = "获取当前客户部门经理的部门下所有客户经理") + ResponseResult getCustomerManager(); } diff --git a/dq-financial-api/src/main/java/com/daqing/financial/hrms/UserControllerApi.java b/dq-financial-api/src/main/java/com/daqing/financial/hrms/UserControllerApi.java index 03522868..38030d96 100644 --- a/dq-financial-api/src/main/java/com/daqing/financial/hrms/UserControllerApi.java +++ b/dq-financial-api/src/main/java/com/daqing/financial/hrms/UserControllerApi.java @@ -4,6 +4,9 @@ import com.daqing.framework.domain.hrms.ext.EmployeeAndUserVO; import com.daqing.framework.model.response.ResponseResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.http.HttpResponse; + +import javax.servlet.http.HttpServletResponse; /** * @auther River @@ -26,4 +29,5 @@ public interface UserControllerApi { @ApiOperation(value = "绑定手机号",notes = "绑定手机号") ResponseResult binding(Long id,String phone,String code); + } diff --git a/dq-financial-crms/src/main/java/com/daqing/financial/crms/controller/CustomerWorkbenchController.java b/dq-financial-crms/src/main/java/com/daqing/financial/crms/controller/CustomerWorkbenchController.java index 6e239fbd..773a486e 100644 --- a/dq-financial-crms/src/main/java/com/daqing/financial/crms/controller/CustomerWorkbenchController.java +++ b/dq-financial-crms/src/main/java/com/daqing/financial/crms/controller/CustomerWorkbenchController.java @@ -2,14 +2,21 @@ package com.daqing.financial.crms.controller; import com.daqing.financial.crms.CustomerWorkbenchControllerApi; import com.daqing.financial.crms.service.CustomerWorkbenchService; +import com.daqing.framework.domain.crms.ext.CustomerCompanyTOI; +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.CustomerWorkbenchRequest; +import com.daqing.framework.domain.hrms.EmployeeEntity; +import com.daqing.framework.model.response.CommonCode; +import com.daqing.framework.model.response.PromptSuccess; import com.daqing.framework.model.response.ResponseResult; import com.daqing.framework.utils.PageUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Objects; /** * 工作台客户资源系统 @@ -35,4 +42,115 @@ public class CustomerWorkbenchController implements CustomerWorkbenchControllerA return new ResponseResult().SUCCESS(list); } + + /** + * 详情 + */ + @GetMapping("/info") + @Override + public ResponseResult info(@RequestParam("id") Long id) { + + return customerWorkbenchService.info(id); + } + + /** + * 删除 + */ + @Override + @PostMapping("/delete") + public ResponseResult delete(@RequestBody Long[] ids) { + List list = customerWorkbenchService.delete(ids); + if (list == null){ + return new ResponseResult(CommonCode.INVALID_PARAM); + }else if (Objects.equals(list.get(0), PromptSuccess.DELETE_SUCCESS)){ + return ResponseResult.SUCCESS(); + }else if (Objects.equals(list.get(0),PromptSuccess.DELETE_FAIL)){ + return new ResponseResult(CommonCode.DELETE_FAIL); + } + else { + return new ResponseResult>().SUCCESS_DATA(list); + } + } + + /** + * 新增个人 + */ + @PostMapping("/savePersonal") + @Override + public ResponseResult savePersonal(@RequestBody CustomerPersonalTOI customerPersonalTOI) { + + boolean result = customerWorkbenchService.savePersonal(customerPersonalTOI); + + return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.SAVE_FAIL); + } + + /** + * 新增企业 + */ + @PostMapping("/saveCompany") + @Override + public ResponseResult saveCompany(@RequestBody CustomerCompanyTOI customerCompanyTOI) { + + boolean result = customerWorkbenchService.saveCompany(customerCompanyTOI); + + return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.SAVE_FAIL); + } + + /** + * 修改个人 + */ + @PostMapping("/updatePersonal") + @Override + public ResponseResult updatePersonal(@RequestBody CustomerPersonalTOU customerPersonalTOU) { + + Boolean result = customerWorkbenchService.updatePersonal(customerPersonalTOU); + + return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.UPDATE_FAIL); + } + + /** + * 修改企业 + */ + @PostMapping("/updateCompany") + @Override + public ResponseResult updateCompany(@RequestBody CustomerCompanyTOU customerCompanyTOU) { + + Boolean result = customerWorkbenchService.updateCompany(customerCompanyTOU); + + return result ? ResponseResult.SUCCESS() : new ResponseResult(CommonCode.UPDATE_FAIL); + } + + /** + * 通过审核 + */ + @GetMapping("/pass") + @Override + public ResponseResult pass(@RequestParam("id") Long id, @RequestParam("manager") Long manager) { + + Boolean result = customerWorkbenchService.pass(id, manager); + + return result ? ResponseResult.SUCCESS() : ResponseResult.FAIL(); + } + + /** + * 不通过审核 + */ + @GetMapping("/noPass") + @Override + public ResponseResult noPass(@RequestParam("id") Long id, @RequestParam("cause") String cause) { + + Boolean result = customerWorkbenchService.noPass(id, cause); + + return result ? ResponseResult.SUCCESS() : ResponseResult.FAIL(); + } + + /** + * 获取当前客户部门经理的部门下所有客户经理 + */ + @GetMapping("/manager") + @Override + public ResponseResult getCustomerManager() { + + return new ResponseResult>().SUCCESS(customerWorkbenchService.getCustomerManager()); + } } diff --git a/dq-financial-crms/src/main/java/com/daqing/financial/crms/dao/CustomerWorkbenchDao.java b/dq-financial-crms/src/main/java/com/daqing/financial/crms/dao/CustomerWorkbenchDao.java index af511c08..57e72cd8 100644 --- a/dq-financial-crms/src/main/java/com/daqing/financial/crms/dao/CustomerWorkbenchDao.java +++ b/dq-financial-crms/src/main/java/com/daqing/financial/crms/dao/CustomerWorkbenchDao.java @@ -16,4 +16,6 @@ import org.apache.ibatis.annotations.Param; public interface CustomerWorkbenchDao extends BaseMapper { IPage queryList(Page page, @Param("cr")CustomerWorkbenchRequest customerWorkbenchRequest); + + Boolean passById(@Param("id")Long id,@Param("manager")Long manager); } diff --git a/dq-financial-crms/src/main/java/com/daqing/financial/crms/feign/HrmsFeignService.java b/dq-financial-crms/src/main/java/com/daqing/financial/crms/feign/HrmsFeignService.java index 034a388f..0cb63f31 100644 --- a/dq-financial-crms/src/main/java/com/daqing/financial/crms/feign/HrmsFeignService.java +++ b/dq-financial-crms/src/main/java/com/daqing/financial/crms/feign/HrmsFeignService.java @@ -5,7 +5,6 @@ import com.daqing.framework.domain.hrms.ext.EmployeeTO; import com.daqing.framework.domain.hrms.ext.EmployeeVO; import com.daqing.framework.model.response.ResponseResult; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -28,4 +27,7 @@ public interface HrmsFeignService { @GetMapping("/hrms/employee/listEmployeeName") ResponseResult> listEmployeeName(); + + @GetMapping("/hrms/dept/listEmployeeById") + ResponseResult> listEmployeeById(@RequestParam("id") Long id); } diff --git a/dq-financial-crms/src/main/java/com/daqing/financial/crms/service/CustomerWorkbenchService.java b/dq-financial-crms/src/main/java/com/daqing/financial/crms/service/CustomerWorkbenchService.java index c1a735b7..e8c07a08 100644 --- a/dq-financial-crms/src/main/java/com/daqing/financial/crms/service/CustomerWorkbenchService.java +++ b/dq-financial-crms/src/main/java/com/daqing/financial/crms/service/CustomerWorkbenchService.java @@ -2,9 +2,17 @@ package com.daqing.financial.crms.service; import com.baomidou.mybatisplus.extension.service.IService; import com.daqing.framework.domain.crms.CustomerEntity; +import com.daqing.framework.domain.crms.ext.CustomerCompanyTOI; +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.CustomerWorkbenchRequest; +import com.daqing.framework.domain.hrms.EmployeeEntity; +import com.daqing.framework.model.response.ResponseResult; import com.daqing.framework.utils.PageUtils; +import java.util.List; + /** * @auther River @@ -13,4 +21,22 @@ import com.daqing.framework.utils.PageUtils; public interface CustomerWorkbenchService extends IService { PageUtils list(Integer page, Integer size, CustomerWorkbenchRequest customerWorkbenchRequest); + + ResponseResult info(Long id); + + List delete(Long[] ids); + + Boolean savePersonal(CustomerPersonalTOI customerPersonalTOI); + + Boolean saveCompany(CustomerCompanyTOI customerCompanyTOI); + + Boolean updatePersonal(CustomerPersonalTOU customerPersonalTOU); + + Boolean updateCompany(CustomerCompanyTOU customerCompanyTOU); + + Boolean pass(Long id,Long manager); + + Boolean noPass(Long id,String cause); + + List getCustomerManager(); } 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 f8ba6c8f..554020df 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 @@ -177,7 +177,7 @@ public class CustomerServiceImpl extends ServiceImpl idArray = new ArrayList<>();// 假设为返回的正在审批的客户id集合 - if (idArray.size() == 0 || idArray == null) { + if (idArray == null || idArray.size() == 0) { boolean customer = customerDao.updateCustomerById(Arrays.asList(ids)); List success = new ArrayList<>(); success.add(PromptSuccess.DELETE_SUCCESS); @@ -206,6 +206,8 @@ public class CustomerServiceImpl extends ServiceImpl implements CustomerWorkbenchService { + //TODO 从redis获取当前登录用户信息 + /*HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String token = request.getHeader("token"); + String userId = RedisUtil.get("dq:token:"+token);*/ + Long userId = Long.parseLong("1"); + @Autowired private HrmsFeignService hrmsFeignService; + @Autowired + private CustomerService customerService; + /** * 列表 */ @Override public PageUtils list(Integer page, Integer size, CustomerWorkbenchRequest cwr) { - + // 分页参数 if (page == null || size == null){ page = 1; size = 10; @@ -65,7 +80,12 @@ public class CustomerWorkbenchServiceImpl extends ServiceImpl !Objects.equals(customerWorkbenchListVO.getStatus(),cwr.getStatus())); + } } + // 属性拷贝,将泛型为CustomerEntity类型的IPage的属性拷贝给泛型为CustomerTO类型的IPage,才能赋值给PageUtils IPage iPage = new Page<>(); BeanUtils.copyProperties(customerEntityIPage,iPage); @@ -74,6 +94,119 @@ public class CustomerWorkbenchServiceImpl extends ServiceImpl delete(Long[] ids) { + + return customerService.updateCustomerById(ids); + } + + /** + * 新增个人 + */ + @Transactional + @Override + public Boolean savePersonal(CustomerPersonalTOI customerPersonalTOI) { + + customerPersonalTOI.setManager(userId); // 从redis当前登录用户 + boolean result = customerService.saveCustomerPersonal(customerPersonalTOI); + // TODO 将当前客户状态和自增的客户id新增到担保表中 + // customerId = customerPersonalTOI.getManager(); + // status = 2; + // Boolean result = save(customerId,status); + return result; + } + + /** + * 新增企业 + */ + @Transactional + @Override + public Boolean saveCompany(CustomerCompanyTOI customerCompanyTOI) { + + customerCompanyTOI.setManager(userId); // 从redis获取当前登录用户 + boolean result = customerService.saveCustomerCompany(customerCompanyTOI); + // TODO 将当前客户状态和自增的客户id新增到担保表中 + // customerId = customerPersonalTOI.getManager(); + // status = 2; + // Boolean result = save(customerId,status); + return result; + } + + /** + * 修改个人 + */ + @Transactional + @Override + public Boolean updatePersonal(CustomerPersonalTOU customerPersonalTOU) { + + customerPersonalTOU.setManager(userId); + + return customerService.updateCustomerPersonal(customerPersonalTOU); + } + + /** + * 修改企业 + */ + @Transactional + @Override + public Boolean updateCompany(CustomerCompanyTOU customerCompanyTOU) { + + customerCompanyTOU.setManager(userId); + + return customerService.updateCustomerCompany(customerCompanyTOU); + } + + /** + * 通过审核 + * @param id 当前客户id + * @param manager 客户经理id + * @return + */ + @Override + public Boolean pass(Long id, Long manager) { + if (id == null || manager == null){ + ExceptionCast.cast(CommonCode.INVALID_PARAM); + } + return this.getBaseMapper().passById(id,manager); + } + + /** + * 不通过审核 + * @param id 当前客户id + * @param cause 原因 + * @return + */ + @Override + public Boolean noPass(Long id, String cause) { + + // TODO 将当前客户id、不通过原因、客户状态status = 1(不通过)更新到担保业务的表中 + return null; + } + + /** + * 获取当前客户部门经理的部门下所有客户经理 + */ + @Override + public List getCustomerManager() { + + ResponseResult> employees = hrmsFeignService.listEmployeeById(userId); + + return employees.getData(); + } + /** * 选择某段时间内客户信息的时间参数校验 */ diff --git a/dq-financial-crms/src/main/resources/mapper/crms/CustomerWorkbenchDao.xml b/dq-financial-crms/src/main/resources/mapper/crms/CustomerWorkbenchDao.xml index 5462739c..752dcd05 100644 --- a/dq-financial-crms/src/main/resources/mapper/crms/CustomerWorkbenchDao.xml +++ b/dq-financial-crms/src/main/resources/mapper/crms/CustomerWorkbenchDao.xml @@ -40,4 +40,8 @@ ORDER BY create_time DESC + + UPDATE hrms_customer SET manager = #{manager} WHERE id = #{id} + + \ No newline at end of file diff --git a/dq-financial-hrms-auth/pom.xml b/dq-financial-hrms-auth/pom.xml index f0485bfb..d306dcd8 100644 --- a/dq-financial-hrms-auth/pom.xml +++ b/dq-financial-hrms-auth/pom.xml @@ -66,6 +66,12 @@ dq-financial-api 0.0.1-SNAPSHOT + + org.springframework.security + spring-security-web + 5.3.4.RELEASE + compile + diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/config/WeChatConfig.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/config/WeChatConfig.java index a85d3cc6..73153950 100644 --- a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/config/WeChatConfig.java +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/config/WeChatConfig.java @@ -1,17 +1,23 @@ package com.daqing.financial.hrauth.config; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; +import java.io.Serializable; + /** * 微信配置类 */ @Configuration @Data -public class WeChatConfig { +@NoArgsConstructor +@AllArgsConstructor +public class WeChatConfig implements Serializable { /** * 开放平台appid @@ -31,6 +37,12 @@ public class WeChatConfig { @Value("${wxopen.redirect_url}") private String openRedirectUrl; + /** + * 绑定微信回调url + */ + @Value("${wxopen.wechat_binding_redirect_url}") + private String weChatBindingRedirectUrl; + /** * 微信开放平台二维码连接 */ diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/controller/UserLoginController.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/controller/UserLoginController.java index 2bcf4ec5..09479025 100644 --- a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/controller/UserLoginController.java +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/controller/UserLoginController.java @@ -34,8 +34,10 @@ public class UserLoginController implements UserLoginControllerApi { @Autowired private UserLoginService userLoginService; + @Autowired private WeChatConfig weChatConfig; + @Autowired private UserService userService; @@ -154,4 +156,13 @@ public class UserLoginController implements UserLoginControllerApi { return result ? ResponseResult.SUCCESS("短信发送成功") : ResponseResult.FAIL(55001,"短信发送失败"); } + /** + * 获取WeChatConfig配置类值的接口 + */ + @GetMapping("/getWeChatConfig") + public ResponseResult getWeChatConfig(){ + + return new ResponseResult().SUCCESS(userLoginService.getWeChatConfig()); + } + } diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/feign/HrmsFeignService.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/feign/HrmsFeignService.java new file mode 100644 index 00000000..4179700b --- /dev/null +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/feign/HrmsFeignService.java @@ -0,0 +1,8 @@ +package com.daqing.financial.hrauth.feign; + +/** + * @auther River + * @date 2020/10/22 14:04 + */ +public class HrmsFeignService { +} diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/UserLoginService.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/UserLoginService.java index 1669fca7..96d637a8 100644 --- a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/UserLoginService.java +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/UserLoginService.java @@ -1,6 +1,7 @@ package com.daqing.financial.hrauth.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.daqing.financial.hrauth.config.WeChatConfig; import com.daqing.framework.domain.hrms.UserEntity; import com.daqing.framework.domain.hrms.request.*; import com.daqing.framework.model.response.ResponseResult; @@ -19,4 +20,6 @@ public interface UserLoginService extends IService { Boolean updatePwd(UpdatePwdRequest user); boolean bindPhoneAndOpenId(BindOpenIdRequest bindOpenIdRequest); + + WeChatConfig getWeChatConfig(); } diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/UserService.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/UserService.java index bebab2a5..ca7867ed 100644 --- a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/UserService.java +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/UserService.java @@ -10,5 +10,7 @@ import javax.servlet.http.HttpServletResponse; * @date 2020/9/22 15:00 */ public interface UserService extends IService { + UserEntity saveWeChatUser(String code, HttpServletResponse response); + } diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/UserLoginServiceImpl.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/UserLoginServiceImpl.java index 29c98f3d..890a2f49 100644 --- a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/UserLoginServiceImpl.java +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/UserLoginServiceImpl.java @@ -2,6 +2,7 @@ package com.daqing.financial.hrauth.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.daqing.financial.hrauth.config.WeChatConfig; import com.daqing.financial.hrauth.dao.UserLoginDao; import com.daqing.financial.hrauth.service.LoginLogService; import com.daqing.financial.hrauth.service.TokenService; @@ -44,6 +45,9 @@ public class UserLoginServiceImpl extends ServiceImpl @Autowired private LoginLogService loginLogService; + @Resource + private WeChatConfig weChatConfig; + /* @Autowired private OdcProperties properties;*/ @@ -229,5 +233,17 @@ public class UserLoginServiceImpl extends ServiceImpl return count>0; } + /** + * 获取WeChatConfig + */ + @Override + public WeChatConfig getWeChatConfig() { + + WeChatConfig weChatConfigResponse = new WeChatConfig(); + weChatConfigResponse.setOpenAppid(weChatConfig.getOpenAppid()); + weChatConfigResponse.setOpenAppsecret(weChatConfig.getOpenAppsecret()); + weChatConfigResponse.setOpenRedirectUrl(weChatConfig.getWeChatBindingRedirectUrl()); + return weChatConfigResponse; + } } diff --git a/dq-financial-hrms-auth/src/main/resources/mapper/hrauth/RolePermissionMapper.xml b/dq-financial-hrms-auth/src/main/resources/mapper/hrauth/RolePermissionMapper.xml index eae71c3f..5c78a914 100644 --- a/dq-financial-hrms-auth/src/main/resources/mapper/hrauth/RolePermissionMapper.xml +++ b/dq-financial-hrms-auth/src/main/resources/mapper/hrauth/RolePermissionMapper.xml @@ -9,7 +9,7 @@ - + diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/DeptController.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/DeptController.java index 2e3c102a..8ca6fc2f 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/DeptController.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/DeptController.java @@ -4,6 +4,7 @@ import com.daqing.financial.hrms.DeptControllerApi; import com.daqing.financial.hrms.service.DeptService; import com.daqing.framework.domain.hrms.DepartmentVO; import com.daqing.framework.domain.hrms.DeptEntity; +import com.daqing.framework.domain.hrms.EmployeeEntity; import com.daqing.framework.domain.hrms.request.DeptAddRequest; import com.daqing.framework.model.response.ResponseResult; import org.springframework.beans.factory.annotation.Autowired; @@ -114,4 +115,13 @@ public class DeptController implements DeptControllerApi { public ResponseResult children(Long id){ return new ResponseResult().SUCCESS(deptService.getDepartmentAndEmployee(id)); } + + /** + * 根据员工id获取对应部门下所有的客户经理 + */ + @GetMapping("/listEmployeeById") + public ResponseResult listEmployeeById(@RequestParam("id") Long id){ + + return new ResponseResult>().SUCCESS(deptService.listEmployeeById(id)); + } } diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/EmployeeController.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/EmployeeController.java index 10679a82..38c1367d 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/EmployeeController.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/EmployeeController.java @@ -1,8 +1,6 @@ package com.daqing.financial.hrms.controller; -import com.daqing.financial.hrauth.annotation.Log; -import com.daqing.financial.hrauth.enums.OperationType; -import com.daqing.financial.hrauth.enums.OperationUnit; + import com.daqing.financial.hrms.EmployeeControllerApi; import com.daqing.financial.hrms.service.EmployeeService; import com.daqing.framework.domain.crms.request.EmployeeDisableRequest; @@ -42,7 +40,7 @@ public class EmployeeController implements EmployeeControllerApi { private EmployeeService employeeService; @GetMapping("/list") - @Log(detail = "员工列表",level = 3,operationUnit = OperationUnit.ROLE,operationType = OperationType.INSERT) + //@Log(detail = "员工列表",level = 3,operationUnit = OperationUnit.ROLE,operationType = OperationType.INSERT) //@RequiresPermissions("hrms:employee:info") public ResponseResult list(@RequestParam("page") Integer page, @RequestParam("size") Integer size, diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/UserController.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/UserController.java index b6596f00..5f80a560 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/UserController.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/UserController.java @@ -7,10 +7,13 @@ import com.daqing.framework.domain.hrms.ext.EmployeeAndUserVO; import com.daqing.framework.model.response.CommonCode; import com.daqing.framework.model.response.ResponseResult; import com.daqing.framework.utils.PageUtils; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; import java.util.Arrays; import java.util.Map; @@ -22,6 +25,7 @@ import java.util.Map; * @email gongsj@gmail.com * @date 2020-09-07 16:26:04 */ +@Slf4j @RestController @RequestMapping("hrms/user") public class UserController implements UserControllerApi { @@ -80,6 +84,7 @@ public class UserController implements UserControllerApi { /** * 绑定手机号 */ + @GetMapping("/binding") @Override public ResponseResult binding(@RequestParam("id") Long id, String phone, String code) { @@ -88,6 +93,17 @@ public class UserController implements UserControllerApi { return result ? ResponseResult.SUCCESS() : ResponseResult.FAIL(); } + /** + * 微信绑定回调 + */ + @GetMapping("/weChatCallback") + public ResponseResult weChatCallback(@RequestParam("code") String code, HttpServletResponse response) throws IOException { + + userService.weChatCallback(code,response); + + return null; + } + /** * 只有当访问用户具有 ROLE_ADMIN 权限时才能访问,否则返回 401 未授权。 * 通过 Authentication 参数或者 SecurityContextHolder.getContext().getAuthentication() 可以拿到授权信息进行查看。 diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/DeptDao.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/DeptDao.java index 3442d3c7..ba11e47d 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/DeptDao.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/DeptDao.java @@ -3,6 +3,7 @@ package com.daqing.financial.hrms.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.daqing.framework.domain.hrms.DepartmentVO; import com.daqing.framework.domain.hrms.DeptEntity; +import com.daqing.framework.domain.hrms.EmployeeEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -29,4 +30,5 @@ public interface DeptDao extends BaseMapper { List listDepartmentIdAndName(); + List listEmployeeById(Long id); } diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/UserDao.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/UserDao.java index a0c375ff..3ce72337 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/UserDao.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/UserDao.java @@ -24,4 +24,6 @@ public interface UserDao extends BaseMapper { String getPhoneAccount(Long id); Boolean updatePhoneAccount(@Param("id")Long id,@Param("phoneAccount") String phoneAccount); + + Boolean updateWeChat(@Param("id") Long id, @Param("weChatId") String weChatId); } diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/feign/HrmsAuthFeignService.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/feign/HrmsAuthFeignService.java index 165d9737..aa8df0b4 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/feign/HrmsAuthFeignService.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/feign/HrmsAuthFeignService.java @@ -1,14 +1,18 @@ package com.daqing.financial.hrms.feign; +import com.alibaba.fastjson.JSONObject; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; /** * 声明这是一个远程调用 * @auther River * @date 2020/10/12 17:58 */ -@FeignClient("dq-financial-hrms-auht") +@FeignClient("dq-financial-hrms-auth") public interface HrmsAuthFeignService { + @GetMapping("/hrms/auth/userlogin/getWeChatConfig") + JSONObject getWeChatConfig(); } diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/DeptService.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/DeptService.java index 5d09a6c8..bc9c4c8a 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/DeptService.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/DeptService.java @@ -3,6 +3,7 @@ package com.daqing.financial.hrms.service; import com.baomidou.mybatisplus.extension.service.IService; import com.daqing.framework.domain.hrms.DepartmentVO; import com.daqing.framework.domain.hrms.DeptEntity; +import com.daqing.framework.domain.hrms.EmployeeEntity; import com.daqing.framework.domain.hrms.request.DeptAddRequest; import java.util.List; @@ -27,5 +28,8 @@ public interface DeptService extends IService { /*List listDepartmentAndEmployeeTree();*/ DepartmentVO getDepartmentAndEmployee(Long id); + + List listEmployeeById(Long id); + } diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/UserService.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/UserService.java index 7fcc4adb..a9618636 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/UserService.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/UserService.java @@ -5,6 +5,7 @@ import com.daqing.framework.domain.hrms.ext.EmployeeAndUserVO; import com.daqing.framework.utils.PageUtils; import com.daqing.framework.domain.hrms.UserEntity; +import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Map; @@ -26,5 +27,7 @@ public interface UserService extends IService { Boolean getVerificationCode(String phone); Boolean bindingPhoneAccount(Long id,String phone,String code); + + Boolean weChatCallback(String code, HttpServletResponse response) throws IOException; } diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/DeptServiceImpl.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/DeptServiceImpl.java index c1ad957a..e56db68d 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/DeptServiceImpl.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/DeptServiceImpl.java @@ -7,6 +7,7 @@ import com.daqing.financial.hrms.dao.EmployeeDao; import com.daqing.financial.hrms.service.DeptService; import com.daqing.framework.domain.hrms.DepartmentVO; import com.daqing.framework.domain.hrms.DeptEntity; +import com.daqing.framework.domain.hrms.EmployeeEntity; import com.daqing.framework.domain.hrms.ext.EmployeeVO; import com.daqing.framework.domain.hrms.request.DeptAddRequest; import com.daqing.framework.domain.hrms.response.HrmsCode; @@ -192,4 +193,17 @@ public class DeptServiceImpl extends ServiceImpl implements return departmentVO; } } + + /** + * + * 根据员工id获取对应部门下所有的客户经理 + * + * @param id 员工id + * @return + */ + @Override + public List listEmployeeById(Long id) { + + return this.getBaseMapper().listEmployeeById(id); + } } \ No newline at end of file diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/UserServiceImpl.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/UserServiceImpl.java index 98157c5d..4ed15308 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/UserServiceImpl.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/UserServiceImpl.java @@ -1,12 +1,19 @@ package com.daqing.financial.hrms.service.impl; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.daqing.financial.hrms.dao.EmployeeDao; +import com.daqing.financial.hrms.dao.UserDao; +import com.daqing.financial.hrms.feign.HrmsAuthFeignService; +import com.daqing.financial.hrms.service.UserService; import com.daqing.framework.domain.hrms.EmployeeEntity; +import com.daqing.framework.domain.hrms.UserEntity; import com.daqing.framework.domain.hrms.ext.EmployeeAndUserVO; import com.daqing.framework.domain.hrms.response.HrmsCode; import com.daqing.framework.exception.ExceptionCast; import com.daqing.framework.model.response.CommonCode; import com.daqing.framework.model.response.PromptSuccess; +import com.daqing.framework.util.HttpUtils; import com.daqing.framework.util.Md5Util; import com.daqing.framework.util.RedisUtil; import com.daqing.framework.util.SendSMS; @@ -14,34 +21,26 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.imageio.ImageIO; +import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.*; import java.util.Map; import java.util.Objects; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.daqing.framework.utils.PageUtils; -import com.daqing.framework.utils.Query; - -import com.daqing.financial.hrms.dao.UserDao; -import com.daqing.framework.domain.hrms.UserEntity; -import com.daqing.financial.hrms.service.UserService; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import javax.imageio.ImageIO; - @Slf4j @Service("userService") public class UserServiceImpl extends ServiceImpl implements UserService { - @Resource + @Autowired private EmployeeDao employeeDao; + @Autowired + private HrmsAuthFeignService hrmsAuthFeignService; + /** * 当前登录的用户信息 */ @@ -52,7 +51,20 @@ public class UserServiceImpl extends ServiceImpl implements String userId = RedisUtil.get("dq:token:"+token);*/ //TODO:测试环境模拟从redis中拿取用户id String userId = "1"; - return employeeDao.getEmployeeByUserId(Long.parseLong(userId)); + EmployeeAndUserVO employeeAndUser = employeeDao.getEmployeeByUserId(Long.parseLong(userId)); + if (employeeAndUser.getWechatId() == null || employeeAndUser.getWechatId().length() == 0){ + JSONObject responseResult = hrmsAuthFeignService.getWeChatConfig(); + JSONObject weChatConfig = responseResult.getJSONObject("data"); + if (weChatConfig == null){ + employeeAndUser.setWechatId("二维码获取失败,请稍后重试"); + }else { + employeeAndUser.setWechatId(String.format(weChatConfig.get("OPEN_QRCODE_URL").toString(),weChatConfig.get("openAppid"), + weChatConfig.get("openRedirectUrl"),weChatConfig.get("openAppsecret"))); + } + }else { + employeeAndUser.setWechatId("已绑定,微信扫码即可登录"); + } + return employeeAndUser; } /** @@ -229,4 +241,41 @@ public class UserServiceImpl extends ServiceImpl implements RedisUtil.del(phone); return this.getBaseMapper().updatePhoneAccount(id, phone); } + + /** + * 绑定微信回调接收接口 + * @param code 微信端返回的code,用于申请openid + * @return + */ + @Override + public Boolean weChatCallback(String code, HttpServletResponse response) { + log.info("微信回调成功---------------------------------------"); + + + JSONObject responseResult = hrmsAuthFeignService.getWeChatConfig(); + JSONObject weChatConfig = responseResult.getJSONObject("data"); + String accessTokenUrl = String.format(weChatConfig.get("OPEN_ACCESS_TOKEN_URL").toString(), weChatConfig.get("openAppid"), weChatConfig.get("openAppsecret"), code); + + //获取access_token + Map baseMap = HttpUtils.doGet(accessTokenUrl); + + if(baseMap == null || baseMap.isEmpty()){ return false; } + String openId = (String) baseMap.get("openid"); + /*HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String token = request.getHeader("token"); + String userId = RedisUtil.get("dq:token:"+token);*/ + //TODO:测试环境模拟从redis中拿取用户id + String userId = "1"; + Boolean result = this.getBaseMapper().updateWeChat(Long.parseLong(userId), openId); + log.info("绑定成功---------------------------------------"); + if (result){ + try { + log.info("转发成功---------------------------------------"); + response.sendRedirect("https://www.baidu.com?openId="+openId); + }catch (IOException e){ + e.printStackTrace(); + } + } + return false; + } } \ No newline at end of file diff --git a/dq-financial-hrms/src/main/resources/bootstrap.properties b/dq-financial-hrms/src/main/resources/bootstrap.properties index 88864d53..06998181 100644 --- a/dq-financial-hrms/src/main/resources/bootstrap.properties +++ b/dq-financial-hrms/src/main/resources/bootstrap.properties @@ -1,61 +1,61 @@ +##服务名称 +#spring.application.name=dq-financial-hrms +##配置中心地址 +#spring.cloud.nacos.config.server-addr=192.168.31.142:8848 +#spring.cloud.nacos.config.namespace=4c56c2f9-b6a3-4e7b-88b8-b1001e86dfd6 +##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=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 +# +#spring.servlet.multipart.max-file-size=10MB +#spring.servlet.multipart.max-request-size=10MB + +# 正式环境(prod) #服务名称 spring.application.name=dq-financial-hrms #配置中心地址 -spring.cloud.nacos.config.server-addr=192.168.31.142:8848 -spring.cloud.nacos.config.namespace=4c56c2f9-b6a3-4e7b-88b8-b1001e86dfd6 +spring.cloud.nacos.config.server-addr=120.78.127.12:8848 +spring.cloud.nacos.config.namespace=69614b55-1521-421c-ac58-dbe4a5b01b43 #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].group=prod 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].group=prod 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].group=prod 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.password=dq123456 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 - -spring.servlet.multipart.max-file-size=10MB -spring.servlet.multipart.max-request-size=10MB - -# 正式环境(prod) -#服务名称 -#spring.application.name=dq-financial-hrms -##配置中心地址 -#spring.cloud.nacos.config.server-addr=120.78.127.12:8848 -#spring.cloud.nacos.config.namespace=69614b55-1521-421c-ac58-dbe4a5b01b43 -##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=prod -#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=prod -#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=prod -#spring.cloud.nacos.config.ext-config[2].refresh=true - -#spring.redis.host=127.0.0.1 -#spring.redis.port=6379 -#spring.redis.password=dq123456 -#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 \ No newline at end of file +spring.redis.jedis.pool.min-idle=0 \ No newline at end of file diff --git a/dq-financial-hrms/src/main/resources/mapper/hrms/DeptDao.xml b/dq-financial-hrms/src/main/resources/mapper/hrms/DeptDao.xml index a51eb1a1..7790fcec 100644 --- a/dq-financial-hrms/src/main/resources/mapper/hrms/DeptDao.xml +++ b/dq-financial-hrms/src/main/resources/mapper/hrms/DeptDao.xml @@ -45,4 +45,22 @@ SELECT id,name FROM hrms_dept + + \ No newline at end of file diff --git a/dq-financial-hrms/src/main/resources/mapper/hrms/UserDao.xml b/dq-financial-hrms/src/main/resources/mapper/hrms/UserDao.xml index 422cac3c..f45444af 100644 --- a/dq-financial-hrms/src/main/resources/mapper/hrms/UserDao.xml +++ b/dq-financial-hrms/src/main/resources/mapper/hrms/UserDao.xml @@ -41,4 +41,8 @@ UPDATE hrms_user SET phone_account = #{phoneAccount} WHERE id = #{id} + + UPDATE hrms_user SET wechat_id = #{weChatId} WHERE id = #{id} + + \ No newline at end of file diff --git a/dq-framework-common/src/main/java/com/daqing/framework/util/HttpUtils.java b/dq-framework-common/src/main/java/com/daqing/framework/util/HttpUtils.java new file mode 100644 index 00000000..5bf2b8ba --- /dev/null +++ b/dq-framework-common/src/main/java/com/daqing/framework/util/HttpUtils.java @@ -0,0 +1,107 @@ +package com.daqing.framework.util; + +import com.google.gson.Gson; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; + +import java.util.HashMap; +import java.util.Map; + +/** + * 封装http get post + */ +public class HttpUtils { + + private static final Gson gson = new Gson(); + + /** + * get方法 + * @param url + * @return + */ + public static Map doGet(String url){ + + Map map = new HashMap<>(); + CloseableHttpClient httpClient = HttpClients.createDefault(); + + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(5000) //连接超时 + .setConnectionRequestTimeout(5000)//请求超时 + .setSocketTimeout(5000) + .setRedirectsEnabled(true) //允许自动重定向 + .build(); + + HttpGet httpGet = new HttpGet(url); + httpGet.setConfig(requestConfig); + + try{ + HttpResponse httpResponse = httpClient.execute(httpGet); + if(httpResponse.getStatusLine().getStatusCode() == 200){ + + String jsonResult = EntityUtils.toString( httpResponse.getEntity()); + map = gson.fromJson(jsonResult,map.getClass()); + } + + }catch (Exception e){ + e.printStackTrace(); + }finally { + try { + httpClient.close(); + }catch (Exception e){ + e.printStackTrace(); + } + } + return map; + } + + /** + * 封装post + * @return + */ + public static String doPost(String url, String data,int timeout){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + //超时设置 + + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(timeout) //连接超时 + .setConnectionRequestTimeout(timeout)//请求超时 + .setSocketTimeout(timeout) + .setRedirectsEnabled(true) //允许自动重定向 + .build(); + + HttpPost httpPost = new HttpPost(url); + httpPost.setConfig(requestConfig); + httpPost.addHeader("Content-Type","text/html; chartset=UTF-8"); + + if(data != null && data instanceof String){ //使用字符串传参 + StringEntity stringEntity = new StringEntity(data,"UTF-8"); + httpPost.setEntity(stringEntity); + } + + try{ + CloseableHttpResponse httpResponse = httpClient.execute(httpPost); + HttpEntity httpEntity = httpResponse.getEntity(); + if(httpResponse.getStatusLine().getStatusCode() == 200){ + String result = EntityUtils.toString(httpEntity); + return result; + } + + }catch (Exception e){ + e.printStackTrace(); + }finally { + try{ + httpClient.close(); + }catch (Exception e){ + e.printStackTrace(); + } + } + return null; + } + +} \ No newline at end of file diff --git a/dq-framework-model/src/main/java/com/daqing/framework/domain/crms/response/CustomerWorkbenchListVO.java b/dq-framework-model/src/main/java/com/daqing/framework/domain/crms/response/CustomerWorkbenchListVO.java index 75313df7..dc956fa8 100644 --- a/dq-framework-model/src/main/java/com/daqing/framework/domain/crms/response/CustomerWorkbenchListVO.java +++ b/dq-framework-model/src/main/java/com/daqing/framework/domain/crms/response/CustomerWorkbenchListVO.java @@ -38,6 +38,6 @@ public class CustomerWorkbenchListVO implements Serializable { @ApiModelProperty(value = "所属部门") private List departments; - @ApiModelProperty(value = "审批状态(0:,1:,2:)") + @ApiModelProperty(value = "审批状态(0:通过,1:未通过,2:带审核)") private Integer status; } diff --git a/dq-govern-gateway/src/main/resources/jwt.properties b/dq-govern-gateway/src/main/resources/jwt.properties index 3b9dcc4d..fb979dd4 100644 --- a/dq-govern-gateway/src/main/resources/jwt.properties +++ b/dq-govern-gateway/src/main/resources/jwt.properties @@ -3,6 +3,7 @@ jwt.ignoreUrlList=/apiHrmsAuth/hrms/auth/userlogin/getBackPwd,\ /apiHrmsAuth/hrms/auth/userlogin/verifyMobile,\ /apiHrmsAuth/hrms/auth/userlogin/wxLoginUrl,\ /apiHrmsAuth/hrms/auth/userlogin/user/callback,\ + /api-hrms/hrms/user/weChatCallback,\ /apiHrmsAuth/hrms/auth/userlogin/wxLoginUrl,\ /api-crms/sweagger-ui.html,\ /api-crms/crms/customer/excelTemplate,\ diff --git a/pom.xml b/pom.xml index 3802a3da..b9a2f226 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ dq-financial-hrms dq-financial-hrms-auth dq-financial-crms - dq-financial-crms-auth + dq-govern-gateway