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

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

增加店铺id

parent f4d61c7a
...@@ -2422,7 +2422,7 @@ public class GoblinRedisUtils { ...@@ -2422,7 +2422,7 @@ public class GoblinRedisUtils {
} }
// 设置 组合售 nft列表 // 设置 组合售 nft列表
public void setGoblinMixNftList(String mixId) { public void setGoblinMixNftList(List<String> mixId) {
String rdk = GoblinRedisConst.GOBLIN_MIX_NFT_LIST; String rdk = GoblinRedisConst.GOBLIN_MIX_NFT_LIST;
redisUtil.set(rdk, mixId); redisUtil.set(rdk, mixId);
} }
...@@ -2441,7 +2441,7 @@ public class GoblinRedisUtils { ...@@ -2441,7 +2441,7 @@ public class GoblinRedisUtils {
public void addGoblinMixNftList(String mixId) { public void addGoblinMixNftList(String mixId) {
List<String> mixIds = getGoblinMixNftList(); List<String> mixIds = getGoblinMixNftList();
mixIds.add(mixId); mixIds.add(mixId);
setGoblinMixNftList(mixId); setGoblinMixNftList(mixIds);
} }
public void removeGoblinMixNftList(String mixId) { public void removeGoblinMixNftList(String mixId) {
...@@ -2451,11 +2451,11 @@ public class GoblinRedisUtils { ...@@ -2451,11 +2451,11 @@ public class GoblinRedisUtils {
mixIds.remove(mixId); mixIds.remove(mixId);
} }
} }
setGoblinMixNftList(mixId); setGoblinMixNftList(mixIds);
} }
// 设置 组合售 sku列表 // 设置 组合售 sku列表
public void setGoblinMixSkuList(String mixId) { public void setGoblinMixSkuList(List<String> mixId) {
String rdk = GoblinRedisConst.GOBLIN_MIX_SKU_LIST; String rdk = GoblinRedisConst.GOBLIN_MIX_SKU_LIST;
redisUtil.set(rdk, mixId); redisUtil.set(rdk, mixId);
} }
...@@ -2474,7 +2474,7 @@ public class GoblinRedisUtils { ...@@ -2474,7 +2474,7 @@ public class GoblinRedisUtils {
public void addGoblinMixSkuList(String mixId) { public void addGoblinMixSkuList(String mixId) {
List<String> mixIds = getGoblinMixSkuList(); List<String> mixIds = getGoblinMixSkuList();
mixIds.add(mixId); mixIds.add(mixId);
setGoblinMixSkuList(mixId); setGoblinMixSkuList(mixIds);
} }
public void removeGoblinMixSkuList(String mixId) { public void removeGoblinMixSkuList(String mixId) {
...@@ -2484,7 +2484,7 @@ public class GoblinRedisUtils { ...@@ -2484,7 +2484,7 @@ public class GoblinRedisUtils {
mixIds.remove(mixId); mixIds.remove(mixId);
} }
} }
setGoblinMixSkuList(mixId); setGoblinMixSkuList(mixIds);
} }
// 设置 组合售 sku列表 // 设置 组合售 sku列表
......
...@@ -5,10 +5,13 @@ import com.liquidnet.commons.lang.util.CollectionUtil; ...@@ -5,10 +5,13 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil; import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto; 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.constant.NftAccStatusEnum;
import com.liquidnet.service.goblin.dto.GoblinUserNftAccInfoVo; import com.liquidnet.service.goblin.dto.GoblinUserNftAccInfoVo;
import com.liquidnet.service.goblin.dto.manage.MixOrderParam; import com.liquidnet.service.goblin.dto.manage.MixOrderParam;
import com.liquidnet.service.goblin.dto.vo.*; 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.param.SyncOrderParam;
import com.liquidnet.service.goblin.service.IMixOrderService; import com.liquidnet.service.goblin.service.IMixOrderService;
import com.liquidnet.service.order.utils.*; import com.liquidnet.service.order.utils.*;
...@@ -21,6 +24,7 @@ import org.springframework.stereotype.Service; ...@@ -21,6 +24,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List; import java.util.List;
import static com.liquidnet.commons.lang.util.DateUtil.DTF_YMD_HMS; import static com.liquidnet.commons.lang.util.DateUtil.DTF_YMD_HMS;
...@@ -49,12 +53,14 @@ public class MixOrderServiceImpl implements IMixOrderService { ...@@ -49,12 +53,14 @@ public class MixOrderServiceImpl implements IMixOrderService {
GoblinMixDetailsVo mixVo = redisUtils.getMixDetails(param.getMixId()); GoblinMixDetailsVo mixVo = redisUtils.getMixDetails(param.getMixId());
String mixId = mixVo.getMixId(); String mixId = mixVo.getMixId();
String mobile = StringUtils.defaultString(((String) CurrentUtil.getTokenClaims().get(CurrentUtil.TOKEN_MOBILE)), ""); 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 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> canBuyIds = CollectionUtil.linkedListString();//有库存的id
List<String> boxSkuId = CollectionUtil.linkedListString();//盲盒种的skuid HashMap<String, Object> boxSkuId = CollectionUtil.mapStringObject();//盲盒种的skuid
List<String> stockSkuId = CollectionUtil.linkedListString(); // 盲盒id HashMap<String, Object> stockSkuId = CollectionUtil.mapStringObject(); // 盲盒id
//判断 活动状态 //判断 活动状态
LocalDateTime st = LocalDateTime.parse(mixVo.getTimeStart(), DTF_YMD_HMS); LocalDateTime st = LocalDateTime.parse(mixVo.getTimeStart(), DTF_YMD_HMS);
LocalDateTime et = LocalDateTime.parse(mixVo.getTimeEnd(), DTF_YMD_HMS); LocalDateTime et = LocalDateTime.parse(mixVo.getTimeEnd(), DTF_YMD_HMS);
...@@ -93,12 +99,12 @@ public class MixOrderServiceImpl implements IMixOrderService { ...@@ -93,12 +99,12 @@ public class MixOrderServiceImpl implements IMixOrderService {
} else { } else {
canBuyIds.add(boxSkuInfo.getSkuId() + "," + itemVo.getCount()); canBuyIds.add(boxSkuInfo.getSkuId() + "," + itemVo.getCount());
} }
boxSkuId.add(skuInfoVo.getSkuId()); boxSkuId.put(skuId, skuInfoVo.getSkuId());
stockSkuId.add(skuInfoVo.getSkuId()); stockSkuId.put(skuId, skuInfoVo.getSkuId());
} }
} else {//正常 } else {//正常
if (skuInfoVo.getSkuType() == 1) { if (skuInfoVo.getSkuType() == 1) {
stockSkuId.add(skuId); stockSkuId.put(skuId, skuId);
} }
int stock = redisUtils.decrSkuStock(mixId, skuId, itemVo.getCount()); int stock = redisUtils.decrSkuStock(mixId, skuId, itemVo.getCount());
if (stock < 0) { if (stock < 0) {
...@@ -130,17 +136,20 @@ public class MixOrderServiceImpl implements IMixOrderService { ...@@ -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 payOrder();
return null;
} }
//商品订单 //商品订单
private void goblinOrder() { private List<GoblinStoreOrder> goblinOrder() {
} }
//nft订单 //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) { for (GoblinGoodsSkuInfoVo skuVo : nftSkuVo) {
BigDecimal voucherPrice = BigDecimal.ZERO; BigDecimal voucherPrice = BigDecimal.ZERO;
BigDecimal storeVoucherPrice = BigDecimal.ZERO; BigDecimal storeVoucherPrice = BigDecimal.ZERO;
...@@ -150,8 +159,55 @@ public class MixOrderServiceImpl implements IMixOrderService { ...@@ -150,8 +159,55 @@ public class MixOrderServiceImpl implements IMixOrderService {
if (payType.equals("applepay")) { if (payType.equals("applepay")) {
totalPrice = skuVo.getPriceV(); 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 @Override
public String syncOrder(SyncOrderParam syncOrderParam) { public String syncOrder(SyncOrderParam syncOrderParam) {
......
...@@ -2,6 +2,7 @@ package com.liquidnet.service.order.utils; ...@@ -2,6 +2,7 @@ package com.liquidnet.service.order.utils;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo; import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.goblin.dto.vo.*; 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.entity.GoblinOrderSku;
import com.liquidnet.service.goblin.param.BackCouponParam; import com.liquidnet.service.goblin.param.BackCouponParam;
import com.liquidnet.service.goblin.param.GoblinOrderSqlParam; import com.liquidnet.service.goblin.param.GoblinOrderSqlParam;
...@@ -51,7 +52,7 @@ public class ObjectUtil { ...@@ -51,7 +52,7 @@ public class ObjectUtil {
private static final ArrayList<GoblinUserCouponVo> goblinUserCouponVo = new ArrayList<>(); private static final ArrayList<GoblinUserCouponVo> goblinUserCouponVo = new ArrayList<>();
private static final ArrayList<GoblinBackOrderSkuVo> goblinBackOrderSkuVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinBackOrderSkuVo> goblinBackOrderSkuVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinListCollectVo> goblinListCollectVo = new ArrayList<>(); private static final ArrayList<GoblinListCollectVo> goblinListCollectVo = new ArrayList<>();
private static final ArrayList<GoblinNftOrder> goblinNftOrderList = new ArrayList<>();
public static Object[] objectsArray; public static Object[] objectsArray;
public static final Integer[] integerArray2 = new Integer[2]; public static final Integer[] integerArray2 = new Integer[2];
...@@ -109,6 +110,10 @@ public class ObjectUtil { ...@@ -109,6 +110,10 @@ public class ObjectUtil {
return (ArrayList<GoblinOrderSku>) goblinOrderSkuArrayList.clone(); return (ArrayList<GoblinOrderSku>) goblinOrderSkuArrayList.clone();
} }
public static ArrayList<GoblinNftOrder> goblinNftOrderList() {
return (ArrayList<GoblinNftOrder>) goblinNftOrderList.clone();
}
public static ArrayList<AdamEntersVo> cloneArrayListObject() { public static ArrayList<AdamEntersVo> cloneArrayListObject() {
return (ArrayList<AdamEntersVo>) arrayListObject.clone(); 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