Kaynağa Gözat

fix: 交友裂变H5接口error-getPlanNewCommonH5

wangcheng 2 yıl önce
ebeveyn
işleme
6cf9ed9788

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

@@ -107,15 +107,20 @@ public class PlanNewCommonOutController {
                 res.setImportDomain(plan.importDomain());
                 res.setConfigJson(plan.configJson());
                 res.setGroupUserList(tuple.getT2());
-                List<Image> imageList = tuple.getT3();
-                Image image = imageList.get(RandomUtil.randomInt(0, imageList.size()));
-                List<Material> materialList = tuple.getT4();
-                Material material = materialList.get(RandomUtil.randomInt(0, materialList.size()));
                 List<H5ImageAndText> h5ImageAndTextList = new ArrayList<>();
                 H5ImageAndText h5ImageAndText = new H5ImageAndText();
-                h5ImageAndText.setImage(image.image());
-                h5ImageAndText.setName(material.content());
-                h5ImageAndText.setRemark(material.remark());
+                List<Image> imageList = tuple.getT3();
+                if (!imageList.isEmpty()) {
+                    Image image = imageList.get(RandomUtil.randomInt(0, imageList.size()));
+                    h5ImageAndText.setImage(image.image());
+                }
+
+                List<Material> materialList = tuple.getT4();
+                if (!materialList.isEmpty()) {
+                    Material material = materialList.get(RandomUtil.randomInt(0, materialList.size()));
+                    h5ImageAndText.setName(material.content());
+                    h5ImageAndText.setRemark(material.remark());
+                }
                 h5ImageAndTextList.add(h5ImageAndText);
                 res.setGroupImageAndTextList(h5ImageAndTextList);
                 return Mono.just(res);
@@ -163,16 +168,20 @@ public class PlanNewCommonOutController {
                 ArrayList<Long> listTxt = new ArrayList<>();
                 List<H5ImageAndText> h5ImageAndTexts = new ArrayList<>();
                 IntStream.range(0, integer).forEach(i -> {
+                    H5ImageAndText h5ImageAndText = new H5ImageAndText();
                     List<Image> collect = t3.stream().filter(fff -> !listImg.contains(fff.id())).toList();
-                    Image image1 = collect.get(RandomUtil.randomInt(0, collect.size()));
-                    listImg.add(image1.id());
+                    if (!collect.isEmpty()) {
+                        Image image1 = collect.get(RandomUtil.randomInt(0, collect.size()));
+                        listImg.add(image1.id());
+                        h5ImageAndText.setImage(image1.image());
+                    }
                     List<Material> collect1 = t4.stream().filter(fff -> !listTxt.contains(fff.id())).toList();
-                    Material material = collect1.get(RandomUtil.randomInt(0, collect1.size()));
-                    listTxt.add(material.id());
-                    H5ImageAndText h5ImageAndText = new H5ImageAndText();
-                    h5ImageAndText.setImage(image1.image());
-                    h5ImageAndText.setName(material.content());
-                    h5ImageAndText.setRemark(material.remark());
+                    if (!collect1.isEmpty()) {
+                        Material material = collect1.get(RandomUtil.randomInt(0, collect1.size()));
+                        listTxt.add(material.id());
+                        h5ImageAndText.setName(material.content());
+                        h5ImageAndText.setRemark(material.remark());
+                    }
                     h5ImageAndTexts.add(h5ImageAndText);
                 });
                 return Mono.just(h5ImageAndTexts);
@@ -678,7 +687,7 @@ public class PlanNewCommonOutController {
     private Mono<PlanNewCommonShareRes> setAudioV(PlanNewCommonShareReq request, Mono<PlanNewCommonShareRes> resMono) {
         Mono<PlanNewCommonShareRes> zip = resMono.flatMap(f -> {
             Mono<Audio> id = null;
-            if (Objects.nonNull(request.getWx_user_id()) && !request.getWx_user_id().isEmpty() && 3 != f.getPlanNew().type() ) {
+            if (Objects.nonNull(request.getWx_user_id()) && !request.getWx_user_id().isEmpty() && 3 != f.getPlanNew().type()) {
                 PlanNewBackgroupPoster qsSetting = f.getQsSetting();
                 if (Objects.nonNull(qsSetting) && Objects.nonNull(qsSetting.audioId()) && 0 != qsSetting.audioId()) {
                     id = template.selectOne(Query.query(Criteria.where("id").is(qsSetting.audioId()).and("deleted_at").isNull()), Audio.class);