Browse Source

fix 控制台

he2802 3 years ago
parent
commit
8344c975f9

+ 7 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/base/ConsoleController.java

@@ -51,4 +51,11 @@ public class ConsoleController extends BaseController {
         Map<String,Object> numMap = iConsoleService.getGradeData(bo);
         return AjaxResult.success(numMap);
     }
+
+    @ApiOperation("控制台学时数据")
+    @GetMapping("/periodData")
+    public AjaxResult<Map<String,Object>> periodData(ConsoleQueryBo bo) {
+        Map<String,Object> numMap = iConsoleService.getPeriodData(bo);
+        return AjaxResult.success(numMap);
+    }
 }

+ 20 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/bo/ConsoleQueryBo.java

@@ -47,4 +47,24 @@ public class ConsoleQueryBo extends BaseEntity {
 
 	@ApiModelProperty("学习完成状态 0 未学完 1学完")
 	private Integer finishStatus;
+
+	@ApiModelProperty("学时审批状态 0 未通过 1通过 2待审核 -1 不可审核 3审核中")
+	private Integer periodStatus;
+
+	@ApiModelProperty("待审核开始时间")
+	private Long waitStartTime;
+	@ApiModelProperty("待审核结束时间")
+	private Long waitEndTime;
+
+	@ApiModelProperty("学时推送接口")
+	private Long interfacePeriodId;
+
+	@ApiModelProperty("官方信息推送接口")
+	private Long interfacePushId;
+
+	@ApiModelProperty("官方推送状态 1是 0否")
+	private Integer officialStatus;
+
+	/** 是否学时推送 0未推送 1推送 */
+	private Integer periodPlush;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/IConsoleService.java

@@ -16,4 +16,6 @@ public interface IConsoleService {
     Map<String,Object> getOrderData(ConsoleQueryBo bo);
 
     Map<String,Object> getGradeData(ConsoleQueryBo bo);
+
+    Map<String,Object> getPeriodData(ConsoleQueryBo bo);
 }

+ 87 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/ConsoleServiceImpl.java

@@ -172,6 +172,93 @@ public class ConsoleServiceImpl implements IConsoleService {
         return map;
     }
 
+    @Override
+    public Map<String, Object> getPeriodData(ConsoleQueryBo bo) {
+        Map<String, Object> map = new HashMap<>();
+        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.setPeriodStatus(2);
+        Integer waitAllNum = iClassGradeService.getConsolePeriodNum(bo);
+        bo.setPeriodStatus(null);
+        bo.setWaitStartTime(todZero);
+        bo.setWaitEndTime(DateUtils.getNowTime());
+        Integer waitTodNum = iClassGradeService.getConsolePeriodNum(bo);
+        bo.setWaitStartTime(ytdZero);
+        bo.setWaitEndTime(todZero);
+        Integer waitYtdNum = iClassGradeService.getConsolePeriodNum(bo);
+        bo.setWaitStartTime(sevenZero);
+        bo.setWaitEndTime(DateUtils.getNowTime());
+        Integer waitSevNum = iClassGradeService.getConsolePeriodNum(bo);
+        bo.setWaitStartTime(null);
+        bo.setWaitEndTime(null);
+        bo.setPeriodStatus(3);
+        Integer ingAllNum = iClassGradeService.getConsolePeriodNum(bo);
+        bo.setPeriodStatus(null);
+        bo.setStartTime(todZero);
+        bo.setEndTime(DateUtils.getNowTime());
+        Integer ingTodNum = iClassGradeService.getConsolePeriodNum(bo);
+        bo.setStartTime(ytdZero);
+        bo.setEndTime(todZero);
+        Integer ingYtdNum = iClassGradeService.getConsolePeriodNum(bo);
+        bo.setStartTime(sevenZero);
+        bo.setEndTime(DateUtils.getNowTime());
+        Integer ingSevNum = iClassGradeService.getConsolePeriodNum(bo);
+
+        ConsoleQueryBo bo1 = new ConsoleQueryBo();
+        bo1.setBusinessId(bo.getBusinessId());
+        bo1.setInterfacePushId(0L);
+        Integer noInfoNum = iClassGradeService.getConsoleGradeAccountNum(bo1); //未配置报名接口班级
+        bo1.setInterfacePushId(1L);
+        Integer infoNum = iClassGradeService.getConsoleGradeAccountNum(bo1); //有配置报名接口班级
+        bo1.setInterfacePushId(null);
+        bo1.setInterfacePeriodId(0L);
+        Integer noPeriodNum = iClassGradeService.getConsoleGradeAccountNum(bo1); //未配置学时接口班级
+        bo1.setInterfacePeriodId(1L);
+        Integer periodNum = iClassGradeService.getConsoleGradeAccountNum(bo1);  //有配置学时接口班级
+
+        ConsoleQueryBo bo2 = new ConsoleQueryBo();
+        bo2.setBusinessId(bo.getBusinessId());
+        bo2.setInterfacePushId(1L);
+        Integer applyUserNum = iClassGradeService.getConsoleGradeUserPeriodNum(bo2);
+        bo2.setOfficialStatus(1);
+        Integer applyPushUserNum = iClassGradeService.getConsoleGradeUserPeriodNum(bo2);
+
+        bo2.setInterfacePushId(null);
+        bo2.setOfficialStatus(null);
+        bo2.setPeriodStatus(1);
+        Integer periodUserNum = iClassGradeService.getConsoleGradeUserPeriodNum(bo2);
+        bo2.setPeriodPlush(1);
+        Integer periodPushUserNum = iClassGradeService.getConsoleGradeUserPeriodNum(bo2);
+
+        map.put("waitAllNum",waitAllNum);
+        map.put("waitTodNum",waitTodNum);
+        map.put("waitYtdNum",waitYtdNum);
+        map.put("waitSevNum",waitSevNum);
+        map.put("ingAllNum",ingAllNum);
+        map.put("ingTodNum",ingTodNum);
+        map.put("ingYtdNum",ingYtdNum);
+        map.put("ingSevNum",ingSevNum);
+
+        map.put("noInfoNum",noInfoNum);
+        map.put("infoNum",infoNum);
+        map.put("noPeriodNum",noPeriodNum);
+        map.put("periodNum",periodNum);
+
+        map.put("applyUserNum",applyUserNum);
+        map.put("applyPushUserNum",applyPushUserNum);
+        map.put("periodUserNum",periodUserNum);
+        map.put("periodPushUserNum",periodPushUserNum);
+        return map;
+    }
+
     private void countNum(Map<String, Object> map,String tag,List<OrderListVo> allList){
         Integer allNum = allList.size();
         map.put(tag+"Num",allNum);

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeMapper.java

@@ -48,4 +48,8 @@ public interface ClassGradeMapper extends BaseMapper<ClassGrade> {
 
     Integer getConsoleGradeAccountNum(ConsoleQueryBo bo);
 
+    Integer getConsolePeriodNum(ConsoleQueryBo bo);
+
+    Integer getConsoleGradeUserPeriodNum(ConsoleQueryBo bo);
+
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeService.java

@@ -71,4 +71,8 @@ public interface IClassGradeService extends IService<ClassGrade> {
 
 	Integer getConsoleGradeAccountNum(ConsoleQueryBo bo);
 
+	Integer getConsolePeriodNum(ConsoleQueryBo bo);
+
+	Integer getConsoleGradeUserPeriodNum(ConsoleQueryBo bo);
+
 }

+ 10 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java

@@ -496,6 +496,16 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
         return baseMapper.getConsoleGradeAccountNum(bo);
     }
 
+    @Override
+    public Integer getConsolePeriodNum(ConsoleQueryBo bo) {
+        return baseMapper.getConsolePeriodNum(bo);
+    }
+
+    @Override
+    public Integer getConsoleGradeUserPeriodNum(ConsoleQueryBo bo) {
+        return baseMapper.getConsoleGradeUserPeriodNum(bo);
+    }
+
     /**
      * 实体类转化成视图对象
      *

+ 66 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml

@@ -653,6 +653,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="noInterfaceAccountId != null and noInterfaceAccountId== 0">
             AND cg.no_interface_account_id is NULL
         </if>
+        <if test="interfacePeriodId != null and interfacePeriodId== 1">
+            AND cg.interface_period_id > 0
+        </if>
+        <if test="interfacePeriodId != null and interfacePeriodId== 0">
+            AND cg.interface_period_id is NULL
+        </if>
+        <if test="interfacePushId != null and interfacePushId== 1">
+            AND cg.interface_push_id > 0
+        </if>
+        <if test="interfacePushId != null and interfacePushId== 0">
+            AND cg.interface_push_id is NULL
+        </if>
         <if test="businessId != null">
             AND g.business_id = #{businessId}
         </if>
@@ -663,4 +675,58 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             AND #{endTime} >= cg.create_time
         </if>
     </select>
+
+    <select id="getConsolePeriodNum" parameterType="com.zhongzheng.modules.base.bo.ConsoleQueryBo" resultType="Integer">
+        SELECT
+        count(cgu.id)
+        FROM
+        class_grade_user cgu  LEFT JOIN class_grade_goods cgg ON cgu.grade_id = cgg.grade_id
+        LEFT JOIN goods g ON cgg.goods_id = g.goods_id
+        WHERE
+        1 = 1
+        <if test="periodStatus != null">
+            AND cgu.period_status = #{periodStatus}
+        </if>
+        <if test="businessId != null">
+            AND g.business_id = #{businessId}
+        </if>
+        <if test="startTime != null">
+            AND cgu.period_ing_time >= #{startTime}
+        </if>
+        <if test="endTime != null">
+            AND #{endTime} >= cgu.period_ing_time
+        </if>
+        <if test="waitStartTime != null">
+            AND cgu.period_wait_time >= #{waitStartTime}
+        </if>
+        <if test="waitEndTime != null">
+            AND #{waitEndTime} >= cgu.period_wait_time
+        </if>
+    </select>
+
+    <select id="getConsoleGradeUserPeriodNum" parameterType="com.zhongzheng.modules.base.bo.ConsoleQueryBo" resultType="Integer">
+        SELECT
+        count(cgu.id)
+        FROM
+        class_grade_user cgu  LEFT JOIN class_grade_goods cgg ON cgu.grade_id = cgg.grade_id
+        LEFT JOIN goods g ON cgg.goods_id = g.goods_id
+        LEFT JOIN class_grade cg ON cgu.grade_id = cg.grade_id
+        WHERE
+        1 = 1
+        <if test="periodStatus != null">
+            AND cgu.period_status = 1
+        </if>
+        <if test="interfacePushId != null">
+            AND cg.interface_push_id > 0
+        </if>
+        <if test="officialStatus != null">
+            AND cgu.official_status = 1
+        </if>
+        <if test="periodPlush != null">
+            AND cgu.period_plush = 1
+        </if>
+        <if test="businessId != null">
+            AND g.business_id = #{businessId}
+        </if>
+    </select>
 </mapper>