From f60adbaf125d4dba287bf1f5d9037c0bf974475a Mon Sep 17 00:00:00 2001
From: yz <3614508250@qq.com>
Date: Fri, 30 Jun 2023 10:41:14 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=95=B0=E6=8D=AE=E5=BA=93?=
 =?UTF-8?q?=20=E5=AD=97=E6=AE=B5=E5=8F=98=E6=9B=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../controller/TradingController.java         | 113 ++--
 .../forex/trading_trading/entity/Member.java  | 226 +++++---
 .../trading_trading/entity/MemberExample.java | 292 ++++++++--
 .../trading_trading/mappers/MemberMapper.java | 100 ----
 .../service/MemberService.java                |   6 +-
 src/main/resources/generatorConfig.xml        |   3 +-
 src/main/resources/mappers/MemberMapper.xml   | 497 ------------------
 7 files changed, 505 insertions(+), 732 deletions(-)
 delete mode 100644 src/main/java/com/sztzjy/forex/trading_trading/mappers/MemberMapper.java
 delete mode 100644 src/main/resources/mappers/MemberMapper.xml

diff --git a/src/main/java/com/sztzjy/forex/trading_trading/controller/TradingController.java b/src/main/java/com/sztzjy/forex/trading_trading/controller/TradingController.java
index d7a3fbf..1307f04 100644
--- a/src/main/java/com/sztzjy/forex/trading_trading/controller/TradingController.java
+++ b/src/main/java/com/sztzjy/forex/trading_trading/controller/TradingController.java
@@ -1,13 +1,16 @@
 package com.sztzjy.forex.trading_trading.controller;
 
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.sztzjy.forex.trading_trading.annotation.AnonymousAccess;
 import com.sztzjy.forex.trading_trading.common.mql5API.Mql5API;
 import com.sztzjy.forex.trading_trading.entity.Member;
+import com.sztzjy.forex.trading_trading.entity.TakeStash;
 import com.sztzjy.forex.trading_trading.entity.mql5Entity.ExchangeFrateEntity;
 import com.sztzjy.forex.trading_trading.entity.mql5Entity.ForexData;
 import com.sztzjy.forex.trading_trading.service.MemberService;
