瀏覽代碼

Merge branch 'pro' of http://git.mokasz.com/liuwei/launch-webFlux-platform into pro

volta 2 年之前
父節點
當前提交
2040b720f4

+ 4 - 0
launch-admin/pom.xml

@@ -32,6 +32,10 @@
     </properties>
 
     <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
 
         <!--        <dependency>-->
         <!--            <groupId>redis.clients</groupId>-->

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

@@ -22,6 +22,7 @@ import com.webflux.launchadmin.mysql.service.planNew.structure.GoRequest;
 import com.webflux.launchadmin.mysql.service.planNew.structure.Item;
 import com.webflux.launchadmin.mysql.service.takeaway.TakeawayServicesInterface;
 import com.webflux.launchcommon.returnObj.RStatus;
+import com.webflux.launchcommon.utils.StringUtils;
 import jakarta.annotation.Resource;
 import jakarta.json.Json;
 import lombok.extern.slf4j.Slf4j;
@@ -268,11 +269,13 @@ public class PlanNewCommonOutController {
         } else if (2 == request.getTypePlan()) {
             // 听书裂变
             return this.getListeningPlan(request);
-        } else {
+        } else if(3==request.getTypePlan()){
             // 交友裂变
             return this.getFriendPlan(request);
+        }else if(4==request.getTypePlan()){
+            return this.getTakeaway(request);
         }
-       // throw new BaseException("typePlan 类型错误");
+        throw new BaseException("typePlan 类型错误");
     }
 
     /**
@@ -403,6 +406,78 @@ public class PlanNewCommonOutController {
                         return Mono.just(string + "." + domain);
                     });
         }
+        Mono<String> transferPageDomain;
+        if ( Objects.nonNull(request.getTransferPageDomain()) && StringUtils.isNotEmpty(request.getTransferPageDomain())) {
+            transferPageDomain = template.select(Query.query(Criteria
+                    .where("group_type_id").is(request.getTransferPageDomain())
+                    .and("status").is(1)
+                    .and("type").is(5)
+                    .and("deleted_at").isNull()), DomainSelect.class)
+                    .switchIfEmpty(Mono.error(new BaseException("transferPageDomain 域名查詢為空 group_type_id:::" + request.getTransferPageDomain())))
+                    .onErrorResume(throwable -> Mono.error(new Exception(throwable.getMessage()))).collectList().flatMap(fff -> {
+                        if (!fff.isEmpty()) {
+                            DomainSelect domainSelect = fff.get(RandomUtil.randomInt(0, fff.size()));
+                            String string = RandomUtil.randomString("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 6);
+                            String domain1 = domainSelect.domain();
+                            return Mono.just(string + "." + domain1);
+                        } else {
+                            throw new BaseException("transferPageDomain 中轉域名查詢為空 group_type_id:::" +  request.getTransferPageDomain());
+                        }
+                    });
+        } else {
+            transferPageDomain = Mono.just(" ");
+        }
+        Mono<String> backgroupDomain;
+        if (Objects.nonNull(request.getBackgroupDomain()) && StringUtils.isNotEmpty(request.getBackgroupDomain())) {
+            backgroupDomain = template.select(Query.query(Criteria
+                    .where("group_type_id").is(request.getBackgroupDomain())
+                    .and("status").is(1)
+                    .and("type").is(4)
+                    .and("deleted_at").isNull()), DomainSelect.class)
+                    .switchIfEmpty(Mono.error(new BaseException("backgroupDomain 域名查询为空 group_type_id" + request.getBackgroupDomain())))
+                    .onErrorResume(throwable -> Mono.error(new Exception(throwable.getMessage()))).collectList().flatMap(fff -> {
+                        if (!fff.isEmpty()) {
+                            DomainSelect domainSelect = fff.get(RandomUtil.randomInt(0, fff.size()));
+                            String string = RandomUtil.randomString("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 6);
+                            String domain1 = domainSelect.domain();
+                            return Mono.just(string + "." + domain1);
+                        } else {
+                            throw new BaseException("backgroupDomain 背景域名查詢為空 group_type_id" + request.getBackgroupDomain());
+                        }
+                    });
+        } else {
+            backgroupDomain = Mono.just(" ");
+        }
+        Mono<DomainSelectRes> res = Mono.zip(stringMono,transferPageDomain,backgroupDomain).flatMap(tuple3 -> {
+            DomainSelectRes domainSelectRes = new DomainSelectRes();
+            domainSelectRes.setDomain(tuple3.getT1());
+            domainSelectRes.setTransferPageDomain(tuple3.getT2());
+            domainSelectRes.setBackgroupDomain(tuple3.getT3());
+            domainSelectRes.setPath("");
+            domainSelectRes.setUnique(IdUtil.fastSimpleUUID());
+            return Mono.just(domainSelectRes);
+        });
+        return RStatus.success(res);
+    }
+    private Mono<RStatus<DomainSelectRes>> getTakeaway(OutDomainRequest request) {
+        Mono<String> stringMono;
+        if (StrUtil.isBlank(request.getLandingPageDomain()) || request.getLandingPageDomain().trim().isEmpty()) {
+            stringMono = Mono.just(" ");
+        } else {
+            stringMono = template.select(Query.query(Criteria
+                    .where("group_type_id").is(request.getLandingPageDomain())
+                    .and("status").is(1)
+                    .and("deleted_at").isNull()
+                    .and("type").is(request.getType())), DomainSelect.class)
+                    .switchIfEmpty(Mono.error(new BaseException("查询domain 返回结果为空")))
+                    .onErrorResume(throwable -> Mono.error(new Exception(throwable.getMessage())))
+                    .collectList().flatMap(fm -> {
+                        int i = RandomUtil.randomInt(0, fm.size());
+                        String domain = fm.get(i).domain();
+                        String string = RandomUtil.randomString("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 6);
+                        return Mono.just(string + "." + domain);
+                    });
+        }
         Mono<DomainSelectRes> res = stringMono.flatMap(fff -> {
             DomainSelectRes domainSelectRes = new DomainSelectRes();
             domainSelectRes.setDomain(fff);

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

@@ -17,4 +17,13 @@ public class OutDomainRequest {
     private Integer type;
     /** 落地页域名 */
     private String landingPageDomain;
