parent
2789140740
commit
c0cce9fb0b
@ -0,0 +1,44 @@
|
||||
package com.xjs.apitools.service.impl;
|
||||
|
||||
import com.xjs.apitools.domain.ApiHoliday;
|
||||
import com.xjs.apitools.factory.ApiToolsFactory;
|
||||
import com.xjs.apitools.factory.impl.RollHolidayFactory;
|
||||
import com.xjs.apitools.service.ApiToolsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* api工具服务实现
|
||||
*
|
||||
* @author xiejs
|
||||
* @since 2022-01-18
|
||||
*/
|
||||
@Service
|
||||
public class ApiToolsServiceImpl implements ApiToolsService {
|
||||
|
||||
private ApiToolsFactory<ApiHoliday, Object> holidayFactory;
|
||||
|
||||
@Autowired
|
||||
public void setHolidayFactory(RollHolidayFactory rollHolidayFactory) {
|
||||
this.holidayFactory = rollHolidayFactory;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<ApiHoliday> getApiHolidayList() {
|
||||
List<ApiHoliday> apiHolidayList = holidayFactory.apiDataList();
|
||||
List<ApiHoliday> collect = apiHolidayList.stream().map(holidayFactory -> {
|
||||
if (holidayFactory.getResidueDays() >= 0) {
|
||||
return holidayFactory;
|
||||
}else {
|
||||
return null;
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
collect.removeIf(Objects::isNull);
|
||||
return collect;
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.xjs.common.client.api.roll;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.xjs.annotation.ApiLog;
|
||||
import com.xjs.common.client.factory.RollHolidayFeignFactory;
|
||||
import com.xjs.copywriting.domain.RequestBody;
|
||||
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_HOLIDAYS;
|
||||
import static com.xjs.consts.ApiConst.ROLL_HOLIDAYS_URL;
|
||||
|
||||
/**
|
||||
* roll节假日api接口feign远程调用
|
||||
* @author xiejs
|
||||
* @since 2022-01-18
|
||||
*/
|
||||
@FeignClient(name = "rollHoliday", url = ROLL_HOLIDAYS_URL, fallbackFactory = RollHolidayFeignFactory.class)
|
||||
public interface RollHolidayFeignClient {
|
||||
|
||||
@GetMapping()
|
||||
@ApiLog(name = ROLL_HOLIDAYS,
|
||||
url = ROLL_HOLIDAYS_URL,
|
||||
method = "Get")
|
||||
JSONObject holidayApi(@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.RollHolidayFeignClient;
|
||||
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节假日api feign 降级
|
||||
* @author xiejs
|
||||
* @since 2022-01-18
|
||||
*/
|
||||
@Component
|
||||
@Log4j2
|
||||
public class RollHolidayFeignFactory implements FallbackFactory<RollHolidayFeignClient> {
|
||||
@Override
|
||||
public RollHolidayFeignClient create(Throwable cause) {
|
||||
log.error("api模块roll 节假日服务调用失败:{},执行降级处理", cause.getMessage());
|
||||
return requestBody -> {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put(DEMOTE_ERROR, R.FAIL);
|
||||
return jsonObject;
|
||||
};
|
||||
}
|
||||
}
|
Loading…
Reference in new issue