فهرست منبع

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

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/dal/entity/DegreeLevelFeeNew.java
zouxuan 2 سال پیش
والد
کامیت
2d73d0059f

+ 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());
     }
-}
+}

+ 2 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/DegreeNews.java

@@ -4,7 +4,6 @@ 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;
 
@@ -43,7 +42,7 @@ public class DegreeNews implements Serializable {
 
     @ApiModelProperty("咨询类型")
     @TableField(value = "type_")
-    private DegreeNewsTypeEnum type;
+    private String type;
 
     @ApiModelProperty("状态(1-可见 0-不可见)")
     @TableField(value = "status_")
@@ -100,4 +99,4 @@ public class DegreeNews implements Serializable {
     public Integer getTenantId() {
         return Optional.ofNullable(tenantId).orElse(TenantContextHolder.getTenantId());
     }
-}
+}

+ 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 null;
+    }
+}

+ 32 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/degree/EDegreeFeeType.java

@@ -0,0 +1,32 @@
+package com.ym.mec.biz.dal.enums.degree;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.ym.mec.common.enums.BaseEnum;
+
+/**
+ * 考级费用分类
+ */
+public enum EDegreeFeeType implements BaseEnum<Integer, EDegreeFeeType> {
+
+    GRADE(0, "乐器"),
+    THEORY(1, "乐理");
+
+    @EnumValue
+    private Integer code;
+
+    private String msg;
+
+    EDegreeFeeType(Integer code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    @Override
+    public Integer getCode() {
+        return code;
+    }
+}

+ 2 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DegreeNewsWrapper.java

@@ -3,7 +3,6 @@ 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.DegreeNewsTypeEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import java.util.Optional;
@@ -46,7 +45,7 @@ public class DegreeNewsWrapper {
         private Boolean status;
 
         @ApiModelProperty("咨询类型")
-        private DegreeNewsTypeEnum type;
+        private String type;
 
         public String getKeyword() {
             return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
@@ -73,4 +72,4 @@ public class DegreeNewsWrapper {
         }
 	}
 
-}
+}

+ 66 - 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,7 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
+import org.hibernate.validator.cfg.defs.EANDef;
 
 /**
  * 考级信息
@@ -32,9 +40,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 +68,51 @@ public class DegreeWrapper {
         }
     }  
 
+    @Data
 	@ApiModel(" Degree-考级信息")
     public static class Degree {
-        
+
+
+        @ApiModelProperty("主键ID")
+        private Long id;
+
+        @ApiModelProperty("机构ID")
+        private Integer tenantId;
+
+        @ApiModelProperty("分部ID")
+        private String organIds;
+
+        @ApiModelProperty("分部名称")
+        private List<String> organNames;
+
+        @ApiModelProperty("考级名称")
+        private String name;
+
+        @ApiModelProperty("报名开始时间")
+        private Date startTime;
+
+        @ApiModelProperty("报名结束时间")
+        private Date endTime;
+
+        @ApiModelProperty("登记时间")
+        private Date registrationTime;
+
+        @ApiModelProperty("报名人次")
+        private Integer registerTotal;
+
+        @ApiModelProperty("报名人数")
+        private Integer registerNum;
+
+        @ApiModelProperty("购买课程")
+        private Integer purchaseCourse;
+
+        @ApiModelProperty("报名状态 NOT_START:未开始,START:报名中,END:报名结束")
+        private EDegreeStatus status;
+
+        @ApiModelProperty("创建时间")
+        private Date createTime;
+
+
         public String jsonString() {
             return JSON.toJSONString(this);
         }
@@ -60,4 +122,4 @@ public class DegreeWrapper {
         }
 	}
 
-}
+}

+ 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);
      
-}
+}

+ 52 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeServiceImpl.java

@@ -3,13 +3,22 @@ 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.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.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 考级信息
@@ -19,6 +28,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 +49,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);
+
     }
 	
     /**
@@ -63,4 +110,4 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
 
         return this.updateById(JSON.parseObject(degree.jsonString(), Degree.class));       
     }
-}
+}

+ 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>

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

@@ -48,9 +48,9 @@ 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));
 	}