From 0799c07de989877206f6a85f5080e19cd10c68d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B2=85?= <907037276@qq.com> Date: Wed, 26 Jul 2023 14:58:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E7=BC=96=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TrainingController.java | 41 +++++++++++-------- .../forex/trading_trading/dto/TrainingBO.java | 6 +-- .../mappers/TrainingMapper.java | 8 ++++ .../service/MemberService.java | 1 - .../service/TrainingService.java | 19 ++++++--- 5 files changed, 49 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/sztzjy/forex/trading_trading/controller/TrainingController.java b/src/main/java/com/sztzjy/forex/trading_trading/controller/TrainingController.java index cc428e7..6419ac8 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 @@ -30,9 +30,7 @@ import org.w3c.dom.stylesheets.LinkStyle; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Api(tags = "实训管理") @@ -60,6 +58,9 @@ public class TrainingController { .map(String::valueOf) .collect(Collectors.joining(",")); List> studentInfos = TzApi.GetStudentInfoByClassIdForForeignExchangeTrading(classIds, currentUser); + if (bo.getAddUserInfos() != null && bo.getAddUserInfos().size() > 0) { + studentInfos.addAll(bo.getAddUserInfos()); + } List members = buildMembers(studentInfos, training); if (members != null && members.size() > 0) memberService.insertAll(members); training.setPeopleCount(members.size()); @@ -115,7 +116,7 @@ public class TrainingController { @ApiParam("页量") Integer size) { //TODO 待确认需过滤参数 JwtUser currentUser = TokenProvider.getJWTUser(request); - return new ResultEntity>(HttpStatus.OK, trainingService.pagedListTraining(currentUser.getSchoolId(),index, size)); + return new ResultEntity>(HttpStatus.OK, trainingService.pagedListTraining(currentUser.getSchoolId(), index, size)); } @Permission(codes = PermissionType.TRAINING_MANAGEMENT_SEARCH) @@ -191,6 +192,7 @@ public class TrainingController { memberService.insert(member); buildPracticeMember(member); }); + trainingService.updatePeopleNum(true,trainingId); return new ResultEntity(HttpStatus.OK); } @@ -202,14 +204,19 @@ public class TrainingController { Assert.notNull(trainingId, "实训记录不存在"); Assert.notNull(memberId, "参赛用户不存在"); memberService.deleteById(memberId); + trainingService.updatePeopleNum(false,trainingId); return new ResultEntity(HttpStatus.OK); } private List buildMembers(List> list, Training training) { List members = new ArrayList<>(); + Set userNos = new HashSet<>(); if (list != null && list.size() > 0) { - for(Map map:list){ + for (Map map : list) { + if (!userNos.add(String.valueOf(map.get("studentNo")))) { + continue; + } Member member = new Member(); member.setMemberId(IdUtil.simpleUUID()); member.setName(String.valueOf(map.get("name"))); @@ -228,7 +235,7 @@ public class TrainingController { return members; } - private void buildPracticeMembers(List members){ + private void buildPracticeMembers(List members) { for (int i = 0; i < members.size(); i++) { Member member = members.get(i); member.setMemberId(IdUtil.simpleUUID()); @@ -239,12 +246,12 @@ public class TrainingController { memberService.insertAll(members); } - private void buildPracticeMember(Member member){ - member.setMemberId(IdUtil.simpleUUID()); - member.setTrainingId("999999999"); - member.setTrainingName("AdminStudentPractice"); - member.setSchoolId(999999999); - memberService.insert(member); + private void buildPracticeMember(Member member) { + member.setMemberId(IdUtil.simpleUUID()); + member.setTrainingId("999999999"); + member.setTrainingName("AdminStudentPractice"); + member.setSchoolId(999999999); + memberService.insert(member); } @@ -263,16 +270,16 @@ public class TrainingController { @Permission(codes = PermissionType.TRAINING_MANAGEMENT_SEARCH) @ApiOperation("根据实训记录id获取班级列表") @GetMapping("/findClassListByTrainingId") - public ResultEntity>> findClassListByTrainingId(@ApiParam("实训记录id") @RequestParam String trainingId) { - Assert.hasText(trainingId,"实训记录id不能为空"); - return new ResultEntity>>(HttpStatus.OK, memberService.selectClassListByTrainingId(trainingId)); + public ResultEntity>> findClassListByTrainingId(@ApiParam("实训记录id") @RequestParam String trainingId) { + Assert.hasText(trainingId, "实训记录id不能为空"); + return new ResultEntity>>(HttpStatus.OK, memberService.selectClassListByTrainingId(trainingId)); } @Permission(codes = PermissionType.TRAINING_MANAGEMENT_SEARCH) @ApiOperation("根据班级id获取实训列表") @GetMapping("/findTrainingListByClassId") - public ResultEntity>> findTrainingListByClassId(@ApiParam("实训记录id") String classId) { - if(!StringUtils.hasText(classId)){ + public ResultEntity>> findTrainingListByClassId(@ApiParam("实训记录id") String classId) { + if (!StringUtils.hasText(classId)) { JwtUser user = TokenProvider.getJWTUser(request); return new ResultEntity<>(HttpStatus.OK, memberService.selectAllTrainingList(user.getSchoolId())); } 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 365f71f..f868d72 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 @@ -11,6 +11,7 @@ import org.springframework.data.annotation.Transient; import java.util.Date; import java.util.List; +import java.util.Map; @Data @Getter @@ -21,10 +22,8 @@ public class TrainingBO { @ApiModelProperty("实训开始时间") private Long startTime; - @ApiModelProperty("实训结束时间") private Long endTime; - @ApiModelProperty("实训名称") private String trainingName; @ApiModelProperty("参加实训人数") @@ -32,6 +31,7 @@ public class TrainingBO { private Integer peopleCount; @ApiModelProperty("实训班级") private List classId; - + @ApiModelProperty("单个新增的用户信息") + private List> addUserInfos; } diff --git a/src/main/java/com/sztzjy/forex/trading_trading/mappers/TrainingMapper.java b/src/main/java/com/sztzjy/forex/trading_trading/mappers/TrainingMapper.java index 6b44f57..ab9de39 100644 --- a/src/main/java/com/sztzjy/forex/trading_trading/mappers/TrainingMapper.java +++ b/src/main/java/com/sztzjy/forex/trading_trading/mappers/TrainingMapper.java @@ -2,6 +2,7 @@ package com.sztzjy.forex.trading_trading.mappers; import com.sztzjy.forex.trading_trading.entity.Training; import com.sztzjy.forex.trading_trading.entity.TrainingExample; + import java.util.List; import java.util.Map; @@ -135,4 +136,11 @@ public interface TrainingMapper { @Select("select training_id from sys_training where status= 'FINISHED'") List selectTrainingIdByStatus(); + + @Update("update sys_training set people_num=people_num+1 where training_id=#{trainingId}") + void addPeopleNum(@Param("trainingId") String trainingId); + + @Update("update sys_training set people_num=people_num-1 where training_id=#{trainingId}") + void deletePeopleNum(@Param("trainingId") String trainingId); + } \ 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 cea66e8..29a0158 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 @@ -128,7 +128,6 @@ public class MemberService { orCriteria.andStudentNumberEqualTo("%"+keyword+"%"); example.or(orCriteria); } - example.setOrderByClause("stu_rank ASC"); PageHelper.startPage(index, size); return new PageInfo<>(memberMapper.selectByExample(example)); 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 8c43381..e955638 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 @@ -68,7 +68,7 @@ public class TrainingService { trainingMapper.deleteByPrimaryKey(id); } - public void update(Training training){ + public void update(Training training) { trainingMapper.updateByPrimaryKey(training); } @@ -95,7 +95,7 @@ public class TrainingService { return training.size() > 0; } - public PageInfo pagedListTraining(Integer schoolId,int pageNo, int pageSize) { + public PageInfo pagedListTraining(Integer schoolId, int pageNo, int pageSize) { //TODO 待确定过滤参数 TrainingExample example = new TrainingExample(); TrainingExample.Criteria criteria = example.createCriteria(); @@ -109,7 +109,7 @@ public class TrainingService { } // 我的任务列表 - public PageInfo findTrainingList(Integer index,Integer size,Integer schoolId,String username) { + public PageInfo findTrainingList(Integer index, Integer size, Integer schoolId, String username) { PageHelper.startPage(index, size); MemberExample memberExample = new MemberExample(); MemberExample.Criteria criteria = memberExample.createCriteria(); @@ -134,8 +134,17 @@ public class TrainingService { //查询正在进行中的实训Id - public List selectProceedTraining(){ - List list=trainingMapper.selectProceedTraining(); + public List selectProceedTraining() { + List list = trainingMapper.selectProceedTraining(); return list; } + + public void updatePeopleNum(Boolean mark, String trainingId) { + if (!mark) { + trainingMapper.deletePeopleNum(trainingId); + } else { + trainingMapper.addPeopleNum(trainingId); + } + } + }