浏览代码

add 乐保到期提醒推送

周箭河 4 年之前
父节点
当前提交
8554c8542d

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentInstrumentDao.java

@@ -4,12 +4,14 @@ import com.ym.mec.biz.dal.entity.StudentInstrument;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
 import java.util.List;
 
 public interface StudentInstrumentDao extends BaseDAO<Long, StudentInstrument> {
 
     /**
      * 批量添加
+     *
      * @param studentInstruments
      * @return
      */
@@ -17,7 +19,16 @@ public interface StudentInstrumentDao extends BaseDAO<Long, StudentInstrument> {
 
     /**
      * 批量修改
+     *
      * @return
      */
     int batchUpdate();
+
+    /**
+     * 根据服务结束时间获取列表
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<StudentInstrument> getListByEndTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -165,7 +165,8 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     SMS_REPAIR_SEND_COMPLETED("SMS_REPAIR_SEND_COMPLETED","乐器维修完成邮寄"),
     SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE("SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE","乐团家长会通知"),
     SMS_INSPECTION_NOTICE("SMS_INSPECTION_NOTICE","巡查日程提醒"),
-    TEACHER_SERVE_PUSH("TEACHER_SERVE_PUSH", "服务指标未完成提醒");
+    TEACHER_SERVE_PUSH("TEACHER_SERVE_PUSH", "服务指标未完成提醒"),
+    MAINTENANCE_NOTICE_PUSH("MAINTENANCE_NOTICE_PUSH", "乐保到期提醒");
 
 
 

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentInstrumentService.java

@@ -38,4 +38,11 @@ public interface StudentInstrumentService extends BaseService<Long, StudentInstr
      * @return
      */
     Boolean addOrderDetail2Instrument(StudentPaymentOrder order);
+
+
+    /**
+     * 有效期到期前7天,推送提醒学员该乐器有效期即将到期
+     * @return
+     */
+    Boolean pushNotice();
 }

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentInstrumentServiceImpl.java

@@ -309,4 +309,23 @@ public class StudentInstrumentServiceImpl extends BaseServiceImpl<Long, StudentI
         }
         return true;
     }
+
+    @Override
+    public Boolean pushNotice() {
+        Date endTime = DateUtil.addDays(DateUtil.getLastTimeWithDay(new Date()), -7);
+        Date startTime = DateUtil.trunc(endTime);
+        List<StudentInstrument> studentInstruments = studentInstrumentDao.getListByEndTime(startTime, endTime);
+        if(studentInstruments.size() <=0){
+            return false;
+        }
+        String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
+        String pushUrl = baseApiUrl+"#/leBao";
+        Map<Integer, String> userMap = new HashMap<>();
+        for (StudentInstrument studentInstrument : studentInstruments) {
+            userMap.put(studentInstrument.getStudentId(), studentInstrument.getStudentId().toString());
+        }
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.MAINTENANCE_NOTICE_PUSH,
+                userMap, null, 0, "5?" + pushUrl, "STUDENT");
+        return true;
+    }
 }

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/StudentInstrumentMapper.xml

@@ -156,5 +156,10 @@
         WHERE end_time_ <= NOW()
         ]]>
     </update>
+    <select id="getListByEndTime" resultMap="StudentInstrument">
+        <![CDATA[
+        SELECT * FROM student_instrument WHERE end_time_ >= #{startTime} AND end_time_ <= #{endTime}
+     ]]>
+    </select>
 
 </mapper>

+ 4 - 0
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -159,4 +159,8 @@ public interface TaskRemoteService {
 	 */
 	@GetMapping("task/closeStudentServiceTag")
     void closeStudentServiceTag();
+
+	//乐保到期提醒
+	@GetMapping("task/maintenanceNotice")
+	void maintenanceNotice();
 }

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -200,4 +200,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 	public void closeStudentServiceTag() {
 		logger.info("学员服务指标关闭失败");
 	}
+
+    @Override
+    public void maintenanceNotice() {
+		logger.info("乐保到期提醒推送失败");
+    }
 }

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/MaintenanceNoticeTask.java

@@ -0,0 +1,19 @@
+package com.ym.mec.task.jobs;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class MaintenanceNoticeTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.maintenanceNotice();
+	}
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -94,6 +94,8 @@ public class TaskController extends BaseController {
 	@Autowired
 	private InspectionItemPlanService inspectionItemPlanService;
 
+	@Autowired
+	private StudentInstrumentService studentInstrumentService;
 	@GetMapping(value = "/autoAffirmReceiveTask")
 	// 自动确认收货
 	public void affirmReceive(){
@@ -340,4 +342,10 @@ public class TaskController extends BaseController {
 	public void inspectionPlan(){
 		inspectionItemPlanService.pushNotice();
 	}
+
+	//乐保到期提醒
+	@GetMapping("/maintenanceNotice")
+	public void maintenanceNotice(){
+		studentInstrumentService.pushNotice();
+	}
 }