修改没有实训任务时,学生进入练习模式报错问题

pull/1/head
yz 2 years ago
parent aa14b935bf
commit 2fc47bf27f

@ -76,7 +76,7 @@ public class TrainingController {
trainingService.update(training); trainingService.update(training);
//生成训练账号member //生成训练账号member
buildPracticeMembers(members); memberService.buildPracticeMembers(members);
redisUtil.sSet(Constant.NOSETTLEANACCOUNTTRAINING,training.getTrainingId()); redisUtil.sSet(Constant.NOSETTLEANACCOUNTTRAINING,training.getTrainingId());
return new ResultEntity(HttpStatus.OK); return new ResultEntity(HttpStatus.OK);
@ -196,7 +196,7 @@ public class TrainingController {
} }
buildMembers(maps, training).forEach(member -> { buildMembers(maps, training).forEach(member -> {
memberService.insert(member); memberService.insert(member);
buildPracticeMember(member); memberService.buildPracticeMember(member);
}); });
trainingService.updatePeopleNum(true, trainingId); trainingService.updatePeopleNum(true, trainingId);
return new ResultEntity(HttpStatus.OK); return new ResultEntity(HttpStatus.OK);
@ -245,34 +245,7 @@ public class TrainingController {
return members; return members;
} }
private void buildPracticeMembers(List<Member> members) {
List<Member> memberList=new ArrayList<>();
for (int i = 0; i < members.size(); i++) {
Member member = members.get(i);
if (memberService.checkUser(Constant.PRACTICE_TRAINING_ID, member.getStudentNumber())) { //解决相同账号会出现生成多个练习账号的问题
continue;
}
member.setMemberId(IdUtil.simpleUUID());
member.setTrainingId(Constant.PRACTICE_TRAINING_ID);
member.setTrainingName(Constant.TRAININGNAME);
member.setSchoolId(Constant.PRACTICE_SCHOOL_ID);
memberList.add(member);
}
if (memberList.size()>0){
memberService.insertAll(memberList);
}
}
private void buildPracticeMember(Member member) {
if (memberService.checkUser(Constant.PRACTICE_TRAINING_ID, member.getStudentNumber())) {
}else {
member.setMemberId(IdUtil.simpleUUID());
member.setTrainingId(Constant.PRACTICE_TRAINING_ID);
member.setTrainingName(Constant.TRAININGNAME);
member.setSchoolId(Constant.PRACTICE_SCHOOL_ID);
memberService.insert(member);
}
}
@Permission(codes = PermissionType.TRAINING_MANAGEMENT_SEARCH) @Permission(codes = PermissionType.TRAINING_MANAGEMENT_SEARCH)
@ApiOperation("获取我的任务列表") @ApiOperation("获取我的任务列表")

