记得上下班打卡 | 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; ...@@ -5,12 +5,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
import java.net.InetAddress; import java.net.InetAddress;
import java.util.Arrays; import java.util.Arrays;
@Slf4j @Slf4j
@EnableFeignClients
@SpringBootApplication(scanBasePackages = {"com.liquidnet"}) @SpringBootApplication(scanBasePackages = {"com.liquidnet"})
public class ServiceCandyApplication implements CommandLineRunner { public class ServiceCandyApplication implements CommandLineRunner {
@Autowired @Autowired
......
package com.liquidnet.service.candy.util; 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.CandyCouponPreVo;
import com.liquidnet.service.candy.vo.CandyCouponRulesVo; import com.liquidnet.service.candy.vo.CandyCouponRulesVo;
import com.liquidnet.service.candy.vo.CandyCouponVo; import com.liquidnet.service.candy.vo.CandyCouponVo;
...@@ -7,10 +9,20 @@ import com.liquidnet.service.candy.vo.CandyCouponVo; ...@@ -7,10 +9,20 @@ import com.liquidnet.service.candy.vo.CandyCouponVo;
import java.util.ArrayList; import java.util.ArrayList;
public class ObjectUtil { 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<CandyCouponVo> candyCouponVoArrayList = new ArrayList<>();
private static final ArrayList<CandyCouponPreVo> candyCouponPreVoArrayList = new ArrayList<>(); private static final ArrayList<CandyCouponPreVo> candyCouponPreVoArrayList = new ArrayList<>();
private static final ArrayList<CandyCouponRulesVo> candyCouponRulesVos = 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() { public static ArrayList<CandyCouponVo> getCandyCouponVoArrayList() {
return (ArrayList<CandyCouponVo>) candyCouponVoArrayList.clone(); return (ArrayList<CandyCouponVo>) candyCouponVoArrayList.clone();
} }
......
package com.liquidnet.service.candy.util; package com.liquidnet.service.candy.util;
import com.liquidnet.common.cache.redis.util.RedisUtil; 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.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.constant.CandyRedisConst; import com.liquidnet.service.candy.constant.CandyRedisConst;
import com.liquidnet.service.candy.dto.CandyCommonCouponBasicDto; import com.liquidnet.service.candy.dto.CandyCommonCouponBasicDto;
import com.liquidnet.service.candy.dto.CandyCouponCodeDto; import com.liquidnet.service.candy.dto.CandyCouponCodeDto;
import com.liquidnet.service.candy.dto.CandyCouponInfoDto; import com.liquidnet.service.candy.dto.CandyCouponInfoDto;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto; import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
import com.liquidnet.service.feign.platform.api.FeignPlatformCandyDemoteClient;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -22,6 +25,8 @@ public class RedisDataUtils { ...@@ -22,6 +25,8 @@ public class RedisDataUtils {
@Autowired @Autowired
RedisUtil redisUtil; RedisUtil redisUtil;
@Autowired
FeignPlatformCandyDemoteClient feignPlatformCandyDemoteClient;
// 获取 CandyUserCouponBasicDto数组 根据用户id // 获取 CandyUserCouponBasicDto数组 根据用户id
public List<CandyUserCouponBasicDto> getCouponByUid(String uid, LocalDateTime userCreateTime) { public List<CandyUserCouponBasicDto> getCouponByUid(String uid, LocalDateTime userCreateTime) {
...@@ -35,14 +40,25 @@ public class RedisDataUtils { ...@@ -35,14 +40,25 @@ public class RedisDataUtils {
List<CandyCommonCouponBasicDto> pubDto; List<CandyCommonCouponBasicDto> pubDto;
if (obj == null) { 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 { } else {
userDto = (List<CandyUserCouponBasicDto>) obj; userDto = (List<CandyUserCouponBasicDto>) obj;
} }
if (obj2 == null) { 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 { } else {
pubDto = (List<CandyCommonCouponBasicDto>) obj2; 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