Browse Source

Merge branch 'dev' of ssh://10.10.100.21/source/smartschool-platform into dev

guq 7 years ago
parent
commit
be523fca03

+ 1 - 0
applications/device/device-server/src/main/java/com/usoftchina/smartschool/device/mapper/IcCardMapper.java

@@ -15,4 +15,5 @@ public interface IcCardMapper {
 
     SysSchoolDTO getSchoolIdByName(@Param("name") String name);
 
+    String selectTemplateId(@Param("schoolId") Long schoolId);
 }

+ 2 - 1
applications/device/device-server/src/main/java/com/usoftchina/smartschool/device/service/impl/IcCardServiceImpl.java

@@ -49,6 +49,7 @@ public class IcCardServiceImpl implements IcCardService {
             String appId = sysSchoolDTO.getSchool_appid();
             String secret = sysSchoolDTO.getSchool_secret();
             Long schoolId = sysSchoolDTO.getSchool_id();
+            String templateId = icCardMapper.selectTemplateId(schoolId);
             StringBuilder sb = new StringBuilder();
             accTransDetailList.forEach(accTransDetail -> {
                 sb.append(accTransDetail.getGuid() + ",");
@@ -62,7 +63,7 @@ public class IcCardServiceImpl implements IcCardService {
                 messageInfo.setAppId(appId);
                 messageInfo.setSecret(secret);
                 //messageInfo.setUserType(2);
-                messageInfo.setTemplateId("FhtdzLdpzLLp4eJGtgvH4SUfIpSIF0kWwIpsWsSBp6c");
+                messageInfo.setTemplateId(templateId);
                 String accNo = accTransDetail.getAccNo();
                 String cardNo = StringUtils.isEmpty(accNo) ? null : accNo.substring(accTransDetail.getAccNo().length() - 4);
                 String header = "您好,您的小孩" + accTransDetail.getEmpName() + "在校的校园卡(卡号:*** " + cardNo + ")发生如下交易";

+ 4 - 0
applications/device/device-server/src/main/resources/mapper/IcCardMapper.xml

@@ -17,4 +17,8 @@
     and school_id=#{schoolId}
     and   ifnull(openid,'')  != ''  limit 0,1
   </select>
+
+  <select id="selectTemplateId" resultType="string">
+    SELECT st_templateid FROM school_template WHERE ST_SCHOOLID = #{schoolId} and st_code = 'iccard'
+  </select>
 </mapper>

+ 12 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/service/impl/NoticeServiceImpl.java

@@ -24,6 +24,7 @@ import com.usoftchina.smartschool.wechat.api.WechatApi;
 import com.usoftchina.smartschool.wechat.dto.MessageInfoDTO;
 import com.usoftchina.smartschool.wechat.dto.TransferDTO;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -49,6 +50,9 @@ public class NoticeServiceImpl implements NoticeService{
     @Autowired
     private SchoolTemplateMapper schoolTemplateMapper;
 
+    @Value("${smartschool.domain.wechat}")
+    private String baseWechatUrl;
+
 
     @Override
     public DocBaseDTO save(Notify formdata) {
@@ -137,6 +141,14 @@ public class NoticeServiceImpl implements NoticeService{
         }
         noticers.forEach(noticer -> {
             MessageInfoDTO msg = new MessageInfoDTO();
+            String endUrl = null;
+            if (noticer.getType() == 1) {
+                endUrl = "/parent/" + id + "?stuId=" + noticer.getPersonId();
+            }else {
+                endUrl = "/teacher/" + id + "?teacherId=" + noticer.getPersonId();
+            }
+            String url = baseWechatUrl + endUrl;
+            msg.setUrl(url);
             msg.setTitle(data.getNotify_title());
             msg.setKeyword1(school.getSchool_name());
             msg.setKeyword2("校办公室");

+ 8 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/SchoolNoticer.java

@@ -19,4 +19,12 @@ public class SchoolNoticer implements Serializable{
      * 微信ID
      */
     private String openid;
+    /**
+     * 推送人ID
+     */
+    private Long personId;
+    /**
+     * 类型   1:家长   0:教师
+     */
+    private int type;
 }

+ 3 - 2
applications/school/school-server/src/main/resources/mapper/NotifyMapper.xml

@@ -227,7 +227,8 @@
   </select>
 
     <select id="selectNoticer" parameterType="long" resultType="com.usoftchina.smartschool.school.po.SchoolNoticer">
-        select openid,parents_name noticer from sys_parents where school_id=#{schoolId} and ifnull(openid,'') != '' and parents_status=1 union
-				select openid,teacher_name noticer from sys_teacher where school_id=#{schoolId} and ifnull(openid,'') != '' and teacher_status=1;
+        select openid,parents_name noticer,parentstu.stu_id personId,'1' type from sys_parents parent left join sys_parents_stu parentstu on parent.parent_id = parentstu.parent_id where school_id=#{schoolId} and ifnull(openid,'') != '' and parents_status=1
+        union all
+        select openid,teacher_name noticer,teacher_id personId, '0' type from sys_teacher where school_id=#{schoolId} and ifnull(openid,'') != '' and teacher_status=1
     </select>
 </mapper>