From f95a5c0af2eff09daa0b367a0b27b46d43615a60 Mon Sep 17 00:00:00 2001 From: zhouhefeng Date: Wed, 9 Oct 2024 08:48:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../msgNotify/MsgNotifyTitleController.java | 12 ++- ...ainSignUpActivityStatisticsController.java | 42 +++++---- .../platform/msgNotify/msgNotifyTitle.html | 58 ++++++------ .../trainSingUp/statistics/activity.html | 91 +++++++++++++++---- .../trainSingUp/statistics/include_view.html | 5 +- 5 files changed, 144 insertions(+), 64 deletions(-) diff --git a/src/main/java/io/v/nutz/msgNotify/MsgNotifyTitleController.java b/src/main/java/io/v/nutz/msgNotify/MsgNotifyTitleController.java index a3b371c..ad54f55 100644 --- a/src/main/java/io/v/nutz/msgNotify/MsgNotifyTitleController.java +++ b/src/main/java/io/v/nutz/msgNotify/MsgNotifyTitleController.java @@ -104,14 +104,16 @@ public class MsgNotifyTitleController { @ViReturn @RequiresAuthentication public Object doSend(String id, String[] sendTypes, String content) { + MsgNotify msgNotify = baseService.dao().fetch(MsgNotify.class, id); List msgNotifyUser = msgNotifyService.getMsgNotifyUser(id); List userData = msgNotifyService.userData(msgNotifyUser); msgNotifyService.sendMsg(Arrays.asList(sendTypes), userData, content); - msgNotifyUser.forEach(v -> { - baseService.dao().update(MsgNotify.class, Chain.make("hold", true).add("sendTime", DateUtil.getDateTime()), Cnd.where("id", "=", v.getString("titleId"))); - - }); - + if (!msgNotify.isHold()){ + baseService.dao().update(MsgNotify.class, + Chain.make("hold", true) + .add("sendTime", DateUtil.getDateTime()), + Cnd.where("id", "=", id)); + } return null; } diff --git a/src/main/java/io/v/nutz/trainSignUp/controller/statistics/TrainSignUpActivityStatisticsController.java b/src/main/java/io/v/nutz/trainSignUp/controller/statistics/TrainSignUpActivityStatisticsController.java index d3fa770..6284900 100644 --- a/src/main/java/io/v/nutz/trainSignUp/controller/statistics/TrainSignUpActivityStatisticsController.java +++ b/src/main/java/io/v/nutz/trainSignUp/controller/statistics/TrainSignUpActivityStatisticsController.java @@ -1,6 +1,5 @@ package io.v.nutz.trainSignUp.controller.statistics; -import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; @@ -8,13 +7,15 @@ import cn.afterturn.easypoi.excel.export.ExcelExportService; import cn.hutool.core.util.StrUtil; import io.v.nutz.annontation.ViReturn; import io.v.nutz.modules.models.PageForm; -import io.v.nutz.trainSignUp.models.*; +import io.v.nutz.msgNotify.service.MsgNotifyService; +import io.v.nutz.trainSignUp.models.TrainMobileSignColumn; +import io.v.nutz.trainSignUp.models.TrainSignUpActivity; +import io.v.nutz.trainSignUp.models.TrainSignUpCourse; +import io.v.nutz.trainSignUp.models.TrainSignUpType; import io.v.nutz.trainSignUp.service.TrainSignUpActivityService; import io.v.nutz.trainSignUp.service.TrainSignUpActivityStatisticsService; -import io.v.nutz.web.commons.utils.FileUtil; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.util.IOUtils; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.nutz.dao.Cnd; @@ -24,20 +25,15 @@ import org.nutz.dao.sql.Sql; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.json.Json; -import org.nutz.lang.random.R; import org.nutz.lang.util.NutMap; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; -import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @@ -60,6 +56,9 @@ public class TrainSignUpActivityStatisticsController { @Inject private Dao dao; + @Inject + private MsgNotifyService msgNotifyService; + @At("") @RequiresPermissions("trainSingUp.statistics.activity") @Ok("beetl:/platform/trainSingUp/statistics/activity.html") @@ -170,7 +169,7 @@ public class TrainSignUpActivityStatisticsController { currentEntities.addAll(excelCommonExportEntity); //将课程类型配置的移动端动态字段添加到excel列中 List trainMobileSignColumnList = trainSignUpType.getTrainMobileSignColumnList(); - if(trainMobileSignColumnList != null && trainMobileSignColumnList.size() > 0) { + if (trainMobileSignColumnList != null && trainMobileSignColumnList.size() > 0) { trainMobileSignColumnList.forEach(item -> { currentEntities.add(new ExcelExportEntity(item.getColumnName(), item.getColumnCode(), 20)); }); @@ -178,10 +177,10 @@ public class TrainSignUpActivityStatisticsController { for (NutMap userSignData : v) { String mobileColumnsValueStr = userSignData.getString("mobileColumnsValue"); - if(StrUtil.isNotBlank(mobileColumnsValueStr)){ - List mobileColumnsValue = Json.fromJsonAsList(NutMap.class,mobileColumnsValueStr); + if (StrUtil.isNotBlank(mobileColumnsValueStr)) { + List mobileColumnsValue = Json.fromJsonAsList(NutMap.class, mobileColumnsValueStr); for (NutMap cv : mobileColumnsValue) { - if(cv.getString("columnFormType") != null && !cv.getString("columnFormType").equals("FILE")){ + if (cv.getString("columnFormType") != null && !cv.getString("columnFormType").equals("FILE")) { userSignData.addv(cv.getString("columnCode"), cv.getString("columnValue")); } } @@ -198,4 +197,15 @@ public class TrainSignUpActivityStatisticsController { e.printStackTrace(); } } + + + @At + @ViReturn + @Ok("json:full") + public Object sendMessage(String courseId, String messageText) { + List userList = trainSignUpActivityStatisticsService.registerUserList(courseId); + List loginnames = userList.stream().map(u -> u.getString("loginname")).collect(Collectors.toList()); + msgNotifyService.sendMsg(List.of("msg"), loginnames, messageText); + return null; + } } diff --git a/src/main/resources/views/platform/msgNotify/msgNotifyTitle.html b/src/main/resources/views/platform/msgNotify/msgNotifyTitle.html index 487c836..90f00a5 100644 --- a/src/main/resources/views/platform/msgNotify/msgNotifyTitle.html +++ b/src/main/resources/views/platform/msgNotify/msgNotifyTitle.html @@ -2,8 +2,8 @@ layout("/layouts/platform.html"){ #--> -
- +
+