Explorar o código

Merge remote-tracking branch 'origin/master'

Joburgess %!s(int64=4) %!d(string=hai) anos
pai
achega
e21c75e9f5

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/InspectionItemPlanDao.java

@@ -16,4 +16,11 @@ public interface InspectionItemPlanDao extends BaseDAO<Long, InspectionItemPlan>
      * @return
      */
     List<InspectionItemPlan> getStartPlan(@Param("planStart") Date planStart);
+
+    /**
+     * 更新推送状态
+     * @param ids
+     * @return
+     */
+    int updatePushedStatus(@Param("ids") List<Long> ids);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendancesDto.java

@@ -70,6 +70,17 @@ public class TeacherAttendancesDto {
     @ApiModelProperty(value = "签退时间",required = false)
     private Date signOutTime;
 
+    @ApiModelProperty(value = "申述处理状态",required = false)
+    private ComplaintsStatusEnum complaintsStatus;
+
+    public ComplaintsStatusEnum getComplaintsStatus() {
+        return complaintsStatus;
+    }
+
+    public void setComplaintsStatus(ComplaintsStatusEnum complaintsStatus) {
+        this.complaintsStatus = complaintsStatus;
+    }
+
     public JobNatureEnum getJobNature() {
         return jobNature;
     }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlan.java

@@ -101,6 +101,12 @@ public class InspectionItemPlan {
     private Integer status;
 
     /**
+     * 是否已推送
+     */
+    @ApiModelProperty(value = "是否已推送 0 未推送 1 已推送")
+    private Integer isPushed;
+
+    /**
      * 创建时间
      */
     @ApiModelProperty(value = "创建时间")
@@ -313,4 +319,12 @@ public class InspectionItemPlan {
     public void setRealName(String realName) {
         this.realName = realName;
     }
+
+    public Integer getIsPushed() {
+        return isPushed;
+    }
+
+    public void setIsPushed(Integer isPushed) {
+        this.isPushed = isPushed;
+    }
 }

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

@@ -162,7 +162,8 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     SMS_PAYMENT_CREATE("SMS_PAYMENT_CREATE","缴费项目创建提醒"),
     SMS_GOODS_REPERTORY_WARN("SMS_GOODS_REPERTORY_WARN","商品库存预警"),
     SMS_REPAIR_SEND_COMPLETED("SMS_REPAIR_SEND_COMPLETED","乐器维修完成邮寄"),
-    SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE("SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE","乐团家长会通知");
+    SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE("SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE","乐团家长会通知"),
+    SMS_INSPECTION_NOTICE("SMS_INSPECTION_NOTICE","巡查日程提醒");
 
 
 

+ 17 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemPlanServiceImpl.java

@@ -21,10 +21,7 @@ import com.ym.mec.biz.dal.entity.InspectionItemPlan;
 import com.ym.mec.biz.service.InspectionItemPlanService;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -148,18 +145,24 @@ public class InspectionItemPlanServiceImpl extends BaseServiceImpl<Long, Inspect
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public List<InspectionItemPlan> pushNotice() {
         List<InspectionItemPlan> startPlans = inspectionItemPlanDao.getStartPlan(new Date());
-        Map<Integer, List<InspectionItemPlan>> userPlanMap = startPlans.stream().collect(Collectors.groupingBy(InspectionItemPlan::getUserId));
-        userPlanMap.forEach((userId, plans) -> {
-            //push
-//            Map<Integer, String> userMap = new HashMap<>(1);
-//            userMap.put(userId, userId.toString());
-//            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
-//                    MessageTypeEnum.STUDENT_SMS_PAYMENT_SUCCESS, userMap, null, 0, "1", "STUDENT",
-//                    studentRegistration.getName(), studentPaymentOrder.getActualAmount());
-
-        });
+        Set<Integer> userIds = startPlans.stream().map(InspectionItemPlan::getUserId).collect(Collectors.toSet());
+        List<Long> ids = startPlans.stream().map(InspectionItemPlan::getId).collect(Collectors.toList());
+
+        inspectionItemPlanDao.updatePushedStatus(ids);
+
+        //发送推送信息
+        Map<Integer, String> userMap = new HashMap<>();
+        for (Integer userId : userIds) {
+            userMap.put(userId, userId.toString());
+        }
+
+        String baseApiUrl = sysConfigDao.findConfigValue(SysConfigService.EDU_TEACHER_BASE_URL);
+        String pushUrl = baseApiUrl + "/#/musicInspection";
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_INSPECTION_NOTICE,
+                userMap, null, 0, "8?" + pushUrl, "EDU_TEACHER");
         return startPlans;
     }
 }

