From 96d8ffb54fe9cff50f905467516439a55b4c608a Mon Sep 17 00:00:00 2001 From: chenyuan <907037276@qq.com> Date: Thu, 28 Mar 2024 18:15:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E3.0=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7=E4=B8=9A=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AccountController.java | 52 +++++++++++++++++++ .../service/MemberService.java | 22 ++++++++ 2 files changed, 74 insertions(+) create mode 100644 src/main/java/com/sztzjy/forex/trading_trading/controller/AccountController.java diff --git a/src/main/java/com/sztzjy/forex/trading_trading/controller/AccountController.java b/src/main/java/com/sztzjy/forex/trading_trading/controller/AccountController.java new file mode 100644 index 0000000..214216e --- /dev/null +++ b/src/main/java/com/sztzjy/forex/trading_trading/controller/AccountController.java @@ -0,0 +1,52 @@ +package com.sztzjy.forex.trading_trading.controller; + +import com.sztzjy.forex.trading_trading.annotation.AnonymousAccess; +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.TokenProvider; +import com.sztzjy.forex.trading_trading.entity.Member; +import com.sztzjy.forex.trading_trading.service.MemberService; +import io.jsonwebtoken.Jwt; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +@RestController +@Api(tags = "对外开放接口") +@RequestMapping("/account") +public class AccountController { + + @Autowired + private MemberService memberService; + + @ApiOperation("根据用户Code查询该用户是否存在个人赛用户数据,存在则返回,不存在则新增后返回,用于智云3.0创建用户后调用该接口创建用户个人赛") + @PostMapping("/checkOrCreateForexSimulationUser") + @AnonymousAccess + public Member checkOrCreateForexSimulationUser(@RequestParam String name, + @RequestParam String className, + @RequestParam Integer classId, + @RequestParam String majorName, + @RequestParam String studentNumber, + Double initialCapital) { + + + Member member; + member = memberService.findByTrainingIdAndStudentNumber(Constant.PRACTICE_TRAINING_ID, studentNumber); + if (member == null) { + JwtUser jwtUser = new JwtUser(); + jwtUser.setName(name); + jwtUser.setClassName(className); + jwtUser.setClassId(classId); + jwtUser.setMajorName(majorName); + jwtUser.setUsername(studentNumber); + member = memberService.buildPracticeMemberByJwtUser(jwtUser, initialCapital); + } + return member; + } +} 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 ad92341..9c1819f 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 @@ -343,6 +343,28 @@ public class MemberService { member.setOpeningTrades(0); member.setClosingTrades(0); insert(member); + + } + + + public Member buildPracticeMemberByJwtUser(JwtUser jwtUser,Double initialCapital) { + Member member = new Member(); + member.setMemberId(IdUtil.simpleUUID()); + member.setName(jwtUser.getName()); + member.setClassGrade(jwtUser.getClassName()); + member.setClassId(jwtUser.getClassId()); + member.setMajor(jwtUser.getMajorName()); + member.setStudentNumber(jwtUser.getUsername()); + member.setTrainingId(Constant.PRACTICE_TRAINING_ID); + member.setSchoolId(Constant.PRACTICE_SCHOOL_ID); + member.setTrainingName(Constant.TRAININGNAME); + member.setInitialCapital(initialCapital); + member.setMarginUsed(0.0); + member.setCumulativeProfitLoss(0.0); + member.setOpeningTrades(0); + member.setClosingTrades(0); + insert(member); + return member; }