|
|
@@ -3,12 +3,16 @@ package com.xjrsoft.module.assessment.service.impl;
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
import com.xjrsoft.common.enums.DeleteMark;
|
|
|
+import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
+import com.xjrsoft.config.CommonPropertiesConfig;
|
|
|
import com.xjrsoft.module.assessment.dto.AddAssessmentTemplatePlanDto;
|
|
|
import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
|
|
|
import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerStudentDto;
|
|
|
@@ -43,6 +47,8 @@ import com.xjrsoft.module.assessment.vo.AssessmentQuestionResultVo;
|
|
|
import com.xjrsoft.module.assessment.vo.AssessmentQuestionVo;
|
|
|
import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
|
|
|
import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanQuestionVo;
|
|
|
+import com.xjrsoft.module.organization.dto.WeChatSendMessageDto;
|
|
|
+import com.xjrsoft.module.organization.service.IWeChatService;
|
|
|
import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
|
|
|
import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
|
import com.xjrsoft.module.teacher.mapper.XjrUserMapper;
|
|
|
@@ -75,6 +81,8 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
private final AssessmentQuestionMapper questionMapper;
|
|
|
private final AssessmentPlanAnswerResultMapper resultMapper;
|
|
|
private final XjrUserMapper xjrUserMapper;
|
|
|
+ private final IWeChatService weChatService;
|
|
|
+ private final CommonPropertiesConfig commonPropertiesConfig;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -271,6 +279,10 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
.eq(AssessmentPlanQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
.eq(AssessmentPlanQuestion::getAssessmentTemplatePlanId, id)
|
|
|
);
|
|
|
+
|
|
|
+ Integer submitStatus = studentMapper.getSubmitStatus(id, StpUtil.getLoginIdAsLong());
|
|
|
+ vo.setSubmitStatus(submitStatus);
|
|
|
+
|
|
|
AssessmentQuestionResultDto resultDto = new AssessmentQuestionResultDto();
|
|
|
resultDto.setAssessmentTemplatePlanId(id);
|
|
|
resultDto.setUserId(StpUtil.getLoginIdAsLong());
|
|
|
@@ -421,4 +433,44 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
vo.setChildren(oneList);
|
|
|
return vo;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Boolean sendMsg(AssessmentTemplatePlanSureDto dto) {
|
|
|
+ //先查询班上的所有学生
|
|
|
+ MPJLambdaWrapper<XjrUser> queryWrapper = new MPJLambdaWrapper<>();
|
|
|
+ queryWrapper
|
|
|
+ .select(XjrUser.class, x -> VoToColumnUtil.fieldsToColumns(XjrUser.class).contains(x.getProperty()))
|
|
|
+ .innerJoin(AssessmentPlanAnswerStudent.class, AssessmentPlanAnswerStudent::getStudentUserId,XjrUser::getId)
|
|
|
+ .innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId,XjrUser::getId)
|
|
|
+ .eq(BaseStudentSchoolRoll::getClassId , dto.getClassId())
|
|
|
+ .eq(AssessmentPlanAnswerStudent::getAssessmentTemplatePlanId , dto.getId())
|
|
|
+ .disableSubLogicDel();
|
|
|
+ List<XjrUser> userList = xjrUserMapper.selectJoinList(XjrUser.class, queryWrapper);
|
|
|
+
|
|
|
+ for (XjrUser user : userList) {
|
|
|
+ WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
|
|
|
+ weChatSendMessageDto.setUserId(user.getOpenId());
|
|
|
+
|
|
|
+ weChatSendMessageDto.setTemplateId("qmpXORPM1Cocqn503Qa4OkNNQ0uxlj2-ed9m6uWO-v4");
|
|
|
+ weChatSendMessageDto.setUrl(StrUtil.format("{}/pages/student/canteen/evaluate?id={}", commonPropertiesConfig.getDomainApp(), dto.getId()));
|
|
|
+ weChatSendMessageDto.setMsgId(dto.getId().toString());
|
|
|
+ JSONObject data = new JSONObject();
|
|
|
+
|
|
|
+// JSONObject data1 = new JSONObject();
|
|
|
+// String hValue = news.getFullHead().replace("“", "").replace("”", "").replace("\"", "").replace("\n", "").replace("\r", "").replace("\t", "");
|
|
|
+// data1.put("value", hValue);
|
|
|
+// data.put("thing23", data1);
|
|
|
+//
|
|
|
+// JSONObject data2 = new JSONObject();
|
|
|
+// data2.put("value", (department == null) ? "重庆铜梁职业教育中心" : department.getName());
|
|
|
+// data.put("thing18", data2);
|
|
|
+//
|
|
|
+// JSONObject data3 = new JSONObject();
|
|
|
+// data3.put("value", LocalDateTimeUtil.format(news.getReleaseTime(), "yyyy-MM-dd HH:mm:ss"));
|
|
|
+// data.put("time17", data3);
|
|
|
+// weChatSendMessageDto.setContent(data);
|
|
|
+ weChatService.sendTemplateMessage(weChatSendMessageDto);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|