Explorar o código

plan-java v0.28

(cherry picked from commit 6750b22202d5d3435c09300384080e236f232c64)
MOKASZ\lw12420 %!s(int64=2) %!d(string=hai) anos
pai
achega
a00a00970b

+ 18 - 3
launch-admin/src/main/java/com/webflux/launchadmin/mysql/controller/planNew/PlanNewOutController.java

@@ -67,7 +67,7 @@ public class PlanNewOutController {
         Mono<PlanNew> code1 = template.selectOne(Query.query(Criteria.where("code").is(code)), PlanNew.class);
         Mono<DomainSelectRes> domainSelectResMono1 = code1.flatMap(f -> template.select(Query.query(Criteria.where("group_type_id").is(f.groupId())
                 .and("status").is(1).and("type").is(type)), DomainSelect.class)
-                .switchIfEmpty(Mono.error(new BaseException(" code错误")))
+                .switchIfEmpty(Mono.error(new BaseException("查询domain为空")))
                 .onErrorResume(throwable -> Mono.error(new Exception(throwable.getMessage()))).collectList().flatMap(fm -> {
                     DomainSelectRes domainSelectRes = new DomainSelectRes();
                     int i = RandomUtil.randomInt(0, fm.size());
@@ -174,7 +174,13 @@ public class PlanNewOutController {
         });
         Mono<Audio> listAudio = code.flatMap(plan -> template.selectOne(Query.query(Criteria.where("id").is(plan.listAudioId())), Audio.class));
         Mono<Audio> retAudioId = code.flatMap(plan -> template.selectOne(Query.query(Criteria.where("id").is(plan.retAudioId())), Audio.class));
-        Mono<ReturnLoop> returnLoop = code.flatMap(plan -> template.selectOne(Query.query(Criteria.where("id").is(plan.returnLoopId())), ReturnLoop.class));
+        Mono<ReturnLoop> returnLoop = code.flatMap(plan -> {
+            if(Objects.isNull(plan.returnLoopId())){
+                return Mono.just(getReturnLoop());
+            }else {
+               return  template.selectOne(Query.query(Criteria.where("id").is(plan.returnLoopId())), ReturnLoop.class);
+            }
+        }).switchIfEmpty(Mono.just(getReturnLoop()));
         Mono<List<Ad>> adtop = template.select(Query.query(Criteria.where("type").is(1)), Ad.class).collectList();////广告类型1顶部2底部3返回4安卓,ios的返回
         Mono<List<Ad>> bottom = template.select(Query.query(Criteria.where("type").is(2)), Ad.class).collectList();
         Mono<DataLists> dataListsMono = Mono.zip(code, listAudio, retAudioId, returnLoop, arrayListMono,adtop, bottom,wx_user_id).flatMap(f -> {
@@ -182,7 +188,11 @@ public class PlanNewOutController {
             dataLists.setPlanNew(f.getT1());
             dataLists.setListAudio(f.getT2());
             dataLists.setRetAudio(f.getT3());
-            dataLists.setReturnLoop(f.getT4());
+            if (-1!=f.getT4().id()) {
+                dataLists.setReturnLoop(f.getT4());
+            }else {
+                dataLists.setReturnLoop(null);
+            }
             dataLists.setImages(f.getT5());
             if(f.getT8().num()>=4){
                 dataLists.setIsRet(1);
@@ -202,6 +212,11 @@ public class PlanNewOutController {
 
         return RStatus.successList(dataListsMono);
     }
+
+    private ReturnLoop getReturnLoop() {
+        return new ReturnLoop(-1L, null, null, null, null, null, null, null, null, null, null, null, null, null);
+    }
+
     /**
      * h5-通过code (第二个接口)
      * @param request