From 987c565d0f39cb691209299a68179d60cdac7874 Mon Sep 17 00:00:00 2001 From: Paidax Date: Mon, 7 Apr 2025 10:02:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E5=90=8D=E5=A2=9E=E5=8A=A0=E8=81=94?= =?UTF-8?q?=E7=B3=BB=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../school/ActivityApplyController.java | 1 + .../models/ActivityMobileSignUpParam.java | 9 +++ .../Sports/mobileActivityListController.java | 5 +- .../service/MobileActivityApplyService.java | 15 ++++- .../impl/MobileActivityApplyServiceImpl.java | 23 ++++---- .../activity/Sports/activityEventList.html | 58 ++++++++++++++++--- .../activity/school/ActivityApply.html | 18 +++--- 7 files changed, 101 insertions(+), 28 deletions(-) diff --git a/src/main/java/io/v/nutz/zhgh/activity/controller/school/ActivityApplyController.java b/src/main/java/io/v/nutz/zhgh/activity/controller/school/ActivityApplyController.java index 898ff40..acf2ebf 100644 --- a/src/main/java/io/v/nutz/zhgh/activity/controller/school/ActivityApplyController.java +++ b/src/main/java/io/v/nutz/zhgh/activity/controller/school/ActivityApplyController.java @@ -833,6 +833,7 @@ public class ActivityApplyController { asa.username, asa.loginname, asa.sex, + asa.mobile, asa.identity, asa.`status`, asa.applyUserSign, diff --git a/src/main/java/io/v/nutz/zhgh/activity/models/ActivityMobileSignUpParam.java b/src/main/java/io/v/nutz/zhgh/activity/models/ActivityMobileSignUpParam.java index 42b3041..572ed74 100644 --- a/src/main/java/io/v/nutz/zhgh/activity/models/ActivityMobileSignUpParam.java +++ b/src/main/java/io/v/nutz/zhgh/activity/models/ActivityMobileSignUpParam.java @@ -2,6 +2,7 @@ package io.v.nutz.zhgh.activity.models; import lombok.Data; +import java.io.Serializable; import java.util.List; @Data @@ -17,6 +18,14 @@ public class ActivityMobileSignUpParam { private List userIds; + private List teamUserInfos; + private String applyUserSign; + + @Data + public static class teamUserInfo implements Serializable { + private String userId; + private String mobile; + } } diff --git a/src/main/java/io/v/nutz/zhgh/mobile/activity/Sports/mobileActivityListController.java b/src/main/java/io/v/nutz/zhgh/mobile/activity/Sports/mobileActivityListController.java index fb45628..4ac43c0 100644 --- a/src/main/java/io/v/nutz/zhgh/mobile/activity/Sports/mobileActivityListController.java +++ b/src/main/java/io/v/nutz/zhgh/mobile/activity/Sports/mobileActivityListController.java @@ -66,6 +66,7 @@ public class mobileActivityListController { @Param(value = "eventId", required = false) String eventId, @Param(value = "applyUserSign", required = false) String applyUserSign, @Param(value = "teamId", required = false) String teamId, + @Param(value = "mobile", required = false) String mobile, @Param(value = "teamName", required = false) String teamName) { User user = baseService.dao().fetch(User.class, Cnd.where("id", "=", ShiroUtil.getUserId())); @@ -84,7 +85,7 @@ public class mobileActivityListController { schoolApply.setTeam(teamName); schoolApply.setApplyUser(user.getId()); schoolApply.setUserId(user.getId()); - schoolApply.setMobile(user.getMobile()); + schoolApply.setMobile(mobile); schoolApply.setSex(user.getSex()); schoolApply.setUnitId(user.getUnitid()); schoolApply.setUnionId(user.getUnionid()); @@ -268,7 +269,7 @@ public class mobileActivityListController { @ViReturn @RequiresAuthentication public Object doTeamSignUp(ActivityMobileSignUpParam param) { - mobileActivityApplyService.doTeamSignUp(param.getActivityId(), param.getUserIds(), param.getEventId(), param.getTeamId(), param.getTeamName(),param.getApplyUserSign()); + mobileActivityApplyService.doTeamSignUp(param.getActivityId(), param.getUserIds(), param.getEventId(), param.getTeamId(), param.getTeamName(),param.getApplyUserSign(), param.getTeamUserInfos()); return null; } diff --git a/src/main/java/io/v/nutz/zhgh/mobile/activity/Sports/service/MobileActivityApplyService.java b/src/main/java/io/v/nutz/zhgh/mobile/activity/Sports/service/MobileActivityApplyService.java index 03ae152..340d8a9 100644 --- a/src/main/java/io/v/nutz/zhgh/mobile/activity/Sports/service/MobileActivityApplyService.java +++ b/src/main/java/io/v/nutz/zhgh/mobile/activity/Sports/service/MobileActivityApplyService.java @@ -1,11 +1,24 @@ package io.v.nutz.zhgh.mobile.activity.Sports.service; import io.v.nutz.base.service.BaseService; +import io.v.nutz.zhgh.activity.models.ActivityMobileSignUpParam; import io.v.nutz.zhgh.activity.models.ActivitySchoolApply; import java.util.List; public interface MobileActivityApplyService extends BaseService { void doDeleteApply(String activityId, String eventId); - void doTeamSignUp(String activityId, List userIds, String eventId, String teamId, String teamName,String applyUserSign); + + /** + * 组队报名 + * @param activityId + * @param userIds + * @param eventId + * @param teamId + * @param teamName + * @param applyUserSign + * @param teamUserInfos + */ + void doTeamSignUp(String activityId, List userIds, String eventId, String teamId, String teamName, + String applyUserSign, List teamUserInfos); } diff --git a/src/main/java/io/v/nutz/zhgh/mobile/activity/Sports/service/impl/MobileActivityApplyServiceImpl.java b/src/main/java/io/v/nutz/zhgh/mobile/activity/Sports/service/impl/MobileActivityApplyServiceImpl.java index 5356d00..f34fb12 100644 --- a/src/main/java/io/v/nutz/zhgh/mobile/activity/Sports/service/impl/MobileActivityApplyServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/mobile/activity/Sports/service/impl/MobileActivityApplyServiceImpl.java @@ -7,19 +7,14 @@ import io.v.nutz.web.commons.utils.ShiroUtil; import io.v.nutz.zhgh.activity.models.*; import io.v.nutz.zhgh.mobile.activity.Sports.service.MobileActivityApplyService; import lombok.extern.slf4j.Slf4j; -import org.apache.shiro.web.filter.mgt.DefaultFilter; import org.nutz.dao.Cnd; import org.nutz.dao.Dao; -import org.nutz.dao.Sqls; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.lang.Lang; -import org.nutz.lang.util.NutMap; import java.util.ArrayList; import java.util.List; -import static org.apache.shiro.web.filter.mgt.DefaultFilter.user; - /** * @ClassName ActivitySchoolApplyServiceImpl * @Description TODO @@ -39,16 +34,24 @@ public class MobileActivityApplyServiceImpl extends BaseServiceImpl userIds, String eventId, String teamId, String teamName, String applyUserSign) { + public void doTeamSignUp(String activityId, List userIds, String eventId, String teamId, + String teamName, String applyUserSign, List teamUserInfos) { List schoolApplyArrayList = new ArrayList<>(); - userIds.forEach(i -> { - ActivitySchoolApply schoolApply = getApply(activityId, eventId, i, teamId, teamName, applyUserSign); + +// userIds.forEach(i -> { +// ActivitySchoolApply schoolApply = getApply(activityId, eventId, i, teamId, teamName, applyUserSign); +// schoolApplyArrayList.add(schoolApply); +// }); + + teamUserInfos.forEach( v -> { + ActivitySchoolApply schoolApply = getApply(activityId, eventId, v.getUserId(), teamId, teamName, applyUserSign, v.getMobile()); schoolApplyArrayList.add(schoolApply); }); + insert(schoolApplyArrayList); } - public ActivitySchoolApply getApply(String activityId, String eventId, String userId, String teamId, String teamName, String applyUserSign) { + public ActivitySchoolApply getApply(String activityId, String eventId, String userId, String teamId, String teamName, String applyUserSign, String mobile) { ActivitySchool activitySchool = dao().fetch(ActivitySchool.class, activityId); User user = dao().fetch(User.class, Cnd.where("id", "=", userId)); ActivityBasicUnit basicUnit = dao().fetch(ActivityBasicUnit.class, Cnd.where("id", "=", user.getUnitid())); @@ -70,7 +73,7 @@ public class MobileActivityApplyServiceImpl extends BaseServiceImpl + @@ -200,6 +201,7 @@ layout("/mobile/platform.html"){ + @@ -302,6 +304,7 @@ layout("/mobile/platform.html"){ + @@ -323,7 +326,7 @@ layout("/mobile/platform.html"){
- 自愿参赛责任及风险告知书 + 我已阅读参赛责任及风险告知书
@@ -364,7 +367,8 @@ layout("/mobile/platform.html"){ teamId: null, teamName: null, activityId: "", - eventId: "" + eventId: "", + mobile: null }, title: "活动报名", projectType: "", @@ -479,6 +483,30 @@ layout("/mobile/platform.html"){ return resp.data }, async doTeamSignUp() { + if (!this.formData.mobile || !this.formData.mobile.match(/^1[3-9]\d{9}$/)) { + this.$dialog.alert({ + title: "温馨提示", + message: "请正确填写本人的联系方式!" + }) + return + } + const _this = this + this.registerList.forEach((item) => { + if (item.id === "${@shiro.getPrincipalProperty('id')}") { + item.mobile = _this.formData.mobile + } + }) + + console.log(this.registerList) + const hasEmptyPhone = this.registerList.some((item) => !item.mobile || !item.mobile.match(/^1[3-9]\d{9}$/)) + if (hasEmptyPhone) { + this.$dialog.alert({ + title: "温馨提示", + message: "请正确填写参赛队友的联系方式!" + }) + return + } + if (this.activityData.isSign && !this.formData.applyUserSign) { this.$dialog .alert({ @@ -546,18 +574,24 @@ layout("/mobile/platform.html"){ return } - this.$modal.confirm("您确定要提交吗?").then(async () => { + this.$modal.confirm("请确保手机号填写正确,您确定要提交吗?").then(async () => { if (this.formData.teamId) { this.$set(this.formData, "teamName", this.teams.find((v) => v.id === this.formData.teamId).name) } const userIds = this.registerList.map((v) => v.id) + + const teamUserInfos = this.registerList.map((v) => { + return { userId: v.id, mobile: v.mobile } + }) + await $.post("/mobile/activity/Sports/list/doTeamSignUp", { activityId: this.formData.activityId, eventId: this.formData.eventId, teamId: this.formData.teamId, teamName: this.formData.teamName, userIds: JSON.stringify(userIds), - applyUserSign: this.formData.applyUserSign + applyUserSign: this.formData.applyUserSign, + teamUserInfos: JSON.stringify(teamUserInfos) }) await this.onRefresh() this.teamSignUpShow = false @@ -639,6 +673,14 @@ layout("/mobile/platform.html"){ return done(false) }, async doActivityConfirm() { + if (!this.formData.mobile || !this.formData.mobile.match(/^1[3-9]\d{9}$/)) { + this.$dialog.alert({ + title: "温馨提示", + message: "请正确填写参赛人员联系方式!" + }) + return + } + if (this.activityData.isSign && !this.formData.applyUserSign) { this.$dialog .alert({ @@ -675,10 +717,12 @@ layout("/mobile/platform.html"){ return } if (this.formData.teamId != null) this.$set(this.formData, "teamName", this.teams.find((v) => v.id == this.formData.teamId).name) - await $.post("/mobile/activity/Sports/list/doActivity", this.formData) - await this.onRefresh() - this.activityDialog = false + this.$modal.confirm("请确保手机号填写正确,您确定要提交吗?").then(async () => { + await $.post("/mobile/activity/Sports/list/doActivity", this.formData) + await this.onRefresh() + this.activityDialog = false + }) } }, async openActivity(o) { diff --git a/src/main/resources/views/platform/activity/school/ActivityApply.html b/src/main/resources/views/platform/activity/school/ActivityApply.html index 5e014ab..90dfe1b 100644 --- a/src/main/resources/views/platform/activity/school/ActivityApply.html +++ b/src/main/resources/views/platform/activity/school/ActivityApply.html @@ -370,14 +370,15 @@ layout("/layouts/platform.html"){ @@ -839,6 +840,7 @@ layout("/layouts/platform.html"){ label="性别" > +