1、教师端首页报错修复 #13

Merged
chenyuan merged 2 commits from dev-20240108 into master 1 year ago

@ -180,6 +180,12 @@ public class MemberController {
ExcelData excelData = ExcelData.create(titles);
for (MemberVO member : members) {
List<Object> rows = new ArrayList<>();
Training training = trainingService.findById(member.getTrainingId());
if (member.getYield() == null || training == null) continue;
member.setTradeTrainingScore(gradeWeightService.findWeightByWeightIdAndYield(training.getWeightId(), member.getYield()).getActualScore());
member.setTotalScore(member.getTradeTrainingScore() + (member.getReportScore() == null ? 0 : member.getReportScore()));
rows.add(member.getTrainingName());
rows.add(member.getClassGrade());
rows.add(member.getStudentNumber());
@ -213,5 +219,4 @@ public class MemberController {
}
}

@ -148,4 +148,7 @@ public interface TrainingMapper {
"WHERE end_time >= NOW() - INTERVAL 5 MINUTE AND end_time <= NOW() AND status = 'FINISHED'")
List<Training> findTrainingForUpdateScore();
@Select("SELECT * FROM sys_training WHERE weight_id=#{weightId}")
List<Training> findByWeightId(@Param("weightId") String weightId);
}

@ -5,23 +5,54 @@ import com.sztzjy.forex.trading_trading.dto.GradeWeightBO;
import com.sztzjy.forex.trading_trading.dto.GradeWeightDetailBO;
import com.sztzjy.forex.trading_trading.entity.GradeWeight;
import com.sztzjy.forex.trading_trading.entity.GradeWeightExample;
import com.sztzjy.forex.trading_trading.entity.Training;
import com.sztzjy.forex.trading_trading.mappers.GradeWeightMapper;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@Service
public class GradeWeightService {
@Autowired
GradeWeightMapper gradeWeightMapper;
@Autowired
TrainingService trainingService;
public void insert(GradeWeightBO bo, JwtUser currentUser) {
GradeWeight.buildGradeWeights(bo, currentUser).forEach(gradeWeightMapper::insertSelective);
HashSet<String> oldWeightIds = new HashSet();
List<GradeWeight> gradeWeights = findWeightBySchoolId(currentUser.getSchoolId());
if (gradeWeights != null && gradeWeights.size() > 0) {
for(GradeWeight weight: gradeWeights) {
oldWeightIds.add(weight.getWeightId());
gradeWeightMapper.deleteByPrimaryKey(weight.getId());
}
}
List<GradeWeight> weights = GradeWeight.buildGradeWeights(bo, currentUser);
for (GradeWeight weight : weights) {
gradeWeightMapper.insertSelective(weight);
}
if (oldWeightIds != null) {
for(String oldWeightId: oldWeightIds) {
List<Training> training = trainingService.findByWeightId(oldWeightId);
if (training != null && training.size() > 0) {
GradeWeight gradeWeight = findBySchoolId(currentUser.getSchoolId());
for (Training t : training) {
t.setWeightId(gradeWeight.getWeightId());
trainingService.update(t);
}
}
}
}
}
public GradeWeight findBySchoolId(int schoolId) {
GradeWeightExample example = new GradeWeightExample();
GradeWeightExample.Criteria criteria = example.createCriteria();

@ -60,6 +60,10 @@ public class TrainingService {
return trainingMapper.selectByPrimaryKey(id);
}
public List<Training> findByWeightId(String weightId) {
return trainingMapper.findByWeightId(weightId);
}
public void delete(String id) {
//TODO 删除实训还要删除member表中的trainingId相关数据
trainingMapper.deleteByPrimaryKey(id);

Loading…
Cancel
Save