|
@@ -1,9 +1,12 @@
|
|
|
package com.zhongzheng.modules.base.service.impl;
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.lang.Validator;
|
|
|
import com.zhongzheng.common.utils.DateUtils;
|
|
|
import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
|
|
|
import com.zhongzheng.modules.base.service.IConsoleService;
|
|
|
+import com.zhongzheng.modules.grade.service.IClassGradeService;
|
|
|
+import com.zhongzheng.modules.grade.vo.ClassGradeVo;
|
|
|
import com.zhongzheng.modules.order.service.IOrderService;
|
|
|
import com.zhongzheng.modules.order.vo.OrderListVo;
|
|
|
import com.zhongzheng.modules.user.service.IUserService;
|
|
@@ -24,6 +27,9 @@ public class ConsoleServiceImpl implements IConsoleService {
|
|
|
@Autowired
|
|
|
private IUserUpdateService iUserUpdateService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IClassGradeService iClassGradeService;
|
|
|
+
|
|
|
@Override
|
|
|
public Map<String, Object> getStudentData(ConsoleQueryBo bo) {
|
|
|
Integer allNum = iOrderService.getConsoleStudentNum(bo); //总人数
|
|
@@ -99,6 +105,38 @@ public class ConsoleServiceImpl implements IConsoleService {
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> getGradeData(ConsoleQueryBo bo) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ List<ClassGradeVo> allList = iClassGradeService.getConsoleGradeList(bo);
|
|
|
+ countGradeNum(map,"all",allList); //所有
|
|
|
+ Calendar cal = Calendar.getInstance();
|
|
|
+ cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
|
|
|
+ Long todZero = cal.getTimeInMillis() / 1000; //今天凌晨
|
|
|
+ cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH)-1, 0, 0, 0);
|
|
|
+ Long ytdZero = cal.getTimeInMillis() / 1000; //昨天凌晨
|
|
|
+ Calendar cal7 = new GregorianCalendar();
|
|
|
+ cal7.add(Calendar.DATE,-6); //7天内
|
|
|
+ cal7.set(cal7.get(Calendar.YEAR), cal7.get(Calendar.MONTH), cal7.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
|
|
|
+ Long sevenZero = cal7.getTimeInMillis() / 1000; //7日内凌晨
|
|
|
+
|
|
|
+ bo.setStartTime(todZero);
|
|
|
+ bo.setEndTime(DateUtils.getNowTime());
|
|
|
+ List<ClassGradeVo> todList = iClassGradeService.getConsoleGradeList(bo);
|
|
|
+ countGradeNum(map,"tod",todList); //今天
|
|
|
+
|
|
|
+ bo.setStartTime(ytdZero);
|
|
|
+ bo.setEndTime(todZero);
|
|
|
+ List<ClassGradeVo> ytdList = iClassGradeService.getConsoleGradeList(bo);
|
|
|
+ countGradeNum(map,"ytd",ytdList); //昨天
|
|
|
+
|
|
|
+ bo.setEndTime(DateUtils.getNowTime());
|
|
|
+ bo.setStartTime(sevenZero);
|
|
|
+ List<ClassGradeVo> sevenList = iClassGradeService.getConsoleGradeList(bo);
|
|
|
+ countGradeNum(map,"sev",sevenList); //7天
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
private void countNum(Map<String, Object> map,String tag,List<OrderListVo> allList){
|
|
|
Integer allNum = allList.size();
|
|
|
map.put(tag+"Num",allNum);
|
|
@@ -129,4 +167,22 @@ public class ConsoleServiceImpl implements IConsoleService {
|
|
|
map.put(tag+"OffBankNum",offBankNum);
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ private void countGradeNum(Map<String, Object> map,String tag,List<ClassGradeVo> allList){
|
|
|
+ Integer allNum = allList.size();
|
|
|
+ map.put(tag+"Num",allNum);
|
|
|
+ Integer openNum = 0;
|
|
|
+ Integer preNum = 0;
|
|
|
+ for(ClassGradeVo vo : allList){
|
|
|
+ if(Validator.isNotEmpty(vo.getClassStatus())){
|
|
|
+ if(vo.getClassStatus()==0){
|
|
|
+ preNum++;
|
|
|
+ }else{
|
|
|
+ openNum++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put(tag+"OpenNum",openNum);
|
|
|
+ map.put(tag+"PreNum",preNum);
|
|
|
+ }
|
|
|
}
|