Bladeren bron

fix考级调整

Eric 2 jaren geleden
bovenliggende
commit
fe71e54da7

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DegreeNewsWrapper.java

@@ -36,6 +36,7 @@ public class DegreeNewsWrapper {
         @ApiModelProperty("关键字匹配")
 		private String keyword;
 
+        @ApiModelProperty("用户所在机构")
         private Integer organId;
 
         @ApiModelProperty("用户所在分部")
@@ -47,6 +48,12 @@ public class DegreeNewsWrapper {
         @ApiModelProperty("咨询类型")
         private String type;
 
+        @ApiModelProperty("用户机构ID")
+        private Integer tenantId;
+
+        @ApiModelProperty(value = "排序方式", hidden = true)
+        private Boolean sortedTime;
+
         public String getKeyword() {
             return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
         }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DegreeWrapper.java

@@ -231,6 +231,9 @@ public class DegreeWrapper {
         @ApiModelProperty("报名状态 NOT_START:未开始,START:报名中,END:报名结束")
         private EDegreeStatus status;
 
+        @ApiModelProperty("考级简章ID")
+        private Long examinationBriefId;
+
         @ApiModelProperty("考级城市分部")
         private List<DegreeCity> degreeCities;
 

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

@@ -49,7 +49,8 @@ public interface DegreeService extends IService<Degree>  {
     /**
      * 学生考级信息查询
      * @param id 考级ID
+     * @param organId 用户所属机构ID
      * @return DegreeWrapper.StudentDegreeInfo
      */
-    DegreeWrapper.StudentDegreeInfo studentDegreeInfoById(Long id);
+    DegreeWrapper.StudentDegreeInfo studentDegreeInfoById(Long id, Integer organId);
 }

+ 29 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeServiceImpl.java

@@ -3,12 +3,17 @@ 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.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.ym.mec.biz.dal.dao.DegreeRegistrationDao;
 import com.ym.mec.biz.dal.dao.OrganizationDao;
 import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
 import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.DegreeNewsTypeEnum;
 import com.ym.mec.biz.dal.enums.EDegreeStatus;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
+import com.ym.mec.biz.dal.vo.DegreeNewsVo;
+import com.ym.mec.biz.dal.wrapper.DegreeNewsWrapper;
+import com.ym.mec.biz.service.DegreeNewsService;
 import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.biz.service.StudentPaymentOrderService;
 import com.ym.mec.common.exception.BizException;
@@ -53,12 +58,15 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
     @Autowired
     private OrganizationDao organizationDao;
 
-	/**
+    @Autowired
+    private DegreeNewsService degreeNewsService;
+
+    /**
      * 查询详情
      * @param id 详情ID
      * @return Degree
      */
-	@Override
+    @Override
     public Degree detail(Long id) {
         
         return baseMapper.selectById(id);
@@ -110,7 +118,7 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
         return result.setRecords(degrees);
 
     }
-	
+
     /**
      * 添加
      * @param degree DegreeWrapper.Degree
@@ -216,10 +224,11 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
      * 学生考级信息查询
      *
      * @param id 考级ID
+     * @param organId 用户分部ID
      * @return DegreeWrapper.StudentDegreeInfo
      */
     @Override
-    public DegreeWrapper.StudentDegreeInfo studentDegreeInfoById(Long id) {
+    public DegreeWrapper.StudentDegreeInfo studentDegreeInfoById(Long id, Integer organId) {
 
         Degree degree = getById(id);
         // 考级信息不存在
@@ -251,6 +260,22 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
             }
         }
 
+        // 考级最新简章消息ID
+        DegreeNewsWrapper.DegreeNewsQuery newsQuery = DegreeNewsWrapper.DegreeNewsQuery
+                .builder()
+                .page(1)
+                .rows(1)
+                .status(true)
+                .tenantId(wrapper.getTenantId())
+                .organId(organId)
+                .type(DegreeNewsTypeEnum.GRADE_EXAMINATION_BRIEF.getCode())
+                .sortedTime(true)
+                .build();
+        List<DegreeNewsVo> records = degreeNewsService.selectPage(QueryInfo.getPage(newsQuery), newsQuery).getRecords();
+        if (org.apache.commons.collections.CollectionUtils.isNotEmpty(records)) {
+            wrapper.setExaminationBriefId(records.get(0).getId());
+        }
+
         return wrapper;
     }
 }

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

@@ -15,6 +15,9 @@
 			<if test="param.status != null">
 				AND dn.status_ = #{param.status}
 			</if>
+		    <if test="param.tenantId != null">
+				AND dn.tenant_id_ = #{param.tenantId}
+			</if>
 			<if test="param.organId != null">
 				AND (FIND_IN_SET(#{param.organId},dn.organ_ids_) OR dn.organ_ids_ IS NULL OR dn.organ_ids_ = '')
 			</if>
@@ -23,7 +26,10 @@
 			</if>
 		</where>
 		group by dn.id_
-		ORDER BY dn.id_ DESC
+		<choose>
+			<when test="param.sortedTime != null">ORDER BY dn.update_time_ DESC</when>
+			<otherwise>ORDER BY dn.id_ DESC</otherwise>
+		</choose>
 	</select>
     
 </mapper>

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/controller/degree/DegreeInfoController.java

@@ -56,7 +56,7 @@ public class DegreeInfoController extends BaseController {
         }
 
         // 考级信息
-        DegreeWrapper.StudentDegreeInfo wrapper = degreeService.studentDegreeInfoById(id);
+        DegreeWrapper.StudentDegreeInfo wrapper = degreeService.studentDegreeInfoById(id, user.getOrganId());
 
         // 考级机构-暂未开放此活动
         if (!user.getTenantId().equals(wrapper.getTenantId())) {