commit
This commit is contained in:
+43
-3
@@ -110,12 +110,17 @@ public class ActivityCultureApplyActivityController {
|
||||
tissue.setUserId(SecurityUtil.getUserId());
|
||||
tissue.setApplyTime(DateUtil.now());
|
||||
if (StrUtil.isBlank(tissue.getId())){
|
||||
cleanNewActivityData(tissue);
|
||||
activityCultureService.insertWith(tissue, "tissuePersonList");
|
||||
}else{
|
||||
tissue.getTissuePersonList().forEach(tissuePerson -> tissuePerson.setTissueId(tissue.getId()));
|
||||
if (tissue.getTissuePersonList() != null) {
|
||||
tissue.getTissuePersonList().forEach(tissuePerson -> tissuePerson.setTissueId(tissue.getId()));
|
||||
}
|
||||
activityCultureService.insertOrUpdate(tissue);
|
||||
activityCultureService.dao().clear(ActivityTissuePerson.class, Cnd.where(ActivityTissuePerson::getTissueId, "=", tissue.getId()));
|
||||
activityCultureService.insert(tissue.getTissuePersonList());
|
||||
if (tissue.getTissuePersonList() != null) {
|
||||
activityCultureService.insert(tissue.getTissuePersonList());
|
||||
}
|
||||
}
|
||||
|
||||
return Result.success();
|
||||
@@ -132,7 +137,12 @@ public class ActivityCultureApplyActivityController {
|
||||
}
|
||||
tissue.setUserId(SecurityUtil.getUserId());
|
||||
tissue.setApplyTime(DateUtil.now());
|
||||
activityCultureService.insertOrUpdate(tissue);
|
||||
if (StrUtil.isBlank(tissue.getId())) {
|
||||
cleanNewActivityData(tissue);
|
||||
activityCultureService.insertWith(tissue, "tissuePersonList");
|
||||
} else {
|
||||
activityCultureService.insertOrUpdate(tissue);
|
||||
}
|
||||
|
||||
if (List.of(40002, 40003).contains(tissue.getActivity_type()) && tissue.getIsEnrollSystem()) {
|
||||
// 开启流程实例
|
||||
@@ -185,6 +195,36 @@ public class ActivityCultureApplyActivityController {
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
private void cleanNewActivityData(ActivityTissue tissue) {
|
||||
tissue.setId(null);
|
||||
tissue.setAuditId(null);
|
||||
tissue.setState(null);
|
||||
tissue.setCreatedBy(null);
|
||||
tissue.setCreatedAt(null);
|
||||
tissue.setUpdatedBy(null);
|
||||
tissue.setUpdatedAt(null);
|
||||
tissue.setDelFlag(null);
|
||||
if (tissue.getTissuePersonList() == null) {
|
||||
return;
|
||||
}
|
||||
tissue.getTissuePersonList().forEach(this::cleanNewActivityPersonData);
|
||||
}
|
||||
|
||||
private void cleanNewActivityPersonData(ActivityTissuePerson tissuePerson) {
|
||||
tissuePerson.setId(null);
|
||||
tissuePerson.setTissueId(null);
|
||||
tissuePerson.setSignId(null);
|
||||
tissuePerson.setSign(false);
|
||||
tissuePerson.setSignTime(null);
|
||||
tissuePerson.setApplyDateTime(null);
|
||||
tissuePerson.setDynamicFormData(null);
|
||||
tissuePerson.setCreatedBy(null);
|
||||
tissuePerson.setCreatedAt(null);
|
||||
tissuePerson.setUpdatedBy(null);
|
||||
tissuePerson.setUpdatedAt(null);
|
||||
tissuePerson.setDelFlag(null);
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission(value = {"activity.culture.applyActivity.school", "activity.culture.applyActivity.union", "activity.culture.applyActivity.club"}, mode = SaMode.OR)
|
||||
public Result findUser(String serachWord,
|
||||
|
||||
+3
@@ -115,6 +115,9 @@ public class ActivityCultureInfoManageController {
|
||||
if (oldHomeTemplate.getTemplateIcon() != null) {
|
||||
sysHomeTemplate.setTemplateIcon(oldHomeTemplate.getTemplateIcon());
|
||||
}
|
||||
if (oldHomeTemplate.getTemplateFile() != null) {
|
||||
sysHomeTemplate.setTemplateFile(oldHomeTemplate.getTemplateFile());
|
||||
}
|
||||
}
|
||||
activityCultureService.dao().insertOrUpdate(sysHomeTemplate);
|
||||
return Result.success();
|
||||
|
||||
+122
-6
@@ -1,12 +1,17 @@
|
||||
package com.budwk.app.zhgh.activity.family.controller.manage;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
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_home_activity;
|
||||
import com.budwk.app.sys.models.Sys_home_template;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.zhgh.activity.basic.service.ActivityBasicScopeService;
|
||||
import com.budwk.app.zhgh.activity.family.models.*;
|
||||
import com.budwk.app.zhgh.activity.family.service.FamilyActivityService;
|
||||
@@ -68,7 +73,57 @@ public class FamilyActivityController {
|
||||
cnd.andEX("year", "=", year);
|
||||
cnd.and(Cnd.likeEX("activityName", activityName));
|
||||
cnd.orderBy("createdAt", "desc");
|
||||
return Result.success().addData(familyActivityManageService.pageData(pageForm, cnd));
|
||||
Pagination<FamilyActivity> pagination = familyActivityManageService.pageData(pageForm, cnd);
|
||||
List<FamilyActivity> list = pagination.getList(FamilyActivity.class);
|
||||
if (list != null && !list.isEmpty()) {
|
||||
List<String> ids = list.stream().map(FamilyActivity::getId).toList();
|
||||
List<Sys_home_template> templateList = dao.query(Sys_home_template.class, Cnd.where("id", "in", ids));
|
||||
List<String> templateIds = templateList.stream().map(Sys_home_template::getId).toList();
|
||||
list.forEach(activity -> activity.setIsTemplate(templateIds.contains(activity.getId())));
|
||||
}
|
||||
return Result.success().addData(pagination);
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("设为模板")
|
||||
@SaCheckPermission("family.manage")
|
||||
public Result setTemplate(String id) {
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
return Result.error("无权操作");
|
||||
}
|
||||
FamilyActivity activity = familyActivityManageService.fetch(id);
|
||||
if (activity == null) {
|
||||
return Result.error("活动不存在");
|
||||
}
|
||||
Sys_home_template oldHomeTemplate = dao.fetch(Sys_home_template.class, id);
|
||||
Sys_home_template sysHomeTemplate = activity.covertToSysHomeTemplate();
|
||||
if (oldHomeTemplate != null) {
|
||||
sysHomeTemplate.setTop(oldHomeTemplate.getTop());
|
||||
sysHomeTemplate.setPush(oldHomeTemplate.getPush());
|
||||
sysHomeTemplate.setSortNo(oldHomeTemplate.getSortNo());
|
||||
if (oldHomeTemplate.getTemplateName() != null) {
|
||||
sysHomeTemplate.setTemplateName(oldHomeTemplate.getTemplateName());
|
||||
}
|
||||
if (oldHomeTemplate.getTemplateIcon() != null) {
|
||||
sysHomeTemplate.setTemplateIcon(oldHomeTemplate.getTemplateIcon());
|
||||
}
|
||||
if (oldHomeTemplate.getTemplateFile() != null) {
|
||||
sysHomeTemplate.setTemplateFile(oldHomeTemplate.getTemplateFile());
|
||||
}
|
||||
}
|
||||
dao.insertOrUpdate(sysHomeTemplate);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("取消模板")
|
||||
@SaCheckPermission("family.manage")
|
||||
public Result cancelTemplate(String id) {
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
return Result.error("无权操作");
|
||||
}
|
||||
dao.delete(Sys_home_template.class, id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@@ -76,6 +131,9 @@ public class FamilyActivityController {
|
||||
@SaCheckPermission("family.manage")
|
||||
@SLog(tag = "亲子活动-活动管理", msg = "删除活动")
|
||||
public Result onDelete(String id) {
|
||||
if (dao.fetch(Sys_home_template.class, id) != null) {
|
||||
return Result.error("该活动已设为模板,请先取消模板后再删除");
|
||||
}
|
||||
Trans.exec(() -> {
|
||||
familyActivityManageService.delete(id);
|
||||
dao.clear(FamilyCourse.class, Cnd.where("activityId", "=", id));
|
||||
@@ -102,7 +160,7 @@ public class FamilyActivityController {
|
||||
|
||||
@At
|
||||
@ApiOperation("查询单个活动")
|
||||
@SaCheckPermission("family")
|
||||
@SaCheckPermission(value = {"family", "family.manage", "family.newcativity"}, mode = SaMode.OR)
|
||||
public Result findOne(@Param("id") @NotNull String id) {
|
||||
NutMap dataMap = familyActivityManageService.findOne(id, null, "");
|
||||
String activityStartTime = dataMap.getString("activityStartTime");
|
||||
@@ -150,10 +208,11 @@ public class FamilyActivityController {
|
||||
@At
|
||||
@Ok("json:full")
|
||||
@ApiOperation("亲子活动新增/修改")
|
||||
@SaCheckPermission("family.manage")
|
||||
@SaCheckPermission(value = {"family.manage", "family.newcativity"}, mode = SaMode.OR)
|
||||
@SLog(tag = "亲子活动-活动管理", msg = "新增/修改活动")
|
||||
public Result doHandle(FamilyActivity activity) {
|
||||
if (StrUtil.isBlank(activity.getId())) {
|
||||
cleanNewActivityData(activity);
|
||||
familyActivityManageService.add(activity, null);
|
||||
} else {
|
||||
familyActivityManageService.edit(activity);
|
||||
@@ -161,10 +220,67 @@ public class FamilyActivityController {
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
private void cleanNewActivityData(FamilyActivity activity) {
|
||||
if (activity == null) {
|
||||
return;
|
||||
}
|
||||
activity.setId(null);
|
||||
activity.setIsTemplate(false);
|
||||
activity.setCreatedBy(null);
|
||||
activity.setCreatedAt(null);
|
||||
activity.setUpdatedBy(null);
|
||||
activity.setUpdatedAt(null);
|
||||
activity.setDelFlag(null);
|
||||
if (activity.getTypeLimits() != null) {
|
||||
activity.getTypeLimits().forEach(this::cleanNewTypeLimitData);
|
||||
}
|
||||
if (activity.getCourseList() != null) {
|
||||
activity.getCourseList().forEach(this::cleanNewCourseData);
|
||||
}
|
||||
}
|
||||
|
||||
private void cleanNewTypeLimitData(FamilyTypeLimit typeLimit) {
|
||||
if (typeLimit == null) {
|
||||
return;
|
||||
}
|
||||
typeLimit.setId(null);
|
||||
typeLimit.setActivityId(null);
|
||||
}
|
||||
|
||||
private void cleanNewCourseData(FamilyCourse course) {
|
||||
if (course == null) {
|
||||
return;
|
||||
}
|
||||
course.setId(null);
|
||||
course.setActivityId(null);
|
||||
course.setCreatedBy(null);
|
||||
course.setCreatedAt(null);
|
||||
course.setUpdatedBy(null);
|
||||
course.setUpdatedAt(null);
|
||||
course.setDelFlag(null);
|
||||
course.setHasRegisterNum(null);
|
||||
course.setHasWaitingNum(null);
|
||||
course.setIsSign(false);
|
||||
course.setCanSignThisCourseType(null);
|
||||
if (course.getCourseTimeList() != null) {
|
||||
course.getCourseTimeList().forEach(this::cleanNewCourseTimeData);
|
||||
}
|
||||
}
|
||||
|
||||
private void cleanNewCourseTimeData(FamilyActivityCourse courseTime) {
|
||||
if (courseTime == null) {
|
||||
return;
|
||||
}
|
||||
courseTime.setId(null);
|
||||
courseTime.setActivityId(null);
|
||||
courseTime.setCourseId(null);
|
||||
courseTime.setHasRegisterNum(null);
|
||||
}
|
||||
|
||||
@At
|
||||
@Ok("json:full")
|
||||
@ApiOperation("获取分工会人数限制")
|
||||
@SaCheckPermission("family.manage")
|
||||
@SaCheckPermission(value = {"family.manage", "family.newcativity"}, mode = SaMode.OR)
|
||||
public Result getUnionLimit(@Param(value = "activityScopeId") String activityScopeId) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
@@ -188,7 +304,7 @@ public class FamilyActivityController {
|
||||
@At
|
||||
@Ok("json:full")
|
||||
@ApiOperation("获取报名人员数量")
|
||||
@SaCheckPermission("family.manage")
|
||||
@SaCheckPermission(value = {"family.manage", "family.newcativity"}, mode = SaMode.OR)
|
||||
public Result getRegisterUserCount(@Param(value = "courseId") String courseId) {
|
||||
return Result.success().addData(dao.count(FamilyUser.class, Cnd.where("courseId", "=", courseId)));
|
||||
}
|
||||
@@ -196,7 +312,7 @@ public class FamilyActivityController {
|
||||
@At
|
||||
@Ok("json:full")
|
||||
@ApiOperation("获取历史活动列表")
|
||||
@SaCheckPermission("family.manage")
|
||||
@SaCheckPermission(value = {"family.manage", "family.newcativity"}, mode = SaMode.OR)
|
||||
public Result getHistoricalActList() {
|
||||
List<FamilyActivity> query = dao.query(FamilyActivity.class, Cnd.NEW().desc("activityStartTime"));
|
||||
return Result.success().addData(query);
|
||||
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.budwk.app.zhgh.activity.family.controller.manage;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
@IocBean
|
||||
@At("/platform/family/newcativity")
|
||||
public class FamilyNewActivityController {
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission(value = {"family.manage", "family.newcativity"}, mode = SaMode.OR)
|
||||
@Ok("beetl:/platform/zhgh/activity/family/newcativity/index.html")
|
||||
public void index() {
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.budwk.app.zhgh.activity.family.models;
|
||||
|
||||
import com.budwk.app.base.model.BaseModel;
|
||||
import com.budwk.app.sys.models.Sys_home_activity;
|
||||
import com.budwk.app.sys.models.Sys_home_template;
|
||||
import com.budwk.app.sys.services.SysHomeConvert;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@@ -111,6 +112,8 @@ public class FamilyActivity extends BaseModel implements Serializable, SysHomeCo
|
||||
@Many(field = "activityId")
|
||||
private List<FamilyTypeLimit> typeLimits;
|
||||
|
||||
private Boolean isTemplate;
|
||||
|
||||
@Column
|
||||
@Comment("活动类型")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
@@ -159,4 +162,23 @@ public class FamilyActivity extends BaseModel implements Serializable, SysHomeCo
|
||||
sysHomeActivity.setClassPath(this.getClass().getPackageName() + this.getClass().getName());
|
||||
return sysHomeActivity;
|
||||
}
|
||||
|
||||
public Sys_home_template covertToSysHomeTemplate() {
|
||||
Sys_home_template sysHomeTemplate = new Sys_home_template();
|
||||
sysHomeTemplate.setId(this.getId());
|
||||
sysHomeTemplate.setName(this.getActivityName());
|
||||
sysHomeTemplate.setTemplateName(this.getActivityName());
|
||||
sysHomeTemplate.setCover(this.getCover());
|
||||
sysHomeTemplate.setContent(this.getIntroduce());
|
||||
sysHomeTemplate.setUrl("/platform/family/newcativity?mode=edit&id=" + this.getId());
|
||||
sysHomeTemplate.setH5Url("");
|
||||
if (Lang.isNotEmpty(this.getActivitySignUpStartTime())) {
|
||||
sysHomeTemplate.setStartDate(this.getActivitySignUpStartTime());
|
||||
sysHomeTemplate.setEndDate(this.getActivitySignUpEndTime());
|
||||
}
|
||||
sysHomeTemplate.setAllowUserGroupId(this.getActivityGroupId());
|
||||
sysHomeTemplate.setEnable(!this.isDisabled());
|
||||
sysHomeTemplate.setClassPath(this.getClass().getPackageName() + this.getClass().getName());
|
||||
return sysHomeTemplate;
|
||||
}
|
||||
}
|
||||
|
||||
+77
@@ -8,6 +8,7 @@ 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_home_template;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.activity.basic.service.ActivityBasicScopeService;
|
||||
@@ -90,11 +91,13 @@ public class ActivitySportsInfoManageController {
|
||||
school.activityCode,
|
||||
school.foundDate,
|
||||
school.applyType,
|
||||
IF(sht.id IS NULL, 0, 1) isTemplate,
|
||||
(SELECT COUNT(1) FROM activity_school_apply asa WHERE asa.activityId = school.id and status=2) applyNum
|
||||
FROM
|
||||
activity_school school
|
||||
LEFT JOIN activity_basic_settings ba ON ba.`code` = school.activityLevel
|
||||
LEFT JOIN sys_union un ON un.id = school.belongUnionId
|
||||
LEFT JOIN sys_home_template sht ON sht.id = school.id
|
||||
$condition
|
||||
""");
|
||||
|
||||
@@ -131,6 +134,48 @@ public class ActivitySportsInfoManageController {
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("设置为模板")
|
||||
@SaCheckPermission("activity.sports.info")
|
||||
public Result setTemplate(String id) {
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
return Result.error("无权操作");
|
||||
}
|
||||
ActivitySchool activitySchool = activitySportsService.fetch(id);
|
||||
if (activitySchool == null) {
|
||||
return Result.error("活动不存在");
|
||||
}
|
||||
Sys_home_template oldHomeTemplate = dao.fetch(Sys_home_template.class, id);
|
||||
Sys_home_template sysHomeTemplate = activitySchool.covertToSysHomeTemplate();
|
||||
if (oldHomeTemplate != null) {
|
||||
sysHomeTemplate.setTop(oldHomeTemplate.getTop());
|
||||
sysHomeTemplate.setPush(oldHomeTemplate.getPush());
|
||||
sysHomeTemplate.setSortNo(oldHomeTemplate.getSortNo());
|
||||
if (oldHomeTemplate.getTemplateName() != null) {
|
||||
sysHomeTemplate.setTemplateName(oldHomeTemplate.getTemplateName());
|
||||
}
|
||||
if (oldHomeTemplate.getTemplateIcon() != null) {
|
||||
sysHomeTemplate.setTemplateIcon(oldHomeTemplate.getTemplateIcon());
|
||||
}
|
||||
if (oldHomeTemplate.getTemplateFile() != null) {
|
||||
sysHomeTemplate.setTemplateFile(oldHomeTemplate.getTemplateFile());
|
||||
}
|
||||
}
|
||||
dao.insertOrUpdate(sysHomeTemplate);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("取消模板")
|
||||
@SaCheckPermission("activity.sports.info")
|
||||
public Result cancelTemplate(String id) {
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
return Result.error("无权操作");
|
||||
}
|
||||
dao.delete(Sys_home_template.class, id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@SaCheckPermission(value = {"activity.sports.info", "activity.sports.new"}, mode = SaMode.OR)
|
||||
@@ -168,12 +213,41 @@ public class ActivitySportsInfoManageController {
|
||||
@SaCheckPermission(value = {"activity.sports.info", "activity.sports.new"}, mode = SaMode.OR)
|
||||
public Result doAdd(@Param(value = "data") ActivitySchool activitySchool,
|
||||
@Param(value = "events") ActivitySchoolEvent[] events) {
|
||||
cleanNewActivityData(activitySchool, events);
|
||||
String id = activitySportsService.doAdd(activitySchool, events);
|
||||
return Result.success().addData(id);
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void cleanNewActivityData(ActivitySchool activitySchool, ActivitySchoolEvent[] events) {
|
||||
if (activitySchool != null) {
|
||||
activitySchool.setId(null);
|
||||
activitySchool.setFoundDate(null);
|
||||
activitySchool.setCreatedBy(null);
|
||||
activitySchool.setCreatedAt(null);
|
||||
activitySchool.setUpdatedBy(null);
|
||||
activitySchool.setUpdatedAt(null);
|
||||
activitySchool.setDelFlag(null);
|
||||
}
|
||||
if (events != null) {
|
||||
for (ActivitySchoolEvent event : events) {
|
||||
if (event == null) {
|
||||
continue;
|
||||
}
|
||||
if (!"allItems".equals(event.getId())) {
|
||||
event.setId(null);
|
||||
}
|
||||
event.setActivityId(null);
|
||||
event.setCreatedBy(null);
|
||||
event.setCreatedAt(null);
|
||||
event.setUpdatedBy(null);
|
||||
event.setUpdatedAt(null);
|
||||
event.setDelFlag(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission(value = {"activity.sports.info", "activity.sports.new"}, mode = SaMode.OR)
|
||||
public Result findOne(String id) {
|
||||
@@ -198,6 +272,9 @@ public class ActivitySportsInfoManageController {
|
||||
@SLog(tag = "体育活动", msg = "删除活动")
|
||||
@SaCheckPermission("activity.sports.info")
|
||||
public Result doDelete(String id) {
|
||||
if (dao.fetch(Sys_home_template.class, id) != null) {
|
||||
return Result.error("该活动已设为模板,请先取消模板后再删除");
|
||||
}
|
||||
activitySportsService.doDelete(id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@@ -3,10 +3,12 @@ package com.budwk.app.zhgh.activity.sports.models;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.budwk.app.base.model.BaseModel;
|
||||
import com.budwk.app.sys.models.Sys_home_activity;
|
||||
import com.budwk.app.sys.models.Sys_home_template;
|
||||
import com.budwk.app.sys.services.SysHomeConvert;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.lang.Lang;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
@@ -213,4 +215,23 @@ public class ActivitySchool extends BaseModel implements Serializable , SysHomeC
|
||||
sysHomeActivity.setClassPath(this.getClass().getPackageName() + this.getClass().getName());
|
||||
return sysHomeActivity;
|
||||
}
|
||||
|
||||
public Sys_home_template covertToSysHomeTemplate() {
|
||||
Sys_home_template sysHomeTemplate = new Sys_home_template();
|
||||
sysHomeTemplate.setId(this.getId());
|
||||
sysHomeTemplate.setName(this.getName());
|
||||
sysHomeTemplate.setTemplateName(this.getName());
|
||||
sysHomeTemplate.setCover(this.getImage());
|
||||
sysHomeTemplate.setContent(Lang.isNotEmpty(this.getEventNotification()) ? this.getEventNotification() : this.getPrecautions());
|
||||
sysHomeTemplate.setUrl("/platform/activity/sports/new?mode=edit&id=" + this.getId() + (this.getApplyType() == null ? "" : "&applyType=" + this.getApplyType()));
|
||||
sysHomeTemplate.setH5Url("");
|
||||
if (Lang.isNotEmpty(this.getApplyStartTime())) {
|
||||
sysHomeTemplate.setStartDate(DateUtil.parseDate(this.getApplyStartTime()));
|
||||
sysHomeTemplate.setEndDate(DateUtil.parseDate(this.getApplyEndTime()));
|
||||
}
|
||||
sysHomeTemplate.setAllowUserGroupId(this.getActivityGroupId());
|
||||
sysHomeTemplate.setEnable(!Boolean.TRUE.equals(this.getClose()));
|
||||
sysHomeTemplate.setClassPath(this.getClass().getPackageName() + this.getClass().getName());
|
||||
return sysHomeTemplate;
|
||||
}
|
||||
}
|
||||
|
||||
+80
-11
@@ -111,6 +111,9 @@ public class TrainSignUpManageController {
|
||||
if (oldHomeTemplate.getTemplateIcon() != null) {
|
||||
sysHomeTemplate.setTemplateIcon(oldHomeTemplate.getTemplateIcon());
|
||||
}
|
||||
if (oldHomeTemplate.getTemplateFile() != null) {
|
||||
sysHomeTemplate.setTemplateFile(oldHomeTemplate.getTemplateFile());
|
||||
}
|
||||
}
|
||||
dao.insertOrUpdate(sysHomeTemplate);
|
||||
return Result.success();
|
||||
@@ -213,6 +216,7 @@ public class TrainSignUpManageController {
|
||||
@SLog(tag = "品牌活动-活动管理", msg = "新增/修改活动")
|
||||
public Result doHandle(TrainSignUpActivity activity) {
|
||||
if (StrUtil.isBlank(activity.getId())) {
|
||||
cleanNewActivityData(activity);
|
||||
trainSignUpActivityManageService.add(activity, null);
|
||||
} else {
|
||||
trainSignUpActivityManageService.edit(activity);
|
||||
@@ -220,6 +224,63 @@ public class TrainSignUpManageController {
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
private void cleanNewActivityData(TrainSignUpActivity activity) {
|
||||
if (activity == null) {
|
||||
return;
|
||||
}
|
||||
activity.setId(null);
|
||||
activity.setIsTemplate(false);
|
||||
activity.setCreatedBy(null);
|
||||
activity.setCreatedAt(null);
|
||||
activity.setUpdatedBy(null);
|
||||
activity.setUpdatedAt(null);
|
||||
activity.setDelFlag(null);
|
||||
if (activity.getTypeLimits() != null) {
|
||||
activity.getTypeLimits().forEach(this::cleanNewTypeLimitData);
|
||||
}
|
||||
if (activity.getCourseList() != null) {
|
||||
activity.getCourseList().forEach(this::cleanNewCourseData);
|
||||
}
|
||||
}
|
||||
|
||||
private void cleanNewTypeLimitData(TrainSignUpTypeLimit typeLimit) {
|
||||
if (typeLimit == null) {
|
||||
return;
|
||||
}
|
||||
typeLimit.setId(null);
|
||||
typeLimit.setActivityId(null);
|
||||
}
|
||||
|
||||
private void cleanNewCourseData(TrainSignUpCourse course) {
|
||||
if (course == null) {
|
||||
return;
|
||||
}
|
||||
course.setId(null);
|
||||
course.setActivityId(null);
|
||||
course.setCreatedBy(null);
|
||||
course.setCreatedAt(null);
|
||||
course.setUpdatedBy(null);
|
||||
course.setUpdatedAt(null);
|
||||
course.setDelFlag(null);
|
||||
course.setHasRegisterNum(null);
|
||||
course.setHasWaitingNum(null);
|
||||
course.setIsSign(false);
|
||||
course.setCanSignThisCourseType(null);
|
||||
if (course.getCourseTimeList() != null) {
|
||||
course.getCourseTimeList().forEach(this::cleanNewCourseTimeData);
|
||||
}
|
||||
}
|
||||
|
||||
private void cleanNewCourseTimeData(TrainSignUpActivityCourse courseTime) {
|
||||
if (courseTime == null) {
|
||||
return;
|
||||
}
|
||||
courseTime.setId(null);
|
||||
courseTime.setActivityId(null);
|
||||
courseTime.setCourseId(null);
|
||||
courseTime.setHasRegisterNum(null);
|
||||
}
|
||||
|
||||
@At
|
||||
@Ok("json:full")
|
||||
@ApiOperation("获取分工会人数限制")
|
||||
@@ -267,13 +328,10 @@ public class TrainSignUpManageController {
|
||||
@SaCheckPermission(value = {"trainSignUp.manage", "trainSignUp.applyActivity"}, mode = SaMode.OR)
|
||||
public Result selectUnitAndClub() {
|
||||
List<NutMap> result = new ArrayList<>();
|
||||
List<Sys_unit> unitList = dao.query(Sys_unit.class, Cnd.NEW().asc(Sys_unit::getUnitcode));
|
||||
java.util.Set<String> optionKeys = new java.util.HashSet<>();
|
||||
List<Sys_unit> unitList = dao.query(Sys_unit.class, Cnd.where(Sys_unit::getUnitLevel, "=", 2).asc(Sys_unit::getUnitcode));
|
||||
for (Sys_unit unit : unitList) {
|
||||
NutMap map = new NutMap();
|
||||
map.put("id", unit.getId());
|
||||
map.put("name", unit.getName());
|
||||
map.put("type", "unit");
|
||||
result.add(map);
|
||||
addSelectOption(result, optionKeys, unit.getId(), unit.getName(), "unit");
|
||||
}
|
||||
List<SysClub> clubList = dao.query(SysClub.class, Cnd.NEW().asc(SysClub::getClubCode));
|
||||
|
||||
@@ -286,12 +344,23 @@ public class TrainSignUpManageController {
|
||||
List<SysClub> passClubList = clubList.stream().filter(o -> passList.contains(o.getId())).toList();
|
||||
|
||||
for (SysClub sysClub : passClubList) {
|
||||
NutMap map = new NutMap();
|
||||
map.put("id", sysClub.getId());
|
||||
map.put("name", sysClub.getClubName());
|
||||
map.put("type", "club");
|
||||
result.add(map);
|
||||
addSelectOption(result, optionKeys, sysClub.getId(), sysClub.getClubName(), "club");
|
||||
}
|
||||
return Result.success(result);
|
||||
}
|
||||
|
||||
private void addSelectOption(List<NutMap> result, java.util.Set<String> optionKeys, String id, String name, String type) {
|
||||
if (StrUtil.isBlank(id) || StrUtil.isBlank(name)) {
|
||||
return;
|
||||
}
|
||||
String key = type + ":" + name;
|
||||
if (!optionKeys.add(key)) {
|
||||
return;
|
||||
}
|
||||
NutMap map = new NutMap();
|
||||
map.put("id", id);
|
||||
map.put("name", name);
|
||||
map.put("type", type);
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
|
||||
+100
-4
@@ -1,17 +1,21 @@
|
||||
package com.budwk.app.zhgh.activity.workscollection.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HtmlUtil;
|
||||
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.base.service.BaseService;
|
||||
import com.budwk.app.sys.models.Sys_home_activity;
|
||||
import com.budwk.app.sys.models.Sys_home_template;
|
||||
import com.budwk.app.sys.models.Sys_user;
|
||||
import com.budwk.app.sys.services.SysMsgService;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.activity.basic.service.ActivityBasicScopeService;
|
||||
import com.budwk.app.zhgh.activity.workscollection.models.Activity_works_collection;
|
||||
@@ -63,11 +67,18 @@ public class ActivityWorksCollectionManageController {
|
||||
public Result pageData(@Valid PageForm pageForm, Long year) {
|
||||
Sql sql = Sqls.create("""
|
||||
select
|
||||
wc.*,
|
||||
wc.id,
|
||||
wc.name,
|
||||
wc.createdAt,
|
||||
wc.startDateTime,
|
||||
wc.endDateTime,
|
||||
wc.enable,
|
||||
IF(sht.id IS NULL, 0, 1) isTemplate,
|
||||
u.username as userName
|
||||
from
|
||||
activity_works_collection wc
|
||||
LEFT JOIN vw_user u on u.id = wc.createdBy
|
||||
LEFT JOIN sys_home_template sht ON sht.id = wc.id
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
@@ -82,8 +93,49 @@ public class ActivityWorksCollectionManageController {
|
||||
|
||||
@At
|
||||
@SaCheckPermission("activity.workscollection.manage")
|
||||
public Result setTemplate(String id) {
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
return Result.error("无权操作");
|
||||
}
|
||||
Activity_works_collection worksCollection = dao.fetch(Activity_works_collection.class, id);
|
||||
if (worksCollection == null) {
|
||||
return Result.error("活动不存在");
|
||||
}
|
||||
Sys_home_template oldHomeTemplate = dao.fetch(Sys_home_template.class, id);
|
||||
Sys_home_template sysHomeTemplate = worksCollection.covertToSysHomeTemplate();
|
||||
if (oldHomeTemplate != null) {
|
||||
sysHomeTemplate.setTop(oldHomeTemplate.getTop());
|
||||
sysHomeTemplate.setPush(oldHomeTemplate.getPush());
|
||||
sysHomeTemplate.setSortNo(oldHomeTemplate.getSortNo());
|
||||
if (oldHomeTemplate.getTemplateName() != null) {
|
||||
sysHomeTemplate.setTemplateName(oldHomeTemplate.getTemplateName());
|
||||
}
|
||||
if (oldHomeTemplate.getTemplateIcon() != null) {
|
||||
sysHomeTemplate.setTemplateIcon(oldHomeTemplate.getTemplateIcon());
|
||||
}
|
||||
if (oldHomeTemplate.getTemplateFile() != null) {
|
||||
sysHomeTemplate.setTemplateFile(oldHomeTemplate.getTemplateFile());
|
||||
}
|
||||
}
|
||||
dao.insertOrUpdate(sysHomeTemplate);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("activity.workscollection.manage")
|
||||
public Result cancelTemplate(String id) {
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
return Result.error("无权操作");
|
||||
}
|
||||
dao.delete(Sys_home_template.class, id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission(value = {"activity.workscollection.manage", "activity.workscollection.new"}, mode = SaMode.OR)
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result insert(@Param("data") @Valid Activity_works_collection worksCollection) {
|
||||
cleanNewActivityData(worksCollection);
|
||||
worksCollection.setIsSubmit(true);
|
||||
dao.insertWith(worksCollection, "subjectTypes");
|
||||
worksCollection.getSubjectTypes().forEach(item -> {
|
||||
@@ -94,9 +146,10 @@ public class ActivityWorksCollectionManageController {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("activity.workscollection.manage")
|
||||
@SaCheckPermission(value = {"activity.workscollection.manage", "activity.workscollection.new"}, mode = SaMode.OR)
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result save(@Param("data") @Valid Activity_works_collection worksCollection) {
|
||||
cleanNewActivityData(worksCollection);
|
||||
worksCollection.setIsSubmit(false);
|
||||
dao.insertWith(worksCollection, "subjectTypes");
|
||||
worksCollection.getSubjectTypes().forEach(item -> {
|
||||
@@ -105,8 +158,48 @@ public class ActivityWorksCollectionManageController {
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
private void cleanNewActivityData(Activity_works_collection worksCollection) {
|
||||
if (worksCollection == null) {
|
||||
return;
|
||||
}
|
||||
worksCollection.setId(null);
|
||||
worksCollection.setCreatedBy(null);
|
||||
worksCollection.setCreatedAt(null);
|
||||
worksCollection.setUpdatedBy(null);
|
||||
worksCollection.setUpdatedAt(null);
|
||||
worksCollection.setDelFlag(null);
|
||||
if (worksCollection.getSubjectTypes() != null) {
|
||||
worksCollection.getSubjectTypes().forEach(subjectType -> {
|
||||
if (subjectType == null) {
|
||||
return;
|
||||
}
|
||||
subjectType.setId(null);
|
||||
subjectType.setActivityId(null);
|
||||
subjectType.setCreatedBy(null);
|
||||
subjectType.setCreatedAt(null);
|
||||
subjectType.setUpdatedBy(null);
|
||||
subjectType.setUpdatedAt(null);
|
||||
subjectType.setDelFlag(null);
|
||||
if (subjectType.getWorksTypes() != null) {
|
||||
subjectType.getWorksTypes().forEach(worksType -> {
|
||||
if (worksType == null) {
|
||||
return;
|
||||
}
|
||||
worksType.setId(null);
|
||||
worksType.setSubjectId(null);
|
||||
worksType.setCreatedBy(null);
|
||||
worksType.setCreatedAt(null);
|
||||
worksType.setUpdatedBy(null);
|
||||
worksType.setUpdatedAt(null);
|
||||
worksType.setDelFlag(null);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("activity.workscollection.manage")
|
||||
@SaCheckPermission(value = {"activity.workscollection.manage", "activity.workscollection.new"}, mode = SaMode.OR)
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result update(@Param("data") @Valid Activity_works_collection worksCollection) {
|
||||
dao.update(worksCollection);
|
||||
@@ -134,6 +227,9 @@ public class ActivityWorksCollectionManageController {
|
||||
@SaCheckPermission("activity.workscollection.manage")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result delete(@Valid String id) {
|
||||
if (dao.fetch(Sys_home_template.class, id) != null) {
|
||||
return Result.error("该活动已设为模板,请先取消模板后再删除");
|
||||
}
|
||||
dao.delete(Activity_works_collection.class, id);
|
||||
dao.clear(Activity_works_collection_upload.class, Cnd.where(Activity_works_collection_upload::getActivityId, "=", id));
|
||||
dao.clear(Activity_works_subjectType.class, Cnd.where(Activity_works_subjectType::getActivityId, "=", id));
|
||||
@@ -142,7 +238,7 @@ public class ActivityWorksCollectionManageController {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("activity.workscollection.manage")
|
||||
@SaCheckPermission(value = {"activity.workscollection.manage", "activity.workscollection.new"}, mode = SaMode.OR)
|
||||
public Result findOne(@Valid String id) {
|
||||
Activity_works_collection worksCollection = dao.fetch(Activity_works_collection.class, id);
|
||||
dao.fetchLinks(worksCollection, "subjectTypes");
|
||||
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.budwk.app.zhgh.activity.workscollection.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
@IocBean
|
||||
@At("/platform/activity/worksCollection/new")
|
||||
public class ActivityWorksCollectionNewController {
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhgh/activity/workscollection/manage/index.html")
|
||||
@SaCheckPermission(value = {"activity.workscollection.manage", "activity.workscollection.new"}, mode = SaMode.OR)
|
||||
public void index() {
|
||||
}
|
||||
}
|
||||
+18
@@ -2,6 +2,7 @@ package com.budwk.app.zhgh.activity.workscollection.models;
|
||||
|
||||
import com.budwk.app.base.model.BaseModel;
|
||||
import com.budwk.app.sys.models.Sys_home_activity;
|
||||
import com.budwk.app.sys.models.Sys_home_template;
|
||||
import com.budwk.app.sys.services.SysHomeConvert;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@@ -142,4 +143,21 @@ public class Activity_works_collection extends BaseModel implements SysHomeConve
|
||||
return sysHomeActivity;
|
||||
}
|
||||
|
||||
public Sys_home_template covertToSysHomeTemplate() {
|
||||
Sys_home_template sysHomeTemplate = new Sys_home_template();
|
||||
sysHomeTemplate.setId(this.getId());
|
||||
sysHomeTemplate.setName(this.getName());
|
||||
sysHomeTemplate.setTemplateName(this.getName());
|
||||
sysHomeTemplate.setCover(this.getCover());
|
||||
sysHomeTemplate.setContent(this.getContent());
|
||||
sysHomeTemplate.setUrl("/platform/activity/worksCollection/new?mode=edit&id=" + this.getId());
|
||||
sysHomeTemplate.setH5Url("");
|
||||
sysHomeTemplate.setStartDate(this.getStartDateTime());
|
||||
sysHomeTemplate.setEndDate(this.getEndDateTime());
|
||||
sysHomeTemplate.setAllowUserGroupId(this.getActivityGroupId());
|
||||
sysHomeTemplate.setEnable(Boolean.TRUE.equals(this.getEnable()));
|
||||
sysHomeTemplate.setClassPath(this.getClass().getPackageName() + this.getClass().getName());
|
||||
return sysHomeTemplate;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -104,4 +104,8 @@ public class WelfareProjectSubjectOption extends BaseModel implements Serializab
|
||||
@Comment("简短备注")
|
||||
@ColDefine(type = ColType.VARCHAR,width = 100)
|
||||
private String simpleDesc;
|
||||
|
||||
private Integer selectedTotal;
|
||||
|
||||
private Integer rankNo;
|
||||
}
|
||||
|
||||
@@ -41,10 +41,45 @@ public class WelfareProjectServiceImpl extends BaseServiceImpl<WelfareProject> i
|
||||
@Override
|
||||
public WelfareProject projectInfo(String projectId) {
|
||||
WelfareProject project = fetch(projectId);
|
||||
if (project == null) {
|
||||
return null;
|
||||
}
|
||||
fetchLinks(project, "options", Cnd.NEW().asc("optionSort"));
|
||||
fillOptionRank(projectId, project.getOptions());
|
||||
return project;
|
||||
}
|
||||
|
||||
private void fillOptionRank(String projectId, List<WelfareProjectSubjectOption> options) {
|
||||
if (options == null || options.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
selectOptionId,
|
||||
SUM(IFNULL(selectNum, 0)) AS selectedTotal
|
||||
FROM welfare_project_user_selection
|
||||
WHERE welfareId = @projectId
|
||||
AND selectOptionId IS NOT NULL
|
||||
GROUP BY selectOptionId
|
||||
""");
|
||||
sql.setParam("projectId", projectId);
|
||||
Map<String, Integer> selectedTotalMap = listMap(sql).stream()
|
||||
.collect(Collectors.toMap(
|
||||
item -> item.getString("selectOptionId"),
|
||||
item -> item.getInt("selectedTotal", 0),
|
||||
Integer::sum
|
||||
));
|
||||
|
||||
options.forEach(option -> option.setSelectedTotal(selectedTotalMap.getOrDefault(option.getId(), 0)));
|
||||
List<WelfareProjectSubjectOption> rankOptions = new ArrayList<>(options);
|
||||
rankOptions.sort(Comparator
|
||||
.comparing((WelfareProjectSubjectOption option) -> option.getSelectedTotal() == null ? 0 : option.getSelectedTotal()).reversed()
|
||||
.thenComparing(option -> option.getOptionSort() == null ? Integer.MAX_VALUE : option.getOptionSort()));
|
||||
for (int i = 0; i < rankOptions.size(); i++) {
|
||||
rankOptions.get(i).setRankNo(i + 1);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public void saveProject(WelfareProject project) {
|
||||
|
||||
Reference in New Issue
Block a user