Commit d7030105d0e4680ab4b2dfb18a5f0750ba6c6f3c
Exists in
master
Merge branch 'master' of http://git.shunzhi.net/taohd/mycloud
Showing
11 changed files
with
124 additions
and
81 deletions
 
Show diff stats
cloud/common/src/main/java/com/sincere/common/dto/smartCampus/BindPushDto.java
| 1 | package com.sincere.common.dto.smartCampus; | 1 | package com.sincere.common.dto.smartCampus; | 
| 2 | 2 | ||
| 3 | +import java.util.Date; | ||
| 4 | + | ||
| 3 | /** | 5 | /** | 
| 4 | * @author chen | 6 | * @author chen | 
| 5 | * @version 1.0 | 7 | * @version 1.0 | 
| @@ -8,9 +10,10 @@ package com.sincere.common.dto.smartCampus; | @@ -8,9 +10,10 @@ package com.sincere.common.dto.smartCampus; | ||
| 8 | public class BindPushDto { | 10 | public class BindPushDto { | 
| 9 | 11 | ||
| 10 | private int schoolId ; | 12 | private int schoolId ; | 
| 13 | + private String schoolName ; | ||
| 11 | private int type ; // 0是企业号,1是钉钉 | 14 | private int type ; // 0是企业号,1是钉钉 | 
| 12 | - private String beginDate ; | ||
| 13 | - private String endDate ; | 15 | + private Date beginDate ; | 
| 16 | + private Date endDate ; | ||
| 14 | private int intervalDays ; | 17 | private int intervalDays ; | 
| 15 | private String pushTime ; | 18 | private String pushTime ; | 
| 16 | private String msg ; | 19 | private String msg ; | 
| @@ -23,6 +26,14 @@ public class BindPushDto { | @@ -23,6 +26,14 @@ public class BindPushDto { | ||
| 23 | this.schoolId = schoolId; | 26 | this.schoolId = schoolId; | 
| 24 | } | 27 | } | 
| 25 | 28 | ||
| 29 | + public String getSchoolName() { | ||
| 30 | + return schoolName; | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + public void setSchoolName(String schoolName) { | ||
| 34 | + this.schoolName = schoolName; | ||
| 35 | + } | ||
| 36 | + | ||
| 26 | public int getType() { | 37 | public int getType() { | 
| 27 | return type; | 38 | return type; | 
| 28 | } | 39 | } | 
| @@ -31,19 +42,19 @@ public class BindPushDto { | @@ -31,19 +42,19 @@ public class BindPushDto { | ||
| 31 | this.type = type; | 42 | this.type = type; | 
| 32 | } | 43 | } | 
| 33 | 44 | ||
| 34 | - public String getBeginDate() { | 45 | + public Date getBeginDate() { | 
| 35 | return beginDate; | 46 | return beginDate; | 
| 36 | } | 47 | } | 
| 37 | 48 | ||
| 38 | - public void setBeginDate(String beginDate) { | 49 | + public void setBeginDate(Date beginDate) { | 
| 39 | this.beginDate = beginDate; | 50 | this.beginDate = beginDate; | 
| 40 | } | 51 | } | 
| 41 | 52 | ||
| 42 | - public String getEndDate() { | 53 | + public Date getEndDate() { | 
| 43 | return endDate; | 54 | return endDate; | 
| 44 | } | 55 | } | 
| 45 | 56 | ||
| 46 | - public void setEndDate(String endDate) { | 57 | + public void setEndDate(Date endDate) { | 
| 47 | this.endDate = endDate; | 58 | this.endDate = endDate; | 
| 48 | } | 59 | } | 
| 49 | 60 | 
cloud/common/src/main/java/com/sincere/common/dto/smartCampus/ParentDto.java
| @@ -8,7 +8,6 @@ package com.sincere.common.dto.smartCampus; | @@ -8,7 +8,6 @@ package com.sincere.common.dto.smartCampus; | ||
| 8 | public class ParentDto { | 8 | public class ParentDto { | 
| 9 | 9 | ||
| 10 | private int schoolId ; | 10 | private int schoolId ; | 
| 11 | - private int parentId ; | ||
| 12 | private String mobile ; | 11 | private String mobile ; | 
| 13 | 12 | ||
| 14 | public int getSchoolId() { | 13 | public int getSchoolId() { | 
| @@ -19,14 +18,6 @@ public class ParentDto { | @@ -19,14 +18,6 @@ public class ParentDto { | ||
| 19 | this.schoolId = schoolId; | 18 | this.schoolId = schoolId; | 
| 20 | } | 19 | } | 
| 21 | 20 | ||
| 22 | - public int getParentId() { | ||
| 23 | - return parentId; | ||
| 24 | - } | ||
| 25 | - | ||
| 26 | - public void setParentId(int parentId) { | ||
| 27 | - this.parentId = parentId; | ||
| 28 | - } | ||
| 29 | - | ||
| 30 | public String getMobile() { | 21 | public String getMobile() { | 
| 31 | return mobile; | 22 | return mobile; | 
| 32 | } | 23 | } | 
cloud/quartz/src/main/java/com/sincere/quartz/job/BindPushJob.java
| @@ -5,7 +5,11 @@ import com.sincere.common.dto.smartCampus.ParentDto; | @@ -5,7 +5,11 @@ import com.sincere.common.dto.smartCampus.ParentDto; | ||
| 5 | import com.sincere.common.enums.PushTypeEnums; | 5 | import com.sincere.common.enums.PushTypeEnums; | 
| 6 | import com.sincere.common.util.DateUtils; | 6 | import com.sincere.common.util.DateUtils; | 
| 7 | import com.sincere.quartz.feign.ScFeign; | 7 | import com.sincere.quartz.feign.ScFeign; | 
| 8 | +import com.sincere.quartz.mapper.SmsMapper; | ||
| 9 | +import com.sincere.quartz.model.ShortMsg; | ||
| 8 | import org.apache.commons.lang3.StringUtils; | 10 | import org.apache.commons.lang3.StringUtils; | 
| 11 | +import org.slf4j.Logger; | ||
| 12 | +import org.slf4j.LoggerFactory; | ||
| 9 | import org.springframework.beans.factory.annotation.Autowired; | 13 | import org.springframework.beans.factory.annotation.Autowired; | 
| 10 | import org.springframework.scheduling.annotation.Scheduled; | 14 | import org.springframework.scheduling.annotation.Scheduled; | 
| 11 | import org.springframework.stereotype.Service; | 15 | import org.springframework.stereotype.Service; | 
| @@ -21,26 +25,24 @@ import java.util.*; | @@ -21,26 +25,24 @@ import java.util.*; | ||
| 21 | @Service | 25 | @Service | 
| 22 | public class BindPushJob { | 26 | public class BindPushJob { | 
| 23 | 27 | ||
| 28 | + private Logger logger = LoggerFactory.getLogger(KQJob.class); | ||
| 29 | + | ||
| 30 | + | ||
| 24 | @Autowired | 31 | @Autowired | 
| 25 | ScFeign scFeign; | 32 | ScFeign scFeign; | 
| 26 | 33 | ||
| 27 | - private static String date ; | ||
| 28 | - private static List<BindPushDto> schoolList = new ArrayList<>(); | ||
| 29 | - private static Map<Integer , String> intervalDaysMap = new HashMap<>(); | 34 | + @Autowired | 
| 35 | + SmsMapper smsMapper; | ||
| 36 | + | ||
| 37 | + private static Map<String , String> intervalDaysMap = new HashMap<>(); //redis 持久化 替换 可避免重启导致间隔的错误 | ||
| 30 | 38 | ||
| 31 | @Scheduled(cron = "0 0-59 * * * ? ") | 39 | @Scheduled(cron = "0 0-59 * * * ? ") | 
| 32 | public void bindPush(){ | 40 | public void bindPush(){ | 
| 33 | Date nowDate = new Date(); | 41 | Date nowDate = new Date(); | 
| 34 | - String now = DateUtils.date2String(nowDate,DateUtils.format1) ; | ||
| 35 | - if(StringUtils.isBlank(date) || !date.equals(now)){ | ||
| 36 | - initMap(now); | ||
| 37 | - } | 42 | + List<BindPushDto> schoolList = scFeign.selectBindPushSchool(); | 
| 38 | for(BindPushDto school : schoolList){ | 43 | for(BindPushDto school : schoolList){ | 
| 39 | - int i =DateUtils.string2Date(school.getBeginDate(),DateUtils.format1).compareTo(nowDate) ; | ||
| 40 | - int j = DateUtils.string2Date(school.getEndDate(),DateUtils.format1).compareTo(nowDate) ; | ||
| 41 | - if(DateUtils.string2Date(school.getBeginDate(),DateUtils.format1).compareTo(nowDate) <= 0 | ||
| 42 | - && DateUtils.string2Date(school.getEndDate(),DateUtils.format1).compareTo(nowDate) >= 0){ | ||
| 43 | - String lastDate = intervalDaysMap.get(school.getSchoolId()); | 44 | + if(school.getBeginDate().compareTo(nowDate) <= 0 && school.getEndDate().compareTo(nowDate) >= 0){ | 
| 45 | + String lastDate = intervalDaysMap.get(school.getSchoolId()+"_"+school.getType()); | ||
| 44 | if(StringUtils.isBlank(lastDate)){ | 46 | if(StringUtils.isBlank(lastDate)){ | 
| 45 | //下发推送 | 47 | //下发推送 | 
| 46 | bindPush(school,nowDate); | 48 | bindPush(school,nowDate); | 
| @@ -57,33 +59,42 @@ public class BindPushJob { | @@ -57,33 +59,42 @@ public class BindPushJob { | ||
| 57 | 59 | ||
| 58 | private void bindPush(BindPushDto bindPushDto , Date nowDate){ | 60 | private void bindPush(BindPushDto bindPushDto , Date nowDate){ | 
| 59 | if(bindPushDto.getPushTime().equals(DateUtils.date2String(nowDate,DateUtils.format4))){ | 61 | if(bindPushDto.getPushTime().equals(DateUtils.date2String(nowDate,DateUtils.format4))){ | 
| 62 | + intervalDaysMap.put(bindPushDto.getSchoolId()+"_"+bindPushDto.getType(),DateUtils.date2String(nowDate,DateUtils.format1)); | ||
| 63 | + //未关注 | ||
| 60 | List<ParentDto> unFollowList = scFeign.selectNotFollow(bindPushDto.getSchoolId()); | 64 | List<ParentDto> unFollowList = scFeign.selectNotFollow(bindPushDto.getSchoolId()); | 
| 65 | + logger.info(bindPushDto.getSchoolName()+"未关注人数"+unFollowList.size()); | ||
| 66 | + for(ParentDto parentDto : unFollowList){ | ||
| 67 | + sendMessage(parentDto,bindPushDto.getMsg()); | ||
| 68 | + } | ||
| 69 | + //未绑定 | ||
| 61 | List<ParentDto> unBindList =scFeign.selectNotBind(bindPushDto.getSchoolId(),getThirdType(bindPushDto.getType())); | 70 | List<ParentDto> unBindList =scFeign.selectNotBind(bindPushDto.getSchoolId(),getThirdType(bindPushDto.getType())); | 
| 62 | - | ||
| 63 | - intervalDaysMap.put(bindPushDto.getSchoolId(),DateUtils.date2String(nowDate,DateUtils.format1)); | 71 | + logger.info(bindPushDto.getSchoolName()+"未绑定人数"+unBindList.size()); | 
| 72 | + for(ParentDto parentDto : unBindList){ | ||
| 73 | + sendMessage(parentDto,bindPushDto.getMsg()); | ||
| 74 | + } | ||
| 64 | } | 75 | } | 
| 65 | } | 76 | } | 
| 66 | 77 | ||
| 67 | - private void initMap(String now){ | ||
| 68 | - date = now ; | ||
| 69 | - //schoolList = scFeign.selectBindPushSchool(); | ||
| 70 | - BindPushDto bindPushDto = new BindPushDto(); | ||
| 71 | - bindPushDto.setSchoolId(16); | ||
| 72 | - bindPushDto.setBeginDate("2019-12-04"); | ||
| 73 | - bindPushDto.setEndDate("2019-12-30"); | ||
| 74 | - bindPushDto.setIntervalDays(1); | ||
| 75 | - bindPushDto.setPushTime("11:04"); | ||
| 76 | - bindPushDto.setType(0); | ||
| 77 | - bindPushDto.setMsg(""); | ||
| 78 | - schoolList = new ArrayList<>(); | ||
| 79 | - schoolList.add(bindPushDto); | 78 | + private void sendMessage(ParentDto parentDto , String message){ | 
| 79 | + //手机号为空 | ||
| 80 | + if(StringUtils.isNotBlank(parentDto.getMobile())){ | ||
| 81 | + String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | ||
| 82 | + ShortMsg shortMsg = new ShortMsg(); | ||
| 83 | + shortMsg.setTableName("smsNew"+tableSuffix); | ||
| 84 | + shortMsg.setSchoolId(parentDto.getSchoolId()); | ||
| 85 | + shortMsg.setMobile(parentDto.getMobile()); | ||
| 86 | + shortMsg.setMsg(message); | ||
| 87 | + //smsMapper.insertSMS(shortMsg); | ||
| 88 | + logger.info("----学校Id---"+parentDto.getSchoolId() + "----手机号----"+parentDto.getMobile()+"---"+message); | ||
| 89 | + } | ||
| 80 | } | 90 | } | 
| 81 | 91 | ||
| 92 | + // 0是企业号,1是钉钉 | ||
| 82 | private int getThirdType(int type){ | 93 | private int getThirdType(int type){ | 
| 83 | if(type == 0){ | 94 | if(type == 0){ | 
| 84 | - return PushTypeEnums.DING.getType() ; | ||
| 85 | - }else { | ||
| 86 | return PushTypeEnums.QIYEHAO.getType() ; | 95 | return PushTypeEnums.QIYEHAO.getType() ; | 
| 96 | + }else { | ||
| 97 | + return PushTypeEnums.DING.getType() ; | ||
| 87 | } | 98 | } | 
| 88 | } | 99 | } | 
| 89 | 100 | 
cloud/quartz/src/main/java/com/sincere/quartz/mapper/SmsMapper.java
| 1 | package com.sincere.quartz.mapper; | 1 | package com.sincere.quartz.mapper; | 
| 2 | 2 | ||
| 3 | import com.sincere.quartz.model.DingSms; | 3 | import com.sincere.quartz.model.DingSms; | 
| 4 | +import com.sincere.quartz.model.ShortMsg; | ||
| 4 | import com.sincere.quartz.model.WeChatSms; | 5 | import com.sincere.quartz.model.WeChatSms; | 
| 5 | 6 | ||
| 6 | /** | 7 | /** | 
| @@ -13,4 +14,6 @@ public interface SmsMapper { | @@ -13,4 +14,6 @@ public interface SmsMapper { | ||
| 13 | int insertDing(DingSms dingSms); | 14 | int insertDing(DingSms dingSms); | 
| 14 | 15 | ||
| 15 | int insertWeChat(WeChatSms weChatSms); | 16 | int insertWeChat(WeChatSms weChatSms); | 
| 17 | + | ||
| 18 | + int insertSMS(ShortMsg shortMsg); | ||
| 16 | } | 19 | } | 
cloud/quartz/src/main/java/com/sincere/quartz/model/ShortMsg.java
0 → 100644
| @@ -0,0 +1,47 @@ | @@ -0,0 +1,47 @@ | ||
| 1 | +package com.sincere.quartz.model; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * @author chen | ||
| 5 | + * @version 1.0 | ||
| 6 | + * @date 2019/12/13 0013 13:54 | ||
| 7 | + */ | ||
| 8 | +public class ShortMsg { | ||
| 9 | + | ||
| 10 | + private String tableName ; | ||
| 11 | + | ||
| 12 | + private int schoolId ; | ||
| 13 | + private String mobile ; | ||
| 14 | + private String msg ; | ||
| 15 | + | ||
| 16 | + public String getTableName() { | ||
| 17 | + return tableName; | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + public void setTableName(String tableName) { | ||
| 21 | + this.tableName = tableName; | ||
| 22 | + } | ||
| 23 | + | ||
| 24 | + public int getSchoolId() { | ||
| 25 | + return schoolId; | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + public void setSchoolId(int schoolId) { | ||
| 29 | + this.schoolId = schoolId; | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + public String getMobile() { | ||
| 33 | + return mobile; | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + public void setMobile(String mobile) { | ||
| 37 | + this.mobile = mobile; | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | + public String getMsg() { | ||
| 41 | + return msg; | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + public void setMsg(String msg) { | ||
| 45 | + this.msg = msg; | ||
| 46 | + } | ||
| 47 | +} | 
cloud/quartz/src/main/resources/mapper/SmsMapper.xml
| @@ -11,4 +11,9 @@ | @@ -11,4 +11,9 @@ | ||
| 11 | insert into ${tableName} (SchoolID,MsgID,Guid,WapUrl,Status,intime,sendTime,SendUserName,ReceiveUserID,QiYeHaoUserId,AppID,Secret,tdtype,Remark) | 11 | insert into ${tableName} (SchoolID,MsgID,Guid,WapUrl,Status,intime,sendTime,SendUserName,ReceiveUserID,QiYeHaoUserId,AppID,Secret,tdtype,Remark) | 
| 12 | values (#{schoolId},-1,#{msg},#{msgUrl},0,GETDATE(),GETDATE(),'智能校卫',#{receiveUserId},#{qiYeHaoUserId},#{appId},#{secret},#{tdType},#{name}) | 12 | values (#{schoolId},-1,#{msg},#{msgUrl},0,GETDATE(),GETDATE(),'智能校卫',#{receiveUserId},#{qiYeHaoUserId},#{appId},#{secret},#{tdType},#{name}) | 
| 13 | </insert> | 13 | </insert> | 
| 14 | + | ||
| 15 | + <insert id="insertSMS" parameterType="com.sincere.quartz.model.ShortMsg"> | ||
| 16 | + insert into ${tableName} (SchoolID,Mobile,Msg,tdtype,Status,IsNeedSend,SendTime,intime) | ||
| 17 | + values (#{schoolId},#{mobile},#{msg},1,0,1,GETDATE(),GETDATE()) | ||
| 18 | + </insert> | ||
| 14 | </mapper> | 19 | </mapper> | 
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/RegisterPushController.java
| @@ -35,11 +35,6 @@ public class RegisterPushController { | @@ -35,11 +35,6 @@ public class RegisterPushController { | ||
| 35 | return registerPushService.selectNotFollow(schoolId); | 35 | return registerPushService.selectNotFollow(schoolId); | 
| 36 | } | 36 | } | 
| 37 | 37 | ||
| 38 | - @RequestMapping(value = "selectFollow",method = RequestMethod.GET) | ||
| 39 | - List<ParentDto> selectFollow(@RequestParam("schoolId") int schoolId){ | ||
| 40 | - return registerPushService.selectFollow(schoolId); | ||
| 41 | - } | ||
| 42 | - | ||
| 43 | @RequestMapping(value = "selectNotBind",method = RequestMethod.GET) | 38 | @RequestMapping(value = "selectNotBind",method = RequestMethod.GET) | 
| 44 | List<ParentDto> selectNotBind(@RequestParam("schoolId") int schoolId , @RequestParam("type") int type){ | 39 | List<ParentDto> selectNotBind(@RequestParam("schoolId") int schoolId , @RequestParam("type") int type){ | 
| 45 | Map<String , Integer> map = new HashMap<>(); | 40 | Map<String , Integer> map = new HashMap<>(); | 
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/RegisterPushMapper.java
| @@ -17,7 +17,5 @@ public interface RegisterPushMapper { | @@ -17,7 +17,5 @@ public interface RegisterPushMapper { | ||
| 17 | 17 | ||
| 18 | List<ParentDto> selectNotFollow(int schoolId) ; | 18 | List<ParentDto> selectNotFollow(int schoolId) ; | 
| 19 | 19 | ||
| 20 | - List<ParentDto> selectFollow(int schoolId) ; | ||
| 21 | - | ||
| 22 | List<ParentDto> selectNotBind(Map<String , Integer> map); | 20 | List<ParentDto> selectNotBind(Map<String , Integer> map); | 
| 23 | } | 21 | } | 
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/RegisterPushService.java
| @@ -17,7 +17,5 @@ public interface RegisterPushService { | @@ -17,7 +17,5 @@ public interface RegisterPushService { | ||
| 17 | 17 | ||
| 18 | List<ParentDto> selectNotFollow(int schoolId) ; | 18 | List<ParentDto> selectNotFollow(int schoolId) ; | 
| 19 | 19 | ||
| 20 | - List<ParentDto> selectFollow(int schoolId) ; | ||
| 21 | - | ||
| 22 | List<ParentDto> selectNotBind(Map<String , Integer> map); | 20 | List<ParentDto> selectNotBind(Map<String , Integer> map); | 
| 23 | } | 21 | } | 
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/RegisterPushServiceImpl.java
| @@ -32,11 +32,6 @@ public class RegisterPushServiceImpl implements RegisterPushService { | @@ -32,11 +32,6 @@ public class RegisterPushServiceImpl implements RegisterPushService { | ||
| 32 | } | 32 | } | 
| 33 | 33 | ||
| 34 | @Override | 34 | @Override | 
| 35 | - public List<ParentDto> selectFollow(int schoolId) { | ||
| 36 | - return registerPushMapper.selectFollow(schoolId); | ||
| 37 | - } | ||
| 38 | - | ||
| 39 | - @Override | ||
| 40 | public List<ParentDto> selectNotBind(Map<String, Integer> map) { | 35 | public List<ParentDto> selectNotBind(Map<String, Integer> map) { | 
| 41 | return registerPushMapper.selectNotBind(map); | 36 | return registerPushMapper.selectNotBind(map); | 
| 42 | } | 37 | } | 
cloud/search_smartCampus/src/main/resources/mapper/RegisterPushMapper.xml
| @@ -4,6 +4,7 @@ | @@ -4,6 +4,7 @@ | ||
| 4 | 4 | ||
| 5 | <resultMap id="BindPushDto" type="com.sincere.common.dto.smartCampus.BindPushDto" > | 5 | <resultMap id="BindPushDto" type="com.sincere.common.dto.smartCampus.BindPushDto" > | 
| 6 | <result column="SchoolId" property="schoolId" /> | 6 | <result column="SchoolId" property="schoolId" /> | 
| 7 | + <result column="SchoolName" property="schoolName" /> | ||
| 7 | <result column="type" property="type" /> | 8 | <result column="type" property="type" /> | 
| 8 | <result column="BeginDate" property="beginDate" /> | 9 | <result column="BeginDate" property="beginDate" /> | 
| 9 | <result column="EndDate" property="endDate" /> | 10 | <result column="EndDate" property="endDate" /> | 
| @@ -13,44 +14,32 @@ | @@ -13,44 +14,32 @@ | ||
| 13 | </resultMap> | 14 | </resultMap> | 
| 14 | 15 | ||
| 15 | <select id="selectBindPushSchool" resultType="java.lang.Integer" resultMap="BindPushDto"> | 16 | <select id="selectBindPushSchool" resultType="java.lang.Integer" resultMap="BindPushDto"> | 
| 16 | - select SchoolId , type , BeginDate , EndDate , IntervalDays. PushTime , Msg from EM_QYHID where isPush = 1 | 17 | + select SchoolId , SchoolName , type , BeginDate , EndDate , IntervalDays , PushTime , Msg from EM_QYHID where isPush = 1 | 
| 17 | </select> | 18 | </select> | 
| 18 | 19 | ||
| 19 | 20 | ||
| 20 | <resultMap id="ParentMap" type="com.sincere.common.dto.smartCampus.ParentDto"> | 21 | <resultMap id="ParentMap" type="com.sincere.common.dto.smartCampus.ParentDto"> | 
| 21 | - <result column="parent_id" property="parentId"/> | ||
| 22 | <result column="school_id" property="schoolId"/> | 22 | <result column="school_id" property="schoolId"/> | 
| 23 | - <result column="mobile" property="mobile"/> | 23 | + <result column="ParentMobile" property="mobile"/> | 
| 24 | </resultMap> | 24 | </resultMap> | 
| 25 | 25 | ||
| 26 | <select id="selectNotFollow" parameterType="java.lang.Integer" resultMap="ParentMap"> | 26 | <select id="selectNotFollow" parameterType="java.lang.Integer" resultMap="ParentMap"> | 
| 27 | - SELECT SZ_V_School_Parent.parent_id , SZ_V_School_Parent.school_id , SZ_V_School_Parent.mobile FROM SZ_V_School_Parent WHERE not EXISTS | 27 | + SELECT SZ_V_School_Student.school_id , SZ_V_School_Student.ParentMobile FROM SZ_V_School_Student WHERE not EXISTS | 
| 28 | (SELECT NULL | 28 | (SELECT NULL | 
| 29 | - FROM SZ_V_School_Student | 29 | + FROM SZ_V_School_Parent | 
| 30 | WHERE SZ_V_School_Parent.class_id = SZ_V_School_Student.class_id | 30 | WHERE SZ_V_School_Parent.class_id = SZ_V_School_Student.class_id | 
| 31 | AND SZ_V_School_Parent.parent_mobile = SZ_V_School_Student.ParentMobile | 31 | AND SZ_V_School_Parent.parent_mobile = SZ_V_School_Student.ParentMobile | 
| 32 | ) | 32 | ) | 
| 33 | and school_id = #{schoolId} | 33 | and school_id = #{schoolId} | 
| 34 | </select> | 34 | </select> | 
| 35 | 35 | ||
| 36 | - <select id="selectFollow" parameterType="java.lang.Integer" resultMap="ParentMap"> | ||
| 37 | - SELECT SZ_V_School_Parent.parent_id , SZ_V_School_Parent.school_id , SZ_V_School_Parent.mobile FROM SZ_V_School_Parent WHERE EXISTS | ||
| 38 | - (SELECT NULL | ||
| 39 | - FROM SZ_V_School_Student | ||
| 40 | - WHERE SZ_V_School_Parent.class_id = SZ_V_School_Student.class_id | ||
| 41 | - AND SZ_V_School_Parent.parent_mobile = SZ_V_School_Student.ParentMobile | ||
| 42 | - ) | ||
| 43 | - and school_id = #{schoolId} | ||
| 44 | - </select> | ||
| 45 | - | ||
| 46 | - <select id="selectNotBind" parameterType="java.util.Map" resultMap="ParentMap"> | ||
| 47 | - SELECT SZ_V_School_Parent.parent_id , SZ_V_School_Parent.school_id , SZ_V_School_Parent.mobile FROM SZ_V_School_Parent WHERE EXISTS | ||
| 48 | - (SELECT NULL | ||
| 49 | - FROM SZ_V_School_Student | ||
| 50 | - WHERE SZ_V_School_Parent.class_id = SZ_V_School_Student.class_id | ||
| 51 | - AND SZ_V_School_Parent.parent_mobile = SZ_V_School_Student.ParentMobile | ||
| 52 | - ) | ||
| 53 | - and school_id = #{schoolId} | 36 | + <resultMap id="ParentMap2" type="com.sincere.common.dto.smartCampus.ParentDto"> | 
| 37 | + <result column="school_id" property="schoolId"/> | ||
| 38 | + <result column="mobile" property="mobile"/> | ||
| 39 | + </resultMap> | ||
| 40 | + <select id="selectNotBind" parameterType="java.util.Map" resultMap="ParentMap2"> | ||
| 41 | + SELECT SZ_V_School_Parent.school_id , SZ_V_School_Parent.mobile FROM SZ_V_School_Parent | ||
| 42 | + WHERE school_id = #{schoolId} | ||
| 54 | <if test="type == 4"> | 43 | <if test="type == 4"> | 
| 55 | and ( DingUserId is null or DingUserId = '' ) | 44 | and ( DingUserId is null or DingUserId = '' ) | 
| 56 | </if> | 45 | </if> |