|
@@ -91,7 +91,7 @@ public class SignController {
|
|
@RequestMapping("/single")
|
|
@RequestMapping("/single")
|
|
@SneakyThrows
|
|
@SneakyThrows
|
|
@ResponseBody
|
|
@ResponseBody
|
|
- public ResponseBodyVO<SimulationTokenVO> single(@RequestBody SignSingleParameter signSingleParameter) {
|
|
|
|
|
|
+ public ResponseBodyVO<SimulationTokenVO> single(@RequestBody SignSingleParameter signSingleParameter, HttpServletRequest request) {
|
|
|
|
|
|
String code = signSingleParameter.getCode();
|
|
String code = signSingleParameter.getCode();
|
|
String encodeCode = EncodeUtil.utf8(code);
|
|
String encodeCode = EncodeUtil.utf8(code);
|
|
@@ -176,6 +176,7 @@ public class SignController {
|
|
|
|
|
|
//3 使用 union_id 查询数据库,是否已在仿真平台存在该用户
|
|
//3 使用 union_id 查询数据库,是否已在仿真平台存在该用户
|
|
UserPO oldUser = userMapper.selectByOpenIdIgnoreDelete(openid);
|
|
UserPO oldUser = userMapper.selectByOpenIdIgnoreDelete(openid);
|
|
|
|
+ String userId = "";
|
|
if (oldUser == null) { //3-1 仿真平台不存在用户,直接创建新的
|
|
if (oldUser == null) { //3-1 仿真平台不存在用户,直接创建新的
|
|
UserPO newUser = new UserPO();
|
|
UserPO newUser = new UserPO();
|
|
newUser.setId(StringUtil.getRandomUUID());
|
|
newUser.setId(StringUtil.getRandomUUID());
|
|
@@ -193,6 +194,7 @@ public class SignController {
|
|
newUser.setModifyTime(TimeUtil.getNowForMysql());
|
|
newUser.setModifyTime(TimeUtil.getNowForMysql());
|
|
newUser.setIsDeleted("0");
|
|
newUser.setIsDeleted("0");
|
|
userMapper.insert(newUser);
|
|
userMapper.insert(newUser);
|
|
|
|
+ userId = newUser.getId();
|
|
log.info("------- /single 成功插入新用户信息:" + newUser);
|
|
log.info("------- /single 成功插入新用户信息:" + newUser);
|
|
} else {
|
|
} else {
|
|
if ("1".equals(oldUser.getIsDeleted())) { //3-2 仿真平台存在删除状态用户,改为未删除
|
|
if ("1".equals(oldUser.getIsDeleted())) { //3-2 仿真平台存在删除状态用户,改为未删除
|
|
@@ -201,6 +203,7 @@ public class SignController {
|
|
//3-3 仿真平台用户存在未删除用户,放行。不会每次都更新,防止在仿真云平台更新的信息被众工业覆盖
|
|
//3-3 仿真平台用户存在未删除用户,放行。不会每次都更新,防止在仿真云平台更新的信息被众工业覆盖
|
|
username = oldUser.getUsername();
|
|
username = oldUser.getUsername();
|
|
password = oldUser.getPassword();
|
|
password = oldUser.getPassword();
|
|
|
|
+ userId = oldUser.getId();
|
|
}
|
|
}
|
|
|
|
|
|
// -------------------------------- 这里需要用到前面创建的用户信息,所以不使用事务 --------------------------------
|
|
// -------------------------------- 这里需要用到前面创建的用户信息,所以不使用事务 --------------------------------
|
|
@@ -215,6 +218,16 @@ public class SignController {
|
|
String simulationToken = HttpUtil.get(closeableHttpClient, requestConfig, simulationTokenUrl);
|
|
String simulationToken = HttpUtil.get(closeableHttpClient, requestConfig, simulationTokenUrl);
|
|
log.info("------- /single 仿真云平台 token 信息为:" + simulationToken);
|
|
log.info("------- /single 仿真云平台 token 信息为:" + simulationToken);
|
|
SimulationTokenVO simulationTokenVO = JsonUtil.jsonToBean(simulationToken, SimulationTokenVO.class);
|
|
SimulationTokenVO simulationTokenVO = JsonUtil.jsonToBean(simulationToken, SimulationTokenVO.class);
|
|
|
|
+ //登录日志
|
|
|
|
+ LogLoginPO po = new LogLoginPO();
|
|
|
|
+ po.setId(StringUtil.getRandomUUID());
|
|
|
|
+ po.setCreateTime(TimeUtil.getNowForMysql());
|
|
|
|
+ String remoteAddress = IpUtil.getRemoteAddress(request);
|
|
|
|
+ po.setIp(remoteAddress);
|
|
|
|
+ po.setUserId(userId);
|
|
|
|
+ po.setUsername(username);
|
|
|
|
+ po.setState(1);
|
|
|
|
+ logLoginMapper.insertLog(po);
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, simulationTokenVO);
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, simulationTokenVO);
|
|
}
|
|
}
|
|
|
|
|