commit
This commit is contained in:
@@ -4,6 +4,8 @@ import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.vo.LabelValueVO;
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
@@ -12,10 +14,7 @@ import com.budwk.app.flow.engine.event.ProcessEvent;
|
||||
import com.budwk.app.flow.engine.event.ProcessPublisher;
|
||||
import com.budwk.app.flow.engine.model.ProcessModel;
|
||||
import com.budwk.app.flow.engine.model.TaskModel;
|
||||
import com.budwk.app.flow.entity.Candidate;
|
||||
import com.budwk.app.flow.entity.ProcessDefine;
|
||||
import com.budwk.app.flow.entity.ProcessInstance;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.entity.*;
|
||||
import com.budwk.app.flow.enums.ProcessEventTypeEnum;
|
||||
import com.budwk.app.flow.enums.ProcessInstanceStateEnum;
|
||||
import com.budwk.app.flow.enums.ProcessTaskPerformTypeEnum;
|
||||
@@ -147,7 +146,7 @@ public class FlowCommonController {
|
||||
@ApiOperation("获取流程定义的审批记录")
|
||||
public Result approvalRecord(Long instanceId) {
|
||||
List<ProcessTask> processTaskList = dao.query(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", instanceId)
|
||||
.and(ProcessTask::getTaskState, "not in", List.of(ProcessTaskStateEnum.DOING, ProcessTaskStateEnum.WITHDRAW, ProcessTaskStateEnum.ABANDON))
|
||||
.and(ProcessTask::getTaskState, "not in", List.of(ProcessTaskStateEnum.WITHDRAW, ProcessTaskStateEnum.ABANDON))
|
||||
.asc(ProcessTask::getUpdatedAt));
|
||||
List<ProcessTaskVO> res = new ArrayList<>();
|
||||
processTaskList.forEach(processTask -> {
|
||||
@@ -155,6 +154,11 @@ public class FlowCommonController {
|
||||
if (vo.getTaskState().equals(ProcessTaskStateEnum.FINISHED.getCode()) && StrUtil.isNotBlank(vo.getOperator())) {
|
||||
|
||||
}
|
||||
if(vo.getTaskState().equals(ProcessTaskStateEnum.DOING.getCode())) {
|
||||
List<ProcessTaskActor> taskActorList = dao.query(ProcessTaskActor.class, Cnd.where(ProcessTaskActor::getProcessTaskId, "=", processTask.getId()));
|
||||
List<JSONObject> list = JSONUtil.toList(JSONUtil.toJsonStr(taskActorList), JSONObject.class);
|
||||
vo.setTaskActorList(list);
|
||||
}
|
||||
|
||||
res.add(vo);
|
||||
});
|
||||
|
||||
@@ -50,17 +50,7 @@ public class SysV4AppsController {
|
||||
@SaCheckLogin
|
||||
@ApiOperation("获取应用分类")
|
||||
public Result categories(@Param(value = "platform", df = "PC") String platform) {
|
||||
List<Sys_module> list;
|
||||
if (AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
list = dao.query(Sys_module.class, Cnd.where(Sys_module::getPlatform, "=", platform).asc(Sys_module::getSortNum));
|
||||
} else {
|
||||
list = dao.query(
|
||||
Sys_module.class,
|
||||
Cnd.where(Sys_module::getPlatform, "=", platform)
|
||||
.and(Sys_module::getId, "=", "2")
|
||||
.asc(Sys_module::getSortNum)
|
||||
);
|
||||
}
|
||||
List<Sys_module> list = dao.query(Sys_module.class, Cnd.where(Sys_module::getPlatform, "=", platform).asc(Sys_module::getSortNum));
|
||||
List<Map<String, Object>> categories = list.stream().map(module -> {
|
||||
Map<String, Object> category = new HashMap<>();
|
||||
category.put("id", module.getId());
|
||||
|
||||
+37
-6
@@ -2,6 +2,8 @@ package com.budwk.app.zhgh.activity.trainSignUp.controller.manage;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.date.DateField;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
@@ -34,10 +36,7 @@ import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -100,7 +99,7 @@ public class TrainSignUpApplyController {
|
||||
cnd.and("activityMode", "=", 2).and("createdBy", "=", SecurityUtil.getUserId());
|
||||
}
|
||||
|
||||
if("mine".equals(dataType)) {
|
||||
if ("mine".equals(dataType)) {
|
||||
cnd.and(new Static("id in (select activityId from train_sign_up_user where userId = '%s')".formatted(SecurityUtil.getUserId())));
|
||||
}
|
||||
|
||||
@@ -155,7 +154,7 @@ public class TrainSignUpApplyController {
|
||||
cnd.and("tsuc.assort", "in", assortTypes);
|
||||
}
|
||||
|
||||
if("mine".equals(dataType)) {
|
||||
if ("mine".equals(dataType)) {
|
||||
cnd.and(new Static("tsuc.id in (select courseId from train_sign_up_user where userId = '%s')".formatted(SecurityUtil.getUserId())));
|
||||
}
|
||||
|
||||
@@ -423,4 +422,36 @@ public class TrainSignUpApplyController {
|
||||
.and("courseId", "=", courseId).and("userId", "=", userId));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("判断缺席次数")
|
||||
@SaCheckPermission(value = {"trainSignUp.apply", "h5.trainSignUp.apply"}, mode = SaMode.OR)
|
||||
@SLog(tag = "品牌活动-活动报名", msg = "判断缺席次数")
|
||||
public Result validSignCount(@Param("activityId") String activityId) {
|
||||
// 缺席2次,就1年内不能报名
|
||||
// 查询今天,然后往前推1年,这段时间有没有缺席超过2次
|
||||
DateTime today = DateUtil.date();
|
||||
DateTime lastYear = DateUtil.offset(today, DateField.YEAR, -1);
|
||||
|
||||
// 找需要签到的分活动
|
||||
List<TrainSignUpActivity> activityList = dao.query(TrainSignUpActivity.class, Cnd.where("year", "in", Lang.array(DateUtil.thisYear(), DateUtil.thisYear() - 1)));
|
||||
List<String> activityIdList = activityList.stream().map(TrainSignUpActivity::getId).toList();
|
||||
|
||||
List<TrainSignUpCourse> courses = dao.query(TrainSignUpCourse.class, Cnd.where("isMobileSign", "=", true).and("activityId", "in", activityIdList));
|
||||
List<String> courseIdList = courses.stream().map(TrainSignUpCourse::getId).toList();
|
||||
|
||||
int count = dao.count(
|
||||
TrainSignUpUserCourse.class,
|
||||
Cnd.where("userId", "=", SecurityUtil.getUserId())
|
||||
.and("courseStartTime", ">", DateUtil.format(lastYear, "yyyy-MM-dd HH:mm:ss"))
|
||||
.and("courseEndTime", "<", DateUtil.format(today, "yyyy-MM-dd HH:mm:ss"))
|
||||
.and("isAttend", "=", false)
|
||||
.and("courseId", "in", courseIdList)
|
||||
);
|
||||
|
||||
if(count >= 2) {
|
||||
return Result.error(99, "您已连续2次未签到活动,不能报名,请联系校工会");
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user