This commit is contained in:
2026-04-03 17:31:51 +08:00
parent e179abf716
commit 590733bc49
3 changed files with 22 additions and 12 deletions
@@ -12,6 +12,7 @@ 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.models.ActivityUserScope;
import com.budwk.app.zhgh.activity.basic.service.ActivityBasicScopeService;
import com.budwk.app.zhgh.activity.culture.models.ActivityTissue;
import com.budwk.app.zhgh.activity.culture.models.ActivityTissuePerson;
import com.budwk.app.zhgh.activity.culture.service.ActivityCultureApplyUserService;
@@ -49,6 +50,8 @@ public class ActivityCultureApplyUserController {
private Dao dao;
@Inject
private ActivityCultureApplyUserService activityCultureApplyUserService;
@Inject
private ActivityBasicScopeService activityBasicScopeService;
@At("/school")
@Ok("beetl:platform/zhgh/activity/culture/school/applyUser/index.html")
@@ -86,11 +89,10 @@ public class ActivityCultureApplyUserController {
@ApiOperation(value = "报名")
public Result signUp(@Valid String activityId, @Param("teamUserIds") String[] teamUserIds, @Param("ext") String formData, boolean isAgain) {
ActivityTissue tissue = dao.fetch(ActivityTissue.class, activityId);
int count = dao.count(ActivityUserScope.class,
Cnd.where(ActivityUserScope::getUserId, "=", SecurityUtil.getUserId())
.and(ActivityUserScope::getGroupId, "=", tissue.getGroupId()));
if (count == 0) {
return Result.error("您没有权限报名!");
if (tissue.getGroupId() != null) {
if (!activityBasicScopeService.isUserInGroup(tissue.getGroupId(), SecurityUtil.getUserId())) {
return Result.error("您没有权限报名!");
}
}
JSONObject dynamicFormParam = null;
if (StrUtil.isNotBlank(formData)) {
@@ -117,7 +117,10 @@ public class ActivitySportsApplyUserServiceImpl extends BaseServiceImpl<Activity
sql.setCondition(cnd);
List<NutMap> list = listMap(sql);
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.BRANCH_UNION_CHAIRMAN.name())) {
list = list.stream().filter(item -> activityBasicScopeService.isUserInGroup(item.getInt("activityGroupId"), SecurityUtil.getUserId())).toList();
list = list.stream().filter(item -> {
Integer groupId = item.getInt("activityGroupId");
return groupId == null || activityBasicScopeService.isUserInGroup(groupId, SecurityUtil.getUserId());
}).toList();
}
int total = list.size();
int start = Math.max((pageParam.getPageNumber() - 1) * pageParam.getPageSize(), 0);
@@ -189,7 +192,10 @@ public class ActivitySportsApplyUserServiceImpl extends BaseServiceImpl<Activity
sql.setCondition(cnd);
List<NutMap> list = listMap(sql);
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.BRANCH_UNION_CHAIRMAN.name())) {
list = list.stream().filter(item -> activityBasicScopeService.isUserInGroup(item.getInt("activityGroupId"), SecurityUtil.getUserId())).toList();
list = list.stream().filter(item -> {
Integer groupId = item.getInt("activityGroupId");
return groupId == null || activityBasicScopeService.isUserInGroup(groupId, SecurityUtil.getUserId());
}).toList();
}
return new Pagination<>(1, 50, list.size(), list.size() > 50 ? list.subList(0, 50) : list);
}
@@ -299,12 +305,14 @@ public class ActivitySportsApplyUserServiceImpl extends BaseServiceImpl<Activity
Cnd cnd = Cnd.NEW();
cnd.and(new Static("u.id not in (SELECT IFNULL(app.userId,'') from activity_school_apply app WHERE app.activityId = '" + applyUserPageParam.getActivityId() + "' AND app.eventId='" + applyUserPageParam.getEventId() + "')"));
cnd.and("u.id", "in", activityBasicScopeService.buildGroupUserIdSubSql(activity.getActivityGroupId()));
if (activity.getActivityGroupId() != null) {
cnd.and("u.id", "in", activityBasicScopeService.buildGroupUserIdSubSql(activity.getActivityGroupId()));
}
cnd.and("un.unionid", "=", StrUtil.isNotBlank(applyUserPageParam.getUnionId()) ? applyUserPageParam.getUnionId() : getUnionId());
if (isMenWomen != null && isMenWomen == 1)
cnd.and("u.sex", "=", "");
cnd.and("u.sex", "=", "");
if (isMenWomen != null && isMenWomen == 2)
cnd.and("u.sex", "=", "");
cnd.and("u.sex", "=", "");
if (Strings.isNotBlank(applyUserPageParam.getStartAgeDate())) {
cnd.and("u.birthday", ">", applyUserPageParam.getStartAgeDate());
cnd.and("u.birthday", "<=", applyUserPageParam.getEndAgeDate());