Merge remote-tracking branch 'origin/master'

pull/1/head
xiaoCJ 2 years ago
commit 43048f4a66

@ -2,7 +2,9 @@ package com.sztzjy.forex.trading_trading;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@EnableScheduling
@SpringBootApplication
public class ForeignExchangeTradingApplication {

@ -1,5 +1,8 @@
package com.sztzjy.forex.trading_trading.config.security;
import com.sztzjy.forex.trading_trading.util.file.IFileUtil;
import com.sztzjy.forex.trading_trading.util.file.LocalFileUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
@ -25,7 +28,10 @@ public class WebConfigurerAdapter implements WebMvcConfigurer {
@Resource
private StringHttpMessageConverter stringHttpMessageConverter;
@Value("${file.type}")
private String fileType;
@Value("${file.path}")
private String filePath;
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
@ -60,4 +66,13 @@ public class WebConfigurerAdapter implements WebMvcConfigurer {
}
}
}
@Bean
public IFileUtil getFileUtil() {
if (fileType.equals("local")) {
return new LocalFileUtil(filePath);
} else {
throw new IllegalArgumentException("未知文件工具类注入类型");
}
}
}

@ -1,13 +1,20 @@
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.annotation.Permission;
import com.sztzjy.forex.trading_trading.annotation.aspect.PermissionType;
import com.sztzjy.forex.trading_trading.dto.MemberVO;
import com.sztzjy.forex.trading_trading.entity.Member;
import com.sztzjy.forex.trading_trading.service.MemberService;
import com.sztzjy.forex.trading_trading.util.ResultEntity;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.FileNotFoundException;
@RestController
@ -19,8 +26,31 @@ public class MemberController {
@AnonymousAccess
@PostMapping("getMember")
public Member getMember(@RequestBody String memberId){
public Member getMember(@RequestBody String memberId) {
Member member = memberService.selectByPrimaryKey(memberId);
return member;
}
@Permission(codes = PermissionType.TRAINING_MANAGEMENT_SEARCH)
@ApiOperation("教师端----首页用户操作数据展示(分页)")
@GetMapping("pagedListMembers")
public ResultEntity<PageInfo<MemberVO>> pagedListMembers(@ApiParam("班级名称") String className,
@ApiParam("实训名称") String trainingName,
@ApiParam("评分状态") Integer markStatus,
@ApiParam("查询关键字:学号或学生名称") String keyword) {
PageInfo<MemberVO> pageInfo = memberService.pagedListMembers(className, trainingName, markStatus, keyword);
return new ResultEntity<PageInfo<MemberVO>>(pageInfo);
}
@Permission(codes = PermissionType.TRAINING_MANAGEMENT_SEARCH)
@ApiOperation("教师端首页排行榜数据导出")
@GetMapping("exportMembers")
public void exportMembers(@ApiParam("班级名称") String className,
@ApiParam("实训名称") String trainingName,
@ApiParam("评分状态") Integer markStatus,
@ApiParam("查询关键字:学号或学生名称") String keyword,
HttpServletResponse response) throws FileNotFoundException {
memberService.exportMembers(className, trainingName, markStatus, keyword, response);
}
}

@ -64,12 +64,14 @@ public class TrainingController {
}
@Permission(codes = PermissionType.TRAINING_MANAGEMENT_DEL)
@ApiOperation("教师端----删除一条实训记录")
@ApiOperation("教师端----删除指定实训记录")
@PostMapping("deleteById")
public ResultEntity deleteById(@ApiParam("实训记录id") @RequestParam String trainingId) {
trainingService.delete(trainingId);
//TODO 同步删除member表数据
// memberService
return new ResultEntity(HttpStatus.OK);
}
@ -87,7 +89,7 @@ public class TrainingController {
@Permission(codes = PermissionType.TRAINING_MANAGEMENT_SEARCH)
@ApiOperation("教师端----根据实训记录id查询实训记录")
@GetMapping("training/{id}")
@GetMapping
public ResultEntity<Training> get(@ApiParam("实训记录id")
@PathVariable String id) {
//TODO 后续还有根据实训id查看排行榜等需求待实现
@ -115,7 +117,7 @@ public class TrainingController {
@Permission(codes = PermissionType.TRAINING_MANAGEMENT_ADD)
@ApiOperation("教师端----添加实训成员时用:获取班级列表")
@GetMapping("findClassNameList")
public ResultEntity<List<Map<String, Object>>> findClassNameList(Integer majorId) {
public ResultEntity<List<Map<String, Object>>> findClassNameList(@ApiParam("专业Id") Integer majorId) {
JwtUser currentUser = TokenProvider.getJWTUser(request);
List<Map<String, Object>> mapList;
if (majorId == null || majorId == 0) {
@ -219,4 +221,19 @@ public class TrainingController {
String username = currentUser.getUsername();
return new ResultEntity<PageInfo<Training>>(HttpStatus.OK, trainingService.findTrainingList(index,size,schoolId, username));
}
// @Permission(codes = PermissionType.TRAINING_MANAGEMENT_ADD)
// @ApiOperation("设置成绩权重")
// @PostMapping("/setScoreWeight")
// public ResultEntity setScoreWeight(@ApiParam("成绩权重") @RequestParam String scoreWeight) {
// Assert.notNull(trainingId, "实训记录不存在");
// Assert.notNull(scoreWeight, "成绩权重不能为空");
// Training training = trainingService.findById(trainingId);
// Assert.notNull(training, "实训记录不存在");
// training.setScoreWeight(scoreWeight);
// trainingService.updateById(training);
// return new ResultEntity(HttpStatus.OK);
// }
}

@ -0,0 +1,40 @@
package com.sztzjy.forex.trading_trading.dto;
import com.sztzjy.forex.trading_trading.entity.Member;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.util.ArrayList;
import java.util.List;
@ApiModel("教师端用户操作数据出参")
@Getter
@Setter
@Data
public class MemberVO {
@ApiModelProperty("实训名称")
public String trainingName;
@ApiModelProperty("班级名称")
public String classGrade;
@ApiModelProperty("学生姓名")
public String name;
@ApiModelProperty("学生学号")
public String studentNumber;
@ApiModelProperty("累计收益")
public Double cumulativeProfitLoss;
@ApiModelProperty("收益率")
public Double yield;
@ApiModelProperty("交易实训成绩")
public Double tradeTrainingScore;
@ApiModelProperty("实训报告成绩")
public Double trainingReportScore;
@ApiModelProperty("总成绩")
public Double totalScore;
@ApiModelProperty("排名")
public Integer stuRank;
}

@ -1,5 +1,6 @@
package com.sztzjy.forex.trading_trading.mappers;
import com.sztzjy.forex.trading_trading.dto.MemberVO;
import com.sztzjy.forex.trading_trading.entity.Member;
import com.sztzjy.forex.trading_trading.entity.MemberExample;
import java.util.List;
@ -60,6 +61,10 @@ public interface MemberMapper {
*/
List<Member> selectByExample(MemberExample example);
List<MemberVO> pagedListMembers(MemberExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sys_member

@ -10,6 +10,7 @@ import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
@Mapper
public interface TrainingMapper {
@ -110,4 +111,23 @@ public interface TrainingMapper {
@Select("select training_id,training_name from sys_training where school_id=#{schoolId}")
List<Map<String, Object>> selectTrainingNameList(@Param("schoolId") Integer schoolId);
@Update("UPDATE sys_training " +
"SET status = " +
"CASE " +
" WHEN NOW() > end_time AND status <> 'FINISHED' THEN 'FINISHED' " +
" WHEN NOW() < start_time AND status <> 'NOT_STARTED' THEN 'NOT_STARTED' " +
" WHEN NOW() >= start_time AND NOW() <= end_time AND status <> 'ONGOING' THEN 'ONGOING' " +
" ELSE status limit 1" +
" END")
void updateTrainingStatus();
@Update("UPDATE sys_training " +
"SET status = 'FINISHED' " +
"WHERE NOW() > end_time AND status <> 'FINISHED'")
void updateTrainingStatusToEnd();
@Update("UPDATE sys_training " +
"SET status = 'ONGOING' " +
"WHERE NOW() >= start_time AND NOW() <= end_time AND status <> 'ONGOING'")
void updateTrainingStatusToInProgress();
}

@ -1,17 +1,32 @@
package com.sztzjy.forex.trading_trading.service;
import com.github.pagehelper.PageInfo;
import com.sztzjy.forex.trading_trading.dto.MemberVO;
import com.sztzjy.forex.trading_trading.entity.Member;
import com.sztzjy.forex.trading_trading.entity.MemberExample;
import com.sztzjy.forex.trading_trading.mappers.MemberMapper;
import com.sztzjy.forex.trading_trading.util.excel.ExcelData;
import com.sztzjy.forex.trading_trading.util.excel.ExcelProvider;
import com.sztzjy.forex.trading_trading.util.file.IFileUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Service
public class MemberService {
@Autowired
MemberMapper memberMapper;
@Autowired
IFileUtil fileUtil;
public Member getMemberByMemberIdAndTrainingId(String memberId, String trainingId) {
MemberExample example = new MemberExample();
@ -37,11 +52,84 @@ public class MemberService {
}
}
public void insert(Member member){
memberMapper.insert(member);
public void insert(Member member) {
memberMapper.insert(member);
}
public void deleteById(String memberId){
public void deleteById(String memberId) {
memberMapper.deleteByPrimaryKey(memberId);
}
public PageInfo<MemberVO> pagedListMembers(String className,
String trainingName,
Integer markStatus,
String keyword) {
MemberExample example = new MemberExample();
MemberExample.Criteria criteria = example.createCriteria();
if (StringUtils.hasText(className)) {
criteria.andClassGradeEqualTo(className);
}
if (StringUtils.hasText(trainingName)) {
criteria.andTrainingNameEqualTo(trainingName);
}
if (markStatus != null) {
//TODO 待确定评分状态
}
if (StringUtils.hasText(keyword)) {
criteria.andNameLike("%" + keyword + "%");
MemberExample.Criteria orCriteria = example.createCriteria();
orCriteria.andStudentNumberEqualTo("%" + keyword + "%");
example.or(orCriteria);
}
return new PageInfo<>(memberMapper.pagedListMembers(example));
}
public void exportMembers(String className,
String trainingName,
Integer markStatus,
String keyword,
HttpServletResponse response) throws FileNotFoundException {
MemberExample example = new MemberExample();
MemberExample.Criteria criteria = example.createCriteria();
if (StringUtils.hasText(className)) {
criteria.andClassGradeEqualTo(className);
}
if (StringUtils.hasText(trainingName)) {
criteria.andTrainingNameEqualTo(trainingName);
}
if (markStatus != null) {
//TODO 待确定评分状态
}
if (StringUtils.hasText(keyword)) {
criteria.andNameLike("%" + keyword + "%");
MemberExample.Criteria orCriteria = example.createCriteria();
orCriteria.andStudentNumberEqualTo("%" + keyword + "%");
example.or(orCriteria);
}
List<MemberVO> members = memberMapper.pagedListMembers(example);
Assert.notNull(members, "没有可导出数据");
List<String> titles = Arrays.asList("实训任务名称", "班级", "学号", "姓名", "排名", "累计盈亏", "收益率", "模拟交易实训成绩", "实训报告成绩", "总成绩");
ExcelData excelData = ExcelData.create(titles);
for (MemberVO member : members) {
List<Object> rows = new ArrayList<>();
rows.add(member.getTrainingName());
rows.add(member.getClassGrade());
rows.add(member.getStudentNumber());
rows.add(member.getName());
rows.add(member.getStuRank());
rows.add(member.getCumulativeProfitLoss());
rows.add(member.getYield());
rows.add(member.getTradeTrainingScore());
rows.add(member.getTrainingReportScore());
rows.add(member.getTotalScore());
excelData.addRow(rows) ;
}
String fileName = "学生排行榜数据.xlsx";
String file = fileUtil.getFullPath(fileName);
FileOutputStream fileOut = new FileOutputStream(file);
ExcelProvider.SimpleExcelExport(excelData, fileOut);
fileUtil.download(response, fileName);
fileUtil.remove(file);
}
}

@ -0,0 +1,24 @@
package com.sztzjy.forex.trading_trading.service;
import com.sztzjy.forex.trading_trading.mappers.TrainingMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
/**
*
*/
@Service
public class ScheduledTask {
@Autowired
TrainingMapper trainingMapper;
@Scheduled(cron = "0 * * * * *") // 修改实训状态 每分钟执行一次
public void updateTrainingStatus() {
trainingMapper.updateTrainingStatusToInProgress();
trainingMapper.updateTrainingStatusToEnd();
}
}

@ -0,0 +1,45 @@
package com.sztzjy.forex.trading_trading.util.excel;
import lombok.Getter;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* Excel
*
*/
@Getter
public class ExcelData {
private List<List<String>> contents;
private ExcelData(){
this.contents = new ArrayList<>();
}
public ExcelData addRow(List<Object> rowData){
List<String> dataList = rowData.stream().map(i -> i==null?null:i.toString()).collect(Collectors.toList());
this.contents.add(dataList);
return this;
}
/**
*
*
* @return /
*/
public static ExcelData create(){
return ExcelData.create(null);
}
/**
*
* @param titleList |
* @return
*/
public static ExcelData create(List<String> titleList){
ExcelData excelData = new ExcelData();
if(titleList!=null && !titleList.isEmpty())
excelData.contents.add(titleList);
return excelData;
}
}

@ -0,0 +1,39 @@
package com.sztzjy.forex.trading_trading.util.excel;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.Assert;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Arrays;
public class ExcelProvider {
private static Logger logger = LoggerFactory.getLogger(ExcelProvider.class);
/**
* excel
* excel
*
* @param data
*/
public static void SimpleExcelExport(ExcelData data, OutputStream out){
Assert.notNull(data, "无可导出的数据");
Assert.notEmpty(data.getContents(), "无可导出的数据");
ExcelWriter bigWriter = ExcelUtil.getBigWriter();
bigWriter.write(data.getContents());
bigWriter.flush(out,true);
}
public static void main(String[] args) throws Exception {
ExcelData excelData = ExcelData.create(Arrays.asList("t1","t2"))
.addRow(Arrays.asList("11","12"))
.addRow(Arrays.asList("21","22"));
FileOutputStream fileOut = new FileOutputStream("D:/111.xlsx");
ExcelProvider.SimpleExcelExport(excelData,fileOut);
fileOut.close();
}
}

@ -0,0 +1,87 @@
package com.sztzjy.forex.trading_trading.util.file;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
/**
*
*
* @author
*/
public interface IFileUtil {
/**
* http
*
* @param file formhttp
* @return
*/
String upload(MultipartFile file);
/**
*
*
* @param objectName
* @param fileIn
* @return
*/
String upload(String objectName, InputStream fileIn);
/**
*
*
* @param path
* @return true
*/
boolean remove(String path);
/**
*
*
* @param response
* @param fileName
* @param filePath
*/
void download(HttpServletResponse response, String fileName, String filePath);
/**
*
*
* @param response
* @param filePath
*/
void download(HttpServletResponse response, String filePath);
/**
*
*
* @param relativePath
* @return
*/
String getFullPath(String relativePath);
/**
*
*
* @param fileName
* @return suffix
*/
String getSuffix(String fileName);
/**
*
*
* @param fileName
* @param suffix
* @return
*/
String getDiskRelativePath(String fileName, String suffix);
}

@ -0,0 +1,175 @@
package com.sztzjy.forex.trading_trading.util.file;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.IdUtil;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class LocalFileUtil implements IFileUtil{
private final static List<String> excludeSp = Arrays.asList("exe", "bin", "sh");
private final String localPath;
public LocalFileUtil(String localPath) {
this.localPath = localPath;
}
@Override
public String upload(MultipartFile file) {
return upload(null, file);
}
@Override
public String upload(String objectName, InputStream fileIn) {
Assert.notNull(fileIn, "文件不能为空");
Assert.hasText(objectName, "文件名为空");
Assert.isTrue(objectName.lastIndexOf(".") > 0, "文件名称需携带扩展后缀");
FileOutputStream out = null;
try {
String relativePath = getDiskRelativePath(objectName, null);
File file = new File(getFullPath(relativePath));
file.getParentFile().mkdirs();
out = new FileOutputStream(file);
byte[] buff = new byte[4096];
int len;
while ((len = fileIn.read(buff)) != -1) {
out.write(buff, 0, len);
}
out.flush();
return relativePath;
} catch (IOException e) {
e.printStackTrace();
throw new IllegalArgumentException("上传文件失败,IO错误");
} finally {
try {
fileIn.close();
if (out != null) out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public boolean remove(String path) {
if (!StringUtils.hasText(path)) return false;
File file = new File(getFullPath(path));
Assert.isTrue(file.exists(), "文件已被删除或不存在该文件");
return file.delete();
}
@Override
public void download(HttpServletResponse response, String fileName, String relativePath) {
Assert.hasText(relativePath, "路径为空");
System.out.println("------------------------------------" + getFullPath(relativePath));
File file = new File(getFullPath(relativePath));
Assert.isTrue(file.exists(), "附件不存在");
String sp = relativePath.substring(relativePath.lastIndexOf(".") + 1);
Assert.isTrue(!excludeSp.contains(sp.toLowerCase()), "文件类型错误");
if (!StringUtils.hasText(fileName)) {
fileName = file.getName().substring(0, file.getName().lastIndexOf("."));
}
InputStream fis = null;
try {
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode((fileName + "." + sp), CharsetUtil.UTF_8));
fis = new BufferedInputStream(Files.newInputStream(file.toPath()));
response.addHeader("Content-Length", String.valueOf(fis.available()));
byte[] buff = new byte[4096];
int len;
while ((len = fis.read(buff)) != -1) {
response.getOutputStream().write(buff, 0, len);
}
} catch (Exception e) {
throw new IllegalArgumentException("下载文件失败: " + e.getMessage());
} finally {
try {
if (fis != null) fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public void download(HttpServletResponse response, String relativePath) {
download(response, null, relativePath);
}
@Override
public String getFullPath(String relativePath) {
if (!relativePath.startsWith("/")) {
relativePath = "/" + relativePath;
}
return localPath + relativePath;
}
@Override
public String getSuffix(String fileName) {
Assert.hasText(fileName, "文件名不存在!");
if (fileName.lastIndexOf(".") < 0) {
return null;
}
return fileName.substring(fileName.lastIndexOf(".") + 1);
}
public String upload(String fileName, MultipartFile file) {
return upload(fileName, file, null);
}
@Override
public String getDiskRelativePath(String fileName, String suffix) {
Calendar c = Calendar.getInstance();
Date d = new Date();
c.setTime(d);
String year = Integer.toString(c.get(Calendar.YEAR));
String month = Integer.toString(c.get(Calendar.MONTH) + 1);
String day = Integer.toString(c.get(Calendar.DATE));
StringBuilder path = new StringBuilder();
path.append("/").append(year)
.append("/").append(month)
.append("/").append(day)
.append("/").append(fileName);
if (StringUtils.hasText(suffix)) path.append(".").append(suffix);
return path.toString();
}
private String upload(String fileName, MultipartFile file, String relativePath) {
Assert.isTrue(!file.isEmpty(), "文件不存在");
String originalFilename = file.getOriginalFilename();
if (fileName == null) fileName = IdUtil.simpleUUID();
String sp = getSuffix(originalFilename);
Assert.notNull(sp, "文件类型错误");
Assert.isTrue(!excludeSp.contains(sp.toLowerCase()), "文件类型错误");
try {
String filePath;
if (relativePath == null) {
filePath = getDiskRelativePath(fileName, sp);
} else {
relativePath = relativePath.endsWith("/") ? relativePath : relativePath + "/";
filePath = relativePath + fileName + "." + sp;
}
File destFile = new File(getFullPath(filePath));
destFile.getParentFile().mkdirs();
file.transferTo(destFile);
return filePath;
} catch (FileNotFoundException e) {
throw new IllegalArgumentException("上传文件失败,FileNotFound错误");
} catch (IOException e) {
throw new IllegalArgumentException("上传文件失败,IO错误");
}
}
}

@ -5,4 +5,10 @@ spring:
url: jdbc:mysql://${DB_HOST:118.31.7.2}:${DB_PORT:3306}/${DB_NAME:foreign_exchange_trading}?useSSL=false&serverTimezone=UTC
username: ${DB_USER:root}
password: ${DB_PWD:sztzjy2017}
driver-class-name: com.mysql.cj.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver
# 文件存储
file:
type: local
path: D:/home/planting_inspect/file

@ -5,4 +5,10 @@ spring:
url: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:foreign_exchange_trading}?useSSL=false&serverTimezone=UTC
username: ${DB_USER:root}
password: ${DB_PWD:sztzjy2017}
driver-class-name: com.mysql.cj.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver
# 文件存储
file:
type: local
path: /home/foreignExchangeTrading/file

@ -26,7 +26,8 @@
<!-- 需要生成的表 -->
<!-- <table tableName="sys_member" domainObjectName="Member" />-->
<!-- <table tableName="sys_take_stash" domainObjectName="TakeStash" />-->
<table tableName="sys_pending_order" domainObjectName="PendingOrder" />
<!-- <table tableName="sys_pending_order" domainObjectName="PendingOrder" />-->
<table tableName="sys_grade_weight" domainObjectName="GradeWeight" />
</context>

@ -127,6 +127,25 @@
order by ${orderByClause}
</if>
</select>
<select id="pagedListMembers" 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 Fri Jun 30 14:15:42 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.String" resultMap="BaseResultMap">
<!--
WARNING - @mbg.generated

@ -1,411 +1,429 @@
<?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.TrainingMapper">
<resultMap id="BaseResultMap" type="com.sztzjy.forex.trading_trading.entity.Training">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
<id column="training_id" jdbcType="VARCHAR" property="trainingId" />
<result column="people_count" jdbcType="INTEGER" property="peopleCount" />
<result column="start_time" jdbcType="VARCHAR" property="startTime" />
<result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
<result column="status" jdbcType="VARCHAR" property="status" />
<result column="creator_id" jdbcType="INTEGER" property="creatorId" />
<result column="create_school" jdbcType="VARCHAR" property="createSchool" />
<result column="training_name" jdbcType="VARCHAR" property="trainingName" />
<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="school_id" jdbcType="INTEGER" property="schoolId" />
</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 18:43:01 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>
<resultMap id="BaseResultMap" type="com.sztzjy.forex.trading_trading.entity.Training">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
<id column="training_id" jdbcType="VARCHAR" property="trainingId"/>
<result column="people_count" jdbcType="INTEGER" property="peopleCount"/>
<result column="start_time" jdbcType="VARCHAR" property="startTime"/>
<result column="end_time" jdbcType="TIMESTAMP" property="endTime"/>
<result column="status" jdbcType="VARCHAR" property="status"/>
<result column="creator_id" jdbcType="INTEGER" property="creatorId"/>
<result column="create_school" jdbcType="VARCHAR" property="createSchool"/>
<result column="training_name" jdbcType="VARCHAR" property="trainingName"/>
<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="school_id" jdbcType="INTEGER" property="schoolId"/>
</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 18:43:01 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>
</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 18:43:01 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>
</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 18:43:01 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>
</trim>
</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 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, school_id
</sql>
<select id="selectByExample" parameterType="com.sztzjy.forex.trading_trading.entity.TrainingExample"
resultMap="BaseResultMap">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List"/>
from sys_training
<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.String" resultMap="BaseResultMap">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
select
<include refid="Base_Column_List"/>
from sys_training
where training_id = #{trainingId,jdbcType=VARCHAR}
</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 18:43:01 CST 2023.
-->
delete from sys_training
where training_id = #{trainingId,jdbcType=INTEGER}
</delete>
<delete id="deleteByExample" parameterType="com.sztzjy.forex.trading_trading.entity.TrainingExample">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
delete from sys_training
<if test="_parameter != null">
<include refid="Example_Where_Clause"/>
</if>
</delete>
<insert id="insert" parameterType="com.sztzjy.forex.trading_trading.entity.Training">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
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, school_id
)
values (#{trainingId,jdbcType=VARCHAR}, #{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}
)
</insert>
<insert id="insertSelective" parameterType="com.sztzjy.forex.trading_trading.entity.Training">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
insert into sys_training
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="trainingId != null">
training_id,
</if>
<if test="peopleCount != null">
people_count,
</if>
<if test="startTime != null">
start_time,
</if>
<if test="endTime != null">
end_time,
</if>
<if test="status != null">
status,
</if>
<if test="creatorId != null">
creator_id,
</if>
<if test="createSchool != null">
create_school,
</if>
<if test="trainingName != null">
training_name,
</if>
<if test="creatorName != null">
creator_name,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="schoolId != null">
school_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="trainingId != null">
#{trainingId,jdbcType=INTEGER},
</if>
<if test="peopleCount != null">
#{peopleCount,jdbcType=INTEGER},
</if>
<if test="startTime != null">
#{startTime,jdbcType=VARCHAR},
</if>
<if test="endTime != null">
#{endTime,jdbcType=TIMESTAMP},
</if>
<if test="status != null">
#{status,jdbcType=VARCHAR},
</if>
<if test="creatorId != null">
#{creatorId,jdbcType=INTEGER},
</if>
<if test="createSchool != null">
#{createSchool,jdbcType=VARCHAR},
</if>
<if test="trainingName != null">
#{trainingName,jdbcType=VARCHAR},
</if>
<if test="creatorName != null">
#{creatorName,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="schoolId != null">
#{schoolId,jdbcType=INTEGER},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.sztzjy.forex.trading_trading.entity.TrainingExample"
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 18:43:01 CST 2023.
-->
select count(*) from sys_training
<if test="_parameter != null">
<include refid="Example_Where_Clause"/>
</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 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, school_id
</sql>
<select id="selectByExample" parameterType="com.sztzjy.forex.trading_trading.entity.TrainingExample" resultMap="BaseResultMap">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from sys_training
<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.String" resultMap="BaseResultMap">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
select
<include refid="Base_Column_List" />
from sys_training
where training_id = #{trainingId,jdbcType=VARCHAR}
</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 18:43:01 CST 2023.
-->
delete from sys_training
where training_id = #{trainingId,jdbcType=INTEGER}
</delete>
<delete id="deleteByExample" parameterType="com.sztzjy.forex.trading_trading.entity.TrainingExample">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
delete from sys_training
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.sztzjy.forex.trading_trading.entity.Training">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
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, school_id
)
values (#{trainingId,jdbcType=VARCHAR}, #{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}
)
</insert>
<insert id="insertSelective" parameterType="com.sztzjy.forex.trading_trading.entity.Training">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
insert into sys_training
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="trainingId != null">
training_id,
</if>
<if test="peopleCount != null">
people_count,
</if>
<if test="startTime != null">
start_time,
</if>
<if test="endTime != null">
end_time,
</if>
<if test="status != null">
status,
</if>
<if test="creatorId != null">
creator_id,
</if>
<if test="createSchool != null">
create_school,
</if>
<if test="trainingName != null">
training_name,
</if>
<if test="creatorName != null">
creator_name,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="schoolId != null">
school_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="trainingId != null">
#{trainingId,jdbcType=INTEGER},
</if>
<if test="peopleCount != null">
#{peopleCount,jdbcType=INTEGER},
</if>
<if test="startTime != null">
#{startTime,jdbcType=VARCHAR},
</if>
<if test="endTime != null">
#{endTime,jdbcType=TIMESTAMP},
</if>
<if test="status != null">
#{status,jdbcType=VARCHAR},
</if>
<if test="creatorId != null">
#{creatorId,jdbcType=INTEGER},
</if>
<if test="createSchool != null">
#{createSchool,jdbcType=VARCHAR},
</if>
<if test="trainingName != null">
#{trainingName,jdbcType=VARCHAR},
</if>
<if test="creatorName != null">
#{creatorName,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="schoolId != null">
#{schoolId,jdbcType=INTEGER},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.sztzjy.forex.trading_trading.entity.TrainingExample" 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 18:43:01 CST 2023.
-->
select count(*) from sys_training
<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 18:43:01 CST 2023.
-->
update sys_training
<set>
<if test="record.trainingId != null">
training_id = #{record.trainingId,jdbcType=VARCHAR},
</if>
<if test="record.peopleCount != null">
</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 18:43:01 CST 2023.
-->
update sys_training
<set>
<if test="record.trainingId != null">
training_id = #{record.trainingId,jdbcType=VARCHAR},
</if>
<if test="record.peopleCount != null">
people_count = #{record.peopleCount,jdbcType=INTEGER},
</if>
<if test="record.startTime != null">
start_time = #{record.startTime,jdbcType=VARCHAR},
</if>
<if test="record.endTime != null">
end_time = #{record.endTime,jdbcType=TIMESTAMP},
</if>
<if test="record.status != null">
status = #{record.status,jdbcType=VARCHAR},
</if>
<if test="record.creatorId != null">
creator_id = #{record.creatorId,jdbcType=INTEGER},
</if>
<if test="record.createSchool != null">
create_school = #{record.createSchool,jdbcType=VARCHAR},
</if>
<if test="record.trainingName != null">
training_name = #{record.trainingName,jdbcType=VARCHAR},
</if>
<if test="record.creatorName != null">
creator_name = #{record.creatorName,jdbcType=VARCHAR},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.updateTime != null">
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
</if>
<if test="record.schoolId != null">
school_id = #{record.schoolId,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 18:43:01 CST 2023.
-->
update sys_training
set training_id = #{record.trainingId,jdbcType=INTEGER},
people_count = #{record.peopleCount,jdbcType=INTEGER},
</if>
<if test="record.startTime != null">
start_time = #{record.startTime,jdbcType=VARCHAR},
</if>
<if test="record.endTime != null">
end_time = #{record.endTime,jdbcType=TIMESTAMP},
</if>
<if test="record.status != null">
status = #{record.status,jdbcType=VARCHAR},
</if>
<if test="record.creatorId != null">
creator_id = #{record.creatorId,jdbcType=INTEGER},
</if>
<if test="record.createSchool != null">
create_school = #{record.createSchool,jdbcType=VARCHAR},
</if>
<if test="record.trainingName != null">
training_name = #{record.trainingName,jdbcType=VARCHAR},
</if>
<if test="record.creatorName != null">
creator_name = #{record.creatorName,jdbcType=VARCHAR},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.updateTime != null">
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
</if>
<if test="record.schoolId != null">
school_id = #{record.schoolId,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 18:43:01 CST 2023.
-->
update sys_training
set training_id = #{record.trainingId,jdbcType=INTEGER},
people_count = #{record.peopleCount,jdbcType=INTEGER},
start_time = #{record.startTime,jdbcType=VARCHAR},
end_time = #{record.endTime,jdbcType=TIMESTAMP},
status = #{record.status,jdbcType=VARCHAR},
creator_id = #{record.creatorId,jdbcType=INTEGER},
create_school = #{record.createSchool,jdbcType=VARCHAR},
training_name = #{record.trainingName,jdbcType=VARCHAR},
creator_name = #{record.creatorName,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
school_id = #{record.schoolId,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.Training">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
update sys_training
<set>
<if test="peopleCount != null">
people_count = #{peopleCount,jdbcType=INTEGER},
</if>
<if test="startTime != null">
school_id = #{record.schoolId,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.Training">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
update sys_training
<set>
<if test="peopleCount != null">
people_count = #{peopleCount,jdbcType=INTEGER},
</if>
<if test="startTime != null">
start_time = #{startTime,jdbcType=VARCHAR},
</if>
<if test="endTime != null">
end_time = #{endTime,jdbcType=TIMESTAMP},
</if>
<if test="status != null">
status = #{status,jdbcType=VARCHAR},
</if>
<if test="creatorId != null">
creator_id = #{creatorId,jdbcType=INTEGER},
</if>
<if test="createSchool != null">
create_school = #{createSchool,jdbcType=VARCHAR},
</if>
<if test="trainingName != null">
training_name = #{trainingName,jdbcType=VARCHAR},
</if>
<if test="creatorName != null">
creator_name = #{creatorName,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="schoolId != null">
school_id = #{schoolId,jdbcType=INTEGER},
</if>
</set>
where training_id = #{trainingId,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.sztzjy.forex.trading_trading.entity.Training">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
update sys_training
set people_count = #{peopleCount,jdbcType=INTEGER},
start_time = #{startTime,jdbcType=VARCHAR},
</if>
<if test="endTime != null">
end_time = #{endTime,jdbcType=TIMESTAMP},
</if>
<if test="status != null">
status = #{status,jdbcType=VARCHAR},
</if>
<if test="creatorId != null">
creator_id = #{creatorId,jdbcType=INTEGER},
</if>
<if test="createSchool != null">
create_school = #{createSchool,jdbcType=VARCHAR},
</if>
<if test="trainingName != null">
training_name = #{trainingName,jdbcType=VARCHAR},
</if>
<if test="creatorName != null">
creator_name = #{creatorName,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="schoolId != null">
school_id = #{schoolId,jdbcType=INTEGER},
</if>
</set>
where training_id = #{trainingId,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.sztzjy.forex.trading_trading.entity.Training">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Jun 29 18:43:01 CST 2023.
-->
update sys_training
set people_count = #{peopleCount,jdbcType=INTEGER},
start_time = #{startTime,jdbcType=VARCHAR},
end_time = #{endTime,jdbcType=TIMESTAMP},
status = #{status,jdbcType=VARCHAR},
creator_id = #{creatorId,jdbcType=INTEGER},
create_school = #{createSchool,jdbcType=VARCHAR},
training_name = #{trainingName,jdbcType=VARCHAR},
creator_name = #{creatorName,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
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">
select * from training
<where>
<!--待确认过滤条件-->
</where>
<if test="orderByClause != null and orderByClause != ''">
<bind name="safeOrderByClause" value="${orderByClause}" />
ORDER BY ${safeOrderByClause}
</if>
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">
select * from training
<where>
<!--待确认过滤条件-->
</where>
<if test="orderByClause != null and orderByClause != ''">
<bind name="safeOrderByClause" value="${orderByClause}"/>
ORDER BY ${safeOrderByClause}
</if>
limit #{offset}, #{pageSize}
</select>
<update id="updateTrainingStatus">
<![CDATA[
UPDATE training
SET status =
CASE
WHEN NOW() > end_time THEN 'FINISHED'
WHEN NOW() < start_time THEN 'NOT_STARTED'
ELSE 'ONGOING'
END
]]>
</update>
limit #{offset}, #{pageSize}
</select>
</mapper>
Loading…
Cancel
Save