教师端bug修复

pull/1/head
陈沅
parent bef0b984a1
commit 4758180a4f

@ -35,7 +35,7 @@ public class GradeWeightController {
public ResultEntity add(@RequestBody GradeWeightBO bo) {
Assert.notNull(bo, "参数错误");
JwtUser user = TokenProvider.getJWTUser(request);
gradeWeightService.insert(bo,user);
gradeWeightService.insert(bo, user);
return new ResultEntity(HttpStatus.OK);
}
@ -46,6 +46,9 @@ public class GradeWeightController {
public ResultEntity<List<GradeWeight>> findCurrentWeight() {
JwtUser currentUser = TokenProvider.getJWTUser(request);
List<GradeWeight> gradeWeights = gradeWeightService.findWeightBySchoolId(currentUser.getSchoolId());
if (gradeWeights == null || gradeWeights.size() == 0) {
gradeWeights = gradeWeightService.createDefaultWeights(currentUser);
}
return new ResultEntity<List<GradeWeight>>(gradeWeights);
}

@ -20,16 +20,25 @@ import com.sztzjy.forex.trading_trading.service.TrainingService;
import com.sztzjy.forex.trading_trading.util.BigDecimalUtils;
import com.sztzjy.forex.trading_trading.util.ForexMarketDateUtil;
import com.sztzjy.forex.trading_trading.util.ResultEntity;
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@ -60,6 +69,9 @@ public class MemberController {
@Autowired
ForexMarketDateUtil forexMarketDateUtil;
@Autowired
IFileUtil fileUtil;
@AnonymousAccess
@PostMapping("getMemberById")
public ResultEntity getMember(@RequestBody String memberId) {
@ -128,12 +140,13 @@ public class MemberController {
@ApiParam("页量") @RequestParam(required = false) Integer size) {
JwtUser jwtUser = TokenProvider.getJWTUser(request);
PageInfo<MemberVO> pageInfo = memberService.pagedListMembers(className, trainingName, markStatus, keyword, jwtUser.getSchoolId(),index, size);
PageInfo<MemberVO> pageInfo = memberService.pagedListMembers(className, trainingName, markStatus, keyword, jwtUser,index, size);
if (!pageInfo.getList().isEmpty()) {
for (MemberVO vo : pageInfo.getList()) {
Training training = trainingService.findById(vo.getTrainingId());
if (vo.getYield() == null || training == null) continue;
vo.setTradeTrainingScore(gradeWeightService.findWeightByWeightIdAndYield(training.getWeightId(), vo.getYield()).getActualScore());
vo.setTotalScore(vo.getTradeTrainingScore() + (vo.getReportScore()==null?0:vo.getReportScore()));
}
}
return new ResultEntity<PageInfo<MemberVO>>(pageInfo);
@ -148,20 +161,45 @@ public class MemberController {
@ApiParam("查询关键字:学号或学生名称") String keyword,
String TOKEN,
HttpServletResponse response) throws FileNotFoundException {
TokenProvider.getJWTUser(TOKEN);
memberService.exportMembers(className, trainingName, markStatus, keyword, response);
JwtUser jwtUser = TokenProvider.getJWTUser(TOKEN);
List<MemberVO> members = memberService.exportMembers(className, trainingName, markStatus, keyword, jwtUser, response);
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.getReportScore());
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);
}
@Permission(codes = PermissionType.TRAINING_MANAGEMENT_SEARCH)
@ApiOperation("根据实训任务id获取成员列表")
@GetMapping("listMembersByTrainingId")
public ResultEntity<PageInfo<Member>> listMembersByTrainingId(@RequestParam String trainingId,
public ResultEntity<PageInfo<MemberVO>> listMembersByTrainingId(@RequestParam String trainingId,
@ApiParam("班级id") Integer classId,
@ApiParam("查询关键字:学号和姓名")String keyword,
@RequestParam Integer index,
@RequestParam Integer size) {
PageInfo<Member> members = memberService.pageListMemberByTrainingId(trainingId, classId,keyword,index, size);
return new ResultEntity<PageInfo<Member>>(members);
PageInfo<MemberVO> members = memberService.pageListMemberByTrainingId(trainingId, classId,keyword,index, size);
return new ResultEntity<PageInfo<MemberVO>>(members);
}

@ -9,6 +9,8 @@ import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;
@ -33,7 +35,7 @@ public class MemberVO {
@ApiModelProperty("交易实训成绩")
public Double tradeTrainingScore;
@ApiModelProperty("实训报告成绩")
public Double trainingReportScore;
public Double reportScore;
@ApiModelProperty("总成绩")
public Double totalScore;
@ApiModelProperty("排名")
@ -42,7 +44,20 @@ public class MemberVO {
public String memberId;
@ApiModelProperty("实训id")
public String trainingId;
@ApiModelProperty("实训状态")
public String trainingStatus;
@ApiModelProperty("收益率百分比")
public String strYield;
@ApiModelProperty("总资产")
public Double totalAssets;
@ApiModelProperty("期初资金")
public Double initialCapital;
@ApiModelProperty("可用资金")
public Double availableFunds;
@ApiModelProperty("开仓次数")
public Integer openingTrades;
@ApiModelProperty("平仓次数")
public Integer closingTrades;
public static MemberVO create(MemberVO vo, List<GradeWeight> gradeWeights) {
for (GradeWeight weight : gradeWeights) {
@ -61,4 +76,12 @@ public class MemberVO {
});
return result;
}
public String getStrYield() {
NumberFormat percentFormat = new DecimalFormat("#0.00%");
this.yield = yield == null ? 0 : yield;
String formattedYield = percentFormat.format(this.yield);
return formattedYield;
}
}

@ -1,5 +1,6 @@
package com.sztzjy.forex.trading_trading.mappers;
import com.sztzjy.forex.trading_trading.config.security.JwtUser;
import com.sztzjy.forex.trading_trading.dto.MemberVO;
import com.sztzjy.forex.trading_trading.entity.Member;
import com.sztzjy.forex.trading_trading.entity.MemberExample;
@ -7,10 +8,8 @@ import com.sztzjy.forex.trading_trading.entity.MemberExample;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.type.JdbcType;
@Mapper
public interface MemberMapper {
@ -65,8 +64,50 @@ public interface MemberMapper {
*/
List<Member> selectByExample(MemberExample example);
List<MemberVO> pagedListMembers(MemberExample example);
List<MemberVO> selectByCondition(MemberExample example);
@Select("<script>" +
"SELECT m.*, t.status AS trainingStatus " +
"FROM sys_member m " +
"LEFT JOIN sys_training t ON m.training_id = t.training_id " +
"WHERE m.school_id = #{schoolId} " +
"AND (t.status = 'FINISHED') " +
"<if test='className != null and className.trim() != \"\"'> " +
"AND m.class_grade = #{className} " +
"</if> " +
"<if test='trainingName != null and trainingName.trim() != \"\"'> " +
"AND t.training_name = #{trainingName} " +
"</if> " +
"<if test='markStatus != null'> " +
"<if test='markStatus == 0'> " +
"AND m.report_score IS NULL " +
"</if> " +
"<if test='markStatus == 1'> " +
"AND m.report_score IS NOT NULL " +
"</if> " +
"</if> " +
"<if test='keyword != null and keyword.trim() != \"\"'> " +
"AND (m.name LIKE CONCAT('%', #{keyword}, '%') OR m.student_number LIKE CONCAT('%', #{keyword}, '%')) " +
"</if>" +
" order by stu_rank " +
"</script>")
@Results(id = "memberVO", value = {
@Result(column = "member_id", property = "memberId", jdbcType = JdbcType.VARCHAR, id = true),
@Result(column = "training_id", property = "trainingId", jdbcType = JdbcType.VARCHAR),
@Result(column = "name", property = "name", jdbcType = JdbcType.VARCHAR),
@Result(column = "student_number",property = "studentNumber", jdbcType = JdbcType.VARCHAR),
@Result(column = "class_grade",property = "classGrade", jdbcType = JdbcType.VARCHAR),
@Result(column = "stu_rank",property = "stuRank", jdbcType = JdbcType.INTEGER),
@Result(column = "cumulative_profit_loss",property = "cumulativeProfitLoss", jdbcType = JdbcType.DECIMAL),
@Result(column = "report_score",property = "reportScore", jdbcType = JdbcType.DECIMAL),
@Result(column = "yield",property = "yield", jdbcType = JdbcType.DECIMAL),
@Result(column = "training_name",property = "trainingName", jdbcType = JdbcType.VARCHAR),
})
List<MemberVO> pagedListMembers(@Param("className") String className,
@Param("trainingName") String trainingName,
@Param("markStatus") Integer markStatus,
@Param("keyword") String keyword,
@Param("schoolId") Integer schoolId);
/**
* This method was generated by MyBatis Generator.
@ -164,7 +205,16 @@ public interface MemberMapper {
List<Member> selectMembers(
@Param("schoolId") Integer schoolId,
@Param("name") String name,
@Param("classGrade")String classGrade,
@Param("trainingId")String trainingId
@Param("classGrade") String classGrade,
@Param("trainingId") String trainingId
);
@Update("UPDATE sys_member AS m " +
"JOIN ( " +
" SELECT member_id, training_id, ROW_NUMBER() OVER (PARTITION BY training_id ORDER BY yield DESC,report_score DESC) AS stu_rank " +
" FROM sys_member WHERE training_id <> '999999999' " +
") AS ranked " +
"ON m.member_id = ranked.member_id " +
"JOIN sys_training AS T on m.training_id = T.training_id " +
"SET m.stu_rank = ranked.stu_rank WHERE T.status = 'ONGOING'")
void updateStuRank();
}

@ -37,8 +37,8 @@ public class GradeWeightService {
public GradeWeight createDefaultWeight(JwtUser user) {
GradeWeightBO bo = new GradeWeightBO();
bo.setSimulationTradingProfitScore(50);
bo.setExperimentalReportScore(50);
bo.setSimulationTradingProfitScore(60);
bo.setExperimentalReportScore(40);
List<GradeWeightDetailBO> details = new ArrayList<>();
//以原型来看当收益率30%以上时得分为100或者收益率0%以下得分50现给个默认值1000或-1000方便数据库区间查询
details.add(new GradeWeightDetailBO(1000, 30, 100, 1));
@ -51,6 +51,22 @@ public class GradeWeightService {
return gradeWeights.get(0);
}
public List<GradeWeight> createDefaultWeights(JwtUser user) {
GradeWeightBO bo = new GradeWeightBO();
bo.setSimulationTradingProfitScore(60);
bo.setExperimentalReportScore(40);
List<GradeWeightDetailBO> details = new ArrayList<>();
//以原型来看当收益率30%以上时得分为100或者收益率0%以下得分50现给个默认值1000或-1000方便数据库区间查询
details.add(new GradeWeightDetailBO(1000, 30, 100, 1));
details.add(new GradeWeightDetailBO(30, 10, 80, 2));
details.add(new GradeWeightDetailBO(10, 0, 60, 3));
details.add(new GradeWeightDetailBO(0, -1000, 50, 4));
bo.setDetail(details);
List<GradeWeight> gradeWeights = GradeWeight.buildGradeWeights(bo, user);
gradeWeights.forEach(gradeWeightMapper::insertSelective);
return gradeWeights;
}
public List<GradeWeight> findWeightByWeightId(String weightId) {
GradeWeightExample example = new GradeWeightExample();
GradeWeightExample.Criteria criteria = example.createCriteria();

@ -5,10 +5,7 @@ import com.github.pagehelper.PageInfo;
import com.sztzjy.forex.trading_trading.config.Constant;
import com.sztzjy.forex.trading_trading.config.security.JwtUser;
import com.sztzjy.forex.trading_trading.dto.MemberVO;
import com.sztzjy.forex.trading_trading.entity.ForexMarketData;
import com.sztzjy.forex.trading_trading.entity.Member;
import com.sztzjy.forex.trading_trading.entity.MemberExample;
import com.sztzjy.forex.trading_trading.entity.TakeStash;
import com.sztzjy.forex.trading_trading.entity.*;
import com.sztzjy.forex.trading_trading.mappers.MemberMapper;
import com.sztzjy.forex.trading_trading.util.BigDecimalUtils;
import com.sztzjy.forex.trading_trading.util.ForexMarketDateUtil;
@ -28,6 +25,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class MemberService {
@ -90,39 +88,39 @@ public class MemberService {
String trainingName,
Integer markStatus,
String keyword,
Integer schoolId,
JwtUser user,
Integer page,
Integer size) {
MemberExample example = new MemberExample();
MemberExample.Criteria criteria = example.createCriteria();
criteria.andSchoolIdEqualTo(schoolId);
if (StringUtils.hasText(className)) {
criteria.andClassGradeEqualTo(className);
}
if (StringUtils.hasText(trainingName)) {
criteria.andTrainingNameEqualTo(trainingName);
}
if (markStatus != null) {
//未评分
if (markStatus == 0) {
criteria.andReportScoreIsNull();
} else {
//已评分
criteria.andReportScoreIsNotNull();
}
}
if (StringUtils.hasText(keyword)) {
criteria.andNameLike("%" + keyword + "%");
MemberExample.Criteria orCriteria = example.createCriteria();
orCriteria.andStudentNumberEqualTo("%" + keyword + "%");
example.or(orCriteria);
}
// MemberExample example = new MemberExample();
// MemberExample.Criteria criteria = example.createCriteria();
// criteria.andSchoolIdEqualTo(user.getSchoolId());
// if (StringUtils.hasText(className)) {
// criteria.andClassGradeEqualTo(className);
// }
// if (StringUtils.hasText(trainingName)) {
// criteria.andTrainingNameEqualTo(trainingName);
// }
// if (markStatus != null) {
// //未评分
// if (markStatus == 0) {
// criteria.andReportScoreIsNull();
// } else {
// //已评分
// criteria.andReportScoreIsNotNull();
// }
// }
// if (StringUtils.hasText(keyword)) {
// criteria.andNameLike("%" + keyword + "%");
// MemberExample.Criteria orCriteria = example.createCriteria();
// orCriteria.andStudentNumberEqualTo("%" + keyword + "%");
// example.or(orCriteria);
// }
PageHelper.startPage(page, size);
return new PageInfo<>(memberMapper.pagedListMembers(example));
return new PageInfo<>(memberMapper.pagedListMembers(className, trainingName, markStatus, keyword, user.getSchoolId()));
}
public PageInfo<Member> pageListMemberByTrainingId(String trainingId,
public PageInfo<MemberVO> pageListMemberByTrainingId(String trainingId,
Integer classId,
String keyword,
Integer index,
@ -130,25 +128,26 @@ public class MemberService {
MemberExample example = new MemberExample();
MemberExample.Criteria criteria = example.createCriteria();
criteria.andTrainingIdEqualTo(trainingId);
if (classId!=null&&classId>0) {
criteria.andClassIdEqualTo(classId);
if (classId != null && classId > 0) {
criteria.andClassIdEqualTo(classId);
}
if(StringUtils.hasText(keyword)){
criteria.andNameLike("%"+keyword+"%");
if (StringUtils.hasText(keyword)) {
criteria.andNameLike("%" + keyword + "%");
MemberExample.Criteria orCriteria = example.createCriteria();
orCriteria.andStudentNumberEqualTo("%"+keyword+"%");
orCriteria.andStudentNumberEqualTo("%" + keyword + "%");
example.or(orCriteria);
}
example.setOrderByClause("stu_rank ASC");
PageHelper.startPage(index, size);
return new PageInfo<>(memberMapper.selectByExample(example));
return new PageInfo<>(memberMapper.selectByCondition(example));
}
public void exportMembers(String className,
public List<MemberVO> exportMembers(String className,
String trainingName,
Integer markStatus,
String keyword,
JwtUser user,
HttpServletResponse response) throws FileNotFoundException {
MemberExample example = new MemberExample();
MemberExample.Criteria criteria = example.createCriteria();
@ -173,30 +172,8 @@ public class MemberService {
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);
List<MemberVO> members = memberMapper.pagedListMembers(className, trainingName, markStatus, keyword, user.getSchoolId());
return members;
}
public List<Map<String, Object>> classScoreTrend(Integer schoolId) {
@ -223,17 +200,17 @@ public class MemberService {
return memberMapper.selectAllTrainingList(schoolId);
}
public List<Member> findByTrainingId(String trainingId){
public List<Member> findByTrainingId(String trainingId) {
MemberExample example = new MemberExample();
example.createCriteria().andTrainingIdEqualTo(trainingId);
return memberMapper.selectByExample(example);
}
public Member findByTrainingIdAndStudentNumber(String trainingId,String studentNumber){
public Member findByTrainingIdAndStudentNumber(String trainingId, String studentNumber) {
MemberExample example = new MemberExample();
example.createCriteria().andTrainingIdEqualTo(trainingId).andStudentNumberEqualTo(studentNumber);
List<Member> members = memberMapper.selectByExample(example);
return members.size()>0?members.get(0):null;
return members.size() > 0 ? members.get(0) : null;
}
// 分批处理删除业务防止当studentNumbers过多时生成的SQL语句可能会超过数据库支持的最大长度限制从而导致SQL执行失败
@ -255,21 +232,21 @@ public class MemberService {
}
//获取可用资金
public Double getAvailableFunds(Member member){
public Double getAvailableFunds(Member member) {
Double positionProfitLoss = flashTotalPositionProfitLoss(member.getMemberId());
if (positionProfitLoss==null){
positionProfitLoss=0.0;
if (positionProfitLoss == null) {
positionProfitLoss = 0.0;
}
Double initialCapital = member.getInitialCapital();//初始资金
Double totalAssets = initialCapital+positionProfitLoss;
Double totalAssets = initialCapital + positionProfitLoss;
Double netValue = bigDecimalUtils.add(totalAssets, positionProfitLoss);
Double cumulativeProfitLoss = member.getCumulativeProfitLoss(); //累计盈亏
if(cumulativeProfitLoss==null){
if (cumulativeProfitLoss == null) {
member.setCumulativeProfitLoss(0.0);
}
Double marginUsed = member.getMarginUsed(); //获取已用保证金
if (marginUsed==null){
marginUsed=0.0;
if (marginUsed == null) {
marginUsed = 0.0;
}
return bigDecimalUtils.sub(netValue, marginUsed);
}
@ -297,7 +274,7 @@ public class MemberService {
if (Constant.BUY_BUYSELLTYPE.equals(buySellType)) { //买
profitAndLoss = (nowSellPic - priceTransaction) * volumeTransaction * Constant.PEACEQUANTITY;
} else { //卖
profitAndLoss = (priceTransaction-nowBuyPic) * volumeTransaction * Constant.PEACEQUANTITY;
profitAndLoss = (priceTransaction - nowBuyPic) * volumeTransaction * Constant.PEACEQUANTITY;
}
}
totalProfitAndLoss = totalProfitAndLoss + profitAndLoss;
@ -305,4 +282,8 @@ public class MemberService {
}
return totalProfitAndLoss;
}
public void updateStuRank(){
memberMapper.updateStuRank();
}
}

@ -161,7 +161,9 @@ public class ReportService {
Assert.isTrue(member != null && member.getTrainingId() != null, "数据异常");
Training training = trainingService.findById(member.getTrainingId());
Assert.isTrue(training != null && training.getWeightId() != null, "数据异常");
member.setReportScore(gradeWeightService.findReportScore(training.getWeightId(), score));
Double reportScore = gradeWeightService.findReportScore(training.getWeightId(), score);
member.setReportScore(reportScore);
memberMapper.updateByPrimaryKeySelective(member);
}

@ -345,4 +345,9 @@ public class ScheduledTask {
}
}
@Scheduled(cron = "0 */5 * * * ?")
public void updateStuRank() {
memberService.updateStuRank();
}
}

@ -97,6 +97,7 @@ public class TrainingService {
TrainingExample example = new TrainingExample();
TrainingExample.Criteria criteria = example.createCriteria();
criteria.andSchoolIdEqualTo(schoolId);
example.setOrderByClause("create_time desc");
PageHelper.startPage(pageNo, pageSize);
return new PageInfo<>(trainingMapper.selectByExample(example));
}

@ -78,43 +78,6 @@
cumulative_profit_loss, yield, opening_trades, closing_trades, school_id, create_school,
training_name, report_score, class_id
</sql>
<select id="selectMemberByNameAndNumber" parameterType="java.lang.String" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM sys_member
<where>
<if test="schoolId != null">
AND school_id = #{schoolId}
</if>
<if test="name != null and name != ''">
and (name like "%"#{name}"%" or student_number like "%"#{name}"%")
</if>
</where>
ORDER BY yield DESC
</select>
<select id="selectMembers" parameterType="java.lang.String" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM sys_member
<where>
<if test="schoolId != null and schoolId != ''">
AND school_id = #{schoolId}
</if>
<if test="classGrade != null and classGrade!= ''">
AND class_grade = #{classGrade}
</if>
<if test="trainingId != null and trainingId!= ''">
AND training_id = #{trainingId}
</if>
<if test="name != null and name != ''">
and (name like "%"#{name}"%" or student_number like "%"#{name}"%")
</if>
</where>
ORDER BY yield DESC
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
<!--
WARNING - @mbg.generated
@ -302,6 +265,11 @@
<result column="cumulative_profit_loss" jdbcType="DOUBLE" property="cumulativeProfitLoss"/>
<result column="yield" jdbcType="DOUBLE" property="yield"/>
<result column="training_name" jdbcType="VARCHAR" property="trainingName"/>
<result column="total_assets" jdbcType="DOUBLE" property="totalAssets"/>
<result column="initial_capital" jdbcType="DOUBLE" property="initialCapital"/>
<result column="available_funds" jdbcType="DOUBLE" property="availableFunds"/>
<result column="opening_trades" jdbcType="INTEGER" property="openingTrades"/>
<result column="closing_trades" jdbcType="INTEGER" property="closingTrades"/>
</resultMap>
@ -360,13 +328,9 @@
order by ${orderByClause}
</if>
</select>
<select id="pagedListMembers" parameterType="com.sztzjy.forex.trading_trading.entity.MemberExample"
<select id="selectByCondition" parameterType="com.sztzjy.forex.trading_trading.entity.MemberExample"
resultMap="BaseResultMapForMemberVO">
<!--
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
@ -380,6 +344,28 @@
order by ${orderByClause}
</if>
</select>
<!-- <select id="pagedListMembers" parameterType="com.sztzjy.forex.trading_trading.entity.MemberExample"-->
<!-- resultMap="BaseResultMapForMemberVO">-->
<!-- &lt;!&ndash;-->
<!-- 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.-->
<!-- &ndash;&gt;-->
<!-- select-->
<!-- <if test="distinct">-->
<!-- distinct-->
<!-- </if>-->
<!-- <include refid="Base_Column_List"/>-->
<!-- from sys_member m-->
<!-- LEFT JOIN sys_training t ON m.training_id = t.training_id-->
<!-- <if test="_parameter != null">-->
<!-- <include refid="Example_Where_Clause"/>-->
<!-- </if>-->
<!-- and t.status = 'finished'-->
<!-- <if test="orderByClause != null">-->
<!-- order by ${orderByClause}-->
<!-- </if>-->
<!-- </select>-->
<insert id="insertAll" parameterType="java.util.List">
insert into sys_member (member_id, training_id, name,

Loading…
Cancel
Save