|
@@ -27,8 +27,8 @@ import javax.annotation.Resource;
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
import java.net.URLDecoder;
|
|
|
import java.security.NoSuchAlgorithmException;
|
|
|
-import java.util.Objects;
|
|
|
-import java.util.Optional;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -177,4 +177,33 @@ public class OpenApiController {
|
|
|
loginResult.setReturnUrl(returnUrl);
|
|
|
return ResultUtil.ok(loginResult);
|
|
|
}
|
|
|
+
|
|
|
+ @ApiOperation(value = "西交大登录之前逻辑")
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "返回消息", response = SysUser.class)})
|
|
|
+ @RequestMapping(value = "/login_before_xju_logic", method = RequestMethod.POST)
|
|
|
+ @Aac(auth = BOOL.FALSE)
|
|
|
+ public Result loginBeforeXjuLogic(@ApiParam(value = "西交大登录之前逻辑", required = true) @RequestBody String account) throws UnsupportedEncodingException {
|
|
|
+ Optional.ofNullable(account).orElseThrow(() -> ExceptionResultEnum.PARAMS_ERROR.exception("账号为空"));
|
|
|
+ String decodeJson = URLDecoder.decode(account, SystemConstant.CHARSET_NAME);
|
|
|
+ log.info("loginBeforeXjuLogic进来了,result:{}", decodeJson);
|
|
|
+ account = JacksonUtil.readJson(decodeJson, String.class);
|
|
|
+
|
|
|
+ BasicSchool basicSchool = AuthThirdUtil.hasPermission();
|
|
|
+ Set<String> schoolCodes = new HashSet<>(Arrays.asList("xjtu", "xjtuyjs"));
|
|
|
+ schoolCodes.add(basicSchool.getCode());
|
|
|
+
|
|
|
+ QueryWrapper<BasicSchool> basicSchoolQueryWrapper = new QueryWrapper<>();
|
|
|
+ basicSchoolQueryWrapper.lambda().in(BasicSchool::getCode, schoolCodes);
|
|
|
+ List<BasicSchool> basicSchoolList = basicSchoolService.list(basicSchoolQueryWrapper);
|
|
|
+ if (CollectionUtils.isEmpty(basicSchoolList)) {
|
|
|
+ throw ExceptionResultEnum.PARAMS_ERROR.exception("未找到西交大学校信息");
|
|
|
+ }
|
|
|
+ List<Long> schoolIds = basicSchoolList.stream().map(s -> s.getId()).collect(Collectors.toList());
|
|
|
+
|
|
|
+ QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
|
|
|
+ sysUserQueryWrapper.lambda().eq(SysUser::getLoginName, account)
|
|
|
+ .eq(SysUser::getEnable, true)
|
|
|
+ .in(SysUser::getSchoolId, schoolIds);
|
|
|
+ return ResultUtil.ok(sysUserService.list(sysUserQueryWrapper));
|
|
|
+ }
|
|
|
}
|