Jelajahi Sumber

plan-java v0.40

(cherry picked from commit 24dd3dd1655164500d505b09ff3a3a0999b2d5c4)
MOKASZ\lw12420 2 tahun lalu
induk
melakukan
ef5cc8c3a4

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

@@ -17,6 +17,7 @@ import com.webflux.launchadmin.mysql.service.planNew.structure.Item;
 import com.webflux.launchcommon.returnObj.RStatus;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.domain.Sort;
 import org.springframework.data.r2dbc.core.R2dbcEntityTemplate;
 import org.springframework.data.relational.core.query.Criteria;
 import org.springframework.data.relational.core.query.Query;
@@ -233,19 +234,22 @@ public class PlanNewOutController {
             map.put(request.getUnique(),integer+1);
             request.setUserVisits(integer+1);
         }else {
-            map.put(request.getUnique(),1);
-            request.setUserVisits(1);
+            map.put(request.getUnique(),0);
+            request.setUserVisits(0);
         }
         Mono<PlanNew> code = template.selectOne(Query.query(Criteria.where("code").is(request.getCode())), PlanNew.class);
+        //+二维码
+        Mono<StringBuilder> stringBuilderMono = code.flatMap(f -> goGenerateService.getStringBuilderMono(f.planNewId()));
         Mono<PosterTemplate> poster_template = code.flatMap(plan -> template.selectOne(Query.query(Criteria.where("poster_template_id")
                 .is(plan.posterTemplateId())), PosterTemplate.class));
         Mono<List<Poster>> Poster = code.flatMap(plan -> template.select(Query.query(Criteria.where("poster_template_id")
-                .is(plan.posterTemplateId())), Poster.class).collectList());
+                .is(plan.posterTemplateId())).sort(Sort.by(Sort.Order.desc("created_at"))), Poster.class).collectList());
         Mono<List<PlanNewBackgroupPoster>> planNewBackgroupPoster = code.flatMap(plan -> template.select(Query.query(Criteria.where("plan_new_id")
-                .is(plan.planNewId())), PlanNewBackgroupPoster.class)
+                .is(plan.planNewId())).sort(Sort.by(Sort.Order.desc("idx"))), PlanNewBackgroupPoster.class)
                 .collectList());
