Browse Source

长按动图 pressImage 加群裂变接口缓存群封面名称-v0.01

MOKASZ\lw12420 1 year ago
parent
commit
a988f3451f

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

@@ -547,7 +547,8 @@ public class PlanNewController {
                         saveRequest.getTransferPageBl(),
                         saveRequest.getBackgroupDomain(),
                         listButton,
-                        saveRequest.getGroupListDisplay()
+                        saveRequest.getGroupListDisplay(),
+                        saveRequest.getPressImage()
                 );
                 return template.insert(plan);
             });
@@ -690,7 +691,8 @@ public class PlanNewController {
                         saveRequest.getTransferPageBl(),
                         saveRequest.getBackgroupDomain(),
                         listButton,
-                        saveRequest.getGroupListDisplay()
+                        saveRequest.getGroupListDisplay(),
+                        saveRequest.getPressImage()
                 );
                 return Mono.just(planNew);
             }).flatMap(template::update);
@@ -784,7 +786,8 @@ public class PlanNewController {
                             saveRequest.transferPageBl(),
                             saveRequest.backgroupDomain(),
                             saveRequest.listButton(),
-                            saveRequest.groupListDisplay()
+                            saveRequest.groupListDisplay(),
+                            saveRequest.pressImage()
                     )).flatMap(map -> template.insert(map));
             Mono<List<PlanNewBackgroupPoster>> listening_plan_new_id1 =
                     template.select(Query.query(Criteria.where("plan_new_id")

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

@@ -26,6 +26,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.r2dbc.core.R2dbcEntityTemplate;
+import org.springframework.data.redis.core.ReactiveRedisTemplate;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.data.relational.core.query.Criteria;
 import org.springframework.data.relational.core.query.Query;
@@ -39,6 +40,7 @@ import java.net.InetSocketAddress;
 import java.net.URLEncoder;
 import java.net.http.HttpRequest;
 import java.nio.charset.StandardCharsets;
+import java.time.Duration;
 import java.time.ZonedDateTime;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
@@ -70,7 +72,8 @@ public class PlanNewOutController {
 
     @Resource
     private PlanServiceInterface planServiceInterface;
-
+    @Resource
+    private ReactiveRedisTemplate<String,String> reactiveRedisTemplate;
     //private static final ConcurrentHashMap<String,Integer> map = new ConcurrentHashMap<String,Integer>();
 
     //清空用户Map数据
@@ -325,6 +328,7 @@ public class PlanNewOutController {
      */
     @PostMapping("hfoInfo")
     public Mono<RStatus<DataLists>> hfoInfo(@RequestBody HfoRequest request, ServerWebExchange exchange){
+        Mono<String> stringMono = reactiveRedisTemplate.opsForValue().get(request.getUnique()).switchIfEmpty(Mono.just(""));
         if (Objects.isNull(request.getCode()) || "".equals(request.getCode().trim())) {
           throw  new BaseException("code异常");
         }
@@ -341,7 +345,16 @@ public class PlanNewOutController {
                 .columns(COLUMNARRAYPLANNEW), PlanNew.class)
                 .switchIfEmpty(Mono.error(new BaseException(" code错误")))
                 .onErrorResume(throwable -> Mono.error(new BaseException(throwable.getMessage())));
-        Mono<DataLists> dataListsMono1 = code0.flatMap(planNew -> {
+        Mono<DataLists> dataListsMono1 = Mono.zip(code0,stringMono).flatMap(tuple2 -> {
+            String t21 = tuple2.getT2();
+            if( !t21.isBlank()){
+                JSONArray jsonArray = JSONUtil.parseArray(t21);
+                List<H5ImageAndText> collect = jsonArray.stream().map(str -> JSONUtil.toBean(JSONUtil.parseObj(str), H5ImageAndText.class)).collect(Collectors.toList());
+                DataLists dataLists = new DataLists();
+                dataLists.setImages(collect);
+                return Mono.just(dataLists);
+            }
+            PlanNew planNew = tuple2.getT1();
             Mono<PlanNew> code = Mono.just(planNew);
             Long group_type_id ; //.and("group_type_id").is(group_type_id)
             if (Objects.isNull(request.getWx_user_id()) || "".equals(request.getWx_user_id())) {
@@ -539,8 +552,11 @@ public class PlanNewOutController {
 //                    t3.setBackgroupDomain(fff.getT2());
 //                    return Mono.just(t3);
 //                });
+                reactiveRedisTemplate.opsForValue().set(request.getUnique(), JSONUtil.toJsonStr(dataLists.getImages()), Duration.ofHours(1)).subscribe();
                 return Mono.just(dataLists);
             });
+
+
             return dataListsMono;
         });
         return RStatus.successList(dataListsMono1);

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

@@ -160,4 +160,6 @@ public class PlanReq {
      * 群列表展示
      */
     private Integer groupListDisplay;
+
+    private String pressImage;
 }

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

@@ -50,7 +50,8 @@ public record PlanNew  (
         Integer transferPageBl, //中转页开关 1:true 0:F
         String backgroupDomain,//背景组域名
         String listButton,
-        Integer groupListDisplay
+        Integer groupListDisplay,
+        String pressImage
 
 ) implements Serializable{
 }

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

@@ -1173,7 +1173,7 @@ public class GoGenerateService {
     private PlanNew getPlanNew() {
         return new PlanNew(null, null, null, null, null, null, null, null, null, null, null,
                 null, null, null, null, null, null, null, null, null, null, null, null, null, null,
-                null, null, null, null, null, null, null, null, null, null, null, null, null, null,null);
+                null, null, null, null, null, null, null, null, null, null, null, null, null, null,null,null);
     }
 
     private ListeningPlanNew getListeningPlanNew() {