From 387f15c9fa122561b2f766e142cf68336c265796 Mon Sep 17 00:00:00 2001 From: "@jyuhsin" <729757837@qq.com> Date: Mon, 23 Sep 2024 16:38:23 +0800 Subject: [PATCH] commit --- .../mobile/MMeetingNotifyController.java | 42 ++++++++++--------- .../meeting/models/MeetingTimePeriod.java | 1 + .../views/mobile/meeting/notify.html | 36 ++++++++-------- .../views/platform/meeting/manage/add.html | 2 +- .../meeting/statistics/msgManage.html | 2 +- 5 files changed, 43 insertions(+), 40 deletions(-) diff --git a/src/main/java/io/v/nutz/meeting/controller/mobile/MMeetingNotifyController.java b/src/main/java/io/v/nutz/meeting/controller/mobile/MMeetingNotifyController.java index f944756..dfddf62 100644 --- a/src/main/java/io/v/nutz/meeting/controller/mobile/MMeetingNotifyController.java +++ b/src/main/java/io/v/nutz/meeting/controller/mobile/MMeetingNotifyController.java @@ -3,6 +3,7 @@ package io.v.nutz.meeting.controller.mobile; import cn.wizzer.framework.base.Result; import io.v.nutz.annontation.ViReturn; import io.v.nutz.meeting.models.MeetingInfo; +import io.v.nutz.meeting.models.MeetingTimePeriod; import io.v.nutz.meeting.models.MeetingTimePeriodUser; import io.v.nutz.meeting.models.MeetingUser; import io.v.nutz.web.commons.utils.ShiroUtil; @@ -14,6 +15,7 @@ import org.nutz.dao.Dao; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.lang.Lang; +import org.nutz.lang.util.NutMap; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.GET; import org.nutz.mvc.annotation.Ok; @@ -23,6 +25,7 @@ import javax.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.Objects; @IocBean @Slf4j @@ -48,8 +51,9 @@ public class MMeetingNotifyController { dao.fetchLinks(meetingInfo, "meetingTimePeriods", Cnd.NEW().asc("startTime")); Cnd cnd = Cnd.NEW(); + cnd.and("meetingId", "=", meetingId); cnd.and("userId", "=", ShiroUtil.getPrincipalProperty("id")); - MeetingTimePeriodUser mtPu = dao.fetch(MeetingTimePeriodUser.class, cnd); + List mtPu = dao.query(MeetingTimePeriodUser.class, cnd); if (Lang.isEmpty(meetingInfo)) { return Result.error("参数错误"); @@ -58,6 +62,14 @@ public class MMeetingNotifyController { return Result.error("你不是当前会议人员"); } + List meetingTimePeriods = meetingInfo.getMeetingTimePeriods(); + meetingTimePeriods.forEach(item -> { + MeetingTimePeriodUser periodUser = mtPu.stream().filter(o -> Objects.equals(o.getMeetingTimePeriodId(), item.getId())).findFirst().orElse(null); + if(periodUser != null) { + item.setIsJoinByMsg(periodUser.getIsJoinByMsg()); + } + }); + return meetingInfo; } @@ -65,28 +77,18 @@ public class MMeetingNotifyController { @Ok("json:full") @ViReturn @RequiresAuthentication - public Object joinDo(@Param("isJoin") Boolean isJoin, - @Param("notJoinReason") String notJoinReason, - @Param("ids") String[] ids, + public Object joinDo(@Param("notJoinReason") String notJoinReason, + @Param("::data") List joinData, @Param("meetingId") String meetingId) { List periodUsers = dao.query(MeetingTimePeriodUser.class, Cnd.where("meetingId", "=", meetingId) .and("userId", "=", ShiroUtil.getPlatformUid())); - if (isJoin) { - //参加 - periodUsers.forEach(item -> { - item.setIsJoinByMsg(true); - }); - } else { - List strings = Arrays.asList(ids); - periodUsers.forEach(item -> { - if (strings.contains(item.getMeetingTimePeriodId())) { - item.setIsJoinByMsg(false); - item.setNotJoinReason(notJoinReason); - } else { - item.setIsJoinByMsg(true); - } - }); - } + joinData.forEach(item -> { + MeetingTimePeriodUser periodUser = periodUsers.stream().filter(o -> Objects.equals(o.getMeetingTimePeriodId(), item.getString("id"))).findFirst().orElse(null); + if(periodUser != null) { + periodUser.setIsJoinByMsg(item.getBoolean("isJoinByMsg")); + periodUser.setNotJoinReason(!item.getBoolean("isJoinByMsg") ? notJoinReason : null); + } + }); dao.update(periodUsers); return null; } diff --git a/src/main/java/io/v/nutz/meeting/models/MeetingTimePeriod.java b/src/main/java/io/v/nutz/meeting/models/MeetingTimePeriod.java index 0dc9ebe..5b69223 100644 --- a/src/main/java/io/v/nutz/meeting/models/MeetingTimePeriod.java +++ b/src/main/java/io/v/nutz/meeting/models/MeetingTimePeriod.java @@ -45,4 +45,5 @@ public class MeetingTimePeriod { @Many(field = "meetingTimePeriodId") private List meetingTimePeriodUserList; + private Boolean isJoinByMsg; } diff --git a/src/main/resources/views/mobile/meeting/notify.html b/src/main/resources/views/mobile/meeting/notify.html index a65bf39..d6b6e44 100644 --- a/src/main/resources/views/mobile/meeting/notify.html +++ b/src/main/resources/views/mobile/meeting/notify.html @@ -237,18 +237,18 @@ layout("/mobile/platform.html"){ @@ -303,7 +303,6 @@ layout("/mobile/platform.html"){ mtpId: '', isIncorrect: true, typeName: '', - isJoin: true, } }, methods: { @@ -323,14 +322,15 @@ layout("/mobile/platform.html"){ } $('#app').css('opacity', '1') }, - async canJoin(type) { - this.isJoin = type - if(!type) { - const joinArray = this.meetingInfo.meetingTimePeriods.filter(o => o.canJoin === true) - if(joinArray.length === 0) { - this.$modal.alert('请选择不参加的时间段') + async submit() { + for (let item of this.meetingInfo.meetingTimePeriods) { + if(item.isJoinByMsg === null || item.isJoinByMsg === undefined) { + this.$modal.msg('请选择是否参加') return } + } + const join = this.meetingInfo.meetingTimePeriods.filter(o => o.isJoinByMsg === false) + if(join.length > 0) { this.notJoinShow = true } else { const confirm = await vant.Dialog.confirm({ @@ -355,21 +355,21 @@ layout("/mobile/platform.html"){ } }, async joinDo() { - const ids = this.meetingInfo.meetingTimePeriods.filter(o => o.canJoin === true).map(o => o.id) const resp = await $.post('/mobile/meeting/notify/joinDo', { - isJoin: this.isJoin, notJoinReason: this.notJoinReason, - ids: JSON.stringify(ids), + data: JSON.stringify(this.meetingInfo.meetingTimePeriods), meetingId: this.meetingInfo.id }) - this.$modal.msg(resp.msg) + this.isIncorrect = resp.code === 0 + this.isCanAudit = false + this.incorrectMag = resp.msg this.notJoinShow = false }, async readDo() { await $.post('/mobile/meeting/notify/readDo', {meetingId: this.meetingInfo.id}) }, back() { - const str = this.incorrectMag === '你不是当前会议人员' ? 'http://' + window.location.host : '/mobile/meeting/mine/go_sign?meetingId=' + this.meetingId + '&mtpId=' + this.mtpId + const str = this.incorrectMag === '你不是当前会议人员' ? 'http://' + window.location.host : '/mobile/meeting/notify?meetingId=' + this.meetingId + '&mtpId=' + this.mtpId location.href = str }, }, diff --git a/src/main/resources/views/platform/meeting/manage/add.html b/src/main/resources/views/platform/meeting/manage/add.html index 78d5f46..0a67030 100644 --- a/src/main/resources/views/platform/meeting/manage/add.html +++ b/src/main/resources/views/platform/meeting/manage/add.html @@ -201,7 +201,7 @@ layout("/layouts/platform.html"){ submitFormData.endTime = this.formData.meetingTime && this.formData.meetingTime.length > 1 ? this.formData.meetingTime[1] : '' if (this.msgData.sendTypes.length > 0) { - const confirm = await this.$confirm('下一步需要到消息管理系统中择机发送短信通知', '提示', { + const confirm = await this.$confirm('下一步需要到会议管理菜单中择机发送短信通知', '提示', { confirmButtonText: '确定', showCancelButton: false, type: 'warning' diff --git a/src/main/resources/views/platform/meeting/statistics/msgManage.html b/src/main/resources/views/platform/meeting/statistics/msgManage.html index 4652a49..7926c7c 100644 --- a/src/main/resources/views/platform/meeting/statistics/msgManage.html +++ b/src/main/resources/views/platform/meeting/statistics/msgManage.html @@ -129,7 +129,7 @@ layout("/layouts/platform.html"){ sortable show-overflow-tooltip>