Browse Source

Merge remote-tracking branch 'origin/feature/0406-degree' into feature/0406-degree

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DegreeLevelFeeWrapper.java
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeLevelFeeServiceImpl.java
#	mec-web/src/main/java/com/ym/mec/web/controller/degree/DegreeLevelFeeController.java
Eric 2 years ago
parent
commit
180a6a16c8
24 changed files with 554 additions and 80 deletions
  1. 4 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Degree.java
  2. 3 11
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/DegreeLevelFeeNew.java
  3. 6 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/DegreeNews.java
  4. 38 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/DegreeNewsTypeEnum.java
  5. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/DegreeTypeEnum.java
  6. 52 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EDegreeStatus.java
  7. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/DegreeLevelFeeMapper.java
  8. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/DegreeNewsMapper.java
  9. 57 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/vo/DegreeLevelFeeNewVo.java
  10. 85 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/vo/DegreeNewsVo.java
  11. 16 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DegreeLevelFeeWrapper.java
  12. 71 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DegreeWrapper.java
  13. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/service/DegreeLevelFeeService.java
  14. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/service/DegreeNewsService.java
  15. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/DegreeService.java
  16. 5 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeLevelFeeServiceImpl.java
  17. 22 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeNewsServiceImpl.java
  18. 76 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeServiceImpl.java
  19. 18 4
      mec-biz/src/main/resources/config/mybatis/DegreeLevelFeeNewMapper.xml
  20. 16 2
      mec-biz/src/main/resources/config/mybatis/DegreeMapper.xml
  21. 12 7
      mec-biz/src/main/resources/config/mybatis/DegreeNewsMapper.xml
  22. 13 10
      mec-web/src/main/java/com/ym/mec/web/controller/degree/DegreeInfoController.java
  23. 8 15
      mec-web/src/main/java/com/ym/mec/web/controller/degree/DegreeLevelFeeController.java
  24. 8 4
      mec-web/src/main/java/com/ym/mec/web/controller/degree/DegreeNewsController.java

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Degree.java

@@ -4,6 +4,7 @@ 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.EDegreeStatus;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import lombok.Data;
 
@@ -64,9 +65,9 @@ public class Degree implements Serializable {
     @TableField(value = "purchase_course_")
     private Integer purchaseCourse;
 
-    @ApiModelProperty("报名状态")
+    @ApiModelProperty("报名状态 NOT_START:未开始,START:报名中,END:报名结束")
     @TableField(value = "status_")
-    private String status;
+    private EDegreeStatus status;
 
     @ApiModelProperty("创建时间")
     @TableField(value = "create_time_")
@@ -75,4 +76,4 @@ public class Degree implements Serializable {
     public Integer getTenantId() {
         return Optional.ofNullable(tenantId).orElse(TenantContextHolder.getTenantId());
     }
-}
+}

+ 3 - 11
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/DegreeLevelFeeNew.java

@@ -4,7 +4,7 @@ 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.degree.EDegreeFeeType;
+import com.ym.mec.biz.dal.enums.DegreeTypeEnum;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import lombok.Data;
 
