Search in sources :

Example 1 with SysApi

use of vip.mate.system.entity.SysApi in project matecloud by matevip.

the class SysApiController method sync.

/**
 * 从redis同步api至数据库
 *
 * @return Boolean
 */
@PreAuth
@PostMapping("/sync")
@ApiOperation(value = "API同步")
@Log(value = "API同步")
public Result<?> sync() {
    Set<Object> serviceIds = redisService.sGet(MateConstant.MATE_SERVICE_RESOURCE);
    for (Object service : serviceIds) {
        if (redisService.hHasKey(MateConstant.MATE_API_RESOURCE, service.toString())) {
            Map<String, Object> apiMap = (Map<String, Object>) redisService.hget(MateConstant.MATE_API_RESOURCE, service.toString());
            List<Map<String, String>> list = (List<Map<String, String>>) apiMap.get("list");
            list.forEach(item -> {
                SysApi sysApi = new SysApi();
                sysApi.setAuth(item.get("auth"));
                sysApi.setClassName(item.get("className"));
                sysApi.setCode(item.get("code"));
                sysApi.setContentType(item.get("contentType"));
                sysApi.setMethod(item.get("method"));
                sysApi.setMethodName(item.get("methodName"));
                sysApi.setName(item.get("name"));
                sysApi.setNotes(item.get("notes"));
                sysApi.setPath(item.get("path"));
                sysApi.setServiceId(item.get("serviceId"));
                SysApi exist = sysApiService.getByCode(sysApi.getCode());
                if (ObjectUtils.isEmpty(exist)) {
                    sysApiService.save(sysApi);
                } else {
                    LambdaQueryWrapper<SysApi> queryWrapper = new LambdaQueryWrapper<>();
                    queryWrapper.eq(SysApi::getCode, sysApi.getCode());
                    sysApiService.update(sysApi, queryWrapper);
                }
            });
        }
        redisService.hdel(MateConstant.MATE_API_RESOURCE, service.toString());
    }
    redisService.del(MateConstant.MATE_SERVICE_RESOURCE);
    return Result.condition(true);
}
Also used : List(java.util.List) Map(java.util.Map) SysApi(vip.mate.system.entity.SysApi) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper) PreAuth(vip.mate.core.auth.annotation.PreAuth) Log(vip.mate.core.log.annotation.Log) ApiOperation(io.swagger.annotations.ApiOperation)

Example 2 with SysApi

use of vip.mate.system.entity.SysApi in project matecloud by matevip.

the class SysApiServiceImpl method status.

@Override
public boolean status(String ids, String status) {
    Collection<? extends Serializable> collection = CollectionUtil.stringToCollection(ids);
    for (Object id : collection) {
        SysApi sysApi = this.baseMapper.selectById(CollectionUtil.objectToLong(id, 0L));
        sysApi.setStatus(status);
        this.baseMapper.updateById(sysApi);
    }
    return true;
}
Also used : SysApi(vip.mate.system.entity.SysApi)

Aggregations

SysApi (vip.mate.system.entity.SysApi)2 LambdaQueryWrapper (com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper)1 ApiOperation (io.swagger.annotations.ApiOperation)1 List (java.util.List)1 Map (java.util.Map)1 PreAuth (vip.mate.core.auth.annotation.PreAuth)1 Log (vip.mate.core.log.annotation.Log)1