parent
60f76ee94a
commit
a59963be41
|
|
@ -21,6 +21,9 @@ public class ApiRecord implements Serializable {
|
|||
/** api地址 */
|
||||
private String apiUrl;
|
||||
|
||||
/** api每天请求次数 */
|
||||
private Long dayCount;
|
||||
|
||||
/**
|
||||
* 请求耗费时间
|
||||
*/
|
||||
|
|
@ -99,4 +102,12 @@ public class ApiRecord implements Serializable {
|
|||
public void setRequestTime(Integer requestTime) {
|
||||
this.requestTime = requestTime;
|
||||
}
|
||||
|
||||
public Long getDayCount() {
|
||||
return dayCount;
|
||||
}
|
||||
|
||||
public void setDayCount(Long dayCount) {
|
||||
this.dayCount = dayCount;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@ module.exports = {
|
|||
],
|
||||
},
|
||||
chainWebpack(config) {
|
||||
config.plugins.delete('preload') // TODO: need test
|
||||
config.plugins.delete('prefetch') // TODO: need test
|
||||
config.plugins.delete('preload')
|
||||
config.plugins.delete('prefetch')
|
||||
|
||||
// set svg-sprite-loader
|
||||
config.module
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
|
|||
log.info("start insert fill ....");
|
||||
//this.setFieldValByName("createTime", new Date(), metaObject);
|
||||
this.strictInsertFill(metaObject, "createTime", Date.class,new Date()); // 起始版本 3.3.3(推荐)
|
||||
this.strictInsertFill(metaObject, "updateTime", Date.class,new Date());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
package com.xjs.utils;
|
||||
|
||||
import cn.hutool.core.date.DateUnit;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author xiejs
|
||||
|
|
@ -17,4 +19,12 @@ class ChineseUtilTest {
|
|||
System.out.println(b);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void test2() {
|
||||
long between = DateUtil
|
||||
.between(new Date(), DateUtil.parseDate("2021-12-31 23:59:59").toJdkDate(), DateUnit.DAY);
|
||||
System.out.println(between);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package com.xjs.common.aop;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUnit;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.xjs.business.warning.RemoteWarningCRUDFeign;
|
||||
|
|
@ -20,6 +21,7 @@ import java.lang.annotation.Annotation;
|
|||
import java.lang.reflect.Method;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
|
@ -142,12 +144,29 @@ public class ApiLogAspect {
|
|||
if (CollUtil.isEmpty(data)) {
|
||||
//设置初始请求次数
|
||||
apiRecord.setTotalCount(1L);
|
||||
apiRecord.setDayCount(1L);
|
||||
remoteWarningCRUDFeign.saveApiRecord(apiRecord);
|
||||
}else {
|
||||
ApiRecord haveApiRecord = data.get(0);
|
||||
|
||||
haveApiRecord.setRequestTime((int) between);
|
||||
haveApiRecord.setTotalCount(haveApiRecord.getTotalCount()+1L);
|
||||
//统计当前的请求次数,隔天清零
|
||||
haveApiRecord.setDayCount(haveApiRecord.getDayCount()+1L);
|
||||
Date updateTime = haveApiRecord.getUpdateTime();
|
||||
//当前时间和最后一次修改时间间隔天数(超过1 就清零)
|
||||
long compareTime = DateUtil.between(new Date(), updateTime, DateUnit.DAY);
|
||||
if (compareTime > 0) {
|
||||
haveApiRecord.setDayCount(0L);
|
||||
}
|
||||
remoteWarningCRUDFeign.updateApiRecord(haveApiRecord);
|
||||
//判断接口请求是否超过阈值
|
||||
if (haveApiRecord.getDayCount() > haveApiRecord.getLimitCount()) {
|
||||
//TODO 把记录添加到预警表中
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,6 +55,9 @@ public class ApiRecord implements Serializable {
|
|||
@Excel(name = "api限制请求次数每天")
|
||||
private Long limitCount;
|
||||
|
||||
@Excel(name = "api每天请求次数")
|
||||
private Long dayCount;
|
||||
|
||||
@Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createTime;
|
||||
|
|
|
|||
Loading…
Reference in New Issue