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} + + +