记得上下班打卡 | git大法好,push需谨慎

Commit 2188d047 authored by 张国柄's avatar 张国柄

+券列表降级API;

parent 5663361a
package com.liquidnet.service.feign.platform.api;
import com.liquidnet.service.base.ResponseDto;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Component
@FeignClient(
name = "liquidnet-service-platform",
contextId = "FeignPlatformCandyDemoteClient",
path = "platform",
url = "${liquidnet.service.platform.url}",
fallback = FallbackFactory.Default.class
)
public interface FeignPlatformCandyDemoteClient {
@GetMapping("cdemote/ucoupon")
ResponseDto<Object> queryForUserCouponBasicDto(@RequestParam("currentUid") String currentUid);
@GetMapping("cdemote/ccoupon")
ResponseDto<Object> queryForCommonCouponBasicDto(@RequestParam("ucreatedAtStr") String ucreatedAtStr);
}
......@@ -5,12 +5,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.core.env.Environment;
import java.net.InetAddress;
import java.util.Arrays;
@Slf4j
@EnableFeignClients
@SpringBootApplication(scanBasePackages = {"com.liquidnet"})
public class ServiceCandyApplication implements CommandLineRunner {
@Autowired
......
package com.liquidnet.service.candy.util;
import com.liquidnet.service.candy.dto.CandyCommonCouponBasicDto;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
import com.liquidnet.service.candy.vo.CandyCouponPreVo;
import com.liquidnet.service.candy.vo.CandyCouponRulesVo;
import com.liquidnet.service.candy.vo.CandyCouponVo;
......@@ -7,10 +9,20 @@ import com.liquidnet.service.candy.vo.CandyCouponVo;
import java.util.ArrayList;
public class ObjectUtil {
private static final ArrayList<CandyUserCouponBasicDto> candyUserCouponBasicDtoArrayList = new ArrayList<>();
private static final ArrayList<CandyCommonCouponBasicDto> candyCommonCouponBasicDtoArrayList = new ArrayList<>();
private static final ArrayList<CandyCouponVo> candyCouponVoArrayList = new ArrayList<>();
private static final ArrayList<CandyCouponPreVo> candyCouponPreVoArrayList = new ArrayList<>();
private static final ArrayList<CandyCouponRulesVo> candyCouponRulesVos = new ArrayList<>();
public static ArrayList<CandyUserCouponBasicDto> getCandyUserCouponBasicDtoArrayList() {
return (ArrayList<CandyUserCouponBasicDto>) candyUserCouponBasicDtoArrayList.clone();
}
public static ArrayList<CandyCommonCouponBasicDto> getCandyCommonCouponBasicDtoArrayList() {
return (ArrayList<CandyCommonCouponBasicDto>) candyCommonCouponBasicDtoArrayList.clone();
}
public static ArrayList<CandyCouponVo> getCandyCouponVoArrayList() {
return (ArrayList<CandyCouponVo>) candyCouponVoArrayList.clone();
}
......
package com.liquidnet.service.candy.util;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.constant.CandyRedisConst;
import com.liquidnet.service.candy.dto.CandyCommonCouponBasicDto;
import com.liquidnet.service.candy.dto.CandyCouponCodeDto;
import com.liquidnet.service.candy.dto.CandyCouponInfoDto;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
import com.liquidnet.service.feign.platform.api.FeignPlatformCandyDemoteClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -22,6 +25,8 @@ public class RedisDataUtils {
@Autowired
RedisUtil redisUtil;
@Autowired
FeignPlatformCandyDemoteClient feignPlatformCandyDemoteClient;
// 获取 CandyUserCouponBasicDto数组 根据用户id
public List<CandyUserCouponBasicDto> getCouponByUid(String uid, LocalDateTime userCreateTime) {
......@@ -35,14 +40,25 @@ public class RedisDataUtils {
List<CandyCommonCouponBasicDto> pubDto;
if (obj == null) {
//降级
userDto = new ArrayList();
// userDto = new ArrayList();
ResponseDto<Object> responseDto = feignPlatformCandyDemoteClient.queryForUserCouponBasicDto(uid);
if (responseDto.isSuccess()) {
userDto = (List<CandyUserCouponBasicDto>) responseDto.getData();
} else {
userDto = ObjectUtil.getCandyUserCouponBasicDtoArrayList();
}
} else {
userDto = (List<CandyUserCouponBasicDto>) obj;
}
if (obj2 == null) {
//降级
pubDto = new ArrayList();
ResponseDto<Object> responseDto = feignPlatformCandyDemoteClient.queryForCommonCouponBasicDto(DateUtil.Formatter.yyyyMMddHHmmss.format(userCreateTime));
if (responseDto.isSuccess()) {
pubDto = (List<CandyCommonCouponBasicDto>) responseDto.getData();
} else {
pubDto = ObjectUtil.getCandyCommonCouponBasicDtoArrayList();
}
} else {
pubDto = (List<CandyCommonCouponBasicDto>) obj2;
}
......
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