@ -3,10 +3,11 @@ package com.sztzjy.forex.trading_trading.controller;
import com.sztzjy.forex.trading_trading.annotation.AnonymousAccess; import com.sztzjy.forex.trading_trading.annotation.AnonymousAccess;
import com.sztzjy.forex.trading_trading.annotation.OperateLog; import com.sztzjy.forex.trading_trading.annotation.OperateLog;
import com.sztzjy.forex.trading_trading.config.Constant;
import com.sztzjy.forex.trading_trading.config.security.JwtUser; import com.sztzjy.forex.trading_trading.config.security.JwtUser;
import com.sztzjy.forex.trading_trading.config.security.LoginResult; import com.sztzjy.forex.trading_trading.config.security.LoginResult;
import com.sztzjy.forex.trading_trading.config.security.TokenProvider; import com.sztzjy.forex.trading_trading.config.security.TokenProvider;
import com.sztzjy.forex.trading_trading.entity.RoleRoute; import com.sztzjy.forex.trading_trading.service.MemberService;
import com.sztzjy.forex.trading_trading.service.RoleAuthorityService; import com.sztzjy.forex.trading_trading.service.RoleAuthorityService;
import com.sztzjy.forex.trading_trading.service.RoleRouteService; import com.sztzjy.forex.trading_trading.service.RoleRouteService;
import com.sztzjy.forex.trading_trading.util.ResultEntity; import com.sztzjy.forex.trading_trading.util.ResultEntity;
@ -16,6 +17,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication; import org.springframework.security.core.Authentication;
@ -28,9 +30,7 @@ import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.HashSet; import java.util.*;
import java.util.List;
import java.util.Set;
@Api(tags = "用户管理模块") @Api(tags = "用户管理模块")
@RestController @RestController
@ -45,6 +45,8 @@ public class UserController {
private final RoleRouteService roleRouteService; private final RoleRouteService roleRouteService;
private final HttpServletRequest request; private final HttpServletRequest request;
@Autowired
MemberService memberService;
@AnonymousAccess @AnonymousAccess
@OperateLog(description = "用户登录") @OperateLog(description = "用户登录")
@ -81,10 +83,14 @@ public class UserController {
Authentication authentication = new UsernamePasswordAuthenticationToken(jwtUser, null, jwtUser.getAuthorities()); Authentication authentication = new UsernamePasswordAuthenticationToken(jwtUser, null, jwtUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication); SecurityContextHolder.getContext().setAuthentication(authentication);
String token = TokenProvider.createToken(jwtUser); String token = TokenProvider.createToken(jwtUser);
//第一次登录创建训练账号
if(!memberService.checkUser(Constant.PRACTICE_TRAINING_ID, jwtUser.getUsername())){
memberService.buildPracticeMemberByJwtUser(jwtUser);
}
return new ResultEntity<LoginResult>(LoginResult.create(jwtUser, token)); return new ResultEntity<LoginResult>(LoginResult.create(jwtUser, token));
} }
@AnonymousAccess @AnonymousAccess
@OperateLog(description = "通过智云平台token单点登录") @OperateLog(description = "通过智云平台token单点登录")
@ApiOperation(value = "通过智云平台token单点登录", httpMethod = "POST") @ApiOperation(value = "通过智云平台token单点登录", httpMethod = "POST")

@ -1,5 +1,6 @@
package com.sztzjy.forex.trading_trading.service; package com.sztzjy.forex.trading_trading.service;
import cn.hutool.core.util.IdUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.sztzjy.forex.trading_trading.config.Constant; import com.sztzjy.forex.trading_trading.config.Constant;
@ -295,5 +296,53 @@ public class MemberService {
memberMapper.updateStuRank(); memberMapper.updateStuRank();
} }
public void buildPracticeMembers(List<Member> members) {
List<Member> memberList=new ArrayList<>();
for (int i = 0; i < members.size(); i++) {
Member member = members.get(i);
if (checkUser(Constant.PRACTICE_TRAINING_ID, member.getStudentNumber())) { //解决相同账号会出现生成多个练习账号的问题
continue;
}
member.setMemberId(IdUtil.simpleUUID());
member.setTrainingId(Constant.PRACTICE_TRAINING_ID);
member.setTrainingName(Constant.TRAININGNAME);
member.setSchoolId(Constant.PRACTICE_SCHOOL_ID);
memberList.add(member);
}
if (memberList.size()>0){
insertAll(memberList);
}
}
public void buildPracticeMember(Member member) {
if (checkUser(Constant.PRACTICE_TRAINING_ID, member.getStudentNumber())) {
}else {
member.setMemberId(IdUtil.simpleUUID());
member.setTrainingId(Constant.PRACTICE_TRAINING_ID);
member.setTrainingName(Constant.TRAININGNAME);
member.setSchoolId(Constant.PRACTICE_SCHOOL_ID);
insert(member);
}
}
public void buildPracticeMemberByJwtUser(JwtUser jwtUser) {
Member member = new Member();
member.setMemberId(IdUtil.simpleUUID());
member.setName(jwtUser.getName());
member.setTrainingId(Constant.PRACTICE_TRAINING_ID);
member.setSchoolId(Constant.PRACTICE_SCHOOL_ID);
member.setClassGrade(jwtUser.getClassName());
member.setClassId(jwtUser.getClassId());
member.setMajor(jwtUser.getMajorName());
member.setStudentNumber(jwtUser.getUsername());
member.setTrainingName(Constant.TRAININGNAME);
member.setInitialCapital(1000000.0);
member.setMarginUsed(0.0);
member.setCumulativeProfitLoss(0.0);
member.setOpeningTrades(0);
member.setClosingTrades(0);
insert(member);
}
} }

Loading…
Cancel
Save