parent
70c373401e
commit
f53394410b
@ -0,0 +1,30 @@
|
||||
package com.xjs.business.warning;
|
||||
|
||||
import com.ruoyi.common.core.constant.ServiceNameConstants;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.xjs.business.warning.domain.ApiRecord;
|
||||
import com.xjs.business.warning.factory.RemoteWarningCRUDFactory;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
/**
|
||||
* @author xiejs
|
||||
* @desc 远程rpc调用预警服务crud接口
|
||||
* @create 2021-12-31
|
||||
*/
|
||||
@FeignClient(contextId = "remoteWarningCRUDFeign",
|
||||
value = ServiceNameConstants.BUSINESS_WARNING_SERVICE,
|
||||
fallbackFactory = RemoteWarningCRUDFactory.class)
|
||||
public interface RemoteWarningCRUDFeign {
|
||||
|
||||
@PostMapping
|
||||
public R<ApiRecord> saveApiRecord(@RequestBody ApiRecord apiRecord);
|
||||
|
||||
|
||||
@PutMapping
|
||||
public R<ApiRecord> updateApiRecord(@RequestBody ApiRecord apiRecord);
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,89 @@
|
||||
package com.xjs.business.warning.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author xiejs
|
||||
* @desc api记录实体类
|
||||
* @create 2021-12-31
|
||||
*/
|
||||
public class ApiRecord implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键id */
|
||||
private Long id;
|
||||
|
||||
/** api名称 */
|
||||
private String apiName;
|
||||
|
||||
/** api地址 */
|
||||
private String apiUrl;
|
||||
|
||||
/** api总请求次数 */
|
||||
private Long totalCount;
|
||||
|
||||
/** api限制请求次数每天 */
|
||||
private Long limitCount;
|
||||
|
||||
private Date createTime;
|
||||
|
||||
private Date updateTime;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getApiName() {
|
||||
return apiName;
|
||||
}
|
||||
|
||||
public void setApiName(String apiName) {
|
||||
this.apiName = apiName;
|
||||
}
|
||||
|
||||
public String getApiUrl() {
|
||||
return apiUrl;
|
||||
}
|
||||
|
||||
public void setApiUrl(String apiUrl) {
|
||||
this.apiUrl = apiUrl;
|
||||
}
|
||||
|
||||
public Long getTotalCount() {
|
||||
return totalCount;
|
||||
}
|
||||
|
||||
public void setTotalCount(Long totalCount) {
|
||||
this.totalCount = totalCount;
|
||||
}
|
||||
|
||||
public Long getLimitCount() {
|
||||
return limitCount;
|
||||
}
|
||||
|
||||
public void setLimitCount(Long limitCount) {
|
||||
this.limitCount = limitCount;
|
||||
}
|
||||
|
||||
public Date getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
public void setCreateTime(Date createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
public Date getUpdateTime() {
|
||||
return updateTime;
|
||||
}
|
||||
|
||||
public void setUpdateTime(Date updateTime) {
|
||||
this.updateTime = updateTime;
|
||||
}
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package com.xjs.business.warning.factory;
|
||||
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.xjs.business.warning.RemoteWarningCRUDFeign;
|
||||
import com.xjs.business.warning.domain.ApiRecord;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.cloud.openfeign.FallbackFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author xiejs
|
||||
* @desc 调用预警服务降级处理
|
||||
* @create 2021-12-31
|
||||
*/
|
||||
@Component
|
||||
public class RemoteWarningCRUDFactory implements FallbackFactory<RemoteWarningCRUDFeign> {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(RemoteWarningCRUDFactory.class);
|
||||
|
||||
@Override
|
||||
public RemoteWarningCRUDFeign create(Throwable cause) {
|
||||
return new RemoteWarningCRUDFeign() {
|
||||
@Override
|
||||
public R<ApiRecord> saveApiRecord(ApiRecord apiRecord) {
|
||||
log.error("调用预警服务添加接口失败----"+apiRecord.getApiName());
|
||||
return R.fail();
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<ApiRecord> updateApiRecord(ApiRecord apiRecord) {
|
||||
log.error("调用预警服务修改接口失败----"+apiRecord.getApiName());
|
||||
return R.fail();
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package com.xjs.controller;
|
||||
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
import com.xjs.domain.ApiRecord;
|
||||
import com.xjs.service.ApiWarningService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author xiejs
|
||||
* @desc api预警控制器
|
||||
* @create 2021-12-31
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("apiwarning")
|
||||
public class ApiWarningController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private ApiWarningService apiWarningService;
|
||||
|
||||
/**
|
||||
* 保存 apiRecord
|
||||
* @param apiRecord api记录
|
||||
* @return apiRecord
|
||||
*/
|
||||
@PostMapping
|
||||
public R<ApiRecord> saveApiRecord(@RequestBody ApiRecord apiRecord) {
|
||||
return apiWarningService.saveApiRecord(apiRecord) ? R.ok() : R.fail();
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
public R<ApiRecord> updateApiRecord(@RequestBody ApiRecord apiRecord) {
|
||||
return apiWarningService.updateApiRecord(apiRecord)? R.ok() : R.fail();
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in new issue