liujc 2 년 전
부모
커밋
20d9a7d402
42개의 변경된 파일2362개의 추가작업 그리고 2개의 파일을 삭제
  1. 12 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ClassGroup.java
  2. 72 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CoursePatrolEvaluation.java
  3. 13 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java
  4. 59 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SchoolActivity.java
  5. 71 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SchoolActivityDetail.java
  6. 35 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SchoolActivityDetailUser.java
  7. 30 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EEvaluateProblemType.java
  8. 26 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EEvaluateStatus.java
  9. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EGroupGradeType.java
  10. 25 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EInGroupStatus.java
  11. 27 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ESchoolActivityProgramType.java
  12. 25 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ESchoolActivityStatus.java
  13. 30 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ESchoolActivityType.java
  14. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexErrorType.java
  15. 27 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/CoursePatrolEvaluationMapper.java
  16. 27 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/SchoolActivityDetailMapper.java
  17. 27 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/SchoolActivityDetailUserMapper.java
  18. 27 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/SchoolActivityMapper.java
  19. 253 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/CoursePatrolEvaluationWrapper.java
  20. 63 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/SchoolActivityDetailUserWrapper.java
  21. 123 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/SchoolActivityDetailWrapper.java
  22. 201 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/SchoolActivityWrapper.java
  23. 167 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/StudentWrapper.java
  24. 119 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/TeachingPointWrapper.java
  25. 43 0
      mec-biz/src/main/java/com/ym/mec/biz/service/CoursePatrolEvaluationService.java
  26. 43 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SchoolActivityDetailService.java
  27. 43 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SchoolActivityDetailUserService.java
  28. 43 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SchoolActivityService.java
  29. 67 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursePatrolEvaluationServiceImpl.java
  30. 66 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolActivityDetailServiceImpl.java
  31. 66 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolActivityDetailUserServiceImpl.java
  32. 66 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolActivityServiceImpl.java
  33. 24 0
      mec-biz/src/main/resources/config/mybatis/CoursePatrolEvaluationMapper.xml
  34. 11 0
      mec-biz/src/main/resources/config/mybatis/SchoolActivityDetailMapper.xml
  35. 11 0
      mec-biz/src/main/resources/config/mybatis/SchoolActivityDetailUserMapper.xml
  36. 11 0
      mec-biz/src/main/resources/config/mybatis/SchoolActivityMapper.xml
  37. 26 0
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  38. 44 0
      mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java
  39. 78 0
      mec-web/src/main/java/com/ym/mec/web/controller/school/CoursePatrolEvaluationController.java
  40. 77 0
      mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolActivityController.java
  41. 73 0
      mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolActivityDetailController.java
  42. 73 0
      mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolActivityDetailUserController.java

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ClassGroup.java

