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

Commit 883fd9ec authored by 胡佳晨's avatar 胡佳晨

提交 nft 下单接口

parent 5544f016
......@@ -18,10 +18,7 @@ import com.liquidnet.service.erp.vo.SyncStockVo;
import com.liquidnet.service.erp.vo.TradePushVo;
import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinOrderSkuVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderVo;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.mapper.GoblinGoodsSkuMapper;
import com.liquidnet.service.goblin.service.IGoblinErpService;
import com.liquidnet.service.platform.utils.GoblinRedisUtils;
......@@ -39,6 +36,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
......@@ -191,68 +189,8 @@ public class WdtServiceImpl implements IGoblinErpService {
//同步订单
for (List<String> b : orderIdList) {
for (String orderId : b) {
TradeListParam tradeListParam = TradeListParam.getNew();
GoblinStoreOrderVo orderVo = goblinRedisUtils.getGoblinOrder(orderId);
List<String> orderSkuIds = orderVo.getOrderSkuVoIds();
List<OrderListParam> listOrderSku = ErpObjectUtil.orderListParam();
String warehouseNo = "";
int erpHosting = 0;
//配置sku维度数据
for (String orderSkuId : orderSkuIds) {
OrderListParam orderSkuParam = OrderListParam.getNew();
GoblinOrderSkuVo orderSkuVo = goblinRedisUtils.getGoblinOrderSkuVo(orderSkuId);
if (orderSkuVo.getErpHosting() == 1 && orderSkuVo.getStatus() == GoblinStatusConst.Status.ORDER_STATUS_2.getValue()) {
erpHosting = 1;
} else {
continue;
}
orderSkuParam.setOid(orderSkuVo.getOrderSkuId());
orderSkuParam.setNum(BigDecimal.valueOf(orderSkuVo.getNum()));
orderSkuParam.setPrice(orderSkuVo.getSkuPrice());
orderSkuParam.setStatus(ErpEnum.WdtStatus.STATUS_UN_SEND.WdtStatus());
orderSkuParam.setRefund_status(0);
orderSkuParam.setGoods_id(orderSkuVo.getSpuId());
orderSkuParam.setSpec_id(orderSkuVo.getSkuId());
orderSkuParam.setGoods_no(orderSkuVo.getSpuErpCode());
orderSkuParam.setSpec_no(orderSkuVo.getSkuErpCode());
orderSkuParam.setGoods_name(orderSkuVo.getSpuName());
orderSkuParam.setAdjust_amount(BigDecimal.ZERO);
orderSkuParam.setDiscount(BigDecimal.ZERO);
orderSkuParam.setShare_discount(orderSkuVo.getPriceVoucher());
warehouseNo = orderSkuVo.getErpWarehouseNo();
listOrderSku.add(orderSkuParam);
}
//配置订单维度数据
tradeListParam.setOrder_list(listOrderSku);
tradeListParam.setTid(orderVo.getOrderCode());
tradeListParam.setTrade_status(ErpEnum.WdtStatus.STATUS_UN_SEND.WdtStatus());
tradeListParam.setPay_status(2);
tradeListParam.setDelivery_term(1);
tradeListParam.setTrade_time(orderVo.getCreatedAt());
tradeListParam.setPay_time(orderVo.getPayTime());
tradeListParam.setBuyer_nick(orderVo.getUserName());
tradeListParam.setPay_id(orderVo.getPayCode());
tradeListParam.setReceiver_name(orderVo.getOrderAttrVo().getExpressContacts());
String[] address = orderVo.getOrderAttrVo().getExpressAddress().split(" ");
if (address.length > 0) {
tradeListParam.setReceiver_province(address[0]);
}
if (address.length > 1) {
tradeListParam.setReceiver_city(address[1]);
}
if (address.length > 2) {
tradeListParam.setReceiver_district(address[2]);
}
tradeListParam.setReceiver_address(orderVo.getOrderAttrVo().getExpressAddress());
tradeListParam.setReceiver_mobile(orderVo.getOrderAttrVo().getExpressPhone());
tradeListParam.setPost_amount(orderVo.getPriceExpress());
tradeListParam.setExt_cod_fee(BigDecimal.ZERO);
tradeListParam.setOther_amount(BigDecimal.ZERO);
tradeListParam.setPaid(orderVo.getPriceActual());
tradeListParam.setWarehouse_no(warehouseNo);
if (erpHosting == 1) {
listOrder.add(tradeListParam);
}
goblinOrderData(orderId, listOrder);
nftOrderData(orderId, listOrder);
}
//执行同步订单
Map<String, String> param = CollectionUtil.linkMapStringString();
......@@ -263,4 +201,135 @@ public class WdtServiceImpl implements IGoblinErpService {
}
return ResponseDto.success();
}
//构建 商品订单数据
private List<TradeListParam> goblinOrderData(String orderId, List<TradeListParam> listOrder) {
TradeListParam tradeListParam = TradeListParam.getNew();
GoblinStoreOrderVo orderVo = goblinRedisUtils.getGoblinOrder(orderId);
if (orderVo == null) {
return listOrder;
}
List<String> orderSkuIds = orderVo.getOrderSkuVoIds();
List<OrderListParam> listOrderSku = ErpObjectUtil.orderListParam();
String warehouseNo = "";
int erpHosting = 0;
//配置sku维度数据
for (String orderSkuId : orderSkuIds) {
OrderListParam orderSkuParam = OrderListParam.getNew();
GoblinOrderSkuVo orderSkuVo = goblinRedisUtils.getGoblinOrderSkuVo(orderSkuId);
if (orderSkuVo.getErpHosting() == 1 && orderSkuVo.getStatus() == GoblinStatusConst.Status.ORDER_STATUS_2.getValue()) {
erpHosting = 1;
} else {
continue;
}
orderSkuParam.setOid(orderSkuVo.getOrderSkuId());
orderSkuParam.setNum(BigDecimal.valueOf(orderSkuVo.getNum()));
orderSkuParam.setPrice(orderSkuVo.getSkuPrice());
orderSkuParam.setStatus(ErpEnum.WdtStatus.STATUS_UN_SEND.WdtStatus());
orderSkuParam.setRefund_status(0);
orderSkuParam.setGoods_id(orderSkuVo.getSpuId());
orderSkuParam.setSpec_id(orderSkuVo.getSkuId());
orderSkuParam.setGoods_no(orderSkuVo.getSpuErpCode());
orderSkuParam.setSpec_no(orderSkuVo.getSkuErpCode());
orderSkuParam.setGoods_name(orderSkuVo.getSpuName());
orderSkuParam.setAdjust_amount(BigDecimal.ZERO);
orderSkuParam.setDiscount(BigDecimal.ZERO);
orderSkuParam.setShare_discount(orderSkuVo.getPriceVoucher());
warehouseNo = orderSkuVo.getErpWarehouseNo();
listOrderSku.add(orderSkuParam);
}
//配置订单维度数据
tradeListParam.setOrder_list(listOrderSku);
tradeListParam.setTid(orderVo.getOrderCode());
tradeListParam.setTrade_status(ErpEnum.WdtStatus.STATUS_UN_SEND.WdtStatus());
tradeListParam.setPay_status(2);
tradeListParam.setDelivery_term(1);
tradeListParam.setTrade_time(orderVo.getCreatedAt());
tradeListParam.setPay_time(orderVo.getPayTime());
tradeListParam.setBuyer_nick(orderVo.getUserName());
tradeListParam.setPay_id(orderVo.getPayCode());
if(orderVo.getOrderAttrVo().getExpressAddress().equals("")){
tradeListParam.setReceiver_name("正在映画");
tradeListParam.setReceiver_province("北京市");
tradeListParam.setReceiver_city("北京市");
tradeListParam.setReceiver_district("朝阳区");
tradeListParam.setReceiver_address("广渠路 创1985园区 3-12");
tradeListParam.setReceiver_mobile("15901093014");
}else {
tradeListParam.setReceiver_name(orderVo.getOrderAttrVo().getExpressContacts());
String[] address = orderVo.getOrderAttrVo().getExpressAddress().split(" ");
if (address.length > 0) {
tradeListParam.setReceiver_province(address[0]);
}
if (address.length > 1) {
tradeListParam.setReceiver_city(address[1]);
}
if (address.length > 2) {
tradeListParam.setReceiver_district(address[2]);
}
tradeListParam.setReceiver_address(orderVo.getOrderAttrVo().getExpressAddress());
tradeListParam.setReceiver_mobile(orderVo.getOrderAttrVo().getExpressPhone());
}
tradeListParam.setPost_amount(orderVo.getPriceExpress());
tradeListParam.setExt_cod_fee(BigDecimal.ZERO);
tradeListParam.setOther_amount(BigDecimal.ZERO);
tradeListParam.setPaid(orderVo.getPriceActual());
tradeListParam.setWarehouse_no(warehouseNo);
if (erpHosting == 1) {
listOrder.add(tradeListParam);
}
return listOrder;
}
//构建 nft订单数据
private List<TradeListParam> nftOrderData(String orderId, List<TradeListParam> listOrder) {
TradeListParam tradeListParam = TradeListParam.getNew();
GoblinNftOrderVo orderVo = goblinRedisUtils.getNftOrder(orderId);
List<OrderListParam> listOrderSku = ErpObjectUtil.orderListParam();
//配置sku维度数据
OrderListParam orderSkuParam = OrderListParam.getNew();
if (orderVo != null && orderVo.getErpHosting() == 1 && orderVo.getStatus() == GoblinStatusConst.Status.ORDER_STATUS_2.getValue()) {
GoblinGoodsSkuInfoVo skuVo = goblinRedisUtils.getGoodsSkuInfoVo(orderVo.getSkuId());
GoblinGoodsInfoVo spuVo = goblinRedisUtils.getGoodsInfoVo(orderVo.getSpuId());
orderSkuParam.setOid(orderVo.getOrderId().concat("a1"));
orderSkuParam.setNum(BigDecimal.valueOf(orderVo.getNum()));
orderSkuParam.setPrice(skuVo.getPrice());
orderSkuParam.setStatus(ErpEnum.WdtStatus.STATUS_UN_SEND.WdtStatus());
orderSkuParam.setRefund_status(0);
orderSkuParam.setGoods_id(orderVo.getSpuId());
orderSkuParam.setSpec_id(orderVo.getBoxSkuId().equals("") ? orderVo.getSkuId() : orderVo.getBoxSkuId());
orderSkuParam.setGoods_no(orderVo.getSpuErpCode());
orderSkuParam.setSpec_no(orderVo.getSkuErpCode());
orderSkuParam.setGoods_name(spuVo.getName());
orderSkuParam.setAdjust_amount(BigDecimal.ZERO);
orderSkuParam.setDiscount(BigDecimal.ZERO);
orderSkuParam.setShare_discount(skuVo.getPrice().multiply(BigDecimal.valueOf(orderVo.getNum())).subtract(orderVo.getPriceActual()));
listOrderSku.add(orderSkuParam);
//配置订单维度数据
tradeListParam.setOrder_list(listOrderSku);
tradeListParam.setTid(orderVo.getOrderCode());
tradeListParam.setTrade_status(ErpEnum.WdtStatus.STATUS_UN_SEND.WdtStatus());
tradeListParam.setPay_status(2);
tradeListParam.setDelivery_term(1);
tradeListParam.setTrade_time(orderVo.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
tradeListParam.setPay_time(orderVo.getPayTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
tradeListParam.setBuyer_nick(orderVo.getUserName());
tradeListParam.setPay_id(orderVo.getPayCode());
tradeListParam.setReceiver_name("正在映画");
tradeListParam.setReceiver_province("北京市");
tradeListParam.setReceiver_city("北京市");
tradeListParam.setReceiver_district("朝阳区");
tradeListParam.setReceiver_address("广渠路 创1985园区 3-12");
tradeListParam.setReceiver_mobile("15901093014");
tradeListParam.setPost_amount(BigDecimal.ZERO);
tradeListParam.setExt_cod_fee(BigDecimal.ZERO);
tradeListParam.setOther_amount(BigDecimal.ZERO);
tradeListParam.setPaid(orderVo.getPriceActual());
tradeListParam.setWarehouse_no(orderVo.getErpWarehouseNo());
listOrder.add(tradeListParam);
}
return listOrder;
}
}
......@@ -54,6 +54,17 @@ public class GoblinRedisUtils {
}
}
// 获取 nft订单详情vo
public GoblinNftOrderVo getNftOrder(String orderId) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_NFT_ORDER_INFO.concat(orderId);
Object obj = getRedis().get(redisKey);
if (obj == null) {
return null;
} else {
return (GoblinNftOrderVo) obj;
}
}
// 获取 订单相关Skuvo
public GoblinOrderSkuVo getGoblinOrderSkuVo(String orderSkuId) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_SKU.concat(orderSkuId);
......
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