|
@@ -607,6 +607,13 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
|
|
|
if(StringUtils.isNotBlank(queryInfo.getOrganIds())&&CollectionUtils.isEmpty(organIds)){
|
|
|
return pageInfo;
|
|
|
}
|
|
|
+ //获取分部目标
|
|
|
+ String cloudTeacherActiveTarget = sysConfigDao.findConfigValue(SysConfigService.CLOUD_TEACHER_ACTIVE_TARGET);
|
|
|
+ if(StringUtils.isEmpty(cloudTeacherActiveTarget)){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ List<CloudTeacherActiveTargetDto> targetDtoList = JSONArray.parseArray(cloudTeacherActiveTarget, CloudTeacherActiveTargetDto.class);
|
|
|
+ Map<Integer, List<CloudTeacherActiveTargetDto>> targetMap = targetDtoList.stream().collect(Collectors.groupingBy(e -> e.getOrganId()));
|
|
|
|
|
|
List<Organization> organs = organizationDao.getOrgans(organIds);
|
|
|
pageInfo.setTotal(organs.size());
|
|
@@ -652,7 +659,12 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
|
|
|
List<EduOrganStudentDataDto> result = new ArrayList<>();
|
|
|
|
|
|
for (Organization organ : organs) {
|
|
|
+ List<CloudTeacherActiveTargetDto> targetDtos = targetMap.get(organ.getId());
|
|
|
EduOrganStudentDataDto organStudentVipData = new EduOrganStudentDataDto();
|
|
|
+ if(targetDtos != null && targetDtos.size() > 0){
|
|
|
+ CloudTeacherActiveTargetDto target = targetDtos.get(0);
|
|
|
+ organStudentVipData.setTargetNum(target.getTargetNum());
|
|
|
+ }
|
|
|
organStudentVipData.setOrganId(organ.getId());
|
|
|
organStudentVipData.setOrganName(organ.getName());
|
|
|
if(organsStudentNumMap.containsKey(organ.getId().toString())){
|
|
@@ -791,14 +803,14 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
|
|
|
@Override
|
|
|
public void remarkCountFlag() {
|
|
|
//清除标记
|
|
|
- studentDao.cleanCountFlag();
|
|
|
+// studentDao.cleanCountFlag();
|
|
|
//打标记
|
|
|
- List<Integer> studentIds = new ArrayList<>();
|
|
|
+// List<Integer> studentIds = new ArrayList<>();
|
|
|
//获取在会员团的学员
|
|
|
- studentIds.addAll(studentRegistrationDao.queryHasMemberGroupStudent());
|
|
|
+// studentIds.addAll(studentRegistrationDao.queryHasMemberGroupStudent());
|
|
|
//获取购买过云教练(非活动)的学员
|
|
|
- studentIds.addAll(cloudTeacherOrderDao.getStudentIds());
|
|
|
- studentDao.remarkCountFlag(studentIds);
|
|
|
+// studentIds.addAll(cloudTeacherOrderDao.getStudentIds());
|
|
|
+// studentDao.remarkCountFlag(studentIds);
|
|
|
//更新目标学员、目标金额
|
|
|
SysConfig config = sysConfigDao.findByParamName("cloud_teacher_active_target");
|
|
|
config.setParanValue(JSON.toJSONString(studentRegistrationDao.queryOrganTarget()));
|
|
@@ -817,16 +829,16 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
|
|
|
List<CloudTeacherActiveTargetDto> targetDtoList = JSONArray.parseArray(cloudTeacherActiveTarget, CloudTeacherActiveTargetDto.class);
|
|
|
Map<Integer, List<CloudTeacherActiveTargetDto>> targetMap = targetDtoList.stream().collect(Collectors.groupingBy(e -> e.getOrganId()));
|
|
|
//获取各分部总人数
|
|
|
- List<Map<String, Long>> maps = indexBaseMonthDataDao.countTotalStudentNum();
|
|
|
- Map<String, Long> organStudentNumMap = new HashMap<>(20);
|
|
|
- if(maps != null && maps.size() > 0){
|
|
|
- organStudentNumMap = MapUtil.convertIntegerMap(maps);
|
|
|
- }
|
|
|
+// List<Map<String, Long>> maps = indexBaseMonthDataDao.countTotalStudentNum();
|
|
|
+// Map<String, Long> organStudentNumMap = new HashMap<>(20);
|
|
|
+// if(maps != null && maps.size() > 0){
|
|
|
+// organStudentNumMap = MapUtil.convertIntegerMap(maps);
|
|
|
+// }
|
|
|
params.put("organIdList",organIdList);
|
|
|
List<CloudTeacherActiveTargetDto> resultList = indexBaseMonthDataDao.countCloudTeacherActive(params);
|
|
|
for (CloudTeacherActiveTargetDto dto : resultList) {
|
|
|
- Long aLong = organStudentNumMap.get(dto.getOrganId().toString());
|
|
|
- dto.setTotalNum(aLong==null?0:aLong.intValue());
|
|
|
+// Long aLong = organStudentNumMap.get(dto.getOrganId().toString());
|
|
|
+// dto.setTotalNum(aLong==null?0:aLong.intValue());
|
|
|
List<CloudTeacherActiveTargetDto> targetDtos = targetMap.get(dto.getOrganId());
|
|
|
if(targetDtos != null && targetDtos.size() > 0){
|
|
|
CloudTeacherActiveTargetDto target = targetDtos.get(0);
|
|
@@ -853,21 +865,21 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
|
|
|
resultMap.put("buyAmount",buyAmount);
|
|
|
Integer buyNum = resultList.stream().mapToInt(CloudTeacherActiveTargetDto::getBuyNum).sum();
|
|
|
resultMap.put("buyNum",buyNum);
|
|
|
- Integer totalNum = resultList.stream().mapToInt(CloudTeacherActiveTargetDto::getTotalNum).sum();
|
|
|
- resultMap.put("totalNum",totalNum);
|
|
|
+// Integer totalNum = resultList.stream().mapToInt(CloudTeacherActiveTargetDto::getTotalNum).sum();
|
|
|
+// resultMap.put("totalNum",totalNum);
|
|
|
Integer targetNum = resultList.stream().mapToInt(CloudTeacherActiveTargetDto::getTargetNum).sum();
|
|
|
resultMap.put("targetNum",targetNum);
|
|
|
resultMap.put("avgBuyAmount",0);
|
|
|
- resultMap.put("buyScale",0);
|
|
|
+// resultMap.put("buyScale",0);
|
|
|
resultMap.put("targetFinishScale",0);
|
|
|
if(buyAmount.doubleValue() > 0d && buyNum > 0){
|
|
|
BigDecimal avgBuyAmount = buyAmount.divide(new BigDecimal(buyNum), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
|
|
|
resultMap.put("avgBuyAmount",avgBuyAmount);
|
|
|
}
|
|
|
- if(totalNum > 0 && buyNum > 0){
|
|
|
- BigDecimal buyScale = new BigDecimal(buyNum).divide(new BigDecimal(totalNum), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
|
|
|
- resultMap.put("buyScale",buyScale);
|
|
|
- }
|
|
|
+// if(totalNum > 0 && buyNum > 0){
|
|
|
+// BigDecimal buyScale = new BigDecimal(buyNum).divide(new BigDecimal(totalNum), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
|
|
|
+// resultMap.put("buyScale",buyScale);
|
|
|
+// }
|
|
|
if(targetNum > 0 && buyNum > 0){
|
|
|
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);
|
|
@@ -901,20 +913,20 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
|
|
|
resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getAvgBuyAmount)).collect(Collectors.toList());
|
|
|
}
|
|
|
break;
|
|
|
- case "totalNum":
|
|
|
- if("DESC".equalsIgnoreCase(order)){
|
|
|
- resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getTotalNum,Comparator.reverseOrder())).collect(Collectors.toList());
|
|
|
- }else {
|
|
|
- resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getTotalNum)).collect(Collectors.toList());
|
|
|
- }
|
|
|
- break;
|
|
|
- case "buyScale":
|
|
|
- if("DESC".equalsIgnoreCase(order)){
|
|
|
- resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getBuyScale,Comparator.reverseOrder())).collect(Collectors.toList());
|
|
|
- }else {
|
|
|
- resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getBuyScale)).collect(Collectors.toList());
|
|
|
- }
|
|
|
- break;
|
|
|
+// case "totalNum":
|
|
|
+// if("DESC".equalsIgnoreCase(order)){
|
|
|
+// resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getTotalNum,Comparator.reverseOrder())).collect(Collectors.toList());
|
|
|
+// }else {
|
|
|
+// resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getTotalNum)).collect(Collectors.toList());
|
|
|
+// }
|
|
|
+// break;
|
|
|
+// case "buyScale":
|
|
|
+// if("DESC".equalsIgnoreCase(order)){
|
|
|
+// resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getBuyScale,Comparator.reverseOrder())).collect(Collectors.toList());
|
|
|
+// }else {
|
|
|
+// resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getBuyScale)).collect(Collectors.toList());
|
|
|
+// }
|
|
|
+// break;
|
|
|
case "targetNum":
|
|
|
if("DESC".equalsIgnoreCase(order)){
|
|
|
resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getTargetNum,Comparator.reverseOrder())).collect(Collectors.toList());
|