Parcourir la source

食堂评价消息通知调整

dzx il y a 11 mois
Parent
commit
e2f74dd971

+ 5 - 0
src/main/java/com/xjrsoft/module/assessment/controller/AssessmentTemplatePlanController.java

@@ -120,6 +120,11 @@ public class AssessmentTemplatePlanController {
         }
         if(dto.getStatus() == 1){
             templatePlan.setStartTime(new Date());
+            if(templatePlan.getIsNeedConfirm() == 1){
+                planService.sendMsgToTeacher(templatePlan);
+            }else{
+                planService.sendMsgToClass(templatePlan);
+            }
         }else if(dto.getStatus() == 2){
             templatePlan.setEndTime(new Date());
         }

+ 5 - 0
src/main/java/com/xjrsoft/module/assessment/service/IAssessmentTemplatePlanService.java

@@ -98,4 +98,9 @@ public interface IAssessmentTemplatePlanService extends MPJBaseService<Assessmen
     AssessmentTemplatePlanAnswerResultVo getAnswerStudentResult(Long studentUserId, Long assessmentTemplatePlanId);
 
     byte[] answerExportQuery(AssessmentPlanAnswerStudentDto dto) throws IOException;
+
+
+    Boolean sendMsgToTeacher(AssessmentTemplatePlan templatePlan);
+
+    Boolean sendMsgToClass(AssessmentTemplatePlan templatePlan);
 }

+ 65 - 1
src/main/java/com/xjrsoft/module/assessment/service/impl/AssessmentTemplatePlanServiceImpl.java

@@ -301,6 +301,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
         long teacherId = StpUtil.getLoginIdAsLong();
         answerClassMapper.sure(dto, teacherId);
         studentMapper.sure(dto, teacherId);
+        this.sendMsg(dto);
         return true;
     }
 
@@ -567,6 +568,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
                 .eq(BaseStudentSchoolRoll::getClassId, dto.getClassId())
                 .eq(AssessmentPlanAnswerStudent::getAssessmentTemplatePlanId, dto.getId())
                 .eq(teacherId != null, BaseClass::getTeacherId, teacherId)
+                .eq(AssessmentPlanAnswerStudent::getSubmitStatus, 0)
                 .eq(BaseStudentSchoolRoll::getArchivesStatus, ArchivesStatusEnum.FB2901.getCode())
                 .disableSubLogicDel();
         List<XjrUser> userList = xjrUserMapper.selectJoinList(XjrUser.class, queryWrapper);
@@ -579,7 +581,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
 
             weChatSendMessageDto.setTemplateId(templateId);
             weChatSendMessageDto.setUrl(StrUtil.format("{}/pages/student/canteen/evaluate?id={}", commonPropertiesConfig.getDomainApp(), dto.getId()));
-            weChatSendMessageDto.setMsgId(dto.getId().toString());
+            weChatSendMessageDto.setMsgId(IdUtil.getSnowflakeNextIdStr());
 
             JSONObject paramJson = new JSONObject();
 
@@ -800,6 +802,68 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
         return bot.toByteArray();
     }
 
+    @Override
+    public Boolean sendMsgToTeacher(AssessmentTemplatePlan templatePlan) {
+        List<XjrUser> userList = xjrUserMapper.selectJoinList(XjrUser.class,
+                new MPJLambdaWrapper<XjrUser>()
+                        .select(XjrUser::getId)
+                        .select(XjrUser.class, x -> VoToColumnUtil.fieldsToColumns(XjrUser.class).contains(x.getProperty()))
+                        .innerJoin(BaseClass.class, BaseClass::getTeacherId, XjrUser::getId)
+                        .innerJoin(AssessmentPlanAnswerClass.class, AssessmentPlanAnswerClass::getClassId, XjrUser::getId)
+                        .eq(AssessmentPlanAnswerClass::getAssessmentTemplatePlanId, templatePlan.getId())
+                        .eq(AssessmentPlanAnswerClass::getDeleteMark, DeleteMark.NODELETE.getCode())
+        );
+        String templateId = "sHsmz7LRj7HLd7GSTS3r2jCLvK-4Wp19iGzEvYK8n_I";
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (XjrUser user : userList) {
+            WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
+            weChatSendMessageDto.setUserId(user.getOpenId());
+
+            weChatSendMessageDto.setTemplateId(templateId);
+            weChatSendMessageDto.setUrl(StrUtil.format("{}/pages/student/canteen/evaluate?id={}", commonPropertiesConfig.getDomainApp(), templatePlan.getId()));
+            weChatSendMessageDto.setMsgId(IdUtil.getSnowflakeNextIdStr());
+
+            JSONObject paramJson = new JSONObject();
+
+            JSONObject thing8 = new JSONObject();
+            thing8.put("value", "食堂评价");
+            paramJson.put("thing8", thing8);
+
+            JSONObject thing2 = new JSONObject();
+            thing2.put("value", templatePlan.getName());
+            paramJson.put("thing2", thing2);
+
+            JSONObject thing6 = new JSONObject();
+            thing6.put("value", "重庆市铜梁职业教育中心");
+            paramJson.put("thing6", thing6);
+
+            JSONObject time3 = new JSONObject();
+            time3.put("value", sdf.format(templatePlan.getStartTime()));
+            paramJson.put("time3", time3);
+
+            weChatSendMessageDto.setContent(paramJson);
+            weChatService.sendTemplateMessage(weChatSendMessageDto);
+        }
+        return true;
+    }
+
+    @Override
+    public Boolean sendMsgToClass(AssessmentTemplatePlan templatePlan) {
+        List<AssessmentPlanAnswerClass> classList = answerClassMapper.selectList(
+                new QueryWrapper<AssessmentPlanAnswerClass>().lambda()
+                        .eq(AssessmentPlanAnswerClass::getDeleteMark, DeleteMark.NODELETE.getCode())
+                        .eq(AssessmentPlanAnswerClass::getAssessmentTemplatePlanId, templatePlan.getId())
+        );
+        for (AssessmentPlanAnswerClass answerClass : classList) {
+            this.sendMsg(new AssessmentTemplatePlanSureDto(){{
+                setClassId(answerClass.getClassId());
+                setId(templatePlan.getId());
+            }});
+
+        }
+        return true;
+    }
+
     /**
      * 创建第一行表头
      */

+ 3 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentPlanAnswerStudentVo.java

@@ -31,6 +31,9 @@ public class AssessmentPlanAnswerStudentVo {
     @ApiModelProperty("状态(0:未提交 1:已提交)")
     private Integer submitStatus;
 
+    @ApiModelProperty("所属班级id")
+    private Long classId;
+
     @ApiModelProperty("提交时间")
     private Date submitDate;
 

+ 11 - 0
src/main/java/com/xjrsoft/module/student/vo/CalssQuantitativeAssessmentPageVo.java

@@ -110,4 +110,15 @@ public class CalssQuantitativeAssessmentPageVo {
     @ExcelProperty(value = "考核金额")
     @ColumnWidth(10)
     private String assessMoney;
+
+
+    @ApiModelProperty("班风学风考核")
+    @ExcelProperty(value = "班风学风考核")
+    @ColumnWidth(10)
+    private String classStyleScore;
+
+    @ApiModelProperty("班风学风考核指数")
+    @ExcelProperty(value = "班风学风考核指数")
+    @ColumnWidth(10)
+    private String classStyleIndex;
 }