+    /**
+     * 中转页域名
+     */
+    private String transferPageDomain;
+
+    /**
+     * 背景组域名
+     */
+    private String backgroupDomain;
 }

+ 1 - 1
launch-admin/src/main/java/com/webflux/launchadmin/mysql/service/takeaway/TakeawayServicesImpl.java

@@ -125,7 +125,7 @@ public class TakeawayServicesImpl implements TakeawayServicesInterface{
             List<ColItem> collect = jsonArray.stream().map(map -> {
                 ColItem colItem = new ColItem();
                 JSONObject jsonObject = JSONUtil.parseObj(map);
-                BeanUtil.copyProperties(colItem, jsonObject);
+                BeanUtil.copyProperties(jsonObject, colItem);
                 return colItem;
             }).collect(Collectors.toList());
             List<Long>  collectType =collect.stream().map(ColItem::getType).filter(Objects::nonNull).distinct().collect(Collectors.toList());

+ 12 - 1
launch-admin/src/main/resources/application.yml

@@ -14,4 +14,15 @@ xxl:
     server: https://sso.mokamrp.com/sso/login?redirect_url=https://test-space.mokamrp.com/#/
     excluded:
       paths: /assetManagementHugeCreatedEvent/conversion
-      start: /out/
+      start: /out/,/actuator
+
+management:
+  endpoints:
+    web:
+      exposure:
+        include: "*"
+  endpoint:
+    health:
+      show-details: "always"
+  web:
+    base-path: "/actuator"

+ 15 - 2
launch-r2dbc/pom.xml

@@ -25,6 +25,8 @@
         <validation>3.2.0</validation>
         <cola-component-dto>4.3.2</cola-component-dto>
         <revision>2022.0.0.0</revision>
+        <jakarta-revision>2.1.3</jakarta-revision>
+        <hpt-revision>4.5.13</hpt-revision>
     </properties>
 
     <dependencies>
@@ -91,9 +93,20 @@
             <version>${cola-component-dto}</version>
         </dependency>
         <!--elasticsearch -->
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.boot</groupId>-->
+<!--            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>-->
+<!--        </dependency>-->
         <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
+            <groupId>jakarta.json</groupId>
+            <artifactId>jakarta.json-api</artifactId>
+            <version>${jakarta-revision}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <version>${hpt-revision}</version>
         </dependency>
         <!--lombok -->
         <dependency>