Explorar el Código

Merge remote-tracking branch 'origin/saas' into saas

zouxuan hace 2 años
padre
commit
36f69353ce

+ 35 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DegreeWrapper.java

@@ -235,13 +235,27 @@ public class DegreeWrapper {
         @ApiModelProperty("考级简章ID")
         private Long examinationBriefId;
 
+        @ApiModelProperty("链接地址")
+        private String examinationBriefLinkUrl;
+
+        @ApiModelProperty("跳转类型_bank,_slef")
+        private String examinationBriefHrefTarget;
+
+        @ApiModelProperty("考级通知ID")
+        private Long gradingNoticeId;
+
+        @ApiModelProperty("链接地址")
+        private String gradingNoticeLinkUrl;
+
+        @ApiModelProperty("跳转类型_bank,_slef")
+        private String gradingNoticeHrefTarget;
+
         @ApiModelProperty("考级城市分部")
         private List<DegreeCity> degreeCities;
 
         @ApiModelProperty("倒计时开始天数")
         private Integer startDays;
 
-
         public String jsonString() {
             return JSON.toJSONString(this);
         }
@@ -259,6 +273,26 @@ public class DegreeWrapper {
             }
             return Optional.ofNullable(startDays).orElse(0);
         }
+
+        public StudentDegreeInfo examinationBriefLinkUrl(String examinationBriefLinkUrl) {
+            this.examinationBriefLinkUrl = examinationBriefLinkUrl;
+            return this;
+        }
+
+        public StudentDegreeInfo examinationBriefHrefTarget(String examinationBriefHrefTarget) {
+            this.examinationBriefHrefTarget = examinationBriefHrefTarget;
+            return this;
+        }
+
+        public StudentDegreeInfo gradingNoticeLinkUrl(String gradingNoticeLinkUrl) {
+            this.gradingNoticeLinkUrl = gradingNoticeLinkUrl;
+            return this;
+        }
+
+        public StudentDegreeInfo gradingNoticeHrefTarget(String gradingNoticeHrefTarget) {
+            this.gradingNoticeHrefTarget = gradingNoticeHrefTarget;
+            return this;
+        }
     }
 
     @Data

+ 26 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeServiceImpl.java

@@ -7,26 +7,24 @@ import com.beust.jcommander.internal.Lists;
 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.entity.Degree;
+import com.ym.mec.biz.dal.entity.DegreeRegistration;
+import com.ym.mec.biz.dal.entity.Organization;
 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.mapper.DegreeMapper;
 import com.ym.mec.biz.dal.vo.DegreeNewsVo;
 import com.ym.mec.biz.dal.wrapper.DegreeNewsWrapper;
+import com.ym.mec.biz.dal.wrapper.DegreeWrapper;
 import com.ym.mec.biz.service.DegreeNewsService;
+import com.ym.mec.biz.service.DegreeService;
 import com.ym.mec.biz.service.OrganizationService;
-import com.ym.mec.biz.service.StudentPaymentOrderService;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.tenant.TenantContextHolder;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import lombok.extern.slf4j.Slf4j;
-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.math.BigDecimal;
@@ -48,12 +46,6 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
     private DegreeRegistrationDao degreeRegistrationDao;
 
     @Autowired
-    private StudentPaymentOrderService studentPaymentOrderService;
-
-    @Autowired
-    private StudentPaymentOrderDetailDao studentPaymentOrderDetailDao;
-
-    @Autowired
     private OrganizationDao organizationDao;
 
     @Autowired
@@ -304,7 +296,25 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
                 .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());
+
+            DegreeNewsVo newsVo = records.get(0);
+            wrapper.examinationBriefLinkUrl(newsVo.getLinkUrl())
+                    .examinationBriefHrefTarget(newsVo.getHrefTarget())
+                    .setExaminationBriefId(newsVo.getId());
+        }
+
+        // 考级须知ID
+        {
+            newsQuery.setType(DegreeNewsTypeEnum.GRADING_NOTICE.getCode());
+
+            records = degreeNewsService.selectPage(QueryInfo.getPage(newsQuery), newsQuery).getRecords();
+            if (org.apache.commons.collections.CollectionUtils.isNotEmpty(records)) {
+
+                DegreeNewsVo newsVo = records.get(0);
+                wrapper.gradingNoticeLinkUrl(newsVo.getLinkUrl())
+                        .gradingNoticeHrefTarget(newsVo.getHrefTarget())
+                        .setGradingNoticeId(newsVo.getId());
+            }
         }
 
         return wrapper;

+ 20 - 0
mec-web/src/main/java/com/ym/mec/web/controller/degree/DegreeNewsController.java

@@ -4,12 +4,14 @@ import com.alibaba.fastjson.JSONObject;
 import com.microsvc.toolkit.common.response.paging.PageInfo;
 import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.ym.mec.biz.dal.entity.DegreeNews;
+import com.ym.mec.biz.dal.enums.DegreeNewsTypeEnum;
 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.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -18,6 +20,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Objects;
+
 @Slf4j
 @Validated
 @RestController
@@ -67,6 +71,22 @@ public class DegreeNewsController extends BaseController {
 	@PostMapping("/enable")
 	public HttpResponseResult<JSONObject> enable(Long newsId) {
         DegreeNews degreeNews = degreeNewsService.getById(newsId);
+
+        if (Objects.isNull(degreeNews)) {
+            throw new BizException("考级资讯编号无效");
+        }
+
+        // 考级须知,若是启用,则停用其他的
+        if (degreeNews.getType() == DegreeNewsTypeEnum.GRADING_NOTICE
+                && !degreeNews.getStatus()) {
+            degreeNewsService.lambdaUpdate()
+                    .eq(DegreeNews::getTenantId, degreeNews.getTenantId())
+                    .eq(Objects.nonNull(degreeNews.getOrganIds()), DegreeNews::getOrganIds, degreeNews.getOrganIds())
+                    .eq(DegreeNews::getType, DegreeNewsTypeEnum.GRADING_NOTICE)
+                    .set(DegreeNews::getStatus, false)
+                    .update();
+        }
+
         degreeNews.setStatus(!degreeNews.getStatus());
         degreeNewsService.updateById(degreeNews);
         return succeed();