Commit e69fcc959a13c8254a304440904acbbab3cbcaf7
1 parent
81cae9e2
Exists in
master
考勤推送
Showing
14 changed files
with
211 additions
and
97 deletions
 
Show diff stats
cloud/common/src/main/java/com/sincere/common/dto/smartCampus/AppDto.java
0 → 100644
| @@ -0,0 +1,27 @@ | @@ -0,0 +1,27 @@ | ||
| 1 | +package com.sincere.common.dto.smartCampus; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * @author chen | ||
| 5 | + * @version 1.0 | ||
| 6 | + * @date 2019/11/28 0028 15:58 | ||
| 7 | + */ | ||
| 8 | +public class AppDto { | ||
| 9 | + private String agentId ; | ||
| 10 | + private String agentSecret ; | ||
| 11 | + | ||
| 12 | + public String getAgentId() { | ||
| 13 | + return agentId; | ||
| 14 | + } | ||
| 15 | + | ||
| 16 | + public void setAgentId(String agentId) { | ||
| 17 | + this.agentId = agentId; | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + public String getAgentSecret() { | ||
| 21 | + return agentSecret; | ||
| 22 | + } | ||
| 23 | + | ||
| 24 | + public void setAgentSecret(String agentSecret) { | ||
| 25 | + this.agentSecret = agentSecret; | ||
| 26 | + } | ||
| 27 | +} | 
cloud/common/src/main/java/com/sincere/common/util/DateUtils.java
| @@ -56,7 +56,7 @@ public class DateUtils { | @@ -56,7 +56,7 @@ public class DateUtils { | ||
| 56 | case "hour": | 56 | case "hour": | 
| 57 | difference = between / (60 * 60 * 1000); | 57 | difference = between / (60 * 60 * 1000); | 
| 58 | break; | 58 | break; | 
| 59 | - case "min": | 59 | + case "m": | 
| 60 | difference = between / (60 * 1000); | 60 | difference = between / (60 * 1000); | 
| 61 | break; | 61 | break; | 
| 62 | case "s": | 62 | case "s": | 
cloud/quartz/pom.xml
| @@ -66,15 +66,87 @@ | @@ -66,15 +66,87 @@ | ||
| 66 | </dependencyManagement> | 66 | </dependencyManagement> | 
| 67 | 67 | ||
| 68 | <build> | 68 | <build> | 
| 69 | + <!--打包文件名--> | ||
| 70 | + <finalName>quartz_server</finalName> | ||
| 71 | + <!--打包方式--> | ||
| 69 | <plugins> | 72 | <plugins> | 
| 73 | + <!-- 设置编译版本 --> | ||
| 70 | <plugin> | 74 | <plugin> | 
| 71 | - <groupId>org.springframework.boot</groupId> | ||
| 72 | - <artifactId>spring-boot-maven-plugin</artifactId> | 75 | + <groupId>org.apache.maven.plugins</groupId> | 
| 76 | + <artifactId>maven-compiler-plugin</artifactId> | ||
| 77 | + <version>3.1</version> | ||
| 73 | <configuration> | 78 | <configuration> | 
| 74 | - <includeSystemScope>true</includeSystemScope> | 79 | + <source>1.8</source> | 
| 80 | + <target>1.8</target> | ||
| 81 | + <encoding>UTF-8</encoding> | ||
| 75 | </configuration> | 82 | </configuration> | 
| 76 | </plugin> | 83 | </plugin> | 
| 77 | - | 84 | + <!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 --> | 
| 85 | + <!-- 本地启动需要注释--> | ||
| 86 | + <plugin> | ||
| 87 | + <groupId>org.apache.maven.plugins</groupId> | ||
| 88 | + <artifactId>maven-jar-plugin</artifactId> | ||
| 89 | + <configuration> | ||
| 90 | + <archive> | ||
| 91 | + <manifest> | ||
| 92 | + <mainClass>com.sincere.smartSearch.SmartSearchApplication</mainClass> | ||
| 93 | + <addClasspath>true</addClasspath> | ||
| 94 | + <classpathPrefix>lib/</classpathPrefix> | ||
| 95 | + </manifest> | ||
| 96 | + <manifestEntries> | ||
| 97 | + <Class-Path>./config/</Class-Path> | ||
| 98 | + </manifestEntries> | ||
| 99 | + </archive> | ||
| 100 | + <excludes> | ||
| 101 | + <exclude>config/**</exclude> | ||
| 102 | + </excludes> | ||
| 103 | + <classesDirectory></classesDirectory> | ||
| 104 | + </configuration> | ||
| 105 | + </plugin> | ||
| 106 | + <!-- 拷贝依赖的jar包到lib目录 --> | ||
| 107 | + <plugin> | ||
| 108 | + <groupId>org.apache.maven.plugins</groupId> | ||
| 109 | + <artifactId>maven-dependency-plugin</artifactId> | ||
| 110 | + <executions> | ||
| 111 | + <execution> | ||
| 112 | + <id>copy</id> | ||
| 113 | + <phase>package</phase> | ||
| 114 | + <goals> | ||
| 115 | + <goal>copy-dependencies</goal> | ||
| 116 | + </goals> | ||
| 117 | + <configuration> | ||
| 118 | + <outputDirectory> | ||
| 119 | + ${project.build.directory}/lib | ||
| 120 | + </outputDirectory> | ||
| 121 | + </configuration> | ||
| 122 | + </execution> | ||
| 123 | + </executions> | ||
| 124 | + </plugin> | ||
| 125 | + <!-- 解决资源文件的编码问题 --> | ||
| 126 | + <plugin> | ||
| 127 | + <groupId>org.apache.maven.plugins</groupId> | ||
| 128 | + <artifactId>maven-resources-plugin</artifactId> | ||
| 129 | + <version>2.5</version> | ||
| 130 | + <configuration> | ||
| 131 | + <encoding>UTF-8</encoding> | ||
| 132 | + </configuration> | ||
| 133 | + </plugin> | ||
| 134 | + <!-- 打包source文件为jar文件 --> | ||
| 135 | + <plugin> | ||
| 136 | + <artifactId>maven-source-plugin</artifactId> | ||
| 137 | + <version>2.2</version> | ||
| 138 | + <configuration> | ||
| 139 | + <attach>true</attach> | ||
| 140 | + </configuration> | ||
| 141 | + <executions> | ||
| 142 | + <execution> | ||
| 143 | + <phase>compile</phase> | ||
| 144 | + <goals> | ||
| 145 | + <goal>jar</goal> | ||
| 146 | + </goals> | ||
| 147 | + </execution> | ||
| 148 | + </executions> | ||
| 149 | + </plugin> | ||
| 78 | </plugins> | 150 | </plugins> | 
| 79 | </build> | 151 | </build> | 
| 80 | </project> | 152 | </project> | 
| 81 | \ No newline at end of file | 153 | \ No newline at end of file | 
cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java
| 1 | package com.sincere.quartz.feign; | 1 | package com.sincere.quartz.feign; | 
| 2 | 2 | ||
| 3 | +import com.sincere.common.dto.smartCampus.AppDto; | ||
| 3 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 4 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 
| 4 | import com.sincere.common.dto.smartCampus.TemplateDto; | 5 | import com.sincere.common.dto.smartCampus.TemplateDto; | 
| 5 | import org.springframework.cloud.openfeign.FeignClient; | 6 | import org.springframework.cloud.openfeign.FeignClient; | 
| @@ -22,4 +23,7 @@ public interface ScFeign { | @@ -22,4 +23,7 @@ public interface ScFeign { | ||
| 22 | 23 | ||
| 23 | @RequestMapping(value = "/sm/kq/getTeacherList",method = RequestMethod.GET) | 24 | @RequestMapping(value = "/sm/kq/getTeacherList",method = RequestMethod.GET) | 
| 24 | List<KqTeacherDto> getTeacherList(@RequestParam("schoolId")int schoolId); | 25 | List<KqTeacherDto> getTeacherList(@RequestParam("schoolId")int schoolId); | 
| 26 | + | ||
| 27 | + @RequestMapping(value = "/sm/kq/getApp",method = RequestMethod.GET) | ||
| 28 | + AppDto getApp(@RequestParam("schoolId")int schoolId , @RequestParam("type") int type); | ||
| 25 | } | 29 | } | 
cloud/quartz/src/main/java/com/sincere/quartz/job/QDService.java
| 1 | package com.sincere.quartz.job; | 1 | package com.sincere.quartz.job; | 
| 2 | 2 | ||
| 3 | +import com.sincere.common.dto.smartCampus.AppDto; | ||
| 3 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 4 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 
| 4 | import com.sincere.common.dto.smartCampus.TemplateDto; | 5 | import com.sincere.common.dto.smartCampus.TemplateDto; | 
| 5 | import com.sincere.common.util.DateUtils; | 6 | import com.sincere.common.util.DateUtils; | 
| @@ -31,7 +32,7 @@ public class QDService { | @@ -31,7 +32,7 @@ public class QDService { | ||
| 31 | private static String date ; | 32 | private static String date ; | 
| 32 | private static Map<String , String> map = new HashMap<>(); | 33 | private static Map<String , String> map = new HashMap<>(); | 
| 33 | 34 | ||
| 34 | - @Scheduled(cron = "0/10 * * * * ?") | 35 | + @Scheduled(cron = "* 0/1 * * * ?") | 
| 35 | public void kaoQing() { | 36 | public void kaoQing() { | 
| 36 | String now = DateUtils.date2String(new Date(),DateUtils.format1) ; | 37 | String now = DateUtils.date2String(new Date(),DateUtils.format1) ; | 
| 37 | if(StringUtils.isBlank(date)){ | 38 | if(StringUtils.isBlank(date)){ | 
| @@ -46,14 +47,17 @@ public class QDService { | @@ -46,14 +47,17 @@ public class QDService { | ||
| 46 | List<String> keyList = new ArrayList<>(); | 47 | List<String> keyList = new ArrayList<>(); | 
| 47 | for(Map.Entry<String, String> entity : map.entrySet()){ | 48 | for(Map.Entry<String, String> entity : map.entrySet()){ | 
| 48 | String endTime = entity.getValue().split("_")[1]; | 49 | String endTime = entity.getValue().split("_")[1]; | 
| 49 | - if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"s")>0){ | 50 | + if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"m")>0 | 
| 51 | + && DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"m")<5){ | ||
| 50 | String key = entity.getKey(); | 52 | String key = entity.getKey(); | 
| 51 | String[] messageArray = key.split("_"); | 53 | String[] messageArray = key.split("_"); | 
| 52 | List<KqTeacherDto> list = scFeign.getTeacherList(Integer.valueOf(messageArray[1])); | 54 | List<KqTeacherDto> list = scFeign.getTeacherList(Integer.valueOf(messageArray[1])); | 
| 53 | if(messageArray[2].contains("4")){ | 55 | if(messageArray[2].contains("4")){ | 
| 56 | + System.out.println("企业号推送:" + messageArray[0] + "__" + messageArray[1]); | ||
| 54 | weChatPush(list,entity.getValue()); | 57 | weChatPush(list,entity.getValue()); | 
| 55 | } | 58 | } | 
| 56 | if(messageArray[2].contains("5")){ | 59 | if(messageArray[2].contains("5")){ | 
| 60 | + System.out.println("盯盯推送:" + messageArray[0] + "__" + messageArray[1]); | ||
| 57 | dingPush(list,entity.getValue()); | 61 | dingPush(list,entity.getValue()); | 
| 58 | } | 62 | } | 
| 59 | keyList.add(key); | 63 | keyList.add(key); | 
| @@ -65,19 +69,24 @@ public class QDService { | @@ -65,19 +69,24 @@ public class QDService { | ||
| 65 | } | 69 | } | 
| 66 | 70 | ||
| 67 | private void initMap(){ | 71 | private void initMap(){ | 
| 72 | + map = new HashMap<>(); | ||
| 68 | List<TemplateDto> list = scFeign.getAllTemplate(); | 73 | List<TemplateDto> list = scFeign.getAllTemplate(); | 
| 69 | for(TemplateDto templateDto : list){ | 74 | for(TemplateDto templateDto : list){ | 
| 70 | String config = templateDto.getConfig(); | 75 | String config = templateDto.getConfig(); | 
| 71 | String[] array = config.split("<Template"); | 76 | String[] array = config.split("<Template"); | 
| 72 | for(int i = 1 ; i<array.length ;i++){ | 77 | for(int i = 1 ; i<array.length ;i++){ | 
| 73 | - String msg = array[i]; | ||
| 74 | - String beginTime = msg.substring(msg.indexOf("BeginTime")+11,msg.indexOf("BeginTime")+16); | ||
| 75 | - String endTime = msg.substring(msg.indexOf("EndTime")+9,msg.indexOf("EndTime")+14); | ||
| 76 | - String templateId = msg.substring(msg.indexOf("TemplateID")+12,msg.indexOf("TemplateID")+22); | ||
| 77 | - String Week = msg.substring(msg.indexOf("Week")+6,msg.indexOf("Week")+19); | ||
| 78 | - int nowWeek = DateUtils.getWeek() ; | ||
| 79 | - if(Week.contains(nowWeek+"")){ | ||
| 80 | - map.put(templateId+"_"+templateDto.getSchoolId()+"_"+templateDto.getType() , beginTime+"_"+endTime); | 78 | + try{ | 
| 79 | + String msg = array[i]; | ||
| 80 | + String beginTime = msg.substring(msg.indexOf("BeginTime")+11,msg.indexOf("BeginTime")+16); | ||
| 81 | + String endTime = msg.substring(msg.indexOf("EndTime")+9,msg.indexOf("EndTime")+14); | ||
| 82 | + String templateId = msg.substring(msg.indexOf("TemplateID")+12,msg.indexOf("TemplateID")+22); | ||
| 83 | + String Week = msg.substring(msg.indexOf("Week")+6,msg.indexOf("Week")+19); | ||
| 84 | + int nowWeek = DateUtils.getWeek() ; | ||
| 85 | + if(Week.contains(nowWeek+"")){ | ||
| 86 | + map.put(templateId+"_"+templateDto.getSchoolId()+"_"+templateDto.getType() , beginTime+"_"+endTime); | ||
| 87 | + } | ||
| 88 | + }catch (Exception e){ | ||
| 89 | + e.printStackTrace(); | ||
| 81 | } | 90 | } | 
| 82 | } | 91 | } | 
| 83 | } | 92 | } | 
| @@ -87,43 +96,45 @@ public class QDService { | @@ -87,43 +96,45 @@ public class QDService { | ||
| 87 | String[] times = key.split("_"); | 96 | String[] times = key.split("_"); | 
| 88 | String Date = DateUtils.date2String(new Date(),DateUtils.format1); | 97 | String Date = DateUtils.date2String(new Date(),DateUtils.format1); | 
| 89 | String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | 98 | String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | 
| 99 | + AppDto appDto = scFeign.getApp(list.get(0).getSchoolId(),1); | ||
| 90 | for(KqTeacherDto teacher : list){ | 100 | for(KqTeacherDto teacher : list){ | 
| 91 | - if(StringUtils.isNotBlank(teacher.getDingUserId()) && teacher.getName().equals("陈杰")){ | 101 | + if(StringUtils.isNotBlank(teacher.getDingUserId())){ | 
| 92 | DingSms dingSms = new DingSms(); | 102 | DingSms dingSms = new DingSms(); | 
| 93 | dingSms.setTableName("DingSmsNew"+tableSuffix); | 103 | dingSms.setTableName("DingSmsNew"+tableSuffix); | 
| 94 | dingSms.setMsg("{\"title\":\"请查看签到信息\",\"form\":[{\"key\":\"开始时间:\",\"value\":\"" + | 104 | dingSms.setMsg("{\"title\":\"请查看签到信息\",\"form\":[{\"key\":\"开始时间:\",\"value\":\"" + | 
| 95 | Date+" "+times[0]+"\"},{\"key\":\"结束时间:\",\"value\":\""+Date+" "+times[1]+"\"}]}"); | 105 | Date+" "+times[0]+"\"},{\"key\":\"结束时间:\",\"value\":\""+Date+" "+times[1]+"\"}]}"); | 
| 96 | dingSms.setSchoolId(teacher.getSchoolId()); | 106 | dingSms.setSchoolId(teacher.getSchoolId()); | 
| 97 | dingSms.setDingUserId(teacher.getDingUserId()); | 107 | dingSms.setDingUserId(teacher.getDingUserId()); | 
| 98 | - dingSms.setAgentId("314950914"); //智能校卫 | 108 | + dingSms.setAgentId(appDto.getAgentId()); //智能校卫 | 
| 99 | String wapUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" + | 109 | String wapUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" + | 
| 100 | "schoolid="+teacher.getSchoolId()+"&userId="+teacher.getUserId()+"&name="+teacher.getName()+ | 110 | "schoolid="+teacher.getSchoolId()+"&userId="+teacher.getUserId()+"&name="+teacher.getName()+ | 
| 101 | "&data="+teacher.getDingUserId()+"&type=1&stype=4&mobile="+teacher.getMobile()+"&pass="+teacher.getPass()+ | 111 | "&data="+teacher.getDingUserId()+"&type=1&stype=4&mobile="+teacher.getMobile()+"&pass="+teacher.getPass()+ | 
| 102 | "&face=&sourcetype=16&soutype=3×tamp="+ DateUtils.getDate() ; | 112 | "&face=&sourcetype=16&soutype=3×tamp="+ DateUtils.getDate() ; | 
| 103 | dingSms.setWapUrl(wapUrl); | 113 | dingSms.setWapUrl(wapUrl); | 
| 104 | - //smsMapper.insertDing(dingSms); | 114 | + smsMapper.insertDing(dingSms); | 
| 105 | } | 115 | } | 
| 106 | } | 116 | } | 
| 107 | } | 117 | } | 
| 108 | 118 | ||
| 109 | private void weChatPush(List<KqTeacherDto> list , String key){ | 119 | private void weChatPush(List<KqTeacherDto> list , String key){ | 
| 110 | - String[] times = key.split("_"); | ||
| 111 | - String Date = DateUtils.date2String(new Date(),DateUtils.format1); | ||
| 112 | String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | 120 | String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | 
| 121 | + AppDto appDto = scFeign.getApp(list.get(0).getSchoolId(),0); | ||
| 113 | for(KqTeacherDto teacher : list){ | 122 | for(KqTeacherDto teacher : list){ | 
| 114 | - if(StringUtils.isNotBlank(teacher.getxSTOpenId()) && teacher.getName().equals("陶汉栋")){ | 123 | + if(StringUtils.isNotBlank(teacher.getxSTOpenId())){ | 
| 115 | WeChatSms weChatSms = new WeChatSms(); | 124 | WeChatSms weChatSms = new WeChatSms(); | 
| 116 | - weChatSms.setTableName("wxSmsNew"+tableSuffix); | 125 | + weChatSms.setTableName("qyhSmsNew"+tableSuffix); | 
| 117 | weChatSms.setSchoolId(teacher.getSchoolId()); | 126 | weChatSms.setSchoolId(teacher.getSchoolId()); | 
| 118 | weChatSms.setName(teacher.getName()); | 127 | weChatSms.setName(teacher.getName()); | 
| 119 | weChatSms.setxSTOpenId(teacher.getxSTOpenId()); | 128 | weChatSms.setxSTOpenId(teacher.getxSTOpenId()); | 
| 129 | + weChatSms.setQiYeHaoUserId(teacher.getWeChatUserId()); | ||
| 130 | + weChatSms.setReceiveUserId(teacher.getUserId()); | ||
| 131 | + weChatSms.setAppId(appDto.getAgentId()); | ||
| 132 | + weChatSms.setSecret(appDto.getAgentSecret()); | ||
| 120 | String msgUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" + | 133 | String msgUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" + | 
| 121 | "schoolid="+teacher.getSchoolId()+"&userId="+teacher.getUserId()+"&name="+teacher.getName()+ | 134 | "schoolid="+teacher.getSchoolId()+"&userId="+teacher.getUserId()+"&name="+teacher.getName()+ | 
| 122 | "&data="+teacher.getWeChatUserId()+"&type=1&stype=3&mobile="+teacher.getMobile()+"&pass="+teacher.getPass()+ | 135 | "&data="+teacher.getWeChatUserId()+"&type=1&stype=3&mobile="+teacher.getMobile()+"&pass="+teacher.getPass()+ | 
| 123 | "&face="+ teacher.getFace() +"&sourcetype=16&soutype=2×tamp="+ DateUtils.getDate() ; | 136 | "&face="+ teacher.getFace() +"&sourcetype=16&soutype=2×tamp="+ DateUtils.getDate() ; | 
| 124 | weChatSms.setMsgUrl(msgUrl); | 137 | weChatSms.setMsgUrl(msgUrl); | 
| 125 | - weChatSms.setMsg("{\"title\":\"请查看签到信息\",\"form\":[{\"key\":\"开始时间:\",\"value\":\"" + | ||
| 126 | - Date+" "+times[0]+"\"},{\"key\":\"结束时间:\",\"value\":\""+Date+" "+times[1]+"\"}]}"); | ||
| 127 | smsMapper.insertWeChat(weChatSms); | 138 | smsMapper.insertWeChat(weChatSms); | 
| 128 | } | 139 | } | 
| 129 | } | 140 | } | 
cloud/quartz/src/main/java/com/sincere/quartz/model/WeChatSms.java
| @@ -9,11 +9,47 @@ public class WeChatSms { | @@ -9,11 +9,47 @@ public class WeChatSms { | ||
| 9 | 9 | ||
| 10 | private String tableName ; | 10 | private String tableName ; | 
| 11 | 11 | ||
| 12 | + private String receiveUserId ; | ||
| 13 | + private String qiYeHaoUserId ; | ||
| 12 | private int schoolId ; | 14 | private int schoolId ; | 
| 13 | private String msgUrl ; | 15 | private String msgUrl ; | 
| 14 | - private String msg ; | ||
| 15 | private String name ; | 16 | private String name ; | 
| 16 | private String xSTOpenId ; | 17 | private String xSTOpenId ; | 
| 18 | + private String appId ; | ||
| 19 | + private String secret ; | ||
| 20 | + | ||
| 21 | + | ||
| 22 | + public String getAppId() { | ||
| 23 | + return appId; | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + public void setAppId(String appId) { | ||
| 27 | + this.appId = appId; | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + public String getSecret() { | ||
| 31 | + return secret; | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + public void setSecret(String secret) { | ||
| 35 | + this.secret = secret; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + public String getReceiveUserId() { | ||
| 39 | + return receiveUserId; | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + public void setReceiveUserId(String receiveUserId) { | ||
| 43 | + this.receiveUserId = receiveUserId; | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | + public String getQiYeHaoUserId() { | ||
| 47 | + return qiYeHaoUserId; | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + public void setQiYeHaoUserId(String qiYeHaoUserId) { | ||
| 51 | + this.qiYeHaoUserId = qiYeHaoUserId; | ||
| 52 | + } | ||
| 17 | 53 | ||
| 18 | public String getTableName() { | 54 | public String getTableName() { | 
| 19 | return tableName; | 55 | return tableName; | 
| @@ -39,14 +75,6 @@ public class WeChatSms { | @@ -39,14 +75,6 @@ public class WeChatSms { | ||
| 39 | this.msgUrl = msgUrl; | 75 | this.msgUrl = msgUrl; | 
| 40 | } | 76 | } | 
| 41 | 77 | ||
| 42 | - public String getMsg() { | ||
| 43 | - return msg; | ||
| 44 | - } | ||
| 45 | - | ||
| 46 | - public void setMsg(String msg) { | ||
| 47 | - this.msg = msg; | ||
| 48 | - } | ||
| 49 | - | ||
| 50 | public String getName() { | 78 | public String getName() { | 
| 51 | return name; | 79 | return name; | 
| 52 | } | 80 | } | 
cloud/quartz/src/main/resources/application.yaml
| @@ -22,6 +22,5 @@ eureka: | @@ -22,6 +22,5 @@ eureka: | ||
| 22 | lease-renewal-interval-in-seconds: 10 | 22 | lease-renewal-interval-in-seconds: 10 | 
| 23 | client: | 23 | client: | 
| 24 | service-url: | 24 | service-url: | 
| 25 | - # defaultZone: http://localhost:8761/eureka/ | ||
| 26 | defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ | 25 | defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ | 
| 27 | 26 | 
cloud/quartz/src/main/resources/logback.xml
| @@ -1,61 +0,0 @@ | @@ -1,61 +0,0 @@ | ||
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | -<configuration debug="true"> | ||
| 3 | - <!-- 项目名称 --> | ||
| 4 | - <property name="PROJECT_NAME" value="schedule" /> | ||
| 5 | - | ||
| 6 | - <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> | ||
| 7 | - <!-- <property name="LOG_HOME" value="/opt/web/log/" />--> | ||
| 8 | - <property name="LOG_HOME" value="C://smartCampus_java//log"/> | ||
| 9 | - | ||
| 10 | - <!-- 控制台输出 --> | ||
| 11 | - <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> | ||
| 12 | - <!--<withJansi>true</withJansi>--> | ||
| 13 | - <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> | ||
| 14 | - <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> | ||
| 15 | - <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %highlight([%-5level] %logger{50} - %msg%n)</pattern> | ||
| 16 | - <charset>UTF-8</charset> | ||
| 17 | - </encoder> | ||
| 18 | - </appender> | ||
| 19 | - | ||
| 20 | - <!-- 按照每天生成日志文件 --> | ||
| 21 | - <appender name="SYSTEM_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> | ||
| 22 | - <!-- 过滤器,只打印ERROR级别的日志 --> | ||
| 23 | - <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> | ||
| 24 | - <!--日志文件输出的文件名--> | ||
| 25 | - <FileNamePattern>${LOG_HOME}/${PROJECT_NAME}.system-dev.%d{yyyy-MM-dd HH}.%i.log</FileNamePattern> | ||
| 26 | - <!--日志文件保留天数--> | ||
| 27 | - <MaxHistory>30</MaxHistory> | ||
| 28 | - <!--日志文件最大的大小--> | ||
| 29 | - <MaxFileSize>100MB</MaxFileSize> | ||
| 30 | - </rollingPolicy> | ||
| 31 | - | ||
| 32 | - <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> | ||
| 33 | - <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> | ||
| 34 | - <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %logger{50} - %msg%n</pattern> | ||
| 35 | - <charset>UTF-8</charset> | ||
| 36 | - </encoder> | ||
| 37 | - </appender> | ||
| 38 | - <logger name="system_error" additivity="true"> | ||
| 39 | - <appender-ref ref="SYSTEM_FILE"/> | ||
| 40 | - </logger> | ||
| 41 | - | ||
| 42 | - <!-- 设置Spring&Hibernate日志输出级别 --> | ||
| 43 | - <logger name="org.springframework" level="WARN" /> | ||
| 44 | - <logger name="org.mybatis" level="WARN" /> | ||
| 45 | - <logger name="com.ibatis" level="DEBUG" /> | ||
| 46 | - <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="DEBUG" /> | ||
| 47 | - <logger name="com.ibatis.common.jdbc.ScriptRunner" level="DEBUG" /> | ||
| 48 | - <logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="DEBUG" /> | ||
| 49 | - | ||
| 50 | - | ||
| 51 | - <logger name="java.sql.Connection" level="DEBUG" /> | ||
| 52 | - <logger name="java.sql.Statement" level="DEBUG" /> | ||
| 53 | - <logger name="java.sql.PreparedStatement" level="DEBUG" /> | ||
| 54 | - <logger name="com.sincere.smartSearch.mapper" level="DEBUG" /> | ||
| 55 | - <!-- 开发环境下的日志配置 --> | ||
| 56 | - <root level="ERROR"> | ||
| 57 | - <appender-ref ref="CONSOLE" /> | ||
| 58 | - <appender-ref ref="SYSTEM_FILE" /> | ||
| 59 | - </root> | ||
| 60 | - | ||
| 61 | -</configuration> | 
cloud/quartz/src/main/resources/mapper/SmsMapper.xml
| @@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
| 8 | </insert> | 8 | </insert> | 
| 9 | 9 | ||
| 10 | <insert id="insertWeChat" parameterType="com.sincere.quartz.model.WeChatSms"> | 10 | <insert id="insertWeChat" parameterType="com.sincere.quartz.model.WeChatSms"> | 
| 11 | - insert into ${tableName} (SchoolID,MsgUrl,Status,OpenID,intime,sendTime,Msg,Name) | ||
| 12 | - values (#{schoolId},#{msgUrl},0,#{xSTOpenId},GETDATE(),GETDATE(),#{msg},#{name}) | 11 | + insert into ${tableName} (SchoolID,WapUrl,Status,intime,sendTime,SendUserName,ReceiveUserID,QiYeHaoUserId,AppID,Secret) | 
| 12 | + values (#{schoolId},#{msgUrl},0,GETDATE(),GETDATE(),#{name},#{receiveUserId},#{qiYeHaoUserId},#{appId},#{secret}) | ||
| 13 | </insert> | 13 | </insert> | 
| 14 | </mapper> | 14 | </mapper> | 
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/KqController.java
| 1 | package com.sincere.smartSearch.controller; | 1 | package com.sincere.smartSearch.controller; | 
| 2 | 2 | ||
| 3 | +import com.sincere.common.dto.smartCampus.AppDto; | ||
| 3 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 4 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 
| 4 | import com.sincere.common.dto.smartCampus.TemplateDto; | 5 | import com.sincere.common.dto.smartCampus.TemplateDto; | 
| 5 | import com.sincere.smartSearch.model.KqTemplate; | 6 | import com.sincere.smartSearch.model.KqTemplate; | 
| @@ -11,7 +12,9 @@ import org.springframework.web.bind.annotation.RequestParam; | @@ -11,7 +12,9 @@ import org.springframework.web.bind.annotation.RequestParam; | ||
| 11 | import org.springframework.web.bind.annotation.RestController; | 12 | import org.springframework.web.bind.annotation.RestController; | 
| 12 | 13 | ||
| 13 | import java.util.ArrayList; | 14 | import java.util.ArrayList; | 
| 15 | +import java.util.HashMap; | ||
| 14 | import java.util.List; | 16 | import java.util.List; | 
| 17 | +import java.util.Map; | ||
| 15 | 18 | ||
| 16 | /** | 19 | /** | 
| 17 | * @author chen | 20 | * @author chen | 
| @@ -44,4 +47,12 @@ public class KqController { | @@ -44,4 +47,12 @@ public class KqController { | ||
| 44 | public List<KqTeacherDto> getTeacherList(@RequestParam("schoolId")int schoolId){ | 47 | public List<KqTeacherDto> getTeacherList(@RequestParam("schoolId")int schoolId){ | 
| 45 | return kqService.selectSchoolTeacher(schoolId); | 48 | return kqService.selectSchoolTeacher(schoolId); | 
| 46 | } | 49 | } | 
| 50 | + | ||
| 51 | + @RequestMapping(value = "getApp",method = RequestMethod.GET) | ||
| 52 | + public AppDto getApp(@RequestParam("schoolId")int schoolId , @RequestParam("type") int type){ | ||
| 53 | + Map<String ,Integer> map = new HashMap<>(); | ||
| 54 | + map.put("schoolId",schoolId); | ||
| 55 | + map.put("type",type); | ||
| 56 | + return kqService.selectApp(map); | ||
| 57 | + } | ||
| 47 | } | 58 | } | 
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/KqTemplateMapper.java
| 1 | package com.sincere.smartSearch.mapper; | 1 | package com.sincere.smartSearch.mapper; | 
| 2 | 2 | ||
| 3 | +import com.sincere.common.dto.smartCampus.AppDto; | ||
| 3 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 4 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 
| 4 | import com.sincere.smartSearch.model.KqTemplate; | 5 | import com.sincere.smartSearch.model.KqTemplate; | 
| 5 | 6 | ||
| 6 | import java.util.List; | 7 | import java.util.List; | 
| 8 | +import java.util.Map; | ||
| 7 | 9 | ||
| 8 | /** | 10 | /** | 
| 9 | * @author chen | 11 | * @author chen | 
| @@ -15,4 +17,6 @@ public interface KqTemplateMapper { | @@ -15,4 +17,6 @@ public interface KqTemplateMapper { | ||
| 15 | List<KqTemplate> selectKqTemplate(); | 17 | List<KqTemplate> selectKqTemplate(); | 
| 16 | 18 | ||
| 17 | List<KqTeacherDto> selectSchoolTeacher(int schoolId); | 19 | List<KqTeacherDto> selectSchoolTeacher(int schoolId); | 
| 20 | + | ||
| 21 | + AppDto selectApp(Map<String,Integer> map); | ||
| 18 | } | 22 | } | 
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/KqService.java
| 1 | package com.sincere.smartSearch.service; | 1 | package com.sincere.smartSearch.service; | 
| 2 | 2 | ||
| 3 | +import com.sincere.common.dto.smartCampus.AppDto; | ||
| 3 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 4 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 
| 4 | import com.sincere.smartSearch.model.KqTemplate; | 5 | import com.sincere.smartSearch.model.KqTemplate; | 
| 5 | 6 | ||
| 6 | import java.util.List; | 7 | import java.util.List; | 
| 8 | +import java.util.Map; | ||
| 7 | 9 | ||
| 8 | /** | 10 | /** | 
| 9 | * @author chen | 11 | * @author chen | 
| @@ -16,4 +18,5 @@ public interface KqService { | @@ -16,4 +18,5 @@ public interface KqService { | ||
| 16 | 18 | ||
| 17 | List<KqTeacherDto> selectSchoolTeacher(int schoolId); | 19 | List<KqTeacherDto> selectSchoolTeacher(int schoolId); | 
| 18 | 20 | ||
| 21 | + AppDto selectApp(Map<String,Integer> map); | ||
| 19 | } | 22 | } | 
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/KqServiceImpl.java
| 1 | package com.sincere.smartSearch.service.impl; | 1 | package com.sincere.smartSearch.service.impl; | 
| 2 | 2 | ||
| 3 | +import com.sincere.common.dto.smartCampus.AppDto; | ||
| 3 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 4 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 
| 4 | import com.sincere.smartSearch.mapper.KqTemplateMapper; | 5 | import com.sincere.smartSearch.mapper.KqTemplateMapper; | 
| 5 | import com.sincere.smartSearch.model.KqTemplate; | 6 | import com.sincere.smartSearch.model.KqTemplate; | 
| @@ -8,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; | @@ -8,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; | ||
| 8 | import org.springframework.stereotype.Service; | 9 | import org.springframework.stereotype.Service; | 
| 9 | 10 | ||
| 10 | import java.util.List; | 11 | import java.util.List; | 
| 12 | +import java.util.Map; | ||
| 11 | 13 | ||
| 12 | /** | 14 | /** | 
| 13 | * @author chen | 15 | * @author chen | 
| @@ -29,4 +31,9 @@ public class KqServiceImpl implements KqService { | @@ -29,4 +31,9 @@ public class KqServiceImpl implements KqService { | ||
| 29 | public List<KqTeacherDto> selectSchoolTeacher(int schoolId) { | 31 | public List<KqTeacherDto> selectSchoolTeacher(int schoolId) { | 
| 30 | return kqTemplateMapper.selectSchoolTeacher(schoolId); | 32 | return kqTemplateMapper.selectSchoolTeacher(schoolId); | 
| 31 | } | 33 | } | 
| 34 | + | ||
| 35 | + @Override | ||
| 36 | + public AppDto selectApp(Map<String, Integer> map) { | ||
| 37 | + return kqTemplateMapper.selectApp(map); | ||
| 38 | + } | ||
| 32 | } | 39 | } | 
cloud/search_smartCampus/src/main/resources/mapper/KqTemplateMapper.xml
| @@ -32,4 +32,13 @@ | @@ -32,4 +32,13 @@ | ||
| 32 | from SZ_User join SZ_UserRole on SZ_User.user_id = SZ_UserRole.user_id | 32 | from SZ_User join SZ_UserRole on SZ_User.user_id = SZ_UserRole.user_id | 
| 33 | where SZ_UserRole.school_id = #{schoolId} and SZ_UserRole.usertype = 0 | 33 | where SZ_UserRole.school_id = #{schoolId} and SZ_UserRole.usertype = 0 | 
| 34 | </select> | 34 | </select> | 
| 35 | + | ||
| 36 | + <resultMap id="AppMap" type="com.sincere.common.dto.smartCampus.AppDto"> | ||
| 37 | + <result column="AgentId" property="agentId"/> | ||
| 38 | + <result column="AgentSecret" property="agentSecret"/> | ||
| 39 | + </resultMap> | ||
| 40 | + <select id="selectApp" parameterType="java.util.Map" resultMap="AppMap"> | ||
| 41 | + select AgentId,AgentSecret from EM_QYHApply where SchoolId=#{schoolId} and type= #{type} | ||
| 42 | + and ApplyName = '智能校卫' | ||
| 43 | + </select> | ||
| 35 | </mapper> | 44 | </mapper> |