Browse Source

所有维保工当天维保任务推送消息

别傲 5 years ago
parent
commit
e42c814a89

+ 18 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/framework/job/BusinessJob.java

@@ -1,6 +1,8 @@
 package cn.com.ty.lift.business.framework.job;
 
 import cn.com.ty.lift.business.maintenance.dao.entity.MaintenancePlan;
+import cn.com.ty.lift.business.maintenance.dao.entity.model.MaintenanceTask;
+import cn.com.ty.lift.business.maintenance.dao.mapper.MaintenancePlanMapper;
 import cn.com.ty.lift.business.maintenance.service.MaintenancePlanService;
 import cn.com.ty.lift.business.push.entity.InspectionTips;
 import cn.com.ty.lift.business.push.entity.RepairTips;
@@ -38,6 +40,7 @@ public class BusinessJob {
     private MaintenancePlanService maintenancePlanService;
     private JmsMessagingTemplate   jmsMessagingTemplate;
     private PushUserService        pushUserService;
+    private MaintenancePlanMapper maintenancePlanMapper;
 
     /**
      * 更新维保计划过期状态job:每天1-3点,每10分钟执行一次
@@ -61,6 +64,21 @@ public class BusinessJob {
         } while (pageNum <= pages);
     }
 
+    /**
+     * 查询当天所有维保工的维保任务并提醒
+     */
+    @Scheduled(cron = "0 */5 * * * ?")
+    public void sendMaintenanceTask() {
+        //查询所有维保工当天的维保任务
+        List<MaintenanceTask> maintenanceTasks = maintenancePlanMapper.queryMaintenanceTask();
+        for (MaintenanceTask task : maintenanceTasks) {
+            PushUserInfo userInfo = new PushUserInfo(task.getDeviceModel(), task.getDeviceFlag());
+            //推送当天每个维保工的维保任务
+            PushMessage.maintainHasTaskDaily(task.getNum())
+                    .sendTokenOnPlatform(jmsMessagingTemplate, userInfo);
+        }
+    }
+
     /**
      * 年检到期提前45天提醒
      */

+ 32 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/MaintenanceTask.java

@@ -0,0 +1,32 @@
+package cn.com.ty.lift.business.maintenance.dao.entity.model;
+
+import lombok.Data;
+
+/**
+ * @author bieao
+ * @date 2020/5/7
+ * @description 维保工任务
+ */
+@Data
+public class MaintenanceTask {
+
+    /**
+     * 电梯台量
+     */
+    private Integer num;
+
+    /**
+     * 维保工
+     */
+    private Long workerId;
+
+    /**
+     * 设备型号
+     */
+    private Integer deviceModel;
+
+    /**
+     * 设备标识
+     */
+    private String deviceFlag;
+}

+ 3 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/mapper/MaintenancePlanMapper.java

@@ -2,6 +2,7 @@ package cn.com.ty.lift.business.maintenance.dao.mapper;
 
 import cn.com.ty.lift.business.maintenance.dao.entity.MaintenancePlan;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.MaintenanceCount;
+import cn.com.ty.lift.business.maintenance.dao.entity.model.MaintenanceTask;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenancePlanRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceRecordRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MtPlanRequest;
@@ -45,4 +46,6 @@ public interface MaintenancePlanMapper extends BaseMapper<MaintenancePlan> {
     long countPlanByCondition(@Param("cond") MtPlanRequest request);
 
     List<MaintenancePlan> queryPlanListByIds(@Param("paramMap") Map<String, Object> paramMap);
+
+    List<MaintenanceTask> queryMaintenanceTask();
 }

+ 12 - 0
lift-business-service/src/main/resources/mapper/maintenance/MaintenancePlanMapper.xml

@@ -37,6 +37,18 @@
 		status
 	</sql>
 
+	<!-- 查询当天所有维保工的维保任务 -->
+	<select id="queryMaintenanceTask" resultType="cn.com.ty.lift.business.maintenance.dao.entity.model.MaintenanceTask">
+		SELECT count(1) AS num,
+			   mp.worker_id,
+			   ua.device_model,
+			   ua.device_flag
+		FROM maintenance_plan mp
+				 LEFT JOIN user_account ua ON mp.worker_id = ua.user_id
+		WHERE plan_date = current_date()
+		GROUP BY mp.worker_id, ua.device_model, ua.device_flag
+	</select>
+
 	<select id="findByCondition" resultType="cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenancePlanResponse"
 			parameterType="cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenancePlanRequest">
 		SELECT

+ 5 - 0
lift-common/src/main/java/cn.com.ty.lift.common/model/PushUserInfo.java

@@ -54,4 +54,9 @@ public class PushUserInfo {
     public boolean isIos(){
         return ValuePool.nullable(this.getDeviceModel(), 0) == ValuePool.PUSH_DEVICE_MODEL_IOS;
     }
+
+    public PushUserInfo(Integer deviceModel, String deviceFlag) {
+        this.deviceModel = deviceModel;
+        this.deviceFlag = deviceFlag;
+    }
 }