瀏覽代碼

学校模板代码更新

guq 6 年之前
父節點
當前提交
9cefe365e8

+ 31 - 0
applications/school/school-dto/src/main/java/com/usoftchina/smartschool/school/enums/NoticeTemplate.java

@@ -0,0 +1,31 @@
+package com.usoftchina.smartschool.school.enums;
+
+public enum NoticeTemplate {
+
+    INOUT_NOTICE("inout", "出入校提醒"),
+    SCHOOL_NOTICE("school", "学校通知"),
+    HOMEWORK_NOTICE("homework", "作业通知"),
+    ASK4LEAVE_NOTICE("ask4leave", "学生请假申请"),
+    LEAVECONFIRM_NOTICE("leaveConfirm", "学生请假确认"),
+    SCORE_NOTICE("score", "成绩通知"),
+    UNAUDIT_NOTICE("unAudit", "待审批通知"),
+    MEETING_NOTICE("meeting", "会议提醒"),
+    MONEY_NOTICE("money", "资金异动提醒");
+
+    private String code;
+
+    private String title;
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    NoticeTemplate(String code, String title) {
+        this.code = code;
+        this.title = title;
+    }
+}

+ 45 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/controller/SchoolTemplateController.java

@@ -0,0 +1,45 @@
+package com.usoftchina.smartschool.school.basic.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.smartschool.base.Result;
+import com.usoftchina.smartschool.page.PageDefault;
+import com.usoftchina.smartschool.page.PageRequest;
+import com.usoftchina.smartschool.school.basic.service.SchoolTemplateService;
+import com.usoftchina.smartschool.school.dto.DocBaseDTO;
+import com.usoftchina.smartschool.school.dto.ListReqDTO;
+import com.usoftchina.smartschool.school.po.SchoolTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 学校微信推送模板
+ * @author: guq
+ * @create: 2019-03-14 11:51
+ **/
+@RestController
+@RequestMapping("/template")
+public class SchoolTemplateController {
+
+
+    @Autowired
+    private SchoolTemplateService schoolTemplateService;
+
+    @GetMapping("/list")
+    public Result getList(@PageDefault PageRequest page, ListReqDTO listReqDTO) {
+        PageInfo<SchoolTemplate> data = schoolTemplateService.getListData(page, listReqDTO);
+        return Result.success(data);
+    }
+
+    @GetMapping("/read/{id}")
+    public Result getFormData(@PathVariable("id") Long id) {
+        SchoolTemplate data = schoolTemplateService.getFormData(id);
+        return Result.success(data);
+    }
+
+    @PostMapping("/save")
+    public Result saveFormData(@RequestBody SchoolTemplate data) {
+        DocBaseDTO baseDTO = schoolTemplateService.saveFormData(data);
+        return Result.success(baseDTO);
+    }
+
+}

+ 15 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/SchoolTemplateService.java

@@ -0,0 +1,15 @@
+package com.usoftchina.smartschool.school.basic.service;
+
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.smartschool.page.PageRequest;
+import com.usoftchina.smartschool.school.dto.DocBaseDTO;
+import com.usoftchina.smartschool.school.dto.ListReqDTO;
+import com.usoftchina.smartschool.school.po.SchoolTemplate;
+
+public interface SchoolTemplateService {
+    PageInfo<SchoolTemplate> getListData(PageRequest page, ListReqDTO listReqDTO);
+
+    SchoolTemplate getFormData(Long id);
+
+    DocBaseDTO saveFormData(SchoolTemplate data);
+}

+ 73 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/SchoolTemplateServiceImpl.java

