Browse Source

【工作端、数据端登录修改】-【区分登录】-(王童)-2020/05/26

feature/dangjian
Jackwang 5 years ago
parent
commit
e8bcebb8f9
  1. 30
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysUserAnalysisOpenIdFormDTO.java
  2. 10
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysUserDTO.java
  3. 14
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java
  4. 21
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysUserDao.java
  5. 10
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysUserEntity.java
  6. 10
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java
  7. 32
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java
  8. 13
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysUserDao.xml
  9. 24
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/controller/AuthController.java
  10. 18
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  11. 6
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  12. 26
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/AuthService.java
  13. 87
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java
  14. 48
      esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserAuthorizationDTO.java
  15. 29
      esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserLoginDTO.java
  16. 7
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java
  17. 16
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ResourceFeignClient.java
  18. 9
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ResourceFeignClientFallback.java
  19. 7
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java
  20. 9
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java

30
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysUserAnalysisOpenIdFormDTO.java

@ -0,0 +1,30 @@
package com.elink.esua.epdc.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @program: esua-epdc
* @description: 更新数据端用户analysis_open_id
* @author: wangtong
* @create: 2020-05-26 16:58
**/
@Data
public class SysUserAnalysisOpenIdFormDTO implements Serializable {
private static final long serialVersionUID = -5423801021547753289L;
/**
* 用户名
*/
@NotBlank(message = "用户名不能为空")
private String username;
/**
* 微信analysis_open_id
*/
@NotBlank(message = "微信analysis_open_id不能为空")
private String analysisOpenId;
}

10
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysUserDTO.java

@ -105,4 +105,14 @@ public class SysUserDTO implements Serializable {
*/
private String openId;
/**
* 工作端微信work_open_id
*/
private String workOpenId;
/**
* 数据端微信analysis_open_id
*/
private String analysisOpenId;
}

14
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java

@ -254,6 +254,20 @@ public class SysUserController {
return sysUserService.modifyOpenIdByUsername(sysUserOpenIdFormDto);
}
/**
* @describe: 数据端根据用户名更新用户微信analysis_open_id
* @author wangtong
* @date 2020/5/26 17:27
* @param [sysUserOpenIdFormDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@PostMapping("modifyAnalysisOpenId")
public Result modifyAnalysisOpenIdByUsername(@RequestBody SysUserAnalysisOpenIdFormDTO sysUserOpenIdFormDto) {
//效验数据
ValidatorUtils.validateEntity(sysUserOpenIdFormDto);
return sysUserService.modifyAnalysisOpenIdByUsername(sysUserOpenIdFormDto);
}
/**
* 初始化用户数据
*/

21
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysUserDao.java

