|
|
@@ -180,57 +180,92 @@ public class PlanNewOutController {
|
|
|
/**
|
|
|
* 列表返回images(列表内容),shareQrurl(背景组) ,baiduDot,retAudio
|
|
|
* Mono<RStatus<DataListsKefu>>
|
|
|
+ * // return Mono.just(new Audio(null,null,null,null,null,null,null,null));
|
|
|
*/
|
|
|
|
|
|
@PostMapping("kefuList")
|
|
|
public Mono<RStatus<DataListsKefu>> kefuList(@RequestBody KefuRequest request){
|
|
|
- Mono<PlanNew> code = template.selectOne(Query.query(Criteria.where("code").is(request.getCode())), PlanNew.class);
|
|
|
- // //类型 1素材分类2清水分类
|
|
|
- Mono<List<Domain>> domain = code.flatMap(plan -> template.select(Query.query(Criteria.where("group_type").is(1).and("deleted_at").isNull()), Domain.class).collectList());
|
|
|
- Mono<List<Image>> image = template.select(Query.query(Criteria.where("type").is(5).and("deleted_at").isNull()), Image.class).collectList();
|
|
|
- Mono<List<Material>> text = template.select(Query.query(Criteria.where("type").is(11).and("deleted_at").isNull()), Material.class).collectList();
|
|
|
- Mono<List<H5ImageAndText>> arrayListMono = Mono.zip(code, domain, image, text).flatMap(f -> {
|
|
|
- //H5ImageAndText
|
|
|
- Integer integer = f.getT1().pageShow();//群数量
|
|
|
- List<Domain> t2 = f.getT2();
|
|
|
- List<Image> t3 = f.getT3();
|
|
|
- List<Material> t4 = f.getT4();
|
|
|
- List<H5ImageAndText> h5ImageAndTexts = new ArrayList<>();
|
|
|
- IntStream.range(0, integer).forEach(i -> {
|
|
|
- Image image1 = t3.get(RandomUtil.randomInt(0,t3.size()));
|
|
|
- Domain domain1 = t2.get(RandomUtil.randomInt(0,t2.size()));
|
|
|
- Material material = t4.get(RandomUtil.randomInt(0,t4.size()));
|
|
|
- H5ImageAndText h5ImageAndText = new H5ImageAndText();
|
|
|
- h5ImageAndText.setImage(image1.image());
|
|
|
- h5ImageAndText.setDomain(domain1.domain());
|
|
|
- h5ImageAndText.setName(material.content());
|
|
|
- h5ImageAndText.setRemark(material.remark());
|
|
|
- h5ImageAndTexts.add(h5ImageAndText);
|
|
|
+ Mono<PlanNew> code = template.selectOne(Query.query(Criteria.where("code").is(request.getCode())), PlanNew.class)
|
|
|
+ .switchIfEmpty(Mono.error(new BaseException("code查询返回结构为空"))) //Mono.error(new BaseException("查询海报模版 id:"+f.posterTemplateId()+"=>空"))
|
|
|
+ .onErrorResume(throwable -> Mono.error(new Exception("通过code查询计划异常::" + throwable.getMessage())));
|
|
|
+ Mono<DataListsKefu> dataListsKefuMono = code.flatMap(planNew -> {
|
|
|
+ Mono<List<Image>> image = template.select(Query.query(Criteria.where("type").is(5)
|
|
|
+ .and("deleted_at").isNull()
|
|
|
+ .and("group_type_id").is(planNew.groupId())), Image.class)
|
|
|
+ .collectList()
|
|
|
+ .switchIfEmpty(Mono.error(new BaseException(StrUtil.format("通过计划groupId:{}查询Image返回结构为空", planNew.groupId()))))
|
|
|
+ .onErrorResume(throwable ->
|
|
|
+ Mono.error(new Exception(StrUtil.format("通过计划groupId:{}查询Image返回结果error:{}", planNew.groupId(), throwable.getMessage()))));
|
|
|
+ Mono<List<Material>> text = template.select(Query.query(Criteria.where("type").is(11)
|
|
|
+ .and("group_type_id").is(planNew.groupId())
|
|
|
+ .and("deleted_at").isNull()), Material.class)
|
|
|
+ .switchIfEmpty(Mono.error(new BaseException(StrUtil.format("通过计划groupId:{}查询Material返回结构为空", planNew.groupId()))))
|
|
|
+ .onErrorResume(throwable ->
|
|
|
+ Mono.error(new Exception(StrUtil.format("通过计划groupId:{}查询Material返回结果error:{}", planNew.groupId(), throwable.getMessage()))))
|
|
|
+ .collectList();
|
|
|
+ Mono<List<H5ImageAndText>> arrayListMono = Mono.zip(Mono.just(planNew), image, text).flatMap(f -> {
|
|
|
+ //H5ImageAndText
|
|
|
+ Integer integer = f.getT1().pageShow();//群数量
|
|
|
+ //List<Domain> t2 = f.getT2();
|
|
|
+ List<Image> t3 = f.getT2();
|
|
|
+ List<Material> t4 = f.getT3();
|
|
|
+ List<H5ImageAndText> h5ImageAndTexts = new ArrayList<>();
|
|
|
+ IntStream.range(0, integer).forEach(i -> {
|
|
|
+ Image image1 = t3.get(RandomUtil.randomInt(0, t3.size()));
|
|
|
+ // Domain domain1 = t2.get(RandomUtil.randomInt(0,t2.size()));
|
|
|
+ Material material = t4.get(RandomUtil.randomInt(0, t4.size()));
|
|
|
+ H5ImageAndText h5ImageAndText = new H5ImageAndText();
|
|
|
+ h5ImageAndText.setImage(image1.image());
|
|
|
+ // h5ImageAndText.setDomain(domain1.domain());
|
|
|
+ h5ImageAndText.setName(material.content());
|
|
|
+ h5ImageAndText.setRemark(material.remark());
|
|
|
+ h5ImageAndTexts.add(h5ImageAndText);
|
|
|
+ });
|
|
|
+ return Mono.just(h5ImageAndTexts);
|
|
|
});
|
|
|
- return Mono.just(h5ImageAndTexts);
|
|
|
+ Mono<List<BackgroupImageItem>> group_id = Mono.just(planNew)
|
|
|
+ .filter(ft -> Objects.nonNull(ft.backgroundGroupIdNewAdd()))
|
|
|
+ .flatMap(plan ->
|
|
|
+ template.select(Query.query(Criteria.where("group_id")
|
|
|
+ .is(plan.backgroundGroupIdNewAdd())), BackgroupImageItem.class).collectList())
|
|
|
+ .switchIfEmpty(Mono.just(List.of()));
|
|
|
+ Mono<Audio> retAudioId = Mono.just(planNew).flatMap(plan -> {
|
|
|
+ if(Objects.nonNull(plan.retAudioId())){
|
|
|
+ return template.selectOne(Query.query(Criteria.where("id").is(plan.retAudioId())), Audio.class)
|
|
|
+ .switchIfEmpty(Mono.error(new BaseException(StrUtil.format("通过计划retAudioId:{}查询音频为空",plan.retAudioId()))))
|
|
|
+ .onErrorResume(throwable -> Mono.error(new BaseException(StrUtil.format("通过计划retAudioId:{}查询音频Error::",plan.retAudioId(),throwable.getMessage()))));
|
|
|
+ }else {
|
|
|
+ return Mono.just(new Audio(null,null,null,null,null,null,null,null));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ Mono<DataListsKefu> dataListsMono = Mono.zip(Mono.just(planNew), group_id, retAudioId, arrayListMono).flatMap(f -> {
|
|
|
+ DataListsKefu dataLists = new DataListsKefu();
|
|
|
+ dataLists.setPlanNew(f.getT1());
|
|
|
+ dataLists.setBaiduDot(f.getT1().baiduDot());
|
|
|
+ List<BackgroupImageItem> t2 = f.getT2();
|
|
|
+ if (!t2.isEmpty()) {
|
|
|
+ List<String> collect = t2.stream().map(BackgroupImageItem::image).collect(Collectors.toList());
|
|
|
+ dataLists.setShareQrurl(collect);
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(f.getT3().id())){
|
|
|
+ dataLists.setRetAudio(f.getT3());
|
|
|
+ }
|
|
|
+ dataLists.setImages(f.getT4());
|
|
|
+ return Mono.just(dataLists);
|
|
|
+ });
|
|
|
+ return dataListsMono;
|
|
|
});
|
|
|
+ // //类型 1素材分类2清水分类
|
|
|
+ // Mono<List<Domain>> domain = code.flatMap(plan -> template.select(Query.query(Criteria.where("group_type").is(1).and("deleted_at").isNull()), Domain.class).collectList());
|
|
|
+ // Mono<List<Image>> image = template.select(Query.query(Criteria.where("type").is(5).and("deleted_at").isNull()), Image.class).collectList();
|
|
|
+ // Mono<List<Material>> text = template.select(Query.query(Criteria.where("type").is(11).and("deleted_at").isNull()), Material.class).collectList();
|
|
|
|
|
|
- Mono<List<BackgroupImageItem>> group_id = code.filter(ft->Objects.nonNull(ft.backgroundGroupIdNewAdd())).flatMap(plan -> template
|
|
|
- .select(Query.query(Criteria.where("group_id")
|
|
|
- .is(plan.backgroundGroupIdNewAdd())), BackgroupImageItem.class).collectList())
|
|
|
- .switchIfEmpty(Mono.just(List.of()));
|
|
|
- Mono<Audio> retAudioId = code.flatMap(plan -> template.selectOne(Query.query(Criteria.where("id").is(plan.retAudioId())), Audio.class));
|
|
|
-
|
|
|
- Mono<DataListsKefu> dataListsMono = Mono.zip(code, group_id, retAudioId, arrayListMono).flatMap(f -> {
|
|
|
- DataListsKefu dataLists = new DataListsKefu();
|
|
|
- dataLists.setPlanNew(f.getT1());
|
|
|
- dataLists.setBaiduDot(f.getT1().baiduDot());
|
|
|
- List<BackgroupImageItem> t2 = f.getT2();
|
|
|
- if (!t2.isEmpty()) {
|
|
|
- List<String> collect = t2.stream().map(BackgroupImageItem::image).collect(Collectors.toList());
|
|
|
- dataLists.setShareQrurl(collect);
|
|
|
- }
|
|
|
- dataLists.setRetAudio(f.getT3());
|
|
|
- dataLists.setImages(f.getT4());
|
|
|
- return Mono.just(dataLists);
|
|
|
- });
|
|
|
+// Mono<List<BackgroupImageItem>> group_id = code.filter(ft->Objects.nonNull(ft.backgroundGroupIdNewAdd())).flatMap(plan -> template
|
|
|
+// .select(Query.query(Criteria.where("group_id")
|
|
|
+// .is(plan.backgroundGroupIdNewAdd())), BackgroupImageItem.class).collectList())
|
|
|
+// .switchIfEmpty(Mono.just(List.of()));
|
|
|
|
|
|
- return RStatus.successList(dataListsMono);
|
|
|
+ return RStatus.successList(dataListsKefuMono);
|
|
|
}
|
|
|
/**
|
|
|
* h5-通过code (第一个接口)
|