From e69fcc959a13c8254a304440904acbbab3cbcaf7 Mon Sep 17 00:00:00 2001
From: 陈杰 <504987307@qq.com>
Date: Fri, 29 Nov 2019 09:59:23 +0800
Subject: [PATCH] 考勤推送
---
cloud/common/src/main/java/com/sincere/common/dto/smartCampus/AppDto.java | 27 +++++++++++++++++++++++++++
cloud/common/src/main/java/com/sincere/common/util/DateUtils.java | 2 +-
cloud/quartz/pom.xml | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java | 4 ++++
cloud/quartz/src/main/java/com/sincere/quartz/job/QDService.java | 49 ++++++++++++++++++++++++++++++-------------------
cloud/quartz/src/main/java/com/sincere/quartz/model/WeChatSms.java | 46 +++++++++++++++++++++++++++++++++++++---------
cloud/quartz/src/main/resources/application.yaml | 1 -
cloud/quartz/src/main/resources/logback.xml | 61 -------------------------------------------------------------
cloud/quartz/src/main/resources/mapper/SmsMapper.xml | 4 ++--
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/KqController.java | 11 +++++++++++
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/KqTemplateMapper.java | 4 ++++
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/KqService.java | 3 +++
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/KqServiceImpl.java | 7 +++++++
cloud/search_smartCampus/src/main/resources/mapper/KqTemplateMapper.xml | 9 +++++++++
14 files changed, 211 insertions(+), 97 deletions(-)
create mode 100644 cloud/common/src/main/java/com/sincere/common/dto/smartCampus/AppDto.java
delete mode 100644 cloud/quartz/src/main/resources/logback.xml
diff --git a/cloud/common/src/main/java/com/sincere/common/dto/smartCampus/AppDto.java b/cloud/common/src/main/java/com/sincere/common/dto/smartCampus/AppDto.java
new file mode 100644
index 0000000..5a07cba
--- /dev/null
+++ b/cloud/common/src/main/java/com/sincere/common/dto/smartCampus/AppDto.java
@@ -0,0 +1,27 @@
+package com.sincere.common.dto.smartCampus;
+
+/**
+ * @author chen
+ * @version 1.0
+ * @date 2019/11/28 0028 15:58
+ */
+public class AppDto {
+ private String agentId ;
+ private String agentSecret ;
+
+ public String getAgentId() {
+ return agentId;
+ }
+
+ public void setAgentId(String agentId) {
+ this.agentId = agentId;
+ }
+
+ public String getAgentSecret() {
+ return agentSecret;
+ }
+
+ public void setAgentSecret(String agentSecret) {
+ this.agentSecret = agentSecret;
+ }
+}
diff --git a/cloud/common/src/main/java/com/sincere/common/util/DateUtils.java b/cloud/common/src/main/java/com/sincere/common/util/DateUtils.java
index dfd4042..a6a5ec2 100644
--- a/cloud/common/src/main/java/com/sincere/common/util/DateUtils.java
+++ b/cloud/common/src/main/java/com/sincere/common/util/DateUtils.java
@@ -56,7 +56,7 @@ public class DateUtils {
case "hour":
difference = between / (60 * 60 * 1000);
break;
- case "min":
+ case "m":
difference = between / (60 * 1000);
break;
case "s":
diff --git a/cloud/quartz/pom.xml b/cloud/quartz/pom.xml
index 31b3789..fba7ac2 100644
--- a/cloud/quartz/pom.xml
+++ b/cloud/quartz/pom.xml
@@ -66,15 +66,87 @@
+
+ quartz_server
+
+
- org.springframework.boot
- spring-boot-maven-plugin
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
- true
+ 1.8
+ 1.8
+ UTF-8
-
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ com.sincere.smartSearch.SmartSearchApplication
+ true
+ lib/
+
+
+ ./config/
+
+
+
+ config/**
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy
+ package
+
+ copy-dependencies
+
+
+
+ ${project.build.directory}/lib
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 2.5
+
+ UTF-8
+
+
+
+
+ maven-source-plugin
+ 2.2
+
+ true
+
+
+
+ compile
+
+ jar
+
+
+
+
\ No newline at end of file
diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java b/cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java
index 9202acb..b5b271d 100644
--- a/cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java
+++ b/cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java
@@ -1,5 +1,6 @@
package com.sincere.quartz.feign;
+import com.sincere.common.dto.smartCampus.AppDto;
import com.sincere.common.dto.smartCampus.KqTeacherDto;
import com.sincere.common.dto.smartCampus.TemplateDto;
import org.springframework.cloud.openfeign.FeignClient;
@@ -22,4 +23,7 @@ public interface ScFeign {
@RequestMapping(value = "/sm/kq/getTeacherList",method = RequestMethod.GET)
List getTeacherList(@RequestParam("schoolId")int schoolId);
+
+ @RequestMapping(value = "/sm/kq/getApp",method = RequestMethod.GET)
+ AppDto getApp(@RequestParam("schoolId")int schoolId , @RequestParam("type") int type);
}
diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/job/QDService.java b/cloud/quartz/src/main/java/com/sincere/quartz/job/QDService.java
index 9f39746..3ad5604 100644
--- a/cloud/quartz/src/main/java/com/sincere/quartz/job/QDService.java
+++ b/cloud/quartz/src/main/java/com/sincere/quartz/job/QDService.java
@@ -1,5 +1,6 @@
package com.sincere.quartz.job;
+import com.sincere.common.dto.smartCampus.AppDto;
import com.sincere.common.dto.smartCampus.KqTeacherDto;
import com.sincere.common.dto.smartCampus.TemplateDto;
import com.sincere.common.util.DateUtils;
@@ -31,7 +32,7 @@ public class QDService {
private static String date ;
private static Map map = new HashMap<>();
- @Scheduled(cron = "0/10 * * * * ?")
+ @Scheduled(cron = "* 0/1 * * * ?")
public void kaoQing() {
String now = DateUtils.date2String(new Date(),DateUtils.format1) ;
if(StringUtils.isBlank(date)){
@@ -46,14 +47,17 @@ public class QDService {
List keyList = new ArrayList<>();
for(Map.Entry entity : map.entrySet()){
String endTime = entity.getValue().split("_")[1];
- if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"s")>0){
+ if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"m")>0
+ && DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"m")<5){
String key = entity.getKey();
String[] messageArray = key.split("_");
List list = scFeign.getTeacherList(Integer.valueOf(messageArray[1]));
if(messageArray[2].contains("4")){
+ System.out.println("企业号推送:" + messageArray[0] + "__" + messageArray[1]);
weChatPush(list,entity.getValue());
}
if(messageArray[2].contains("5")){
+ System.out.println("盯盯推送:" + messageArray[0] + "__" + messageArray[1]);
dingPush(list,entity.getValue());
}
keyList.add(key);
@@ -65,19 +69,24 @@ public class QDService {
}
private void initMap(){
+ map = new HashMap<>();
List list = scFeign.getAllTemplate();
for(TemplateDto templateDto : list){
String config = templateDto.getConfig();
String[] array = config.split(" list , String key){
- String[] times = key.split("_");
- String Date = DateUtils.date2String(new Date(),DateUtils.format1);
String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format);
+ AppDto appDto = scFeign.getApp(list.get(0).getSchoolId(),0);
for(KqTeacherDto teacher : list){
- if(StringUtils.isNotBlank(teacher.getxSTOpenId()) && teacher.getName().equals("陶汉栋")){
+ if(StringUtils.isNotBlank(teacher.getxSTOpenId())){
WeChatSms weChatSms = new WeChatSms();
- weChatSms.setTableName("wxSmsNew"+tableSuffix);
+ weChatSms.setTableName("qyhSmsNew"+tableSuffix);
weChatSms.setSchoolId(teacher.getSchoolId());
weChatSms.setName(teacher.getName());
weChatSms.setxSTOpenId(teacher.getxSTOpenId());
+ weChatSms.setQiYeHaoUserId(teacher.getWeChatUserId());
+ weChatSms.setReceiveUserId(teacher.getUserId());
+ weChatSms.setAppId(appDto.getAgentId());
+ weChatSms.setSecret(appDto.getAgentSecret());
String msgUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" +
"schoolid="+teacher.getSchoolId()+"&userId="+teacher.getUserId()+"&name="+teacher.getName()+
"&data="+teacher.getWeChatUserId()+"&type=1&stype=3&mobile="+teacher.getMobile()+"&pass="+teacher.getPass()+
"&face="+ teacher.getFace() +"&sourcetype=16&soutype=2×tamp="+ DateUtils.getDate() ;
weChatSms.setMsgUrl(msgUrl);
- weChatSms.setMsg("{\"title\":\"请查看签到信息\",\"form\":[{\"key\":\"开始时间:\",\"value\":\"" +
- Date+" "+times[0]+"\"},{\"key\":\"结束时间:\",\"value\":\""+Date+" "+times[1]+"\"}]}");
smsMapper.insertWeChat(weChatSms);
}
}
diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/model/WeChatSms.java b/cloud/quartz/src/main/java/com/sincere/quartz/model/WeChatSms.java
index 5600309..79103a1 100644
--- a/cloud/quartz/src/main/java/com/sincere/quartz/model/WeChatSms.java
+++ b/cloud/quartz/src/main/java/com/sincere/quartz/model/WeChatSms.java
@@ -9,11 +9,47 @@ public class WeChatSms {
private String tableName ;
+ private String receiveUserId ;
+ private String qiYeHaoUserId ;
private int schoolId ;
private String msgUrl ;
- private String msg ;
private String name ;
private String xSTOpenId ;
+ private String appId ;
+ private String secret ;
+
+
+ public String getAppId() {
+ return appId;
+ }
+
+ public void setAppId(String appId) {
+ this.appId = appId;
+ }
+
+ public String getSecret() {
+ return secret;
+ }
+
+ public void setSecret(String secret) {
+ this.secret = secret;
+ }
+
+ public String getReceiveUserId() {
+ return receiveUserId;
+ }
+
+ public void setReceiveUserId(String receiveUserId) {
+ this.receiveUserId = receiveUserId;
+ }
+
+ public String getQiYeHaoUserId() {
+ return qiYeHaoUserId;
+ }
+
+ public void setQiYeHaoUserId(String qiYeHaoUserId) {
+ this.qiYeHaoUserId = qiYeHaoUserId;
+ }
public String getTableName() {
return tableName;
@@ -39,14 +75,6 @@ public class WeChatSms {
this.msgUrl = msgUrl;
}
- public String getMsg() {
- return msg;
- }
-
- public void setMsg(String msg) {
- this.msg = msg;
- }
-
public String getName() {
return name;
}
diff --git a/cloud/quartz/src/main/resources/application.yaml b/cloud/quartz/src/main/resources/application.yaml
index 7dfd2c6..2526e5d 100644
--- a/cloud/quartz/src/main/resources/application.yaml
+++ b/cloud/quartz/src/main/resources/application.yaml
@@ -22,6 +22,5 @@ eureka:
lease-renewal-interval-in-seconds: 10
client:
service-url:
- # defaultZone: http://localhost:8761/eureka/
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
diff --git a/cloud/quartz/src/main/resources/logback.xml b/cloud/quartz/src/main/resources/logback.xml
deleted file mode 100644
index 242d4bf..0000000
--- a/cloud/quartz/src/main/resources/logback.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %highlight([%-5level] %logger{50} - %msg%n)
- UTF-8
-
-
-
-
-
-
-
-
- ${LOG_HOME}/${PROJECT_NAME}.system-dev.%d{yyyy-MM-dd HH}.%i.log
-
- 30
-
- 100MB
-
-
-
-
- [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %logger{50} - %msg%n
- UTF-8
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/cloud/quartz/src/main/resources/mapper/SmsMapper.xml b/cloud/quartz/src/main/resources/mapper/SmsMapper.xml
index 8fe1319..f15df11 100644
--- a/cloud/quartz/src/main/resources/mapper/SmsMapper.xml
+++ b/cloud/quartz/src/main/resources/mapper/SmsMapper.xml
@@ -8,7 +8,7 @@
- insert into ${tableName} (SchoolID,MsgUrl,Status,OpenID,intime,sendTime,Msg,Name)
- values (#{schoolId},#{msgUrl},0,#{xSTOpenId},GETDATE(),GETDATE(),#{msg},#{name})
+ insert into ${tableName} (SchoolID,WapUrl,Status,intime,sendTime,SendUserName,ReceiveUserID,QiYeHaoUserId,AppID,Secret)
+ values (#{schoolId},#{msgUrl},0,GETDATE(),GETDATE(),#{name},#{receiveUserId},#{qiYeHaoUserId},#{appId},#{secret})
diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/KqController.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/KqController.java
index 1301251..45f62fe 100644
--- a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/KqController.java
+++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/KqController.java
@@ -1,5 +1,6 @@
package com.sincere.smartSearch.controller;
+import com.sincere.common.dto.smartCampus.AppDto;
import com.sincere.common.dto.smartCampus.KqTeacherDto;
import com.sincere.common.dto.smartCampus.TemplateDto;
import com.sincere.smartSearch.model.KqTemplate;
@@ -11,7 +12,9 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author chen
@@ -44,4 +47,12 @@ public class KqController {
public List getTeacherList(@RequestParam("schoolId")int schoolId){
return kqService.selectSchoolTeacher(schoolId);
}
+
+ @RequestMapping(value = "getApp",method = RequestMethod.GET)
+ public AppDto getApp(@RequestParam("schoolId")int schoolId , @RequestParam("type") int type){
+ Map map = new HashMap<>();
+ map.put("schoolId",schoolId);
+ map.put("type",type);
+ return kqService.selectApp(map);
+ }
}
diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/KqTemplateMapper.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/KqTemplateMapper.java
index ef4600b..4191f7d 100644
--- a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/KqTemplateMapper.java
+++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/KqTemplateMapper.java
@@ -1,9 +1,11 @@
package com.sincere.smartSearch.mapper;
+import com.sincere.common.dto.smartCampus.AppDto;
import com.sincere.common.dto.smartCampus.KqTeacherDto;
import com.sincere.smartSearch.model.KqTemplate;
import java.util.List;
+import java.util.Map;
/**
* @author chen
@@ -15,4 +17,6 @@ public interface KqTemplateMapper {
List selectKqTemplate();
List selectSchoolTeacher(int schoolId);
+
+ AppDto selectApp(Map map);
}
diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/KqService.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/KqService.java
index 93abe44..e978c44 100644
--- a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/KqService.java
+++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/KqService.java
@@ -1,9 +1,11 @@
package com.sincere.smartSearch.service;
+import com.sincere.common.dto.smartCampus.AppDto;
import com.sincere.common.dto.smartCampus.KqTeacherDto;
import com.sincere.smartSearch.model.KqTemplate;
import java.util.List;
+import java.util.Map;
/**
* @author chen
@@ -16,4 +18,5 @@ public interface KqService {
List selectSchoolTeacher(int schoolId);
+ AppDto selectApp(Map map);
}
diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/KqServiceImpl.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/KqServiceImpl.java
index 9b5b922..8713378 100644
--- a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/KqServiceImpl.java
+++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/KqServiceImpl.java
@@ -1,5 +1,6 @@
package com.sincere.smartSearch.service.impl;
+import com.sincere.common.dto.smartCampus.AppDto;
import com.sincere.common.dto.smartCampus.KqTeacherDto;
import com.sincere.smartSearch.mapper.KqTemplateMapper;
import com.sincere.smartSearch.model.KqTemplate;
@@ -8,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
+import java.util.Map;
/**
* @author chen
@@ -29,4 +31,9 @@ public class KqServiceImpl implements KqService {
public List selectSchoolTeacher(int schoolId) {
return kqTemplateMapper.selectSchoolTeacher(schoolId);
}
+
+ @Override
+ public AppDto selectApp(Map map) {
+ return kqTemplateMapper.selectApp(map);
+ }
}
diff --git a/cloud/search_smartCampus/src/main/resources/mapper/KqTemplateMapper.xml b/cloud/search_smartCampus/src/main/resources/mapper/KqTemplateMapper.xml
index 4d01202..5646afc 100644
--- a/cloud/search_smartCampus/src/main/resources/mapper/KqTemplateMapper.xml
+++ b/cloud/search_smartCampus/src/main/resources/mapper/KqTemplateMapper.xml
@@ -32,4 +32,13 @@
from SZ_User join SZ_UserRole on SZ_User.user_id = SZ_UserRole.user_id
where SZ_UserRole.school_id = #{schoolId} and SZ_UserRole.usertype = 0
+
+
+
+
+
+
--
libgit2 0.21.0