@@ -0,0 +1,73 @@
+package com.usoftchina.smartschool.school.basic.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.smartschool.context.BaseContextHolder;
+import com.usoftchina.smartschool.exception.BizException;
+import com.usoftchina.smartschool.page.PageRequest;
+import com.usoftchina.smartschool.school.basic.service.SchoolTemplateService;
+import com.usoftchina.smartschool.school.dto.DocBaseDTO;
+import com.usoftchina.smartschool.school.dto.ListReqDTO;
+import com.usoftchina.smartschool.school.exception.BizExceptionCode;
+import com.usoftchina.smartschool.school.mapper.SchoolTemplateMapper;
+import com.usoftchina.smartschool.school.po.SchoolTemplate;
+import com.usoftchina.smartschool.school.po.SysSchool;
+import com.usoftchina.smartschool.school.po.SysStudent;
+import com.usoftchina.smartschool.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Calendar;
+import java.util.List;
+
+/**
+ * @author: guq
+ * @create: 2019-03-14 13:56
+ **/
+@Service
+public class SchoolTemplateServiceImpl implements SchoolTemplateService {
+
+
+    @Autowired
+    private SchoolTemplateMapper schoolTemplateMapper;
+
+    @Override
+    public PageInfo<SchoolTemplate> getListData(PageRequest page, ListReqDTO listReqDTO) {
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        Long schoolId = BaseContextHolder.getSchoolId();
+        //condition语句
+        String condition = listReqDTO.getFinalCondition();
+        if(condition == null){
+            condition = "1=1";
+        }
+        List<SchoolTemplate> data = schoolTemplateMapper.selectByConditon(condition, schoolId);
+        PageInfo<SchoolTemplate> list = new PageInfo<>(data);
+        return list;
+    }
+
+    @Override
+    public SchoolTemplate getFormData(Long id) {
+        if (null == id || "0".equals(id)) {
+            throw new BizException(BizExceptionCode.USELESS_DATA);
+        }
+        SchoolTemplate data = schoolTemplateMapper.selectByPrimaryKey(id);
+        return data;
+    }
+
+    @Override
+    public DocBaseDTO saveFormData(SchoolTemplate formdata) {
+        if (StringUtils.isEmpty(formdata)){
+            throw new BizException(BizExceptionCode.EMPTY_DATA);
+        }
+        Long school_id = BaseContextHolder.getSchoolId();
+        formdata.setSt_schoolid(school_id);
+        //新增
+        if (StringUtils.isEmpty(formdata.getSt_id()) || "0".equals(formdata.getSt_id().toString())) {
+            schoolTemplateMapper.insertSelective(formdata);
+        } else {
+            //更新
+            schoolTemplateMapper.updateByPrimaryKeySelective(formdata);
+        }
+        return new DocBaseDTO(formdata.getSt_id());
+    }
+}

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

@@ -9,6 +9,7 @@ import com.usoftchina.smartschool.school.business.service.HomeWorkService;
 import com.usoftchina.smartschool.school.dto.BatchDealBaseDTO;
 import com.usoftchina.smartschool.school.dto.DocBaseDTO;
 import com.usoftchina.smartschool.school.dto.ListReqDTO;
+import com.usoftchina.smartschool.school.enums.NoticeTemplate;
 import com.usoftchina.smartschool.school.exception.BizExceptionCode;
 import com.usoftchina.smartschool.school.mapper.*;
 import com.usoftchina.smartschool.school.po.*;
