|
|
|
@ -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();
|
|
|
|
|