Commit 082c1939 authored by 黎博's avatar 黎博

新增删缓存接口

parent 2d5c6c39
package cn.qg.holmes.controller.effect;
import cn.qg.holmes.common.JsonResult;
import cn.qg.holmes.entity.effect.ClearCache;
import cn.qg.holmes.service.effect.ClearCacheService;
import cn.qg.holmes.utils.HttpClientUtils;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@Slf4j
@CrossOrigin
@RestController
@RequestMapping("/effect")
public class EffectController {
@Autowired
ClearCacheService clearCacheService;
/**
* 获取清缓存实体列表
* @return
*/
@GetMapping("/cacheList")
public JsonResult getCacheList() {
return JsonResult.buildSuccessResult(clearCacheService.list());
}
/**
* 清缓存
* @param id 缓存id
* @param namespace 环境
* @return
*/
@GetMapping("/clearcache")
public JsonResult clearCache(Integer id, String namespace) {
ClearCache clearCache = clearCacheService.getById(id);
log.info("开始清除{}环境的{}缓存", namespace, clearCache.getName());
String url = clearCache.getUrl();
String result = HttpClientUtils.doGet(url.replace("{NAMESPACE}", namespace));
log.info("{}环境的{}缓存清除结果为:{}", namespace, clearCache.getName(), result);
return JsonResult.buildSuccessResult(JSON.parseObject(result, Map.class));
}
}
package cn.qg.holmes.entity.effect;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* 测试环境清缓存实体类
*/
@Data
public class ClearCache {
@TableId(type = IdType.AUTO)
private Integer id;
private String name;
private String url;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
package cn.qg.holmes.mapper.effect;
import cn.qg.holmes.entity.effect.ClearCache;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface ClearCacheMapper extends BaseMapper<ClearCache> {
}
package cn.qg.holmes.service.effect;
import cn.qg.holmes.entity.effect.ClearCache;
import com.baomidou.mybatisplus.extension.service.IService;
public interface ClearCacheService extends IService<ClearCache> {
}
package cn.qg.holmes.service.effect.impl;
import cn.qg.holmes.entity.effect.ClearCache;
import cn.qg.holmes.mapper.effect.ClearCacheMapper;
import cn.qg.holmes.service.effect.ClearCacheService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service
public class ClearCacheServiceImpl extends ServiceImpl<ClearCacheMapper, ClearCache> implements ClearCacheService {
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment