Selaa lähdekoodia

裂变优化-v1.0.1

MOKASZ\lw12420 2 vuotta sitten
vanhempi
commit
77a40fcd4e

+ 31 - 5
launch-admin/src/main/java/com/webflux/launchadmin/mysql/controller/planNew/PlanNewController.java

@@ -462,7 +462,12 @@ public class PlanNewController {
                         saveRequest.getBackgroundGroupIdNewAdd(),
                         f.getT1(),
                         saveRequest.getRedirectType(),
-                        saveRequest.getRedirectPlanId()
+                        saveRequest.getRedirectPlanId(),
+                        saveRequest.getImportDomain(),
+                        saveRequest.getLandingPageDomain(),
+                        saveRequest.getTransferPageDomain(),
+                        saveRequest.getTransferPageBl(),
+                        saveRequest.getBackgroupDomain()
                 );
                 return template.insert(plan);
             });
@@ -592,7 +597,12 @@ public class PlanNewController {
                         saveRequest.getBackgroundGroupIdNewAdd(),
                         f.getT1(),
                         saveRequest.getRedirectType(),
-                        saveRequest.getRedirectPlanId()
+                        saveRequest.getRedirectPlanId(),
+                        saveRequest.getImportDomain(),
+                        saveRequest.getLandingPageDomain(),
+                        saveRequest.getTransferPageDomain(),
+                        saveRequest.getTransferPageBl(),
+                        saveRequest.getBackgroupDomain()
                 );
                 return Mono.just(planNew);
             }).flatMap(template::update);
@@ -678,7 +688,12 @@ public class PlanNewController {
                             saveRequest.backgroundGroupIdNewAdd(),
                             saveRequest.previewUrl(),
                             saveRequest.redirectType(),
-                            saveRequest.redirectPlanId()
+                            saveRequest.redirectPlanId(),
+                            saveRequest.importDomain(),
+                            saveRequest.landingPageDomain(),
+                            saveRequest.transferPageDomain(),
+                            saveRequest.transferPageBl(),
+                            saveRequest.backgroupDomain()
                     )).flatMap(map -> template.insert(map));
             Mono<List<PlanNewBackgroupPoster>> listening_plan_new_id1 =
                     template.select(Query.query(Criteria.where("plan_new_id")
@@ -797,7 +812,12 @@ public class PlanNewController {
                                         saveRequest.previewUrl(),
                                         saveRequest.redirectType(),
                                         saveRequest.redirectPlanId(),
-                                        null
+                                        null,
+                                        saveRequest.importDomain(),
+                                        saveRequest.landingPageDomain(),
+                                        saveRequest.transferPageDomain(),
+                                        saveRequest.transferPageBl(),
+                                        saveRequest.backgroupDomain()
                                 );
                                 return Mono.just(planNewAllRs);
                             }
@@ -842,7 +862,13 @@ public class PlanNewController {
                                         saveRequest.previewUrl(),
                                         null,
                                         null,
-                                        saveRequest.listButton()
+                                        saveRequest.listButton(),
+                                        null,
+                                        null,
+                                        null,
+                                        null,
+                                        null
+
                                 );
                                 return Mono.just(planNewAllRs);
                             }

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

