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