+ 16 - 4
mec-biz/src/main/resources/config/mybatis/InspectionItemPlanMapper.xml

@@ -32,7 +32,7 @@
         music_group_id_, school_gps_, submited_gps_, submited_time_, memo_, conclusion_status_, status_, create_time_,
         update_time_
     </sql>
-    <select id="get" parameterType="java.lang.Long" resultMap="InspectionItemPlan" >
+    <select id="get" parameterType="java.lang.Long" resultMap="InspectionItemPlan">
         <!--@mbg.generated-->
         select
         <include refid="Base_Column_List"/>
@@ -113,7 +113,8 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="InspectionItemPlan" parameterType="map">
-        SELECT iip.*,su.real_name_ realName,o.name_ organName,co.name_ cooperationName,mg.name_ musicGroupName FROM inspection_item_plan iip
+        SELECT iip.*,su.real_name_ realName,o.name_ organName,co.name_ cooperationName,mg.name_ musicGroupName FROM
+        inspection_item_plan iip
         LEFT JOIN sys_user su ON su.id_ = iip.user_id_
         LEFT JOIN organization o ON o.id_=iip.organ_id_
         LEFT JOIN cooperation_organ co ON co.id_=iip.cooperation_organ_id_
@@ -172,6 +173,17 @@
     </sql>
 
     <select id="getStartPlan" resultMap="InspectionItemPlan">
-        SELECT * FROM inspection_item WHERE plan_start_ >= #{planStart}
-    </select>
+        <![CDATA[
+        SELECT *
+        FROM inspection_item_plan
+        WHERE plan_start_ <= #{planStart}
+          AND is_pushed_ = 0
+        ]]></select>
+
+    <update id="updatePushedStatus">
+        UPDATE inspection_item_plan SET is_pushed_ = 1 WHERE id_ IN
+        <foreach collection="ids" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </update>
 </mapper>

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -240,6 +240,7 @@
         <result column="sign_out_status_" property="signOutStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="sign_in_time_" property="signInTime"/>
         <result column="sign_out_time_" property="signOutTime"/>
+        <result column="complaints_status_" property="complaintsStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="remark_" property="remark"/>
         <result column="course_schedule_id_" property="courseScheduleId"/>
     </resultMap>
@@ -338,7 +339,7 @@
         cs.class_date_,cs.start_class_time_,cs.end_class_time_,cs.type_ course_schedule_type_,
         IF(ta.sign_in_status_ IS NULL,3,ta.sign_in_status_) sign_in_status_,
         IF(ta.sign_out_status_ IS NULL,3,ta.sign_out_status_) sign_out_status_,
-        ta.sign_in_time_,ta.sign_out_time_,ta.remark_,o.name_ organ_name_,t.job_nature_
+        ta.sign_in_time_,ta.sign_out_time_,ta.remark_,o.name_ organ_name_,t.job_nature_,ta.complaints_status_
         FROM course_schedule_teacher_salary csts
         LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
         LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = csts.course_schedule_id_ AND ta.teacher_id_ = csts.user_id_

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

@@ -149,4 +149,8 @@ public interface TaskRemoteService {
 	//首页数据统计
 	@GetMapping("task/countIndexBaseData")
 	void countIndexBaseData();
+
+	//巡查日程提醒
+	@GetMapping("task/inspectionPlan")
+	void inspectionPlan();
 }

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

@@ -190,4 +190,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 	public void countIndexBaseData() {
 		logger.info("首页数据统计失败");
 	}
+
+	@Override
+	public void inspectionPlan() {
+		logger.info("巡查日程提醒提送失败");
+	}
 }

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/InspectionPlanTask.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 InspectionPlanTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.inspectionPlan();
+	}
+}

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

@@ -91,6 +91,9 @@ public class TaskController extends BaseController {
 	@Autowired
 	private IndexBaseMonthDataService indexBaseMonthDataService;
 
+	@Autowired
+	private InspectionItemPlanService inspectionItemPlanService;
+
 	@GetMapping(value = "/autoAffirmReceiveTask")
 	// 自动确认收货
 	public void affirmReceive(){
@@ -325,4 +328,9 @@ public class TaskController extends BaseController {
 	public void countIndexBaseData(String month){
 		indexBaseMonthDataService.indexBaseDataTask(month);
 	}
+
+	@GetMapping("/inspectionPlan")
+	public void inspectionPlan(){
+		inspectionItemPlanService.pushNotice();
+	}
 }