1、页面右上角空值时提示

2、apiaop预警时初始化限定值
3、roll平台垃圾分类api接口调用实现接口
pull/254/head
xjs 4 years ago
parent f6e3528fea
commit 7a5f4afb0c

@ -237,6 +237,8 @@ export default {
if (json.warningMessage !== undefined) {
// this.visible = true
return json.warningMessage
}else {
return '暂无提示!!!'
}
}
},

@ -178,8 +178,8 @@ export default {
watch: {
'dict.type.translation_type'(newVal) {
if (newVal[0]) {
this.translationData.translationType= newVal[0].value
if (newVal[2]) {
this.translationData.translationType= newVal[2].value
}
}
},

@ -56,6 +56,8 @@ public class ApiConst {
public static final String ROLL_FORECAST_WEATHER = "ROLL-预报天气";
public static final String ROLL_GARBAGE_SORTING = "ROLL-垃圾分类";
//-------------------url------------------------------
@ -115,6 +117,11 @@ public class ApiConst {
*/
public static final String ROLL_WEATHER_URL = "https://www.mxnzp.com/api/weather";
/**
* https://www.mxnzp.com/doc/detail?id=14
*/
public static final String ROLL_GARBAGE_SORTING_URL = "https://www.mxnzp.com/api/rubbish/type";

@ -3,10 +3,7 @@ package com.xjs.apitools.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.xjs.apitools.domain.ApiForecastWeather;
import com.xjs.apitools.domain.ApiHoliday;
import com.xjs.apitools.domain.ApiMobileBelong;
import com.xjs.apitools.domain.ApiNowWeather;
import com.xjs.apitools.domain.*;
import com.xjs.apitools.service.ApiToolsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -72,6 +69,14 @@ public class ApiToolsController {
}
@GetMapping("garbagesorting/{name}")
@ApiOperation("获取垃圾分类信息")
@Log(title = "获取垃圾分类")
public R<ApiGarbageSorting> getGarbageSortingApiData(@PathVariable("name") String name) {
return R.ok(apiToolsService.getGarbageSorting(name));
}
}

@ -0,0 +1,33 @@
package com.xjs.apitools.domain;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
/**
* api
*
* @author xiejs
* @since 2022-01-19
*/
@Data
public class ApiGarbageSorting implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
private Map<String, String> aim;
/**
*
*/
private Map<String, String> recommendList;
}

@ -30,4 +30,9 @@ public class RequestBody {
*
*/
private String city;
/**
*
*/
private String name;
}

@ -0,0 +1,42 @@
package com.xjs.apitools.factory.impl;
import com.alibaba.fastjson.JSONObject;
import com.xjs.apitools.domain.ApiGarbageSorting;
import com.xjs.apitools.domain.RequestBody;
import com.xjs.apitools.factory.ApiToolsFactory;
import com.xjs.common.client.api.roll.RollGarbageSortingDeignClient;
import com.xjs.config.RollProperties;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import static com.xjs.consts.ApiConst.DEMOTE_ERROR;
import static com.xjs.consts.ApiConst.ROLL_CODE_SUCCESS;
/**
* rollapi
* @author xiejs
* @since 2022-01-19
*/
@Component
@Log4j2
public class RollGarbageSortingFactory implements ApiToolsFactory<ApiGarbageSorting, RequestBody> {
@Autowired
private RollProperties rollProperties;
@Autowired
private RollGarbageSortingDeignClient rollGarbageSortingDeignClient;
@Override
public ApiGarbageSorting apiData(RequestBody req) {
req.setApp_secret(rollProperties.getApp_secret());
req.setApp_id(rollProperties.getApp_id());
JSONObject jsonObject = rollGarbageSortingDeignClient.garbageSortingApi(req);
if (!jsonObject.containsKey(DEMOTE_ERROR) && jsonObject.getInteger("code") == ROLL_CODE_SUCCESS.intValue()) {
JSONObject jsonData = jsonObject.getJSONObject("data");
return jsonData.toJavaObject(ApiGarbageSorting.class);
}
return null;
}
}

@ -1,9 +1,6 @@
package com.xjs.apitools.service;
import com.xjs.apitools.domain.ApiForecastWeather;
import com.xjs.apitools.domain.ApiHoliday;
import com.xjs.apitools.domain.ApiMobileBelong;
import com.xjs.apitools.domain.ApiNowWeather;
import com.xjs.apitools.domain.*;
import java.util.List;
@ -44,5 +41,13 @@ public interface ApiToolsService {
ApiForecastWeather getForecastWeather(String city);
/**
*
* @param name
* @return ApiGarbageSorting
*/
ApiGarbageSorting getGarbageSorting(String name);
}

@ -2,10 +2,7 @@ package com.xjs.apitools.service.impl;
import com.xjs.apitools.domain.*;
import com.xjs.apitools.factory.ApiToolsFactory;
import com.xjs.apitools.factory.impl.RollForecastWeatherFactory;
import com.xjs.apitools.factory.impl.RollHolidayFactory;
import com.xjs.apitools.factory.impl.RollMobileBelongFactory;
import com.xjs.apitools.factory.impl.RollNowWeatherFactory;
import com.xjs.apitools.factory.impl.*;
import com.xjs.apitools.service.ApiToolsService;
import com.xjs.exception.ApiException;
import org.springframework.beans.factory.annotation.Autowired;
@ -29,6 +26,7 @@ public class ApiToolsServiceImpl implements ApiToolsService {
private ApiToolsFactory<ApiMobileBelong, RequestBody> mobileBelongFactory;
private ApiToolsFactory<ApiNowWeather, RequestBody> nowWeatherFactory;
private ApiToolsFactory<ApiForecastWeather,RequestBody> forecastWeatherFactory;
private ApiToolsFactory<ApiGarbageSorting,RequestBody> garbageSortingFactory;
@Autowired
public void setHolidayFactory(RollHolidayFactory rollHolidayFactory) {
@ -50,6 +48,11 @@ public class ApiToolsServiceImpl implements ApiToolsService {
this.forecastWeatherFactory = rollForecastWeatherFactory;
}
@Autowired
public void setGarbageSortingFactory(RollGarbageSortingFactory rollGarbageSortingFactory) {
this.garbageSortingFactory = rollGarbageSortingFactory;
}
@Override
public List<ApiHoliday> getApiHolidayList() {
@ -89,4 +92,12 @@ public class ApiToolsServiceImpl implements ApiToolsService {
return Optional.ofNullable(forecastWeatherFactory.apiData(requestBody))
.orElseThrow(ApiException::new);
}
@Override
public ApiGarbageSorting getGarbageSorting(String name) {
RequestBody requestBody = new RequestBody();
requestBody.setName(name);
return Optional.ofNullable(garbageSortingFactory.apiData(requestBody))
.orElseThrow(ApiException::new);
}
}

@ -167,6 +167,7 @@ public class ApiLogAspect {
//设置初始请求次数
apiRecord.setTotalCount(1L);
apiRecord.setDayCount(1L);
apiRecord.setLimitCount(30L);
remoteWarningCRUDFeign.saveApiRecordForRPC(apiRecord);
} else {
ApiRecord haveApiRecord = data.get(0);

@ -0,0 +1,29 @@
package com.xjs.common.client.api.roll;
import com.alibaba.fastjson.JSONObject;
import com.xjs.annotation.ApiLog;
import com.xjs.apitools.domain.RequestBody;
import com.xjs.common.client.factory.RollGarbageSortingFeignFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping;
import static com.xjs.consts.ApiConst.ROLL_GARBAGE_SORTING;
import static com.xjs.consts.ApiConst.ROLL_GARBAGE_SORTING_URL;
/**
* roll apifeign
* @author xiejs
* @since 2022-01-19
*/
@FeignClient(name = "rollGarbageSorting", url = ROLL_GARBAGE_SORTING_URL, fallbackFactory = RollGarbageSortingFeignFactory.class)
public interface RollGarbageSortingDeignClient {
@GetMapping()
@ApiLog(name = ROLL_GARBAGE_SORTING,
url = ROLL_GARBAGE_SORTING_URL,
method = "Get")
JSONObject garbageSortingApi(@SpringQueryMap RequestBody requestBody);
}

@ -0,0 +1,29 @@
package com.xjs.common.client.factory;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.core.domain.R;
import com.xjs.common.client.api.roll.RollGarbageSortingDeignClient;
import lombok.extern.log4j.Log4j2;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import static com.xjs.consts.ApiConst.DEMOTE_ERROR;
/**
* roll apifeign
* @author xiejs
* @since 2022-01-19
*/
@Component
@Log4j2
public class RollGarbageSortingFeignFactory implements FallbackFactory<RollGarbageSortingDeignClient> {
@Override
public RollGarbageSortingDeignClient create(Throwable cause) {
log.error("api模块roll 垃圾分类服务调用失败:{},执行降级处理", cause.getMessage());
return requestBody -> {
JSONObject jsonObject = new JSONObject();
jsonObject.put(DEMOTE_ERROR, R.FAIL);
return jsonObject;
};
}
}
Loading…
Cancel
Save