1、openapi模块实现舔狗日记文案
This commit is contained in:
parent
6ce0420d2f
commit
7a708fef7c
|
|
@ -68,6 +68,8 @@ public class ApiConst {
|
||||||
|
|
||||||
public static final String ROLL_IDCARD_QUERY = "ROLL-身份证查询";
|
public static final String ROLL_IDCARD_QUERY = "ROLL-身份证查询";
|
||||||
|
|
||||||
|
public static final String LQ_DOG_DIARY = "零七-舔狗日记";
|
||||||
|
|
||||||
|
|
||||||
//-------------------url------------------------------
|
//-------------------url------------------------------
|
||||||
|
|
||||||
|
|
@ -157,6 +159,14 @@ public class ApiConst {
|
||||||
*/
|
*/
|
||||||
public static final String ROLL_IDCARD_QUERY_URL = "https://www.mxnzp.com/api/idcard/search";
|
public static final String ROLL_IDCARD_QUERY_URL = "https://www.mxnzp.com/api/idcard/search";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接口文档:https://api.oick.cn/dog/
|
||||||
|
*/
|
||||||
|
public static final String LQ_DOG_DIARY_URL = "https://api.oick.cn/dog/api.php";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-----------------------api请求参数常量-----------------------------
|
//-----------------------api请求参数常量-----------------------------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,4 +23,10 @@ public class TianXingConst {
|
||||||
|
|
||||||
//每日一句
|
//每日一句
|
||||||
public static final Integer MRYJ= 5;
|
public static final Integer MRYJ= 5;
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------零七平台-----------------------
|
||||||
|
|
||||||
|
//舔狗日记
|
||||||
|
public static final Integer TGRJ= 6;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ import com.xjs.consts.ReqConst;
|
||||||
import com.xjs.enums.WarnLevelEnum;
|
import com.xjs.enums.WarnLevelEnum;
|
||||||
import com.xjs.enums.WarnTypeEnum;
|
import com.xjs.enums.WarnTypeEnum;
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.log4j.Log4j2;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.aspectj.lang.JoinPoint;
|
import org.aspectj.lang.JoinPoint;
|
||||||
import org.aspectj.lang.ProceedingJoinPoint;
|
import org.aspectj.lang.ProceedingJoinPoint;
|
||||||
import org.aspectj.lang.Signature;
|
import org.aspectj.lang.Signature;
|
||||||
|
|
@ -79,6 +80,13 @@ public class ApiLogAspect {
|
||||||
warning(between, joinPoint);
|
warning(between, joinPoint);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//返回值为String情况
|
||||||
|
if (obj instanceof String) {
|
||||||
|
if (StringUtils.isNotEmpty(String.valueOf(obj))) {
|
||||||
|
warning(between, joinPoint);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
@ -126,8 +134,10 @@ public class ApiLogAspect {
|
||||||
entity.setRequest(objects.toJSONString());
|
entity.setRequest(objects.toJSONString());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
String jsonString = JSON.toJSONString(args[0]);
|
if(args.length>0){
|
||||||
entity.setRequest(jsonString);
|
String jsonString = JSON.toJSONString(args[0]);
|
||||||
|
entity.setRequest(jsonString);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
entity.setMethod(apiLog.method());
|
entity.setMethod(apiLog.method());
|
||||||
if (Objects.nonNull(jsonResult)) {
|
if (Objects.nonNull(jsonResult)) {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.xjs.common.client.api.lq;
|
||||||
|
|
||||||
|
import com.xjs.annotation.ApiLog;
|
||||||
|
import com.xjs.common.client.factory.LqDogDiaryFeignFactory;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
|
||||||
|
import static com.xjs.consts.ApiConst.LQ_DOG_DIARY;
|
||||||
|
import static com.xjs.consts.ApiConst.LQ_DOG_DIARY_URL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 零七平台 dog日记 feign
|
||||||
|
* @author xiejs
|
||||||
|
* @since 2022-02-14
|
||||||
|
*/
|
||||||
|
@FeignClient(name = "lqDogDiary", url = LQ_DOG_DIARY_URL, fallbackFactory = LqDogDiaryFeignFactory.class)
|
||||||
|
public interface LqDogDiaryFeignClient {
|
||||||
|
|
||||||
|
@GetMapping()
|
||||||
|
@ApiLog(name = LQ_DOG_DIARY,
|
||||||
|
url = LQ_DOG_DIARY_URL,
|
||||||
|
method = "Get")
|
||||||
|
String dogDiaryApi();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.xjs.common.client.factory;
|
||||||
|
|
||||||
|
import com.xjs.common.client.api.lq.LqDogDiaryFeignClient;
|
||||||
|
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 LqDogDiaryFeignFactory implements FallbackFactory<LqDogDiaryFeignClient> {
|
||||||
|
@Override
|
||||||
|
public LqDogDiaryFeignClient create(Throwable cause) {
|
||||||
|
log.error("api模块零七舔狗日记服务调用失败:{},执行降级处理", cause.getMessage());
|
||||||
|
return () -> {
|
||||||
|
return "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -49,6 +49,8 @@ public class CopyWritingController extends BaseController {
|
||||||
private CopyWritingFactory rollMMYJCopyWritingFactory;
|
private CopyWritingFactory rollMMYJCopyWritingFactory;
|
||||||
@Autowired
|
@Autowired
|
||||||
private CopyWritingService copyWritingService;
|
private CopyWritingService copyWritingService;
|
||||||
|
@Autowired
|
||||||
|
private CopyWritingFactory lqDogDiaryCopyWritingFactory;
|
||||||
|
|
||||||
|
|
||||||
@GetMapping
|
@GetMapping
|
||||||
|
|
@ -98,11 +100,8 @@ public class CopyWritingController extends BaseController {
|
||||||
factories.add(tianXingWYYCopyWritingFactory);
|
factories.add(tianXingWYYCopyWritingFactory);
|
||||||
factories.add(tianXingJDTCCopyWritingFactory);
|
factories.add(tianXingJDTCCopyWritingFactory);
|
||||||
factories.add(tianXingMMMYCopyWritingFactory);
|
factories.add(tianXingMMMYCopyWritingFactory);
|
||||||
factories.add(tianXingPYQCopyWritingFactory);
|
|
||||||
factories.add(tianXingWYYCopyWritingFactory);
|
|
||||||
factories.add(tianXingJDTCCopyWritingFactory);
|
|
||||||
factories.add(tianXingMMMYCopyWritingFactory);
|
|
||||||
factories.add(rollMMYJCopyWritingFactory);
|
factories.add(rollMMYJCopyWritingFactory);
|
||||||
|
factories.add(lqDogDiaryCopyWritingFactory);
|
||||||
//--------add----------------------------;-
|
//--------add----------------------------;-
|
||||||
//随机调用集合中的接口
|
//随机调用集合中的接口
|
||||||
return RandomUtil.randomEle(factories);
|
return RandomUtil.randomEle(factories);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.xjs.copywriting.factory.impl;
|
||||||
|
|
||||||
|
import com.xjs.common.client.api.lq.LqDogDiaryFeignClient;
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author xiejs
|
||||||
|
* @since 2022-02-14
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@Log4j2
|
||||||
|
public class LqDogDiaryCopyWritingFactory implements CopyWritingFactory {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CopyWritingService copyWritingService;
|
||||||
|
@Autowired
|
||||||
|
private LqDogDiaryFeignClient lqDogDiaryFeignClient;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CopyWriting productCopyWriting(RequestBody requestBody) {
|
||||||
|
String data = lqDogDiaryFeignClient.dogDiaryApi();
|
||||||
|
if (StringUtils.isEmpty(data)) {
|
||||||
|
throw new ApiException("零七-舔狗日记接口调用异常");
|
||||||
|
}
|
||||||
|
CopyWriting copyWriting = new CopyWriting();
|
||||||
|
copyWriting.setContent(data);
|
||||||
|
copyWriting.setSource("舔狗日记");
|
||||||
|
copyWriting.setType(TianXingConst.TGRJ);
|
||||||
|
|
||||||
|
copyWritingService.save(copyWriting);
|
||||||
|
return copyWriting;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.xjs.copywriting.factory.impl;
|
||||||
|
|
||||||
|
import com.xjs.XjsOpenApiApp;
|
||||||
|
import com.xjs.copywriting.domain.RequestBody;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author xiejs
|
||||||
|
* @since 2022-02-14
|
||||||
|
*/
|
||||||
|
@SpringBootTest(classes = XjsOpenApiApp.class)
|
||||||
|
class LqDogDiaryCopyWritingFactoryTest {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LqDogDiaryCopyWritingFactory lqDogDiaryCopyWritingFactory;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void productCopyWriting() {
|
||||||
|
lqDogDiaryCopyWritingFactory.productCopyWriting(new RequestBody());
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue