Merge branch 'main' of https://dd3skj.picp.vip/JyuHsin/zhgh_cug_v4
This commit is contained in:
+10
@@ -7,6 +7,8 @@ import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.activity.basic.service.ActivityBasicScopeService;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHall;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHallMeeting;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHallSeat;
|
||||
@@ -40,6 +42,9 @@ public class GuildHallMeetingController {
|
||||
@Inject
|
||||
private GuildHallMeetingService guildHallMeetingService;
|
||||
|
||||
@Inject
|
||||
private ActivityBasicScopeService activityBasicScopeService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("guildHall.meeting")
|
||||
@Ok("beetl:/platform/zhgh/democratic/teachercongress/guildhall/meeting/index.html")
|
||||
@@ -109,6 +114,11 @@ public class GuildHallMeetingController {
|
||||
if(DateUtil.compare(DateUtil.date(), meeting.getEndTime()) > 0) {
|
||||
continue;
|
||||
}
|
||||
// 配置参与组别后,仅向组内用户返回可选会议;未配置组别时默认全员可见。
|
||||
if (meeting.getGroupId() != null
|
||||
&& !activityBasicScopeService.isUserInGroup(meeting.getGroupId(), SecurityUtil.getUserId())) {
|
||||
continue;
|
||||
}
|
||||
NutMap nutMap = Lang.obj2nutmap(meeting);
|
||||
GuildHall hall = dao.fetch(GuildHall.class, meeting.getHallId());
|
||||
nutMap.put("address", hall.getAddress());
|
||||
|
||||
+34
@@ -3,13 +3,16 @@ package com.budwk.app.zhgh.democratic.teachercongress.guildhall.controller;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.activity.basic.service.ActivityBasicScopeService;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHallMeeting;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHallSeat;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHallSeatSelect;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.service.GuildHallService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
@@ -36,6 +39,8 @@ public class GuildHallSelectSeatController {
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private GuildHallService guildHallService;
|
||||
@Inject
|
||||
private ActivityBasicScopeService activityBasicScopeService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("guildHall.selectSeat")
|
||||
@@ -52,6 +57,11 @@ public class GuildHallSelectSeatController {
|
||||
@At
|
||||
@SaCheckPermission("guildHall.selectSeat")
|
||||
public Result loadSeats(@Param("meetingId") String meetingId) {
|
||||
Result permissionResult = checkMeetingPermission(meetingId);
|
||||
if (permissionResult != null) {
|
||||
return permissionResult;
|
||||
}
|
||||
|
||||
// 已选择情况
|
||||
List<GuildHallSeatSelect> selectedSeats = dao.query(GuildHallSeatSelect.class, Cnd.where("meetingId", "=", meetingId));
|
||||
|
||||
@@ -79,7 +89,13 @@ public class GuildHallSelectSeatController {
|
||||
|
||||
@At
|
||||
@SaCheckPermission("guildHall.selectSeat")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result doSelect(@Param("meetingId") String meetingId, Integer rowNumber, Integer colNumber) {
|
||||
Result permissionResult = checkMeetingPermission(meetingId);
|
||||
if (permissionResult != null) {
|
||||
return permissionResult;
|
||||
}
|
||||
|
||||
GuildHallSeatSelect oldSeat = dao.fetch(GuildHallSeatSelect.class, Cnd.where("meetingId", "=", meetingId).and("userId", "=", SecurityUtil.getUserId()));
|
||||
if(oldSeat != null){
|
||||
oldSeat.setUserId(null);
|
||||
@@ -94,4 +110,22 @@ public class GuildHallSelectSeatController {
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验当前用户是否可参与指定会议;未配置参与组别的会议默认允许选座。
|
||||
*
|
||||
* @param meetingId 会议主键,用于查询会议的参与组别配置
|
||||
* @return 校验通过时返回 {@code null};会议不存在或用户不在参与组别时返回错误结果
|
||||
*/
|
||||
private Result checkMeetingPermission(String meetingId) {
|
||||
GuildHallMeeting meeting = dao.fetch(GuildHallMeeting.class, meetingId);
|
||||
if (meeting == null) {
|
||||
return Result.error("会议不存在或已删除");
|
||||
}
|
||||
if (meeting.getGroupId() != null
|
||||
&& !activityBasicScopeService.isUserInGroup(meeting.getGroupId(), SecurityUtil.getUserId())) {
|
||||
return Result.error("您不在本次会议参与组别内");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user