@ -8,10 +8,11 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.SysUserAnalysisOpenIdFormDTO;
import com.elink.esua.epdc.dto.SysUserDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.entity.SysUserEntity;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -72,6 +73,15 @@ public interface SysUserDao extends BaseDao<SysUserEntity> {
*/
void updateOpenIdByUsername(SysUserOpenIdFormDTO sysUserOpenIdFormDto);
/**
* @describe: 数据端-根据用户名更新用户微信analysis_open_id
* @author wangtong
* @date 2020/5/26 16:25
* @param [sysUserOpenIdFormDto]
* @return void
*/
void updateAnalysisOpenIdByUsername(SysUserAnalysisOpenIdFormDTO sysUserOpenIdFormDto);
/**
*
* 根据openId获取用户信息
@ -83,6 +93,15 @@ public interface SysUserDao extends BaseDao<SysUserEntity> {
*/
SysUserDTO selectOneOfSysUserByOpenId(String openId);
/**
* @describe: 根据analysisOpenId获取用户信息
* @author wangtong
* @date 2020/5/26 17:04
* @param [analysisOpenId]
* @return com.elink.esua.epdc.dto.SysUserDTO
*/
SysUserDTO selectOneOfSysUserByAnalysisOpenId(String analysisOpenId);
/**
* 退出登录
*/

10
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysUserEntity.java

@ -105,4 +105,14 @@ public class SysUserEntity extends BaseEntity {
*/
private String openId;
/**
* 工作端openId
*/
private String workOpenId;
/**
* 数据端openId
*/
private String analysisOpenId;
}

10
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java

@ -12,6 +12,7 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.ModifyPwdDTO;
import com.elink.esua.epdc.dto.SysUserAnalysisOpenIdFormDTO;
import com.elink.esua.epdc.dto.SysUserDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
@ -96,6 +97,15 @@ public interface SysUserService extends BaseService<SysUserEntity> {
*/
Result modifyOpenIdByUsername(SysUserOpenIdFormDTO sysUserOpenIdFormDto);
/**
* @describe: 数据端-根据用户名更新用户微信analysis_open_id
* @author wangtong
* @date 2020/5/26 16:12
* @param [sysUserOpenIdFormDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result modifyAnalysisOpenIdByUsername(SysUserAnalysisOpenIdFormDTO sysUserOpenIdFormDto);
/**
* 退出登录
* @param userId

32
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java

@ -27,13 +27,13 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.SysUserDao;
import com.elink.esua.epdc.dto.ModifyPwdDTO;
import com.elink.esua.epdc.dto.SysUserAnalysisOpenIdFormDTO;
import com.elink.esua.epdc.dto.SysUserDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.result.UserWorkAndAnalyOpenIdDTO;
import com.elink.esua.epdc.entity.SysUserEntity;
import com.elink.esua.epdc.feign.OssFeignClient;
import com.elink.esua.epdc.feign.UserRelationFeignClient;
import com.elink.esua.epdc.service.SysDeptService;
import com.elink.esua.epdc.service.SysRoleUserService;
@ -43,7 +43,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 用户管理
@ -235,7 +237,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
// 解绑旧帐户
SysUserEntity entity = new SysUserEntity();
entity.setId(userDto.getId());
entity.setOpenId("");
entity.setWorkOpenId("");
baseDao.updateById(entity);
}
// 绑定新账户
@ -244,11 +246,35 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
return new Result();
}
@Override
public Result modifyAnalysisOpenIdByUsername(SysUserAnalysisOpenIdFormDTO sysUserOpenIdFormDto) {
// 查询当前openId是否绑定过账户
SysUserDTO userDto = this.getSysUserInfoByAnalysisOpenId(sysUserOpenIdFormDto.getAnalysisOpenId());
if (null != userDto) {
// 解绑旧帐户
SysUserEntity entity = new SysUserEntity();
entity.setId(userDto.getId());
entity.setAnalysisOpenId("");
baseDao.updateById(entity);
}
// 绑定新账户
baseDao.updateAnalysisOpenIdByUsername(sysUserOpenIdFormDto);
return new Result();
}
@Override
public SysUserDTO getSysUserInfoByOpenId(String openId) {
return baseDao.selectOneOfSysUserByOpenId(openId);
}
public SysUserDTO getSysUserInfoByAnalysisOpenId(String analysisOpenId) {
return baseDao.selectOneOfSysUserByAnalysisOpenId(analysisOpenId);
}
@Override
public void updateUserOpenId(Long userId) {
baseDao.updateUserOpenId(userId);

13
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysUserDao.xml

@ -112,7 +112,18 @@
WHERE
del_flag = 0
AND `status` = 1
AND open_id = #{openId}
AND work_open_id = #{openId}
</select>
<select id="selectOneOfSysUserByAnalysisOpenId" resultType="com.elink.esua.epdc.dto.SysUserDTO">
SELECT
*
FROM
sys_user
WHERE
del_flag = 0
AND `status` = 1
AND analysis_open_id = #{analysisOpenId}
</select>
<update id="updateOpenIdByUsername">

24
esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/controller/AuthController.java

@ -18,6 +18,7 @@ import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.AuthorizationDTO;
import com.elink.esua.epdc.dto.LoginDTO;
import com.elink.esua.epdc.dto.SysUserAnalysisOpenIdFormDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.service.AuthService;
import com.elink.esua.epdc.service.CaptchaService;
@ -127,6 +128,29 @@ public class AuthController {
return result;
}
/**
* @describe: 数据端-用户登录
* @author wangtong
* @date 2020/5/26 15:36
* @param [analysisUserLoginDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.common.token.dto.AnalysisUserAuthorizationDTO>
*/
@PostMapping(value = "analysisLogin")
@ApiOperation(value = "登录")
public Result<AnalysisUserAuthorizationDTO> analysisLogin(@RequestBody AnalysisUserLoginDTO analysisUserLoginDto) {
//效验数据
ValidatorUtils.validateEntity(analysisUserLoginDto);
Result<AnalysisUserAuthorizationDTO> result = authService.analysisLogin(analysisUserLoginDto.getUsername(), analysisUserLoginDto.getPassword());
if (result.success()) {
// 解绑上一次登录账户并绑定当前账户
SysUserAnalysisOpenIdFormDTO sysUserOpenIdFormDto = ConvertUtils.sourceToTarget(analysisUserLoginDto, SysUserAnalysisOpenIdFormDTO.class);
authService.modifyAnalysisOpenId(sysUserOpenIdFormDto);
}
return result;
}
@PostMapping(value = "logout")
@ApiOperation(value = "退出")
public Result logout(HttpServletRequest request) {

18
esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -8,12 +8,13 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.dto.DataScopeDeptList;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.feign.fallback.UserFeignClientFallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.DataScopeDeptList;
import com.elink.esua.epdc.dto.SysUserAnalysisOpenIdFormDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.feign.fallback.UserFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@ -67,6 +68,16 @@ public interface UserFeignClient {
@PostMapping("sys/user/modifyOpenId")
Result modifyOpenIdByUsername(SysUserOpenIdFormDTO sysUserOpenIdFormDto);
/**
* @describe: 数据端-根据用户名更新用户微信analysis_open_id
* @author wangtong
* @date 2020/5/26 16:05
* @param [sysUserOpenIdFormDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@PostMapping("sys/user/modifyAnalysisOpenId")
Result modifyAnalysisOpenIdByUsername(SysUserAnalysisOpenIdFormDTO sysUserOpenIdFormDto);
/**
* 组装用户部门层级结构
*
@ -88,4 +99,5 @@ public interface UserFeignClient {
@GetMapping("sys/user/updateUserOpenId/{userId}")
Result updateUserOpenId(@PathVariable("userId") Long userId);
}

6
esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java

@ -11,6 +11,7 @@ package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.DataScopeDeptList;
import com.elink.esua.epdc.dto.SysUserAnalysisOpenIdFormDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.feign.UserFeignClient;
import org.springframework.stereotype.Component;
@ -46,6 +47,11 @@ public class UserFeignClientFallback implements UserFeignClient {
return new Result<>();
}
@Override
public Result modifyAnalysisOpenIdByUsername(SysUserAnalysisOpenIdFormDTO sysUserOpenIdFormDto) {
return new Result<>();
}
@Override
public Result packageUserDeptOption(Long userId) {
return new Result<>();

26
esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/AuthService.java

@ -8,13 +8,11 @@
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.AnalysisUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.AuthorizationDTO;
import com.elink.esua.epdc.dto.DataScopeDeptList;
import com.elink.esua.epdc.dto.LoginDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.dto.*;
import java.util.List;
@ -42,6 +40,15 @@ public interface AuthService {
*/
Result<WorkUserAuthorizationDTO> workLogin(String username, String password);
/**
* @describe: 数据端-用户登录
* @author wangtong
* @date 2020/5/26 15:42
* @param [username, password]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.common.token.dto.AnalysisUserAuthorizationDTO>
*/
Result<AnalysisUserAuthorizationDTO> analysisLogin(String username, String password);
/**
*
* 根据用户名更新用户微信openId
@ -53,6 +60,15 @@ public interface AuthService {
*/
Result modifyOpenId(SysUserOpenIdFormDTO sysUserOpenIdFormDto);
/**
* @describe: 数据端-根据用户名更新用户微信analysis_open_id
* @author wangtong
* @date 2020/5/26 16:03
* @param [sysUserOpenIdFormDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result modifyAnalysisOpenId(SysUserAnalysisOpenIdFormDTO sysUserOpenIdFormDto);
/**
* 退出
*/
@ -75,4 +91,6 @@ public interface AuthService {
* 退出
*/
Result logoutUser(Long userId);
}

87
esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java

@ -9,6 +9,7 @@
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.async.UserDeptTask;
import com.elink.esua.epdc.common.token.dto.AnalysisUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.DeptDataScopeDTO;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
@ -33,10 +34,7 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.HttpContextUtils;
import com.elink.esua.epdc.commons.tools.utils.IpUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.AuthorizationDTO;
import com.elink.esua.epdc.dto.DataScopeDeptList;
import com.elink.esua.epdc.dto.LoginDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.enums.UserStatusEnum;
import com.elink.esua.epdc.feign.UserFeignClient;
import com.elink.esua.epdc.jwt.JwtProperties;
@ -222,6 +220,82 @@ public class AuthServiceImpl implements AuthService {
return new Result<WorkUserAuthorizationDTO>().ok(authorization);
}
@Override
public Result<AnalysisUserAuthorizationDTO> analysisLogin(String username, String password) {
HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
//获取用户信息
Result<UserDetail> result = userFeignClient.getByUsername(username);
UserDetail user = result.getData();
//授权信息
AnalysisUserAuthorizationDTO authorization = new AnalysisUserAuthorizationDTO();
//登录日志
SysLogLogin log = new SysLogLogin();
log.setType(LogTypeEnum.LOGIN.value());
log.setOperation(LoginOperationEnum.LOGIN.value());
log.setCreateDate(new Date());
log.setIp(IpUtils.getIpAddr(request));
log.setUserAgent(request.getHeader(HttpHeaders.USER_AGENT));
log.setIp(IpUtils.getIpAddr(request));
//账号不存在
if (user == null) {
log.setStatus(LoginStatusEnum.FAIL.value());
log.setCreatorName(username);
logProducer.saveLog(log);
authorization.setRegisterState(NumConstant.ZERO_STR);
return new Result<AnalysisUserAuthorizationDTO>().error("用户名或密码错误");
}
//密码错误
if (null != password && !PasswordUtils.matches(password, user.getPassword())) {
log.setStatus(LoginStatusEnum.FAIL.value());
log.setCreator(user.getId());
log.setCreatorName(user.getUsername());
logProducer.saveLog(log);
return new Result<AnalysisUserAuthorizationDTO>().error("用户名或密码错误");
}
//账号停用
if (user.getStatus() == UserStatusEnum.DISABLE.value()) {
log.setStatus(LoginStatusEnum.LOCK.value());
log.setCreator(user.getId());
log.setCreatorName(user.getUsername());
logProducer.saveLog(log);
return new Result<AnalysisUserAuthorizationDTO>().error("账号已停用");
}
//保存到Redis
userDetailRedis.set(user, jwtProperties.getExpire());
//登录成功,生成token
String token = jwtUtils.generateToken(user.getId());
authorization.setToken(token);
authorization.setExpire(jwtProperties.getExpire());
//登录用户信息
log.setCreator(user.getId());
log.setCreatorName(user.getUsername());
log.setStatus(LoginStatusEnum.SUCCESS.value());
logProducer.saveLog(log);
// 获取用户所有角色权限信息
List<DataScopeDeptList> dataScopeDeptList = this.getDataScopeDetailList(user.getId());
authorization.setDeptDataScopeList(ConvertUtils.sourceToTarget(dataScopeDeptList, DeptDataScopeDTO.class));
authorization.setDeptName(user.getDeptName());
authorization.setUserTagKey(user.getTypeKey());
authorization.setRegisterState(NumConstant.ONE_STR);
userDeptTask.packageUserDeptOptions(user.getId());
return new Result<AnalysisUserAuthorizationDTO>().ok(authorization);
}
@Override
public void logout(Long userId) {
HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
@ -279,6 +353,11 @@ public class AuthServiceImpl implements AuthService {
return userFeignClient.modifyOpenIdByUsername(sysUserOpenIdFormDto);
}
@Override
public Result modifyAnalysisOpenId(SysUserAnalysisOpenIdFormDTO sysUserOpenIdFormDto) {
return userFeignClient.modifyAnalysisOpenIdByUsername(sysUserOpenIdFormDto);
}
/**
* 退出登录
* @param userId

48
esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserAuthorizationDTO.java

@ -0,0 +1,48 @@
package com.elink.esua.epdc.common.token.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @program: esua-epdc
* @description: 数据端用户授权信息
* @author: wangtong
* @create: 2020-05-26 15:39
**/
@Data
public class AnalysisUserAuthorizationDTO implements Serializable {
private static final long serialVersionUID = 519392456658807347L;
/**
* 令牌
*/
private String token;
/**
* 过期时长单位秒
*/
private Integer expire;
/**
* 部门名称
*/
private String deptName;
/**
* 用户标签key
*/
private String userTagKey;
/**
* 注册状态 0-未注册1-已注册
*/
private String registerState;
/**
* 用户所有角色权限信息
*/
private List<DeptDataScopeDTO> deptDataScopeList;
}

29
esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserLoginDTO.java

@ -0,0 +1,29 @@
package com.elink.esua.epdc.common.token.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @program: esua-epdc
* @description: 数据端登录用户信息
* @author: wangtong
* @create: 2020-05-26 15:32
**/
@Data
public class AnalysisUserLoginDTO implements Serializable {
private static final long serialVersionUID = 3829451481560643039L;
@NotBlank(message="用户名不能为空")
private String username;
@NotBlank(message="密码不能为空")
private String password;
@NotBlank(message="微信code不能为空")
private String wxCode;
private String analysisOpenId;
}

7
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java

@ -1,15 +1,16 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.common.token.dto.AnalysisUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.AnalysisUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.UserSortRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
@ -54,7 +55,7 @@ public class ApiAnalysisUserController {
* @since 2020/2/12 10:57
*/
@PostMapping("login")
public Result<WorkUserAuthorizationDTO> login(@RequestBody WorkUserLoginDTO formDto) {
public Result<AnalysisUserAuthorizationDTO> login(@RequestBody AnalysisUserLoginDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return analysisUserService.login(formDto);
}

16
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ResourceFeignClient.java

@ -1,8 +1,6 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserTokenFormDTO;
import com.elink.esua.epdc.common.token.dto.*;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.fallback.ResourceFeignClientFallback;
@ -45,6 +43,18 @@ public interface ResourceFeignClient {
@PostMapping("auth/workLogin")
Result<WorkUserAuthorizationDTO> workLogin(WorkUserLoginDTO workUserLoginDto);
/**
*
* 工作端用户登录并获取授权信息
*
* @params [workUserLoginDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO>
* @author liuchuang
* @since 2019/11/19 20:27
*/
@PostMapping("auth/analysisLogin")
Result<AnalysisUserAuthorizationDTO> analysisLogin(AnalysisUserLoginDTO analysisUserLoginDto);
/**
* 退出登录
* @param userId

9
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ResourceFeignClientFallback.java

@ -1,8 +1,6 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserTokenFormDTO;
import com.elink.esua.epdc.common.token.dto.*;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
@ -29,6 +27,11 @@ public class ResourceFeignClientFallback implements ResourceFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPDC_AUTH_SERVER, "workLogin", workUserLoginDto);
}
@Override
public Result<AnalysisUserAuthorizationDTO> analysisLogin(AnalysisUserLoginDTO analysisUserLoginDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_AUTH_SERVER, "analysisLogin", analysisUserLoginDto);
}
@Override
public Result logoutUser(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_AUTH_SERVER, "logoutUser", userId);

7
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java

@ -1,12 +1,13 @@
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.AnalysisUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.AnalysisUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.UserSortRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
@ -38,7 +39,7 @@ public interface AnalysisUserService {
* @author liuchuang
* @since 2020/2/12 10:59
*/
Result<WorkUserAuthorizationDTO> login(WorkUserLoginDTO formDto);
Result<AnalysisUserAuthorizationDTO> login(AnalysisUserLoginDTO formDto);
/**
*

9
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java

@ -2,8 +2,9 @@ package com.elink.esua.epdc.service.impl;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.elink.esua.epdc.common.token.dto.AnalysisUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.AnalysisUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserTokenFormDTO;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
@ -55,11 +56,11 @@ public class AnalysisUserServiceImpl implements AnalysisUserService {
}
@Override
public Result<WorkUserAuthorizationDTO> login(WorkUserLoginDTO formDto) {
public Result<AnalysisUserAuthorizationDTO> login(AnalysisUserLoginDTO formDto) {
// 获取openId
String openId = this.getWxMaUser(formDto.getWxCode()).getOpenid();
formDto.setOpenId(openId);
return resourceFeignClient.workLogin(formDto);
formDto.setAnalysisOpenId(openId);
return resourceFeignClient.analysisLogin(formDto);
}
@Override

Loading…
Cancel
Save