diff --git a/src/main/java/com/budwk/app/sys/controller/SysUnionGroupController.java b/src/main/java/com/budwk/app/sys/controller/SysUnionGroupController.java index 6f268ef..54700a1 100644 --- a/src/main/java/com/budwk/app/sys/controller/SysUnionGroupController.java +++ b/src/main/java/com/budwk/app/sys/controller/SysUnionGroupController.java @@ -1,15 +1,18 @@ package com.budwk.app.sys.controller; import cn.dev33.satoken.annotation.SaCheckPermission; +import com.budwk.app.base.constant.RoleConstant; 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.sys.models.Sys_union_group; +import com.budwk.app.sys.models.Sys_user_role; import com.budwk.app.sys.services.SysUnionGroupService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; 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; @@ -55,7 +58,7 @@ public class SysUnionGroupController { @ApiOperation("删除工会小组") @Aop(TransAop.READ_COMMITTED) public Result delete(String id) { - sysUnionGroupService.delete(id); + sysUnionGroupService.deleteById(id); return Result.success(); } diff --git a/src/main/java/com/budwk/app/sys/controller/branchUnionUserAuthorization/SysBranchUnionUserAuthorizationApprovalController.java b/src/main/java/com/budwk/app/sys/controller/branchUnionUserAuthorization/SysBranchUnionUserAuthorizationApprovalController.java index 5b46b1c..11eeaf2 100644 --- a/src/main/java/com/budwk/app/sys/controller/branchUnionUserAuthorization/SysBranchUnionUserAuthorizationApprovalController.java +++ b/src/main/java/com/budwk/app/sys/controller/branchUnionUserAuthorization/SysBranchUnionUserAuthorizationApprovalController.java @@ -31,6 +31,7 @@ import org.nutz.dao.util.cri.Static; import org.nutz.ioc.aop.Aop; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.Lang; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; @@ -167,4 +168,24 @@ public class SysBranchUnionUserAuthorizationApprovalController { } + @At + @SaCheckPermission("sys.branch.union.authorization.approval.delete") + @Aop(TransAop.READ_COMMITTED) + @ApiOperation("校工会删除") + public Result deleteDo(@Valid String id, @Valid String processInstanceId) { + Sys_branch_union_user_permission userPermission = dao.fetch(Sys_branch_union_user_permission.class, id); + if (Lang.isEmpty(userPermission)) { + return Result.error("数据错误!"); + } + // 移除角色 + dao.clear(Sys_user_role.class, Cnd.where(Sys_user_role::getUserId, "=", userPermission.getUserId()).and(Sys_user_role::getUnionId, "=", userPermission.getUnionId()) + .and(Sys_user_role::getRoleId, "=", userPermission.getRoleId())); + dao.delete(Sys_branch_union_user_permission.class, id); + bpmService.deleteInstance(processInstanceId); + + sysUserService.clearCache(); + return Result.success(); + } + + } diff --git a/src/main/java/com/budwk/app/web/controllers/open/commons/CommonController.java b/src/main/java/com/budwk/app/web/controllers/open/commons/CommonController.java index f214ef9..a603a62 100644 --- a/src/main/java/com/budwk/app/web/controllers/open/commons/CommonController.java +++ b/src/main/java/com/budwk/app/web/controllers/open/commons/CommonController.java @@ -3,6 +3,8 @@ package com.budwk.app.web.controllers.open.commons; import cn.dev33.satoken.annotation.SaCheckLogin; import com.budwk.app.base.page.Pagination; import com.budwk.app.base.result.Result; +import com.budwk.app.bpm.enums.BpmProcessInstanceStatusEnum; +import com.budwk.app.bpm.models.BpmProcessInstance; import com.budwk.app.sys.models.Sys_config; import com.budwk.app.sys.models.Sys_dict; import com.budwk.app.sys.models.Sys_union; @@ -115,9 +117,21 @@ public class CommonController { @SaCheckLogin @ApiOperation("协会列表") public Result clubOptions(String clubId) { - List sysClubs = sysClubService.dao().query(SysClub.class, - Cnd.NEW().andEX("id", "=", clubId)); - return Result.success(sysClubs); + Sql sql = Sqls.create(""" + SELECT + c.* + FROM + `sys_club` c + LEFT JOIN bpm_process_instance inst ON inst.processInstanceBusinessId = c.id + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.andEX("c.id", "=", clubId); + cnd.andEX("inst.processInstanceStatus", "=", "COMPLETED"); + cnd.andEX("inst.processInstanceNodeCode", "=", 80); + sql.setCondition(cnd); + List list = sysClubService.listVO(sql, SysClub.class); + return Result.success(list); } @At diff --git a/src/main/java/com/budwk/app/zhgh/activity/qsv/h5controller/H5QsvQuizController.java b/src/main/java/com/budwk/app/zhgh/activity/qsv/h5controller/H5QsvQuizController.java index d1020f4..00a0a9e 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/qsv/h5controller/H5QsvQuizController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/qsv/h5controller/H5QsvQuizController.java @@ -7,6 +7,7 @@ import cn.hutool.json.JSONObject; import com.budwk.app.base.exception.BaseException; 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.qsv.dto.QsvCheckAnswerResult; import com.budwk.app.zhgh.activity.qsv.models.QsvActivity; import com.budwk.app.zhgh.activity.qsv.models.QsvOption; @@ -63,6 +64,12 @@ public class H5QsvQuizController { @ApiOperation("题目列表") public Result subjects(@Valid String activityId) { QsvActivity activity = dao.fetch(QsvActivity.class, activityId); + + int count = dao.count(ActivityUserScope.class, Cnd.where("groupId", "=", activity.getGroupId()).and("userId", "=", SecurityUtil.getUserId())); + if (count != 1) { + return Result.error("您无需参加此次答题,感谢您的关注!"); + } + String mode = activity.getMode(); //能否重复答题 Boolean repeatable = activity.getRepeatable(); @@ -72,6 +79,8 @@ public class H5QsvQuizController { Integer maxAttempts = activity.getMaxAttempts(); //题目显示模式 String displayMode = activity.getDisplayMode(); + // 重复答题,显示提示 + Boolean repeatTips = false; //最终返回的题目数据 List resultSubjects = new ArrayList<>(); @@ -81,7 +90,7 @@ public class H5QsvQuizController { List answerRecords = dao.query(QsvUserAnswerRecord.class, Cnd.where(QsvUserAnswerRecord::getActivityId, "=", activityId) .and(QsvUserAnswerRecord::getUserId, "=", SecurityUtil.getUserId())); - if (activity.getEndTime().after(new Date())) { + if (activity.getEndTime().before(new Date())) { //已结束 查询最新一次的答题记录 Optional lastRecordOptional = answerRecords.stream().max(Comparator.comparing(QsvUserAnswerRecord::getAnswerTime)); if (lastRecordOptional.isPresent()) { @@ -91,7 +100,7 @@ public class H5QsvQuizController { cnd.and(new Static("1=1 ORDER BY FIELD (id," + dynamic + ")")); resultSubjects = dao.query(QsvSubject.class, cnd); answerRecordId = lastRecordOptional.get().getId(); - }else{ + } else { //没生成过 那就看全部的题目 List subjects = dao.query(QsvSubject.class, Cnd.where(QsvSubject::getActivityId, "=", activityId)); QsvUserAnswerRecord answerRecord = qsvUserAnswerRecordService.insertRecord(activityId, subjects.stream().map(QsvSubject::getId).collect(Collectors.toList())); @@ -148,6 +157,7 @@ public class H5QsvQuizController { String dynamic = subjectIds.stream().map(id -> "'" + id + "'").collect(Collectors.joining(",")); cnd.and(new Static("1=1 ORDER BY FIELD (id," + dynamic + ")")); resultSubjects = dao.query(QsvSubject.class, cnd); + repeatTips = true; } else { //已达到最大次数 返回最新一次记录 Optional maxAnswerRecordOptional = answerRecords.stream().max(Comparator.comparingLong(QsvUserAnswerRecord::getRandomNumber)); @@ -293,7 +303,10 @@ public class H5QsvQuizController { resultSubjects.forEach(v -> v.setUserSelectOptionIds(new ArrayList<>())); - NutMap result = NutMap.NEW().addv("subjects", resultSubjects).addv("answerRecordId", answerRecordId).addv("activity", activity); + NutMap result = NutMap.NEW().addv("subjects", resultSubjects) + .addv("answerRecordId", answerRecordId) + .addv("activity", activity) + .addv("repeatTips", repeatTips); return Result.success(result); } diff --git a/src/main/java/com/budwk/app/zhgh/activity/sports/service/impl/ActivitySportsApplyUserServiceImpl.java b/src/main/java/com/budwk/app/zhgh/activity/sports/service/impl/ActivitySportsApplyUserServiceImpl.java index 103697a..e62b4ce 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/sports/service/impl/ActivitySportsApplyUserServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/activity/sports/service/impl/ActivitySportsApplyUserServiceImpl.java @@ -89,7 +89,7 @@ public class ActivitySportsApplyUserServiceImpl extends BaseServiceImpl - +