1、openapi模块实现舔狗日记文案

pull/254/head
xjs 4 years ago
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,9 +134,11 @@ public class ApiLogAspect {
entity.setRequest(objects.toJSONString()); entity.setRequest(objects.toJSONString());
} }
} else { } else {
if(args.length>0){
String jsonString = JSON.toJSONString(args[0]); String jsonString = JSON.toJSONString(args[0]);
entity.setRequest(jsonString); entity.setRequest(jsonString);
} }
}
entity.setMethod(apiLog.method()); entity.setMethod(apiLog.method());
if (Objects.nonNull(jsonResult)) { if (Objects.nonNull(jsonResult)) {
entity.setResponse(jsonResult.toString()); entity.setResponse(jsonResult.toString());

@ -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…
Cancel
Save