新增接口,修改trainingID为String

pull/1/head
xiaoCJ 2 years ago
parent 4d8f4e1903
commit bbdc7334ea

@ -1,7 +1,8 @@
package com.sztzjy.forex.trading_trading.controller;
import com.github.pagehelper.PageInfo;
import com.sztzjy.forex.trading_trading.annotation.AnonymousAccess;
import com.sztzjy.forex.trading_trading.config.security.JwtUser;
import com.sztzjy.forex.trading_trading.config.security.TokenProvider;
import com.sztzjy.forex.trading_trading.entity.Member;
import com.sztzjy.forex.trading_trading.mappers.MemberMapper;
import com.sztzjy.forex.trading_trading.mappers.TrainingMapper;
@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@Api(tags = "首页")
@ -25,6 +27,7 @@ import java.util.List;
@RequestMapping("api/index")
@RequiredArgsConstructor
public class IndexController {
private final HttpServletRequest request;
private final IndexService indexService;
private final TrainingService trainingService;
@ -42,27 +45,31 @@ public class IndexController {
@ApiParam("日期") @RequestParam(required = false) String startTime,
@ApiParam("实训任务名字") @RequestParam(required = false) String trainingName
) {
PageInfo<Member> byConditions = indexService.findByConditions(index, size, classGrade, studentNumber, name, startTime, trainingName);
JwtUser currentUser = TokenProvider.getJWTUser(request);
int schoolId = currentUser.getSchoolId();
PageInfo<Member> byConditions = indexService.findByConditions(index, size, classGrade, studentNumber, name, startTime, trainingName,schoolId);
return new ResultEntity<>(byConditions);
}
//首页下拉获取实训任务名称
@GetMapping("/getTrainingName")
@ApiOperation("首页下拉获取实训任务名称")
@AnonymousAccess
public ResultEntity<List<String>> getTrainingName() {
// List<String> trainingName = trainingMapper.selectTrainingName();
// return new ResultEntity<>(HttpStatus.OK, trainingName);
return new ResultEntity<List<String>>(HttpStatus.OK);
}
// //首页下拉获取实训任务名称
// @GetMapping("/getTrainingName")
// @ApiOperation("首页下拉获取实训任务名称")
// @AnonymousAccess
// public ResultEntity<List<String>> getTrainingName() {
//// List<String> trainingName = trainingMapper.selectTrainingName();
//// return new ResultEntity<>(HttpStatus.OK, trainingName);
// return new ResultEntity<List<String>>(HttpStatus.OK);
// }
//首页下拉获取班级
@GetMapping("/getClassGrade")
@ApiOperation("首页下拉获取班级")
@AnonymousAccess
// @AnonymousAccess
public ResultEntity<List<String>> getClassGrade() {
// List<String> classGrades = memberMapper.selectClassGrade();
// return new ResultEntity<>(HttpStatus.OK, classGrades);
return new ResultEntity<>(HttpStatus.OK);
//获取当前登录用户的信息。和@AnonymousAccess互斥
JwtUser currentUser = TokenProvider.getJWTUser(request);
int schoolId = currentUser.getSchoolId();
List<String> classGrades = memberMapper.selectClassGrade(schoolId);
return new ResultEntity<>(HttpStatus.OK, classGrades);
}
}

