中车、寄点站点融合

This commit is contained in:
2026-04-14 17:33:01 +08:00
parent 21a3c2f9cf
commit c63b92481b
19 changed files with 1555 additions and 0 deletions

View File

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

View File

@ -2,6 +2,9 @@ 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.common.tools.annotation.HzPermission;
import com.ho.common.tools.annotation.LogAnnotation;
import com.ho.common.tools.annotation.TokenIgnore;
@ -18,9 +21,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 +548,60 @@ 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://localhost: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);
}
}