diff --git a/backend/src/main/java/com/budwk/app/client/module/activity/controller/ClientActivityController.java b/backend/src/main/java/com/budwk/app/client/module/activity/controller/ClientActivityController.java index c578089..e0ee24d 100644 --- a/backend/src/main/java/com/budwk/app/client/module/activity/controller/ClientActivityController.java +++ b/backend/src/main/java/com/budwk/app/client/module/activity/controller/ClientActivityController.java @@ -1,9 +1,11 @@ package com.budwk.app.client.module.activity.controller; +import cn.dev33.satoken.annotation.SaCheckLogin; import com.budwk.app.base.page.PageForm; import com.budwk.app.base.page.Pagination; import com.budwk.app.base.result.Result; import com.budwk.app.client.module.activity.service.ClientActivityService; +import com.budwk.app.web.commons.auth.satoken.StpClientUtil; import org.nutz.dao.Cnd; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; @@ -24,6 +26,7 @@ public class ClientActivityController { @At @AdaptBy(type = JsonAdaptor.class) + @SaCheckLogin(type = StpClientUtil.TYPE) public Result pageData(PageForm pageForm) { Sql sql = Sqls.create(""" SELECT diff --git a/backend/src/main/java/com/budwk/app/module/activity/controller/ActUserController.java b/backend/src/main/java/com/budwk/app/module/activity/controller/ActUserController.java new file mode 100644 index 0000000..50aa762 --- /dev/null +++ b/backend/src/main/java/com/budwk/app/module/activity/controller/ActUserController.java @@ -0,0 +1,58 @@ +package com.budwk.app.module.activity.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.budwk.app.base.result.Result; +import com.budwk.app.module.activity.service.ActUserService; +import lombok.extern.slf4j.Slf4j; +import org.nutz.dao.Dao; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +import java.util.concurrent.locks.ReentrantLock; + +/** + * @version 1.0 + * @Author zzr + * @name:ActUserController + * @Date 2025/4/24 18:31 + * @注释 + */ +@Slf4j +@IocBean +@Ok("json:full") +@At("/platform/activity/user") +public class ActUserController { + + @Inject + private Dao dao; + @Inject + private ActUserService actUserService; + + @At("") + @SaCheckPermission("activity.user") + @Ok("beetl:/platform/activity/user/index.html") + public void index() { + } + + + private final ReentrantLock lock = new ReentrantLock(true); + + @At + @SaCheckPermission("activity.user") + public Result signUpActivity(){ + try { + lock.lock(); +// new Act + + + return Result.success(); + } catch (Exception e) { + lock.unlock(); + return Result.error(); + } finally { + lock.unlock(); + } + } +} diff --git a/backend/src/main/java/com/budwk/app/module/activity/controller/ActivityManageController.java b/backend/src/main/java/com/budwk/app/module/activity/controller/ActivityManageController.java index ff0ce72..ba5f07d 100644 --- a/backend/src/main/java/com/budwk/app/module/activity/controller/ActivityManageController.java +++ b/backend/src/main/java/com/budwk/app/module/activity/controller/ActivityManageController.java @@ -1,5 +1,6 @@ package com.budwk.app.module.activity.controller; +import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.collection.CollUtil; import com.budwk.app.base.page.PageForm; import com.budwk.app.base.page.Pagination; @@ -34,11 +35,13 @@ public class ActivityManageController { private ActivityManageService activityService; @At("") + @SaCheckPermission("activity.manager") @Ok("beetl:/platform/activity/manage/index.html") public void index() { } @At + @SaCheckPermission("activity.manager") public Result pageData(@Param("pageForm") PageForm pageForm) { Cnd cnd = Cnd.NEW(); Pagination pagination = activityService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd); @@ -50,6 +53,7 @@ public class ActivityManageController { */ @At @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("activity.manager") public Result save(Activity activity) { // activityService.insertWith(activity, "items"); activityService.insert(activity); @@ -61,6 +65,7 @@ public class ActivityManageController { */ @At @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("activity.manager") public Result update(Activity activity) { activityService.updateIgnoreNull(activity); @@ -89,6 +94,7 @@ public class ActivityManageController { */ @At @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("activity.manager") public Result delete(@Param("id") Long id) { // 删除活动信息 activityService.delete(id); @@ -103,6 +109,7 @@ public class ActivityManageController { */ @At @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("activity.manager") public Result get(@Param("id") Long id) { Activity activity = activityService.fetch(id); return Result.success(activity); @@ -113,6 +120,7 @@ public class ActivityManageController { */ @At @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("activity.manager") public Result getFull(@Param("id") Long id) { Activity activity = activityService.fetch(id); activityService.fetchLinks(activity, "items"); @@ -124,6 +132,7 @@ public class ActivityManageController { */ @At @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("activity.manager") public Result getItems(@Param("id") Long id) { List items = dao.query(ActivityItem.class, Cnd.where(ActivityItem::getActivityId, "=", id)); return Result.success(items); @@ -135,6 +144,7 @@ public class ActivityManageController { */ @At @Aop(TransAop.READ_COMMITTED) + @SaCheckPermission("activity.manager") public Result updateItem(Long id, @Param("items") ActivityItem[] items) { // 查询出旧的活动信息 List oldItems = dao.query(ActivityItem.class, Cnd.where(ActivityItem::getActivityId, "=", id)); diff --git a/backend/src/main/java/com/budwk/app/module/activity/models/ActGroup.java b/backend/src/main/java/com/budwk/app/module/activity/models/ActGroup.java new file mode 100644 index 0000000..5ee94b2 --- /dev/null +++ b/backend/src/main/java/com/budwk/app/module/activity/models/ActGroup.java @@ -0,0 +1,40 @@ +package com.budwk.app.module.activity.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; + +/** + * @version 1.0 + * @Author zzr + * @name:ActGroup + * @Date 2025/4/24 17:11 + * @注释 活动队伍 + */ +@Data +@Comment("活动队伍") +//@Table("act_group") +@EqualsAndHashCode(callSuper = true) +@TableMeta("{'mysql-charset':'utf8mb4'}") +public class ActGroup extends BaseModel { + + @Id + @Comment("ID") + private Long id; + + @Column + @Comment("队伍名称") + @ColDefine(type = ColType.VARCHAR, width = 255) + private String groupName; + + @Column + @Comment("领队Id") + @ColDefine(customType = "bigint") + private Long groupLeaderId; + + @Column + @Comment("领队名称") + @ColDefine(type = ColType.VARCHAR, width = 128) + private Long groupLeaderName; +} diff --git a/backend/src/main/java/com/budwk/app/module/activity/models/ActGroupUser.java b/backend/src/main/java/com/budwk/app/module/activity/models/ActGroupUser.java new file mode 100644 index 0000000..0a626d5 --- /dev/null +++ b/backend/src/main/java/com/budwk/app/module/activity/models/ActGroupUser.java @@ -0,0 +1,28 @@ +package com.budwk.app.module.activity.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.Comment; +import org.nutz.dao.entity.annotation.Id; +import org.nutz.dao.entity.annotation.Table; +import org.nutz.dao.entity.annotation.TableMeta; + +/** + * @version 1.0 + * @Author zzr + * @name:ActGroupUser + * @Date 2025/4/24 17:14 + * @注释 活动队伍人员 + */ +@Data +@Comment("活动队伍人员") +//@Table("act_group_user") +@EqualsAndHashCode(callSuper = true) +@TableMeta("{'mysql-charset':'utf8mb4'}") +public class ActGroupUser extends BaseModel { + + @Id + @Comment("ID") + private Long id; +} diff --git a/backend/src/main/java/com/budwk/app/module/activity/models/ActUser.java b/backend/src/main/java/com/budwk/app/module/activity/models/ActUser.java new file mode 100644 index 0000000..9735b5c --- /dev/null +++ b/backend/src/main/java/com/budwk/app/module/activity/models/ActUser.java @@ -0,0 +1,87 @@ +package com.budwk.app.module.activity.models; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; + +import java.time.LocalDateTime; + +/** + * @version 1.0 + * @Author zzr + * @name:ActivitySignUser + * @Date 2025/4/24 17:09 + * @注释 活动报名人员 + */ +@Data +@Table("act_user") +@Comment("活动报名人员") +@EqualsAndHashCode(callSuper = true) +@TableMeta("{'mysql-charset':'utf8mb4'}") +public class ActUser extends BaseModel { + + @Id + @Comment("ID") + private Long id; + + @Column + @Comment("报名号") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String actUserNo; + + @Column + @Comment("姓名") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String userName; + + @Column + @Comment("性别") + @ColDefine(type = ColType.VARCHAR, width = 10) + private String sex; + + @Column + @Comment("职务") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String position; + + @Column + @Comment("身份证号码") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String idCard; + + @Column + @Comment("联系方式") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String mobile; + + @Column + @Comment("参加单位名称") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String unitName; + + @Column + @Comment("报名联系人") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String signUpContacts; + + @Column + @Comment("报名联系人电话") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String signUpMobile; + + @Column + @Comment("报名时间") + @ColDefine(type = ColType.DATETIME) + private LocalDateTime signUpTime; + + @Column + @Comment("是否住宿") + @ColDefine(type = ColType.BOOLEAN) + private Boolean isStay; + + @Column + @Comment("是否签到") + @ColDefine(type = ColType.BOOLEAN) + private Boolean isSignIn; +} diff --git a/backend/src/main/java/com/budwk/app/module/activity/service/ActUserService.java b/backend/src/main/java/com/budwk/app/module/activity/service/ActUserService.java new file mode 100644 index 0000000..b64ad3d --- /dev/null +++ b/backend/src/main/java/com/budwk/app/module/activity/service/ActUserService.java @@ -0,0 +1,14 @@ +package com.budwk.app.module.activity.service; + +import com.budwk.app.base.service.BaseService; +import com.budwk.app.module.activity.models.ActUser; + +/** + * @version 1.0 + * @Author zzr + * @name:ActUserService + * @Date 2025/4/24 18:33 + * @注释 + */ +public interface ActUserService extends BaseService { +} diff --git a/backend/src/main/java/com/budwk/app/module/activity/service/impl/ActUserServiceImpl.java b/backend/src/main/java/com/budwk/app/module/activity/service/impl/ActUserServiceImpl.java new file mode 100644 index 0000000..d4ad621 --- /dev/null +++ b/backend/src/main/java/com/budwk/app/module/activity/service/impl/ActUserServiceImpl.java @@ -0,0 +1,22 @@ +package com.budwk.app.module.activity.service.impl; + +import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.module.activity.models.ActUser; +import com.budwk.app.module.activity.service.ActUserService; +import org.nutz.dao.Dao; +import org.nutz.ioc.loader.annotation.IocBean; + +/** + * @version 1.0 + * @Author zzr + * @name:ActUserServiceImpl + * @Date 2025/4/24 18:33 + * @注释 + */ +@IocBean(args = {"refer:dao"}) +public class ActUserServiceImpl extends BaseServiceImpl implements ActUserService { + + public ActUserServiceImpl(Dao dao) { + super(dao); + } +} diff --git a/backend/src/main/resources/views/platform/activity/manage/itemForm.js b/backend/src/main/resources/views/platform/activity/manage/itemForm.js index 923ac02..ea06e80 100644 --- a/backend/src/main/resources/views/platform/activity/manage/itemForm.js +++ b/backend/src/main/resources/views/platform/activity/manage/itemForm.js @@ -21,8 +21,8 @@ const itemForm = { -