diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/api/HitRegistrationStudentInfoAPI.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/api/HitRegistrationStudentInfoAPI.java index 9b7d519..2a65cb0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/cms/api/HitRegistrationStudentInfoAPI.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/api/HitRegistrationStudentInfoAPI.java @@ -2,9 +2,7 @@ package com.ruoyi.cms.api; import cn.hutool.core.bean.BeanUtil; import com.ruoyi.cms.domain.HitRegistrationStudentInfo; -import com.ruoyi.cms.domain.HitRegistrationTeachInfo; -import com.ruoyi.cms.domain.vo.HitRegistrationStudentInfoVo; -import com.ruoyi.cms.export.HitRegistrationStudentInfoExport; + import com.ruoyi.cms.service.IHitRegistrationStudentInfoService; import com.ruoyi.cms.service.IHitRegistrationTeachInfoService; import com.ruoyi.common.annotation.Anonymous; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitCompetitionStudentInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitCompetitionStudentInfoController.java new file mode 100644 index 0000000..44c0cda --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitCompetitionStudentInfoController.java @@ -0,0 +1,130 @@ +package com.ruoyi.cms.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.cms.domain.HitCompetitionStudentInfo; +import com.ruoyi.cms.service.IHitCompetitionStudentInfoService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.framework.web.service.SysRegisterService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + *

+ * 大赛学生表 前端控制器 + *

