登录传递用户头像,跳转浏览器地址栏中文转码问题修改

master
shijie 4 years ago
parent 65e0c6c112
commit 2891a7bb18
  1. 22
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/controller/UserLoginController.java
  2. 21
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/feign/HrmsFeignService.java
  3. 5
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/handle/AdminAuthenticationProvider.java
  4. 1
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/handle/AdminAuthenticationSuccessHandler.java
  5. 17
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/UserLoginServiceImpl.java
  6. 5
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/UserServiceImpl.java
  7. 1
      dq-financial-hrms-auth/src/main/resources/mapper/hrauth/UserLoginMapper.xml
  8. 10
      dq-financial-hrms/src/main/java/com/daqing/financial/hrms/controller/EmployeeController.java
  9. 2
      dq-financial-hrms/src/main/java/com/daqing/financial/hrms/dao/EmployeeDao.java
  10. 4
      dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/EmployeeService.java
  11. 9
      dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/EmployeeServiceImpl.java
  12. 7
      dq-financial-hrms/src/main/resources/mapper/hrms/EmployeeDao.xml
  13. 2
      dq-framework-model/src/main/java/com/daqing/framework/domain/hrms/UserEntity.java
  14. 2
      dq-framework-model/src/main/java/com/daqing/framework/domain/hrms/response/LoginResponse.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 {

@ -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<EmployeeEntity> getEmployeeByUserId(@RequestParam("userId") Integer userId);
}

@ -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());
}

@ -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));
}

@ -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<UserLoginDao, UserEntity>
@Resource
private WeChatConfig weChatConfig;
@Autowired
private HrmsFeignService hrmsFeignService;
/* @Autowired
private OdcProperties properties;*/
@ -174,10 +179,20 @@ public class UserLoginServiceImpl extends ServiceImpl<UserLoginDao, UserEntity>
// 更新用户登录信息
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);
}

@ -74,8 +74,11 @@ public class UserServiceImpl extends ServiceImpl<UserLoginDao, UserEntity> 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());

@ -11,6 +11,7 @@
<result property="loginNum" column="login_num"/>
<result property="createTime" column="create_time"/>
<result property="motifyTime" column="motify_time"/>
<result property="headPortaritUrl" column="head_portarit_url"/>
</resultMap>
<update id="updatePasswordByPhoneAccount">
update hrms_user set password = #{password} where phone_account = #{phoneAccount}

@ -220,4 +220,14 @@ public class EmployeeController implements EmployeeControllerApi {
public ResponseResult listEmployeeName() {
return new ResponseResult<List<EmployeeVO>>().SUCCESS(employeeService.listEmployeeName());
}
/**
* 根据userId查询员工头像
* @param userId
* @return
*/
@GetMapping("/getEmployeeByUserId")
public ResponseResult getEmployeeByUserId(@RequestParam("userId") Long userId) {
return new ResponseResult<EmployeeEntity>().SUCCESS(employeeService.getEmployeeByUserId(userId));
}
}

@ -81,6 +81,8 @@ public interface EmployeeDao extends BaseMapper<EmployeeEntity> {
Boolean updateEmployeeAndUser(EmployeeEntity employeeEntity);
EmployeeEntity getEmployeeEntityByUserId(Long userId);
Integer employeeNameCount(String name);
Integer userAccountCount(String account);

@ -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<EmployeeEntity> {
Boolean excelTemplate(HttpServletResponse response);
Boolean excelImport(MultipartFile file);
EmployeeEntity getEmployeeByUserId(Long userId);
}

@ -569,4 +569,13 @@ public class EmployeeServiceImpl extends ServiceImpl<EmployeeDao, EmployeeEntity
public List<EmployeeTO> getEmployeeAndDeptById(List<Long> ids) {
return this.getBaseMapper().getEmployeeAndDeptById(ids);
}
/**
* 根据userId查询员工的头像
* @return
*/
@Override
public EmployeeEntity getEmployeeByUserId(Long userId) {
return this.getBaseMapper().getEmployeeEntityByUserId(userId);
}
}

@ -463,6 +463,13 @@
WHERE id = #{id}
</update>
<!-- 根据id查询员工头像 -->
<select id="getEmployeeEntityByUserId" parameterType="long" resultType="com.daqing.framework.domain.hrms.EmployeeEntity">
SELECT head_portarit_url
FROM hrms_employee
WHERE user_id = #{userId}
</select>
<!-- 新增员工时判断姓名、工号、账号是否存在 -->
<select id="employeeNameCount" parameterType="string" resultType="integer">
SELECT COUNT(e.id)

@ -98,6 +98,6 @@ public class UserEntity implements Serializable {
/**
* 头像地址
*/
//private String headPortaritUrl;
private String headPortaritUrl;
}

@ -9,4 +9,6 @@ public class LoginResponse {
private String account;
@ApiModelProperty("token令牌")
private String token;
@ApiModelProperty("头像地址")
private String headPortaritUrl;
}

Loading…
Cancel
Save