@@ -46,6 +47,8 @@ public class HomeWorkServiceImpl implements HomeWorkService{
     private SysSchoolMapper sysSchoolMapper;
     @Autowired
     private WechatApi wechatApi;
+    @Autowired
+    private SchoolTemplateMapper schoolTemplateMapper;
 
     @Override
     public DocBaseDTO save(HomeWork formdata) {
@@ -132,6 +135,11 @@ public class HomeWorkServiceImpl implements HomeWorkService{
         SysSchool school = sysSchoolMapper.selectByPrimaryKey(BaseContextHolder.getSchoolId());
         //微信推送
         List<HomeworkNoticer> noticers = homeWorkMapper.selectHomeworkNoticer(id);
+        //模板信息
+        SchoolTemplate template = schoolTemplateMapper.selectByCode(NoticeTemplate.HOMEWORK_NOTICE.getCode(), school.getSchool_id());
+        if (StringUtils.isEmpty(template.getSt_templateid())) {
+            throw new BizException(BizExceptionCode.NULL_TEMPLATE);
+        }
         //消息内容
         List<MessageInfoDTO> msgs = new ArrayList<>();
         noticers.forEach(noticer -> {
@@ -143,6 +151,7 @@ public class HomeWorkServiceImpl implements HomeWorkService{
             msg.setTouser(noticer.getOpenid());
             msg.setAppId(school.getSchool_appid());
             msg.setSecret(school.getSchool_secret());
+            msg.setTemplateId(template.getSt_templateid());
             msgs.add(msg);
         });
         if (msgs.size() > 0) {

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

@@ -9,11 +9,14 @@ import com.usoftchina.smartschool.school.business.service.NoticeService;
 import com.usoftchina.smartschool.school.dto.BatchDealBaseDTO;
 import com.usoftchina.smartschool.school.dto.DocBaseDTO;
 import com.usoftchina.smartschool.school.dto.ListReqDTO;
+import com.usoftchina.smartschool.school.enums.NoticeTemplate;
 import com.usoftchina.smartschool.school.exception.BizExceptionCode;
 import com.usoftchina.smartschool.school.mapper.NoticeMapper;
+import com.usoftchina.smartschool.school.mapper.SchoolTemplateMapper;
 import com.usoftchina.smartschool.school.mapper.SysSchoolMapper;
 import com.usoftchina.smartschool.school.po.Notify;
 import com.usoftchina.smartschool.school.po.SchoolNoticer;
+import com.usoftchina.smartschool.school.po.SchoolTemplate;
 import com.usoftchina.smartschool.school.po.SysSchool;
 import com.usoftchina.smartschool.utils.DateUtils;
 import com.usoftchina.smartschool.utils.StringUtils;
@@ -43,7 +46,9 @@ public class NoticeServiceImpl implements NoticeService{
     @Autowired
     private WechatApi wechatApi;
 
-    final static String TEMPLATEID = "h0BkcnTo24b2jsficMeVO0B17GvE-VzlPvF0fVXea4w";
+    @Autowired
+    private SchoolTemplateMapper schoolTemplateMapper;
+
 
     @Override
     public DocBaseDTO save(Notify formdata) {
@@ -125,6 +130,11 @@ public class NoticeServiceImpl implements NoticeService{
         SysSchool school = sysSchoolMapper.selectByPrimaryKey(BaseContextHolder.getSchoolId());
         List<MessageInfoDTO> msgs = new ArrayList<>();
         List<SchoolNoticer> noticers = noticeMapper.selectNoticer(BaseContextHolder.getSchoolId());
+        //模板信息
+        SchoolTemplate template = schoolTemplateMapper.selectByCode(NoticeTemplate.HOMEWORK_NOTICE.getCode(), school.getSchool_id());
+        if (org.springframework.util.StringUtils.isEmpty(template.getSt_templateid())) {
+            throw new BizException(BizExceptionCode.NULL_TEMPLATE);
+        }
         noticers.forEach(noticer -> {
             MessageInfoDTO msg = new MessageInfoDTO();
             msg.setTitle(data.getNotify_title());
@@ -133,7 +143,7 @@ public class NoticeServiceImpl implements NoticeService{
             msg.setKeyword3(DateUtils.format());
             msg.setKeyword4(data.getNotify_details());
             msg.setRemark(data.getNotify_remarks());
-            msg.setTemplateId(TEMPLATEID);
+            msg.setTemplateId(template.getSt_templateid());
             msg.setTouser(noticer.getOpenid());
             msg.setAppId(school.getSchool_appid());
             msg.setSecret(school.getSchool_secret());

+ 36 - 2
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/service/impl/ScoreServiceImpl.java

@@ -10,6 +10,7 @@ import com.usoftchina.smartschool.school.business.service.ScoreService;
 import com.usoftchina.smartschool.school.dto.BatchDealBaseDTO;
 import com.usoftchina.smartschool.school.dto.DocBaseDTO;
 import com.usoftchina.smartschool.school.dto.ListReqDTO;
+import com.usoftchina.smartschool.school.enums.NoticeTemplate;
 import com.usoftchina.smartschool.school.exception.BizExceptionCode;
 import com.usoftchina.smartschool.school.mapper.*;
 import com.usoftchina.smartschool.school.po.*;
@@ -57,8 +58,8 @@ public class ScoreServiceImpl implements ScoreService{
     @Autowired
     private WechatApi wechatApi;
 
-
-    final static String TEMPLATEID = "GwR7hZ9ya7ghAiH3PR-ws1l24P_ETE3phYJBjKTcpKY";
+    @Autowired
+    private SchoolTemplateMapper schoolTemplateMapper;
 
     @Autowired
     private SubjectMapper subjectMapper;
@@ -218,6 +219,8 @@ public class ScoreServiceImpl implements ScoreService{
         List<StuScore> appScores = new ArrayList<StuScore>();
         StuScore appScore = null;
         Long school_id = BaseContextHolder.getSchoolId();
+        //学校信息
+        SysSchool school = sysSchoolMapper.selectByPrimaryKey(BaseContextHolder.getSchoolId());
         ScoreImport main = scoreMapper.selectByPrimaryKey(id);
         List<ScoreImportdetail> details = scoreMapper.selectDetail(id);
         for (ScoreImportdetail detail : details) {
@@ -237,6 +240,37 @@ public class ScoreServiceImpl implements ScoreService{
             appScores.add(appScore);
         }
         scoreMapper.batchInsert(appScores);
+
+        //微信推送
+        List<ScoreNoticer> noticers = scoreMapper.selectWechatMsg(id);
+        //消息内容
+        List<MessageInfoDTO> msgs = new ArrayList<>();
+        //模板信息
+        SchoolTemplate template = schoolTemplateMapper.selectByCode(NoticeTemplate.HOMEWORK_NOTICE.getCode(), school.getSchool_id());
+        if (StringUtils.isEmpty(template.getSt_templateid())) {
+            throw new BizException(BizExceptionCode.NULL_TEMPLATE);
+        }
+        noticers.forEach(noticer -> {
+            MessageInfoDTO msg = new MessageInfoDTO();
+            msg.setTitle("您好,请查收您小孩" + noticer.getStuName() + "的成绩单");
+            msg.setKeyword1(noticer.getStuName());
+            msg.setKeyword2(noticer.getStuNo());
+            msg.setKeyword3(main.getSi_examtitle());
+            msg.setKeyword4(DateUtils.format(main.getSi_examdate(),"yyyy-MM-dd"));
+            msg.setKeyword5(school.getSchool_name());
+            msg.setRemark("成绩为:" + noticer.getScore());
+            msg.setTemplateId(template.getSt_templateid());
+            msg.setTouser(noticer.getOpenid());
+            msg.setAppId(school.getSchool_appid());
+            msg.setSecret(school.getSchool_secret());
+            msgs.add(msg);
+        });
+        if (msgs.size() > 0) {
+            TransferDTO transferDTO = new TransferDTO();
+            transferDTO.setData(msgs);
+            //调用推送接口
+            wechatApi.largeMessages(transferDTO);
+        }
         //更新已转标志
         scoreMapper.updateTurnPublish(id);
     }

+ 1 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/exception/BizExceptionCode.java

@@ -34,6 +34,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     NOTICE_RELEASE_STATUS(600007, "学校通知已生效,无法删除"),
     ILLEGAL_Gender(600007, "无效性别"),
     ILLEGAL_MARRIAGE(600008, "婚姻状态无效,应为:已婚或未婚"),
+    NULL_TEMPLATE(600010, "模板ID为空"),
     NOT_EXISTS_SUBJECT(60005, "科目<u>%s</u>不存在");
 
 

+ 25 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/SchoolTemplateMapper.java

@@ -0,0 +1,25 @@
+package com.usoftchina.smartschool.school.mapper;
+
+import com.usoftchina.smartschool.school.po.SchoolTemplate;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+@Mapper
+public interface SchoolTemplateMapper {
+    int deleteByPrimaryKey(Long st_id);
+
+    int insert(SchoolTemplate record);
+
+    int insertSelective(SchoolTemplate record);
+
+    SchoolTemplate selectByPrimaryKey(Long st_id);
+
+    int updateByPrimaryKeySelective(SchoolTemplate record);
+
+    int updateByPrimaryKey(SchoolTemplate record);
+
+    List<SchoolTemplate> selectByConditon(@Param("con") String condition, @Param("school_id") Long schoolId);
+
+    SchoolTemplate selectByCode(@Param("code") String code, @Param("school_id") Long school_id);
+}

+ 55 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/SchoolTemplate.java

@@ -0,0 +1,55 @@
+package com.usoftchina.smartschool.school.po;
+
+import java.io.Serializable;
+
+public class SchoolTemplate implements Serializable{
+    private Long st_id;
+
+    private String st_code;
+
+    private String st_name;
+
+    private String st_templateid;
+
+    private Long st_schoolid;
+
+    public Long getSt_id() {
+        return st_id;
+    }
+
+    public void setSt_id(Long st_id) {
+        this.st_id = st_id;
+    }
+
+    public String getSt_code() {
+        return st_code;
+    }
+
+    public void setSt_code(String st_code) {
+        this.st_code = st_code == null ? null : st_code.trim();
+    }
+
+    public String getSt_name() {
+        return st_name;
+    }
+
+    public void setSt_name(String st_name) {
+        this.st_name = st_name == null ? null : st_name.trim();
+    }
+
+    public String getSt_templateid() {
+        return st_templateid;
+    }
+
+    public void setSt_templateid(String st_templateid) {
+        this.st_templateid = st_templateid == null ? null : st_templateid.trim();
+    }
+
+    public Long getSt_schoolid() {
+        return st_schoolid;
+    }
+
+    public void setSt_schoolid(Long st_schoolid) {
+        this.st_schoolid = st_schoolid;
+    }
+}

+ 104 - 0
applications/school/school-server/src/main/resources/mapper/SchoolTemplateMapper.xml

@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.usoftchina.smartschool.school.mapper.SchoolTemplateMapper" >
+  <resultMap id="BaseResultMap" type="com.usoftchina.smartschool.school.po.SchoolTemplate" >
+    <id column="st_id" property="st_id" jdbcType="BIGINT" />
+    <result column="st_code" property="st_code" jdbcType="VARCHAR" />
+    <result column="st_name" property="st_name" jdbcType="VARCHAR" />
+    <result column="st_templateid" property="st_templateid" jdbcType="VARCHAR" />
+    <result column="st_schoolid" property="st_schoolid" jdbcType="BIGINT" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    st_id, st_code, st_name, st_templateid, st_schoolid
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
+    select 
+    <include refid="Base_Column_List" />
+    from school_template
+    where st_id = #{st_id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long" >
+    delete from school_template
+    where st_id = #{st_id,jdbcType=BIGINT}
+  </delete>
+  <insert id="insert" parameterType="com.usoftchina.smartschool.school.po.SchoolTemplate" >
+    insert into school_template (st_id, st_code, st_name, 
+      st_templateid, st_schoolid)
+    values (#{st_id,jdbcType=BIGINT}, #{st_code,jdbcType=VARCHAR}, #{st_name,jdbcType=VARCHAR}, 
+      #{st_templateid,jdbcType=VARCHAR}, #{st_schoolid,jdbcType=BIGINT})
+  </insert>
+  <insert id="insertSelective" parameterType="com.usoftchina.smartschool.school.po.SchoolTemplate" >
+    insert into school_template
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="st_code != null" >
+        st_code,
+      </if>
+      <if test="st_name != null" >
+        st_name,
+      </if>
+      <if test="st_templateid != null" >
+        st_templateid,
+      </if>
+      <if test="st_schoolid != null" >
+        st_schoolid,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="st_code != null" >
+        #{st_code,jdbcType=VARCHAR},
+      </if>
+      <if test="st_name != null" >
+        #{st_name,jdbcType=VARCHAR},
+      </if>
+      <if test="st_templateid != null" >
+        #{st_templateid,jdbcType=VARCHAR},
+      </if>
+      <if test="st_schoolid != null" >
+        #{st_schoolid,jdbcType=BIGINT},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.usoftchina.smartschool.school.po.SchoolTemplate" >
+    update school_template
+    <set >
+      <if test="st_code != null" >
+        st_code = #{st_code,jdbcType=VARCHAR},
+      </if>
+      <if test="st_name != null" >
+        st_name = #{st_name,jdbcType=VARCHAR},
+      </if>
+      <if test="st_templateid != null" >
+        st_templateid = #{st_templateid,jdbcType=VARCHAR},
+      </if>
+      <if test="st_schoolid != null" >
+        st_schoolid = #{st_schoolid,jdbcType=BIGINT},
+      </if>
+    </set>
+    where st_id = #{st_id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.usoftchina.smartschool.school.po.SchoolTemplate" >
+    update school_template
+    set st_code = #{st_code,jdbcType=VARCHAR},
+      st_name = #{st_name,jdbcType=VARCHAR},
+      st_templateid = #{st_templateid,jdbcType=VARCHAR},
+      st_schoolid = #{st_schoolid,jdbcType=BIGINT}
+    where st_id = #{st_id,jdbcType=BIGINT}
+  </update>
+
+  <select id="selectByConditon" resultMap="BaseResultMap">
+    select * from school_template <where>
+    <if test="con != null">
+      ${con}
+    </if>
+    <if test="school_id != null">
+      and  st_schoolid = #{school_id}
+    </if>
+  </where>
+    order by st_id DESC
+  </select>
+
+  <select id="selectByCode" resultMap="BaseResultMap">
+    select * from school_template where st_code=#{code} and st_schoolid=#{school_id}
+  </select>
+
+</mapper>