diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java index 0f5de6f6..5ee35311 100644 --- a/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java @@ -70,6 +70,8 @@ public class ApiConst { public static final String LQ_DOG_DIARY = "零七-舔狗日记"; + public static final String LQ_POISON_CHICKEN = "零七-毒鸡汤"; + //-------------------url------------------------------ @@ -164,6 +166,11 @@ public class ApiConst { */ public static final String LQ_DOG_DIARY_URL = "https://api.oick.cn/dog/api.php"; + /** + *https://api.oick.cn/dutang/ + */ + public static final String LQ_POISON_CHICKEN_URL = "https://api.oick.cn/dutang/api.php"; + diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/TianXingConst.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/TianXingConst.java index 3f1ec0a5..a0a35162 100644 --- a/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/TianXingConst.java +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/TianXingConst.java @@ -29,4 +29,6 @@ public class TianXingConst { //舔狗日记 public static final Integer TGRJ= 6; + //毒鸡汤 + public static final Integer DJT= 7; } diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/api/lq/LqPoisonChickenFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/api/lq/LqPoisonChickenFeignClient.java new file mode 100644 index 00000000..063494a1 --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/api/lq/LqPoisonChickenFeignClient.java @@ -0,0 +1,24 @@ +package com.xjs.common.client.api.lq; + +import com.xjs.annotation.ApiLog; +import com.xjs.common.client.factory.LqPoisonChickenFeignFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +import static com.xjs.consts.ApiConst.LQ_POISON_CHICKEN; +import static com.xjs.consts.ApiConst.LQ_POISON_CHICKEN_URL; + +/** + * 零七平台 毒鸡汤 feign + * @author xiejs + * @since 2022-02-14 + */ +@FeignClient(name = "lqPoisonChicken", url = LQ_POISON_CHICKEN_URL, fallbackFactory = LqPoisonChickenFeignFactory.class) +public interface LqPoisonChickenFeignClient { + + @GetMapping() + @ApiLog(name = LQ_POISON_CHICKEN, + url = LQ_POISON_CHICKEN_URL, + method = "Get") + String poisonChickenApi(); +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/LqPoisonChickenFeignFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/LqPoisonChickenFeignFactory.java new file mode 100644 index 00000000..c183e679 --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/LqPoisonChickenFeignFactory.java @@ -0,0 +1,23 @@ +package com.xjs.common.client.factory; + +import com.xjs.common.client.api.lq.LqPoisonChickenFeignClient; +import lombok.extern.log4j.Log4j2; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * @author xiejs + * @since 2022-02-14 + */ +@Component +@Log4j2 +public class LqPoisonChickenFeignFactory implements FallbackFactory { + + @Override + public LqPoisonChickenFeignClient create(Throwable cause) { + log.error("api模块零七-毒鸡汤服务调用失败:{},执行降级处理", cause.getMessage()); + return () -> { + return ""; + }; + } +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/controller/CopyWritingController.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/controller/CopyWritingController.java index 8a294294..82ca34b7 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/controller/CopyWritingController.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/controller/CopyWritingController.java @@ -51,6 +51,8 @@ public class CopyWritingController extends BaseController { private CopyWritingService copyWritingService; @Autowired private CopyWritingFactory lqDogDiaryCopyWritingFactory; + @Autowired + private CopyWritingFactory lqPoisonChickenWritingFactory; @GetMapping @@ -102,6 +104,7 @@ public class CopyWritingController extends BaseController { factories.add(tianXingMMMYCopyWritingFactory); factories.add(rollMMYJCopyWritingFactory); factories.add(lqDogDiaryCopyWritingFactory); + factories.add(lqPoisonChickenWritingFactory); //--------add----------------------------;- //随机调用集合中的接口 return RandomUtil.randomEle(factories); diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/LqDogDiaryCopyWritingFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/LqDogDiaryCopyWritingFactory.java index 05f84872..c02829c0 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/LqDogDiaryCopyWritingFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/LqDogDiaryCopyWritingFactory.java @@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** + * 零七平台 舔狗日记api工厂实现 * @author xiejs * @since 2022-02-14 */ diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/LqPoisonChickenWritingFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/LqPoisonChickenWritingFactory.java new file mode 100644 index 00000000..30f0e6f9 --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/copywriting/factory/impl/LqPoisonChickenWritingFactory.java @@ -0,0 +1,42 @@ +package com.xjs.copywriting.factory.impl; + +import com.xjs.common.client.api.lq.LqPoisonChickenFeignClient; +import com.xjs.consts.TianXingConst; +import com.xjs.copywriting.domain.CopyWriting; +import com.xjs.copywriting.domain.RequestBody; +import com.xjs.copywriting.factory.CopyWritingFactory; +import com.xjs.copywriting.service.CopyWritingService; +import com.xjs.exception.ApiException; +import lombok.extern.log4j.Log4j2; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 零七平台 毒鸡汤api工厂实现 + * @author xiejs + * @since 2022-02-14 + */ +@Component +@Log4j2 +public class LqPoisonChickenWritingFactory implements CopyWritingFactory { + + @Autowired + private CopyWritingService copyWritingService; + @Autowired + private LqPoisonChickenFeignClient lqPoisonChickenFeignClient; + + @Override + public CopyWriting productCopyWriting(RequestBody requestBody) { + String data = lqPoisonChickenFeignClient.poisonChickenApi(); + if (StringUtils.isEmpty(data)) { + throw new ApiException("零七-毒鸡汤接口调用异常"); + } + CopyWriting copyWriting = new CopyWriting(); + copyWriting.setContent(data); + copyWriting.setSource("毒鸡汤"); + copyWriting.setType(TianXingConst.DJT); + copyWritingService.save(copyWriting); + return copyWriting; + } +}