|
@@ -1014,6 +1014,10 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
|
|
|
BigDecimal targetFinishScale = new BigDecimal(dto.getBuyNum()).divide(new BigDecimal(dto.getTargetNum()), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
|
|
|
dto.setTargetFinishScale(targetFinishScale);
|
|
|
}
|
|
|
+ if(dto.getBuyAmount().doubleValue() > 0d && dto.getTargetAmount().doubleValue() > 0d){
|
|
|
+ BigDecimal targetAmountFinishScale = dto.getBuyAmount().divide(dto.getTargetAmount(), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
|
|
|
+ dto.setTargetAmountFinishScale(targetAmountFinishScale);
|
|
|
+ }
|
|
|
}
|
|
|
Map<String,Object> resultMap = new HashMap<>(7);
|
|
|
BigDecimal targetAmount = resultList.stream().map(CloudTeacherActiveTargetDto::getTargetAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
@@ -1041,11 +1045,15 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
|
|
|
BigDecimal targetFinishScale = new BigDecimal(buyNum).divide(new BigDecimal(targetNum), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
|
|
|
resultMap.put("targetFinishScale",targetFinishScale);
|
|
|
}
|
|
|
+ if(buyAmount.doubleValue() > 0d && targetAmount.doubleValue() > 0d){
|
|
|
+ BigDecimal targetAmountFinishScale = buyAmount.divide(targetAmount, CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
|
|
|
+ resultMap.put("targetAmountFinishScale",targetAmountFinishScale);
|
|
|
+ }
|
|
|
Map<String,Object> result = new HashMap<>(2);
|
|
|
result.put("head",resultMap);
|
|
|
String sort = queryInfo.getSort();
|
|
|
if(StringUtils.isEmpty(sort)){
|
|
|
- sort = "targetFinishScale";
|
|
|
+ sort = "targetAmountFinishScale";
|
|
|
}
|
|
|
String order = queryInfo.getOrder();
|
|
|
switch (sort){
|
|
@@ -1098,6 +1106,13 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
|
|
|
resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getTargetFinishScale)).collect(Collectors.toList());
|
|
|
}
|
|
|
break;
|
|
|
+ case "targetAmountFinishScale":
|
|
|
+ if("DESC".equalsIgnoreCase(order)){
|
|
|
+ resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getTargetAmountFinishScale,Comparator.reverseOrder())).collect(Collectors.toList());
|
|
|
+ }else {
|
|
|
+ resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getTargetAmountFinishScale)).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
result.put("resultList",resultList);
|
|
|
return result;
|