|
|
@@ -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;
|
|
|
}
|
|
|
}
|
|
|
}
|