From 110c73f31ecfd0dbd7299a0cfd39095d100cb923 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 22 五月 2020 13:52:29 +0800 Subject: [PATCH] 唯品会订单相关代码 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java | 88 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 77 insertions(+), 11 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java index 10ae403..ab39fa2 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java @@ -28,6 +28,7 @@ import com.yeshi.fanli.dto.mq.order.body.OrderConfirmMQMsg; import com.yeshi.fanli.dto.order.CommonOrderAddResultDTO; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; +import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.bus.user.UserInfo; @@ -50,6 +51,8 @@ import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoOrderGoods; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; +import com.yeshi.fanli.entity.vipshop.VipShopOrder; +import com.yeshi.fanli.entity.vipshop.VipShopOrderDetail; import com.yeshi.fanli.exception.order.CommonOrderException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.log.LogHelper; @@ -85,6 +88,7 @@ import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.util.user.UserLevelUtil; +import com.yeshi.fanli.util.vipshop.VipShopApiUtil; import com.yeshi.fanli.vo.msg.ClientTextStyleVO; import com.yeshi.fanli.vo.order.CommonOrderGoodsVO; import com.yeshi.fanli.vo.order.CommonOrderVO; @@ -605,8 +609,9 @@ } // 閭�璇� 闅愯棌璁㈠崟鍙� - if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType || HongBaoV2.TYPE_ERJI == hongBaoType - || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType || HongBaoV2.TYPE_SHARE_ERJI == hongBaoType) { + if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType + || HongBaoV2.TYPE_ERJI == hongBaoType || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType + || HongBaoV2.TYPE_SHARE_ERJI == hongBaoType) { order.setOrderNo(UserUtil.filterOrderId(order.getOrderNo())); } } @@ -1140,6 +1145,70 @@ goods.setSkuName(itemOrder.getSkuName()); goods.setPrice(itemOrder.getPrice()); goods.setSkuId(itemOrder.getSkuId()); + } + + if (goods != null) { + cog = CommonOrderGoodsFactory.create(goods); + } + + cog.setCreateTime(new Date()); + cog.setUpdateTime(new Date()); + commonOrderGoodsMapper.insertSelective(cog); + } else { + + } + newCommonOrder.setUserInfo(new UserInfo(uid)); + commonOrderList.add(addCommonOrder(newCommonOrder)); + } + addConfirmMQMsg(commonOrderList); + return commonOrderList; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public List<CommonOrderAddResultDTO> addVipShopOrder(VipShopOrder vipShopOrder, Long uid) + throws CommonOrderException { + List<CommonOrderAddResultDTO> commonOrderList = new ArrayList<>(); + // 鍒ゆ柇鎵�鏈夌殑璁㈠崟鐘舵�� + int invalidCount = 0; + for (VipShopOrderDetail detail : vipShopOrder.getDetailList()) { + if (detail.getStatus() == VipShopOrderDetail.STATUS_INVALID) { + invalidCount++; + } + } + + // 鑾峰彇鏁翠綋璁㈠崟鐨勭姸鎬� + int wholeOrderState = 0; + if (vipShopOrder.getDetailList().size() == invalidCount) + wholeOrderState = CommonOrder.STATE_WHOLE_ORDER_SHIXIAO; + else if (invalidCount == 0) + wholeOrderState = CommonOrder.STATE_WHOLE_ORDER_YOUXIAO; + else + wholeOrderState = CommonOrder.STATE_WHOLE_ORDER_BUFENYOUXIAO; + + List<VipShopOrderDetail> orderItemList = vipShopOrder.getDetailList(); + vipShopOrder.setDetailList(null); + + for (VipShopOrderDetail itemOrder : orderItemList) { + itemOrder.setOrder(vipShopOrder); + CommonOrder newCommonOrder = CommonOrderFactory.create(itemOrder); + CommonOrderGoods cog = new CommonOrderGoods(); + cog.setGoodsId(itemOrder.getGoodsId()); + cog.setGoodsType(Constant.SOURCE_TYPE_VIP); + newCommonOrder.setCommonOrderGoods(cog); + newCommonOrder.setStateWholeOrder(wholeOrderState); + // 璁㈠崟鍟嗗搧鎻掑叆 + List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper.listByGoodsIdAndGoodsType(cog.getGoodsId(), + cog.getGoodsType()); + if (commonGoodsList.size() <= 0)// 涓嶅瓨鍦ㄥ氨鎻掑叆鍟嗗搧 + { + VIPGoodsInfo goods = VipShopApiUtil.getGoodsDetail(itemOrder.getGoodsId()); + if (goods == null) { + goods = new VIPGoodsInfo(); + goods.setGoodsName(itemOrder.getGoodsName()); + goods.setVipPrice(""); + goods.setGoodsId(itemOrder.getGoodsId()); + goods.setGoodsThumbUrl(itemOrder.getGoodsThumb()); } if (goods != null) { @@ -1866,7 +1935,7 @@ || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) { Integer urank = order.getUrank(); if (urank != null) { - UserLevelEnum levelEnum = UserLevelUtil.getByOrderRank(urank); + UserLevelEnum levelEnum = UserLevelUtil.getByOrderRank(urank); if (levelEnum != null) { levelEnum = UserLevelUtil.getShowLevel(levelEnum); order.setOrderDesc("璁㈠崟鏉ユ簮锛�" + levelEnum.getName()); @@ -2033,7 +2102,7 @@ List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper .selectListByOrderIdAndState(order.getOrderNo(), "缁存潈鎴愬姛"); BigDecimal weiQuanMoney = getWeiQuanMoney(listWQ, sourceType, uid); - + if (settleTime != null) { orderStateContent = "鍞悗鎴愬姛"; WeiQuanInfo weiQuanInfo = new WeiQuanInfo(); @@ -2184,8 +2253,7 @@ order.setRewardDetail(rewardMap); } } - - + @Override public long countOrderByUidAndSettled(Long uid, BigDecimal payment) { Long count = commonOrderMapper.countOrderByUidAndSettled(uid, payment); @@ -2194,17 +2262,15 @@ } return count; } - - + @Override public String getNewestOrderNoByTaoBao() { return commonOrderMapper.getNewestOrderNoByTaoBao(); } - - + @Override public List<CommonOrder> listByOrderNo(String orderNo) { return commonOrderMapper.listByOrderNo(orderNo); } - + } -- Gitblit v1.8.0