统一登录接口
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/getToken", "anon");
|
||||
filterChainDefinitionMap.put("/sys/user/getUnifiedLogin", "anon");
|
||||
filterChainDefinitionMap.put("/sys/user/register", "anon");
|
||||
filterChainDefinitionMap.put("/sys/key/decrypt", "anon");
|
||||
filterChainDefinitionMap.put("/mongoId", "anon");
|
||||
|
||||
@ -2,6 +2,10 @@ package com.ho.user.controller;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
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.LogAnnotation;
|
||||
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.util.AESEncryptUtil;
|
||||
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.SysUser;
|
||||
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.service.*;
|
||||
import com.ho.user.vo.req.*;
|
||||
@ -543,4 +549,58 @@ public class UserController {
|
||||
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