@@ -81,11 +81,11 @@ public class PlanNewOutController {
         if (1 == typePlan) {
             Mono<PlanNew> code1 = template
                     .selectOne(Query.query(Criteria.where("code").is(code)), PlanNew.class)
-                    .switchIfEmpty(Mono.error(new BaseException("计划code异常"))) //Mono.error(new BaseException("查询海报模版 id:"+f.posterTemplateId()+"=>空"))
+                    .switchIfEmpty(Mono.error(new BaseException("计划code异常 返回结果为空"))) //Mono.error(new BaseException("查询海报模版 id:"+f.posterTemplateId()+"=>空"))
                     .onErrorResume(throwable -> Mono.error(new Exception(  throwable.getMessage())));
-            Mono<DomainSelectRes> domainSelectResMono1 = code1.flatMap(f -> template.select(Query.query(Criteria.where("group_type_id").is(f.groupId())
+            Mono<DomainSelectRes> domainSelectResMono1 = code1.flatMap(f -> template.select(Query.query(Criteria.where("group_type_id").is(f.landingPageDomain())
                     .and("status").is(1).and("type").is(type)), DomainSelect.class)
-                    .switchIfEmpty(Mono.error(new BaseException("查询domain为空")))
+                    .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());
@@ -99,11 +99,11 @@ public class PlanNewOutController {
             return RStatus.success(domainSelectResMono1);
         }else  if(2==typePlan){
             Mono<ListeningPlanNew> code1 = template.selectOne(Query.query(Criteria.where("code").is(code)), ListeningPlanNew.class)
-                    .switchIfEmpty(Mono.error(new BaseException("计划code异常"))) //Mono.error(new BaseException("查询海报模版 id:"+f.posterTemplateId()+"=>空"))
+                    .switchIfEmpty(Mono.error(new BaseException("计划code异常 返回结果为空"))) //Mono.error(new BaseException("查询海报模版 id:"+f.posterTemplateId()+"=>空"))
                     .onErrorResume(throwable -> Mono.error(new Exception(  throwable.getMessage())));;
             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("查询domain为空")))
+                    .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());
@@ -310,7 +310,14 @@ public class PlanNewOutController {
             Mono<DataLists> dataListsMono = Mono.zip(code, listAudio, retAudioId, returnLoop, arrayListMono, adtop, bottom, wx_user_id).flatMap(f -> {
                 DataLists dataLists = new DataLists();
                 dataLists.setPlanNew(f.getT1());
-                dataLists.setListAudio(f.getT2());
+
+                dataLists.setTransferPageBl(f.getT1().transferPageBl());
+                dataLists.setTransferPageDomain(f.getT1().transferPageDomain());
+                dataLists.setBackgroupDomain(f.getT1().backgroupDomain());
+                if (Objects.nonNull(f.getT2().id())) {
+                    dataLists.setListAudio(f.getT2());
+                }
+
                 dataLists.setRetAudio(f.getT3());
                 if (-1 != f.getT4().id()) {
                     dataLists.setReturnLoop(f.getT4());
@@ -570,13 +577,13 @@ public class PlanNewOutController {
 
     // //+二维码
     private Mono<StringBuilder> getEwm(HftRequest request, Mono<PlanNew> code) {
-        Mono<StringBuilder> stringBuilderMono ;
-        if (Objects.nonNull(request.getWx_user_id()) && !"".equals(request.getWx_user_id())) {
-            stringBuilderMono = goGenerateService.getStringBuilderMonoQs(code);
-        }else{
-            stringBuilderMono =  goGenerateService.getStringBuilderMonoYx(code);
-        }
-        return stringBuilderMono;
+     //   Mono<StringBuilder> stringBuilderMono ;
+//        if (Objects.nonNull(request.getWx_user_id()) && !"".equals(request.getWx_user_id())) {
+//            stringBuilderMono = goGenerateService.getStringBuilderMonoQs(code);
+//        }else{
+//            stringBuilderMono =  goGenerateService.getStringBuilderMonoYx(code);
+//        }
+        return  goGenerateService.getOutImportDomain(code);
     }
 
     private Mono<List<PlanNewBackgroupPoster>> getPlanNewBackgroupPoster(Mono<PlanNew> code) {

+ 21 - 0
launch-admin/src/main/java/com/webflux/launchadmin/mysql/controller/planNew/req/PlanReq.java

@@ -131,4 +131,25 @@ public class PlanReq {
      * 按钮名称
      */
    private String listButton;
+
+    /**
+     * 入口域名
+     */
+    private String importDomain; //入口域名
+    /**
+     * 落地页域名
+     */
+    private String landingPageDomain;//落地页域名
+    /**
+     * 中转页域名
+     */
+    private String transferPageDomain;//中转页域名
+    /**
+     * 中转页开关 1:true 0:F
+     */
+    private Integer transferPageBl; //中转页开关 1:true 0:F
+    /**
+     * 背景组域名
+     */
+    private String backgroupDomain;//背景组域名
 }

+ 12 - 0
launch-admin/src/main/java/com/webflux/launchadmin/mysql/controller/planNew/res/DataLists.java

@@ -45,6 +45,18 @@ public class DataLists {
      */
     private Integer isRet;
 
+    /**
+     * 中转页域名
+     */
+    private String transferPageDomain;//中转页域名
+    /**
+     * 中转页开关 1:true 0:F
+     */
+    private Integer transferPageBl; //中转页开关 1:true 0:F
+    /**
+     * 背景组域名
+     */
+    private String backgroupDomain;//背景组域名
 
 
 }

+ 23 - 0
launch-admin/src/main/java/com/webflux/launchadmin/mysql/controller/planNew/res/PlanNewAllRs.java

@@ -46,4 +46,27 @@ public class PlanNewAllRs {
     private  Integer redirectType; // 1三方链接 2计划链接
     private  Long redirectPlanId;
     private  String listButton;
+
+    /**
+     * 入口域名
+     */
+    private String importDomain; //入口域名
+    /**
+     * 落地页域名
+     */
+    private String landingPageDomain;//落地页域名
+    /**
+     * 中转页域名
+     */
+    private String transferPageDomain;//中转页域名
+    /**
+     * 中转页开关 1:true 0:F
+     */
+    private Integer transferPageBl; //中转页开关 1:true 0:F
+    /**
+     * 背景组域名
+     */
+    private String backgroupDomain;//背景组域名
+
+
 }

+ 6 - 1
launch-admin/src/main/java/com/webflux/launchadmin/mysql/entity/planNew/PlanNew.java

@@ -42,6 +42,11 @@ public record PlanNew(
         Long backgroundGroupIdNewAdd, //background_groupId_new_add
         String previewUrl,
         Integer redirectType, // 1三方链接 2计划链接
-        Long redirectPlanId
+        Long redirectPlanId,
+        String importDomain, //入口域名
+        String landingPageDomain,//落地页域名
+        String transferPageDomain,//中转页域名
+        Integer transferPageBl, //中转页开关 1:true 0:F
+        String backgroupDomain//背景组域名
 ) {
 }

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

@@ -557,7 +557,7 @@ public class GoGenerateService {
                                          Mono<List<Image>> bgImage, Mono<List<Image>> fmImage, Mono<List<Material>> text,Mono<List<Image>> fm1,
                                                         ServiceGroupSettingItemRequest qsSetting,PlanReq saveRequest,Mono<List<Material>> title) {
 
-        Mono<String> stringMono = Mono.zip(bgImage, fmImage, text, stringBuilderMono,fm1,getStringBuilderMono(saveRequest),title).flatMap(f -> {
+        Mono<String> stringMono = Mono.zip(bgImage, fmImage, text, stringBuilderMono,fm1,getImportDomain(saveRequest),title).flatMap(f -> {
             List<StringBuilder> t4 = f.getT4();
 //            if (Objects.nonNull(t4) && !t4.isEmpty()) {
 //                goRequest.getItem().stream().filter(fc->"cusqrcode".equals(fc.getT())).forEach(fe->fe.setName("H5二维码"));
@@ -724,6 +724,63 @@ public class GoGenerateService {
         });
         return stringMono;
     }
+
+    public Mono<StringBuilder> getImportDomain(PlanReq saveRequest) {
+        if (Objects.isNull(saveRequest.getImportDomain()) || !"".equals(saveRequest.getImportDomain())) {
+            throw new BaseException("入口页域名值不可为空");
+        }
+        return template.select(Query.query(Criteria.where("group_type_id").is(saveRequest.getImportDomain())
+                .and("status").is(1)
+                .and("type").is(1)
+                .and("deleted_at").isNull()), DomainSelect.class)
+                .collectList()
+                .switchIfEmpty(Mono.just(List.of())).flatMap(b->{
+                    StringBuilder stringBuilder = new StringBuilder();
+                    if (Objects.nonNull(b) && !b.isEmpty()) {
+                        DomainSelect domainSelect = b.get(RandomUtil.randomInt(0, b.size()));
+                        stringBuilder.append("http://");
+                        stringBuilder.append(get6Str());
+                        stringBuilder.append(".");
+                        stringBuilder.append(domainSelect.domain());
+                        stringBuilder.append("/index.html?code=");
+                        stringBuilder.append(saveRequest.getCode());
+                        stringBuilder.append("&sk=");
+                        stringBuilder.append(IdUtil.fastSimpleUUID());
+                    }else {
+                       throw  new BaseException("通过入口页域名值查询域名返回结果为空");
+                    }
+                    return Mono.just(stringBuilder);
+                });
+    }
+    public Mono<StringBuilder> getOutImportDomain(Mono<PlanNew> mono) {
+        return mono.flatMap(saveRequest -> {
+            if (Objects.isNull(saveRequest.importDomain()) || !"".equals(saveRequest.importDomain())) {
+                throw new BaseException("入口页域名值不可为空");
+            }
+            return template.select(Query.query(Criteria.where("group_type_id").is(saveRequest.importDomain())
+                    .and("status").is(1)
+                    .and("type").is(1)
+                    .and("deleted_at").isNull()), DomainSelect.class)
+                    .collectList()
+                    .switchIfEmpty(Mono.just(List.of())).flatMap(b -> {
+                        StringBuilder stringBuilder = new StringBuilder();
+                        if (Objects.nonNull(b) && !b.isEmpty()) {
+                            DomainSelect domainSelect = b.get(RandomUtil.randomInt(0, b.size()));
+                            stringBuilder.append("http://");
+                            stringBuilder.append(get6Str());
+                            stringBuilder.append(".");
+                            stringBuilder.append(domainSelect.domain());
+                            stringBuilder.append("/index.html?code=");
+                            stringBuilder.append(saveRequest.code());
+                            stringBuilder.append("&sk=");
+                            stringBuilder.append(IdUtil.fastSimpleUUID());
+                        } else {
+                            throw new BaseException("通过入口页域名值查询域名返回结果为空");
+                        }
+                        return Mono.just(stringBuilder);
+                    });
+        });
+    }
     public Mono<StringBuilder> getStringBuilderMono(PlanReq saveRequest) {
         if (Objects.isNull(saveRequest.getPlanNewId()) || "".equals(saveRequest.getPlanNewId())) {
            return template.select(Query.query(Criteria.where("group_type_id").is(saveRequest.getGroupId())