瀏覽代碼

plan-java v0.38

(cherry picked from commit 2e8482dbd654672ed0674f41581508c2501dff77)
MOKASZ\lw12420 2 年之前
父節點
當前提交
698d5b9ed2

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

@@ -349,6 +349,7 @@ public class PlanNewController {
      */
     @PostMapping("savePlan")
     public Mono<RStatus<PlanNew>> savePlan(@RequestBody PlanReq saveRequest){
+        saveRequest.setCode(IdUtil.fastSimpleUUID());
         Long posterTemplateId = saveRequest.getPosterTemplateId();
         Mono<String> stringMono1 = template
                 .select(Query.query(Criteria.where("poster_template_id").is(posterTemplateId)).sort(Sort.by(Sort.Order.desc("created_at"))), Poster.class)
@@ -374,7 +375,7 @@ public class PlanNewController {
                     ZonedDateTime.now(),
                     null,
                     saveRequest.getType(),
-                    IdUtil.fastSimpleUUID(),
+                    saveRequest.getCode(),
                     saveRequest.getGroupId(),
                     saveRequest.getPosterTemplateId(),
                     saveRequest.getPageShow(),

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

@@ -3,15 +3,14 @@ package com.webflux.launchadmin.mysql.service.planNew.goGenerate;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.RandomUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.http.HttpResponse;
+
 import cn.hutool.http.HttpUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.webflux.launchadmin.config.BaseContextHandler;
 import com.webflux.launchadmin.global.BaseException;
-import com.webflux.launchadmin.mysql.controller.planNew.req.AudioRequest;
+
 import com.webflux.launchadmin.mysql.controller.planNew.req.PlanReq;
 import com.webflux.launchadmin.mysql.controller.planNew.req.PosterRequest;
 import com.webflux.launchadmin.mysql.controller.planNew.req.ServiceGroupSettingItemRequest;
@@ -28,17 +27,18 @@ import org.springframework.data.relational.core.query.Query;
 import org.springframework.data.relational.core.query.Update;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestBody;
-import reactor.core.publisher.Flux;
+
 import reactor.core.publisher.Mono;
 
 import java.time.ZonedDateTime;
 import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.concurrent.locks.Lock;
+
 import java.util.stream.Collectors;
 
+
+
 @Service
 public class GoGenerateService {
 
@@ -180,7 +180,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<String> stringMono = Mono.zip(bgImage, fmImage, text, stringBuilderMono,fm1,getStringBuilderMono(saveRequest.getPlanNewId())).flatMap(f -> {
+        Mono<String> stringMono = Mono.zip(bgImage, fmImage, text, stringBuilderMono,fm1,getStringBuilderMono(saveRequest)).flatMap(f -> {
             List<StringBuilder> t4 = f.getT4();
 
             Optional<Image> first = f.getT1().stream().findFirst();
@@ -235,7 +235,56 @@ public class GoGenerateService {
         });
         return stringMono;
     }
+    public Mono<StringBuilder> getStringBuilderMono(PlanReq saveRequest) {
+        if (Objects.isNull(saveRequest.getPlanNewId())) {
+
+           return template.select(Query.query(Criteria.where("group_type_id").is(saveRequest.getGroupId())
+                    .and("status").is(1).and("type").is(1)), DomainSelect.class)
+                    .collectList()
+                    .switchIfEmpty(Mono.just(List.of())).flatMap(b->{
+                StringBuilder stringBuilder = new StringBuilder();
+                if (Objects.isNull(b) || b.isEmpty()) {
+                    stringBuilder.append("生成计划链接 匹配域名为空");
+                } else {
+                    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());
+                }
+                return Mono.just(stringBuilder);
+            });
+        }else{
+            Mono<StringBuilder> stringBuilderMono1 = template.selectOne(Query.query(Criteria.where("plan_new_id").is(saveRequest.getPlanNewId())), PlanNew.class)
+                    .flatMap(f9 -> Mono.zip(Mono.just(f9), template.select(Query.query(Criteria.where("group_type_id").is(f9.groupId())
+                                    .and("status").is(1).and("type").is(1)), DomainSelect.class)
+                                    .collectList()
+                                    .switchIfEmpty(Mono.just(List.of())), (a, b) -> {
+                                StringBuilder stringBuilder = new StringBuilder();
+                                if (Objects.isNull(b) || b.isEmpty()) {
+                                    stringBuilder.append("生成计划链接 匹配域名为空");
+                                } else {
+                                    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(a.code());
+                                    stringBuilder.append("&sk=");
+                                    stringBuilder.append(IdUtil.fastSimpleUUID());
+                                }
+                                return stringBuilder;
+                            })
+                    );
+            return stringBuilderMono1;
+        }
 
+    }
     public Mono<StringBuilder> getStringBuilderMono(Long planNewId) {
         Mono<StringBuilder> stringBuilderMono1 = template.selectOne(Query.query(Criteria.where("plan_new_id").is(planNewId)), PlanNew.class)
                 .flatMap(f9 -> Mono.zip(Mono.just(f9), template.select(Query.query(Criteria.where("group_type_id").is(f9.groupId())