@ -67,7 +67,7 @@ public class TrainingController {
@Permission(codes = PermissionType.TRAINING_MANAGEMENT_DEL)
@ApiOperation("教师端----删除一条实训记录")
@PostMapping("deleteById")
public ResultEntity deleteById(@ApiParam("实训记录id") @RequestParam Integer trainingId) {
public ResultEntity deleteById(@ApiParam("实训记录id") @RequestParam String trainingId) {
trainingService.delete(trainingId);
//TODO 同步删除member表数据
return new ResultEntity(HttpStatus.OK);
@ -76,7 +76,7 @@ public class TrainingController {
@Permission(codes = PermissionType.TRAINING_MANAGEMENT_EDIT)
@ApiOperation("教师端----修改一条实训记录")
@PostMapping("update")
public ResultEntity update(@ApiParam("实训记录id") @RequestParam Integer trainingId,
public ResultEntity update(@ApiParam("实训记录id") @RequestParam String trainingId,
@ApiParam("实训记录名字") @RequestParam String trainingName) {
//TODO 暂时只修改实训名字 待后续需求
@ -89,7 +89,7 @@ public class TrainingController {
@ApiOperation("教师端----根据实训记录id查询实训记录")
@GetMapping("training/{id}")
public ResultEntity<Training> get(@ApiParam("实训记录id")
@PathVariable Integer id) {
@PathVariable String id) {
//TODO 后续还有根据实训id查看排行榜等需求待实现
return new ResultEntity<Training>(HttpStatus.OK, trainingService.findById(id));
}
@ -167,7 +167,7 @@ public class TrainingController {
Assert.isTrue(StringUtils.hasText(keyword), "查询关键字不能为空");
JwtUser currentUser = TokenProvider.getJWTUser(request);
Training training = trainingService.findById(Integer.valueOf(trainingId));
Training training = trainingService.findById(trainingId);
Assert.notNull(training, "实训记录不存在");
List<Map<String, Object>> maps = TzApi.GetStudentInfoByKeywordForForeignExchangeTrading(currentUser, keyword);
if (maps == null || maps.size() == 0) {
@ -207,4 +207,16 @@ public class TrainingController {
return members;
}
@Permission(codes = PermissionType.TRAINING_MANAGEMENT_SEARCH)
@ApiOperation("获取我的任务列表")
@GetMapping("/findTrainingList")
// @AnonymousAccess
public ResultEntity<PageInfo<Training>> findTrainingList(@ApiParam("页码") @RequestParam Integer index,
@ApiParam("页量") @RequestParam Integer size) {
JwtUser currentUser = TokenProvider.getJWTUser(request);
Integer schoolId = currentUser.getSchoolId();
String username = currentUser.getUsername();
return new ResultEntity<PageInfo<Training>>(HttpStatus.OK, trainingService.findTrainingList(index,size,schoolId, username));
}
}

@ -6,13 +6,17 @@ import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface MemberMapper {
List<String> selectClassGrade(Integer schoolId);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sys_member
*
* @mbg.generated Fri Jun 30 10:29:24 CST 2023
* @mbg.generated Fri Jun 30 14:15:42 CST 2023
*/
long countByExample(MemberExample example);
@ -20,7 +24,7 @@ public interface MemberMapper {
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sys_member
*
* @mbg.generated Fri Jun 30 10:29:24 CST 2023
* @mbg.generated Fri Jun 30 14:15:42 CST 2023
*/
int deleteByExample(MemberExample example);
@ -28,7 +32,7 @@ public interface MemberMapper {
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sys_member
*
* @mbg.generated Fri Jun 30 10:29:24 CST 2023
* @mbg.generated Fri Jun 30 14:15:42 CST 2023
*/
int deleteByPrimaryKey(String memberId);
@ -36,7 +40,7 @@ public interface MemberMapper {
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sys_member
*
* @mbg.generated Fri Jun 30 10:29:24 CST 2023
* @mbg.generated Fri Jun 30 14:15:42 CST 2023
*/
int insert(Member record);
@ -44,7 +48,7 @@ public interface MemberMapper {
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sys_member
*
* @mbg.generated Fri Jun 30 10:29:24 CST 2023
* @mbg.generated Fri Jun 30 14:15:42 CST 2023
*/
int insertSelective(Member record);
@ -52,7 +56,7 @@ public interface MemberMapper {
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sys_member
*
* @mbg.generated Fri Jun 30 10:29:24 CST 2023
* @mbg.generated Fri Jun 30 14:15:42 CST 2023
*/
List<Member> selectByExample(MemberExample example);
@ -60,7 +64,7 @@ public interface MemberMapper {
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sys_member
*
* @mbg.generated Fri Jun 30 10:29:24 CST 2023
* @mbg.generated Fri Jun 30 14:15:42 CST 2023
*/
Member selectByPrimaryKey(String memberId);
@ -68,7 +72,7 @@ public interface MemberMapper {
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sys_member
*
* @mbg.generated Fri Jun 30 10:29:24 CST 2023
* @mbg.generated Fri Jun 30 14:15:42 CST 2023
*/
int updateByExampleSelective(@Param("record") Member record, @Param("example") MemberExample example);
@ -76,7 +80,7 @@ public interface MemberMapper {
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sys_member
*
* @mbg.generated Fri Jun 30 10:29:24 CST 2023
* @mbg.generated Fri Jun 30 14:15:42 CST 2023
*/
int updateByExample(@Param("record") Member record, @Param("example") MemberExample example);
@ -84,7 +88,7 @@ public interface MemberMapper {
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sys_member
*
* @mbg.generated Fri Jun 30 10:29:24 CST 2023
* @mbg.generated Fri Jun 30 14:15:42 CST 2023
*/
int updateByPrimaryKeySelective(Member record);
@ -92,9 +96,7 @@ public interface MemberMapper {
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sys_member
*
* @mbg.generated Fri Jun 30 10:29:24 CST 2023
* @mbg.generated Fri Jun 30 14:15:42 CST 2023
*/
int updateByPrimaryKey(Member record);
List<String> selectClassGrade();
}

@ -35,7 +35,7 @@ public interface TrainingMapper {
*
* @mbg.generated Thu Jun 29 18:43:01 CST 2023
*/
int deleteByPrimaryKey(Integer trainingId);
int deleteByPrimaryKey(String trainingId);
/**
* This method was generated by MyBatis Generator.
@ -67,7 +67,7 @@ public interface TrainingMapper {
*
* @mbg.generated Thu Jun 29 18:43:01 CST 2023
*/
Training selectByPrimaryKey(Integer trainingId);
Training selectByPrimaryKey(String trainingId);
/**
* This method was generated by MyBatis Generator.

@ -21,22 +21,40 @@ public class IndexService {
private final MemberMapper memberMapper;
private final TrainingMapper trainingMapper;
// 首页分页加模糊查询
public PageInfo<Member> findByConditions(Integer index, Integer size, String classGrade, String studentNumber, String name, String startTime, String trainingName) {
//TODO 实训任务结束后系统自动显示模拟交易实训成绩,教师评分之后显示实验报告成绩。
// 首页分页 排序 模糊查询
public PageInfo<Member> findByConditions(Integer index, Integer size, String classGrade, String studentNumber, String name, String startTime, String trainingName, Integer schoolId) {
TrainingExample trainingExample = new TrainingExample();
PageHelper.startPage(index, size);
// 跳转到首页 没有参数 显示所有
if (classGrade == null && studentNumber == null && name == null && startTime == null && trainingName == null) {
MemberExample memberExample = new MemberExample();
MemberExample.Criteria criteria = memberExample.createCriteria();
if (schoolId != null) {
criteria.andSchoolIdEqualTo(schoolId);
}
memberExample.setOrderByClause("yield DESC");
List<Member> members1 = memberMapper.selectByExample(memberExample);
for (int i = 1; i <= members1.size(); i++) {
for (Member member : members1) {
member.setStuRank(i);
i++;
}
}
return new PageInfo<>(members1);
}
TrainingExample.Criteria criteria = trainingExample.createCriteria();
if (schoolId != null) {
criteria.andSchoolIdEqualTo(schoolId);
}
if (StringUtils.isNotEmpty(trainingName)) {
criteria.andTrainingNameEqualTo(trainingName);
}
if (StringUtils.isNotEmpty(startTime)) {
criteria.andStartTimeEqualTo(startTime);
}
List<Training> trainings = null;
if (StringUtils.isNotEmpty(trainingName) || StringUtils.isNotEmpty(startTime)) {
trainings = trainingMapper.selectByExample(trainingExample);
@ -60,7 +78,14 @@ public class IndexService {
if (StringUtils.isNotEmpty(name)) {
criteria1.andNameLike("%" + name + "%");
}
memberExample.setOrderByClause("yield DESC");
List<Member> membersForTraining = memberMapper.selectByExample(memberExample);
for (int i = 1; i <= membersForTraining.size(); i++) {
for (Member member : membersForTraining) {
member.setStuRank(i);
i++;
}
}
members.addAll(membersForTraining);
}
return new PageInfo<>(members);
@ -68,6 +93,9 @@ public class IndexService {
//没有传training表中两个参数时直接查member表
MemberExample memberExample = new MemberExample();
MemberExample.Criteria criteria1 = memberExample.createCriteria();
if (schoolId != null) {
criteria1.andSchoolIdEqualTo(schoolId);
}
if (StringUtils.isNotEmpty(classGrade)) {
criteria1.andClassGradeLike("%" + classGrade + "%");
}
@ -77,7 +105,14 @@ public class IndexService {
if (StringUtils.isNotEmpty(name)) {
criteria1.andNameLike("%" + name + "%");
}
memberExample.setOrderByClause("yield DESC");
List<Member> membersForTraining = memberMapper.selectByExample(memberExample);
for (int i = 1; i <= membersForTraining.size(); i++) {
for (Member member : membersForTraining) {
member.setStuRank(i);
i++;
}
}
return new PageInfo<>(membersForTraining);
}
}

@ -1,26 +1,27 @@
package com.sztzjy.forex.trading_trading.service;
import cn.hutool.core.util.IdUtil;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sztzjy.forex.trading_trading.config.security.JwtUser;
import com.sztzjy.forex.trading_trading.dto.TrainingBO;
import com.sztzjy.forex.trading_trading.entity.Member;
import com.sztzjy.forex.trading_trading.entity.MemberExample;
import com.sztzjy.forex.trading_trading.entity.Training;
import com.sztzjy.forex.trading_trading.entity.TrainingExample;
import com.sztzjy.forex.trading_trading.mappers.MemberMapper;
import com.sztzjy.forex.trading_trading.mappers.TrainingMapper;
import com.sztzjy.forex.trading_trading.util.TzApi;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class TrainingService {
@ -28,6 +29,9 @@ public class TrainingService {
@Autowired
private TrainingMapper trainingMapper;
@Autowired
private MemberMapper memberMapper;
public Training create(TrainingBO bo, JwtUser currentUser) {
//TODO 待完成通过学校id或者班级id到智云平台获取学生信息并将参与实训学生信息添加到member表中
@ -57,11 +61,11 @@ public class TrainingService {
}
public Training findById(Integer id) {
public Training findById(String id) {
return trainingMapper.selectByPrimaryKey(id);
}
public void delete(Integer id) {
public void delete(String id) {
//TODO 删除实训还要删除member表中的trainingId相关数据
trainingMapper.deleteByPrimaryKey(id);
}
@ -70,7 +74,7 @@ public class TrainingService {
trainingMapper.updateByPrimaryKey(training);
}
public Training update(Integer id, String name) {
public Training update(String id, String name) {
Training training = findById(id);
Assert.isTrue(StringUtils.hasText(name), "实训名称不能为空");
Assert.notNull(training, "该实训不存在");
@ -84,7 +88,7 @@ public class TrainingService {
}
private Boolean checkTrainingName(String name, Integer id) {
private Boolean checkTrainingName(String name, String id) {
TrainingExample example = new TrainingExample();
example.createCriteria().andTrainingNameEqualTo(name);
if (id != null) {
@ -107,4 +111,43 @@ public class TrainingService {
return trainingMapper.selectTrainingNameList(user.getSchoolId());
}
// 我的任务列表
public PageInfo<Training> findTrainingList(Integer index,Integer size,Integer schoolId,String username) {
PageHelper.startPage(index, size);
MemberExample memberExample = new MemberExample();
MemberExample.Criteria criteria = memberExample.createCriteria();
if (schoolId != null) {
criteria.andSchoolIdEqualTo(schoolId);
}
if (StringUtils.hasText(username)) {
criteria.andStudentNumberEqualTo(username);
}
List<Member> members = memberMapper.selectByExample(memberExample);
List<Training> trainingList = new ArrayList<>();
if (!members.isEmpty()) {
for (Member member : members) {
String trainingId = member.getTrainingId();
Training training = trainingMapper.selectByPrimaryKey(trainingId);
// 假设startTime和endTime为提供的时间参数
Date startTime = training.getStartTime();
Date endTime = training.getEndTime();
// 获取当前时间
LocalDateTime currentTime = LocalDateTime.now();
// 将 Instant 对象转换为 LocalDateTime 对象(默认使用系统默认时区)
LocalDateTime startDateTime = LocalDateTime.ofInstant(startTime.toInstant(), ZoneId.systemDefault());
LocalDateTime endDateTime = LocalDateTime.ofInstant(endTime.toInstant(), ZoneId.systemDefault());
// 比较当前时间与startTime和endTime设置状态字段status
if (currentTime.isBefore(startDateTime)) {
training.setStatus("0"); // 未开始
} else if (currentTime.isAfter(endDateTime)) {
training.setStatus("2"); // 已结束
} else {
training.setStatus("1");// 进行中
}
trainingList.add(training);
}
return new PageInfo<>(trainingList);
}
return new PageInfo<>();
}
}

Loading…
Cancel
Save