From 6491425435e6cfa6a2bb2810e45797f003dd4932 Mon Sep 17 00:00:00 2001 From: zhouhefeng Date: Tue, 29 Apr 2025 16:42:55 +0800 Subject: [PATCH] commit --- .../controller/ActScoreEnterController.java | 81 +++++++++++++ .../activity/models/ActivityItemScore.java | 30 +++++ .../vo/page/ActScoreEnterPageForm.java | 19 +++ .../activity/scoreEnter/addOrUpdate.js | 79 +++++++++++++ .../platform/activity/scoreEnter/index.html | 110 ++++++++++++++++++ 5 files changed, 319 insertions(+) create mode 100644 backend/src/main/java/com/budwk/app/module/activity/controller/ActScoreEnterController.java create mode 100644 backend/src/main/java/com/budwk/app/module/activity/models/ActivityItemScore.java create mode 100644 backend/src/main/java/com/budwk/app/module/activity/vo/page/ActScoreEnterPageForm.java create mode 100644 backend/src/main/resources/views/platform/activity/scoreEnter/addOrUpdate.js create mode 100644 backend/src/main/resources/views/platform/activity/scoreEnter/index.html diff --git a/backend/src/main/java/com/budwk/app/module/activity/controller/ActScoreEnterController.java b/backend/src/main/java/com/budwk/app/module/activity/controller/ActScoreEnterController.java new file mode 100644 index 0000000..22d4012 --- /dev/null +++ b/backend/src/main/java/com/budwk/app/module/activity/controller/ActScoreEnterController.java @@ -0,0 +1,81 @@ +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.models.ActGroup; +import com.budwk.app.module.activity.models.Activity; +import com.budwk.app.module.activity.service.ActivityManageService; +import com.budwk.app.module.activity.vo.page.ActScoreEnterPageForm; +import com.budwk.app.module.activity.vo.page.ActSignInUserPageForm; +import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +import java.util.List; + +/** + * @author zhf + * @date 2025/4/29 15:56 + * @description 成绩录入 + */ +@IocBean +@At("/platform/activity/scoreEnter") +@Ok("json:full") +public class ActScoreEnterController { + + + @Inject + private Dao dao; + @Inject + private ActivityManageService activityService; + + @At("") + @SaCheckPermission("activity.scoreEnter") + @Ok("beetl:/platform/activity/scoreEnter/index.html") + public void index() { + } + + @At() + @SaCheckPermission("activity.scoreEnter") + public Result getActivityOptions(Integer year) { + return Result.success(activityService.dao().query(Activity.class, Cnd.NEW().andEX("YEAR(startTime)", "=", year))); + } + + @At() + @SaCheckPermission("activity.scoreEnter") + public Result pageData(ActScoreEnterPageForm pageForm) { + + Sql sql = Sqls.create(""" + SELECT + t1.* + FROM + `activity_item` t1 + WHERE t1.activityId=@id + ORDER BY t1.sort asc + """).setParam("id", pageForm.getActivityId()); + + return Result.success(activityService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(),sql)); + } + + + /** + * 获取分组列表 + * @param activityId + * @return + */ + @At() + @SaCheckPermission("activity.scoreEnter") + public Result getGroupList(Long activityId){ + List groupList = activityService.dao().query(ActGroup.class, Cnd.where(ActGroup::getActivityId, "=", activityId)); + return Result.success(groupList); + + } + + +} diff --git a/backend/src/main/java/com/budwk/app/module/activity/models/ActivityItemScore.java b/backend/src/main/java/com/budwk/app/module/activity/models/ActivityItemScore.java new file mode 100644 index 0000000..2d08135 --- /dev/null +++ b/backend/src/main/java/com/budwk/app/module/activity/models/ActivityItemScore.java @@ -0,0 +1,30 @@ +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.*; + +/** + * @author zhf + * @date 2025/4/29 16:41 + * @description 活动成绩 + */ +@EqualsAndHashCode(callSuper = true) +@Table("activity_item") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("活动成绩") +@Data +public class ActivityItemScore extends BaseModel { + + @Id + @Comment("ID") + private Long id; + + @Column + @Comment("活动ID") + @ColDefine(type = ColType.INT) + private Long activityId; + + +} diff --git a/backend/src/main/java/com/budwk/app/module/activity/vo/page/ActScoreEnterPageForm.java b/backend/src/main/java/com/budwk/app/module/activity/vo/page/ActScoreEnterPageForm.java new file mode 100644 index 0000000..9058433 --- /dev/null +++ b/backend/src/main/java/com/budwk/app/module/activity/vo/page/ActScoreEnterPageForm.java @@ -0,0 +1,19 @@ +package com.budwk.app.module.activity.vo.page; + +import com.budwk.app.base.page.PageForm; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author zhf + * @date 2025/4/29 16:08 + * @description + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ActScoreEnterPageForm extends PageForm { + + // 活动ID + private Long activityId; + +} diff --git a/backend/src/main/resources/views/platform/activity/scoreEnter/addOrUpdate.js b/backend/src/main/resources/views/platform/activity/scoreEnter/addOrUpdate.js new file mode 100644 index 0000000..4ac8e15 --- /dev/null +++ b/backend/src/main/resources/views/platform/activity/scoreEnter/addOrUpdate.js @@ -0,0 +1,79 @@ +const addOrUpdate = { + template: /*language=HTML*/ ` + + + + + + + + + + + + + + + + + + + + + `, + data() { + return { + title: '', + visible: false, + infoData: {}, + tableData: [], + groupList: [] + } + }, + methods: { + onOpen(row) { + this.infoData = row + this.getGroupList() + this.visible = true + + }, + getGroupList() { + $.get('/platform/activity/scoreEnter/getGroupList', {activityId: this.infoData.activityId}).then(res => { + if (res.code === 0) { + this.groupList = res.data + } + }) + }, + onSubmit() { + $.post('/platform/activity/scoreEnter/addOrUpdate', { + activityId: this.infoData.activityId, + itemId: this.infoData.id, + scores: JSON.stringify(this.tableData) + }).then(res => { + if (res.code === 0) { + this.$message.success('保存成功') + this.visible = false + } else { + this.$message.error(res.msg) + } + }) + + } + } + +} diff --git a/backend/src/main/resources/views/platform/activity/scoreEnter/index.html b/backend/src/main/resources/views/platform/activity/scoreEnter/index.html new file mode 100644 index 0000000..926ea85 --- /dev/null +++ b/backend/src/main/resources/views/platform/activity/scoreEnter/index.html @@ -0,0 +1,110 @@ + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + \ No newline at end of file