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

Commit e086ee80 authored by 胡佳晨's avatar 胡佳晨

增加店铺id

parent f4d61c7a
......@@ -2422,7 +2422,7 @@ public class GoblinRedisUtils {
}
// 设置 组合售 nft列表
public void setGoblinMixNftList(String mixId) {
public void setGoblinMixNftList(List<String> mixId) {
String rdk = GoblinRedisConst.GOBLIN_MIX_NFT_LIST;
redisUtil.set(rdk, mixId);
}
......@@ -2441,7 +2441,7 @@ public class GoblinRedisUtils {
public void addGoblinMixNftList(String mixId) {
List<String> mixIds = getGoblinMixNftList();
mixIds.add(mixId);
setGoblinMixNftList(mixId);
setGoblinMixNftList(mixIds);
}
public void removeGoblinMixNftList(String mixId) {
......@@ -2451,11 +2451,11 @@ public class GoblinRedisUtils {
mixIds.remove(mixId);
}
}
setGoblinMixNftList(mixId);
setGoblinMixNftList(mixIds);
}
// 设置 组合售 sku列表
public void setGoblinMixSkuList(String mixId) {
public void setGoblinMixSkuList(List<String> mixId) {
String rdk = GoblinRedisConst.GOBLIN_MIX_SKU_LIST;
redisUtil.set(rdk, mixId);
}
......@@ -2474,7 +2474,7 @@ public class GoblinRedisUtils {
public void addGoblinMixSkuList(String mixId) {
List<String> mixIds = getGoblinMixSkuList();
mixIds.add(mixId);
setGoblinMixSkuList(mixId);
setGoblinMixSkuList(mixIds);
}
public void removeGoblinMixSkuList(String mixId) {
......@@ -2484,7 +2484,7 @@ public class GoblinRedisUtils {
mixIds.remove(mixId);
}
}
setGoblinMixSkuList(mixId);
setGoblinMixSkuList(mixIds);
}
// 设置 组合售 sku列表
......
......@@ -5,10 +5,13 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.constant.NftAccStatusEnum;
import com.liquidnet.service.goblin.dto.GoblinUserNftAccInfoVo;
import com.liquidnet.service.goblin.dto.manage.MixOrderParam;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinNftOrder;
import com.liquidnet.service.goblin.entity.GoblinStoreOrder;
import com.liquidnet.service.goblin.param.SyncOrderParam;
import com.liquidnet.service.goblin.service.IMixOrderService;
import com.liquidnet.service.order.utils.*;
......@@ -21,6 +24,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import static com.liquidnet.commons.lang.util.DateUtil.DTF_YMD_HMS;
......@@ -49,12 +53,14 @@ public class MixOrderServiceImpl implements IMixOrderService {
GoblinMixDetailsVo mixVo = redisUtils.getMixDetails(param.getMixId());
String mixId = mixVo.getMixId();
String mobile = StringUtils.defaultString(((String) CurrentUtil.getTokenClaims().get(CurrentUtil.TOKEN_MOBILE)), "");
String nickName = StringUtils.defaultString(((String) CurrentUtil.getTokenClaims().get(CurrentUtil.TOKEN_NICKNAME)), "");
String headerCliSource = CurrentUtil.getHeaderCliSource(), headerCliVersion = CurrentUtil.getHeaderCliVersion();
String source = headerCliSource == null ? "" : headerCliSource,version = headerCliVersion == null ? "" : headerCliVersion;
String source = headerCliSource == null ? "" : headerCliSource, version = headerCliVersion == null ? "" : headerCliVersion;
String orderMasterCode = IDGenerator.storeMasterCode();//总订单号
List<String> canBuyIds = CollectionUtil.linkedListString();//有库存的id
List<String> boxSkuId = CollectionUtil.linkedListString();//盲盒种的skuid
List<String> stockSkuId = CollectionUtil.linkedListString(); // 盲盒id
HashMap<String, Object> boxSkuId = CollectionUtil.mapStringObject();//盲盒种的skuid
HashMap<String, Object> stockSkuId = CollectionUtil.mapStringObject(); // 盲盒id
//判断 活动状态
LocalDateTime st = LocalDateTime.parse(mixVo.getTimeStart(), DTF_YMD_HMS);
LocalDateTime et = LocalDateTime.parse(mixVo.getTimeEnd(), DTF_YMD_HMS);
......@@ -93,12 +99,12 @@ public class MixOrderServiceImpl implements IMixOrderService {
} else {
canBuyIds.add(boxSkuInfo.getSkuId() + "," + itemVo.getCount());
}
boxSkuId.add(skuInfoVo.getSkuId());
stockSkuId.add(skuInfoVo.getSkuId());
boxSkuId.put(skuId, skuInfoVo.getSkuId());
stockSkuId.put(skuId, skuInfoVo.getSkuId());
}
} else {//正常
if (skuInfoVo.getSkuType() == 1) {
stockSkuId.add(skuId);
stockSkuId.put(skuId, skuId);
}
int stock = redisUtils.decrSkuStock(mixId, skuId, itemVo.getCount());
if (stock < 0) {
......@@ -130,17 +136,20 @@ public class MixOrderServiceImpl implements IMixOrderService {
}
}
//下单
//生成nft订单
List<GoblinNftOrder> nftOrderList = nftOrder(nftInfoList,boxSkuId,mobile,source,version,nickName,nt,uid,param.getPayType(),param.getDeviceFrom());
//生成goblin订单
return null;
// return payOrder();
}
//商品订单
private void goblinOrder() {
private List<GoblinStoreOrder> goblinOrder() {
}
//nft订单
private void nftOrder(List<GoblinGoodsSkuInfoVo> nftSkuVo, LocalDateTime now, String payType) {
private List<GoblinNftOrder> nftOrder(List<GoblinGoodsSkuInfoVo> nftSkuVo, HashMap<String, Object> boxSkuId, String mobile, String source, String version, String nickName, LocalDateTime now, String uid, String payType, String deviceFrom) {
List<GoblinNftOrder> goblinNftOrderList = ObjectUtil.goblinNftOrderList();
for (GoblinGoodsSkuInfoVo skuVo : nftSkuVo) {
BigDecimal voucherPrice = BigDecimal.ZERO;
BigDecimal storeVoucherPrice = BigDecimal.ZERO;
......@@ -150,8 +159,55 @@ public class MixOrderServiceImpl implements IMixOrderService {
if (payType.equals("applepay")) {
totalPrice = skuVo.getPriceV();
}
}
}
GoblinStoreInfoVo storeInfoVo = redisUtils.getStoreInfoVo(skuVo.getStoreId());
String storeName = storeInfoVo.getStoreName();
// 生成订单
GoblinNftOrder nftOrder = GoblinNftOrder.getNew();
nftOrder.setOrderId(orderId);
nftOrder.setSpuId(skuVo.getSpuId());
nftOrder.setSkuId(skuVo.getSkuId());
nftOrder.setSkuTitle(skuVo.getName());
nftOrder.setBoxSkuId((String) boxSkuId.get(skuVo.getSkuId()));
nftOrder.setNum(1);
nftOrder.setStoreId(skuVo.getStoreId());
nftOrder.setStoreName(storeName);
nftOrder.setOrderCode(orderCode);
nftOrder.setUserId(uid);
nftOrder.setUserName(nickName);
nftOrder.setUserMobile(mobile);
nftOrder.setListId("");
nftOrder.setExCode("");
nftOrder.setPriceTotal(totalPrice);
nftOrder.setPriceCoupon(voucherPrice);
nftOrder.setStorePriceCoupon(storeVoucherPrice);
nftOrder.setPriceRedEnvelope(BigDecimal.ZERO);
nftOrder.setPriceVoucher(voucherPrice.add(storeVoucherPrice));
BigDecimal priceActual = totalPrice.subtract(voucherPrice).subtract(storeVoucherPrice);
nftOrder.setPriceActual(priceActual.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : priceActual);
nftOrder.setUcouponId("");
nftOrder.setStoreCouponId("");
nftOrder.setRedEnvelopeCode("");
nftOrder.setStatus(GoblinStatusConst.NftStatus.ORDER_STATUS_1.getValue());
nftOrder.setSource(source);
nftOrder.setOrderType(1);
nftOrder.setPayType(payType);
nftOrder.setDeviceFrom(deviceFrom);
nftOrder.setVersion(version);
nftOrder.setPayCountdownMinute(5);
nftOrder.setIpAddress(CurrentUtil.getCliIpAddr());
nftOrder.setCreatedAt(now);
goblinNftOrderList.add(nftOrder);
}
return goblinNftOrderList;
}
// private GoblinPayInnerResultVo payOrder(List<GoblinNftOrder> nftOrder, List<GoblinStoreOrder> goblinOrder, String produceId) {
// GoblinPayInnerResultVo NftPayResultVo = GoblinPayInnerResultVo.getNew();
// return NftPayResultVo;
// }
@Override
public String syncOrder(SyncOrderParam syncOrderParam) {
......
......@@ -2,6 +2,7 @@ package com.liquidnet.service.order.utils;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinNftOrder;
import com.liquidnet.service.goblin.entity.GoblinOrderSku;
import com.liquidnet.service.goblin.param.BackCouponParam;
import com.liquidnet.service.goblin.param.GoblinOrderSqlParam;
......@@ -51,7 +52,7 @@ public class ObjectUtil {
private static final ArrayList<GoblinUserCouponVo> goblinUserCouponVo = new ArrayList<>();
private static final ArrayList<GoblinBackOrderSkuVo> goblinBackOrderSkuVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinListCollectVo> goblinListCollectVo = new ArrayList<>();
private static final ArrayList<GoblinNftOrder> goblinNftOrderList = new ArrayList<>();
public static Object[] objectsArray;
public static final Integer[] integerArray2 = new Integer[2];
......@@ -109,6 +110,10 @@ public class ObjectUtil {
return (ArrayList<GoblinOrderSku>) goblinOrderSkuArrayList.clone();
}
public static ArrayList<GoblinNftOrder> goblinNftOrderList() {
return (ArrayList<GoblinNftOrder>) goblinNftOrderList.clone();
}
public static ArrayList<AdamEntersVo> cloneArrayListObject() {
return (ArrayList<AdamEntersVo>) arrayListObject.clone();
}
......
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