-        Mono<DataLists0> dataLists0Mono = Mono.zip(code, poster_template, Poster, planNewBackgroupPoster).flatMap(f -> {
+        Mono<DataLists0> dataLists0Mono = Mono.zip(code, poster_template, Poster, planNewBackgroupPoster,stringBuilderMono).flatMap(f -> {
             DataLists0 dataLists0 = new DataLists0();
+            dataLists0.setSpare(f.getT5().toString());
             dataLists0.setPlanNew(f.getT1());
             dataLists0.setPosterTemplate(f.getT2());
             List<Poster> t3 = f.getT3();
@@ -257,7 +261,7 @@ public class PlanNewOutController {
                 }
             }
             Map<Integer, List<PlanNewBackgroupPoster>> collect = f.getT4().stream().collect(Collectors.groupingBy(PlanNewBackgroupPoster::qsOrFx));
-            List<PlanNewBackgroupPoster> fx = collect.get(1);
+            List<PlanNewBackgroupPoster> fx = collect.get(1).stream().sorted(Comparator.comparing(PlanNewBackgroupPoster::index)).collect(Collectors.toList());
             if (Objects.nonNull(fx) &&fx.size() != 0) {
                 if (fx.size() <= request.getUserVisits()) {
                     dataLists0.setFxSetting(fx.getLast());
@@ -267,7 +271,7 @@ public class PlanNewOutController {
                     dataLists0.setFxSetting(fx.get(request.getUserVisits()));
                 }
             }
-            List<PlanNewBackgroupPoster> qs = collect.get(2);
+            List<PlanNewBackgroupPoster> qs = collect.get(2).stream().sorted(Comparator.comparing(PlanNewBackgroupPoster::index)).collect(Collectors.toList());
             if(Objects.nonNull(qs) && !qs.isEmpty()){
                 if (qs.size() <= request.getUserVisits()) {
                     dataLists0.setQsSetting(qs.getLast());
@@ -290,23 +294,27 @@ public class PlanNewOutController {
             }
             return Mono.just(dataLists0);
         });
-        Mono<Audio> audioMono = dataLists0Mono.flatMap(f -> {
+        Mono<DataLists0> zip = dataLists0Mono.flatMap(f -> {
+            Mono<Audio> id = null;
             if (Objects.nonNull(request.getWx_user_id()) && !"".equals(request.getWx_user_id())) {
                 PlanNewBackgroupPoster qsSetting = f.getQsSetting();
                 if (Objects.nonNull(qsSetting) && Objects.nonNull(qsSetting.audioId()) && 0 != qsSetting.audioId()) {
-                    return template.selectOne(Query.query(Criteria.where("id").is(qsSetting.audioId())), Audio.class);
+                    id = template.selectOne(Query.query(Criteria.where("id").is(qsSetting.audioId())), Audio.class);
                 }
             } else {
                 PlanNewBackgroupPoster fxSetting = f.getFxSetting();
                 if (Objects.nonNull(fxSetting) && Objects.nonNull(fxSetting.audioId()) && 0 != fxSetting.audioId()) {
-                    return template.selectOne(Query.query(Criteria.where("id").is(fxSetting.audioId())), Audio.class);
+                    id = template.selectOne(Query.query(Criteria.where("id").is(fxSetting.audioId())), Audio.class);
                 }
             }
-            return template.selectOne(Query.query(Criteria.where("id").is(f.getPlanNew().retAudioId())), Audio.class);
-        });
-        Mono<DataLists0> zip = Mono.zip(dataLists0Mono, audioMono, (a, b) -> {
-            a.setAudio(b);
-            return a;
+            if (Objects.isNull(id)) {
+                id = template.selectOne(Query.query(Criteria.where("id").is(f.getPlanNew().retAudioId())), Audio.class);
+            }
+            return Mono.zip(Mono.just(f), id, (a, b) -> {
+                a.setAudio(b);
+                return a;
+            });
+
         });
         // 设置封面等
         Mono<DataLists0> dataLists0Mono2 = zip.flatMap(fm -> {
@@ -334,13 +342,7 @@ public class PlanNewOutController {
             });
             return zip1;
         });
-        //+二维码
-        Mono<DataLists0> zip1 = Mono.zip(dataLists0Mono2, zip.flatMap(f -> goGenerateService.getStringBuilderMono(f.getPlanNew().planNewId())), (a, b) -> {
-            a.setSpare(b.toString());
-            return a;
-        });
-
-        Mono<DataLists0> dataLists0Mono1 = zip1.flatMap(fm -> {
+        Mono<DataLists0> dataLists0Mono1 = dataLists0Mono2.flatMap(fm -> {
             Poster poster = fm.getPoster();
             if (Objects.isNull(poster)) {
                 return Mono.just(fm);
@@ -406,6 +408,7 @@ public class PlanNewOutController {
                 }else if(Objects.nonNull(qsSetting.status()) &&  qsSetting.status()==0) {
                     item.setV(spare);
                     item.setName("H5二维码");
+                    return goRequest;
                 }
             }
         }

+ 1 - 1
launch-admin/src/main/java/com/webflux/launchadmin/mysql/service/planNew/goGenerate/GoGenerateService.java

@@ -425,7 +425,7 @@ public class GoGenerateService {
                     return template.selectOne(Query.query(Criteria.where("poster_id").is(posterRequset.getPosterId())), Poster.class).map(ff -> {
                         Poster poster = new Poster(ff.posterId(), entry.getPosterTemplateId()
                                 , entry.getPosterTemplate(), BaseContextHandler.getUserName(),
-                                BaseContextHandler.getUserId(), ZonedDateTime.now(),
+                                BaseContextHandler.getUserId(), ff.createdAt(),
                                 ZonedDateTime.now(), ret, url);
                         return poster;
                     });