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

Commit 90bc8494 authored by 胡佳晨's avatar 胡佳晨

修改 再次支付

修改 redis获取vo
parent 28f63fbf
...@@ -103,9 +103,9 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -103,9 +103,9 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
AdamAddressesVo addressesVo; AdamAddressesVo addressesVo;
boolean isMember; boolean isMember;
if (userVo == null) { if (userVo == null) {
if(noZhengzaiOrder(uid)) { if (noZhengzaiOrder(uid)) {
throw new Exception("库存不足"); throw new Exception("库存不足");
}else{ } else {
isMember = false; isMember = false;
addressesVo = null; addressesVo = null;
} }
...@@ -477,7 +477,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -477,7 +477,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
payCode = payInnerResultVo.getCode(); payCode = payInnerResultVo.getCode();
payInnerResultVo.setShowUrl(preParam.getShowUrl()); payInnerResultVo.setShowUrl(preParam.getShowUrl());
payInnerResultVo.setReturnUrl(preParam.getReturnUrl()); payInnerResultVo.setReturnUrl(preParam.getReturnUrl());
}else if(preParam.getPayType()==null){ } else if (preParam.getPayType() == null) {
isFree = true; isFree = true;
preParam.setPayType("FREE"); preParam.setPayType("FREE");
payCode = "FREE_PAY_CODE"; payCode = "FREE_PAY_CODE";
...@@ -632,7 +632,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -632,7 +632,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
httpData.add("notifyUrl", synUrl); httpData.add("notifyUrl", synUrl);
httpData.add("createDate", storeOrderVo.getCreatedAt()); httpData.add("createDate", storeOrderVo.getCreatedAt());
httpData.add("expireTime", storeOrderVo.getPayCountdownMinute().toString()); httpData.add("expireTime", storeOrderVo.getPayCountdownMinute().toString());
httpData.add("payType", storeOrderVo.getPayType()); httpData.add("payType", param.getPayType());
httpData.add("deviceFrom", param.getDeviceFrom()); httpData.add("deviceFrom", param.getDeviceFrom());
if (param.getDeviceFrom().equals("js") || param.getDeviceFrom().equals("applet")) { if (param.getDeviceFrom().equals("js") || param.getDeviceFrom().equals("applet")) {
httpData.add("openId", param.getOpenId()); httpData.add("openId", param.getOpenId());
...@@ -649,18 +649,25 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -649,18 +649,25 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
httpData.add("returnUrl", param.getReturnUrl() + storeOrderVo.getOrderId()); httpData.add("returnUrl", param.getReturnUrl() + storeOrderVo.getOrderId());
} }
String returnData = HttpUtil.post(payUrl, httpData); String returnData = HttpUtil.post(payUrl, httpData);
log.info("调用 DRAGON 结果 = " + returnData); log.debug("调用 DRAGON 结果 = " + returnData);
ResponseDto<GoblinPayInnerResultVo> dto = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<GoblinPayInnerResultVo>>() { ResponseDto<GoblinPayInnerResultVo> dto = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<GoblinPayInnerResultVo>>() {
}); });
payInnerResultVo.setCode(dto.getData().getCode()); payInnerResultVo.setCode(dto.getData().getCode());
payInnerResultVo.setOrderCode(dto.getData().getOrderCode()); payInnerResultVo.setOrderCode(dto.getData().getOrderCode());
payInnerResultVo.setPayData(dto.getData().getPayData()); payInnerResultVo.setPayData(dto.getData().getPayData());
payInnerResultVo.setOrderId(storeOrderVo.getOrderId()); payInnerResultVo.setOrderId(storeOrderVo.getOrderId());
payInnerResultVo.setPayType(storeOrderVo.getPayType()); payInnerResultVo.setPayType(param.getPayType());
payInnerResultVo.setPrice(storeOrderVo.getPriceActual()); payInnerResultVo.setPrice(storeOrderVo.getPriceActual());
storeOrderVo.setPayCode(payInnerResultVo.getCode()); storeOrderVo.setPayCode(payInnerResultVo.getCode());
payInnerResultVo.setShowUrl(param.getShowUrl() + storeOrderVo.getOrderId()); payInnerResultVo.setShowUrl(param.getShowUrl() + storeOrderVo.getOrderId());
payInnerResultVo.setReturnUrl(param.getReturnUrl() + storeOrderVo.getOrderId()); payInnerResultVo.setReturnUrl(param.getReturnUrl() + storeOrderVo.getOrderId());
//redis
storeOrderVo.setPayType(param.getPayType());
storeOrderVo.setDeviceFrom(param.getDeviceFrom());
storeOrderVo.setPayCode(payInnerResultVo.getCode());
redisUtils.setGoblinOrder(storeOrderVo.getOrderId(), storeOrderVo);
//mongo
mongoUtils.updateGoblinStoreOrderVo(storeOrderVo.getOrderId(), storeOrderVo);
//mysql //mysql
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_ORDER_AGAIN.getKey(), queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_ORDER_AGAIN.getKey(),
SqlMapping.get("goblin_order.pay.again", param.getPayType(), param.getDeviceFrom(), payInnerResultVo.getCode(), param.getOrderId(), now, now)); SqlMapping.get("goblin_order.pay.again", param.getPayType(), param.getDeviceFrom(), payInnerResultVo.getCode(), param.getOrderId(), now, now));
......
...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil; ...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.RandomUtil; import com.liquidnet.commons.lang.util.RandomUtil;
import com.liquidnet.service.goblin.constant.GoblinRedisConst; import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.GoblinStoreMarketDto; import com.liquidnet.service.goblin.dto.GoblinStoreMarketDto;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
...@@ -69,16 +70,42 @@ public class GoblinRedisUtils { ...@@ -69,16 +70,42 @@ public class GoblinRedisUtils {
* @return GoblinGoodsInfoVo * @return GoblinGoodsInfoVo
*/ */
public GoblinGoodsInfoVo getGoodsInfoVo(String spuId) { public GoblinGoodsInfoVo getGoodsInfoVo(String spuId) {
String rk = GoblinRedisConst.BASIC_GOODS.concat(spuId); String pre = GoblinStatusConst.MarketPreStatus.getPre(spuId);
GoblinGoodsInfoVo vo = (GoblinGoodsInfoVo) redisUtil.get(rk); if (pre != null && pre.equals(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())) {
if (null == vo && null != (vo = goblinMongoUtils.getGoodsInfoVo(spuId))) { String rk = GoblinRedisConst.BASIC_GOODS.concat(spuId.split(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())[0]);
// if (vo.getShelvesStatus().equals("3")) { GoblinGoodsInfoVo vo = (GoblinGoodsInfoVo) redisUtil.get(rk);
if (null == vo && null != (vo = goblinMongoUtils.getGoodsInfoVo(spuId))) {
redisUtil.set(rk, vo); redisUtil.set(rk, vo);
// } else { }
// vo = null; if (vo == null) {
// } return vo;
}
String marketrk = GoblinRedisConst.BASIC_GOODS.concat(spuId);
GoblinGoodsInfoVo marketVo = (GoblinGoodsInfoVo) redisUtil.get(marketrk);
if (null == marketVo && null != (marketVo = goblinMongoUtils.getGoodsInfoVo(spuId))) {
redisUtil.set(marketrk, marketVo);
}
if (marketVo == null) {
return marketVo;
}
vo.setSpuId(marketVo.getSpuId());
List<String> skuIdList = CollectionUtil.linkedListString();
for (String skuIds : vo.getSkuIdList()) {
skuIdList.add(skuIds.concat(spuId.split(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())[1]));
}
vo.setSkuIdList(skuIdList);
vo.setPriceGe(marketVo.getPriceGe());
vo.setPriceLe(marketVo.getPriceLe());
vo.setMarketId(marketVo.getMarketId());
return vo;
} else {
String rk = GoblinRedisConst.BASIC_GOODS.concat(spuId);
GoblinGoodsInfoVo vo = (GoblinGoodsInfoVo) redisUtil.get(rk);
if (null == vo && null != (vo = goblinMongoUtils.getGoodsInfoVo(spuId))) {
redisUtil.set(rk, vo);
}
return vo;
} }
return vo;
} }
/** /**
...@@ -88,16 +115,45 @@ public class GoblinRedisUtils { ...@@ -88,16 +115,45 @@ public class GoblinRedisUtils {
* @return GoblinGoodsSkuInfoVo * @return GoblinGoodsSkuInfoVo
*/ */
public GoblinGoodsSkuInfoVo getGoodsSkuInfoVo(String skuId) { public GoblinGoodsSkuInfoVo getGoodsSkuInfoVo(String skuId) {
String rk = GoblinRedisConst.BASIC_GOODS_SKU.concat(skuId); String pre = GoblinStatusConst.MarketPreStatus.getPre(skuId);
GoblinGoodsSkuInfoVo vo = (GoblinGoodsSkuInfoVo) redisUtil.get(rk); if (pre != null && pre.equals(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())) {
if (null == vo && null != (vo = goblinMongoUtils.getGoodsSkuInfoVo(skuId))) { String rk = GoblinRedisConst.BASIC_GOODS_SKU.concat(skuId.split(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())[0]);
// if (vo.getShelvesStatus().equals("3")) { GoblinGoodsSkuInfoVo vo = (GoblinGoodsSkuInfoVo) redisUtil.get(rk);
if (null == vo && null != (vo = goblinMongoUtils.getGoodsSkuInfoVo(skuId))) {
redisUtil.set(rk, vo); redisUtil.set(rk, vo);
// } else { }
// vo = null; if (vo == null) {
// } return vo;
}
String marketrk = GoblinRedisConst.BASIC_GOODS_SKU.concat(skuId);
GoblinGoodsSkuInfoVo marketVo = (GoblinGoodsSkuInfoVo) redisUtil.get(marketrk);
if (null == marketVo && null != (marketVo = goblinMongoUtils.getGoodsSkuInfoVo(skuId))) {
redisUtil.set(marketrk, marketVo);
}
if (marketVo == null) {
return marketVo;
}
vo.setSpuId(marketVo.getSpuId());
vo.setSkuId(marketVo.getSkuId());
vo.setPrice(marketVo.getPrice());
vo.setPriceMember(marketVo.getPriceMember());
vo.setSkuStock(marketVo.getSkuStock());
vo.setBuyLimit(marketVo.getBuyLimit());
vo.setBuyRoster(marketVo.getBuyRoster());
vo.setBuyFactor(marketVo.getBuyFactor());
vo.setDelFlg("0");
vo.setMarketId(marketVo.getMarketId());
vo.setCreatedAt(LocalDateTime.now());
return vo;
} else {
String rk = GoblinRedisConst.BASIC_GOODS_SKU.concat(skuId);
GoblinGoodsSkuInfoVo vo = (GoblinGoodsSkuInfoVo) redisUtil.get(rk);
if (null == vo && null != (vo = goblinMongoUtils.getGoodsSkuInfoVo(skuId))) {
redisUtil.set(rk, vo);
}
return vo;
} }
return vo;
} }
//获取 用户sku购买个数 //获取 用户sku购买个数
......
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