From 2fc47bf27fe99e3c0e20cd7ead19dd8eb3adc3fa Mon Sep 17 00:00:00 2001 From: yz <3614508250@qq.com> Date: Tue, 8 Aug 2023 10:47:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B2=A1=E6=9C=89=E5=AE=9E?= =?UTF-8?q?=E8=AE=AD=E4=BB=BB=E5=8A=A1=E6=97=B6=EF=BC=8C=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E8=BF=9B=E5=85=A5=E7=BB=83=E4=B9=A0=E6=A8=A1=E5=BC=8F=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TrainingController.java | 31 +----------- .../controller/UserController.java | 16 ++++-- .../service/MemberService.java | 49 +++++++++++++++++++ 3 files changed, 62 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/sztzjy/forex/trading_trading/controller/TrainingController.java b/src/main/java/com/sztzjy/forex/trading_trading/controller/TrainingController.java index c2da4a1..1ba560a 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/controller/TrainingController.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/controller/TrainingController.java @@ -76,7 +76,7 @@ public class TrainingController { trainingService.update(training); //生成训练账号(member) - buildPracticeMembers(members); + memberService.buildPracticeMembers(members); redisUtil.sSet(Constant.NOSETTLEANACCOUNTTRAINING,training.getTrainingId()); return new ResultEntity(HttpStatus.OK); @@ -196,7 +196,7 @@ public class TrainingController { } buildMembers(maps, training).forEach(member -> { memberService.insert(member); - buildPracticeMember(member); + memberService.buildPracticeMember(member); }); trainingService.updatePeopleNum(true, trainingId); return new ResultEntity(HttpStatus.OK); @@ -245,34 +245,7 @@ public class TrainingController { return members; } - private void buildPracticeMembers(List members) { - List 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) @ApiOperation("获取我的任务列表") diff --git a/src/main/java/com/sztzjy/forex/trading_trading/controller/UserController.java b/src/main/java/com/sztzjy/forex/trading_trading/controller/UserController.java index 6ed51ac..354fd31 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/controller/UserController.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/controller/UserController.java @@ -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.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.LoginResult; 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.RoleRouteService; 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.ApiParam; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; @@ -28,9 +30,7 @@ import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; @Api(tags = "用户管理模块") @RestController @@ -45,6 +45,8 @@ public class UserController { private final RoleRouteService roleRouteService; private final HttpServletRequest request; + @Autowired + MemberService memberService; @AnonymousAccess @OperateLog(description = "用户登录") @@ -81,10 +83,14 @@ public class UserController { Authentication authentication = new UsernamePasswordAuthenticationToken(jwtUser, null, jwtUser.getAuthorities()); SecurityContextHolder.getContext().setAuthentication(authentication); String token = TokenProvider.createToken(jwtUser); + + //第一次登录创建训练账号 + if(!memberService.checkUser(Constant.PRACTICE_TRAINING_ID, jwtUser.getUsername())){ + memberService.buildPracticeMemberByJwtUser(jwtUser); + } return new ResultEntity(LoginResult.create(jwtUser, token)); } - @AnonymousAccess @OperateLog(description = "通过智云平台token单点登录") @ApiOperation(value = "通过智云平台token单点登录", httpMethod = "POST") diff --git a/src/main/java/com/sztzjy/forex/trading_trading/service/MemberService.java b/src/main/java/com/sztzjy/forex/trading_trading/service/MemberService.java index e63fc5c..1e3d3fa 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/service/MemberService.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/service/MemberService.java @@ -1,5 +1,6 @@ package com.sztzjy.forex.trading_trading.service; +import cn.hutool.core.util.IdUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.sztzjy.forex.trading_trading.config.Constant; @@ -295,5 +296,53 @@ public class MemberService { memberMapper.updateStuRank(); } + public void buildPracticeMembers(List members) { + List 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); + } + }