|
|
@ -70,15 +70,17 @@ public class AsyncFactory { |
|
|
|
return new TimerTask() { |
|
|
|
@Override |
|
|
|
public void run() { |
|
|
|
String lockKey = "customer_price_lock:"+userId; |
|
|
|
String lockKey = "customer_price_lock:"+userId+":"+supplierCode; |
|
|
|
String priceDataKey = "customer_price_data:"+userId; |
|
|
|
RedisService redisService = SpringUtils.getBean(RedisService.class); |
|
|
|
redisService.set(lockKey,1); |
|
|
|
redisService.set(lockKey,1,30,TimeUnit.SECONDS); |
|
|
|
log.debug("获取客户金额,cusCode:{}",supplierCode); |
|
|
|
//请求获取金额
|
|
|
|
SeeYonRequestBaseService seeYonRequestService = SpringUtils.getBean(SeeYonRequestBaseService.class); |
|
|
|
R<String> reqResult = seeYonRequestService.getBase(ERP_CUS_AMOUNT,"获取客户["+supplierCode+"]金额"); |
|
|
|
R<String> reqResult = seeYonRequestService.getBase(ERP_CUS_AMOUNT+"?supplierCode="+supplierCode,"获取客户["+supplierCode+"]金额"); |
|
|
|
if(reqResult==null || !reqResult.getStatus().equals(200)){ |
|
|
|
//有错误退出
|
|
|
|
log.warn("获取客户金额失败,cusCode:{}",supplierCode); |
|
|
|
redisService.set(lockKey,0); |
|
|
|
return; |
|
|
|
} |
|
|
@ -86,6 +88,7 @@ public class AsyncFactory { |
|
|
|
//数据格式:supplierCode_&_amount 如 A235654_&_612.00
|
|
|
|
String value = supplierCode+"_&_"+amount; |
|
|
|
//缓存15分钟
|
|
|
|
log.debug("获取客户金额成功,cusCode:{},缓存15分钟",supplierCode); |
|
|
|
redisService.set(priceDataKey,value,15, TimeUnit.MINUTES); |
|
|
|
redisService.set(lockKey,0); |
|
|
|
} |
|
|
|