|
|
@@ -1,10 +1,13 @@
|
|
|
package com.webflux.launchadmin.mysql.controller.planNew;
|
|
|
|
|
|
import com.webflux.launchadmin.config.BaseContextHandler;
|
|
|
+import com.webflux.launchadmin.global.BaseException;
|
|
|
+import com.webflux.launchadmin.mysql.controller.lbOut.resp.DataList;
|
|
|
import com.webflux.launchadmin.mysql.controller.planNew.req.*;
|
|
|
import com.webflux.launchadmin.mysql.controller.planNew.res.BackgroupImageRes;
|
|
|
import com.webflux.launchadmin.mysql.controller.planNew.res.DataLists;
|
|
|
import com.webflux.launchadmin.mysql.controller.planNew.res.PosterTemplateRes;
|
|
|
+import com.webflux.launchadmin.mysql.entity.lb.HomePageTempItem;
|
|
|
import com.webflux.launchadmin.mysql.entity.planNew.*;
|
|
|
import com.webflux.launchcommon.returnObj.Paged;
|
|
|
import com.webflux.launchcommon.returnObj.RStatus;
|
|
|
@@ -23,6 +26,8 @@ import java.time.ZonedDateTime;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
+import java.util.Optional;
|
|
|
+import java.util.concurrent.Phaser;
|
|
|
|
|
|
/**
|
|
|
* 计划
|
|
|
@@ -58,29 +63,31 @@ public class PlanNewController {
|
|
|
*/
|
|
|
@GetMapping("backgroupImageRes/{id}")
|
|
|
public Mono<RStatus<BackgroupImageRes>> backgroupImageRes(@PathVariable("id") Long id){
|
|
|
- Mono<BackgroupImageRes> map = Mono.just(new BackgroupImageRes())
|
|
|
- .map(dataLists -> {
|
|
|
- template.selectOne(Query.query(Criteria.where("id").is(dataLists.getPlanNew().backgroundGroupId())), BackgroupImage.class)
|
|
|
- .subscribe(dataLists::setBackgroupImage);
|
|
|
- return dataLists;
|
|
|
- }).map(dataLists -> {
|
|
|
- template.select(Query.query(Criteria.where("group_id").is(dataLists.getPlanNew().backgroundGroupId())), BackgroupImageItem.class).collectList()
|
|
|
- .subscribe(dataLists::setBackgroupImageItemList);
|
|
|
- return dataLists;
|
|
|
+ Mono<BackgroupImage> id1 = template.selectOne(Query.query(Criteria.where("id")
|
|
|
+ .is(id)), BackgroupImage.class) .switchIfEmpty(Mono.error(new BaseException(" 通过code查询结果为空")))
|
|
|
+ .onErrorResume(throwable -> Mono.error(new Exception(throwable.getMessage())));
|
|
|
+ Mono<List<BackgroupImageItem>> group_id = template.select(Query.query(Criteria.where("group_id")
|
|
|
+ .is(id)), BackgroupImageItem.class).collectList();
|
|
|
+ Mono<BackgroupImageRes> zip = Mono.zip(id1, group_id, (lambdaA, lambdaB) -> {
|
|
|
+ BackgroupImageRes backgroupImageRes = new BackgroupImageRes();
|
|
|
+ backgroupImageRes.setBackgroupImage(lambdaA);
|
|
|
+ backgroupImageRes.setBackgroupImageItemList(lambdaB);
|
|
|
+ return backgroupImageRes;
|
|
|
});
|
|
|
- return RStatus.successList(map);
|
|
|
+ return RStatus.successList(zip);
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 客服组-下拉 ( By status)
|
|
|
- * @param request
|
|
|
+ * @param status
|
|
|
* @return {@link Mono}<{@link RStatus}<{@link List}<{@link ReturnLoop}>>>
|
|
|
*/
|
|
|
@GetMapping("serviceGroupSlt")
|
|
|
- public Mono<RStatus<List<ServiceGroup>>> serviceGroupSlt (@RequestBody ServiceGroupRequest request){
|
|
|
- Mono<List<ServiceGroup>> status = template.select(Query.query(Criteria.where("status").is(request.getStatus())), ServiceGroup.class).collectList();
|
|
|
- return RStatus.successList(status);
|
|
|
+ public Mono<RStatus<List<ServiceGroup>>> serviceGroupSlt (@RequestParam("status") Integer status){
|
|
|
+ Mono<List<ServiceGroup>> status1 = template.select(Query.query(Criteria.where("status")
|
|
|
+ .is(2)), ServiceGroup.class).collectList();
|
|
|
+ return RStatus.successList(status1);
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -292,32 +299,28 @@ public class PlanNewController {
|
|
|
Criteria finalCriteria = criteria;
|
|
|
int skip = (request.getPage() - 1) * request.getSize();
|
|
|
int limit = request.getPage() * request.getSize();
|
|
|
- Mono<Paged<PosterTemplateRes>> pagedMono = template.count(query, PosterTemplate.class).flatMap(fm ->
|
|
|
- template.select(Query.query(finalCriteria)
|
|
|
- .offset(skip)
|
|
|
- .limit(limit)
|
|
|
- .sort(Sort.by(Sort.Order.desc("created_at"))),PosterTemplate.class)
|
|
|
- .collectList()
|
|
|
- .map(list -> {
|
|
|
- ArrayList<PosterTemplateRes> posterTemplateRes = new ArrayList<>();
|
|
|
- list.forEach(f->{
|
|
|
- Long aLong = f.posterTemplateId();
|
|
|
- template.count(Query.query(Criteria.where("poster_template_id").is(aLong)),Poster.class).subscribe(n->{
|
|
|
- PosterTemplateRes posterTemplateRes1 = new PosterTemplateRes();
|
|
|
- posterTemplateRes1.setPosterTemplateId(f.posterTemplateId());
|
|
|
- posterTemplateRes1.setPosterTemplateName(f.posterTemplateName());
|
|
|
- posterTemplateRes1.setCreatedAt(f.createdAt());
|
|
|
- posterTemplateRes1.setNum(n);
|
|
|
- posterTemplateRes1.setCreateId(f.createId());
|
|
|
- posterTemplateRes1.setCreateUser(f.createUser());
|
|
|
- posterTemplateRes1.setUpdatedAt(f.updatedAt());
|
|
|
- posterTemplateRes.add(posterTemplateRes1);
|
|
|
- });
|
|
|
- });
|
|
|
- return new Paged<>(fm, posterTemplateRes,request.getPage(),request.getSize());
|
|
|
- })
|
|
|
+ Mono<Long> count = template.count(query, PosterTemplate.class);
|
|
|
+ Flux<PosterTemplateRes> created_at = template.select(Query.query(finalCriteria)
|
|
|
+ .offset(skip)
|
|
|
+ .limit(limit)
|
|
|
+ .sort(Sort.by(Sort.Order.desc("created_at"))), PosterTemplate.class).flatMap(f ->
|
|
|
+ template.count(Query.query(Criteria.where("poster_template_id").is(f.posterTemplateId())), Poster.class).map(n -> {
|
|
|
+ PosterTemplateRes posterTemplateRes1 = new PosterTemplateRes();
|
|
|
+ posterTemplateRes1.setPosterTemplateId(f.posterTemplateId());
|
|
|
+ posterTemplateRes1.setPosterTemplateName(f.posterTemplateName());
|
|
|
+ posterTemplateRes1.setCreatedAt(f.createdAt());
|
|
|
+ posterTemplateRes1.setNum(n);
|
|
|
+ posterTemplateRes1.setCreateId(f.createId());
|
|
|
+ posterTemplateRes1.setCreateUser(f.createUser());
|
|
|
+ posterTemplateRes1.setUpdatedAt(f.updatedAt());
|
|
|
+ return posterTemplateRes1;
|
|
|
+ })
|
|
|
);
|
|
|
- return RStatus.successList(pagedMono);
|
|
|
+ Mono<List<PosterTemplateRes>> listMono = created_at.collectList();
|
|
|
+ Mono<Paged<PosterTemplateRes>> zip = Mono.zip(count, listMono, (fm, list) -> new Paged<PosterTemplateRes>(fm, list, request.getPage(), request.getSize())
|
|
|
+ );
|
|
|
+ return RStatus.successList(zip);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|