@@ -68,6 +68,9 @@ public class ClassGroup extends BaseEntity {
 	@ApiModelProperty(value = "学生数量", required = false)
 	@ApiModelProperty(value = "学生数量", required = false)
 	private Integer studentNum;
 	private Integer studentNum;
 
 
+    @ApiModelProperty("教学点")
+    private String teachingPoint;
+
 	/**  */
 	/**  */
 	private java.util.Date createTime;
 	private java.util.Date createTime;
 
 
@@ -104,7 +107,15 @@ public class ClassGroup extends BaseEntity {
 	
 	
 	private List<CourseSchedule> courseScheduleList = new ArrayList<CourseSchedule>();
 	private List<CourseSchedule> courseScheduleList = new ArrayList<CourseSchedule>();
 
 
-	public String getDesc() {
+    public String getTeachingPoint() {
+        return teachingPoint;
+    }
+
+    public void setTeachingPoint(String teachingPoint) {
+        this.teachingPoint = teachingPoint;
+    }
+
+    public String getDesc() {
 		return desc;
 		return desc;
 	}
 	}
 
 

+ 72 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CoursePatrolEvaluation.java

@@ -0,0 +1,72 @@
+package com.ym.mec.biz.dal.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.ym.mec.biz.dal.enums.EEvaluateStatus;
+import lombok.Data;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 巡堂详情
+ * 2023-05-04 11:32:00
+ */
+@Data
+@ApiModel(" CoursePatrolEvaluation-巡堂详情")
+@TableName("course_patrol_evaluation")
+public class CoursePatrolEvaluation implements Serializable {
+
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("合作单位ID")
+	@TableField(value = "cooperation_organ_id_")
+    private Integer cooperationOrganId;
+
+    @ApiModelProperty("课程ID") 
+	@TableField(value = "course_schedule_id_")
+    private Integer courseScheduleId;
+
+    @ApiModelProperty("操作用户ID")
+	@TableField(value = "user_id_")
+    private Integer userId;
+
+    @ApiModelProperty("优秀EXCELLENT、良好GOOD、合格QUALIFIED、不合格UNQUALIFIED")
+    @TableField(value = "evaluate_status_")
+    private EEvaluateStatus evaluateStatus;
+
+    @ApiModelProperty("问题类型 课堂纪律 CLASSROOM_DISCIPLINE, 放学组织 AFTER_SCHOOL_ORGANIZATION, 环境卫生 ENVIRONMENTAL_SANITATION, 教态仪表 TEACHING_DEMEANOR, 沟通表达 COMMUNICATION_EXPRESSION, 专业能力 PROFESSIONAL_ABILITY, 其他 OTHER")
+    @TableField(value = "problem_type_")
+    private String problemType;
+
+    @ApiModelProperty("问题描述") 
+	@TableField(value = "problem_desc_")
+    private String problemDesc;
+
+
+    @ApiModelProperty("处理状态")
+    @TableField(value = "handle_status_")
+    private Boolean handleStatus;
+
+    @ApiModelProperty("建议") 
+	@TableField(value = "suggestion_")
+    private String suggestion;
+
+    @ApiModelProperty("附件") 
+	@TableField(value = "attachment_url_")
+    private String attachmentUrl;
+
+	@TableField(value = "create_time_")
+    private Date createTime;
+
+	@TableField(value = "update_time_")
+    private Date updateTime;
+
+}

+ 13 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java

@@ -207,7 +207,19 @@ public class CourseSchedule  extends BaseEntity{
 	//当前课程是否是转换课
 	//当前课程是否是转换课
 	private Boolean convertFlag = false;
 	private Boolean convertFlag = false;
 
 
-	public Boolean getSettlementReportFlag() {
+
+    @ApiModelProperty("教学点")
+    private String teachingPoint;
+
+    public SimpleDateFormat getSimpleDateFormat() {
+        return simpleDateFormat;
+    }
+
+    public void setSimpleDateFormat(SimpleDateFormat simpleDateFormat) {
+        this.simpleDateFormat = simpleDateFormat;
+    }
+
+    public Boolean getSettlementReportFlag() {
 		return settlementReportFlag;
 		return settlementReportFlag;
 	}
 	}
 
 

+ 59 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SchoolActivity.java

@@ -0,0 +1,59 @@
+package com.ym.mec.biz.dal.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.ym.mec.biz.dal.enums.ESchoolActivityType;
+import lombok.Data;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 学校活动
+ * 2023-05-04 11:32:00
+ */
+@Data
+@ApiModel(" SchoolActivity-学校活动")
+@TableName("school_activity")
+public class SchoolActivity implements Serializable {
+
+	    @TableId(value = "id_", type = IdType.AUTO)
+        private Integer id;
+
+    @ApiModelProperty("合作单位ID")
+    @TableField(value = "cooperation_organ_id_")
+    private Integer cooperationOrganId;
+
+    @ApiModelProperty("活动开始日期") 
+	@TableField(value = "start_time_")
+    private Date startTime;
+
+    @ApiModelProperty("活动结束日期") 
+	@TableField(value = "end_time_")
+    private Date endTime;
+
+    @ApiModelProperty("活动名称") 
+	@TableField(value = "name_")
+    private String name;
+
+    @ApiModelProperty("活动类型 开放日 OPEN_DAY 汇演 PERFORMANCE 音乐会 CONCERT 比赛 COMPETITION 讲座 LECTURE 校庆 SCHOOL_DAY 迎宾 WELCOME 其他 OTHER")
+	@TableField(value = "type_")
+    private ESchoolActivityType type;
+
+    @ApiModelProperty("创建人ID") 
+	@TableField(value = "create_by_")
+    private Integer createBy;
+
+	@TableField(value = "create_time_")
+    private Date createTime;
+
+	@TableField(value = "update_time_")
+    private Date updateTime;
+
+}

+ 71 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SchoolActivityDetail.java

@@ -0,0 +1,71 @@
+package com.ym.mec.biz.dal.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.ym.mec.biz.dal.enums.ESchoolActivityProgramType;
+import lombok.Data;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 活动详情
+ * 2023-05-04 11:32:00
+ */
+@Data
+@ApiModel(" SchoolActivityDetail-活动详情")
+@TableName("school_activity_detail")
+public class SchoolActivityDetail implements Serializable {
+
+	    @TableId(value = "id_", type = IdType.AUTO)
+        private Integer id;
+
+    @ApiModelProperty("合作单位ID")
+    @TableField(value = "cooperation_organ_id_")
+    private Integer cooperationOrganId;
+
+    @ApiModelProperty("活动id") 
+	@TableField(value = "school_activity_id_")
+    private Integer schoolActivityId;
+
+    @ApiModelProperty("节目名称") 
+	@TableField(value = "name_")
+    private String name;
+
+    @ApiModelProperty("节目类型") 
+	@TableField(value = "type_")
+    private ESchoolActivityProgramType type;
+
+    @ApiModelProperty("乐团ID") 
+	@TableField(value = "music_group_id_")
+    private Integer musicGroupId;
+
+    @ApiModelProperty("声部ID集合") 
+	@TableField(value = "subject_id_list_")
+    private String subjectIdList;
+
+    @ApiModelProperty("学生人数") 
+	@TableField(value = "student_num_")
+    private Integer studentNum;
+
+    @ApiModelProperty("节目时长-秒") 
+	@TableField(value = "time_")
+    private Integer time;
+
+    @ApiModelProperty("附件") 
+	@TableField(value = "attachment_url_")
+    private String attachmentUrl;
+
+	@TableField(value = "create_time_")
+    private Date createTime;
+
+	@TableField(value = "update_time_")
+    private Date updateTime;
+
+}

+ 35 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SchoolActivityDetailUser.java

@@ -0,0 +1,35 @@
+package com.ym.mec.biz.dal.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import lombok.Data;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+
+/**
+ * 活动详情人员
+ * 2023-05-04 11:32:00
+ */
+@Data
+@ApiModel(" SchoolActivityDetailUser-活动详情人员")
+@TableName("school_activity_detail_user")
+public class SchoolActivityDetailUser implements Serializable {
+
+	    @TableId(value = "id_", type = IdType.AUTO)
+        private Integer id;
+
+    @ApiModelProperty("活动详情ID") 
+	@TableField(value = "school_activity_detail_id_")
+    private Integer schoolActivityDetailId;
+
+    @ApiModelProperty("学生ID") 
+	@TableField(value = "student_id_")
+    private Integer studentId;
+
+}

+ 30 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EEvaluateProblemType.java

@@ -0,0 +1,30 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.ym.mec.common.enums.BaseEnum;
+import lombok.Getter;
+
+@Getter
+public enum EEvaluateProblemType implements BaseEnum<String, EEvaluateProblemType> {
+
+    // 问题类型(课堂纪律、放学组织、环境卫生、教态仪表、沟通表达、专业能力、其他)
+    // 课堂纪律 CLASSROOM_DISCIPLINE, 放学组织 AFTER_SCHOOL_ORGANIZATION, 环境卫生 ENVIRONMENTAL_SANITATION, 教态仪表 TEACHING_DEMEANOR, 沟通表达 COMMUNICATION_EXPRESSION, 专业能力 PROFESSIONAL_ABILITY, 其他 OTHER
+    CLASSROOM_DISCIPLINE("CLASSROOM_DISCIPLINE","课堂纪律"),
+    AFTER_SCHOOL_ORGANIZATION("AFTER_SCHOOL_ORGANIZATION","放学组织"),
+    ENVIRONMENTAL_SANITATION("ENVIRONMENTAL_SANITATION","环境卫生"),
+    TEACHING_DEMEANOR("TEACHING_DEMEANOR","教态仪表"),
+    COMMUNICATION_EXPRESSION("COMMUNICATION_EXPRESSION","沟通表达"),
+    PROFESSIONAL_ABILITY("PROFESSIONAL_ABILITY","专业能力"),
+    OTHER("OTHER","其他");
+
+    @EnumValue
+    private String code;
+
+    private String msg;
+
+    EEvaluateProblemType(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+}

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EEvaluateStatus.java

@@ -0,0 +1,26 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.ym.mec.common.enums.BaseEnum;
+import lombok.Getter;
+
+@Getter
+public enum EEvaluateStatus implements BaseEnum<String, EEvaluateStatus> {
+
+    // 评价(优秀EXCELLENT、良好GOOD、合格QUALIFIED、不合格UNQUALIFIED
+    EXCELLENT("EXCELLENT","优秀"),
+    GOOD("GOOD","良好"),
+    QUALIFIED("QUALIFIED","合格"),
+    UNQUALIFIED("UNQUALIFIED","不合格");
+
+    @EnumValue
+    private String code;
+
+    private String msg;
+
+    EEvaluateStatus(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+}

+ 34 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EGroupGradeType.java

@@ -0,0 +1,34 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.ym.mec.common.enums.BaseEnum;
+import lombok.Getter;
+
+@Getter
+public enum EGroupGradeType implements BaseEnum<String, EGroupGradeType> {
+
+    // 团年级分布 小学团 PRIMARY 初中团 MIDDLE 高中团 HIGH 混合团 MIXED
+    //小学团:学生报名时【年级】只可选择1 ~ 5/6年级
+    //
+    //初中团:学生报名时【年级】只可选择初一 ~ 初三/初四
+    //
+    //混合团:学生报名时【年级】可选择1~初三/初四
+    //
+    //高中团:学生报名时【年级】可选择高一~高三
+
+    PRIMARY("PRIMARY", "小学团"),
+    MIDDLE("MIDDLE", "初中团"),
+    HIGH("HIGH", "高中团"),
+    MIXED("MIXED", "混合团");
+
+    @EnumValue
+    private String code;
+
+    private String msg;
+
+    EGroupGradeType(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+}

+ 25 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EInGroupStatus.java

@@ -0,0 +1,25 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.ym.mec.common.enums.BaseEnum;
+import lombok.Getter;
+
+@Getter
+public enum EInGroupStatus implements BaseEnum<String, EInGroupStatus> {
+
+    // 在团状态 在团 IN 退团 OUT 申请退团 APPLY_OUT
+    IN("IN", "在团"),
+    OUT("OUT", "退团"),
+    APPLY_OUT("APPLY_OUT", "申请退团");
+
+    @EnumValue
+    private String code;
+
+    private String msg;
+
+    EInGroupStatus(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+}

+ 27 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ESchoolActivityProgramType.java

@@ -0,0 +1,27 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.ym.mec.common.enums.BaseEnum;
+import lombok.Getter;
+
+@Getter
+public enum ESchoolActivityProgramType implements BaseEnum<String, ESchoolActivityProgramType> {
+
+    // 节目类型 合奏 ENSEMBLE 独奏 SOLO 重奏 REPRISE 齐奏 UNISON
+    ENSEMBLE("ENSEMBLE","合奏"),
+    SOLO("SOLO","独奏"),
+    REPRISE("REPRISE","重奏"),
+    UNISON("UNISON","齐奏");
+
+
+    @EnumValue
+    private String code;
+
+    private String msg;
+
+    ESchoolActivityProgramType(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+}

+ 25 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ESchoolActivityStatus.java

@@ -0,0 +1,25 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.ym.mec.common.enums.BaseEnum;
+import lombok.Getter;
+
+@Getter
+public enum ESchoolActivityStatus implements BaseEnum<String, ESchoolActivityStatus> {
+
+    // 活动状态 未开始 NOT_START 进行中 PROCESSING 已结束 END,
+    NOT_START("NOT_START","未开始"),
+    PROCESSING("PROCESSING","进行中"),
+    END("END","已结束");
+
+    @EnumValue
+    private String code;
+
+    private String msg;
+
+    ESchoolActivityStatus(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+}

+ 30 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ESchoolActivityType.java

@@ -0,0 +1,30 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.ym.mec.common.enums.BaseEnum;
+import lombok.Getter;
+
+@Getter
+public enum ESchoolActivityType implements BaseEnum<String, ESchoolActivityType> {
+
+    // 活动类型 开放日 OPEN_DAY 汇演 PERFORMANCE 音乐会 CONCERT 比赛 COMPETITION 讲座 LECTURE 校庆 SCHOOL_DAY 迎宾 WELCOME 其他 OTHER
+    OPEN_DAY("OPEN_DAY","开放日"),
+    PERFORMANCE("PERFORMANCE","汇演"),
+    CONCERT("CONCERT","音乐会"),
+    COMPETITION("COMPETITION","比赛"),
+    LECTURE("LECTURE","讲座"),
+    SCHOOL_DAY("SCHOOL_DAY","校庆"),
+    WELCOME("WELCOME","迎宾"),
+    OTHER("OTHER","其他");
+
+    @EnumValue
+    private String code;
+
+    private String msg;
+
+    ESchoolActivityType(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+}

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexErrorType.java

@@ -47,6 +47,10 @@ public enum IndexErrorType implements BaseEnum<String, IndexErrorType> {
     TEACHER_NOT_A_CLASS("TEACHER_NOT_A_CLASS", "课程异常"),
     TEACHER_NOT_A_CLASS("TEACHER_NOT_A_CLASS", "课程异常"),
     TEACHER_SERVE_ERROR("TEACHER_SERVE_ERROR", "服务指标异常"),
     TEACHER_SERVE_ERROR("TEACHER_SERVE_ERROR", "服务指标异常"),
     HAS_FREE_COURSE_TIMES("HAS_FREE_COURSE_TIMES", "学员已排课时长未消耗完"),
     HAS_FREE_COURSE_TIMES("HAS_FREE_COURSE_TIMES", "学员已排课时长未消耗完"),
+
+    // 学校巡堂异常
+    SCHOOL_PATROL("SCHOOL_PATROL", "学校巡堂异常"),
+
     ;
     ;
 
 
     private String code;
     private String code;

+ 27 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/CoursePatrolEvaluationMapper.java

@@ -0,0 +1,27 @@
+package com.ym.mec.biz.dal.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+import com.ym.mec.biz.dal.entity.CoursePatrolEvaluation;
+import com.ym.mec.biz.dal.wrapper.CoursePatrolEvaluationWrapper;
+
+/**
+ * 巡堂详情
+ * 2023-05-04 11:32:00
+ */
+@Repository
+public interface CoursePatrolEvaluationMapper extends BaseMapper<CoursePatrolEvaluation> {
+
+	/**
+	 * 分页查询
+	 * @param page IPage<CoursePatrolEvaluationWrapper.CoursePatrolEvaluation>
+	 * @param param CoursePatrolEvaluationWrapper.CoursePatrolEvaluationQuery
+	 * @return List<CoursePatrolEvaluationWrapper.CoursePatrolEvaluation>
+	 */
+	List<CoursePatrolEvaluationWrapper.CoursePatrolEvaluationInfo> selectPage(@Param("page") IPage<CoursePatrolEvaluationWrapper.CoursePatrolEvaluationInfo> page, @Param("param") CoursePatrolEvaluationWrapper.CoursePatrolEvaluationQuery param);
+	
+}

+ 27 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/SchoolActivityDetailMapper.java

@@ -0,0 +1,27 @@
+package com.ym.mec.biz.dal.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+import com.ym.mec.biz.dal.entity.SchoolActivityDetail;
+import com.ym.mec.biz.dal.wrapper.SchoolActivityDetailWrapper;
+
+/**
+ * 活动详情
+ * 2023-05-04 11:32:00
+ */
+@Repository
+public interface SchoolActivityDetailMapper extends BaseMapper<SchoolActivityDetail> {
+
+	/**
+	 * 分页查询
+	 * @param page IPage<SchoolActivityDetailWrapper.SchoolActivityDetail>
+	 * @param param SchoolActivityDetailWrapper.SchoolActivityDetailQuery
+	 * @return List<SchoolActivityDetailWrapper.SchoolActivityDetail>
+	 */
+	List<SchoolActivityDetail> selectPage(@Param("page") IPage<SchoolActivityDetail> page, @Param("param") SchoolActivityDetailWrapper.SchoolActivityDetailQuery param);
+	
+}

+ 27 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/SchoolActivityDetailUserMapper.java

@@ -0,0 +1,27 @@
+package com.ym.mec.biz.dal.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+import com.ym.mec.biz.dal.entity.SchoolActivityDetailUser;
+import com.ym.mec.biz.dal.wrapper.SchoolActivityDetailUserWrapper;
+
+/**
+ * 活动详情人员
+ * 2023-05-04 11:32:00
+ */
+@Repository
+public interface SchoolActivityDetailUserMapper extends BaseMapper<SchoolActivityDetailUser> {
+
+	/**
+	 * 分页查询
+	 * @param page IPage<SchoolActivityDetailUserWrapper.SchoolActivityDetailUser>
+	 * @param param SchoolActivityDetailUserWrapper.SchoolActivityDetailUserQuery
+	 * @return List<SchoolActivityDetailUserWrapper.SchoolActivityDetailUser>
+	 */
+	List<SchoolActivityDetailUser> selectPage(@Param("page") IPage<SchoolActivityDetailUser> page, @Param("param") SchoolActivityDetailUserWrapper.SchoolActivityDetailUserQuery param);
+	
+}

+ 27 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/SchoolActivityMapper.java

@@ -0,0 +1,27 @@
+package com.ym.mec.biz.dal.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+import com.ym.mec.biz.dal.entity.SchoolActivity;
+import com.ym.mec.biz.dal.wrapper.SchoolActivityWrapper;
+
+/**
+ * 学校活动
+ * 2023-05-04 11:32:00
+ */
+@Repository
+public interface SchoolActivityMapper extends BaseMapper<SchoolActivity> {
+
+	/**
+	 * 分页查询
+	 * @param page IPage<SchoolActivityWrapper.SchoolActivity>
+	 * @param param SchoolActivityWrapper.SchoolActivityQuery
+	 * @return List<SchoolActivityWrapper.SchoolActivity>
+	 */
+	List<SchoolActivityWrapper.SchoolActivity> selectPage(@Param("page") IPage<SchoolActivityWrapper.SchoolActivity> page, @Param("param") SchoolActivityWrapper.SchoolActivityQuery param);
+	
+}

+ 253 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/CoursePatrolEvaluationWrapper.java

@@ -0,0 +1,253 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.core.conditions.update.Update;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.enums.EEvaluateProblemType;
+import com.ym.mec.biz.dal.enums.EEvaluateStatus;
+import com.ym.mec.biz.dal.enums.ESchoolActivityProgramType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+import java.util.Optional;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * 巡堂详情
+ * 2023-05-04 11:32:00
+ */
+@ApiModel(value = "CoursePatrolEvaluationWrapper对象", description = "巡堂详情查询对象")
+public class CoursePatrolEvaluationWrapper {
+
+    @Data
+	@Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" CoursePatrolEvaluationQuery-巡堂详情")
+    public static class CoursePatrolEvaluationQuery implements QueryInfo {
+    
+    	@ApiModelProperty("当前页")
+        private Integer page;
+        
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+        
+        @ApiModelProperty("老师姓名/编号/手机号")
+		private String keyword;
+
+        @ApiModelProperty("开始时间")
+        private Date startTime;
+
+        @ApiModelProperty("结束时间")
+        private Date endTime;
+
+        @ApiModelProperty("分部ID")
+        private String organId;
+
+
+        @ApiModelProperty("合作单位ID ")
+        private Integer cooperationOrganId;
+
+        @ApiModelProperty("课程类型")
+        private CourseSchedule.CourseScheduleType courseType;
+
+
+        @ApiModelProperty("优秀EXCELLENT、良好GOOD、合格QUALIFIED、不合格UNQUALIFIED")
+        private EEvaluateStatus evaluateStatus;
+
+
+        @ApiModelProperty("问题类型 课堂纪律 CLASSROOM_DISCIPLINE, 放学组织 AFTER_SCHOOL_ORGANIZATION, 环境卫生 ENVIRONMENTAL_SANITATION, 教态仪表 TEACHING_DEMEANOR, 沟通表达 COMMUNICATION_EXPRESSION, 专业能力 PROFESSIONAL_ABILITY, 其他 OTHER")
+        private EEvaluateProblemType problemType;
+
+        @ApiModelProperty("处理状态")
+        private Boolean handleFlag;
+
+        @ApiModelProperty("评价状态")
+        private Boolean evaluateFlag;
+        public String getKeyword() {
+            return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
+        }
+        
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static CoursePatrolEvaluationQuery from(String json) {
+            return JSON.parseObject(json, CoursePatrolEvaluationQuery.class);
+        }
+    }
+
+
+    @Data
+    @Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" CoursePatrolEvaluationStatQuery-巡堂查询")
+    public static class CoursePatrolEvaluationStatQuery implements QueryInfo {
+
+        @ApiModelProperty("当前页")
+        private Integer page;
+
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+
+        @ApiModelProperty("开始时间")
+        private Date startTime;
+
+        @ApiModelProperty("结束时间")
+        private Date endTime;
+
+        @ApiModelProperty("合作单位ID")
+        private Integer cooperationOrganId;
+
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static CoursePatrolEvaluationQuery from(String json) {
+            return JSON.parseObject(json, CoursePatrolEvaluationQuery.class);
+        }
+    }
+
+    @Data
+    @ApiModel("CoursePatrolEvaluationStat-巡堂详情统计")
+    public static class CoursePatrolEvaluationStat {
+
+        @ApiModelProperty("日期")
+        private String date;
+
+        @ApiModelProperty("声部课 数量")
+        private Integer singleCourseCount;
+
+        @ApiModelProperty("合奏课数量")
+        private Integer minCourseCount;
+
+
+        @ApiModelProperty("巡堂数量")
+        private Integer patrolCount;
+
+        @ApiModelProperty("总数量")
+        private Integer totalCount;
+
+
+    }
+
+
+    @Data
+	@ApiModel(" CoursePatrolEvaluation-巡堂详情")
+    public static class CoursePatrolEvaluationInfo {
+
+        @ApiModelProperty("巡堂编号")
+        private Integer id;
+
+        @ApiModelProperty("分部ID")
+        private String organId;
+
+        @ApiModelProperty("分部名称")
+        private String organName;
+
+        @ApiModelProperty("合作单位ID")
+        private Integer cooperationOrganId;
+
+        @ApiModelProperty("合作单位名称")
+        private String cooperationOrganName;
+
+        @ApiModelProperty("老师ID")
+        private Integer teacherId;
+
+        @ApiModelProperty("老师姓名")
+        private String teacherName;
+
+        @ApiModelProperty("课程ID")
+        private Integer courseScheduleId;
+
+        @ApiModelProperty("课程类型")
+        private CourseSchedule.CourseScheduleType courseType;
+
+        /** 上课时间 */
+        @ApiModelProperty(value = "上课时间", required = false)
+        private java.util.Date startClassTime;
+
+        /** 结束时间 */
+        @ApiModelProperty(value = "结束时间", required = false)
+        private java.util.Date endClassTime;
+
+        @ApiModelProperty("用户ID")
+        private Integer userId;
+
+        @ApiModelProperty("优秀EXCELLENT、良好GOOD、合格QUALIFIED、不合格UNQUALIFIED")
+        private EEvaluateStatus evaluateStatus;
+
+        @ApiModelProperty("问题类型 课堂纪律 CLASSROOM_DISCIPLINE, 放学组织 AFTER_SCHOOL_ORGANIZATION, 环境卫生 ENVIRONMENTAL_SANITATION, 教态仪表 TEACHING_DEMEANOR, 沟通表达 COMMUNICATION_EXPRESSION, 专业能力 PROFESSIONAL_ABILITY, 其他 OTHER")
+        private String problemType;
+
+        @ApiModelProperty("问题描述")
+        private String problemDesc;
+
+
+        @ApiModelProperty("处理状态")
+        private Boolean handleStatus;
+
+        @ApiModelProperty("建议")
+        private String suggestion;
+
+        @ApiModelProperty("附件")
+        private String attachmentUrl;
+        
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static CoursePatrolEvaluationInfo from(String json) {
+            return JSON.parseObject(json, CoursePatrolEvaluationInfo.class);
+        }
+	}
+
+    @Data
+    @ApiModel(" CoursePatrolEvaluation-保存巡堂信息")
+    public static class CoursePatrolEvaluation {
+
+        @ApiModelProperty("巡堂编号")
+        @NotNull(message = "巡堂编号不能为空",groups = {Update.class})
+        private Integer id;
+
+        @ApiModelProperty(value = "课程ID")
+        private Integer courseScheduleId;
+
+        @ApiModelProperty(value = "优秀EXCELLENT、良好GOOD、合格QUALIFIED、不合格UNQUALIFIED")
+        private EEvaluateStatus evaluateStatus;
+
+        @ApiModelProperty("问题类型 课堂纪律 CLASSROOM_DISCIPLINE, 放学组织 AFTER_SCHOOL_ORGANIZATION, 环境卫生 ENVIRONMENTAL_SANITATION, 教态仪表 TEACHING_DEMEANOR, 沟通表达 COMMUNICATION_EXPRESSION, 专业能力 PROFESSIONAL_ABILITY, 其他 OTHER")
+        private String problemType;
+
+        @ApiModelProperty("问题描述")
+        private String problemDesc;
+
+        @ApiModelProperty("建议")
+        private String suggestion;
+
+        @ApiModelProperty("附件")
+        private String attachmentUrl;
+
+
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static CoursePatrolEvaluation from(String json) {
+            return JSON.parseObject(json, CoursePatrolEvaluation.class);
+        }
+    }
+}

+ 63 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/SchoolActivityDetailUserWrapper.java

@@ -0,0 +1,63 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.alibaba.fastjson.JSON;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.Optional;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * 活动详情人员
+ * 2023-05-04 11:32:00
+ */
+@ApiModel(value = "SchoolActivityDetailUserWrapper对象", description = "活动详情人员查询对象")
+public class SchoolActivityDetailUserWrapper {
+
+    @Data
+	@Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" SchoolActivityDetailUserQuery-活动详情人员")
+    public static class SchoolActivityDetailUserQuery implements QueryInfo {
+    
+    	@ApiModelProperty("当前页")
+        private Integer page;
+        
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+        
+        @ApiModelProperty("关键字匹配")
+		private String keyword;
+        
+        public String getKeyword() {
+            return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
+        }
+        
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static SchoolActivityDetailUserQuery from(String json) {
+            return JSON.parseObject(json, SchoolActivityDetailUserQuery.class);
+        }
+    }  
+
+	@ApiModel(" SchoolActivityDetailUser-活动详情人员")
+    public static class SchoolActivityDetailUser {
+        
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static SchoolActivityDetailUser from(String json) {
+            return JSON.parseObject(json, SchoolActivityDetailUser.class);
+        }
+	}
+
+}

+ 123 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/SchoolActivityDetailWrapper.java

@@ -0,0 +1,123 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.core.conditions.update.Update;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.biz.dal.enums.ESchoolActivityProgramType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Optional;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 活动详情
+ * 2023-05-04 11:32:00
+ */
+@ApiModel(value = "SchoolActivityDetailWrapper对象", description = "活动详情查询对象")
+public class SchoolActivityDetailWrapper {
+
+    @Data
+	@Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" SchoolActivityDetailQuery-活动详情")
+    public static class SchoolActivityDetailQuery implements QueryInfo {
+    
+    	@ApiModelProperty("当前页")
+        private Integer page;
+        
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+        
+        @ApiModelProperty("关键字匹配")
+		private String keyword;
+        
+        public String getKeyword() {
+            return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
+        }
+        
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static SchoolActivityDetailQuery from(String json) {
+            return JSON.parseObject(json, SchoolActivityDetailQuery.class);
+        }
+    }  
+
+    @Data
+	@ApiModel(" SchoolActivityDetail-活动详情")
+    public static class SchoolActivityDetail {
+
+        @ApiModelProperty("活动详情编号")
+        @NotNull(message = "活动详情编号不能为空",groups = {Update.class})
+        private Integer id;
+
+        @ApiModelProperty("合作单位ID")
+        private Integer cooperationOrganId;
+
+        @ApiModelProperty("活动id")
+        private Integer schoolActivityId;
+
+        @ApiModelProperty(value = "节目名称",required = true)
+        @NotNull(message = "节目名称不能为空")
+        private String name;
+
+        @ApiModelProperty(value = "节目类型 合奏 ENSEMBLE 独奏 SOLO 重奏 REPRISE 齐奏 UNISON",required = true)
+        @NotNull(message = "节目类型不能为空")
+        private ESchoolActivityProgramType type;
+
+        @ApiModelProperty(value = "乐团ID",required = true)
+        @NotNull(message = "乐团ID不能为空")
+        private Integer musicGroupId;
+
+        @ApiModelProperty("乐团名称")
+        private String musicGroupName;
+
+        @ApiModelProperty("声部ID集合 逗号隔开")
+        private String subjectIdList;
+
+        @ApiModelProperty("声部名称集合 逗号隔开")
+        private String subjectNameList;
+
+
+        @ApiModelProperty(value = "学生id集合,新增,修改用",required = true)
+        @NotEmpty(message = "学生id集合不能为空")
+        private List<Integer> studentIdList;
+
+        @ApiModelProperty(value = "学生人数",required = true)
+        @NotNull(message = "学生人数不能为空")
+        private Integer studentNum;
+
+        @ApiModelProperty(value = "节目时长-秒",required = true)
+        @NotNull(message = "节目时长不能为空")
+        private Integer time;
+
+        @ApiModelProperty("附件")
+        private String attachmentUrl;
+
+
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static SchoolActivityDetail from(String json) {
+            return JSON.parseObject(json, SchoolActivityDetail.class);
+        }
+	}
+
+}

+ 201 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/SchoolActivityWrapper.java

@@ -0,0 +1,201 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.core.conditions.update.Update;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.biz.dal.enums.ESchoolActivityStatus;
+import com.ym.mec.biz.dal.enums.ESchoolActivityType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Optional;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.validation.annotation.Validated;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 学校活动
+ * 2023-05-04 11:32:00
+ */
+@ApiModel(value = "SchoolActivityWrapper对象", description = "学校活动查询对象")
+public class SchoolActivityWrapper {
+
+    @Data
+	@Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" SchoolActivityQuery-学校活动")
+    public static class SchoolActivityQuery implements QueryInfo {
+    
+    	@ApiModelProperty("当前页")
+        private Integer page;
+        
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+        
+        @ApiModelProperty("关键字匹配")
+		private String keyword;
+
+
+        @ApiModelProperty("活动类型 开放日 OPEN_DAY 汇演 PERFORMANCE 音乐会 CONCERT 比赛 COMPETITION 讲座 LECTURE 校庆 SCHOOL_DAY 迎宾 WELCOME 其他 OTHER")
+        private ESchoolActivityType type;
+        public String getKeyword() {
+            return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
+        }
+        
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static SchoolActivityQuery from(String json) {
+            return JSON.parseObject(json, SchoolActivityQuery.class);
+        }
+    }  
+
+    @Data
+	@ApiModel(" SchoolActivity-学校活动")
+    public static class SchoolActivity {
+
+        @ApiModelProperty("活动编号")
+        private Integer id;
+
+        @ApiModelProperty("合作单位ID")
+        private Integer cooperationOrganId;
+
+        @ApiModelProperty("活动开始日期")
+        private Date startTime;
+
+        @ApiModelProperty("活动结束日期")
+        private Date endTime;
+
+        @ApiModelProperty("活动状态 未开始 NOT_START 进行中 PROCESSING 已结束 END,")
+        private ESchoolActivityStatus status;
+
+        @ApiModelProperty("活动名称")
+        private String name;
+
+        @ApiModelProperty("活动类型 开放日 OPEN_DAY 汇演 PERFORMANCE 音乐会 CONCERT 比赛 COMPETITION 讲座 LECTURE 校庆 SCHOOL_DAY 迎宾 WELCOME 其他 OTHER")
+        private ESchoolActivityType type;
+        
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static SchoolActivity from(String json) {
+            return JSON.parseObject(json, SchoolActivity.class);
+        }
+	}
+
+
+    @Data
+    @ApiModel(" SchoolActivityDetail-学校活动详情")
+    public static class SchoolActivityDetail {
+
+        @ApiModelProperty("活动编号")
+        @NotNull(message = "活动编号不能为空",groups = {Update.class})
+        private Integer id;
+
+        @ApiModelProperty("合作单位ID")
+        private Integer cooperationOrganId;
+
+        @ApiModelProperty(value = "活动开始日期",required = true)
+        @NotNull(message = "活动开始日期不能为空")
+        private Date startTime;
+
+        @ApiModelProperty("活动结束日期")
+        private Date endTime;
+
+        @ApiModelProperty("活动状态 未开始 NOT_START 进行中 PROCESSING 已结束 END,")
+        private ESchoolActivityStatus status;
+
+        @ApiModelProperty(value = "活动名称",required = true)
+        private String name;
+
+        @ApiModelProperty(value = "活动类型 开放日 OPEN_DAY 汇演 PERFORMANCE 音乐会 CONCERT 比赛 COMPETITION 讲座 LECTURE 校庆 SCHOOL_DAY 迎宾 WELCOME 其他 OTHER",required = true)
+        @NotNull(message = "活动类型不能为空")
+        private ESchoolActivityType type;
+
+        @ApiModelProperty("活动详情")
+        @Valid
+        @NotEmpty(message = "活动节目不能为空")
+        private List<SchoolActivityDetailWrapper.SchoolActivityDetail> detail;
+    }
+
+
+    @Data
+    @Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" SchoolActivityStudentQuery-学校活动学生查询对象")
+    public static class SchoolActivityStudentQuery {
+
+        @ApiModelProperty("活动节目编号")
+        private Integer activityDetailId;
+
+        @ApiModelProperty("乐团ID")
+        private Integer musicGroupId;
+
+        @ApiModelProperty("声部ID集合")
+        private List<Integer> subjectIds;
+    }
+
+
+    @Data
+    @Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" SchoolActivitySubject-学校活动声部")
+    public static class SchoolActivitySubject {
+
+        @ApiModelProperty("声部ID")
+        private Integer subjectId;
+
+        @ApiModelProperty("声部名称")
+        private String subjectName;
+
+        @ApiModelProperty("声部学生数量")
+        private Integer studentCount;
+
+        @ApiModelProperty("学生列表")
+        private List<SchoolActivityStudent> studnetList;
+
+    }
+
+
+    @Data
+    @Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" SchoolActivityStudent-学校活动声部学生")
+    public static class SchoolActivityStudent {
+
+        @ApiModelProperty("学生ID")
+        private Integer studentId;
+
+        @ApiModelProperty("学生名")
+        private String studentName;
+
+
+        @ApiModelProperty("学生头像")
+        private String studentAvatar;
+
+        @ApiModelProperty("学生声部id")
+        private Integer subjectId;
+
+        @ApiModelProperty("学生声部")
+        private String subjectName;
+
+    }
+
+}

+ 167 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/StudentWrapper.java

@@ -0,0 +1,167 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.biz.dal.enums.EInGroupStatus;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiOperation;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotNull;
+
+public class StudentWrapper {
+
+    @Data
+    @ApiModel("StudentQuery-学生查询")
+    public static class StudentQuery implements QueryInfo {
+
+        @ApiModelProperty("当前页")
+        private Integer page;
+
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+
+        @ApiModelProperty("关键字匹配")
+        private String keyword;
+
+        @ApiModelProperty("乐团ID")
+        private Integer musicGroupId;
+
+        @ApiModelProperty("声部ID")
+        private Integer subjectId;
+
+        @ApiModelProperty("合作单位ID")
+        private Integer cooperationOrganId;
+
+        @ApiModelProperty("是否vip")
+        private Boolean vipFlag;
+
+
+        @ApiModelProperty("学生ID")
+        private Integer studentId;
+
+
+
+    }
+
+
+
+    @Data
+    @ApiModel("StudentStat-学生统计")
+    public static class StudentStat{
+
+        @ApiModelProperty("在读学生人数")
+        private Integer studentCount;
+
+        @ApiModelProperty("退团学生人数")
+        private Integer quitCount;
+
+    }
+
+
+    @Data
+    @ApiModel("StudentList-学生列表")
+    public static class StudentList{
+
+        @ApiModelProperty("学生ID")
+        private Integer studentId;
+
+        @ApiModelProperty("学生姓名")
+        private String studentName;
+
+        @ApiModelProperty("学生头像")
+        private String studentAvatar;
+
+        @ApiModelProperty("是否vip")
+        private Boolean vipFlag;
+
+        @ApiModelProperty("实际出勤数")
+        private Integer actualAttendanceCount;
+
+        @ApiModelProperty("应出勤数")
+        private Integer shouldAttendanceCount;
+
+        @ApiModelProperty("正常出勤数")
+        private Integer normalAttendanceCount;
+
+        @ApiModelProperty("迟到")
+        private Integer lateCount;
+
+        @ApiModelProperty("请假")
+        private Integer leaveCount;
+
+        @ApiModelProperty("旷课")
+        private Integer truancyCount;
+
+        @ApiModelProperty("实际提交作业数")
+        private Integer actualSubmitCount;
+
+        @ApiModelProperty("应提交作业数")
+        private Integer shouldSubmitCount;
+
+        @ApiModelProperty("合格")
+        private Integer qualifiedCount;
+
+        @ApiModelProperty("不合格")
+        private Integer unqualifiedCount;
+
+        @ApiModelProperty("未提交")
+        private Integer unsubmitCount;
+
+    }
+
+
+
+    @EqualsAndHashCode(callSuper = true)
+    @Data
+    @ApiModel("StudentDetail-学生详情")
+    public static class StudentDetail extends StudentList{
+
+        @ApiModelProperty(value = "性别0女1男")
+        private Integer gender;
+
+        @ApiModelProperty(value = "手机号")
+        private String phone;
+
+        @ApiModelProperty(value = "年级")
+        private String currentGrade;
+
+        @ApiModelProperty(value = "年级(数字表示)")
+        private Integer currentGradeNum;
+
+        @ApiModelProperty(value = "班级")
+        private String currentClass;
+
+        @ApiModelProperty(value = "艺术实践次数")
+        private Integer artPracticeCount;
+
+        @ApiModelProperty(value = "在团状态")
+        private EInGroupStatus inGroupStatus;
+
+    }
+
+
+
+    @Data
+    @ApiModel("UpdateStudent-学生修改")
+    public static class UpdateStudent {
+
+        @ApiModelProperty(value = "年级")
+        private String currentGrade;
+
+        @ApiModelProperty(value = "年级(数字表示)")
+        private Integer currentGradeNum;
+
+        @ApiModelProperty(value = "班级")
+        private String currentClass;
+
+        @NotNull(message = "学生ID不能为空")
+        @ApiModelProperty(value = "学生ID")
+        private Integer studentId;
+
+        @ApiModelProperty(value = "合作机构ID")
+        private Integer cooperationOrganId;
+
+    }
+}

+ 119 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/TeachingPointWrapper.java

@@ -0,0 +1,119 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiOperation;
+import lombok.Data;
+
+import java.util.Date;
+
+public class TeachingPointWrapper {
+
+    @Data
+    @ApiModel("TeachingPointQuery-教学点查询")
+    public static class TeachingPointQuery implements QueryInfo {
+
+        @ApiModelProperty("当前页")
+        private Integer page;
+
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+
+        @ApiModelProperty("合作单位ID")
+        private Integer cooperationOrganId;
+
+        @ApiModelProperty("乐团ID")
+        private Integer musicGroupId;
+
+
+        @ApiModelProperty("开始时间")
+        private Date startTime;
+
+        @ApiModelProperty("结束时间")
+        private Date endTime;
+
+    }
+
+
+    @Data
+    @ApiModel("TeachingPoint-教学点")
+    public static class TeachingPoint{
+
+
+        @ApiModelProperty("教学点")
+        private String teachingPoint;
+
+        @ApiModelProperty("班级ID")
+        private Integer classGroupId;
+
+    }
+
+
+    @Data
+    @ApiModel("CourseTeachingPoint-课程教学信息")
+    public static class CourseTeachingPoint {
+
+        @ApiModelProperty("课程ID")
+        private Integer courseId;
+
+        @ApiModelProperty("课程名")
+        private String courseName;
+
+        @ApiModelProperty("乐团ID")
+        private Integer musicGroupId;
+
+        @ApiModelProperty("乐团名")
+        private String musicGroupName;
+
+        @ApiModelProperty("老师ID")
+        private Integer teacherId;
+
+        @ApiModelProperty("老师名")
+        private String teacherName;
+
+        @ApiModelProperty("老师头像")
+        private String teacherAvatar;
+
+        @ApiModelProperty("签到照片")
+        private String signPhoto;
+
+        @ApiModelProperty("签退照片")
+        private String signOutPhoto;
+
+        @ApiModelProperty("教学点")
+        private String teachingPoint;
+    }
+
+
+
+    @Data
+    @ApiModel("ClassTeachingPoint-班级教学信息")
+    public static class ClassTeachingPoint {
+
+        @ApiModelProperty("班级ID")
+        private Integer classGroupId;
+
+        @ApiModelProperty("班级名")
+        private String classGroupName;
+
+        @ApiModelProperty("乐团ID")
+        private Integer musicGroupId;
+
+        @ApiModelProperty("乐团名")
+        private String musicGroupName;
+
+        @ApiModelProperty("老师ID")
+        private Integer teacherId;
+
+        @ApiModelProperty("老师名")
+        private String teacherName;
+
+        @ApiModelProperty("老师头像")
+        private String teacherAvatar;
+
+        @ApiModelProperty("教学点")
+        private String teachingPoint;
+    }
+
+}

+ 43 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CoursePatrolEvaluationService.java

@@ -0,0 +1,43 @@
+package com.ym.mec.biz.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ym.mec.biz.dal.wrapper.CoursePatrolEvaluationWrapper;
+import com.ym.mec.biz.dal.entity.CoursePatrolEvaluation;
+
+/**
+ * 巡堂详情
+ * 2023-05-04 11:32:00
+ */
+public interface CoursePatrolEvaluationService extends IService<CoursePatrolEvaluation>  {
+
+	/**
+     * 查询详情
+     * @param id 详情ID
+     * @return CoursePatrolEvaluation
+     */
+    CoursePatrolEvaluationWrapper.CoursePatrolEvaluationInfo detail(Long id);
+
+    /**
+     * 分页查询
+     * @param page IPage<CoursePatrolEvaluation>
+     * @param query CoursePatrolEvaluationWrapper.CoursePatrolEvaluationQuery
+     * @return IPage<CoursePatrolEvaluation>
+     */
+    IPage<CoursePatrolEvaluationWrapper.CoursePatrolEvaluationInfo> selectPage(IPage<CoursePatrolEvaluationWrapper.CoursePatrolEvaluationInfo> page, CoursePatrolEvaluationWrapper.CoursePatrolEvaluationQuery query);
+	
+    /**
+     * 添加
+     * @param coursePatrolEvaluation CoursePatrolEvaluationWrapper.CoursePatrolEvaluation
+     * @return Boolean
+     */
+     Boolean add(CoursePatrolEvaluationWrapper.CoursePatrolEvaluation coursePatrolEvaluation);   
+
+    /**
+     * 更新
+     * @param coursePatrolEvaluation CoursePatrolEvaluationWrapper.CoursePatrolEvaluation
+     * @return Boolean
+     */
+     Boolean update(CoursePatrolEvaluationWrapper.CoursePatrolEvaluation coursePatrolEvaluation);
+
+}

+ 43 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SchoolActivityDetailService.java

@@ -0,0 +1,43 @@
+package com.ym.mec.biz.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ym.mec.biz.dal.wrapper.SchoolActivityDetailWrapper;
+import com.ym.mec.biz.dal.entity.SchoolActivityDetail;
+
+/**
+ * 活动详情
+ * 2023-05-04 11:32:00
+ */
+public interface SchoolActivityDetailService extends IService<SchoolActivityDetail>  {
+
+	/**
+     * 查询详情
+     * @param id 详情ID
+     * @return SchoolActivityDetail
+     */
+	SchoolActivityDetail detail(Long id);
+
+    /**
+     * 分页查询
+     * @param page IPage<SchoolActivityDetail>
+     * @param query SchoolActivityDetailWrapper.SchoolActivityDetailQuery
+     * @return IPage<SchoolActivityDetail>
+     */
+    IPage<SchoolActivityDetail> selectPage(IPage<SchoolActivityDetail> page, SchoolActivityDetailWrapper.SchoolActivityDetailQuery query);
+	
+    /**
+     * 添加
+     * @param schoolActivityDetail SchoolActivityDetailWrapper.SchoolActivityDetail
+     * @return Boolean
+     */
+     Boolean add(SchoolActivityDetailWrapper.SchoolActivityDetail schoolActivityDetail);   
+
+    /**
+     * 更新
+     * @param schoolActivityDetail SchoolActivityDetailWrapper.SchoolActivityDetail
+     * @return Boolean
+     */
+     Boolean update(SchoolActivityDetailWrapper.SchoolActivityDetail schoolActivityDetail);
+     
+}

+ 43 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SchoolActivityDetailUserService.java

@@ -0,0 +1,43 @@
+package com.ym.mec.biz.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ym.mec.biz.dal.wrapper.SchoolActivityDetailUserWrapper;
+import com.ym.mec.biz.dal.entity.SchoolActivityDetailUser;
+
+/**
+ * 活动详情人员
+ * 2023-05-04 11:32:00
+ */
+public interface SchoolActivityDetailUserService extends IService<SchoolActivityDetailUser>  {
+
+	/**
+     * 查询详情
+     * @param id 详情ID
+     * @return SchoolActivityDetailUser
+     */
+	SchoolActivityDetailUser detail(Long id);
+
+    /**
+     * 分页查询
+     * @param page IPage<SchoolActivityDetailUser>
+     * @param query SchoolActivityDetailUserWrapper.SchoolActivityDetailUserQuery
+     * @return IPage<SchoolActivityDetailUser>
+     */
+    IPage<SchoolActivityDetailUser> selectPage(IPage<SchoolActivityDetailUser> page, SchoolActivityDetailUserWrapper.SchoolActivityDetailUserQuery query);
+	
+    /**
+     * 添加
+     * @param schoolActivityDetailUser SchoolActivityDetailUserWrapper.SchoolActivityDetailUser
+     * @return Boolean
+     */
+     Boolean add(SchoolActivityDetailUserWrapper.SchoolActivityDetailUser schoolActivityDetailUser);   
+
+    /**
+     * 更新
+     * @param schoolActivityDetailUser SchoolActivityDetailUserWrapper.SchoolActivityDetailUser
+     * @return Boolean
+     */
+     Boolean update(SchoolActivityDetailUserWrapper.SchoolActivityDetailUser schoolActivityDetailUser);
+     
+}

+ 43 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SchoolActivityService.java

@@ -0,0 +1,43 @@
+package com.ym.mec.biz.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ym.mec.biz.dal.wrapper.SchoolActivityWrapper;
+import com.ym.mec.biz.dal.entity.SchoolActivity;
+
+/**
+ * 学校活动
+ * 2023-05-04 11:32:00
+ */
+public interface SchoolActivityService extends IService<SchoolActivity>  {
+
+	/**
+     * 查询详情
+     * @param id 详情ID
+     * @return SchoolActivity
+     */
+    SchoolActivityWrapper.SchoolActivityDetail detail(Long id);
+
+    /**
+     * 分页查询
+     * @param page IPage<SchoolActivity>
+     * @param query SchoolActivityWrapper.SchoolActivityQuery
+     * @return IPage<SchoolActivity>
+     */
+    IPage<SchoolActivityWrapper.SchoolActivity> selectPage(IPage<SchoolActivityWrapper.SchoolActivity> page, SchoolActivityWrapper.SchoolActivityQuery query);
+	
+    /**
+     * 添加
+     * @param schoolActivity SchoolActivityWrapper.SchoolActivity
+     * @return Boolean
+     */
+     Boolean add(SchoolActivityWrapper.SchoolActivity schoolActivity);   
+
+    /**
+     * 更新
+     * @param schoolActivity SchoolActivityWrapper.SchoolActivity
+     * @return Boolean
+     */
+     Boolean update(SchoolActivityWrapper.SchoolActivity schoolActivity);
+     
+}

+ 67 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursePatrolEvaluationServiceImpl.java

@@ -0,0 +1,67 @@
+package com.ym.mec.biz.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.BeanUtils;
+import lombok.extern.slf4j.Slf4j;
+import com.ym.mec.biz.dal.entity.CoursePatrolEvaluation;
+import com.ym.mec.biz.dal.wrapper.CoursePatrolEvaluationWrapper;
+import com.ym.mec.biz.dal.mapper.CoursePatrolEvaluationMapper;
+import com.ym.mec.biz.service.CoursePatrolEvaluationService;
+
+/**
+ * 巡堂详情
+ * 2023-05-04 11:32:00
+ */
+@Slf4j
+@Service
+public class CoursePatrolEvaluationServiceImpl extends ServiceImpl<CoursePatrolEvaluationMapper, CoursePatrolEvaluation> implements CoursePatrolEvaluationService {
+
+	/**
+     * 查询详情
+     * @param id 详情ID
+     * @return CoursePatrolEvaluation
+     */
+	@Override
+    public CoursePatrolEvaluationWrapper.CoursePatrolEvaluationInfo detail(Long id) {
+
+        return null;
+    }
+    
+    /**
+     * 分页查询
+     * @param page IPage<CoursePatrolEvaluation>
+     * @param query CoursePatrolEvaluationWrapper.CoursePatrolEvaluationQuery
+     * @return IPage<CoursePatrolEvaluation>
+     */
+    @Override
+    public IPage<CoursePatrolEvaluationWrapper.CoursePatrolEvaluationInfo> selectPage(IPage<CoursePatrolEvaluationWrapper.CoursePatrolEvaluationInfo> page,
+                                                                                  CoursePatrolEvaluationWrapper.CoursePatrolEvaluationQuery query) {
+        
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+	
+    /**
+     * 添加
+     * @param coursePatrolEvaluation CoursePatrolEvaluationWrapper.CoursePatrolEvaluation
+     * @return Boolean
+     */
+    @Override
+    public Boolean add(CoursePatrolEvaluationWrapper.CoursePatrolEvaluation coursePatrolEvaluation) {    	
+        
+        return this.save(JSON.parseObject(coursePatrolEvaluation.jsonString(), CoursePatrolEvaluation.class));
+    }
+
+    /**
+     * 更新
+     * @param coursePatrolEvaluation CoursePatrolEvaluationWrapper.CoursePatrolEvaluation
+     * @return Boolean
+     */
+    @Override
+    public Boolean update(CoursePatrolEvaluationWrapper.CoursePatrolEvaluation coursePatrolEvaluation){
+
+        return this.updateById(JSON.parseObject(coursePatrolEvaluation.jsonString(), CoursePatrolEvaluation.class));       
+    }
+}

+ 66 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolActivityDetailServiceImpl.java

@@ -0,0 +1,66 @@
+package com.ym.mec.biz.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.BeanUtils;
+import lombok.extern.slf4j.Slf4j;
+import com.ym.mec.biz.dal.entity.SchoolActivityDetail;
+import com.ym.mec.biz.dal.wrapper.SchoolActivityDetailWrapper;
+import com.ym.mec.biz.dal.mapper.SchoolActivityDetailMapper;
+import com.ym.mec.biz.service.SchoolActivityDetailService;
+
+/**
+ * 活动详情
+ * 2023-05-04 11:32:00
+ */
+@Slf4j
+@Service
+public class SchoolActivityDetailServiceImpl extends ServiceImpl<SchoolActivityDetailMapper, SchoolActivityDetail> implements SchoolActivityDetailService {
+
+	/**
+     * 查询详情
+     * @param id 详情ID
+     * @return SchoolActivityDetail
+     */
+	@Override
+    public SchoolActivityDetail detail(Long id) {
+        
+        return baseMapper.selectById(id);
+    }
+    
+    /**
+     * 分页查询
+     * @param page IPage<SchoolActivityDetail>
+     * @param query SchoolActivityDetailWrapper.SchoolActivityDetailQuery
+     * @return IPage<SchoolActivityDetail>
+     */
+    @Override
+    public IPage<SchoolActivityDetail> selectPage(IPage<SchoolActivityDetail> page, SchoolActivityDetailWrapper.SchoolActivityDetailQuery query) {
+        
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+	
+    /**
+     * 添加
+     * @param schoolActivityDetail SchoolActivityDetailWrapper.SchoolActivityDetail
+     * @return Boolean
+     */
+    @Override
+    public Boolean add(SchoolActivityDetailWrapper.SchoolActivityDetail schoolActivityDetail) {    	
+        
+        return this.save(JSON.parseObject(schoolActivityDetail.jsonString(), SchoolActivityDetail.class));
+    }
+
+    /**
+     * 更新
+     * @param schoolActivityDetail SchoolActivityDetailWrapper.SchoolActivityDetail
+     * @return Boolean
+     */
+    @Override
+    public Boolean update(SchoolActivityDetailWrapper.SchoolActivityDetail schoolActivityDetail){
+
+        return this.updateById(JSON.parseObject(schoolActivityDetail.jsonString(), SchoolActivityDetail.class));       
+    }
+}

+ 66 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolActivityDetailUserServiceImpl.java

@@ -0,0 +1,66 @@
+package com.ym.mec.biz.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.BeanUtils;
+import lombok.extern.slf4j.Slf4j;
+import com.ym.mec.biz.dal.entity.SchoolActivityDetailUser;
+import com.ym.mec.biz.dal.wrapper.SchoolActivityDetailUserWrapper;
+import com.ym.mec.biz.dal.mapper.SchoolActivityDetailUserMapper;
+import com.ym.mec.biz.service.SchoolActivityDetailUserService;
+
+/**
+ * 活动详情人员
+ * 2023-05-04 11:32:00
+ */
+@Slf4j
+@Service
+public class SchoolActivityDetailUserServiceImpl extends ServiceImpl<SchoolActivityDetailUserMapper, SchoolActivityDetailUser> implements SchoolActivityDetailUserService {
+
+	/**
+     * 查询详情
+     * @param id 详情ID
+     * @return SchoolActivityDetailUser
+     */
+	@Override
+    public SchoolActivityDetailUser detail(Long id) {
+        
+        return baseMapper.selectById(id);
+    }
+    
+    /**
+     * 分页查询
+     * @param page IPage<SchoolActivityDetailUser>
+     * @param query SchoolActivityDetailUserWrapper.SchoolActivityDetailUserQuery
+     * @return IPage<SchoolActivityDetailUser>
+     */
+    @Override
+    public IPage<SchoolActivityDetailUser> selectPage(IPage<SchoolActivityDetailUser> page, SchoolActivityDetailUserWrapper.SchoolActivityDetailUserQuery query) {
+        
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+	
+    /**
+     * 添加
+     * @param schoolActivityDetailUser SchoolActivityDetailUserWrapper.SchoolActivityDetailUser
+     * @return Boolean
+     */
+    @Override
+    public Boolean add(SchoolActivityDetailUserWrapper.SchoolActivityDetailUser schoolActivityDetailUser) {    	
+        
+        return this.save(JSON.parseObject(schoolActivityDetailUser.jsonString(), SchoolActivityDetailUser.class));
+    }
+
+    /**
+     * 更新
+     * @param schoolActivityDetailUser SchoolActivityDetailUserWrapper.SchoolActivityDetailUser
+     * @return Boolean
+     */
+    @Override
+    public Boolean update(SchoolActivityDetailUserWrapper.SchoolActivityDetailUser schoolActivityDetailUser){
+
+        return this.updateById(JSON.parseObject(schoolActivityDetailUser.jsonString(), SchoolActivityDetailUser.class));       
+    }
+}

+ 66 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolActivityServiceImpl.java

@@ -0,0 +1,66 @@
+package com.ym.mec.biz.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.BeanUtils;
+import lombok.extern.slf4j.Slf4j;
+import com.ym.mec.biz.dal.entity.SchoolActivity;
+import com.ym.mec.biz.dal.wrapper.SchoolActivityWrapper;
+import com.ym.mec.biz.dal.mapper.SchoolActivityMapper;
+import com.ym.mec.biz.service.SchoolActivityService;
+
+/**
+ * 学校活动
+ * 2023-05-04 11:32:00
+ */
+@Slf4j
+@Service
+public class SchoolActivityServiceImpl extends ServiceImpl<SchoolActivityMapper, SchoolActivity> implements SchoolActivityService {
+
+	/**
+     * 查询详情
+     * @param id 详情ID
+     * @return SchoolActivity
+     */
+	@Override
+    public SchoolActivityWrapper.SchoolActivityDetail detail(Long id) {
+        
+        return null;
+    }
+    
+    /**
+     * 分页查询
+     * @param page IPage<SchoolActivity>
+     * @param query SchoolActivityWrapper.SchoolActivityQuery
+     * @return IPage<SchoolActivity>
+     */
+    @Override
+    public IPage<SchoolActivityWrapper.SchoolActivity> selectPage(IPage<SchoolActivityWrapper.SchoolActivity> page, SchoolActivityWrapper.SchoolActivityQuery query) {
+        
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+	
+    /**
+     * 添加
+     * @param schoolActivity SchoolActivityWrapper.SchoolActivity
+     * @return Boolean
+     */
+    @Override
+    public Boolean add(SchoolActivityWrapper.SchoolActivity schoolActivity) {    	
+        
+        return this.save(JSON.parseObject(schoolActivity.jsonString(), SchoolActivity.class));
+    }
+
+    /**
+     * 更新
+     * @param schoolActivity SchoolActivityWrapper.SchoolActivity
+     * @return Boolean
+     */
+    @Override
+    public Boolean update(SchoolActivityWrapper.SchoolActivity schoolActivity){
+
+        return this.updateById(JSON.parseObject(schoolActivity.jsonString(), SchoolActivity.class));       
+    }
+}

+ 24 - 0
mec-biz/src/main/resources/config/mybatis/CoursePatrolEvaluationMapper.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ym.mec.biz.dal.mapper.CoursePatrolEvaluationMapper">
+    
+    <select id="selectPage" resultType="com.ym.mec.biz.dal.wrapper.CoursePatrolEvaluationWrapper$CoursePatrolEvaluationInfo">
+		SELECT         
+        	t.*
+		FROM course_patrol_evaluation t
+        left join course_schedule cs on cs.id_ = t.course_schedule_id_
+        left join sys_user su on cs.actual_teacher_id_ = su.id_
+        <where>
+            <if test="param.keyword != null and param.keyword != ''">
+                and (su.real_name_ like concat('%',#{param.keyword},'%')
+                or su.id_ like concat('%',#{param.keyword},'%')
+                or su.phone_ like concat('%',#{param.keyword},'%'))
+            </if>
+            <if test="param.startTime != null">
+                and cs.class_date_ &lt;= date_format(#{param.startTime},'%Y-%m-%d')
+            </if>
+
+        </where>
+	</select>
+    
+</mapper>

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/SchoolActivityDetailMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ym.mec.biz.dal.mapper.SchoolActivityDetailMapper">
+    
+    <select id="selectPage" resultType="com.ym.mec.biz.dal.entity.SchoolActivityDetail">
+		SELECT         
+        	t.*
+		FROM school_activity_detail t
+	</select>
+    
+</mapper>

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/SchoolActivityDetailUserMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ym.mec.biz.dal.mapper.SchoolActivityDetailUserMapper">
+    
+    <select id="selectPage" resultType="com.ym.mec.biz.dal.entity.SchoolActivityDetailUser">
+		SELECT         
+        	t.*
+		FROM school_activity_detail_user t
+	</select>
+    
+</mapper>

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/SchoolActivityMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ym.mec.biz.dal.mapper.SchoolActivityMapper">
+    
+    <select id="selectPage" resultType="com.ym.mec.biz.dal.wrapper.SchoolActivityWrapper.SchoolActivity">
+		SELECT         
+        	t.*
+		FROM school_activity t
+	</select>
+    
+</mapper>

+ 26 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -14,6 +14,7 @@ import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.biz.dal.page.ClassGroupQueryInfo;
 import com.ym.mec.biz.dal.page.ClassGroupQueryInfo;
 import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
+import com.ym.mec.biz.dal.wrapper.TeachingPointWrapper;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
 import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
 import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.biz.service.OrganizationService;
@@ -423,4 +424,29 @@ public class ClassGroupController extends BaseController {
     public HttpResponseResult mergeClassSplitClassAffirm(@RequestBody MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) throws Exception {
     public HttpResponseResult mergeClassSplitClassAffirm(@RequestBody MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) throws Exception {
         return classGroupService.mergeClassSplitClassAffirm(mergeClassSplitClassAffirmDto);
         return classGroupService.mergeClassSplitClassAffirm(mergeClassSplitClassAffirmDto);
     }
     }
+
+    @ApiOperation(value = "学校端-场地管理列表")
+    @PostMapping("/teachingPointCourse")
+    public HttpResponseResult<PageInfo<TeachingPointWrapper.CourseTeachingPoint>> teachingPoint(@RequestBody TeachingPointWrapper.TeachingPointQuery queryInfo) {
+        return succeed(null);
+    }
+
+    @ApiOperation(value = "学校端-场地设置列表")
+    @PostMapping("/teachingPointClass")
+    public HttpResponseResult<PageInfo<TeachingPointWrapper.ClassTeachingPoint>> teachingPointClass(@RequestBody TeachingPointWrapper.TeachingPointQuery queryInfo) {
+        return succeed(null);
+    }
+
+    @ApiOperation(value = "学校端-场地管理红点")
+    @PostMapping("/teachingPointRemind")
+    public HttpResponseResult<Boolean> teachingPointRemind() {
+        return succeed(null);
+    }
+
+
+    @ApiOperation(value = "学校端-场地设置")
+    @PostMapping("/teachingPoint")
+    public HttpResponseResult<Boolean> teachingPointRemind(@RequestBody TeachingPointWrapper.TeachingPoint teachingPoint) {
+        return succeed(null);
+    }
 }
 }

+ 44 - 0
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -1,13 +1,16 @@
 package com.ym.mec.web.controller;
 package com.ym.mec.web.controller;
 
 
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.Student;
 import com.ym.mec.biz.dal.entity.Student;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.dal.wrapper.StudentWrapper;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.PageUtil;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.*;
 import io.swagger.annotations.*;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -15,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import javax.validation.Valid;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
@@ -405,4 +409,44 @@ public class StudentManageController extends BaseController {
     public HttpResponseResult<PageInfo<CloudTeacherSumDto>> cloudTeacherSumDetail(@RequestBody StudentCourseConsumerQueryInfo queryInfo) throws Exception {
     public HttpResponseResult<PageInfo<CloudTeacherSumDto>> cloudTeacherSumDetail(@RequestBody StudentCourseConsumerQueryInfo queryInfo) throws Exception {
         return succeed(studentService.cloudTeacherSumDetail(queryInfo));
         return succeed(studentService.cloudTeacherSumDetail(queryInfo));
     }
     }
+
+
+    @ApiOperation(value = "学校端-人数统计")
+    @PostMapping("/userCount")
+    public HttpResponseResult<StudentWrapper.StudentStat> userCount(@RequestBody StudentWrapper.StudentQuery queryInfo) {
+        return succeed(null);
+    }
+
+
+
+    @ApiOperation(value = "学校端-学员分页")
+    @PostMapping("/userPage")
+    public HttpResponseResult<PageInfo<StudentWrapper.StudentList>> userPage(@RequestBody StudentWrapper.StudentQuery queryInfo) {
+        return succeed(null);
+    }
+
+
+    @ApiOperation(value = "学校端-学生所在乐团")
+    @PostMapping("/userMusicGroup")
+    public HttpResponseResult<List<MusicGroup>> userMusicGroup(@RequestParam Integer studentId) {
+
+        return succeed(null);
+    }
+
+    @ApiOperation(value = "学校端-学员详情")
+    @PostMapping("/userDetail")
+    public HttpResponseResult<StudentWrapper.StudentDetail> userDetail(@RequestBody StudentWrapper.StudentQuery queryInfo) {
+        if (queryInfo.getStudentId() == null) {
+            return failed("参数错误");
+        }
+        return succeed(null);
+    }
+
+
+    @ApiOperation(value = "学校端-修改学员班级信息")
+    @PostMapping("/updateGrade")
+    public HttpResponseResult<Boolean> updateGrade(@Valid @RequestBody StudentWrapper.UpdateStudent updateStudent) {
+        return succeed(null);
+    }
+
 }
 }

+ 78 - 0
mec-web/src/main/java/com/ym/mec/web/controller/school/CoursePatrolEvaluationController.java

@@ -0,0 +1,78 @@
+package com.ym.mec.web.controller.school;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.update.Update;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.microsvc.toolkit.common.response.paging.PageInfo;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.biz.dal.entity.CoursePatrolEvaluation;
+import com.ym.mec.biz.dal.wrapper.CoursePatrolEvaluationWrapper;
+import com.ym.mec.biz.service.CoursePatrolEvaluationService;
+import com.ym.mec.biz.service.OrganizationService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+@Slf4j
+@Validated
+@RestController
+@RequestMapping("/coursePatrolEvaluation")
+@Api(tags = "巡堂详情")
+public class CoursePatrolEvaluationController extends BaseController {
+
+    @Autowired
+    private CoursePatrolEvaluationService coursePatrolEvaluationService;
+
+    @Autowired
+    private OrganizationService organizationService;
+	@ApiOperation(value = "web-详情", notes = "巡堂详情-根据详情ID查询单条, 传入id")
+    @GetMapping("/detail/{id}")
+    public HttpResponseResult<CoursePatrolEvaluationWrapper.CoursePatrolEvaluationInfo> detail(@PathVariable("id") Long id) {
+
+        CoursePatrolEvaluationWrapper.CoursePatrolEvaluationInfo wrapper = coursePatrolEvaluationService.detail(id);
+        
+        return succeed(wrapper);
+	}
+
+    @ApiOperation(value = "学校端-查询巡堂统计分页", notes = "巡堂详情- 传入 CoursePatrolEvaluationWrapper.CoursePatrolEvaluationQuery")
+    @PostMapping("/pageStat")
+    public HttpResponseResult<PageInfo<CoursePatrolEvaluationWrapper.CoursePatrolEvaluationStat>> pageStat(@RequestBody CoursePatrolEvaluationWrapper.CoursePatrolEvaluationQuery query) {
+
+        return succeed(null);
+    }
+    
+    @ApiOperation(value = "web/学校端-查询巡堂分页", notes = "巡堂详情- 传入 CoursePatrolEvaluationWrapper.CoursePatrolEvaluationQuery")
+    @PostMapping("/page")
+    public HttpResponseResult<PageInfo<CoursePatrolEvaluationWrapper.CoursePatrolEvaluationInfo>> page(@RequestBody CoursePatrolEvaluationWrapper.CoursePatrolEvaluationQuery query) {
+
+        query.setOrganId(organizationService.getEmployeeOrgan(query.getOrganId()));
+        IPage<CoursePatrolEvaluationWrapper.CoursePatrolEvaluationInfo> pages = coursePatrolEvaluationService.selectPage(QueryInfo.getPage(query), query);
+        
+        return succeed(QueryInfo.pageInfo(pages));
+	}
+    
+    @ApiOperation(value = "学校端-添加巡堂信息", notes = "巡堂详情- 传入 CoursePatrolEvaluationWrapper.CoursePatrolEvaluation")
+	@PostMapping("/save")
+	public HttpResponseResult<JSONObject> add(@Validated @RequestBody CoursePatrolEvaluationWrapper.CoursePatrolEvaluation coursePatrolEvaluation) {
+        
+        // 新增数据
+        coursePatrolEvaluationService.update(coursePatrolEvaluation);
+        
+        return succeed();
+	}
+    
+    @ApiOperation(value = "web-处理意见,学校端-修改", notes = "巡堂详情- 传入 CoursePatrolEvaluationWrapper.CoursePatrolEvaluation")
+	@PostMapping("/update")
+	public HttpResponseResult<JSONObject> update(@Validated(value = Update.class) @RequestBody CoursePatrolEvaluationWrapper.CoursePatrolEvaluation coursePatrolEvaluation) {
+        
+        // 更新数据
+        coursePatrolEvaluationService.update(coursePatrolEvaluation);
+        
+        return succeed();
+	}
+}

+ 77 - 0
mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolActivityController.java

@@ -0,0 +1,77 @@
+package com.ym.mec.web.controller.school;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.update.Update;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.microsvc.toolkit.common.response.paging.PageInfo;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.biz.dal.entity.SchoolActivity;
+import com.ym.mec.biz.dal.wrapper.SchoolActivityWrapper;
+import com.ym.mec.biz.service.SchoolActivityService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+@Slf4j
+@Validated
+@RestController
+@RequestMapping("/schoolActivity")
+@Api(tags = "学校活动")
+public class SchoolActivityController extends BaseController {
+
+    @Autowired
+    private SchoolActivityService schoolActivityService;
+
+	@ApiOperation(value = "详情", notes = "学校活动-根据详情ID查询单条, 传入id")
+    @GetMapping("/detail/{id}")
+    public HttpResponseResult<SchoolActivityWrapper.SchoolActivityDetail> detail(@PathVariable("id") Long id) {
+
+        SchoolActivityWrapper.SchoolActivityDetail wrapper = schoolActivityService.detail(id);
+        
+        return succeed(wrapper);
+	}
+    
+    @ApiOperation(value = "查询分页", notes = "学校活动- 传入 SchoolActivityWrapper.SchoolActivityQuery") 
+    @PostMapping("/page")
+    public HttpResponseResult<PageInfo<SchoolActivityWrapper.SchoolActivity>> page(@RequestBody SchoolActivityWrapper.SchoolActivityQuery query) {
+        
+        IPage<SchoolActivityWrapper.SchoolActivity> pages = schoolActivityService.selectPage(QueryInfo.getPage(query), query);
+        
+        return succeed(QueryInfo.pageInfo(pages));
+	}
+
+
+    @ApiOperation(value = "查询乐团学生信息")
+    @PostMapping("/userList")
+    public HttpResponseResult<PageInfo<SchoolActivityWrapper.SchoolActivitySubject>> userList(@RequestBody SchoolActivityWrapper.SchoolActivityStudentQuery query) {
+
+
+        return succeed(null);
+    }
+    
+    @ApiOperation(value = "新增", notes = "学校活动- 传入 SchoolActivityWrapper.SchoolActivity")
+	@PostMapping("/save")
+	public HttpResponseResult<JSONObject> add(@Validated @RequestBody SchoolActivityWrapper.SchoolActivityDetail schoolActivity) {
+        
+        return succeed();
+	}
+    
+    @ApiOperation(value = "修改", notes = "学校活动- 传入 SchoolActivityWrapper.SchoolActivity")
+	@PostMapping("/update")
+	public HttpResponseResult<JSONObject> update(@Validated(value = Update.class) @RequestBody SchoolActivityWrapper.SchoolActivityDetail schoolActivity) {
+        
+        return succeed();
+	}
+
+	@ApiOperation(value = "删除", notes = "学校活动- 传入id")
+//	@PostMapping("/remove")
+	public HttpResponseResult<Boolean> remove(@RequestParam Long id) {
+    
+		return succeed(schoolActivityService.removeById(id));
+	}
+}

+ 73 - 0
mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolActivityDetailController.java

@@ -0,0 +1,73 @@
+package com.ym.mec.web.controller.school;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.microsvc.toolkit.common.response.paging.PageInfo;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.biz.dal.entity.SchoolActivityDetail;
+import com.ym.mec.biz.dal.wrapper.SchoolActivityDetailWrapper;
+import com.ym.mec.biz.service.SchoolActivityDetailService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+@Slf4j
+@Validated
+@RestController
+@RequestMapping("/schoolActivityDetail")
+@Api(tags = "活动详情")
+public class SchoolActivityDetailController extends BaseController {
+
+    @Autowired
+    private SchoolActivityDetailService schoolActivityDetailService;
+
+	@ApiOperation(value = "详情", notes = "活动详情-根据详情ID查询单条, 传入id")
+    @GetMapping("/detail/{id}")
+    public HttpResponseResult<SchoolActivityDetail> detail(@PathVariable("id") Long id) {
+    
+    	SchoolActivityDetail wrapper = schoolActivityDetailService.detail(id);
+        
+        return succeed(wrapper);
+	}
+    
+    @ApiOperation(value = "查询分页", notes = "活动详情- 传入 SchoolActivityDetailWrapper.SchoolActivityDetailQuery") 
+    @PostMapping("/page")
+    public HttpResponseResult<PageInfo<SchoolActivityDetail>> page(@RequestBody SchoolActivityDetailWrapper.SchoolActivityDetailQuery query) {
+        
+        IPage<SchoolActivityDetail> pages = schoolActivityDetailService.selectPage(QueryInfo.getPage(query), query);
+        
+        return succeed(QueryInfo.pageInfo(pages));
+	}
+    
+    @ApiOperation(value = "新增", notes = "活动详情- 传入 SchoolActivityDetailWrapper.SchoolActivityDetail")
+	@PostMapping("/save")
+	public HttpResponseResult<JSONObject> add(@Validated @RequestBody SchoolActivityDetail schoolActivityDetail) {
+        
+        // 新增数据
+        schoolActivityDetailService.save(schoolActivityDetail);
+        
+        return succeed();
+	}
+    
+    @ApiOperation(value = "修改", notes = "活动详情- 传入 SchoolActivityDetailWrapper.SchoolActivityDetail")
+	@PostMapping("/update")
+	public HttpResponseResult<JSONObject> update(@Validated @RequestBody SchoolActivityDetail schoolActivityDetail) {
+        
+        // 更新数据
+        schoolActivityDetailService.updateById(schoolActivityDetail);
+        
+        return succeed();
+	}
+
+	@ApiOperation(value = "删除", notes = "活动详情- 传入id")
+	@PostMapping("/remove")
+	public HttpResponseResult<Boolean> remove(@RequestParam Long id) {
+    
+		return succeed(schoolActivityDetailService.removeById(id));
+	}
+}

+ 73 - 0
mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolActivityDetailUserController.java

@@ -0,0 +1,73 @@
+package com.ym.mec.web.controller.school;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.microsvc.toolkit.common.response.paging.PageInfo;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.biz.dal.entity.SchoolActivityDetailUser;
+import com.ym.mec.biz.dal.wrapper.SchoolActivityDetailUserWrapper;
+import com.ym.mec.biz.service.SchoolActivityDetailUserService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+@Slf4j
+@Validated
+@RestController
+@RequestMapping("/schoolActivityDetailUser")
+@Api(tags = "活动详情人员")
+public class SchoolActivityDetailUserController extends BaseController {
+
+    @Autowired
+    private SchoolActivityDetailUserService schoolActivityDetailUserService;
+
+	@ApiOperation(value = "详情", notes = "活动详情人员-根据详情ID查询单条, 传入id")
+    @GetMapping("/detail/{id}")
+    public HttpResponseResult<SchoolActivityDetailUser> detail(@PathVariable("id") Long id) {
+    
+    	SchoolActivityDetailUser wrapper = schoolActivityDetailUserService.detail(id);
+        
+        return succeed(wrapper);
+	}
+    
+    @ApiOperation(value = "查询分页", notes = "活动详情人员- 传入 SchoolActivityDetailUserWrapper.SchoolActivityDetailUserQuery") 
+    @PostMapping("/page")
+    public HttpResponseResult<PageInfo<SchoolActivityDetailUser>> page(@RequestBody SchoolActivityDetailUserWrapper.SchoolActivityDetailUserQuery query) {
+        
+        IPage<SchoolActivityDetailUser> pages = schoolActivityDetailUserService.selectPage(QueryInfo.getPage(query), query);
+        
+        return succeed(QueryInfo.pageInfo(pages));
+	}
+    
+    @ApiOperation(value = "新增", notes = "活动详情人员- 传入 SchoolActivityDetailUserWrapper.SchoolActivityDetailUser")
+	@PostMapping("/save")
+	public HttpResponseResult<JSONObject> add(@Validated @RequestBody SchoolActivityDetailUser schoolActivityDetailUser) {
+        
+        // 新增数据
+        schoolActivityDetailUserService.save(schoolActivityDetailUser);
+        
+        return succeed();
+	}
+    
+    @ApiOperation(value = "修改", notes = "活动详情人员- 传入 SchoolActivityDetailUserWrapper.SchoolActivityDetailUser")
+	@PostMapping("/update")
+	public HttpResponseResult<JSONObject> update(@Validated @RequestBody SchoolActivityDetailUser schoolActivityDetailUser) {
+        
+        // 更新数据
+        schoolActivityDetailUserService.updateById(schoolActivityDetailUser);
+        
+        return succeed();
+	}
+
+	@ApiOperation(value = "删除", notes = "活动详情人员- 传入id")
+	@PostMapping("/remove")
+	public HttpResponseResult<Boolean> remove(@RequestParam Long id) {
+    
+		return succeed(schoolActivityDetailUserService.removeById(id));
+	}
+}