@@ -43,20 +43,12 @@ public class DegreeLevelFeeNew implements Serializable {
 
     @ApiModelProperty("考级分类, GRADE,THEORY")
     @TableField(value = "degree_type_")
-    private EDegreeFeeType degreeType;
+    private DegreeTypeEnum degreeType;
 
-    @ApiModelProperty("上传证书")
+    @ApiModelProperty("是否上传证书")
     @TableField(value = "credentials_")
     private Boolean credentials;
 
-    @ApiModelProperty("乐器考级费用")
-    @TableField(value = "grade_")
-    private BigDecimal grade;
-
-    @ApiModelProperty("乐理费用")
-    @TableField(value = "theory_")
-    private BigDecimal theory;
-
     @ApiModelProperty("创建时间")
     @TableField(value = "create_time_")
     private Date createTime;

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/DegreeNews.java

@@ -4,6 +4,7 @@ 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.DegreeNewsTypeEnum;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import lombok.Data;
 
@@ -42,7 +43,7 @@ public class DegreeNews implements Serializable {
 
     @ApiModelProperty("咨询类型")
     @TableField(value = "type_")
-    private String type;
+    private DegreeNewsTypeEnum type;
 
     @ApiModelProperty("状态(1-可见 0-不可见)")
     @TableField(value = "status_")
@@ -88,6 +89,10 @@ public class DegreeNews implements Serializable {
     @TableField(value = "video_cover_image_")
     private String videoCoverImage;
 
+    @ApiModelProperty("修改人")
+    @TableField(value = "operator_id_")
+    private Integer operatorId;
+
     @ApiModelProperty("更新时间")
     @TableField(value = "update_time_")
     private Date updateTime;

+ 38 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/DegreeNewsTypeEnum.java

@@ -0,0 +1,38 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+/**
+ * 考级资讯类型
+ */
+public enum DegreeNewsTypeEnum implements BaseEnum<String, DegreeNewsTypeEnum> {
+	EXAMINEE_STYLE("EXAMINEE_STYLE", "考生风采"),
+	GRADE_EXAMINATION_BRIEF("GRADE_EXAMINATION_BRIEF", "考级简章"),
+	GRADING_NOTICE("GRADING_NOTICE", "考级须知");
+
+	private String code;
+
+	private String msg;
+
+	DegreeNewsTypeEnum(String code, String msg) {
+		this.code = code;
+		this.msg = msg;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	@Override
+	public String getCode() {
+		return this.code;
+	}
+}

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

@@ -0,0 +1,34 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+public enum DegreeTypeEnum implements BaseEnum<String, ComplaintsStatusEnum> {
+    GRADE("GRADE", "等级"),
+    THEORY("THEORY", "乐理");
+
+    private String code;
+
+    private String msg;
+
+    DegreeTypeEnum(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    @Override
+    public String getCode() {
+        return this.code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+}

+ 52 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EDegreeStatus.java

@@ -0,0 +1,52 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.ym.mec.common.enums.BaseEnum;
+import lombok.Getter;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2023-04-10
+ */
+@Getter
+public enum EDegreeStatus implements BaseEnum<String, EDegreeStatus> {
+
+    /**
+     * 未开始
+     */
+    NOT_START("NOT_START", "未开始"),
+
+    /**
+     * 进行中
+     */
+    START("START", "进行中"),
+
+    /**
+     * 已结束
+     */
+    END("END", "已结束"),
+    ;
+
+    @EnumValue
+    private String code;
+
+
+    private String msg;
+
+    EDegreeStatus(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    /**
+     * 获取枚举类的code值
+     *
+     * @return
+     */
+    @Override
+    public String getCode() {
+        return this.code;
+    }
+}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/DegreeLevelFeeMapper.java

@@ -5,6 +5,7 @@ import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ym.mec.biz.dal.entity.DegreeLevelFeeNew;
+import com.ym.mec.biz.dal.vo.DegreeLevelFeeNewVo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 import com.ym.mec.biz.dal.wrapper.DegreeLevelFeeWrapper;
@@ -22,6 +23,6 @@ public interface DegreeLevelFeeMapper extends BaseMapper<DegreeLevelFeeNew> {
 	 * @param param DegreeLevelFeeWrapper.DegreeLevelFeeQuery
 	 * @return List<DegreeLevelFeeWrapper.DegreeLevelFee>
 	 */
-	List<DegreeLevelFeeNew> selectPage(@Param("page") IPage<DegreeLevelFeeNew> page, @Param("param") DegreeLevelFeeWrapper.DegreeLevelFeeQuery param);
+	List<DegreeLevelFeeNewVo> selectPage(@Param("page") IPage<DegreeLevelFeeNewVo> page, @Param("param") DegreeLevelFeeWrapper.DegreeLevelFeeQuery param);
 	
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/DegreeNewsMapper.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ym.mec.biz.dal.vo.DegreeNewsVo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 import com.ym.mec.biz.dal.entity.DegreeNews;
@@ -22,6 +23,6 @@ public interface DegreeNewsMapper extends BaseMapper<DegreeNews> {
 	 * @param param DegreeNewsWrapper.DegreeNewsQuery
 	 * @return List<DegreeNewsWrapper.DegreeNews>
 	 */
-	List<DegreeNews> selectPage(@Param("page") IPage<DegreeNews> page, @Param("param") DegreeNewsWrapper.DegreeNewsQuery param);
+	List<DegreeNewsVo> selectPage(@Param("page") IPage<DegreeNewsVo> page, @Param("param") DegreeNewsWrapper.DegreeNewsQuery param);
 	
 }

+ 57 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/vo/DegreeLevelFeeNewVo.java

@@ -0,0 +1,57 @@
+package com.ym.mec.biz.dal.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ym.mec.biz.dal.enums.DegreeTypeEnum;
+import com.ym.mec.common.tenant.TenantContextHolder;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.Optional;
+
+/**
+ * 考级等级费用配置
+ * 2023-04-10 10:24:25
+ */
+@Data
+public class DegreeLevelFeeNewVo{
+
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("声部ID")
+    private Integer subjectId;
+
+    @ApiModelProperty("声部")
+    private String subjectName;
+
+    @ApiModelProperty("等级")
+    private Integer level;
+
+    @ApiModelProperty("费用")
+    private BigDecimal fee;
+
+    @ApiModelProperty("考级分类, GRADE,THEORY")
+    private DegreeTypeEnum degreeType;
+
+    @ApiModelProperty("是否上传证书")
+    private Boolean credentials;
+
+    @ApiModelProperty("创建时间")
+    private Date createTime;
+
+    @ApiModelProperty("修改时间")
+    private Date updateTime;
+
+    private Integer tenantId;
+
+    public Integer getTenantId() {
+        return Optional.ofNullable(tenantId).orElse(TenantContextHolder.getTenantId());
+    }
+}

+ 85 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/vo/DegreeNewsVo.java

@@ -0,0 +1,85 @@
+package com.ym.mec.biz.dal.vo;
+
+import com.ym.mec.biz.dal.enums.DegreeNewsTypeEnum;
+import com.ym.mec.common.tenant.TenantContextHolder;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.Optional;
+
+
+/**
+ * 考级资讯表
+ * 2023-04-10 10:24:25
+ */
+@Data
+public class DegreeNewsVo{
+
+    @ApiModelProperty("主键ID") 
+    private Long id;
+
+    @ApiModelProperty("标题")
+    private String title;
+
+    @ApiModelProperty("内容")
+    private String content;
+
+    @ApiModelProperty("封面图片")
+    private String coverImage;
+
+    @ApiModelProperty("咨询类型")
+    private DegreeNewsTypeEnum type;
+
+    @ApiModelProperty("状态(1-可见 0-不可见)")
+    private Boolean status;
+
+    @ApiModelProperty("上线时间")
+    private Date onlineTime;
+
+    @ApiModelProperty("下线时间")
+    private Date offlineTime;
+
+    @ApiModelProperty("备注")
+    private String memo;
+
+    @ApiModelProperty("链接地址")
+    private String linkUrl;
+
+    @ApiModelProperty("跳转类型_bank,_slef")
+    private String hrefTarget;
+
+    @ApiModelProperty("顺序号")
+    private Integer order;
+
+    @ApiModelProperty("删除标识")
+    private Boolean delFlag;
+
+    @ApiModelProperty("机构ID")
+    private Integer tenantId;
+
+    @ApiModelProperty("所属分部")
+    private String organIds;
+
+    @ApiModelProperty("所属分部")
+    private String organNames;
+
+    @ApiModelProperty("视频封面")
+    private String videoCoverImage;
+
+    @ApiModelProperty("操作人")
+    private Integer operatorId;
+
+    @ApiModelProperty("操作人")
+    private String operatorName;
+
+    @ApiModelProperty("更新时间")
+    private Date updateTime;
+
+    @ApiModelProperty("创建时间")
+    private Date createTime;
+
+    public Integer getTenantId() {
+        return Optional.ofNullable(tenantId).orElse(TenantContextHolder.getTenantId());
+    }
+}

+ 16 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DegreeLevelFeeWrapper.java

@@ -1,8 +1,10 @@
 package com.ym.mec.biz.dal.wrapper;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.ym.mec.biz.dal.enums.degree.EDegreeFeeType;
+import com.ym.mec.biz.dal.enums.DegreeTypeEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -39,7 +41,19 @@ public class DegreeLevelFeeWrapper {
         
         @ApiModelProperty("关键字匹配")
 		private String keyword;
-        
+
+        @ApiModelProperty("声部")
+        private Integer subjectId;
+
+        @ApiModelProperty("级别")
+        private Integer level;
+
+        @ApiModelProperty("考级分类, GRADE,THEORY")
+        private DegreeTypeEnum degreeType;
+
+        @ApiModelProperty("是否上传证件")
+        private Boolean credentials;
+
         public String getKeyword() {
             return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
         }
@@ -65,7 +79,7 @@ public class DegreeLevelFeeWrapper {
 
         @ApiModelProperty("乐理费用配置")
         private List<LevelFeeConfig> theoryFeeConfigs;
-        
+
         public String jsonString() {
             return JSON.toJSONString(this);
         }

+ 71 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DegreeWrapper.java

@@ -1,9 +1,16 @@
 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.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.biz.dal.enums.EDegreeStatus;
 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;
@@ -11,6 +18,10 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
+import org.hibernate.validator.cfg.defs.EANDef;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 /**
  * 考级信息
@@ -32,9 +43,21 @@ public class DegreeWrapper {
         @ApiModelProperty("分页行数")
         private Integer rows;
         
-        @ApiModelProperty("关键字匹配")
+        @ApiModelProperty("考级名称/编号")
 		private String keyword;
-        
+
+
+        @ApiModelProperty("开始时间")
+        private Date startTime;
+
+        @ApiModelProperty("结束时间")
+        private Date endTime;
+
+        @ApiModelProperty("报名状态 NOT_START:未开始,START:报名中,END:报名结束")
+        private EDegreeStatus status;
+
+        private Integer tenantId;
+
         public String getKeyword() {
             return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
         }
@@ -48,9 +71,53 @@ public class DegreeWrapper {
         }
     }  
 
+    @Data
 	@ApiModel(" Degree-考级信息")
     public static class Degree {
-        
+
+
+        @ApiModelProperty("主键ID")
+        private Long id;
+
+        @ApiModelProperty("机构ID")
+        private Integer tenantId;
+
+        @ApiModelProperty(value = "分部ID",required = true)
+        @NotBlank(message = "分部ID不能为空")
+        private String organIds;
+
+        @ApiModelProperty("分部名称")
+        private List<String> organNames;
+
+        @ApiModelProperty(value = "考级名称",required = true)
+        @NotBlank(message = "考级名称不能为空")
+        private String name;
+
+        @ApiModelProperty(value = "报名开始时间",required = true)
+        @NotNull(message = "报名开始时间不能为空")
+        private Date startTime;
+
+        @ApiModelProperty(value = "报名结束时间",required = true)
+        @NotNull(message = "报名结束时间不能为空")
+        private Date endTime;
+
+        @ApiModelProperty(value = "登记时间",required = true)
+        @NotNull(message = "登记时间不能为空")
+        private Date registrationTime;
+
+        @ApiModelProperty("报名人次")
+        private Integer registerTotal;
+
+        @ApiModelProperty("报名人数")
+        private Integer registerNum;
+
+        @ApiModelProperty("购买课程")
+        private Integer purchaseCourse;
+
+        @ApiModelProperty("报名状态 NOT_START:未开始,START:报名中,END:报名结束")
+        private EDegreeStatus status;
+
+
         public String jsonString() {
             return JSON.toJSONString(this);
         }
@@ -60,4 +127,4 @@ public class DegreeWrapper {
         }
 	}
 
-}
+}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/DegreeLevelFeeService.java

@@ -3,6 +3,7 @@ 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.entity.DegreeLevelFeeNew;
+import com.ym.mec.biz.dal.vo.DegreeLevelFeeNewVo;
 import com.ym.mec.biz.dal.wrapper.DegreeLevelFeeWrapper;
 import com.ym.mec.biz.dal.entity.DegreeLevelFee;
 
@@ -25,7 +26,7 @@ public interface DegreeLevelFeeService extends IService<DegreeLevelFeeNew>  {
      * @param query DegreeLevelFeeWrapper.DegreeLevelFeeQuery
      * @return IPage<DegreeLevelFee>
      */
-    IPage<DegreeLevelFeeNew> selectPage(IPage<DegreeLevelFeeNew> page, DegreeLevelFeeWrapper.DegreeLevelFeeQuery query);
+    IPage<DegreeLevelFeeNewVo> selectPage(IPage<DegreeLevelFeeNewVo> page, DegreeLevelFeeWrapper.DegreeLevelFeeQuery query);
 	
     /**
      * 添加

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/DegreeNewsService.java

@@ -2,6 +2,7 @@ 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.vo.DegreeNewsVo;
 import com.ym.mec.biz.dal.wrapper.DegreeNewsWrapper;
 import com.ym.mec.biz.dal.entity.DegreeNews;
 
@@ -24,7 +25,7 @@ public interface DegreeNewsService extends IService<DegreeNews>  {
      * @param query DegreeNewsWrapper.DegreeNewsQuery
      * @return IPage<DegreeNews>
      */
-    IPage<DegreeNews> selectPage(IPage<DegreeNews> page, DegreeNewsWrapper.DegreeNewsQuery query);
+    IPage<DegreeNewsVo> selectPage(IPage<DegreeNewsVo> page, DegreeNewsWrapper.DegreeNewsQuery query);
 	
     /**
      * 添加

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/DegreeService.java

@@ -24,7 +24,7 @@ public interface DegreeService extends IService<Degree>  {
      * @param query DegreeWrapper.DegreeQuery
      * @return IPage<Degree>
      */
-    IPage<Degree> selectPage(IPage<Degree> page, DegreeWrapper.DegreeQuery query);
+    IPage<DegreeWrapper.Degree> selectPage(IPage<Degree> page, DegreeWrapper.DegreeQuery query);
 	
     /**
      * 添加
@@ -40,4 +40,4 @@ public interface DegreeService extends IService<Degree>  {
      */
      Boolean update(DegreeWrapper.Degree degree);
      
-}
+}

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeLevelFeeServiceImpl.java

@@ -10,6 +10,8 @@ import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.enums.degree.EDegreeFeeType;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import com.ym.mec.biz.dal.vo.DegreeLevelFeeNewVo;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.stereotype.Service;
 import lombok.extern.slf4j.Slf4j;
 import com.ym.mec.biz.dal.wrapper.DegreeLevelFeeWrapper;
@@ -21,6 +23,8 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
+import java.util.List;
+
 /**
  * 考级等级费用配置
  * 2023-04-10 10:24:25
@@ -50,8 +54,7 @@ public class DegreeLevelFeeServiceImpl extends ServiceImpl<DegreeLevelFeeMapper,
      * @return IPage<DegreeLevelFee>
      */
     @Override
-    public IPage<DegreeLevelFeeNew> selectPage(IPage<DegreeLevelFeeNew> page, DegreeLevelFeeWrapper.DegreeLevelFeeQuery query) {
-        
+    public IPage<DegreeLevelFeeNewVo> selectPage(IPage<DegreeLevelFeeNewVo> page, DegreeLevelFeeWrapper.DegreeLevelFeeQuery query) {
         return page.setRecords(baseMapper.selectPage(page, query));
     }
 

+ 22 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeNewsServiceImpl.java

@@ -3,6 +3,11 @@ 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 com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.vo.DegreeNewsVo;
+import com.ym.mec.util.collection.MapUtil;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import lombok.extern.slf4j.Slf4j;
 import com.ym.mec.biz.dal.entity.DegreeNews;
@@ -10,6 +15,10 @@ import com.ym.mec.biz.dal.wrapper.DegreeNewsWrapper;
 import com.ym.mec.biz.dal.mapper.DegreeNewsMapper;
 import com.ym.mec.biz.service.DegreeNewsService;
 
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 /**
  * 考级资讯表
  * 2023-04-10 10:24:25
@@ -18,6 +27,9 @@ import com.ym.mec.biz.service.DegreeNewsService;
 @Service
 public class DegreeNewsServiceImpl extends ServiceImpl<DegreeNewsMapper, DegreeNews> implements DegreeNewsService {
 
+    @Autowired
+    private TeacherDao teacherDao;
+
 	/**
      * 查询详情
      * @param id 详情ID
@@ -36,9 +48,16 @@ public class DegreeNewsServiceImpl extends ServiceImpl<DegreeNewsMapper, DegreeN
      * @return IPage<DegreeNews>
      */
     @Override
-    public IPage<DegreeNews> selectPage(IPage<DegreeNews> page, DegreeNewsWrapper.DegreeNewsQuery query) {
-        
-        return page.setRecords(baseMapper.selectPage(page, query));
+    public IPage<DegreeNewsVo> selectPage(IPage<DegreeNewsVo> page, DegreeNewsWrapper.DegreeNewsQuery query) {
+        List<DegreeNewsVo> degreeNewsVos = baseMapper.selectPage(page, query);
+        if(CollectionUtils.isNotEmpty(degreeNewsVos)){
+            List<Integer> operatorIds = degreeNewsVos.stream().map(e -> e.getOperatorId()).distinct().collect(Collectors.toList());
+            Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(operatorIds));
+            for (DegreeNewsVo vo : degreeNewsVos) {
+                vo.setOperatorName(nameIdMap.get(vo.getOperatorId()));
+            }
+        }
+        return page.setRecords(degreeNewsVos);
     }
 	
     /**

+ 76 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeServiceImpl.java

@@ -3,13 +3,24 @@ 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 com.ym.mec.biz.dal.entity.Organization;
+import com.ym.mec.biz.dal.enums.EDegreeStatus;
+import com.ym.mec.biz.service.OrganizationService;
+import com.ym.mec.common.tenant.TenantContextHolder;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.beans.BeanUtils;
 import lombok.extern.slf4j.Slf4j;
 import com.ym.mec.biz.dal.entity.Degree;
 import com.ym.mec.biz.dal.wrapper.DegreeWrapper;
 import com.ym.mec.biz.dal.mapper.DegreeMapper;
 import com.ym.mec.biz.service.DegreeService;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 考级信息
@@ -19,6 +30,9 @@ import com.ym.mec.biz.service.DegreeService;
 @Service
 public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> implements DegreeService {
 
+    @Autowired
+    private OrganizationService organizationService;
+
 	/**
      * 查询详情
      * @param id 详情ID
@@ -37,9 +51,44 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
      * @return IPage<Degree>
      */
     @Override
-    public IPage<Degree> selectPage(IPage<Degree> page, DegreeWrapper.DegreeQuery query) {
-        
-        return page.setRecords(baseMapper.selectPage(page, query));
+    public IPage<DegreeWrapper.Degree> selectPage(IPage<Degree> page, DegreeWrapper.DegreeQuery query) {
+
+        Integer tenantId = TenantContextHolder.getTenantId();
+        query.setTenantId(tenantId);
+
+        IPage<Degree> degreeIPage = page.setRecords(baseMapper.selectPage(page, query));
+        List<Degree> records = degreeIPage.getRecords();
+        IPage<DegreeWrapper.Degree> result = degreeIPage.convert(o -> new DegreeWrapper.Degree());
+        if (CollectionUtils.isEmpty(records)) {
+            return result;
+        }
+        // 设置分部信息
+        List<DegreeWrapper.Degree> degrees = JSON.parseArray(JSON.toJSONString(records), DegreeWrapper.Degree.class);
+
+        // 所有的分部id
+        List<Integer> organIds = degrees.stream()
+                                    .flatMap(o -> Arrays.stream(o.getOrganIds().split(",")))
+                                    .filter(Objects::nonNull)
+                                    .map(Integer::valueOf)
+                                    .distinct()
+                                    .collect(Collectors.toList());
+
+        List<Organization> organs = organizationService.findOrgans(organIds, tenantId);
+
+        degrees.forEach(o -> {
+            List<String> organNames = Arrays.stream(o.getOrganIds().split(","))
+                    .filter(Objects::nonNull)
+                    .map(Integer::valueOf)
+                    .distinct()
+                    .flatMap(organId -> organs.stream()
+                            .filter(organ -> organ.getId().equals(organId))
+                            .map(Organization::getName)
+                    ).collect(Collectors.toList());
+            o.setOrganNames(organNames);
+        });
+
+        return result.setRecords(degrees);
+
     }
 	
     /**
@@ -48,19 +97,40 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
      * @return Boolean
      */
     @Override
-    public Boolean add(DegreeWrapper.Degree degree) {    	
+    public Boolean add(DegreeWrapper.Degree degree) {
+
+        Integer tenantId = TenantContextHolder.getTenantId();
+        degree.setTenantId(tenantId);
+        updateDegreeStatus(degree);
+
         
         return this.save(JSON.parseObject(degree.jsonString(), Degree.class));
     }
 
     /**
+     * 根据时间设置状态
+     * @param degree DegreeWrapper.Degree
+     */
+    private void updateDegreeStatus(DegreeWrapper.Degree degree) {
+        if (degree.getStartTime().compareTo(new Date()) > 0) {
+            degree.setStatus(EDegreeStatus.NOT_START);
+        } else if (degree.getStartTime().compareTo(new Date()) <= 0 && degree.getEndTime().compareTo(new Date()) >= 0) {
+            degree.setStatus(EDegreeStatus.START);
+        } else {
+            degree.setStatus(EDegreeStatus.END);
+        }
+
+    }
+
+    /**
      * 更新
      * @param degree DegreeWrapper.Degree
      * @return Boolean
      */
     @Override
     public Boolean update(DegreeWrapper.Degree degree){
+        updateDegreeStatus(degree);
 
         return this.updateById(JSON.parseObject(degree.jsonString(), Degree.class));       
     }
-}
+}

+ 18 - 4
mec-biz/src/main/resources/config/mybatis/DegreeLevelFeeNewMapper.xml

@@ -2,10 +2,24 @@
 <!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.DegreeLevelFeeMapper">
     
-    <select id="selectPage" resultType="com.ym.mec.biz.dal.entity.DegreeLevelFeeNew">
-		SELECT         
-        	t.*
-		FROM degree_level_fee t
+    <select id="selectPage" resultType="com.ym.mec.biz.dal.vo.DegreeLevelFeeNewVo">
+		select dlf.*,s.name_ subjectName from degree_level_fee dlf
+		left join subject s ON dlf.subject_id_ = s.id_
+		<where>
+			<if test="param.subjectId != null">
+				dlf.subject_id_ = #{param.subjectId}
+			</if>
+			<if test="param.level != null">
+				AND dlf.level_ = #{param.level}
+			</if>
+			<if test="param.credentials != null">
+				AND dlf.credentials_ = #{param.credentials}
+			</if>
+			<if test="param.degreeType != null">
+				AND dlf.degree_type_ = #{param.degreeType}
+			</if>
+		</where>
+		ORDER BY dlf.level_
 	</select>
     
 </mapper>

+ 16 - 2
mec-biz/src/main/resources/config/mybatis/DegreeMapper.xml

@@ -6,6 +6,20 @@
 		SELECT         
         	t.*
 		FROM degree t
+        <where>
+            <if test="param.keyword != null and param.keyword != ''">
+                AND (t.name_ LIKE CONCAT('%',#{param.keyword},'%') OR t.id_ LIKE CONCAT('%',#{param.keyword},'%'))
+            </if>
+            <if test="param.startTime !=null and param.endTime != null">
+                and t.start_time_ &lt;= #{param.endTime} and t.end_time_ &gt;= #{param.startTime}
+            </if>
+            <if test="param.status != null">
+                and t.status_ = #{param.status}
+            </if>
+            <if test="param.tenantId != null">
+                and t.tenant_id_ = #{param.tenantId}
+            </if>
+        </where>
 	</select>
-    
-</mapper>
+
+</mapper>

+ 12 - 7
mec-biz/src/main/resources/config/mybatis/DegreeNewsMapper.xml

@@ -2,23 +2,28 @@
 <!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.DegreeNewsMapper">
     
-    <select id="selectPage" resultType="com.ym.mec.biz.dal.entity.DegreeNews">
-		select * from degree_news
+    <select id="selectPage" resultType="com.ym.mec.biz.dal.vo.DegreeNewsVo">
+		select dn.*,GROUP_CONCAT(distinct o.name_) organNames from degree_news dn
+		left join organization o ON FIND_IN_SET(o.id_,dn.organ_ids_)
 		<where>
+			<if test="param.keyword != null and param.keyword != ''">
+				AND dn.title_ LIKE CONCAT('%',#{param.keyword},'%')
+			</if>
 			<if test="param.type != null">
-				AND type_ = #{param.type}
+				AND dn.type_ = #{param.type}
 			</if>
 			<if test="param.status != null">
-				AND status_ = #{param.status}
+				AND dn.status_ = #{param.status}
 			</if>
 			<if test="param.organId != null">
-				AND FIND_IN_SET(param.organId,organ_ids_)
+				AND FIND_IN_SET(param.organId,dn.organ_ids_)
 			</if>
 			<if test="param.organId == null and param.defaultOrganId != null and param.defaultOrganId != ''">
-				AND (INTE_ARRAY(param.defaultOrganId,organ_ids_) OR organ_ids_ IS NULL OR organ_ids_ = '')
+				AND (INTE_ARRAY(param.defaultOrganId,dn.organ_ids_) OR dn.organ_ids_ IS NULL OR dn.organ_ids_ = '')
 			</if>
 		</where>
-		ORDER BY id_ DESC
+		group by dn.id_
+		ORDER BY dn.id_ DESC
 	</select>
     
 </mapper>

+ 13 - 10
mec-web/src/main/java/com/ym/mec/web/controller/degree/DegreeInfoController.java

@@ -48,38 +48,41 @@ public class DegreeInfoController extends BaseController {
     @ApiOperation(value = "查询分页", notes = "考级信息- 传入 DegreeWrapper.DegreeQuery") 
     //@PreAuthorize("@pcs.hasPermissions('degree/page')")
     @PostMapping("/page")
-    public HttpResponseResult<PageInfo<Degree>> page(@RequestBody DegreeWrapper.DegreeQuery query) {
+    public HttpResponseResult<PageInfo<DegreeWrapper.Degree>> page(@RequestBody DegreeWrapper.DegreeQuery query) {
         
-        IPage<Degree> pages = degreeService.selectPage(QueryInfo.getPage(query), query);
+        IPage<DegreeWrapper.Degree> pages = degreeService.selectPage(QueryInfo.getPage(query), query);
         
         return succeed(QueryInfo.pageInfo(pages));
 	}
     
     @ApiOperation(value = "新增", notes = "考级信息- 传入 DegreeWrapper.Degree")
-    @PreAuthorize("@pcs.hasPermissions('degree/save')")
+//    @PreAuthorize("@pcs.hasPermissions('degree/save')")
 	@PostMapping("/save")
-	public HttpResponseResult<JSONObject> add(@Validated @RequestBody Degree degree) {
+	public HttpResponseResult<JSONObject> add(@Validated @RequestBody DegreeWrapper.Degree degree) {
         
         // 新增数据
-        degreeService.save(degree);
+        degreeService.add(degree);
         
         return succeed();
 	}
     
     @ApiOperation(value = "修改", notes = "考级信息- 传入 DegreeWrapper.Degree")
-    @PreAuthorize("@pcs.hasPermissions('degree/update')")
+//    @PreAuthorize("@pcs.hasPermissions('degree/update')")
 	@PostMapping("/update")
-	public HttpResponseResult<JSONObject> update(@Validated @RequestBody Degree degree) {
-        
+	public HttpResponseResult<JSONObject> update(@Validated @RequestBody DegreeWrapper.Degree degree) {
+
+        if (degree.getId() == null) {
+            return failed("id不能为空");
+        }
         // 更新数据
-        degreeService.updateById(degree);
+        degreeService.update(degree);
         
         return succeed();
 	}
 
 	@ApiOperation(value = "删除", notes = "考级信息- 传入id")
     @PreAuthorize("@pcs.hasPermissions('degree/remove')")
-	@PostMapping("/remove")    
+//	@PostMapping("/remove")
 	public HttpResponseResult<Boolean> remove(@RequestParam Long id) {
     
 		return succeed(degreeService.removeById(id));

+ 8 - 15
mec-web/src/main/java/com/ym/mec/web/controller/degree/DegreeLevelFeeController.java

@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.DegreeLevelFeeNew;
+import com.ym.mec.biz.dal.vo.DegreeLevelFeeNewVo;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
@@ -28,6 +29,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ym.mec.biz.service.DegreeLevelFeeService;
 import com.ym.mec.biz.dal.wrapper.DegreeLevelFeeWrapper;
 
+import java.util.List;
+
 import java.util.Objects;
 
 @Slf4j
@@ -43,7 +46,6 @@ public class DegreeLevelFeeController extends BaseController {
     private SysUserFeignService sysUserFeignService;
 
 	@ApiOperation(value = "详情", notes = "考级等级费用配置-根据详情ID查询单条, 传入id")
-    //@PreAuthorize("@pcs.hasPermissions('degreeLevelFee/detail')")
     @GetMapping("/detail/{id}")
     public HttpResponseResult<DegreeLevelFeeNew> detail(@PathVariable("id") Long id) {
 
@@ -55,32 +57,24 @@ public class DegreeLevelFeeController extends BaseController {
     @ApiOperation(value = "查询分页", notes = "考级等级费用配置- 传入 DegreeLevelFeeWrapper.DegreeLevelFeeQuery") 
     @PreAuthorize("@pcs.hasPermissions('degreeLevelFee/page')")
     @PostMapping("/page")
-    public HttpResponseResult<PageInfo<DegreeLevelFeeNew>> page(@RequestBody DegreeLevelFeeWrapper.DegreeLevelFeeQuery query) {
-        
-        IPage<DegreeLevelFeeNew> pages = degreeLevelFeeService.selectPage(QueryInfo.getPage(query), query);
+    public HttpResponseResult<PageInfo<DegreeLevelFeeNewVo>> page(@RequestBody DegreeLevelFeeWrapper.DegreeLevelFeeQuery query) {
         
-        return succeed(QueryInfo.pageInfo(pages));
+        return succeed(QueryInfo.pageInfo(degreeLevelFeeService.selectPage(QueryInfo.getPage(query), query)));
 	}
     
     @ApiOperation(value = "新增", notes = "考级等级费用配置- 传入 DegreeLevelFeeWrapper.DegreeLevelFee")
     @PreAuthorize("@pcs.hasPermissions('degreeLevelFee/save')")
 	@PostMapping("/save")
-	public HttpResponseResult<JSONObject> add(@Validated @RequestBody DegreeLevelFeeNew degreeLevelFee) {
-        
-        // 新增数据
-        degreeLevelFeeService.save(degreeLevelFee);
-        
+	public HttpResponseResult<JSONObject> add(@RequestBody List<DegreeLevelFeeNew> degreeLevelFees) {
+        degreeLevelFeeService.saveBatch(degreeLevelFees);
         return succeed();
 	}
     
     @ApiOperation(value = "修改", notes = "考级等级费用配置- 传入 DegreeLevelFeeWrapper.DegreeLevelFee")
     @PreAuthorize("@pcs.hasPermissions('degreeLevelFee/update')")
 	@PostMapping("/update")
-	public HttpResponseResult<JSONObject> update(@Validated @RequestBody DegreeLevelFeeNew degreeLevelFee) {
-        
-        // 更新数据
+	public HttpResponseResult<JSONObject> update(@RequestBody DegreeLevelFeeNew degreeLevelFee) {
         degreeLevelFeeService.updateById(degreeLevelFee);
-        
         return succeed();
 	}
 
@@ -88,7 +82,6 @@ public class DegreeLevelFeeController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('degreeLevelFee/remove')")
 	@PostMapping("/remove")    
 	public HttpResponseResult<Boolean> remove(@RequestParam Long id) {
-    
 		return succeed(degreeLevelFeeService.removeById(id));
 	}
 

+ 8 - 4
mec-web/src/main/java/com/ym/mec/web/controller/degree/DegreeNewsController.java

@@ -5,6 +5,8 @@ import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.microsvc.toolkit.common.response.template.R;
 
 import com.alibaba.fastjson.JSONObject;
+import com.ym.mec.biz.dal.vo.DegreeNewsVo;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
@@ -35,6 +37,8 @@ public class DegreeNewsController extends BaseController {
 
     @Autowired
     private DegreeNewsService degreeNewsService;
+    @Autowired
+    private SysUserService sysUserService;
 
 	@ApiOperation(value = "详情", notes = "考级资讯表-根据详情ID查询单条, 传入id")
     @PreAuthorize("@pcs.hasPermissions('degreeNews/detail')")
@@ -49,9 +53,9 @@ public class DegreeNewsController extends BaseController {
     @ApiOperation(value = "查询分页", notes = "考级资讯表- 传入 DegreeNewsWrapper.DegreeNewsQuery") 
     @PreAuthorize("@pcs.hasPermissions('degreeNews/page')")
     @PostMapping("/page")
-    public HttpResponseResult<PageInfo<DegreeNews>> page(@RequestBody DegreeNewsWrapper.DegreeNewsQuery query) {
+    public HttpResponseResult<PageInfo<DegreeNewsVo>> page(@RequestBody DegreeNewsWrapper.DegreeNewsQuery query) {
         
-        IPage<DegreeNews> pages = degreeNewsService.selectPage(QueryInfo.getPage(query), query);
+        IPage<DegreeNewsVo> pages = degreeNewsService.selectPage(QueryInfo.getPage(query), query);
 
         return succeed(QueryInfo.pageInfo(pages));
 	}
@@ -60,7 +64,7 @@ public class DegreeNewsController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('degreeNews/save')")
 	@PostMapping("/save")
 	public HttpResponseResult<JSONObject> add(@Validated @RequestBody DegreeNews degreeNews) {
-        
+        degreeNews.setOperatorId(sysUserService.getUserId());
         // 新增数据
         degreeNewsService.save(degreeNews);
         
@@ -71,7 +75,7 @@ public class DegreeNewsController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('degreeNews/update')")
 	@PostMapping("/update")
 	public HttpResponseResult<JSONObject> update(@Validated @RequestBody DegreeNews degreeNews) {
-        
+        degreeNews.setOperatorId(sysUserService.getUserId());
         // 更新数据
         degreeNewsService.updateById(degreeNews);