瀏覽代碼

Merge branch 'feature/0406-degree' of http://git.dayaedu.com/yonge/mec into master_saas

zouxuan 2 年之前
父節點
當前提交
fed12f4039

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

@@ -47,6 +47,6 @@ public enum EDegreeStatus implements BaseEnum<String, EDegreeStatus> {
      */
     @Override
     public String getCode() {
-        return null;
+        return this.code;
     }
 }

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

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

@@ -0,0 +1,79 @@
+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 Date updateTime;
+
+    @ApiModelProperty("创建时间")
+    private Date createTime;
+
+    public Integer getTenantId() {
+        return Optional.ofNullable(tenantId).orElse(TenantContextHolder.getTenantId());
+    }
+}

+ 13 - 8
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DegreeWrapper.java

@@ -20,6 +20,9 @@ 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;
+
 /**
  * 考级信息
  * 2023-04-10 10:24:25
@@ -79,22 +82,27 @@ public class DegreeWrapper {
         @ApiModelProperty("机构ID")
         private Integer tenantId;
 
-        @ApiModelProperty("分部ID")
+        @ApiModelProperty(value = "分部ID",required = true)
+        @NotBlank(message = "分部ID不能为空")
         private String organIds;
 
         @ApiModelProperty("分部名称")
         private List<String> organNames;
 
-        @ApiModelProperty("考级名称")
+        @ApiModelProperty(value = "考级名称",required = true)
+        @NotBlank(message = "考级名称不能为空")
         private String name;
 
-        @ApiModelProperty("报名开始时间")
+        @ApiModelProperty(value = "报名开始时间",required = true)
+        @NotNull(message = "报名开始时间不能为空")
         private Date startTime;
 
-        @ApiModelProperty("报名结束时间")
+        @ApiModelProperty(value = "报名结束时间",required = true)
+        @NotNull(message = "报名结束时间不能为空")
         private Date endTime;
 
-        @ApiModelProperty("登记时间")
+        @ApiModelProperty(value = "登记时间",required = true)
+        @NotNull(message = "登记时间不能为空")
         private Date registrationTime;
 
         @ApiModelProperty("报名人次")
@@ -109,9 +117,6 @@ public class DegreeWrapper {
         @ApiModelProperty("报名状态 NOT_START:未开始,START:报名中,END:报名结束")
         private EDegreeStatus status;
 
-        @ApiModelProperty("创建时间")
-        private Date createTime;
-
 
         public String jsonString() {
             return JSON.toJSONString(this);

+ 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 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeNewsServiceImpl.java

@@ -3,6 +3,7 @@ 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.vo.DegreeNewsVo;
 import org.springframework.stereotype.Service;
 import lombok.extern.slf4j.Slf4j;
 import com.ym.mec.biz.dal.entity.DegreeNews;
@@ -36,7 +37,7 @@ public class DegreeNewsServiceImpl extends ServiceImpl<DegreeNewsMapper, DegreeN
      * @return IPage<DegreeNews>
      */
     @Override
-    public IPage<DegreeNews> selectPage(IPage<DegreeNews> page, DegreeNewsWrapper.DegreeNewsQuery query) {
+    public IPage<DegreeNewsVo> selectPage(IPage<DegreeNewsVo> page, DegreeNewsWrapper.DegreeNewsQuery query) {
         
         return page.setRecords(baseMapper.selectPage(page, query));
     }

+ 24 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeServiceImpl.java

@@ -4,6 +4,7 @@ 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;
@@ -16,6 +17,7 @@ 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;
@@ -95,18 +97,39 @@ 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));       
     }

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

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

@@ -56,30 +56,33 @@ public class DegreeInfoController extends BaseController {
 	}
     
     @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));

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

@@ -5,6 +5,7 @@ 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.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
@@ -49,9 +50,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));
 	}