+ * + * @author author + * @since 2024-08-26 + */ +@RestController +@RequestMapping("/system/hit_stu_info") +public class HitCompetitionStudentInfoController extends BaseController { + @Autowired + private IHitCompetitionStudentInfoService hitCompetitionStudentInfoService; + + + /** + * 查询大赛学生列表 + */ + @PreAuthorize("@ss.hasPermi('system:info:list')") + @GetMapping("/list") + public TableDataInfo list(HitCompetitionStudentInfo hitCompetitionStudentInfo) + { + startPage(); + List list = hitCompetitionStudentInfoService.selectHitCompetitionStudentInfoList(hitCompetitionStudentInfo); + return getDataTable(list); + } + + /** + * 导出大赛学生列表 + */ + @PreAuthorize("@ss.hasPermi('system:info:export')") + @Log(title = "大赛学生", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, HitCompetitionStudentInfo hitCompetitionStudentInfo) + { + List list = hitCompetitionStudentInfoService.selectHitCompetitionStudentInfoList(hitCompetitionStudentInfo); + ExcelUtil util = new ExcelUtil(HitCompetitionStudentInfo.class); + util.exportExcel(response, list, "大赛学生数据"); + } + + /** + * 获取大赛学生详细信息 + */ +// @PreAuthorize("@ss.hasPermi('system:info:query')") +// @GetMapping(value = "/{id}") +// public AjaxResult getInfo(@PathVariable("id") String id) +// { +// return success(hitCompetitionStudentInfoService.selectHitCompetitionStudentInfoById(id)); +// } + + /** + * 新增大赛学生 + */ + + @Log(title = "大赛学生", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody HitCompetitionStudentInfo hitCompetitionStudentInfo) + { + return toAjax(hitCompetitionStudentInfoService.insertHitCompetitionStudentInfo(hitCompetitionStudentInfo)); + } + + /** + * 修改大赛学生 + */ + @PreAuthorize("@ss.hasPermi('system:info:edit')") + @Log(title = "大赛学生", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody HitCompetitionStudentInfo hitCompetitionStudentInfo) + { + return toAjax(hitCompetitionStudentInfoService.updateHitCompetitionStudentInfo(hitCompetitionStudentInfo)); + } + + /** + * 删除大赛学生 + */ + @PreAuthorize("@ss.hasPermi('system:info:remove')") + @Log(title = "大赛学生", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + return toAjax(hitCompetitionStudentInfoService.deleteHitCompetitionStudentInfoByIds(ids)); + } + /** + * 根据学号查询学生信息 + * @param studentId + * @return + */ + @GetMapping("/{studentId}") + public AjaxResult getStudentInfoByStuId(@PathVariable("studentId") String studentId){ + return success(hitCompetitionStudentInfoService.selectHitCompetitionStudentInfoByStuId(studentId)); + } + /** + * 根据学校及赛区查询队友信息 + * @param schoolName division + */ + + @GetMapping( "/getTeamMateInfo") + public AjaxResult getTeamMateBySchoolNameAndDivision(@RequestParam String schoolName,@RequestParam String division) { + return success(hitCompetitionStudentInfoService.selectTeamMateBySchoolNameAndDivision(schoolName, division)); + } + + /** + * 查询当前用户是否有队伍 + * @return teamId + * @return teamName + * @return teamMateId + */ + @GetMapping("/getTeam") + public AjaxResult getTeamMateInfoByStuId(){ + return AjaxResult.success(hitCompetitionStudentInfoService.selectTeamMateInfoByStuId()); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitRegistrationTeachInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitRegistrationTeachInfoController.java index 8d13962..cb5a76f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitRegistrationTeachInfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitRegistrationTeachInfoController.java @@ -4,19 +4,12 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.cms.domain.HitRegistrationTeachInfo; +import com.ruoyi.common.core.domain.HitRegistrationTeachInfo; import com.ruoyi.cms.service.IHitRegistrationTeachInfoService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; @@ -101,4 +94,14 @@ public class HitRegistrationTeachInfoController extends BaseController { return toAjax(hitRegistrationTeachInfoService.deleteHitRegistrationTeachInfoByIds(ids)); } + + /** + * 根据学校及赛区查询老师信息 + */ + @GetMapping("getTeacherInfo") + public AjaxResult getTeacherInfo(@RequestParam String schoolName,@RequestParam String division){ + return AjaxResult.success(hitRegistrationTeachInfoService.getTeacherInfo(schoolName,division)); + } + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitTeamMembersController.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitTeamMembersController.java new file mode 100644 index 0000000..e7ae69e --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitTeamMembersController.java @@ -0,0 +1,48 @@ +package com.ruoyi.cms.controller; + + +import com.ruoyi.cms.domain.HitTeamMembers; +import com.ruoyi.cms.service.IHitTeamMembersService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 大赛团队队员表 前端控制器 + *

+ * + * @author author + * @since 2024-08-27 + */ +@RestController +@RequestMapping("system/hit-team-members") +public class HitTeamMembersController extends BaseController { + + @Autowired + private IHitTeamMembersService hitTeamMembersService; + + /** + * 同意加入团队 + * @param teamId + * @param teamMateId + * @return + */ + @PutMapping("/agreeTeam") + public AjaxResult agree(@RequestParam Long teamId , @RequestParam Long teamMateId){ + return AjaxResult.success(hitTeamMembersService.agreeTeam(teamId, teamMateId)); + } + + + /** + * 拒绝加入团队 + * @param teamId + * @return + */ + @DeleteMapping("/refuseTeam") + public AjaxResult refuse(@RequestParam Long teamId ){ + return AjaxResult.success(hitTeamMembersService.refuseTeam(teamId)) ; + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitTeamsController.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitTeamsController.java new file mode 100644 index 0000000..3a69971 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/controller/HitTeamsController.java @@ -0,0 +1,38 @@ +package com.ruoyi.cms.controller; + + +import com.ruoyi.cms.domain.Preliminary; + +import com.ruoyi.cms.service.IHitTeamsService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 团队表 前端控制器 + *

+ * + * @author author + * @since 2024-08-27 + */ +@RestController +@RequestMapping("system/hit-teams") +public class HitTeamsController extends BaseController { + + @Autowired + private IHitTeamsService hitTeamsService; + + /** + * 初赛预报名 + */ + @PostMapping("/pre-register") + public AjaxResult preRegister(@RequestBody Preliminary preliminary){ + return toAjax(hitTeamsService.preRegister(preliminary)) ; + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitCompetitionStudentInfo.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitCompetitionStudentInfo.java new file mode 100644 index 0000000..49e07db --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitCompetitionStudentInfo.java @@ -0,0 +1,98 @@ +package com.ruoyi.cms.domain; + +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 大赛学生表 + *

+ * + * @author author + * @since 2024-08-26 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("hit_competition_student_info") +@ApiModel(value="HitCompetitionStudentInfo对象", description="大赛学生表") +public class HitCompetitionStudentInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "团队报名主键") + private String hitRegId; + + @ApiModelProperty(value = "学生姓名") + private String stuName; + + @ApiModelProperty(value = "学号") + private String studentId; + + @ApiModelProperty(value = "学校名称") + private String schoolName; + + @ApiModelProperty(value = "院系名称") + private String collegeName; + + @ApiModelProperty(value = "专业") + private String major; + + @ApiModelProperty(value = "所属赛区") + private String division; + + @ApiModelProperty(value = "手机号") + private String phoneNumber; + + @ApiModelProperty(value = "邮箱") + private String email; + + @ApiModelProperty(value = "学生证") + private String studentIdCard; + + @ApiModelProperty(value = "个人选拔赛分数") + private BigDecimal trialsScore; + + @ApiModelProperty(value = "是否被选为参加初赛人员 (0: 否, 1: 是)") + private Boolean isPreliminary; + + @ApiModelProperty(value = "备注") + private String remark; + + @ApiModelProperty(value = "逻辑删除 0未删除 1真删除") + private Boolean delFlag; + + @ApiModelProperty(value = "创建时间(默认时间当前)") + @TableField(fill = FieldFill.INSERT) + private Date createTime; + + @ApiModelProperty(value = "创建人") + private String createBy; + + @ApiModelProperty(value = "更新时间(默认时间当前)") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date updateTime; + + @ApiModelProperty(value = "更新人") + private String updateBy; + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitRegInfo.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitRegInfo.java index b4d93e0..c92940d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitRegInfo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitRegInfo.java @@ -3,9 +3,8 @@ package com.ruoyi.cms.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.ruoyi.common.core.domain.HitRegistrationTeachInfo; import lombok.Data; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; @@ -64,7 +63,7 @@ public class HitRegInfo extends BaseEntity /** 逻辑删除0未删除1真删除 */ private Long delFlag; @TableField(exist = false) - private List studentInfoList; + private List studentInfoList; @TableField(exist = false) private List teacherInfoList; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitRegistrationTeachInfo.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitRegistrationTeachInfo.java deleted file mode 100644 index 311541e..0000000 --- a/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitRegistrationTeachInfo.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.ruoyi.cms.domain; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.core.domain.BaseEntity; - -/** - * 教师信息对象 hit_registration_teach_info - * - * @author 点亮信息 - * @date 2024-08-20 - */ -public class HitRegistrationTeachInfo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 教师ID */ - @TableId(type = IdType.AUTO) - private Long id; - - /** 报名主键 */ - @Excel(name = "报名主键") - private Long hitRegId; - - /** 教师姓名 */ - @Excel(name = "教师姓名") - private String teacherName; - - /** 教师职务 */ - @Excel(name = "教师职务") - private String teacherJob; - - /** 教师手机号 */ - @Excel(name = "教师手机号") - private String teacherNumber; - - /** 教师email */ - @Excel(name = "教师email") - private String teacherEmail; - - /** 教师所在系及专业 */ - @Excel(name = "教师所在系及专业") - private String teacherSchool; - - /** 逻辑删除0未删除1真删除 */ - private Long delFlag; - - /** 0指导老师1领队老师 */ - @Excel(name = "0指导老师1领队老师") - private String type; - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setHitRegId(Long hitRegId) - { - this.hitRegId = hitRegId; - } - - public Long getHitRegId() - { - return hitRegId; - } - public void setTeacherName(String teacherName) - { - this.teacherName = teacherName; - } - - public String getTeacherName() - { - return teacherName; - } - public void setTeacherJob(String teacherJob) - { - this.teacherJob = teacherJob; - } - - public String getTeacherJob() - { - return teacherJob; - } - public void setTeacherNumber(String teacherNumber) - { - this.teacherNumber = teacherNumber; - } - - public String getTeacherNumber() - { - return teacherNumber; - } - public void setTeacherEmail(String teacherEmail) - { - this.teacherEmail = teacherEmail; - } - - public String getTeacherEmail() - { - return teacherEmail; - } - public void setTeacherSchool(String teacherSchool) - { - this.teacherSchool = teacherSchool; - } - - public String getTeacherSchool() - { - return teacherSchool; - } - public void setDelFlag(Long delFlag) - { - this.delFlag = delFlag; - } - - public Long getDelFlag() - { - return delFlag; - } - public void setType(String type) - { - this.type = type; - } - - public String getType() - { - return type; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("hitRegId", getHitRegId()) - .append("teacherName", getTeacherName()) - .append("teacherJob", getTeacherJob()) - .append("teacherNumber", getTeacherNumber()) - .append("teacherEmail", getTeacherEmail()) - .append("teacherSchool", getTeacherSchool()) - .append("remark", getRemark()) - .append("delFlag", getDelFlag()) - .append("createTime", getCreateTime()) - .append("createBy", getCreateBy()) - .append("updateTime", getUpdateTime()) - .append("updateBy", getUpdateBy()) - .append("type", getType()) - .toString(); - } -} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitTeamMembers.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitTeamMembers.java new file mode 100644 index 0000000..28766f9 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitTeamMembers.java @@ -0,0 +1,64 @@ +package com.ruoyi.cms.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 大赛团队队员表 + *

+ * + * @author author + * @since 2024-08-27 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("hit_team_members") +@ApiModel(value="HitTeamMembers对象", description="大赛团队队员表") +public class HitTeamMembers implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "团队id") + private String teamId; + + @ApiModelProperty(value = "队友id") + private String teamMemberId; + + @ApiModelProperty(value = "0队员,1领队老师, 2指导老师") + private Integer teamResponsibilities; + + @ApiModelProperty(value = "0等待确认,1同意, 2拒绝") + private Integer isAgreeWith; + + @ApiModelProperty(value = "创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty(value = "创建人") + private String createBy; + + @ApiModelProperty(value = "修改时间") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty(value = "修改人") + private String updateBy; + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitTeams.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitTeams.java new file mode 100644 index 0000000..926a66a --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/HitTeams.java @@ -0,0 +1,63 @@ +package com.ruoyi.cms.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 团队表 + *

+ * + * @author author + * @since 2024-08-27 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("hit_teams") +@ApiModel(value="HitTeams对象", description="团队表") +public class HitTeams implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "团队名称") + private String teamName; + + @ApiModelProperty(value = "赛区") + private String division; + + @ApiModelProperty(value = "学校") + private String schoolName; + + @ApiModelProperty(value = "团队创建者id") + private Integer teamCreatorId; + + @ApiModelProperty(value = "创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty(value = "创建人") + private String createBy; + + @ApiModelProperty(value = "修改时间") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty(value = "修改人") + private String updateBy; + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/Preliminary.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/Preliminary.java new file mode 100644 index 0000000..36ad2d7 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/Preliminary.java @@ -0,0 +1,107 @@ +package com.ruoyi.cms.domain; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 大赛预报名表 preliminary + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Preliminary { + + /** 队伍名称 */ + private String teamName; + + /** 赛区 */ + private String division; + + /** 学校名称 */ + private String schoolName; + + /** 队员1 */ + private String TeammateOne; + + /** 队员2 */ + private String teammateTwo; + + /** 领队老师 */ + private String LeaderTeacher; + + /** 指导老师1 */ + private String teacherOne; + + public String getTeamName() { + return teamName; + } + + public void setTeamName(String teamName) { + this.teamName = teamName; + } + + public String getDivision() { + return division; + } + + public void setDivision(String division) { + this.division = division; + } + + public String getSchoolName() { + return schoolName; + } + + public void setSchoolName(String schoolName) { + this.schoolName = schoolName; + } + + public String getTeammateOne() { + return TeammateOne; + } + + public void setTeammateOne(String teammateOne) { + TeammateOne = teammateOne; + } + + public String getTeammateTwo() { + return teammateTwo; + } + + public void setTeammateTwo(String teammateTwo) { + this.teammateTwo = teammateTwo; + } + + public String getLeaderTeacher() { + return LeaderTeacher; + } + + public void setLeaderTeacher(String leaderTeacher) { + LeaderTeacher = leaderTeacher; + } + + public String getTeacherOne() { + return teacherOne; + } + + public void setTeacherOne(String teacherOne) { + this.teacherOne = teacherOne; + } + + public String getTeacherTwo() { + return teacherTwo; + } + + public void setTeacherTwo(String teacherTwo) { + this.teacherTwo = teacherTwo; + } + + /** 指导老师2 */ + private String teacherTwo; + + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/vo/TeamsVo.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/vo/TeamsVo.java new file mode 100644 index 0000000..b30fc96 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/domain/vo/TeamsVo.java @@ -0,0 +1,22 @@ +package com.ruoyi.cms.domain.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 团队信息 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class TeamsVo { + /** 团队id */ + private Long teamId; + /** 团队名称 */ + private String teamName; + /** 团队成员id */ + private Long teamMateId; + /** 团队成员状态 */ + private String isAgreeWith; +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitCompetitionStudentInfoMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitCompetitionStudentInfoMapper.java new file mode 100644 index 0000000..c56bc3b --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitCompetitionStudentInfoMapper.java @@ -0,0 +1,64 @@ +package com.ruoyi.cms.mapper; + +import com.ruoyi.cms.domain.HitCompetitionStudentInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** + *

+ * 大赛学生表 Mapper 接口 + *

+ * + * @author author + * @since 2024-08-26 + */ +public interface HitCompetitionStudentInfoMapper extends BaseMapper { + /** + * 查询大赛学生 + * + * @param id 大赛学生主键 + * @return 大赛学生 + */ + public HitCompetitionStudentInfo selectHitCompetitionStudentInfoById(String id); + + /** + * 查询大赛学生列表 + * + * @param hitCompetitionStudentInfo 大赛学生 + * @return 大赛学生集合 + */ + public List selectHitCompetitionStudentInfoList(HitCompetitionStudentInfo hitCompetitionStudentInfo); + + /** + * 新增大赛学生 + * + * @param hitCompetitionStudentInfo 大赛学生 + * @return 结果 + */ + public int insertHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo); + + /** + * 修改大赛学生 + * + * @param hitCompetitionStudentInfo 大赛学生 + * @return 结果 + */ + public int updateHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo); + + /** + * 删除大赛学生 + * + * @param id 大赛学生主键 + * @return 结果 + */ + public int deleteHitCompetitionStudentInfoById(String id); + + /** + * 批量删除大赛学生 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteHitCompetitionStudentInfoByIds(String[] ids); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitRegInfoMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitRegInfoMapper.java index 7cc4c6f..71e5a9f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitRegInfoMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitRegInfoMapper.java @@ -4,7 +4,6 @@ import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.cms.domain.HitRegInfo; -import com.ruoyi.cms.domain.HitRegistrationTeachInfo; /** * 报名信息Mapper接口 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitRegistrationTeachInfoMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitRegistrationTeachInfoMapper.java index e022b8d..e764bd1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitRegistrationTeachInfoMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitRegistrationTeachInfoMapper.java @@ -3,8 +3,7 @@ package com.ruoyi.cms.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.ruoyi.cms.domain.HitRegistrationStudentInfo; -import com.ruoyi.cms.domain.HitRegistrationTeachInfo; +import com.ruoyi.common.core.domain.HitRegistrationTeachInfo; /** * 教师信息Mapper接口 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitTeamMembersMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitTeamMembersMapper.java new file mode 100644 index 0000000..e492e01 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitTeamMembersMapper.java @@ -0,0 +1,16 @@ +package com.ruoyi.cms.mapper; + +import com.ruoyi.cms.domain.HitTeamMembers; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 大赛团队队员表 Mapper 接口 + *

+ * + * @author author + * @since 2024-08-27 + */ +public interface HitTeamMembersMapper extends BaseMapper { + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitTeamsMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitTeamsMapper.java new file mode 100644 index 0000000..d91f760 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/mapper/HitTeamsMapper.java @@ -0,0 +1,16 @@ +package com.ruoyi.cms.mapper; + +import com.ruoyi.cms.domain.HitTeams; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 团队表 Mapper 接口 + *

+ * + * @author author + * @since 2024-08-27 + */ +public interface HitTeamsMapper extends BaseMapper { + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitCompetitionStudentInfoService.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitCompetitionStudentInfoService.java new file mode 100644 index 0000000..b8f1d54 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitCompetitionStudentInfoService.java @@ -0,0 +1,87 @@ +package com.ruoyi.cms.service; + +import com.ruoyi.cms.domain.HitCompetitionStudentInfo; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.cms.domain.HitTeamMembers; +import com.ruoyi.cms.domain.vo.TeamsVo; + +import java.util.List; + +/** + *

+ * 大赛学生表 服务类 + *

+ * + * @author author + * @since 2024-08-26 + */ +public interface IHitCompetitionStudentInfoService extends IService { + /** + * 查询大赛学生 + * + * @param id 大赛学生主键 + * @return 大赛学生 + */ + public HitCompetitionStudentInfo selectHitCompetitionStudentInfoById(String id); + + /** + * 查询大赛学生列表 + * + * @param hitCompetitionStudentInfo 大赛学生 + * @return 大赛学生集合 + */ + public List selectHitCompetitionStudentInfoList(HitCompetitionStudentInfo hitCompetitionStudentInfo); + + /** + * 新增大赛学生 + * + * @param hitCompetitionStudentInfo 大赛学生 + * @return 结果 + */ + public int insertHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo); + + /** + * 修改大赛学生 + * + * @param hitCompetitionStudentInfo 大赛学生 + * @return 结果 + */ + public int updateHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo); + + /** + * 批量删除大赛学生 + * + * @param ids 需要删除的大赛学生主键集合 + * @return 结果 + */ + public int deleteHitCompetitionStudentInfoByIds(String[] ids); + + /** + * 删除大赛学生信息 + * + * @param id 大赛学生主键 + * @return 结果 + */ + public int deleteHitCompetitionStudentInfoById(String id); + + /** + * 根据学号查询大赛学生信息 + * @param studentId + * @return + */ + HitCompetitionStudentInfo selectHitCompetitionStudentInfoByStuId(String studentId); + + /** + * 根据学校名称和组别查询队友信息 + * @param schoolName + * @param division + * @return + */ + List selectTeamMateBySchoolNameAndDivision(String schoolName, String division); + + /** + * 根据学号查询队友信息 + * @return + */ + TeamsVo selectTeamMateInfoByStuId(); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitRegInfoService.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitRegInfoService.java index f42b7ae..753c4e2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitRegInfoService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitRegInfoService.java @@ -58,4 +58,6 @@ public interface IHitRegInfoService * @return 结果 */ public int deleteHitRegInfoById(Long id); + + void createRegInfo(String teamName,Integer teamCreatorId,String teacherId,Long teamId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitRegistrationTeachInfoService.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitRegistrationTeachInfoService.java index a358760..4a77fa4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitRegistrationTeachInfoService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitRegistrationTeachInfoService.java @@ -1,7 +1,8 @@ package com.ruoyi.cms.service; import java.util.List; -import com.ruoyi.cms.domain.HitRegistrationTeachInfo; +import com.ruoyi.common.core.domain.HitRegistrationTeachInfo; +import com.ruoyi.common.core.domain.model.RegisterBody; /** * 教师信息Service接口 @@ -58,4 +59,7 @@ public interface IHitRegistrationTeachInfoService * @return 结果 */ public int deleteHitRegistrationTeachInfoById(Long id); + + + List getTeacherInfo(String schoolName, String division); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitTeamMembersService.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitTeamMembersService.java new file mode 100644 index 0000000..43c1d5e --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitTeamMembersService.java @@ -0,0 +1,38 @@ +package com.ruoyi.cms.service; + +import com.ruoyi.cms.domain.HitTeamMembers; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.cms.domain.Preliminary; +import org.springframework.web.bind.annotation.RequestParam; + +/** + *

+ * 大赛团队队员表 服务类 + *

+ * + * @author author + * @since 2024-08-27 + */ +public interface IHitTeamMembersService extends IService { + /** + * 创建团队队员 + * @param preliminary + * @param teamId + */ + void createTeamMembers(Preliminary preliminary,Integer teamId); + + /** + * 同意加入团队 + * @param teamId + * @param teamMateId + * @return + */ + String agreeTeam( Long teamId , Long teamMateId); + + /** + * 拒绝加入团队 + * @param teamId + * @return + */ + String refuseTeam(Long teamId); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitTeamsService.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitTeamsService.java new file mode 100644 index 0000000..ebca00a --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/IHitTeamsService.java @@ -0,0 +1,18 @@ +package com.ruoyi.cms.service; + +import com.ruoyi.cms.domain.HitTeams; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.cms.domain.Preliminary; + +/** + *

+ * 团队表 服务类 + *

+ * + * @author author + * @since 2024-08-27 + */ +public interface IHitTeamsService extends IService { + + int preRegister(Preliminary preliminary); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitCompetitionStudentInfoServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitCompetitionStudentInfoServiceImpl.java new file mode 100644 index 0000000..b564a00 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitCompetitionStudentInfoServiceImpl.java @@ -0,0 +1,212 @@ +package com.ruoyi.cms.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.cms.domain.HitCompetitionStudentInfo; +import com.ruoyi.cms.domain.HitTeamMembers; +import com.ruoyi.cms.domain.HitTeams; +import com.ruoyi.cms.domain.vo.TeamsVo; +import com.ruoyi.cms.mapper.HitCompetitionStudentInfoMapper; +import com.ruoyi.cms.mapper.HitRegistrationTeachInfoMapper; +import com.ruoyi.cms.mapper.HitTeamMembersMapper; +import com.ruoyi.cms.mapper.HitTeamsMapper; +import com.ruoyi.cms.service.IHitCompetitionStudentInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.cms.service.IHitRegistrationTeachInfoService; +import com.ruoyi.cms.service.IHitTeamsService; +import com.ruoyi.common.core.domain.HitRegistrationTeachInfo; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.system.mapper.SysUserMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + *

+ * 大赛学生表 服务实现类 + *

+ * + * @author author + * @since 2024-08-26 + */ +@Service +public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl implements IHitCompetitionStudentInfoService { + @Autowired + private HitCompetitionStudentInfoMapper hitCompetitionStudentInfoMapper; + + @Autowired + private HitRegistrationTeachInfoMapper hitRegistrationTeachInfoMapper; + + @Autowired + private HitTeamMembersMapper hitTeamMembersMapper; + + @Autowired + private HitTeamsMapper hitTeamsMapper; + @Autowired + private SysUserMapper sysUserMapper; + + + + /** + * 查询大赛学生 + * + * @param id 大赛学生主键 + * @return 大赛学生 + */ + @Override + public HitCompetitionStudentInfo selectHitCompetitionStudentInfoById(String id) + { + return hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoById(id); + } + + /** + * 查询大赛学生列表 + * + * @param hitCompetitionStudentInfo 大赛学生 + * @return 大赛学生 + */ + @Override + public List selectHitCompetitionStudentInfoList(HitCompetitionStudentInfo hitCompetitionStudentInfo) + { + return hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoList(hitCompetitionStudentInfo); + } + + /** + * 新增大赛学生 + * + * @param hitCompetitionStudentInfo 大赛学生 + * @return 结果 + */ + @Override + public int insertHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo) + { + hitCompetitionStudentInfo.setCreateTime(DateUtils.getNowDate()); + return hitCompetitionStudentInfoMapper.insertHitCompetitionStudentInfo(hitCompetitionStudentInfo); + } + + /** + * 修改大赛学生 + * + * @param hitCompetitionStudentInfo 大赛学生 + * @return 结果 + */ + @Override + public int updateHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo) + { + hitCompetitionStudentInfo.setUpdateTime(DateUtils.getNowDate()); + return hitCompetitionStudentInfoMapper.updateHitCompetitionStudentInfo(hitCompetitionStudentInfo); + } + + /** + * 批量删除大赛学生 + * + * @param ids 需要删除的大赛学生主键 + * @return 结果 + */ + @Override + public int deleteHitCompetitionStudentInfoByIds(String[] ids) + { + return hitCompetitionStudentInfoMapper.deleteHitCompetitionStudentInfoByIds(ids); + } + + /** + * 删除大赛学生信息 + * + * @param id 大赛学生主键 + * @return 结果 + */ + @Override + public int deleteHitCompetitionStudentInfoById(String id) + { + return hitCompetitionStudentInfoMapper.deleteHitCompetitionStudentInfoById(id); + } + + @Override + public HitCompetitionStudentInfo selectHitCompetitionStudentInfoByStuId(String studentId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(HitCompetitionStudentInfo::getStudentId, studentId); + HitCompetitionStudentInfo hitCompetitionStudentInfo = hitCompetitionStudentInfoMapper.selectOne(queryWrapper); + if (hitCompetitionStudentInfo == null) { + return new HitCompetitionStudentInfo(); + } + return hitCompetitionStudentInfo; + } + + @Override + public List selectTeamMateBySchoolNameAndDivision(String schoolName, String division) { + //获取当前学生信息信息 + SysUser user = SecurityUtils.getLoginUser().getUser(); + String userName = user.getUserName(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(HitCompetitionStudentInfo::getSchoolName, schoolName); + queryWrapper.eq(HitCompetitionStudentInfo::getDivision, division); + queryWrapper.eq(HitCompetitionStudentInfo::getIsPreliminary, "1"); + queryWrapper.ne(HitCompetitionStudentInfo::getStudentId, userName); + List hitCompetitionStudentInfoList = hitCompetitionStudentInfoMapper.selectList(queryWrapper); + return hitCompetitionStudentInfoList; + } + + /** + * 查询当前用户信息 + * @return TeamsVo + */ + @Override + public TeamsVo selectTeamMateInfoByStuId() { + //获取当前用户信息信息 + SysUser user = SecurityUtils.getLoginUser().getUser(); + String userName = user.getUserName(); + SysUser sysUser = sysUserMapper.select(userName); + String userType = sysUser.getUserType(); + TeamsVo teamsVo = new TeamsVo(); + + //查询个人信息 + if (userType.equals("01")) { + //如果是学生,则查询学生信息 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(HitCompetitionStudentInfo::getStudentId, userName); + //学生报名信息 + HitCompetitionStudentInfo studentDB = this.getOne(queryWrapper); + Integer studentDBId = studentDB.getId(); + LambdaQueryWrapper hitTeamsLambdaQueryWrapper = new LambdaQueryWrapper<>(); + hitTeamsLambdaQueryWrapper.eq(HitTeamMembers::getTeamMemberId, studentDBId); + teamsVo= selectTeamMsg(teamsVo, hitTeamsLambdaQueryWrapper); + } + if (userType.equals("02")) { + //如果是老师,则查询老师信息 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(HitRegistrationTeachInfo::getHitRegId, userName); + HitRegistrationTeachInfo teacherDB = hitRegistrationTeachInfoMapper.selectOne(queryWrapper); + LambdaQueryWrapper hitTeamsLambdaQueryWrapper = new LambdaQueryWrapper<>(); + hitTeamsLambdaQueryWrapper.eq(HitTeamMembers::getTeamMemberId, teacherDB.getId()); + teamsVo= selectTeamMsg(teamsVo, hitTeamsLambdaQueryWrapper); + } + return teamsVo; + } + + /** + * 查询团队信息 + * @param teamsVo + * @param hitTeamsLambdaQueryWrapper + * @return + */ + private TeamsVo selectTeamMsg(TeamsVo teamsVo, LambdaQueryWrapper hitTeamsLambdaQueryWrapper) { + HitTeamMembers hitTeamMembers = hitTeamMembersMapper.selectOne(hitTeamsLambdaQueryWrapper); + if (hitTeamMembers != null) { + teamsVo.setTeamMateId(Long.valueOf(hitTeamMembers.getTeamMemberId())); + teamsVo.setTeamId(Long.valueOf(hitTeamMembers.getTeamId())); + teamsVo.setIsAgreeWith(String.valueOf(hitTeamMembers.getIsAgreeWith())); + //团队名称 + LambdaQueryWrapper hitTeamsQueryWrapper = new LambdaQueryWrapper<>(); + hitTeamsQueryWrapper.eq(HitTeams::getId, hitTeamMembers.getTeamId()); + HitTeams hitTeams = hitTeamsMapper.selectOne(hitTeamsQueryWrapper); + if (hitTeams != null) { + teamsVo.setTeamName(hitTeams.getTeamName()); + } + } + return teamsVo; + } + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitRegInfoServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitRegInfoServiceImpl.java index 57fbfda..d38ab06 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitRegInfoServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitRegInfoServiceImpl.java @@ -5,11 +5,15 @@ import java.time.format.DateTimeFormatter; import java.util.List; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.ruoyi.cms.controller.CmsContentController; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.ruoyi.cms.domain.*; import com.ruoyi.cms.mapper.*; import com.ruoyi.cms.service.ICmsContentService; +import com.ruoyi.cms.service.IHitCompetitionStudentInfoService; import com.ruoyi.common.core.domain.BaseEntity; +import com.ruoyi.common.core.domain.HitRegistrationTeachInfo; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -36,7 +40,12 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService private ICmsContentService insertCmsContent; @Autowired private CmsContentMapper cmsContentMapper; - + @Autowired + private HitCompetitionStudentInfoMapper competitionStudentInfo; + @Autowired + private IHitCompetitionStudentInfoService competitionStudentInfoService; + @Autowired + private HitTeamMembersMapper teamMembersMapper; /** @@ -62,9 +71,9 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService { List hitRegInfos = hitRegInfoMapper.selectHitRegInfoList(hitRegInfo); for (HitRegInfo regInfo : hitRegInfos) { - LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); - queryWrapper.eq(HitRegistrationStudentInfo::getHitRegId,regInfo.getId()); - List hitRegistrationStudentInfos = studentInfoMapper.selectList(queryWrapper); + LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); + queryWrapper.eq(HitCompetitionStudentInfo::getHitRegId,regInfo.getId()); + List hitRegistrationStudentInfos = competitionStudentInfo.selectList(queryWrapper); LambdaQueryWrapper queryWrapper2 =new LambdaQueryWrapper<>(); queryWrapper2.eq(HitRegistrationTeachInfo::getHitRegId,regInfo.getId()).orderByDesc(HitRegistrationTeachInfo::getType); @@ -85,20 +94,19 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService @Transactional(rollbackFor = Exception.class) public int insertHitRegInfo(HitRegInfo hitRegInfo) { - hitRegInfo.setCreateTime(DateUtils.getNowDate()); - hitRegInfoMapper.insertHitRegInfo(hitRegInfo); - for (HitRegistrationStudentInfo hitRegistrationStudentInfo : hitRegInfo.getStudentInfoList()) { - hitRegistrationStudentInfo.setHitRegId(hitRegInfo.getId()); - studentInfoMapper.insert(hitRegistrationStudentInfo); - - } - for (HitRegistrationTeachInfo hitRegistrationTeachInfo : hitRegInfo.getTeacherInfoList()) { - if (StringUtils.isNotEmpty(hitRegistrationTeachInfo.getTeacherName())){ - hitRegistrationTeachInfo.setHitRegId(hitRegInfo.getId()); - teachInfoMapper.insert(hitRegistrationTeachInfo); - } - - } +// hitRegInfo.setCreateTime(DateUtils.getNowDate()); +// hitRegInfoMapper.insertHitRegInfo(hitRegInfo); +// for (HitCompetitionStudentInfo hitRegistrationStudentInfo : hitRegInfo.getStudentInfoList()) { +// hitRegistrationStudentInfo.setHitRegId(hitRegInfo.getId()); +// studentInfoMapper.insert(hitRegistrationStudentInfo); +// +// } +// for (HitRegistrationTeachInfo hitRegistrationTeachInfo : hitRegInfo.getTeacherInfoList()) { +// if (StringUtils.isNotEmpty(hitRegistrationTeachInfo.getTeacherName())){ +// hitRegistrationTeachInfo.setHitRegId(hitRegInfo.getId()); +// teachInfoMapper.insert(hitRegistrationTeachInfo); +// } +// } return 1; } @@ -225,4 +233,58 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService { return hitRegInfoMapper.deleteHitRegInfoById(id); } + + /** + * 创建报名信息 + * @param teamName + * @param teamCreatorId + * @param teacherId + */ + @Override + public void createRegInfo(String teamName,Integer teamCreatorId,String teacherId,Long teamId) { + HitRegInfo hitRegInfo = new HitRegInfo(); + HitCompetitionStudentInfo studentInfo = competitionStudentInfo.selectOne(new QueryWrapper().eq("id", teamCreatorId)); + hitRegInfo.setSchoolName(studentInfo.getSchoolName()); + hitRegInfo.setCollegeName(studentInfo.getCollegeName()); + hitRegInfo.setDivision(studentInfo.getDivision()); + + HitRegistrationTeachInfo teachInfo = teachInfoMapper.selectOne(new QueryWrapper().eq("id", teacherId)); + hitRegInfo.setSampleConcat(teachInfo.getTeacherName()); + hitRegInfo.setSampleNumber(teachInfo.getTeacherNumber()); + hitRegInfo.setSampleAddress(teachInfo.getSampleAddress()); + + hitRegInfo.setTeamName(teamName); + hitRegInfo.setCreateTime(DateUtils.getNowDate()); + hitRegInfoMapper.insert(hitRegInfo); + + Long hitRegInfoId = hitRegInfo.getId(); + //创建报名信息后,更新队员信息 + updateTeamMembersInfo(teamId,hitRegInfoId); + + } + + /** + * 更新队员信息 + * @param teamId + * @param hitRegInfoId + */ + private void updateTeamMembersInfo(Long teamId, Long hitRegInfoId){ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(HitTeamMembers::getTeamId,teamId); + List teamMembers = teamMembersMapper.selectList(queryWrapper); + for (HitTeamMembers teamMember : teamMembers) { + if (teamMember.getTeamResponsibilities()==0){ + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(HitCompetitionStudentInfo::getId,teamMember.getTeamMemberId()); + updateWrapper.set(HitCompetitionStudentInfo::getHitRegId,hitRegInfoId); + competitionStudentInfo.update(null,updateWrapper); + } + if (teamMember.getTeamResponsibilities()==1 || teamMember.getTeamResponsibilities()==2){ + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(HitRegistrationTeachInfo::getId,teamMember.getTeamMemberId()); + updateWrapper.set(HitRegistrationTeachInfo::getHitRegId,hitRegInfoId); + teachInfoMapper.update(null,updateWrapper); + } + } + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitRegistrationTeachInfoServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitRegistrationTeachInfoServiceImpl.java index 1f94b5b..e4ad979 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitRegistrationTeachInfoServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitRegistrationTeachInfoServiceImpl.java @@ -1,11 +1,15 @@ package com.ruoyi.cms.service.impl; +import java.util.Collections; import java.util.List; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.common.core.domain.model.RegisterBody; import com.ruoyi.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.cms.mapper.HitRegistrationTeachInfoMapper; -import com.ruoyi.cms.domain.HitRegistrationTeachInfo; +import com.ruoyi.common.core.domain.HitRegistrationTeachInfo; import com.ruoyi.cms.service.IHitRegistrationTeachInfoService; /** @@ -15,82 +19,91 @@ import com.ruoyi.cms.service.IHitRegistrationTeachInfoService; * @date 2024-08-20 */ @Service -public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeachInfoService -{ +public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeachInfoService { @Autowired private HitRegistrationTeachInfoMapper hitRegistrationTeachInfoMapper; /** * 查询教师信息 - * + * * @param id 教师信息主键 * @return 教师信息 */ @Override - public HitRegistrationTeachInfo selectHitRegistrationTeachInfoById(Long id) - { + public HitRegistrationTeachInfo selectHitRegistrationTeachInfoById(Long id) { return hitRegistrationTeachInfoMapper.selectHitRegistrationTeachInfoById(id); } /** * 查询教师信息列表 - * + * * @param hitRegistrationTeachInfo 教师信息 * @return 教师信息 */ @Override - public List selectHitRegistrationTeachInfoList(HitRegistrationTeachInfo hitRegistrationTeachInfo) - { + public List selectHitRegistrationTeachInfoList(HitRegistrationTeachInfo hitRegistrationTeachInfo) { return hitRegistrationTeachInfoMapper.selectHitRegistrationTeachInfoList(hitRegistrationTeachInfo); } /** * 新增教师信息 - * + * * @param hitRegistrationTeachInfo 教师信息 * @return 结果 */ @Override - public int insertHitRegistrationTeachInfo(HitRegistrationTeachInfo hitRegistrationTeachInfo) - { + public int insertHitRegistrationTeachInfo(HitRegistrationTeachInfo hitRegistrationTeachInfo) { hitRegistrationTeachInfo.setCreateTime(DateUtils.getNowDate()); return hitRegistrationTeachInfoMapper.insertHitRegistrationTeachInfo(hitRegistrationTeachInfo); } /** * 修改教师信息 - * + * * @param hitRegistrationTeachInfo 教师信息 * @return 结果 */ @Override - public int updateHitRegistrationTeachInfo(HitRegistrationTeachInfo hitRegistrationTeachInfo) - { + public int updateHitRegistrationTeachInfo(HitRegistrationTeachInfo hitRegistrationTeachInfo) { hitRegistrationTeachInfo.setUpdateTime(DateUtils.getNowDate()); return hitRegistrationTeachInfoMapper.updateHitRegistrationTeachInfo(hitRegistrationTeachInfo); } /** * 批量删除教师信息 - * + * * @param ids 需要删除的教师信息主键 * @return 结果 */ @Override - public int deleteHitRegistrationTeachInfoByIds(Long[] ids) - { + public int deleteHitRegistrationTeachInfoByIds(Long[] ids) { return hitRegistrationTeachInfoMapper.deleteHitRegistrationTeachInfoByIds(ids); } /** * 删除教师信息信息 - * + * * @param id 教师信息主键 * @return 结果 */ @Override - public int deleteHitRegistrationTeachInfoById(Long id) - { + public int deleteHitRegistrationTeachInfoById(Long id) { return hitRegistrationTeachInfoMapper.deleteHitRegistrationTeachInfoById(id); } + + /** + * 根据学校名称和赛区查询教师信息 + * @param schoolName + * @param division + * @return + */ + @Override + public List getTeacherInfo(String schoolName, String division) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(HitRegistrationTeachInfo::getSchoolName, schoolName); + queryWrapper.eq(HitRegistrationTeachInfo::getDivision, division); + return hitRegistrationTeachInfoMapper.selectList(queryWrapper); + } } + + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitTeamMembersServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitTeamMembersServiceImpl.java new file mode 100644 index 0000000..f48ea69 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitTeamMembersServiceImpl.java @@ -0,0 +1,175 @@ +package com.ruoyi.cms.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.ruoyi.cms.domain.HitCompetitionStudentInfo; +import com.ruoyi.cms.domain.HitTeamMembers; +import com.ruoyi.cms.domain.HitTeams; +import com.ruoyi.cms.domain.Preliminary; +import com.ruoyi.cms.mapper.HitRegistrationTeachInfoMapper; +import com.ruoyi.cms.mapper.HitTeamMembersMapper; +import com.ruoyi.cms.service.*; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.HitRegistrationTeachInfo; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.List; + +/** + *

+ * 大赛团队队员表 服务实现类 + *

+ * + * @author author + * @since 2024-08-27 + */ +@Service +public class HitTeamMembersServiceImpl extends ServiceImpl implements IHitTeamMembersService { + + @Autowired + private IHitCompetitionStudentInfoService hitStudentInfoService; + @Autowired + private HitRegistrationTeachInfoMapper hitRegistrationTeachInfoMapper; + @Autowired + private HitTeamMembersMapper hitTeamMembersMapper; + @Autowired + private IHitTeamsService hitTeamsService; + @Autowired + private IHitRegInfoService hitRegInfoService; + + + /** + * 创建队员信息 + * @param preliminary + * @param teamId + */ + @Override + public void createTeamMembers(Preliminary preliminary,Integer teamId) { + if (preliminary.getTeammateOne() != null) { + insertTeamMembers(preliminary.getTeammateOne(),teamId,0); + } + if (preliminary.getTeammateTwo() != null) { + insertTeamMembers(preliminary.getTeammateTwo(),teamId,0); + } + if (preliminary.getLeaderTeacher() != null) { + insertTeacher(preliminary.getLeaderTeacher(),teamId, 1); + } + if (preliminary.getTeacherOne() != null) { + insertTeacher(preliminary.getTeacherOne(),teamId, 2); + } + if (preliminary.getTeacherTwo() != null) { + insertTeacher(preliminary.getTeacherTwo(),teamId,2); + } + } + + /** + * 同意队员加入 + * @return + */ + @Override + public String agreeTeam(Long teamId , Long teamMateId) { + //同意入队 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(HitTeamMembers::getTeamId,teamId) + .eq(HitTeamMembers::getTeamMemberId,teamMateId) + .set(HitTeamMembers::getIsAgreeWith,1); + int update = hitTeamMembersMapper.update(null, updateWrapper); + //如果修改成功,查询队伍是否全部同意 + if (update > 0) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(HitTeamMembers::getTeamId,teamId); + List hitTeamMembers = hitTeamMembersMapper.selectList(queryWrapper); + int count = 0; + for (HitTeamMembers hitTeamMember : hitTeamMembers) { + if (hitTeamMember.getIsAgreeWith() == 1) { + count++; + } + } + //当队伍全部同意后,创建初赛队伍成功 + if (count == hitTeamMembers.size()) { + //TODO: 创建初赛队伍 + HitTeams hitTeams = hitTeamsService.getOne(new LambdaQueryWrapper().eq(HitTeams::getId, teamId)); + String teamName = hitTeams.getTeamName(); + Integer teamCreatorId = hitTeams.getTeamCreatorId(); + HitTeamMembers teamMembers = hitTeamMembersMapper.selectOne(new LambdaQueryWrapper() + .eq(HitTeamMembers::getTeamId, teamId) + .eq(HitTeamMembers::getTeamResponsibilities, 1)); + String teacherId = teamMembers.getTeamMemberId(); + hitRegInfoService.createRegInfo(teamName,teamCreatorId,teacherId,teamId ); + } + return "同意加入"; + } + return "加入队伍失败"; + } + + /** + * 拒绝加入队伍 + * @param teamId + * @return + */ + @Override + public String refuseTeam(Long teamId){ + //拒绝入队 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(HitTeamMembers::getTeamId,teamId); + int update = hitTeamMembersMapper.delete(updateWrapper); + if (update > 0) { + //删除队伍 + boolean b = hitTeamsService.removeById(teamId); + if (b) { + return "已拒绝"; + } + } + return "加入队伍失败"; + + } + + /** + * 创建队员信息 + * @param TeamMemberId + * @return + */ + + public void insertTeamMembers(String TeamMemberId, Integer teamId,Integer IsAgreeWith) { + //获取当前学生信息 + SysUser user = SecurityUtils.getLoginUser().getUser(); + + + HitTeamMembers hitTeamMembers = new HitTeamMembers(); + hitTeamMembers.setIsAgreeWith(IsAgreeWith); + hitTeamMembers.setTeamId(String.valueOf(teamId)); + hitTeamMembers.setTeamMemberId(TeamMemberId); + hitTeamMembers.setTeamResponsibilities(0); + hitTeamMembers.setCreateTime(LocalDateTime.now()); + hitTeamMembers.setUpdateTime(LocalDateTime.now()); + hitTeamMembers.setCreateBy(user.getUserId().toString()); + hitTeamMembers.setUpdateBy(user.getUserId().toString()); + hitTeamMembersMapper.insert(hitTeamMembers); + + } + + /**insert + * 创建教师信息 + * @param TeacherId + * @return + */ + public void insertTeacher(String TeacherId,Integer teamId,Integer TeamResponsibilities) { + //获取当前学生信息 + SysUser user = SecurityUtils.getLoginUser().getUser(); + + HitTeamMembers hitTeamMembers = new HitTeamMembers(); + hitTeamMembers.setTeamId(String.valueOf(teamId)); + hitTeamMembers.setTeamMemberId(TeacherId); + hitTeamMembers.setTeamResponsibilities(TeamResponsibilities); + hitTeamMembers.setCreateTime(LocalDateTime.now()); + hitTeamMembers.setUpdateTime(LocalDateTime.now()); + hitTeamMembers.setCreateBy(user.getUserId().toString()); + hitTeamMembers.setUpdateBy(user.getUserId().toString()); + hitTeamMembersMapper.insert(hitTeamMembers); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitTeamsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitTeamsServiceImpl.java new file mode 100644 index 0000000..dd4a499 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/cms/service/impl/HitTeamsServiceImpl.java @@ -0,0 +1,78 @@ +package com.ruoyi.cms.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.cms.domain.HitCompetitionStudentInfo; +import com.ruoyi.cms.domain.HitTeams; +import com.ruoyi.cms.domain.Preliminary; +import com.ruoyi.cms.mapper.HitTeamsMapper; +import com.ruoyi.cms.service.IHitCompetitionStudentInfoService; +import com.ruoyi.cms.service.IHitTeamMembersService; +import com.ruoyi.cms.service.IHitTeamsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 团队表 服务实现类 + *

+ * + * @author author + * @since 2024-08-27 + */ +@Service +public class HitTeamsServiceImpl extends ServiceImpl implements IHitTeamsService { + + @Autowired + private IHitCompetitionStudentInfoService hitStuService; + + @Autowired + private HitTeamsMapper hitTeamsMapper; + + @Autowired + private IHitTeamMembersService hitTeamMembersService; + + @Autowired + private HitTeamMembersServiceImpl hitTeamMembersServiceImpl; + + /** + * 初赛报名 + * @param preliminary + * @return + */ + @Override + public int preRegister(Preliminary preliminary) { + //获取当前学生信息 + SysUser user = SecurityUtils.getLoginUser().getUser(); + + //查询当前学生报名表id + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(HitCompetitionStudentInfo::getStudentId, user.getUserName()); + HitCompetitionStudentInfo hitStu = hitStuService.getOne(queryWrapper); + Integer teamCreatorId = hitStu.getId(); + + HitTeams hitTeams = new HitTeams(); + hitTeams.setTeamName(preliminary.getTeamName()); + hitTeams.setDivision(preliminary.getDivision()); + hitTeams.setSchoolName(preliminary.getSchoolName()); + hitTeams.setTeamCreatorId(teamCreatorId); + hitTeams.setCreateTime(LocalDateTime.now()); + hitTeams.setUpdateTime(LocalDateTime.now()); + hitTeams.setCreateBy(user.getUserName()); + hitTeams.setUpdateBy(user.getUserName()); + //创建团队 + int insert = hitTeamsMapper.insert(hitTeams); + + Integer teamId = hitTeams.getId(); + hitTeamMembersServiceImpl.insertTeamMembers(String.valueOf(teamCreatorId),teamId,1); + //创建队友关系等待队友确认 + hitTeamMembersService.createTeamMembers(preliminary , teamId); + return insert; + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java index a435f99..5b328c9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java @@ -23,6 +23,8 @@ import com.ruoyi.system.service.ISysUserService; import java.util.List; import java.util.stream.Collectors; +import static net.sf.jsqlparser.util.validation.metadata.NamedObject.user; + /** * 个人信息 业务处理 * @@ -148,4 +150,17 @@ public class SysProfileController extends BaseController List menus = menuService.getHomeShortcuts(sysMenus); return success(menus); } + /** + * 获取老师或学生信息 + * @return + */ + @GetMapping("/teacherAndStudentInfo") + public AjaxResult getTeacherAndStudent(){ + LoginUser loginUser = getLoginUser(); + if (loginUser == null){ + return success( new SysUser()); + } + AjaxResult profile = profile(); + return success(profile); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java index fe19249..6adf46f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java @@ -1,5 +1,8 @@ package com.ruoyi.web.controller.system; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.ruoyi.cms.service.IHitRegistrationTeachInfoService; +import com.ruoyi.common.core.domain.HitRegistrationTeachInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -25,6 +28,9 @@ public class SysRegisterController extends BaseController @Autowired private ISysConfigService configService; + @Autowired + private IHitRegistrationTeachInfoService hitRegistrationTeachInfoService; + @PostMapping("/register") public AjaxResult register(@RequestBody RegisterBody user) { @@ -33,6 +39,12 @@ public class SysRegisterController extends BaseController return error("当前系统没有开启注册功能!"); } String msg = registerService.register(user); + + if (user.getUserType().equals("02")){ + HitRegistrationTeachInfo teachInfo = user.getHitRegistrationTeachInfo(); + teachInfo.setRelatedAccounts(user.getUsername()); + hitRegistrationTeachInfoService.insertHitRegistrationTeachInfo(teachInfo); + } return StringUtils.isEmpty(msg) ? success() : error(msg); } } diff --git a/ruoyi-admin/src/main/resources/mapper/cms/HitCompetitionStudentInfoMapper.xml b/ruoyi-admin/src/main/resources/mapper/cms/HitCompetitionStudentInfoMapper.xml new file mode 100644 index 0000000..08a22ef --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/cms/HitCompetitionStudentInfoMapper.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, hit_reg_id, stuName, schoolName, collegeName, major, division, phoneNumber, email, studentIdCard, trialsScore, isPreliminary, remark, del_flag, create_time, create_by, update_time, update_by + + + + + + + + insert into hit_competition_student_info + + hit_reg_id, + stu_name, + school_name, + college_name, + major, + division, + phone_number, + email, + student_id_card, + trials_score, + is_preliminary, + remark, + del_flag, + create_time, + create_by, + update_time, + update_by, + student_id, + + + #{hitRegId}, + #{stuName}, + #{schoolName}, + #{collegeName}, + #{major}, + #{division}, + #{phoneNumber}, + #{email}, + #{studentIdCard}, + #{trialsScore}, + #{isPreliminary}, + #{remark}, + #{delFlag}, + #{createTime}, + #{createBy}, + #{updateTime}, + #{updateBy}, + #{studentId}, + + + + + update hit_competition_student_info + + hit_reg_id = #{hitRegId}, + stu_name = #{stuName}, + school_name = #{schoolName}, + college_name = #{collegeName}, + major = #{major}, + division = #{division}, + phone_number = #{phoneNumber}, + email = #{email}, + student_id_card = #{studentIdCard}, + trials_score = #{trialsScore}, + is_preliminary = #{isPreliminary}, + remark = #{remark}, + del_flag = #{delFlag}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + + where id = #{id} + + + + delete from hit_competition_student_info where id = #{id} + + + + delete from hit_competition_student_info where id in + + #{id} + + + diff --git a/ruoyi-admin/src/main/resources/mapper/cms/HitRegistrationTeachInfoMapper.xml b/ruoyi-admin/src/main/resources/mapper/cms/HitRegistrationTeachInfoMapper.xml index 1bb6513..eb08eed 100644 --- a/ruoyi-admin/src/main/resources/mapper/cms/HitRegistrationTeachInfoMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/cms/HitRegistrationTeachInfoMapper.xml @@ -19,6 +19,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + @@ -60,6 +63,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_time, update_by, type, + school_name, + division, + related_accounts, + sample_address, #{id}, @@ -76,6 +83,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{updateTime}, #{updateBy}, #{type}, + #{schoolName}, + #{division}, + #{relatedAccounts}, + #{SampleAddress}, diff --git a/ruoyi-admin/src/main/resources/mapper/cms/HitTeamMembersMapper.xml b/ruoyi-admin/src/main/resources/mapper/cms/HitTeamMembersMapper.xml new file mode 100644 index 0000000..9a56eba --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/cms/HitTeamMembersMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + id, team_id, team_member_id, is_agree_with, create_time, create_by, update_time, update_by + + + diff --git a/ruoyi-admin/src/main/resources/mapper/cms/HitTeamsMapper.xml b/ruoyi-admin/src/main/resources/mapper/cms/HitTeamsMapper.xml new file mode 100644 index 0000000..5731e7f --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/cms/HitTeamsMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, team_name, division, school_name, team_creator_id, create_time, create_by, update_time, update_by + + + diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/HitRegistrationTeachInfo.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/HitRegistrationTeachInfo.java new file mode 100644 index 0000000..b17c741 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/HitRegistrationTeachInfo.java @@ -0,0 +1,209 @@ +package com.ruoyi.common.core.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; + +/** + * 教师信息对象 hit_registration_teach_info + * + * @author 点亮信息 + * @date 2024-08-20 + */ +public class HitRegistrationTeachInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 教师ID */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 报名主键 */ + @Excel(name = "报名主键") + private Long hitRegId; + + /** 教师姓名 */ + @Excel(name = "教师姓名") + private String teacherName; + + /** 教师职务 */ + @Excel(name = "教师职务") + private String teacherJob; + + /** 教师手机号 */ + @Excel(name = "教师手机号") + private String teacherNumber; + + /** 教师email */ + @Excel(name = "教师email") + private String teacherEmail; + + /** 教师所在系及专业 */ + @Excel(name = "教师所在系及专业") + private String teacherSchool; + + /** 逻辑删除0未删除1真删除 */ + private Long delFlag; + + /** 0指导老师1领队老师 */ + @Excel(name = "0指导老师1领队老师") + private String type; + + /** 老师所在学校 */ + @Excel(name = "老师所在学校") + private String schoolName; + + /** 老师所在赛区 */ + @Excel(name = "老师所在赛区") + private String division; + + /** 老师关联账号 */ + @Excel(name = "老师关联账号") + private String relatedAccounts; + + /** 盲样邮寄地址 */ + @Excel(name = "盲样邮寄地址") + private String SampleAddress; + + public String getSampleAddress() { + return SampleAddress; + } + + public void setSampleAddress(String sampleAddress) { + SampleAddress = sampleAddress; + } + + + + public String getRelatedAccounts() { + return relatedAccounts; + } + + public void setRelatedAccounts(String relatedAccounts) { + this.relatedAccounts = relatedAccounts; + } + + public String getDivision() { + return division; + } + + public void setDivision(String division) { + this.division = division; + } + + public String getSchoolName() { + return schoolName; + } + + public void setSchoolName(String schoolName) { + this.schoolName = schoolName; + } + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setHitRegId(Long hitRegId) + { + this.hitRegId = hitRegId; + } + + public Long getHitRegId() + { + return hitRegId; + } + public void setTeacherName(String teacherName) + { + this.teacherName = teacherName; + } + + public String getTeacherName() + { + return teacherName; + } + public void setTeacherJob(String teacherJob) + { + this.teacherJob = teacherJob; + } + + public String getTeacherJob() + { + return teacherJob; + } + public void setTeacherNumber(String teacherNumber) + { + this.teacherNumber = teacherNumber; + } + + public String getTeacherNumber() + { + return teacherNumber; + } + public void setTeacherEmail(String teacherEmail) + { + this.teacherEmail = teacherEmail; + } + + public String getTeacherEmail() + { + return teacherEmail; + } + public void setTeacherSchool(String teacherSchool) + { + this.teacherSchool = teacherSchool; + } + + public String getTeacherSchool() + { + return teacherSchool; + } + public void setDelFlag(Long delFlag) + { + this.delFlag = delFlag; + } + + public Long getDelFlag() + { + return delFlag; + } + public void setType(String type) + { + this.type = type; + } + + public String getType() + { + return type; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("hitRegId", getHitRegId()) + .append("teacherName", getTeacherName()) + .append("teacherJob", getTeacherJob()) + .append("teacherNumber", getTeacherNumber()) + .append("teacherEmail", getTeacherEmail()) + .append("teacherSchool", getTeacherSchool()) + .append("remark", getRemark()) + .append("delFlag", getDelFlag()) + .append("createTime", getCreateTime()) + .append("createBy", getCreateBy()) + .append("updateTime", getUpdateTime()) + .append("updateBy", getUpdateBy()) + .append("type", getType()) + .append("division", getDivision()) + .append("schoolName",getSchoolName()) + .append("relatedAccounts",getRelatedAccounts()) + .append("sampleAddress",getSampleAddress()) + .toString(); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index d169139..326a0bd 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -41,6 +41,11 @@ public class SysUser extends BaseEntity @Excel(name = "用户邮箱") private String email; + /** 用户类型 */ + @Excel(name = "用户类型", readConverterExp = "00系统用户,01学生,02老师") + private String userType; + + /** 手机号码 */ @Excel(name = "手机号码", cellType = ColumnType.TEXT) private String phonenumber; @@ -129,6 +134,7 @@ public class SysUser extends BaseEntity this.deptId = deptId; } + @Xss(message = "用户昵称不能包含脚本字符") @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符") public String getNickName() @@ -297,6 +303,13 @@ public class SysUser extends BaseEntity this.roleId = roleId; } + public String getUserType() { + return userType; + } + + public void setUserType(String userType) { + this.userType = userType; + } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -319,6 +332,7 @@ public class SysUser extends BaseEntity .append("updateTime", getUpdateTime()) .append("remark", getRemark()) .append("dept", getDept()) + .append("userType", getUserType()) .toString(); } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/RegisterBody.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/RegisterBody.java index 868a1fc..1b73369 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/RegisterBody.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/RegisterBody.java @@ -1,5 +1,8 @@ package com.ruoyi.common.core.domain.model; + +import com.ruoyi.common.core.domain.HitRegistrationTeachInfo; + /** * 用户注册对象 * @@ -8,4 +11,25 @@ package com.ruoyi.common.core.domain.model; public class RegisterBody extends LoginBody { + private String userType ; + private HitRegistrationTeachInfo hitRegistrationTeachInfo; + + + public String getUserType() { + return userType; + } + + public void setUserType(String userType) { + this.userType = userType; + } + + + + public HitRegistrationTeachInfo getHitRegistrationTeachInfo() { + return hitRegistrationTeachInfo; + } + + public void setHitRegistrationTeachInfo(HitRegistrationTeachInfo hitRegistrationTeachInfo) { + this.hitRegistrationTeachInfo = hitRegistrationTeachInfo; + } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java index fb2ae21..06fcd49 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java @@ -35,7 +35,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils /** * 获取当前Date型日期 - * + * * @return Date() 当前日期 */ public static Date getNowDate() diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index 647d40d..d9cbb0f 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -23,7 +23,7 @@ import com.ruoyi.framework.security.handle.LogoutSuccessHandlerImpl; /** * spring security配置 - * + * * @author ruoyi */ @EnableMethodSecurity(prePostEnabled = true, securedEnabled = true) @@ -35,7 +35,7 @@ public class SecurityConfig */ @Autowired private UserDetailsService userDetailsService; - + /** * 认证失败处理类 */ @@ -53,7 +53,7 @@ public class SecurityConfig */ @Autowired private JwtAuthenticationTokenFilter authenticationTokenFilter; - + /** * 跨域过滤器 */ @@ -117,6 +117,7 @@ public class SecurityConfig .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() .antMatchers("/api/**", "/ueditor/**","/system/dict/data/type/sys_user_sex","/system/dict/data/type/imitation_type" ,"/system/dict/data/type/school_name").permitAll() + .antMatchers("/system/hit_stu_info/*").permitAll() // 除上面外的所有请求全部需要鉴权认证 .anyRequest().authenticated(); }) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java index f2afe31..2598e52 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java @@ -20,12 +20,11 @@ import com.ruoyi.system.service.ISysUserService; /** * 注册校验方法 - * + * * @author ruoyi */ @Component -public class SysRegisterService -{ +public class SysRegisterService { @Autowired private ISysUserService userService; @@ -35,55 +34,44 @@ public class SysRegisterService @Autowired private RedisCache redisCache; + + + + /** * 注册 */ - public String register(RegisterBody registerBody) - { + public String register(RegisterBody registerBody) { String msg = "", username = registerBody.getUsername(), password = registerBody.getPassword(); SysUser sysUser = new SysUser(); sysUser.setUserName(username); // 验证码开关 boolean captchaEnabled = configService.selectCaptchaEnabled(); - if (captchaEnabled) - { + if (captchaEnabled) { validateCaptcha(username, registerBody.getCode(), registerBody.getUuid()); } - if (StringUtils.isEmpty(username)) - { + if (StringUtils.isEmpty(username)) { msg = "用户名不能为空"; - } - else if (StringUtils.isEmpty(password)) - { + } else if (StringUtils.isEmpty(password)) { msg = "用户密码不能为空"; - } - else if (username.length() < UserConstants.USERNAME_MIN_LENGTH - || username.length() > UserConstants.USERNAME_MAX_LENGTH) - { + } else if (username.length() < UserConstants.USERNAME_MIN_LENGTH + || username.length() > UserConstants.USERNAME_MAX_LENGTH) { msg = "账户长度必须在2到20个字符之间"; - } - else if (password.length() < UserConstants.PASSWORD_MIN_LENGTH - || password.length() > UserConstants.PASSWORD_MAX_LENGTH) - { + } else if (password.length() < UserConstants.PASSWORD_MIN_LENGTH + || password.length() > UserConstants.PASSWORD_MAX_LENGTH) { msg = "密码长度必须在5到20个字符之间"; - } - else if (!userService.checkUserNameUnique(sysUser)) - { + } else if (!userService.checkUserNameUnique(sysUser)) { msg = "保存用户'" + username + "'失败,注册账号已存在"; - } - else - { + } else { sysUser.setNickName(username); sysUser.setPassword(SecurityUtils.encryptPassword(password)); + sysUser.setUserType(registerBody.getUserType()); boolean regFlag = userService.registerUser(sysUser); - if (!regFlag) - { + if (!regFlag) { msg = "注册失败,请联系系统管理人员"; - } - else - { + } else { AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.REGISTER, MessageUtils.message("user.register.success"))); } } @@ -92,24 +80,27 @@ public class SysRegisterService /** * 校验验证码 - * + * * @param username 用户名 - * @param code 验证码 - * @param uuid 唯一标识 + * @param code 验证码 + * @param uuid 唯一标识 * @return 结果 */ - public void validateCaptcha(String username, String code, String uuid) - { + public void validateCaptcha(String username, String code, String uuid) { String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + StringUtils.nvl(uuid, ""); String captcha = redisCache.getCacheObject(verifyKey); redisCache.deleteObject(verifyKey); - if (captcha == null) - { + if (captcha == null) { throw new CaptchaExpireException(); } - if (!code.equalsIgnoreCase(captcha)) - { + if (!code.equalsIgnoreCase(captcha)) { throw new CaptchaException(); } } -} + + /** + * 老师注册信息 + * @Param: HitRegistrationTeachInfo + */ + +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 76e1c79..d6de5b3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -1,6 +1,8 @@ package com.ruoyi.system.mapper; import java.util.List; + + import org.apache.ibatis.annotations.Param; import com.ruoyi.common.core.domain.entity.SysUser; @@ -124,4 +126,7 @@ public interface SysUserMapper * @return 结果 */ public SysUser checkEmailUnique(String email); + + + SysUser select(String userName); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 10bc2ab..735cdec 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -1,6 +1,7 @@ package com.ruoyi.system.service; import java.util.List; + import com.ruoyi.common.core.domain.entity.SysUser; /** @@ -203,4 +204,6 @@ public interface ISysUserService * @return 结果 */ public String importUser(List userList, Boolean isUpdateSupport, String operName); + + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 0aa82fb..52caaa1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -65,6 +65,8 @@ public class SysUserServiceImpl implements ISysUserService @Autowired protected Validator validator; + + /** * 根据条件分页查询用户列表 * @@ -547,4 +549,5 @@ public class SysUserServiceImpl implements ISysUserService } return successMsg.toString(); } + } diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 0856cb2..7dbdb33 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -141,7 +141,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + insert into sys_user( user_id, @@ -156,6 +160,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" status, create_by, remark, + user_type, create_time )values( #{userId}, @@ -170,11 +175,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{status}, #{createBy}, #{remark}, + #{userType}, sysdate() ) - - + + + update sys_user dept_id = #{deptId}, diff --git a/ruoyi-system/target/classes/mapper/system/SysUserMapper.xml b/ruoyi-system/target/classes/mapper/system/SysUserMapper.xml index 0856cb2..7dbdb33 100644 --- a/ruoyi-system/target/classes/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/target/classes/mapper/system/SysUserMapper.xml @@ -141,7 +141,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + insert into sys_user( user_id, @@ -156,6 +160,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" status, create_by, remark, + user_type, create_time )values( #{userId}, @@ -170,11 +175,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{status}, #{createBy}, #{remark}, + #{userType}, sysdate() ) - - + + + update sys_user dept_id = #{deptId}, diff --git a/ruoyi-ui/src/layout/components/Navbar.vue b/ruoyi-ui/src/layout/components/Navbar.vue index e18c380..ff8b2c4 100644 --- a/ruoyi-ui/src/layout/components/Navbar.vue +++ b/ruoyi-ui/src/layout/components/Navbar.vue @@ -102,6 +102,7 @@ export default { type: 'warning' }).then(() => { this.$store.dispatch('LogOut').then(() => { + localStorage.removeItem('isLoggedIn'); // 清空 localStorage 中的登录状态 location.href = '/index'; }) }).catch(() => {}); diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue index e5596a3..5207a10 100644 --- a/ruoyi-ui/src/views/login.vue +++ b/ruoyi-ui/src/views/login.vue @@ -91,7 +91,7 @@ export default { // 验证码开关 captchaEnabled: true, // 注册开关 - register: false, + register: true, redirect: undefined }; }, diff --git a/ruoyi-ui/src/views/officialWebsite/Components/header.vue b/ruoyi-ui/src/views/officialWebsite/Components/header.vue index 6b5bdf8..62e3f06 100644 --- a/ruoyi-ui/src/views/officialWebsite/Components/header.vue +++ b/ruoyi-ui/src/views/officialWebsite/Components/header.vue @@ -1,4 +1,5 @@ diff --git a/ruoyi-ui/src/views/officialWebsite/competition.vue b/ruoyi-ui/src/views/officialWebsite/competition.vue index e8cea46..701382b 100644 --- a/ruoyi-ui/src/views/officialWebsite/competition.vue +++ b/ruoyi-ui/src/views/officialWebsite/competition.vue @@ -23,298 +23,163 @@
-
- -

参赛报名表(本科组)

- - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-

领队老师

-
- - - - - - - - - - - - - - - - - - - - - -
-
- - -
- -

指导老师①

- - -
- - +
+
+ + + + + + +
+
+ + + - - - - - - - - - - - - - - - - -
-
- - -
-

指导老师②

-
- - - - - - - - - - - - - - - - - - - -
-
- - -
-

参赛人信息①

-
- - - - - - - + + + + - - - + + + + + + + + + + + - - + + + + + + + + + -
-
- -
-

参赛人信息②

-
- - - - - - - - - - - - - - - - -
-
- -
-

参赛人信息③

-
- - - - - - - - - - - - - - - - - + + 提交 + +
- - -
-

盲样邮寄地址

-
- - - - +
+
成绩未出,耐心等待
+
+ 很遗憾,个人选拔赛未通过,您的个人成绩为 : {{ signUpForm.trialsScore }}
+
+ 初赛成绩:{{ signUpForm.trialsScore }} + + + - - - + + - - - + + -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ 提交 +
- -
-

附件上传

- - - - - - - 下载模版 - - - +
+
+ 是否加入队伍{{teammateInfo.teamName }} +
+
+ 拒绝组队 + 确认组队 +
+ +
+
+
+ 已加入队伍{{teammateInfo.teamName }},等待其他队友加入 +
- -
- - 提交 - -
- +
+
+
初赛报名提交成功,请通过大赛通知获取通过信息
+
+
+
+ -
+
-
-
- -
{{item.contentTitle}}
+
+
+ +
{{ item.contentTitle }}
-
- - - - -
+
+ + + + +
-
{{item.publishDate}}
-
{{item.contentTitle}}
-
{{item.summary || '' }}
+
{{ item.publishDate }}
+
{{ item.contentTitle }}
+
{{ item.summary || '' }}
- +
-
- +
+
-
+
@@ -325,14 +190,15 @@