jz.kai 2 лет назад
Родитель
Сommit
b0ecad54cc

+ 1 - 0
common/src/main/java/com/jpsoft/excellent/modules/base/dao/OfficeReplyDAO.java

@@ -16,4 +16,5 @@ public interface OfficeReplyDAO {
 	List<OfficeReply> list();
 	List<OfficeReply> search(Map<String,Object> searchParams,List<Sort> sortList);
 	List<OfficeReply> findByList(String opinionId, Boolean status);
+	List<String> findPhoneByRemind(String date);
 }

+ 1 - 0
common/src/main/java/com/jpsoft/excellent/modules/base/service/OfficeReplyService.java

@@ -15,4 +15,5 @@ public interface OfficeReplyService {
 	List<OfficeReply> list();
 	Page<OfficeReply> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
 	List<OfficeReply> findByList(String opinionId, Boolean status);
+	List<String> findPhoneByRemind(String date);
 }

+ 5 - 0
common/src/main/java/com/jpsoft/excellent/modules/base/service/impl/OfficeReplyServiceImpl.java

@@ -72,4 +72,9 @@ public class OfficeReplyServiceImpl implements OfficeReplyService {
 	public List<OfficeReply> findByList(String opinionId, Boolean status) {
 		return officeReplyDAO.findByList(opinionId, status);
 	}
+
+	@Override
+	public List<String> findPhoneByRemind(String date) {
+		return officeReplyDAO.findPhoneByRemind(date);
+	}
 }

+ 7 - 0
common/src/main/resources/mapper/base/OfficeReply.xml

@@ -116,4 +116,11 @@ id_,opinion_id,org_id,user_id,content_,status_,alloted_date,del_flag,create_time
 		</if>
 		ORDER BY create_time ASC
 	</select>
+	<select id="findPhoneByRemind" resultType="string">
+		SELECT b.phone_ FROM base_office_reply a
+		LEFT JOIN sys_user b ON a.org_id = b.org_id
+		WHERE a.status_ = FALSE
+		AND a.create_time LIKE #{0}
+		GROUP BY b.phone_
+	</select>
 </mapper>

+ 43 - 0
web/src/main/java/com/jpsoft/excellent/modules/timed/officeReplySMS.java

@@ -0,0 +1,43 @@
+package com.jpsoft.excellent.modules.timed;
+
+import com.jpsoft.excellent.modules.base.service.FeedbackStepStatusService;
+import com.jpsoft.excellent.modules.base.service.OfficeReplyService;
+import com.jpsoft.excellent.modules.common.utils.SMSUtil;
+import com.jpsoft.excellent.modules.sys.service.UserService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Profile;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.List;
+
+@Profile({"production","dev","test"})
+@Component
+@Slf4j
+public class officeReplySMS {
+    @Autowired
+    private OfficeReplyService officeReplyService;
+    @Autowired
+    private UserService userService;
+
+    //每天9点执行一次->同时在unactive方法中执行
+    @Scheduled(cron = "0 0 11 * * ?")
+//    @Scheduled(cron = "0 0/1 * * * ?")
+    public void run() {
+        log.warn("定时任务:干部评议提醒短信开始");
+
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Calendar calendar = Calendar.getInstance();
+        calendar.add(calendar.DATE,-7);
+        List<String> list = officeReplyService.findPhoneByRemind(sdf.format(calendar.getTime()) + "%");
+        if(list.size() > 0) {
+            SMSUtil.sendSMS("【双优督办】待办反馈存在未处理的反馈意见,请及时处理。", StringUtils.join(list.toArray(), ","), null);
+        }
+
+        log.warn("定时任务:干部评议提醒短信结束");
+    }
+}