+import com.sztzjy.forex.trading_trading.service.TakeStashService;
 import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -16,6 +19,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -28,6 +34,9 @@ public class TradingController {
     @Autowired
     MemberService memberService;
 
+    @Autowired
+    TakeStashService takeStashService;
+
     //获取市场报价
     @AnonymousAccess
     @PostMapping("getMarketQuotation")
@@ -50,49 +59,53 @@ public class TradingController {
     @AnonymousAccess
     @PostMapping("TransactionMarketQuotation")
     public JSONObject getMarketQuotation(@RequestBody JSONObject jsonObject) {
-        //交易品种
-        String code = String.valueOf(jsonObject.get("code"));
-        //交易类型
-        String transactionType = String.valueOf(jsonObject.get("transactionType"));
-        //买卖手(量)
-        Double transactionVolume = (Double) jsonObject.get("transactionVolume");
-        //买入卖出类型
-        String buySellType = String.valueOf(jsonObject.get("buySellType"));
-        //获取账户资金  调用member表中的
-        Integer memberId = (Integer) jsonObject.get("memberId");
+        String tradingCode = String.valueOf(jsonObject.get("tradingCode")); //交易品种
+        String transactionType = String.valueOf(jsonObject.get("transactionType")); //交易类型
+        Double transactionVolume = (Double) jsonObject.get("transactionVolume"); //买卖手(量)
+        String buySellType = String.valueOf(jsonObject.get("buySellType")); //买入卖出类型
+        String stopLoss = String.valueOf(jsonObject.get("stopLoss"));
+        String stopWin = String.valueOf(jsonObject.get("stopWin"));
+        String memberId = String.valueOf(jsonObject.get("memberId"));
         String trainingId =  jsonObject.get("trainingId").toString();
         Member member = memberService.getMemberByMemberIdAndTrainingId(memberId, trainingId);
-        Double availableFunds = member.getAvailableFunds();
+        Double availableFunds = member.getAvailableFunds(); //获取账户可用资金
+        ForexData forexData = getMarketQuotationByCode(tradingCode); //获取当前买卖价格
         if (transactionType.equals("sjkc")) {//市价开仓
-            //美元在前
-            if (code.startsWith("USD")) {
-                //判断可用资金是否足够
-                if(availableFunds<transactionVolume*1000){
+            if (tradingCode.startsWith("USD")) { //美元在前
+                if (availableFunds < transactionVolume * 1000) { //判断可用资金是否足够
                     return JSONObject.parseObject("可用资金不足");
-                }else {
-                    //获取当前买卖价格
-                    ForexData forexData = getMarketQuotationByCode(code);
-                    if (buySellType.equals("buy")) {
-                        String buyPic = forexData.getBuyPic();
-
-
-                    } else if (buySellType.equals("sell")) {
-                        String sellPic = forexData.getSellPic();
-
+                }
+                if ("buy".equals(buySellType)) {
+                    Double buyPic = Double.valueOf(forexData.getBuyPic());
+                    TakeStash takeStash = returnTakeStash(memberId, trainingId, tradingCode, buySellType, transactionVolume, buyPic, stopLoss, stopWin);
+                    takeStashService.insertTakeStash(takeStash);
+                } else if ("sell".equals(buySellType)) {
+                    Double sellPic = Double.valueOf(forexData.getSellPic());
+                    TakeStash takeStash = returnTakeStash(memberId, trainingId, tradingCode, buySellType, transactionVolume, sellPic, stopLoss, stopWin);
+                    takeStashService.insertTakeStash(takeStash);
+                }
+                availableFunds = availableFunds - transactionVolume * 1000;
+                updateMemberAvailableFundsAndMarginUsed(member,availableFunds);
+            } else { //美元在后 使用可用资金表达式为 买卖手*1000*卖/买价 判断可用资金是否足够 先判断是买还是卖
+                if ("buy".equals(buySellType)) {
+                    Double buyPic = Double.valueOf(forexData.getBuyPic());
+                    if(availableFunds<transactionVolume * 1000*buyPic){
+                        return JSONObject.parseObject("可用资金不足");
+                    }
+                    TakeStash takeStash = returnTakeStash(memberId, trainingId, tradingCode, buySellType, transactionVolume, buyPic, stopLoss, stopWin);
+                    takeStashService.insertTakeStash(takeStash);
+                    availableFunds = availableFunds - transactionVolume * 1000*buyPic;
+                } else if ("sell".equals(buySellType)) {
+                    Double sellPic = Double.valueOf(forexData.getSellPic());
+                    if(availableFunds<transactionVolume * 1000*sellPic){
+                        return JSONObject.parseObject("可用资金不足");
                     }
-                    availableFunds=availableFunds-transactionVolume*1000;
-                    member.setAvailableFunds(availableFunds);
-                    //获取当前已用保证金
-                    Double marginUsed = member.getMarginUsed();
-                    member.setMarginUsed(marginUsed+availableFunds);
+                    TakeStash takeStash = returnTakeStash(memberId, trainingId, tradingCode, buySellType, transactionVolume, sellPic, stopLoss, stopWin);
+                    takeStashService.insertTakeStash(takeStash);
+                    availableFunds = availableFunds - transactionVolume * 1000*sellPic;
                 }
-            //美元在后
-            } else {
-
+                updateMemberAvailableFundsAndMarginUsed(member,availableFunds);
             }
-            //买入
-            //卖出
-
         } else if (transactionType.equals("gdkc")) {//挂单开仓
             //限价买进
             //限价卖出
@@ -106,4 +119,32 @@ public class TradingController {
 
         return null;
     }
+
+
+    //返回持仓对象
+    private TakeStash returnTakeStash(String memberId, String trainingId, String tradingCode, String buySellType, Double transactionVolume, Double buyOrSellPic, String stopLoss, String stopWin) {
+        TakeStash takeStash = new TakeStash();
+        Date now = new Date();
+        String orderNumberStr = DateUtil.format(now, "yyyyMMddHHmmss") + System.currentTimeMillis();
+        takeStash.setMemberId(memberId);
+        takeStash.setTrainingId(trainingId);
+        takeStash.setTradingCode(tradingCode);
+        takeStash.setOrderNumber(orderNumberStr);  //根据时间生成
+        takeStash.setBuySellType(buySellType);
+        takeStash.setVolumeTransaction(transactionVolume);
+        takeStash.setPriceTransaction(buyOrSellPic);
+        takeStash.setStopLoss(Double.parseDouble(stopLoss));
+        takeStash.setStopWin(Double.parseDouble(stopWin));
+        takeStash.setTimeTransaction(now);
+        takeStash.setStatus(0);
+        return takeStash;
+    }
+
+    //更新可用资金及已用保证金
+    private void updateMemberAvailableFundsAndMarginUsed(Member member,Double availableFunds){
+        member.setAvailableFunds(availableFunds); //设置可用资金
+        Double marginUsed = member.getMarginUsed();
+        member.setMarginUsed(marginUsed + availableFunds); //设置已用保证金
+        memberService.updateByPrimaryKey(member);
+    }
 }
diff --git a/src/main/java/com/sztzjy/forex/trading_trading/entity/Member.java b/src/main/java/com/sztzjy/forex/trading_trading/entity/Member.java
index bd1a170..bb7f5ef 100644
--- a/src/main/java/com/sztzjy/forex/trading_trading/entity/Member.java
+++ b/src/main/java/com/sztzjy/forex/trading_trading/entity/Member.java
@@ -1,24 +1,21 @@
 package com.sztzjy.forex.trading_trading.entity;
 
-import io.swagger.annotations.ApiModelProperty;
-
 public class Member {
     /**
      *
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.member_id
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
-    @ApiModelProperty()
-    private Integer memberId;
+    private String memberId;
 
     /**
      *
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.training_id
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private String trainingId;
 
@@ -27,7 +24,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.name
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private String name;
 
@@ -36,7 +33,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.student_number
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private String studentNumber;
 
@@ -45,7 +42,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.major
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private String major;
 
@@ -54,7 +51,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.class_grade
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private String classGrade;
 
@@ -63,7 +60,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.stu_rank
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private Integer stuRank;
 
@@ -72,7 +69,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.initial_capital
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private Double initialCapital;
 
@@ -81,7 +78,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.total_assets
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private Double totalAssets;
 
@@ -90,7 +87,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.net_value
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private Double netValue;
 
@@ -99,7 +96,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.margin_used
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private Double marginUsed;
 
@@ -108,7 +105,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.available_funds
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private Double availableFunds;
 
@@ -117,7 +114,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.margin_level
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private Double marginLevel;
 
@@ -126,7 +123,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.position_profit_loss
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private Double positionProfitLoss;
 
@@ -135,7 +132,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.cumulative_profit_loss
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private Double cumulativeProfitLoss;
 
@@ -144,7 +141,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.yield
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private Double yield;
 
@@ -153,7 +150,7 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.opening_trades
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private Integer openingTrades;
 
@@ -162,19 +159,46 @@ public class Member {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column sys_member.closing_trades
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     private Integer closingTrades;
 
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column sys_member.school_id
+     *
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
+     */
+    private Integer schoolId;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column sys_member.create_school
+     *
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
+     */
+    private String createSchool;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column sys_member.training_name
+     *
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
+     */
+    private String trainingName;
+
     /**
      * This method was generated by MyBatis Generator.
      * This method returns the value of the database column sys_member.member_id
      *
      * @return the value of sys_member.member_id
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
-    public Integer getMemberId() {
+    public String getMemberId() {
         return memberId;
     }
 
@@ -184,10 +208,10 @@ public class Member {
      *
      * @param memberId the value for sys_member.member_id
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
-    public void setMemberId(Integer memberId) {
-        this.memberId = memberId;
+    public void setMemberId(String memberId) {
+        this.memberId = memberId == null ? null : memberId.trim();
     }
 
     /**
@@ -196,14 +220,22 @@ public class Member {
      *
      * @return the value of sys_member.training_id
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public String getTrainingId() {
         return trainingId;
     }
 
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column sys_member.training_id
+     *
+     * @param trainingId the value for sys_member.training_id
+     *
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
+     */
     public void setTrainingId(String trainingId) {
-        this.trainingId = trainingId;
+        this.trainingId = trainingId == null ? null : trainingId.trim();
     }
 
     /**
@@ -212,7 +244,7 @@ public class Member {
      *
      * @return the value of sys_member.name
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public String getName() {
         return name;
@@ -224,7 +256,7 @@ public class Member {
      *
      * @param name the value for sys_member.name
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setName(String name) {
         this.name = name == null ? null : name.trim();
@@ -236,7 +268,7 @@ public class Member {
      *
      * @return the value of sys_member.student_number
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public String getStudentNumber() {
         return studentNumber;
@@ -248,7 +280,7 @@ public class Member {
      *
      * @param studentNumber the value for sys_member.student_number
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setStudentNumber(String studentNumber) {
         this.studentNumber = studentNumber == null ? null : studentNumber.trim();
@@ -260,7 +292,7 @@ public class Member {
      *
      * @return the value of sys_member.major
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public String getMajor() {
         return major;
@@ -272,7 +304,7 @@ public class Member {
      *
      * @param major the value for sys_member.major
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setMajor(String major) {
         this.major = major == null ? null : major.trim();
@@ -284,7 +316,7 @@ public class Member {
      *
      * @return the value of sys_member.class_grade
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public String getClassGrade() {
         return classGrade;
@@ -296,7 +328,7 @@ public class Member {
      *
      * @param classGrade the value for sys_member.class_grade
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setClassGrade(String classGrade) {
         this.classGrade = classGrade == null ? null : classGrade.trim();
@@ -308,7 +340,7 @@ public class Member {
      *
      * @return the value of sys_member.stu_rank
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Integer getStuRank() {
         return stuRank;
@@ -320,7 +352,7 @@ public class Member {
      *
      * @param stuRank the value for sys_member.stu_rank
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setStuRank(Integer stuRank) {
         this.stuRank = stuRank;
@@ -332,7 +364,7 @@ public class Member {
      *
      * @return the value of sys_member.initial_capital
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Double getInitialCapital() {
         return initialCapital;
@@ -344,7 +376,7 @@ public class Member {
      *
      * @param initialCapital the value for sys_member.initial_capital
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setInitialCapital(Double initialCapital) {
         this.initialCapital = initialCapital;
@@ -356,7 +388,7 @@ public class Member {
      *
      * @return the value of sys_member.total_assets
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Double getTotalAssets() {
         return totalAssets;
@@ -368,7 +400,7 @@ public class Member {
      *
      * @param totalAssets the value for sys_member.total_assets
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setTotalAssets(Double totalAssets) {
         this.totalAssets = totalAssets;
@@ -380,7 +412,7 @@ public class Member {
      *
      * @return the value of sys_member.net_value
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Double getNetValue() {
         return netValue;
@@ -392,7 +424,7 @@ public class Member {
      *
      * @param netValue the value for sys_member.net_value
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setNetValue(Double netValue) {
         this.netValue = netValue;
@@ -404,7 +436,7 @@ public class Member {
      *
      * @return the value of sys_member.margin_used
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Double getMarginUsed() {
         return marginUsed;
@@ -416,7 +448,7 @@ public class Member {
      *
      * @param marginUsed the value for sys_member.margin_used
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setMarginUsed(Double marginUsed) {
         this.marginUsed = marginUsed;
@@ -428,7 +460,7 @@ public class Member {
      *
      * @return the value of sys_member.available_funds
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Double getAvailableFunds() {
         return availableFunds;
@@ -440,7 +472,7 @@ public class Member {
      *
      * @param availableFunds the value for sys_member.available_funds
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setAvailableFunds(Double availableFunds) {
         this.availableFunds = availableFunds;
@@ -452,7 +484,7 @@ public class Member {
      *
      * @return the value of sys_member.margin_level
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Double getMarginLevel() {
         return marginLevel;
@@ -464,7 +496,7 @@ public class Member {
      *
      * @param marginLevel the value for sys_member.margin_level
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setMarginLevel(Double marginLevel) {
         this.marginLevel = marginLevel;
@@ -476,7 +508,7 @@ public class Member {
      *
      * @return the value of sys_member.position_profit_loss
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Double getPositionProfitLoss() {
         return positionProfitLoss;
@@ -488,7 +520,7 @@ public class Member {
      *
      * @param positionProfitLoss the value for sys_member.position_profit_loss
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setPositionProfitLoss(Double positionProfitLoss) {
         this.positionProfitLoss = positionProfitLoss;
@@ -500,7 +532,7 @@ public class Member {
      *
      * @return the value of sys_member.cumulative_profit_loss
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Double getCumulativeProfitLoss() {
         return cumulativeProfitLoss;
@@ -512,7 +544,7 @@ public class Member {
      *
      * @param cumulativeProfitLoss the value for sys_member.cumulative_profit_loss
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setCumulativeProfitLoss(Double cumulativeProfitLoss) {
         this.cumulativeProfitLoss = cumulativeProfitLoss;
@@ -524,7 +556,7 @@ public class Member {
      *
      * @return the value of sys_member.yield
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Double getYield() {
         return yield;
@@ -536,7 +568,7 @@ public class Member {
      *
      * @param yield the value for sys_member.yield
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setYield(Double yield) {
         this.yield = yield;
@@ -548,7 +580,7 @@ public class Member {
      *
      * @return the value of sys_member.opening_trades
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Integer getOpeningTrades() {
         return openingTrades;
@@ -560,7 +592,7 @@ public class Member {
      *
      * @param openingTrades the value for sys_member.opening_trades
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setOpeningTrades(Integer openingTrades) {
         this.openingTrades = openingTrades;
@@ -572,7 +604,7 @@ public class Member {
      *
      * @return the value of sys_member.closing_trades
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Integer getClosingTrades() {
         return closingTrades;
@@ -584,9 +616,81 @@ public class Member {
      *
      * @param closingTrades the value for sys_member.closing_trades
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setClosingTrades(Integer closingTrades) {
         this.closingTrades = closingTrades;
     }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column sys_member.school_id
+     *
+     * @return the value of sys_member.school_id
+     *
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
+     */
+    public Integer getSchoolId() {
+        return schoolId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column sys_member.school_id
+     *
+     * @param schoolId the value for sys_member.school_id
+     *
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
+     */
+    public void setSchoolId(Integer schoolId) {
+        this.schoolId = schoolId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column sys_member.create_school
+     *
+     * @return the value of sys_member.create_school
+     *
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
+     */
+    public String getCreateSchool() {
+        return createSchool;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column sys_member.create_school
+     *
+     * @param createSchool the value for sys_member.create_school
+     *
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
+     */
+    public void setCreateSchool(String createSchool) {
+        this.createSchool = createSchool == null ? null : createSchool.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column sys_member.training_name
+     *
+     * @return the value of sys_member.training_name
+     *
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
+     */
+    public String getTrainingName() {
+        return trainingName;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column sys_member.training_name
+     *
+     * @param trainingName the value for sys_member.training_name
+     *
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
+     */
+    public void setTrainingName(String trainingName) {
+        this.trainingName = trainingName == null ? null : trainingName.trim();
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/sztzjy/forex/trading_trading/entity/MemberExample.java b/src/main/java/com/sztzjy/forex/trading_trading/entity/MemberExample.java
index 80db342..2570605 100644
--- a/src/main/java/com/sztzjy/forex/trading_trading/entity/MemberExample.java
+++ b/src/main/java/com/sztzjy/forex/trading_trading/entity/MemberExample.java
@@ -8,7 +8,7 @@ public class MemberExample {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     protected String orderByClause;
 
@@ -16,7 +16,7 @@ public class MemberExample {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     protected boolean distinct;
 
@@ -24,7 +24,7 @@ public class MemberExample {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     protected List<Criteria> oredCriteria;
 
@@ -32,7 +32,7 @@ public class MemberExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public MemberExample() {
         oredCriteria = new ArrayList<>();
@@ -42,7 +42,7 @@ public class MemberExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setOrderByClause(String orderByClause) {
         this.orderByClause = orderByClause;
@@ -52,7 +52,7 @@ public class MemberExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public String getOrderByClause() {
         return orderByClause;
@@ -62,7 +62,7 @@ public class MemberExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void setDistinct(boolean distinct) {
         this.distinct = distinct;
@@ -72,7 +72,7 @@ public class MemberExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public boolean isDistinct() {
         return distinct;
@@ -82,7 +82,7 @@ public class MemberExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public List<Criteria> getOredCriteria() {
         return oredCriteria;
@@ -92,7 +92,7 @@ public class MemberExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void or(Criteria criteria) {
         oredCriteria.add(criteria);
@@ -102,7 +102,7 @@ public class MemberExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Criteria or() {
         Criteria criteria = createCriteriaInternal();
@@ -114,7 +114,7 @@ public class MemberExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public Criteria createCriteria() {
         Criteria criteria = createCriteriaInternal();
@@ -128,7 +128,7 @@ public class MemberExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     protected Criteria createCriteriaInternal() {
         Criteria criteria = new Criteria();
@@ -139,7 +139,7 @@ public class MemberExample {
      * This method was generated by MyBatis Generator.
      * This method corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public void clear() {
         oredCriteria.clear();
@@ -151,7 +151,7 @@ public class MemberExample {
      * This class was generated by MyBatis Generator.
      * This class corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     protected abstract static class GeneratedCriteria {
         protected List<Criterion> criteria;
@@ -204,52 +204,62 @@ public class MemberExample {
             return (Criteria) this;
         }
 
-        public Criteria andMemberIdEqualTo(Integer value) {
+        public Criteria andMemberIdEqualTo(String value) {
             addCriterion("member_id =", value, "memberId");
             return (Criteria) this;
         }
 
-        public Criteria andMemberIdNotEqualTo(Integer value) {
+        public Criteria andMemberIdNotEqualTo(String value) {
             addCriterion("member_id <>", value, "memberId");
             return (Criteria) this;
         }
 
-        public Criteria andMemberIdGreaterThan(Integer value) {
+        public Criteria andMemberIdGreaterThan(String value) {
             addCriterion("member_id >", value, "memberId");
             return (Criteria) this;
         }
 
-        public Criteria andMemberIdGreaterThanOrEqualTo(Integer value) {
+        public Criteria andMemberIdGreaterThanOrEqualTo(String value) {
             addCriterion("member_id >=", value, "memberId");
             return (Criteria) this;
         }
 
-        public Criteria andMemberIdLessThan(Integer value) {
+        public Criteria andMemberIdLessThan(String value) {
             addCriterion("member_id <", value, "memberId");
             return (Criteria) this;
         }
 
-        public Criteria andMemberIdLessThanOrEqualTo(Integer value) {
+        public Criteria andMemberIdLessThanOrEqualTo(String value) {
             addCriterion("member_id <=", value, "memberId");
             return (Criteria) this;
         }
 
-        public Criteria andMemberIdIn(List<Integer> values) {
+        public Criteria andMemberIdLike(String value) {
+            addCriterion("member_id like", value, "memberId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMemberIdNotLike(String value) {
+            addCriterion("member_id not like", value, "memberId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMemberIdIn(List<String> values) {
             addCriterion("member_id in", values, "memberId");
             return (Criteria) this;
         }
 
-        public Criteria andMemberIdNotIn(List<Integer> values) {
+        public Criteria andMemberIdNotIn(List<String> values) {
             addCriterion("member_id not in", values, "memberId");
             return (Criteria) this;
         }
 
-        public Criteria andMemberIdBetween(Integer value1, Integer value2) {
+        public Criteria andMemberIdBetween(String value1, String value2) {
             addCriterion("member_id between", value1, value2, "memberId");
             return (Criteria) this;
         }
 
-        public Criteria andMemberIdNotBetween(Integer value1, Integer value2) {
+        public Criteria andMemberIdNotBetween(String value1, String value2) {
             addCriterion("member_id not between", value1, value2, "memberId");
             return (Criteria) this;
         }
@@ -269,47 +279,57 @@ public class MemberExample {
             return (Criteria) this;
         }
 
-        public Criteria andTrainingIdNotEqualTo(Integer value) {
+        public Criteria andTrainingIdNotEqualTo(String value) {
             addCriterion("training_id <>", value, "trainingId");
             return (Criteria) this;
         }
 
-        public Criteria andTrainingIdGreaterThan(Integer value) {
+        public Criteria andTrainingIdGreaterThan(String value) {
             addCriterion("training_id >", value, "trainingId");
             return (Criteria) this;
         }
 
-        public Criteria andTrainingIdGreaterThanOrEqualTo(Integer value) {
+        public Criteria andTrainingIdGreaterThanOrEqualTo(String value) {
             addCriterion("training_id >=", value, "trainingId");
             return (Criteria) this;
         }
 
-        public Criteria andTrainingIdLessThan(Integer value) {
+        public Criteria andTrainingIdLessThan(String value) {
             addCriterion("training_id <", value, "trainingId");
             return (Criteria) this;
         }
 
-        public Criteria andTrainingIdLessThanOrEqualTo(Integer value) {
+        public Criteria andTrainingIdLessThanOrEqualTo(String value) {
             addCriterion("training_id <=", value, "trainingId");
             return (Criteria) this;
         }
 
-        public Criteria andTrainingIdIn(List<Integer> values) {
+        public Criteria andTrainingIdLike(String value) {
+            addCriterion("training_id like", value, "trainingId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingIdNotLike(String value) {
+            addCriterion("training_id not like", value, "trainingId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingIdIn(List<String> values) {
             addCriterion("training_id in", values, "trainingId");
             return (Criteria) this;
         }
 
-        public Criteria andTrainingIdNotIn(List<Integer> values) {
+        public Criteria andTrainingIdNotIn(List<String> values) {
             addCriterion("training_id not in", values, "trainingId");
             return (Criteria) this;
         }
 
-        public Criteria andTrainingIdBetween(Integer value1, Integer value2) {
+        public Criteria andTrainingIdBetween(String value1, String value2) {
             addCriterion("training_id between", value1, value2, "trainingId");
             return (Criteria) this;
         }
 
-        public Criteria andTrainingIdNotBetween(Integer value1, Integer value2) {
+        public Criteria andTrainingIdNotBetween(String value1, String value2) {
             addCriterion("training_id not between", value1, value2, "trainingId");
             return (Criteria) this;
         }
@@ -1313,13 +1333,213 @@ public class MemberExample {
             addCriterion("closing_trades not between", value1, value2, "closingTrades");
             return (Criteria) this;
         }
+
+        public Criteria andSchoolIdIsNull() {
+            addCriterion("school_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSchoolIdIsNotNull() {
+            addCriterion("school_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSchoolIdEqualTo(Integer value) {
+            addCriterion("school_id =", value, "schoolId");
+            return (Criteria) this;
+        }
+
+        public Criteria andSchoolIdNotEqualTo(Integer value) {
+            addCriterion("school_id <>", value, "schoolId");
+            return (Criteria) this;
+        }
+
+        public Criteria andSchoolIdGreaterThan(Integer value) {
+            addCriterion("school_id >", value, "schoolId");
+            return (Criteria) this;
+        }
+
+        public Criteria andSchoolIdGreaterThanOrEqualTo(Integer value) {
+            addCriterion("school_id >=", value, "schoolId");
+            return (Criteria) this;
+        }
+
+        public Criteria andSchoolIdLessThan(Integer value) {
+            addCriterion("school_id <", value, "schoolId");
+            return (Criteria) this;
+        }
+
+        public Criteria andSchoolIdLessThanOrEqualTo(Integer value) {
+            addCriterion("school_id <=", value, "schoolId");
+            return (Criteria) this;
+        }
+
+        public Criteria andSchoolIdIn(List<Integer> values) {
+            addCriterion("school_id in", values, "schoolId");
+            return (Criteria) this;
+        }
+
+        public Criteria andSchoolIdNotIn(List<Integer> values) {
+            addCriterion("school_id not in", values, "schoolId");
+            return (Criteria) this;
+        }
+
+        public Criteria andSchoolIdBetween(Integer value1, Integer value2) {
+            addCriterion("school_id between", value1, value2, "schoolId");
+            return (Criteria) this;
+        }
+
+        public Criteria andSchoolIdNotBetween(Integer value1, Integer value2) {
+            addCriterion("school_id not between", value1, value2, "schoolId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolIsNull() {
+            addCriterion("create_school is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolIsNotNull() {
+            addCriterion("create_school is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolEqualTo(String value) {
+            addCriterion("create_school =", value, "createSchool");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolNotEqualTo(String value) {
+            addCriterion("create_school <>", value, "createSchool");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolGreaterThan(String value) {
+            addCriterion("create_school >", value, "createSchool");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolGreaterThanOrEqualTo(String value) {
+            addCriterion("create_school >=", value, "createSchool");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolLessThan(String value) {
+            addCriterion("create_school <", value, "createSchool");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolLessThanOrEqualTo(String value) {
+            addCriterion("create_school <=", value, "createSchool");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolLike(String value) {
+            addCriterion("create_school like", value, "createSchool");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolNotLike(String value) {
+            addCriterion("create_school not like", value, "createSchool");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolIn(List<String> values) {
+            addCriterion("create_school in", values, "createSchool");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolNotIn(List<String> values) {
+            addCriterion("create_school not in", values, "createSchool");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolBetween(String value1, String value2) {
+            addCriterion("create_school between", value1, value2, "createSchool");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateSchoolNotBetween(String value1, String value2) {
+            addCriterion("create_school not between", value1, value2, "createSchool");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameIsNull() {
+            addCriterion("training_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameIsNotNull() {
+            addCriterion("training_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameEqualTo(String value) {
+            addCriterion("training_name =", value, "trainingName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameNotEqualTo(String value) {
+            addCriterion("training_name <>", value, "trainingName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameGreaterThan(String value) {
+            addCriterion("training_name >", value, "trainingName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameGreaterThanOrEqualTo(String value) {
+            addCriterion("training_name >=", value, "trainingName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameLessThan(String value) {
+            addCriterion("training_name <", value, "trainingName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameLessThanOrEqualTo(String value) {
+            addCriterion("training_name <=", value, "trainingName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameLike(String value) {
+            addCriterion("training_name like", value, "trainingName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameNotLike(String value) {
+            addCriterion("training_name not like", value, "trainingName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameIn(List<String> values) {
+            addCriterion("training_name in", values, "trainingName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameNotIn(List<String> values) {
+            addCriterion("training_name not in", values, "trainingName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameBetween(String value1, String value2) {
+            addCriterion("training_name between", value1, value2, "trainingName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTrainingNameNotBetween(String value1, String value2) {
+            addCriterion("training_name not between", value1, value2, "trainingName");
+            return (Criteria) this;
+        }
     }
 
     /**
      * This class was generated by MyBatis Generator.
      * This class corresponds to the database table sys_member
      *
-     * @mbg.generated do_not_delete_during_merge Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated do_not_delete_during_merge Fri Jun 30 10:29:24 CST 2023
      */
     public static class Criteria extends GeneratedCriteria {
         protected Criteria() {
@@ -1331,7 +1551,7 @@ public class MemberExample {
      * This class was generated by MyBatis Generator.
      * This class corresponds to the database table sys_member
      *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
+     * @mbg.generated Fri Jun 30 10:29:24 CST 2023
      */
     public static class Criterion {
         private String condition;
diff --git a/src/main/java/com/sztzjy/forex/trading_trading/mappers/MemberMapper.java b/src/main/java/com/sztzjy/forex/trading_trading/mappers/MemberMapper.java
deleted file mode 100644
index a5c3a80..0000000
--- a/src/main/java/com/sztzjy/forex/trading_trading/mappers/MemberMapper.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package com.sztzjy.forex.trading_trading.mappers;
-
-import com.sztzjy.forex.trading_trading.entity.Member;
-import com.sztzjy.forex.trading_trading.entity.MemberExample;
-import java.util.List;
-
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-@Mapper
-public interface MemberMapper {
-    List<String> selectClassGrade();
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table sys_member
-     *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
-     */
-    long countByExample(MemberExample example);
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table sys_member
-     *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
-     */
-    int deleteByExample(MemberExample example);
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table sys_member
-     *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
-     */
-    int deleteByPrimaryKey(Integer memberId);
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table sys_member
-     *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
-     */
-    int insert(Member record);
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table sys_member
-     *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
-     */
-    int insertSelective(Member record);
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table sys_member
-     *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
-     */
-    List<Member> selectByExample(MemberExample example);
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table sys_member
-     *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
-     */
-    Member selectByPrimaryKey(Integer memberId);
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table sys_member
-     *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
-     */
-    int updateByExampleSelective(@Param("record") Member record, @Param("example") MemberExample example);
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table sys_member
-     *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
-     */
-    int updateByExample(@Param("record") Member record, @Param("example") MemberExample example);
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table sys_member
-     *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
-     */
-    int updateByPrimaryKeySelective(Member record);
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table sys_member
-     *
-     * @mbg.generated Thu Jun 29 11:19:15 CST 2023
-     */
-    int updateByPrimaryKey(Member record);
-}
\ No newline at end of file
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 7eea61e..59904fb 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
@@ -13,7 +13,7 @@ public class MemberService  {
     @Autowired
     MemberMapper memberMapper;
 
-    public Member getMemberByMemberIdAndTrainingId(Integer memberId,String trainingId){
+    public Member getMemberByMemberIdAndTrainingId(String memberId,String trainingId){
         MemberExample example = new MemberExample();
         MemberExample.Criteria criteria = example.createCriteria();
         criteria.andMemberIdEqualTo(memberId);
@@ -21,4 +21,8 @@ public class MemberService  {
         List<Member> members = memberMapper.selectByExample(example);
         return members.get(0);
     }
+
+    public void updateByPrimaryKey(Member member){
+        memberMapper.updateByPrimaryKey(member);
+    }
 }
diff --git a/src/main/resources/generatorConfig.xml b/src/main/resources/generatorConfig.xml
index 84ae147..4fa3b9e 100644
--- a/src/main/resources/generatorConfig.xml
+++ b/src/main/resources/generatorConfig.xml
@@ -24,7 +24,8 @@
         </javaClientGenerator>
 
         <!-- 需要生成的表 -->
-        <table tableName="sys_member" domainObjectName="Member" />
+<!--        <table tableName="sys_member" domainObjectName="Member" />-->
+        <table tableName="sys_take_stash" domainObjectName="TakeStash" />
 
     </context>
 
diff --git a/src/main/resources/mappers/MemberMapper.xml b/src/main/resources/mappers/MemberMapper.xml
deleted file mode 100644
index 2f5c022..0000000
--- a/src/main/resources/mappers/MemberMapper.xml
+++ /dev/null
@@ -1,497 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.sztzjy.forex.trading_trading.mappers.MemberMapper">
-  <resultMap id="BaseResultMap" type="com.sztzjy.forex.trading_trading.entity.Member">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    <id column="member_id" jdbcType="INTEGER" property="memberId" />
-    <result column="training_id" jdbcType="INTEGER" property="trainingId" />
-    <result column="name" jdbcType="VARCHAR" property="name" />
-    <result column="student_number" jdbcType="VARCHAR" property="studentNumber" />
-    <result column="major" jdbcType="VARCHAR" property="major" />
-    <result column="class_grade" jdbcType="VARCHAR" property="classGrade" />
-    <result column="stu_rank" jdbcType="INTEGER" property="stuRank" />
-    <result column="initial_capital" jdbcType="DOUBLE" property="initialCapital" />
-    <result column="total_assets" jdbcType="DOUBLE" property="totalAssets" />
-    <result column="net_value" jdbcType="DOUBLE" property="netValue" />
-    <result column="margin_used" jdbcType="DOUBLE" property="marginUsed" />
-    <result column="available_funds" jdbcType="DOUBLE" property="availableFunds" />
-    <result column="margin_level" jdbcType="DOUBLE" property="marginLevel" />
-    <result column="position_profit_loss" jdbcType="DOUBLE" property="positionProfitLoss" />
-    <result column="cumulative_profit_loss" jdbcType="DOUBLE" property="cumulativeProfitLoss" />
-    <result column="yield" jdbcType="DOUBLE" property="yield" />
-    <result column="opening_trades" jdbcType="INTEGER" property="openingTrades" />
-    <result column="closing_trades" jdbcType="INTEGER" property="closingTrades" />
-  </resultMap>
-  <sql id="Example_Where_Clause">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    <where>
-      <foreach collection="oredCriteria" item="criteria" separator="or">
-        <if test="criteria.valid">
-          <trim prefix="(" prefixOverrides="and" suffix=")">
-            <foreach collection="criteria.criteria" item="criterion">
-              <choose>
-                <when test="criterion.noValue">
-                  and ${criterion.condition}
-                </when>
-                <when test="criterion.singleValue">
-                  and ${criterion.condition} #{criterion.value}
-                </when>
-                <when test="criterion.betweenValue">
-                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
-                </when>
-                <when test="criterion.listValue">
-                  and ${criterion.condition}
-                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
-                    #{listItem}
-                  </foreach>
-                </when>
-              </choose>
-            </foreach>
-          </trim>
-        </if>
-      </foreach>
-    </where>
-  </sql>
-  <sql id="Update_By_Example_Where_Clause">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    <where>
-      <foreach collection="example.oredCriteria" item="criteria" separator="or">
-        <if test="criteria.valid">
-          <trim prefix="(" prefixOverrides="and" suffix=")">
-            <foreach collection="criteria.criteria" item="criterion">
-              <choose>
-                <when test="criterion.noValue">
-                  and ${criterion.condition}
-                </when>
-                <when test="criterion.singleValue">
-                  and ${criterion.condition} #{criterion.value}
-                </when>
-                <when test="criterion.betweenValue">
-                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
-                </when>
-                <when test="criterion.listValue">
-                  and ${criterion.condition}
-                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
-                    #{listItem}
-                  </foreach>
-                </when>
-              </choose>
-            </foreach>
-          </trim>
-        </if>
-      </foreach>
-    </where>
-  </sql>
-  <sql id="Base_Column_List">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    member_id, training_id, name, student_number, major, class_grade, stu_rank, initial_capital, 
-    total_assets, net_value, margin_used, available_funds, margin_level, position_profit_loss, 
-    cumulative_profit_loss, yield, opening_trades, closing_trades
-  </sql>
-  <select id="selectByExample" parameterType="com.sztzjy.forex.trading_trading.entity.MemberExample" resultMap="BaseResultMap">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    select
-    <if test="distinct">
-      distinct
-    </if>
-    <include refid="Base_Column_List" />
-    from sys_member
-    <if test="_parameter != null">
-      <include refid="Example_Where_Clause" />
-    </if>
-    <if test="orderByClause != null">
-      order by ${orderByClause}
-    </if>
-  </select>
-  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    select 
-    <include refid="Base_Column_List" />
-    from sys_member
-    where member_id = #{memberId,jdbcType=INTEGER}
-  </select>
-  <select id="selectClassGrade" resultType="java.lang.String">
-    SELECT class_grade
-    FROM sys_member
-  </select>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    delete from sys_member
-    where member_id = #{memberId,jdbcType=INTEGER}
-  </delete>
-  <delete id="deleteByExample" parameterType="com.sztzjy.forex.trading_trading.entity.MemberExample">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    delete from sys_member
-    <if test="_parameter != null">
-      <include refid="Example_Where_Clause" />
-    </if>
-  </delete>
-  <insert id="insert" parameterType="com.sztzjy.forex.trading_trading.entity.Member">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    insert into sys_member (member_id, training_id, name, 
-      student_number, major, class_grade, 
-      stu_rank, initial_capital, total_assets, 
-      net_value, margin_used, available_funds, 
-      margin_level, position_profit_loss, cumulative_profit_loss, 
-      yield, opening_trades, closing_trades
-      )
-    values (#{memberId,jdbcType=INTEGER}, #{trainingId,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, 
-      #{studentNumber,jdbcType=VARCHAR}, #{major,jdbcType=VARCHAR}, #{classGrade,jdbcType=VARCHAR}, 
-      #{stuRank,jdbcType=INTEGER}, #{initialCapital,jdbcType=DOUBLE}, #{totalAssets,jdbcType=DOUBLE}, 
-      #{netValue,jdbcType=DOUBLE}, #{marginUsed,jdbcType=DOUBLE}, #{availableFunds,jdbcType=DOUBLE}, 
-      #{marginLevel,jdbcType=DOUBLE}, #{positionProfitLoss,jdbcType=DOUBLE}, #{cumulativeProfitLoss,jdbcType=DOUBLE}, 
-      #{yield,jdbcType=DOUBLE}, #{openingTrades,jdbcType=INTEGER}, #{closingTrades,jdbcType=INTEGER}
-      )
-  </insert>
-  <insert id="insertSelective" parameterType="com.sztzjy.forex.trading_trading.entity.Member">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    insert into sys_member
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="memberId != null">
-        member_id,
-      </if>
-      <if test="trainingId != null">
-        training_id,
-      </if>
-      <if test="name != null">
-        name,
-      </if>
-      <if test="studentNumber != null">
-        student_number,
-      </if>
-      <if test="major != null">
-        major,
-      </if>
-      <if test="classGrade != null">
-        class_grade,
-      </if>
-      <if test="stuRank != null">
-        stu_rank,
-      </if>
-      <if test="initialCapital != null">
-        initial_capital,
-      </if>
-      <if test="totalAssets != null">
-        total_assets,
-      </if>
-      <if test="netValue != null">
-        net_value,
-      </if>
-      <if test="marginUsed != null">
-        margin_used,
-      </if>
-      <if test="availableFunds != null">
-        available_funds,
-      </if>
-      <if test="marginLevel != null">
-        margin_level,
-      </if>
-      <if test="positionProfitLoss != null">
-        position_profit_loss,
-      </if>
-      <if test="cumulativeProfitLoss != null">
-        cumulative_profit_loss,
-      </if>
-      <if test="yield != null">
-        yield,
-      </if>
-      <if test="openingTrades != null">
-        opening_trades,
-      </if>
-      <if test="closingTrades != null">
-        closing_trades,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-      <if test="memberId != null">
-        #{memberId,jdbcType=INTEGER},
-      </if>
-      <if test="trainingId != null">
-        #{trainingId,jdbcType=INTEGER},
-      </if>
-      <if test="name != null">
-        #{name,jdbcType=VARCHAR},
-      </if>
-      <if test="studentNumber != null">
-        #{studentNumber,jdbcType=VARCHAR},
-      </if>
-      <if test="major != null">
-        #{major,jdbcType=VARCHAR},
-      </if>
-      <if test="classGrade != null">
-        #{classGrade,jdbcType=VARCHAR},
-      </if>
-      <if test="stuRank != null">
-        #{stuRank,jdbcType=INTEGER},
-      </if>
-      <if test="initialCapital != null">
-        #{initialCapital,jdbcType=DOUBLE},
-      </if>
-      <if test="totalAssets != null">
-        #{totalAssets,jdbcType=DOUBLE},
-      </if>
-      <if test="netValue != null">
-        #{netValue,jdbcType=DOUBLE},
-      </if>
-      <if test="marginUsed != null">
-        #{marginUsed,jdbcType=DOUBLE},
-      </if>
-      <if test="availableFunds != null">
-        #{availableFunds,jdbcType=DOUBLE},
-      </if>
-      <if test="marginLevel != null">
-        #{marginLevel,jdbcType=DOUBLE},
-      </if>
-      <if test="positionProfitLoss != null">
-        #{positionProfitLoss,jdbcType=DOUBLE},
-      </if>
-      <if test="cumulativeProfitLoss != null">
-        #{cumulativeProfitLoss,jdbcType=DOUBLE},
-      </if>
-      <if test="yield != null">
-        #{yield,jdbcType=DOUBLE},
-      </if>
-      <if test="openingTrades != null">
-        #{openingTrades,jdbcType=INTEGER},
-      </if>
-      <if test="closingTrades != null">
-        #{closingTrades,jdbcType=INTEGER},
-      </if>
-    </trim>
-  </insert>
-  <select id="countByExample" parameterType="com.sztzjy.forex.trading_trading.entity.MemberExample" resultType="java.lang.Long">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    select count(*) from sys_member
-    <if test="_parameter != null">
-      <include refid="Example_Where_Clause" />
-    </if>
-  </select>
-  <update id="updateByExampleSelective" parameterType="map">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    update sys_member
-    <set>
-      <if test="record.memberId != null">
-        member_id = #{record.memberId,jdbcType=INTEGER},
-      </if>
-      <if test="record.trainingId != null">
-        training_id = #{record.trainingId,jdbcType=INTEGER},
-      </if>
-      <if test="record.name != null">
-        name = #{record.name,jdbcType=VARCHAR},
-      </if>
-      <if test="record.studentNumber != null">
-        student_number = #{record.studentNumber,jdbcType=VARCHAR},
-      </if>
-      <if test="record.major != null">
-        major = #{record.major,jdbcType=VARCHAR},
-      </if>
-      <if test="record.classGrade != null">
-        class_grade = #{record.classGrade,jdbcType=VARCHAR},
-      </if>
-      <if test="record.stuRank != null">
-        stu_rank = #{record.stuRank,jdbcType=INTEGER},
-      </if>
-      <if test="record.initialCapital != null">
-        initial_capital = #{record.initialCapital,jdbcType=DOUBLE},
-      </if>
-      <if test="record.totalAssets != null">
-        total_assets = #{record.totalAssets,jdbcType=DOUBLE},
-      </if>
-      <if test="record.netValue != null">
-        net_value = #{record.netValue,jdbcType=DOUBLE},
-      </if>
-      <if test="record.marginUsed != null">
-        margin_used = #{record.marginUsed,jdbcType=DOUBLE},
-      </if>
-      <if test="record.availableFunds != null">
-        available_funds = #{record.availableFunds,jdbcType=DOUBLE},
-      </if>
-      <if test="record.marginLevel != null">
-        margin_level = #{record.marginLevel,jdbcType=DOUBLE},
-      </if>
-      <if test="record.positionProfitLoss != null">
-        position_profit_loss = #{record.positionProfitLoss,jdbcType=DOUBLE},
-      </if>
-      <if test="record.cumulativeProfitLoss != null">
-        cumulative_profit_loss = #{record.cumulativeProfitLoss,jdbcType=DOUBLE},
-      </if>
-      <if test="record.yield != null">
-        yield = #{record.yield,jdbcType=DOUBLE},
-      </if>
-      <if test="record.openingTrades != null">
-        opening_trades = #{record.openingTrades,jdbcType=INTEGER},
-      </if>
-      <if test="record.closingTrades != null">
-        closing_trades = #{record.closingTrades,jdbcType=INTEGER},
-      </if>
-    </set>
-    <if test="_parameter != null">
-      <include refid="Update_By_Example_Where_Clause" />
-    </if>
-  </update>
-  <update id="updateByExample" parameterType="map">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    update sys_member
-    set member_id = #{record.memberId,jdbcType=INTEGER},
-      training_id = #{record.trainingId,jdbcType=INTEGER},
-      name = #{record.name,jdbcType=VARCHAR},
-      student_number = #{record.studentNumber,jdbcType=VARCHAR},
-      major = #{record.major,jdbcType=VARCHAR},
-      class_grade = #{record.classGrade,jdbcType=VARCHAR},
-      stu_rank = #{record.stuRank,jdbcType=INTEGER},
-      initial_capital = #{record.initialCapital,jdbcType=DOUBLE},
-      total_assets = #{record.totalAssets,jdbcType=DOUBLE},
-      net_value = #{record.netValue,jdbcType=DOUBLE},
-      margin_used = #{record.marginUsed,jdbcType=DOUBLE},
-      available_funds = #{record.availableFunds,jdbcType=DOUBLE},
-      margin_level = #{record.marginLevel,jdbcType=DOUBLE},
-      position_profit_loss = #{record.positionProfitLoss,jdbcType=DOUBLE},
-      cumulative_profit_loss = #{record.cumulativeProfitLoss,jdbcType=DOUBLE},
-      yield = #{record.yield,jdbcType=DOUBLE},
-      opening_trades = #{record.openingTrades,jdbcType=INTEGER},
-      closing_trades = #{record.closingTrades,jdbcType=INTEGER}
-    <if test="_parameter != null">
-      <include refid="Update_By_Example_Where_Clause" />
-    </if>
-  </update>
-  <update id="updateByPrimaryKeySelective" parameterType="com.sztzjy.forex.trading_trading.entity.Member">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    update sys_member
-    <set>
-      <if test="trainingId != null">
-        training_id = #{trainingId,jdbcType=INTEGER},
-      </if>
-      <if test="name != null">
-        name = #{name,jdbcType=VARCHAR},
-      </if>
-      <if test="studentNumber != null">
-        student_number = #{studentNumber,jdbcType=VARCHAR},
-      </if>
-      <if test="major != null">
-        major = #{major,jdbcType=VARCHAR},
-      </if>
-      <if test="classGrade != null">
-        class_grade = #{classGrade,jdbcType=VARCHAR},
-      </if>
-      <if test="stuRank != null">
-        stu_rank = #{stuRank,jdbcType=INTEGER},
-      </if>
-      <if test="initialCapital != null">
-        initial_capital = #{initialCapital,jdbcType=DOUBLE},
-      </if>
-      <if test="totalAssets != null">
-        total_assets = #{totalAssets,jdbcType=DOUBLE},
-      </if>
-      <if test="netValue != null">
-        net_value = #{netValue,jdbcType=DOUBLE},
-      </if>
-      <if test="marginUsed != null">
-        margin_used = #{marginUsed,jdbcType=DOUBLE},
-      </if>
-      <if test="availableFunds != null">
-        available_funds = #{availableFunds,jdbcType=DOUBLE},
-      </if>
-      <if test="marginLevel != null">
-        margin_level = #{marginLevel,jdbcType=DOUBLE},
-      </if>
-      <if test="positionProfitLoss != null">
-        position_profit_loss = #{positionProfitLoss,jdbcType=DOUBLE},
-      </if>
-      <if test="cumulativeProfitLoss != null">
-        cumulative_profit_loss = #{cumulativeProfitLoss,jdbcType=DOUBLE},
-      </if>
-      <if test="yield != null">
-        yield = #{yield,jdbcType=DOUBLE},
-      </if>
-      <if test="openingTrades != null">
-        opening_trades = #{openingTrades,jdbcType=INTEGER},
-      </if>
-      <if test="closingTrades != null">
-        closing_trades = #{closingTrades,jdbcType=INTEGER},
-      </if>
-    </set>
-    where member_id = #{memberId,jdbcType=INTEGER}
-  </update>
-  <update id="updateByPrimaryKey" parameterType="com.sztzjy.forex.trading_trading.entity.Member">
-    <!--
-      WARNING - @mbg.generated
-      This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Thu Jun 29 11:19:15 CST 2023.
-    -->
-    update sys_member
-    set training_id = #{trainingId,jdbcType=INTEGER},
-      name = #{name,jdbcType=VARCHAR},
-      student_number = #{studentNumber,jdbcType=VARCHAR},
-      major = #{major,jdbcType=VARCHAR},
-      class_grade = #{classGrade,jdbcType=VARCHAR},
-      stu_rank = #{stuRank,jdbcType=INTEGER},
-      initial_capital = #{initialCapital,jdbcType=DOUBLE},
-      total_assets = #{totalAssets,jdbcType=DOUBLE},
-      net_value = #{netValue,jdbcType=DOUBLE},
-      margin_used = #{marginUsed,jdbcType=DOUBLE},
-      available_funds = #{availableFunds,jdbcType=DOUBLE},
-      margin_level = #{marginLevel,jdbcType=DOUBLE},
-      position_profit_loss = #{positionProfitLoss,jdbcType=DOUBLE},
-      cumulative_profit_loss = #{cumulativeProfitLoss,jdbcType=DOUBLE},
-      yield = #{yield,jdbcType=DOUBLE},
-      opening_trades = #{openingTrades,jdbcType=INTEGER},
-      closing_trades = #{closingTrades,jdbcType=INTEGER}
-    where member_id = #{memberId,jdbcType=INTEGER}
-  </update>
-</mapper>
\ No newline at end of file