修改实务认知得分和智能评分规则

master
xiaoCJ 9 months ago
parent d50a87a0ea
commit 7b3b5f58d2

@ -3,7 +3,9 @@ package com.sztzjy.fund_investment.controller;
import cn.hutool.core.util.IdUtil;
import com.sztzjy.fund_investment.annotation.AnonymousAccess;
import com.sztzjy.fund_investment.annotation.OperateLog;
import com.sztzjy.fund_investment.config.exception.UnAuthorizedException;
import com.sztzjy.fund_investment.config.security.JwtUser;
import com.sztzjy.fund_investment.config.security.LoginResult;
import com.sztzjy.fund_investment.config.security.TokenProvider;
import com.sztzjy.fund_investment.entity.Flow;
import com.sztzjy.fund_investment.entity.PerformanceScore;
@ -20,8 +22,10 @@ import com.sztzjy.fund_investment.service.PerformanceScoreService;
import com.sztzjy.fund_investment.service.tea.ClassScoreService;
import com.sztzjy.fund_investment.util.ResultEntity;
import com.sztzjy.fund_investment.util.RsaUtil;
import com.sztzjy.fund_investment.util.TzApi;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@ -59,15 +63,100 @@ public class UserController {
@Autowired
private ClassScoreService classScoreService;
// @ApiOperation(value = "用户登录", httpMethod = "POST")
// @OperateLog(recordParameters = false)
// @PostMapping("login")
// @AnonymousAccess
// public ResultEntity login(@RequestParam(required = false) String username,
// @RequestParam(required = false) String passwordEncode,
// @RequestParam(required = false) String ticket) {
//
// if (ticket == null) {
// String password;
// try {
// password = RsaUtil.decryptByPrivateKey(passwordEncode);
// } catch (Exception e) {
// return new ResultEntity(HttpStatus.BAD_REQUEST, "密码错误");
// }
// UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username, password);
// Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
// SecurityContextHolder.getContext().setAuthentication(authentication);
// JwtUser jwtUser = (JwtUser) authentication.getPrincipal();
// String token = TokenProvider.createToken(jwtUser);
// Map<String, Object> map = new HashMap<>();
// map.put("token", token);
// map.put("name", jwtUser.getName());
// User user = userService.findById(jwtUser.getUserId());
// map.put("username", user.getUsername());
// map.put("roleId", user.getRoleId());
// map.put("phone", user.getPhone());
// map.put("schoolId", "999999999");
// map.put("userId", user.getUserid());
//
// Flow flow = flowMapper.selectByPrimaryKey(jwtUser.getUserId());
// if (flow == null) {
// String uuid = String.valueOf(UUID.randomUUID());
// Flow flow1 = new Flow();
// flow1.setUserid(jwtUser.getUserId());
// flow1.setFlowId(uuid);
// flowMapper.insert(flow1);
// map.put("flowId", uuid);
// } else {
// map.put("flowId", flow.getFlowId());
// }
// return new ResultEntity(HttpStatus.OK, map);
// } else { //平台跳转登录
// //判断用户是否存在
// Map<String, String> accessToken = iIlabService.getAccessToken(ticket);
// String access_token = accessToken.get("access_token");
// if (access_token == null) {
// return new ResultEntity(HttpStatus.BAD_REQUEST, "登录过期,请重试!");
// }
// String un = accessToken.get("un");
// String dis = accessToken.get("dis");
// User user = userMapper.selectByUn(un);
// String newUUID = IdUtil.simpleUUID();
// if (user != null) {
// Flow flow = flowMapper.selectByPrimaryKey(user.getUserid());
// Map<String, Object> map = getStringObjectMap(access_token, un, dis, flow.getUserid(), flow.getFlowId());
// user.setAccessToken(access_token);
// userMapper.updateByPrimaryKey(user);
// return new ResultEntity(HttpStatus.OK, map);
// }
// User newUser = new User();
// String flowId = IdUtil.simpleUUID();
// newUser.setUserid(newUUID);
// newUser.setRoleId(4);
// newUser.setLoginType(0);
// newUser.setAccessToken(access_token);
// newUser.setDis(dis);
// newUser.setName(dis);
// newUser.setUn(un);
// newUser.setUsername(un);
// newUser.setCreateTime(new Date());
// newUser.setSchoolId("999999999");
// newUser.setClassId("999999999");
// newUser.setClassName("国家虚拟仿真训练班");
// Map<String, Object> map = getStringObjectMap(access_token, un, dis, newUUID, flowId);
// userMapper.insert(newUser);
// Flow flow = new Flow();
// flow.setUserid(newUUID);
// flow.setFlowId(flowId);
// flowMapper.insert(flow);
// return new ResultEntity(HttpStatus.OK, map);
// }
// }
@ApiOperation(value = "用户登录", httpMethod = "POST")
@OperateLog(recordParameters = false)
@PostMapping("login")
@AnonymousAccess
public ResultEntity login(@RequestParam(required = false) String username,
@RequestParam(required = false) String passwordEncode,
@RequestParam(required = false) String ticket) {
@RequestParam(required = false) String TOKEN) {
if (ticket == null) {
if (TOKEN == null) {
String password;
try {
password = RsaUtil.decryptByPrivateKey(passwordEncode);
@ -86,8 +175,9 @@ public class UserController {
map.put("username", user.getUsername());
map.put("roleId", user.getRoleId());
map.put("phone", user.getPhone());
map.put("schoolId", "999999999");
map.put("schoolId", user.getSchoolId());
map.put("userId", user.getUserid());
map.put("classId", user.getClassId());
Flow flow = flowMapper.selectByPrimaryKey(jwtUser.getUserId());
if (flow == null) {
@ -101,48 +191,35 @@ public class UserController {
map.put("flowId", flow.getFlowId());
}
return new ResultEntity(HttpStatus.OK, map);
} else { //平台跳转登录
//判断用户是否存在
Map<String, String> accessToken = iIlabService.getAccessToken(ticket);
String access_token = accessToken.get("access_token");
if (access_token == null) {
return new ResultEntity(HttpStatus.BAD_REQUEST, "登录过期,请重试!");
} else { // 2、智云单点登录
JwtUser jwtUser;
jwtUser = TokenProvider.getJWTUserByZhiYun(TOKEN);
jwtUser = TzApi.foreignExchangeTradingLogin(jwtUser.getUsername(), jwtUser.getPassword());
if (jwtUser == null) {
throw new UnAuthorizedException("用户名或密码错误");
}
String un = accessToken.get("un");
String dis = accessToken.get("dis");
User user = userMapper.selectByUn(un);
String newUUID = IdUtil.simpleUUID();
if (user != null) {
Flow flow = flowMapper.selectByPrimaryKey(user.getUserid());
Map<String, Object> map = getStringObjectMap(access_token, un, dis, flow.getUserid(), flow.getFlowId());
user.setAccessToken(access_token);
userMapper.updateByPrimaryKey(user);
return new ResultEntity(HttpStatus.OK, map);
Authentication authentication = new UsernamePasswordAuthenticationToken(jwtUser, null, jwtUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
String token = TokenProvider.createToken(jwtUser);
LoginResult loginResult = LoginResult.create(jwtUser, token);
Map<String, Object> map = new HashMap<>();
map.put("token", token);
map.put("name", loginResult.getName());
User user = userService.findById(loginResult.getUserId());
map.put("username", loginResult.getUsername());
map.put("roleId", loginResult.getRoleId());
map.put("schoolId", loginResult.getSchoolId());
if (StringUtils.isNotBlank(loginResult.getUserId())) {
map.put("classId", loginResult.getClassId());
}
User newUser = new User();
String flowId = IdUtil.simpleUUID();
newUser.setUserid(newUUID);
newUser.setRoleId(4);
newUser.setLoginType(0);
newUser.setAccessToken(access_token);
newUser.setDis(dis);
newUser.setName(dis);
newUser.setUn(un);
newUser.setUsername(un);
newUser.setCreateTime(new Date());
newUser.setSchoolId("999999999");
newUser.setClassId("999999999");
newUser.setClassName("国家虚拟仿真训练班");
Map<String, Object> map = getStringObjectMap(access_token, un, dis, newUUID, flowId);
userMapper.insert(newUser);
Flow flow = new Flow();
flow.setUserid(newUUID);
flow.setFlowId(flowId);
flowMapper.insert(flow);
map.put("token", token);
map.put("userId", loginResult.getUserId());
return new ResultEntity(HttpStatus.OK, map);
}
}
/* MAPflow
* @author xcj
* @Date 2024/1/3

Loading…
Cancel
Save