From 2891a7bb1881721c5771512a3ee896890ad907b4 Mon Sep 17 00:00:00 2001 From: shijie <648688341@qq.com> Date: Tue, 3 Nov 2020 15:40:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E4=BC=A0=E9=80=92=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=A4=B4=E5=83=8F=EF=BC=8C=E8=B7=B3=E8=BD=AC=E6=B5=8F?= =?UTF-8?q?=E8=A7=88=E5=99=A8=E5=9C=B0=E5=9D=80=E6=A0=8F=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E8=BD=AC=E7=A0=81=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserLoginController.java | 22 ++++++++++++++++++- .../hrauth/feign/HrmsFeignService.java | 21 ++++++++++++++++++ .../handle/AdminAuthenticationProvider.java | 5 +---- .../AdminAuthenticationSuccessHandler.java | 1 + .../service/impl/UserLoginServiceImpl.java | 17 +++++++++++++- .../hrauth/service/impl/UserServiceImpl.java | 5 ++++- .../mapper/hrauth/UserLoginMapper.xml | 1 + .../hrms/controller/EmployeeController.java | 10 +++++++++ .../financial/hrms/dao/EmployeeDao.java | 2 ++ .../hrms/service/EmployeeService.java | 4 +++- .../service/impl/EmployeeServiceImpl.java | 9 ++++++++ .../resources/mapper/hrms/EmployeeDao.xml | 7 ++++++ .../framework/domain/hrms/UserEntity.java | 2 +- .../domain/hrms/response/LoginResponse.java | 2 ++ 14 files changed, 99 insertions(+), 9 deletions(-) create mode 100644 dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/feign/HrmsFeignService.java 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 da6c2327..68986405 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 @@ -2,8 +2,10 @@ package com.daqing.financial.hrauth.controller; import com.daqing.financial.hrauth.UserLoginControllerApi; import com.daqing.financial.hrauth.config.WeChatConfig; +import com.daqing.financial.hrauth.feign.HrmsFeignService; import com.daqing.financial.hrauth.service.UserLoginService; import com.daqing.financial.hrauth.service.UserService; +import com.daqing.framework.domain.hrms.EmployeeEntity; import com.daqing.framework.domain.hrms.UserEntity; import com.daqing.framework.domain.hrms.request.*; import com.daqing.framework.model.response.ResponseResult; @@ -20,6 +22,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; import java.net.URLEncoder; @@ -42,6 +45,9 @@ public class UserLoginController implements UserLoginControllerApi { @Autowired private UserService userService; + @Autowired + private HrmsFeignService hrmsFeignService; + @PostMapping("/loginSuccess") public String loginSuccess(){ @@ -134,7 +140,21 @@ public class UserLoginController implements UserLoginControllerApi { String token = user.getToken(); // state 当前用户的页面地址,需要拼接 http:// 这样才不会站内跳转 - response.sendRedirect("http://www.huorantech.cn/dq/index.html#/Dashboard?token="+token); + //String name = URLEncoder.encode(user.getAccount(),"UTF-8"); + //String account = ""; +/* try { + account = URLDecoder.decode(name,"UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + }*/ + String username = user.getAccount(); + String imgUrl = user.getHeadPortaritUrl(); + String encoder = "UTF-8"; + String account = URLEncoder.encode(username,encoder); + String headerImg = URLDecoder.decode(imgUrl,encoder); + //account = new String(username.getBytes("GBK"),"iso-8859-1"); + log.info("account==========="+account+"headerImg============="+headerImg); + response.sendRedirect("http://www.huorantech.cn/dq/index.html#/Dashboard?token="+token+"&account="+account+"&headerImg="+headerImg); //response.sendRedirect(state+"?token="+token+"&head_img="+user.getHeadImg()+"&name="+URLEncoder.encode(user.getName(),"UTF-8")); } }else { 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..6e2cbaa5 --- /dev/null +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/feign/HrmsFeignService.java @@ -0,0 +1,21 @@ +package com.daqing.financial.hrauth.feign; + +import com.daqing.framework.domain.hrms.EmployeeEntity; +import com.daqing.framework.domain.hrms.RoleEntity; +import com.daqing.framework.model.response.ResponseResult; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + + +/** + * 这是一个声明式的远程调用 + */ +@FeignClient(value = "dq-financial-hrms",contextId = "hrms") +public interface HrmsFeignService { + + @GetMapping("/hrms/employee/getEmployeeByUserId") + ResponseResult getEmployeeByUserId(@RequestParam("userId") Integer userId); +} diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/handle/AdminAuthenticationProvider.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/handle/AdminAuthenticationProvider.java index 7842e8fe..69706cea 100644 --- a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/handle/AdminAuthenticationProvider.java +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/handle/AdminAuthenticationProvider.java @@ -72,10 +72,7 @@ public class AdminAuthenticationProvider implements AuthenticationProvider { userMapper.updateById(user); userInfo.getCurrentUserInfo().setToken(token);*/ - //根据id查询员工信息 - Long id = userInfo.getCurrentUserInfo().getId(); - - + userInfo.getCurrentUserInfo().setHeadPortaritUrl(data.getHeadPortaritUrl()); userInfo.getCurrentUserInfo().setToken(data.getToken()); return new UsernamePasswordAuthenticationToken(userInfo, password, userInfo.getAuthorities()); } diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/handle/AdminAuthenticationSuccessHandler.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/handle/AdminAuthenticationSuccessHandler.java index af6480b8..a62928da 100644 --- a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/handle/AdminAuthenticationSuccessHandler.java +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/handle/AdminAuthenticationSuccessHandler.java @@ -31,6 +31,7 @@ public class AdminAuthenticationSuccessHandler implements AuthenticationSuccessH SecurityUser securityUser = ((SecurityUser) auth.getPrincipal()); user.setAccount(securityUser.getCurrentUserInfo().getAccount()); user.setToken(securityUser.getCurrentUserInfo().getToken()); + user.setHeadPortaritUrl(securityUser.getCurrentUserInfo().getHeadPortaritUrl()); ResponseUtils.out(response, ApiResult.ok("登录成功!", user)); } 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 2305b20f..f4208f20 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 @@ -4,9 +4,11 @@ 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.feign.HrmsFeignService; import com.daqing.financial.hrauth.service.LoginLogService; import com.daqing.financial.hrauth.service.TokenService; import com.daqing.financial.hrauth.service.UserLoginService; +import com.daqing.framework.domain.hrms.EmployeeEntity; import com.daqing.framework.domain.hrms.LoginLog; import com.daqing.framework.domain.hrms.Token; import com.daqing.framework.domain.hrms.UserEntity; @@ -48,6 +50,9 @@ public class UserLoginServiceImpl extends ServiceImpl @Resource private WeChatConfig weChatConfig; + @Autowired + private HrmsFeignService hrmsFeignService; + /* @Autowired private OdcProperties properties;*/ @@ -174,10 +179,20 @@ public class UserLoginServiceImpl extends ServiceImpl // 更新用户登录信息 this.getBaseMapper().updateUserLogin(userEntity.getId(),new Date()); - //返回用户信息 + //根据userId查询用户头像地址 + ResponseResult responseResult = hrmsFeignService.getEmployeeByUserId(userEntity.getId().intValue()); + EmployeeEntity employeeEntity = (EmployeeEntity) responseResult.getData(); + String headImg = null; + if(employeeEntity != null) + headImg = employeeEntity.getHeadPortaritUrl(); + System.out.println("headImg================"+headImg); + + //返回用户信息 LoginResponse loginResponse = new LoginResponse(); loginResponse.setAccount(userEntity.getAccount()); loginResponse.setToken(token); + if(headImg != null) + loginResponse.setHeadPortaritUrl(headImg); return ResponseResult.SUCCESS(loginResponse); } diff --git a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/UserServiceImpl.java b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/UserServiceImpl.java index c7430f7a..5bb532ba 100644 --- a/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/UserServiceImpl.java +++ b/dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/UserServiceImpl.java @@ -74,8 +74,11 @@ public class UserServiceImpl extends ServiceImpl imple ResponseResult login = userLoginService.login(loginRequest); LoginResponse data = (LoginResponse) login.getData(); - log.info("token========================"+data.getToken()); + log.info("token========================"+data.getToken()+" account=============="+data.getAccount()); dbUser.setToken(data.getToken()); + dbUser.setAccount(data.getAccount()); + dbUser.setHeadPortaritUrl(data.getHeadPortaritUrl()); + /* SecurityUser userInfo = (SecurityUser) userDetailsService.loadUserByUsername(dbUser.getPhoneAccount()); diff --git a/dq-financial-hrms-auth/src/main/resources/mapper/hrauth/UserLoginMapper.xml b/dq-financial-hrms-auth/src/main/resources/mapper/hrauth/UserLoginMapper.xml index 855878f7..c6499ec2 100644 --- a/dq-financial-hrms-auth/src/main/resources/mapper/hrauth/UserLoginMapper.xml +++ b/dq-financial-hrms-auth/src/main/resources/mapper/hrauth/UserLoginMapper.xml @@ -11,6 +11,7 @@ + update hrms_user set password = #{password} where phone_account = #{phoneAccount} 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 f59ff69d..c23a7e51 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 @@ -220,4 +220,14 @@ public class EmployeeController implements EmployeeControllerApi { public ResponseResult listEmployeeName() { return new ResponseResult>().SUCCESS(employeeService.listEmployeeName()); } + + /** + * 根据userId查询员工头像 + * @param userId + * @return + */ + @GetMapping("/getEmployeeByUserId") + public ResponseResult getEmployeeByUserId(@RequestParam("userId") Long userId) { + return new ResponseResult().SUCCESS(employeeService.getEmployeeByUserId(userId)); + } } diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/EmployeeDao.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/EmployeeDao.java index 84ab5a47..d34e846f 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/EmployeeDao.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/EmployeeDao.java @@ -81,6 +81,8 @@ public interface EmployeeDao extends BaseMapper { Boolean updateEmployeeAndUser(EmployeeEntity employeeEntity); + EmployeeEntity getEmployeeEntityByUserId(Long userId); + Integer employeeNameCount(String name); Integer userAccountCount(String account); diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/EmployeeService.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/EmployeeService.java index 179af90c..b78f9d1d 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/EmployeeService.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/EmployeeService.java @@ -3,6 +3,7 @@ package com.daqing.financial.hrms.service; import com.baomidou.mybatisplus.extension.service.IService; import com.daqing.framework.domain.crms.request.EmployeeDisableRequest; import com.daqing.framework.domain.hrms.UserEntity; +import com.daqing.framework.domain.hrms.ext.EmployeeAndUserVO; import com.daqing.framework.domain.hrms.ext.EmployeeInfoVO; import com.daqing.framework.domain.hrms.ext.EmployeeTO; import com.daqing.framework.domain.hrms.ext.EmployeeVO; @@ -14,7 +15,6 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** * 记录员工的基本信息,如姓名、电话、部门等 @@ -58,5 +58,7 @@ public interface EmployeeService extends IService { Boolean excelTemplate(HttpServletResponse response); Boolean excelImport(MultipartFile file); + + EmployeeEntity getEmployeeByUserId(Long userId); } diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/EmployeeServiceImpl.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/EmployeeServiceImpl.java index e6430403..ab5a6fee 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/EmployeeServiceImpl.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/EmployeeServiceImpl.java @@ -569,4 +569,13 @@ public class EmployeeServiceImpl extends ServiceImpl getEmployeeAndDeptById(List ids) { return this.getBaseMapper().getEmployeeAndDeptById(ids); } + + /** + * 根据userId查询员工的头像 + * @return + */ + @Override + public EmployeeEntity getEmployeeByUserId(Long userId) { + return this.getBaseMapper().getEmployeeEntityByUserId(userId); + } } \ No newline at end of file diff --git a/dq-financial-hrms/src/main/resources/mapper/hrms/EmployeeDao.xml b/dq-financial-hrms/src/main/resources/mapper/hrms/EmployeeDao.xml index fb93036f..806d6978 100644 --- a/dq-financial-hrms/src/main/resources/mapper/hrms/EmployeeDao.xml +++ b/dq-financial-hrms/src/main/resources/mapper/hrms/EmployeeDao.xml @@ -463,6 +463,13 @@ WHERE id = #{id} + + +