统一登录接口
This commit is contained in:
@ -0,0 +1,19 @@
|
|||||||
|
package com.ho.user.api.vo.req;
|
||||||
|
|
||||||
|
import com.ho.common.tools.entity.UserDetailRespVO;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户统一登陆
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UserUnifiedLoginVo {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "储能登陆")
|
||||||
|
private UserDetailRespVO energy;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "光伏登陆")
|
||||||
|
private UserDetailRespVO pv;
|
||||||
|
|
||||||
|
}
|
||||||
@ -73,6 +73,7 @@ public class ShiroConfig {
|
|||||||
// 配置不会被拦截的链接 顺序判断
|
// 配置不会被拦截的链接 顺序判断
|
||||||
filterChainDefinitionMap.put("/sys/user/login", "anon");
|
filterChainDefinitionMap.put("/sys/user/login", "anon");
|
||||||
filterChainDefinitionMap.put("/sys/user/getToken", "anon");
|
filterChainDefinitionMap.put("/sys/user/getToken", "anon");
|
||||||
|
filterChainDefinitionMap.put("/sys/user/getUnifiedLogin", "anon");
|
||||||
filterChainDefinitionMap.put("/sys/user/register", "anon");
|
filterChainDefinitionMap.put("/sys/user/register", "anon");
|
||||||
filterChainDefinitionMap.put("/sys/key/decrypt", "anon");
|
filterChainDefinitionMap.put("/sys/key/decrypt", "anon");
|
||||||
filterChainDefinitionMap.put("/mongoId", "anon");
|
filterChainDefinitionMap.put("/mongoId", "anon");
|
||||||
|
|||||||
@ -2,6 +2,10 @@ package com.ho.user.controller;
|
|||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.crypto.digest.BCrypt;
|
import cn.hutool.crypto.digest.BCrypt;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.ho.business.vo.resp.ShipStationRespVO;
|
||||||
import com.ho.common.tools.annotation.HzPermission;
|
import com.ho.common.tools.annotation.HzPermission;
|
||||||
import com.ho.common.tools.annotation.LogAnnotation;
|
import com.ho.common.tools.annotation.LogAnnotation;
|
||||||
import com.ho.common.tools.annotation.TokenIgnore;
|
import com.ho.common.tools.annotation.TokenIgnore;
|
||||||
@ -18,9 +22,11 @@ import com.ho.common.tools.exception.DataResult;
|
|||||||
import com.ho.common.tools.service.RedisService;
|
import com.ho.common.tools.service.RedisService;
|
||||||
import com.ho.common.tools.util.AESEncryptUtil;
|
import com.ho.common.tools.util.AESEncryptUtil;
|
||||||
import com.ho.common.tools.util.FastUtils;
|
import com.ho.common.tools.util.FastUtils;
|
||||||
|
import com.ho.common.tools.util.HttpUtils;
|
||||||
import com.ho.user.api.entity.SysDept;
|
import com.ho.user.api.entity.SysDept;
|
||||||
import com.ho.user.api.entity.SysUser;
|
import com.ho.user.api.entity.SysUser;
|
||||||
import com.ho.user.api.entity.WorkOrderUser;
|
import com.ho.user.api.entity.WorkOrderUser;
|
||||||
|
import com.ho.user.api.vo.req.UserUnifiedLoginVo;
|
||||||
import com.ho.user.entity.SysTheme;
|
import com.ho.user.entity.SysTheme;
|
||||||
import com.ho.user.service.*;
|
import com.ho.user.service.*;
|
||||||
import com.ho.user.vo.req.*;
|
import com.ho.user.vo.req.*;
|
||||||
@ -543,4 +549,58 @@ public class UserController {
|
|||||||
return DataResult.success();
|
return DataResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping(value = "getUnifiedLogin")
|
||||||
|
@ApiOperation(value = "用户统一登录接口")
|
||||||
|
@TokenIgnore
|
||||||
|
public DataResult<UserUnifiedLoginVo> getUnifiedLogin(@RequestBody @Valid LoginReqVO loginReqVO) {
|
||||||
|
UserUnifiedLoginVo unifiedLoginVo = new UserUnifiedLoginVo();
|
||||||
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
try {
|
||||||
|
//储能登陆
|
||||||
|
String enUrl = "http://localhost:8012/api/sys/user/login";
|
||||||
|
String enJson = HttpUtils.postWithJson(enUrl,mapper.writeValueAsString(loginReqVO));
|
||||||
|
JSONObject en = JSONObject.parseObject(enJson);
|
||||||
|
Integer codeEn = en.getInteger("code");
|
||||||
|
if(CommonConstant.HttpCode.SUCCESS_CODE.equals(codeEn)){
|
||||||
|
String enString = en.getString("data");
|
||||||
|
UserDetailRespVO enVo = JSON.parseObject(enString,UserDetailRespVO.class);
|
||||||
|
unifiedLoginVo.setEnergy(enVo);
|
||||||
|
}
|
||||||
|
//光伏登陆
|
||||||
|
String pvUrl = "http://1.95.112.231:18012/api/sys/user/login";
|
||||||
|
String pvJson = HttpUtils.postWithJson(pvUrl,mapper.writeValueAsString(loginReqVO));
|
||||||
|
JSONObject pv = JSONObject.parseObject(pvJson);
|
||||||
|
Integer codePv = pv.getInteger("code");
|
||||||
|
if(CommonConstant.HttpCode.SUCCESS_CODE.equals(codePv)){
|
||||||
|
String pvString = pv.getString("data");
|
||||||
|
UserDetailRespVO pvVo = JSON.parseObject(pvString,UserDetailRespVO.class);
|
||||||
|
unifiedLoginVo.setPv(pvVo);
|
||||||
|
}
|
||||||
|
if(unifiedLoginVo.getEnergy()==null && unifiedLoginVo.getPv()==null){
|
||||||
|
if(BaseResponseCode.NOT_ACCOUNT.getCode()==codeEn
|
||||||
|
&&BaseResponseCode.NOT_ACCOUNT.getCode()==codePv){
|
||||||
|
throw new BusinessException(BaseResponseCode.NOT_ACCOUNT);
|
||||||
|
}
|
||||||
|
if (BaseResponseCode.PASSWORD_ERROR.getCode()==codeEn
|
||||||
|
||BaseResponseCode.PASSWORD_ERROR.getCode()==codePv ){
|
||||||
|
throw new BusinessException(BaseResponseCode.PASSWORD_ERROR);
|
||||||
|
}
|
||||||
|
if (BaseResponseCode.USER_LOCK.getCode()==codeEn
|
||||||
|
||BaseResponseCode.USER_LOCK.getCode()==codePv ){
|
||||||
|
throw new BusinessException(BaseResponseCode.USER_LOCK);
|
||||||
|
}
|
||||||
|
if (BaseResponseCode.LOSE_EFFICACY.getCode()==codeEn
|
||||||
|
||BaseResponseCode.LOSE_EFFICACY.getCode()==codePv ){
|
||||||
|
throw new BusinessException(BaseResponseCode.LOSE_EFFICACY);
|
||||||
|
}
|
||||||
|
if (BaseResponseCode.TO_BELONGING_DEPT_DISABLE.getCode()==codeEn
|
||||||
|
||BaseResponseCode.TO_BELONGING_DEPT_DISABLE.getCode()==codePv ){
|
||||||
|
throw new BusinessException(BaseResponseCode.TO_BELONGING_DEPT_DISABLE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
return DataResult.success(unifiedLoginVo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user