教师端新增实训

pull/1/head
陈沅 2 years ago
parent cf6eea4975
commit 4d8f4e1903

@ -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")));

@ -30,8 +30,6 @@ public class TrainingBO {
@ApiModelProperty("参加实训人数")
@JsonIgnore
private Integer peopleCount;
@ApiModelProperty("实训专业")
private Integer majorId;
@ApiModelProperty("实训班级")
private List<Integer> classId;

@ -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;

@ -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);
}
}

@ -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), "实训名称不能为空");

@ -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()){

@ -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">

Loading…
Cancel
Save