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 9aca402..dba5f25 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
@@ -22,6 +22,7 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.util.Assert;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.w3c.dom.stylesheets.LinkStyle;
 
@@ -47,20 +48,18 @@ public class TrainingController {
     @ApiOperation("教师端----新增一条实训记录")
     @PostMapping("create")
     public ResultEntity create(@RequestBody TrainingBO bo) {
+        Assert.notNull(bo.getClassId(),"请选择班级");
         JwtUser currentUser = TokenProvider.getJWTUser(request);
+
         Training training = trainingService.create(bo, currentUser);
-        List<Map<String, Object>> maps;
-        if (bo.getMajorId() == null || bo.getMajorId() == 0) {
-            maps = TzApi.GetClassBySchoolIdForForeignExchangeTrading(currentUser);
-        } else {
-            maps = TzApi.GetClassByMajorIdForForeignExchangeTrading(currentUser, bo.getMajorId());
-        }
-        String classIds = maps.stream()
-                .map(map -> String.valueOf(map.get("id")))
+        String classIds = bo.getClassId().stream()
+                .map(String::valueOf)
                 .collect(Collectors.joining(","));
         List<Map<String, Object>> studentInfos = TzApi.GetStudentInfoByClassIdForForeignExchangeTrading(classIds, currentUser);
         List<Member> members = buildMembers(studentInfos, training);
         if (members != null && members.size() > 0) memberService.insertAll(members);
+        training.setPeopleCount(members.size());
+        trainingService.update(training);
         return new ResultEntity(HttpStatus.OK);
     }
 
@@ -134,7 +133,13 @@ public class TrainingController {
                                                                                  @ApiParam("页量") Integer size,
                                                                                  @ApiParam("班级id列表") @RequestParam List<Integer> classIds) {
         JwtUser currentUser = TokenProvider.getJWTUser(request);
-        return new ResultEntity<PageInfo<Map<String, Object>>>(HttpStatus.OK, TzApi.PagedListStudentInfoByClassIdForForeignExchangeTrading(currentUser, String.join(",", classIds.toString()), index, size));
+        return new ResultEntity<PageInfo<Map<String, Object>>>(HttpStatus.OK, TzApi.PagedListStudentInfoByClassIdForForeignExchangeTrading(
+                currentUser,
+                classIds.stream()
+                        .map(String::valueOf)
+                        .collect(Collectors.joining(",")),
+                index,
+                size));
     }
 
     @Permission(codes = PermissionType.TRAINING_MANAGEMENT_ADD)
@@ -153,6 +158,39 @@ public class TrainingController {
         return new ResultEntity<List<Map<String, Object>>>(HttpStatus.OK, TzApi.GetMajorIdForForeignExchangeTrading(currentUser));
     }
 
+    @Permission(codes = PermissionType.TRAINING_MANAGEMENT_EDIT)
+    @ApiOperation("教师端----成员管理:在已存在的实训记录添加参赛人员")
+    @PostMapping("addMember")
+    public ResultEntity addMember(@ApiParam("实训记录id") @RequestParam String trainingId,
+                                  @ApiParam("查询关键字:用户名字或学号") @RequestParam String keyword) {
+        Assert.notNull(trainingId, "实训记录不存在");
+        Assert.isTrue(StringUtils.hasText(keyword), "查询关键字不能为空");
+
+        JwtUser currentUser = TokenProvider.getJWTUser(request);
+        Training training = trainingService.findById(Integer.valueOf(trainingId));
+        Assert.notNull(training, "实训记录不存在");
+        List<Map<String, Object>> maps = TzApi.GetStudentInfoByKeywordForForeignExchangeTrading(currentUser, keyword);
+        if (maps == null || maps.size() == 0) {
+            throw new NullPointerException("关键字未查询到用户");
+        }
+        buildMembers(maps, training).forEach(member -> {
+            memberService.insert(member);
+        });
+        return new ResultEntity(HttpStatus.OK);
+    }
+
+
+    @Permission(codes = PermissionType.TRAINING_MANAGEMENT_DEL)
+    @ApiOperation("教师端----成员管理:删除指定大赛的参赛用户")
+    @PostMapping("deleteMember")
+    public ResultEntity deleteMember(String trainingId, String memberId) {
+        Assert.notNull(trainingId, "实训记录不存在");
+        Assert.notNull(memberId, "参赛用户不存在");
+        memberService.deleteById(memberId);
+        return new ResultEntity(HttpStatus.OK);
+    }
+
+
     private List<Member> buildMembers(List<Map<String, Object>> list, Training training) {
         List<Member> members = new ArrayList<>();
         if (list != null && list.size() > 0) {
@@ -160,7 +198,7 @@ public class TrainingController {
             member.setMemberId(IdUtil.simpleUUID());
             member.setName(String.valueOf(list.get(0).get("name")));
             member.setTrainingId(training.getTrainingId());
-            member.setSchoolId(training.getCreateSchoolId());
+            member.setSchoolId(training.getSchoolId());
             member.setClassGrade(String.valueOf(list.get(0).get("className")));
             member.setMajor(String.valueOf(list.get(0).get("majorName")));
             member.setStudentNumber(String.valueOf(list.get(0).get("studentNo")));
diff --git a/src/main/java/com/sztzjy/forex/trading_trading/dto/TrainingBO.java b/src/main/java/com/sztzjy/forex/trading_trading/dto/TrainingBO.java
index 975430d..ea71f4e 100644
--- a/src/main/java/com/sztzjy/forex/trading_trading/dto/TrainingBO.java
+++ b/src/main/java/com/sztzjy/forex/trading_trading/dto/TrainingBO.java
@@ -30,8 +30,6 @@ public class TrainingBO {
     @ApiModelProperty("参加实训人数")
     @JsonIgnore
     private Integer peopleCount;
-    @ApiModelProperty("实训专业")
-    private Integer majorId;
     @ApiModelProperty("实训班级")
     private List<Integer> classId;
 
diff --git a/src/main/java/com/sztzjy/forex/trading_trading/entity/Training.java b/src/main/java/com/sztzjy/forex/trading_trading/entity/Training.java
index e69210c..d84ca8b 100644
--- a/src/main/java/com/sztzjy/forex/trading_trading/entity/Training.java
+++ b/src/main/java/com/sztzjy/forex/trading_trading/entity/Training.java
@@ -66,7 +66,7 @@ public class Training extends Base {
     @ApiModelProperty("创建人Id")
     private Integer creatorId;
 
-    @ApiModelProperty("创建人学校")
+    @ApiModelProperty("创建人名字")
     private String creatorName;
 
     /**
@@ -89,7 +89,7 @@ public class Training extends Base {
 
 
     @ApiModelProperty("创建人所属学校id")
-    private Integer createSchoolId;
+    private Integer schoolId;
 
     /**
      * This method was generated by MyBatis Generator.
@@ -209,12 +209,12 @@ public class Training extends Base {
         this.creatorId = creatorId;
     }
 
-    public Integer getCreateSchoolId() {
-        return createSchoolId;
+    public Integer getSchoolId() {
+        return schoolId;
     }
 
-    public void setCreateSchoolId(Integer createSchoolId) {
-        this.createSchoolId = createSchoolId;
+    public void setSchoolId(Integer schoolId) {
+        this.schoolId = schoolId;
     }
 
     /**
@@ -298,7 +298,7 @@ public class Training extends Base {
         training.creatorId = Integer.valueOf(currentUser.getUserId());
         training.creatorName = currentUser.getName();
         training.createSchool = currentUser.getSchoolName();
-        training.createSchoolId = currentUser.getSchoolId();
+        training.schoolId = currentUser.getSchoolId();
         training.peopleCount = bo.getPeopleCount();
         training.status = startTime > now ? "NOT_STARTED" : "ONGOING";
         return training;
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 53d2474..ae56856 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
@@ -36,4 +36,12 @@ public class MemberService {
             memberMapper.insert(member);
         }
     }
+
+    public void insert(Member member){
+          memberMapper.insert(member);
+    }
+
+    public void deleteById(String memberId){
+        memberMapper.deleteByPrimaryKey(memberId);
+    }
 }
diff --git a/src/main/java/com/sztzjy/forex/trading_trading/service/TrainingService.java b/src/main/java/com/sztzjy/forex/trading_trading/service/TrainingService.java
index 0f9c95c..ac231a2 100644
--- a/src/main/java/com/sztzjy/forex/trading_trading/service/TrainingService.java
+++ b/src/main/java/com/sztzjy/forex/trading_trading/service/TrainingService.java
@@ -47,7 +47,7 @@ public class TrainingService {
             member.setMemberId(IdUtil.simpleUUID());
             member.setName(String.valueOf(list.get(0).get("name")));
             member.setTrainingId(training.getTrainingId());
-            member.setSchoolId(training.getCreateSchoolId());
+            member.setSchoolId(training.getSchoolId());
             member.setClassGrade(String.valueOf(list.get(0).get("className")));
             member.setMajor(String.valueOf(list.get(0).get("majorName")));
             member.setStudentNumber(String.valueOf(list.get(0).get("studentNo")));
@@ -66,6 +66,10 @@ public class TrainingService {
         trainingMapper.deleteByPrimaryKey(id);
     }
 
+    public void update(Training training){
+        trainingMapper.updateByPrimaryKey(training);
+    }
+
     public Training update(Integer id, String name) {
         Training training = findById(id);
         Assert.isTrue(StringUtils.hasText(name), "实训名称不能为空");
diff --git a/src/main/java/com/sztzjy/forex/trading_trading/util/TzApi.java b/src/main/java/com/sztzjy/forex/trading_trading/util/TzApi.java
index 0dd8959..75a7fae 100644
--- a/src/main/java/com/sztzjy/forex/trading_trading/util/TzApi.java
+++ b/src/main/java/com/sztzjy/forex/trading_trading/util/TzApi.java
@@ -158,10 +158,12 @@ public class TzApi {
             JsonNode resultNode = jsonNode.get("result");
             JsonNode dataNode = resultNode.get("data");
             if (dataNode != null) {
-                pageInfo.setPages(resultNode.get("totalPages").asInt());
-                pageInfo.setHasPreviousPage(resultNode.get("hasPreviousPage").asBoolean());
-                pageInfo.setHasNextPage(resultNode.get("hasNextPage").asBoolean());
-                pageInfo.setTotal(resultNode.get("totalCount").asInt());
+                pageInfo.setPages(dataNode.get("totalPages").asInt());
+                pageInfo.setHasPreviousPage(dataNode.get("hasPreviousPage").asBoolean());
+                pageInfo.setHasNextPage(dataNode.get("hasNextPage").asBoolean());
+                pageInfo.setTotal(dataNode.get("totalCount").asInt());
+                pageInfo.setPageNum(dataNode.get("pageIndex").asInt());
+                pageInfo.setPageSize(dataNode.get("pageSize").asInt());
                 JsonNode retNode = dataNode.get("data");
                 List<Map<String,Object>> dataList = new ArrayList<>();
                 if(retNode.isArray()){
diff --git a/src/main/resources/mappers/TrainingMapper.xml b/src/main/resources/mappers/TrainingMapper.xml
index e1f91de..9bb1f6f 100644
--- a/src/main/resources/mappers/TrainingMapper.xml
+++ b/src/main/resources/mappers/TrainingMapper.xml
@@ -18,7 +18,7 @@
     <result column="creator_name" jdbcType="VARCHAR" property="creatorName" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
     <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
-    <result column="create_school_id" jdbcType="INTEGER" property="createSchoolId" />
+    <result column="school_id" jdbcType="INTEGER" property="schoolId" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <!--
@@ -95,7 +95,7 @@
       This element was generated on Thu Jun 29 18:43:01 CST 2023.
     -->
     training_id, people_count, start_time, end_time, status, creator_id, create_school,
-    training_name, creator_name, create_time, update_time, create_school_id
+    training_name, creator_name, create_time, update_time, school_id
   </sql>
   <select id="selectByExample" parameterType="com.sztzjy.forex.trading_trading.entity.TrainingExample" resultMap="BaseResultMap">
     <!--
@@ -156,12 +156,12 @@
     insert into sys_training (training_id, people_count, start_time,
       end_time, status, creator_id,
       create_school, training_name, creator_name,
-      create_time, update_time, create_school_id
+      create_time, update_time, school_id
       )
     values (#{trainingId,jdbcType=INTEGER}, #{peopleCount,jdbcType=INTEGER}, #{startTime,jdbcType=VARCHAR},
       #{endTime,jdbcType=TIMESTAMP}, #{status,jdbcType=VARCHAR}, #{creatorId,jdbcType=INTEGER},
       #{createSchool,jdbcType=VARCHAR}, #{trainingName,jdbcType=VARCHAR}, #{creatorName,jdbcType=VARCHAR},
-      #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{createSchoolId,jdbcType=INTEGER}
+      #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{schoolId,jdbcType=INTEGER}
       )
   </insert>
   <insert id="insertSelective" parameterType="com.sztzjy.forex.trading_trading.entity.Training">
@@ -205,8 +205,8 @@
       <if test="updateTime != null">
         update_time,
       </if>
-      <if test="createSchoolId != null">
-        create_school_id,
+      <if test="schoolId != null">
+        school_id,
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -243,8 +243,8 @@
       <if test="updateTime != null">
         #{updateTime,jdbcType=TIMESTAMP},
       </if>
-      <if test="createSchoolId != null">
-        #{createSchoolId,jdbcType=INTEGER},
+      <if test="schoolId != null">
+        #{schoolId,jdbcType=INTEGER},
       </if>
     </trim>
   </insert>
@@ -300,8 +300,8 @@
       <if test="record.updateTime != null">
         update_time = #{record.updateTime,jdbcType=TIMESTAMP},
       </if>
-      <if test="record.createSchoolId != null">
-        create_school_id = #{record.createSchoolId,jdbcType=INTEGER},
+      <if test="record.schoolId != null">
+        school_id = #{record.schoolId,jdbcType=INTEGER},
       </if>
     </set>
     <if test="_parameter != null">
@@ -326,7 +326,7 @@
       creator_name = #{record.creatorName,jdbcType=VARCHAR},
       create_time = #{record.createTime,jdbcType=TIMESTAMP},
       update_time = #{record.updateTime,jdbcType=TIMESTAMP},
-      create_school_id = #{record.createSchoolId,jdbcType=INTEGER}
+      school_id = #{record.schoolId,jdbcType=INTEGER}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -369,8 +369,8 @@
       <if test="updateTime != null">
         update_time = #{updateTime,jdbcType=TIMESTAMP},
       </if>
-      <if test="createSchoolId != null">
-        create_school_id = #{createSchoolId,jdbcType=INTEGER},
+      <if test="schoolId != null">
+        school_id = #{schoolId,jdbcType=INTEGER},
       </if>
     </set>
     where training_id = #{trainingId,jdbcType=INTEGER}
@@ -392,7 +392,7 @@
       creator_name = #{creatorName,jdbcType=VARCHAR},
       create_time = #{createTime,jdbcType=TIMESTAMP},
       update_time = #{updateTime,jdbcType=TIMESTAMP},
-      create_school_id = #{createSchoolId,jdbcType=INTEGER}
+      school_id = #{schoolId,jdbcType=INTEGER}
     where training_id = #{trainingId,jdbcType=INTEGER}
   </update>
   <select id="selectByPage" parameterType="com.sztzjy.forex.trading_trading.entity.TrainingExample" resultMap="BaseResultMap">