From 7665849db56ce2e0212078f942602b6cfc6c22ad Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 26 五月 2020 10:19:15 +0800 Subject: [PATCH] 苏宁相关代码添加 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java | 65 ++++++++++++++++++++++++++++++-- 1 files changed, 61 insertions(+), 4 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 6e2fcd0..af52a02 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.suning.SuningGoodsInfo; import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.HongBaoV2; @@ -45,6 +46,7 @@ import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.entity.order.InviteOrderSubsidy; import com.yeshi.fanli.entity.pdd.PDDOrder; +import com.yeshi.fanli.entity.suning.SuningOrderInfo; import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; @@ -85,6 +87,7 @@ import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; import com.yeshi.fanli.util.rocketmq.MQTopicName; +import com.yeshi.fanli.util.suning.SuningApiUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.util.user.UserLevelUtil; @@ -222,7 +225,7 @@ List<Integer> listSource) throws CommonOrderException, Exception { int pageSize = Constant.PAGE_SIZE; - + List<CommonOrderVO> listOrder = commonOrderMapper.listUserOrder((page - 1) * pageSize, pageSize, uid, state, type, orderState, orderNo, startTime, endTime, dateType, listSource); @@ -1229,6 +1232,59 @@ return commonOrderList; } + @Transactional(rollbackFor = Exception.class) + @Override + public List<CommonOrderAddResultDTO> addSuningOrder(List<SuningOrderInfo> suningOrderList, Long uid) + throws CommonOrderException { + List<CommonOrderAddResultDTO> commonOrderList = new ArrayList<>(); + // 鍒ゆ柇鎵�鏈夌殑璁㈠崟鐘舵�� + int invalidCount = 0; + for (SuningOrderInfo order : suningOrderList) { + if ("閫�娆�".equalsIgnoreCase(order.getOrderLineStatusDesc()) + || "璁㈠崟宸插彇娑�".equalsIgnoreCase(order.getOrderLineStatusDesc())) { + invalidCount++; + } + } + // 鑾峰彇鏁翠綋璁㈠崟鐨勭姸鎬� + int wholeOrderState = 0; + if (suningOrderList.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; + + for (SuningOrderInfo suningOrderInfo : suningOrderList) { + CommonOrder newCommonOrder = CommonOrderFactory.create(suningOrderInfo); + CommonOrderGoods cog = new CommonOrderGoods(); + cog.setGoodsId(suningOrderInfo.getGoodsNum() + ""); + cog.setGoodsType(Constant.SOURCE_TYPE_SUNING); + newCommonOrder.setCommonOrderGoods(cog); + newCommonOrder.setStateWholeOrder(wholeOrderState); + // 璁㈠崟鍟嗗搧鎻掑叆 + List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper.listByGoodsIdAndGoodsType(cog.getGoodsId(), + cog.getGoodsType()); + if (commonGoodsList.size() <= 0)// 涓嶅瓨鍦ㄥ氨鎻掑叆鍟嗗搧 + { + SuningGoodsInfo pddGoods = null; + // TODO 闇�瑕佽幏鍙� + pddGoods = SuningApiUtil.getGoodsDetail(suningOrderInfo.getGoodsNum(), "00000000"); + if (pddGoods != null) { + cog = CommonOrderGoodsFactory.create(pddGoods); + } + cog.setCreateTime(new Date()); + cog.setUpdateTime(new Date()); + commonOrderGoodsMapper.insertSelective(cog); + newCommonOrder.setCommonOrderGoods(cog); + } else { + } + newCommonOrder.setUserInfo(new UserInfo(uid)); + commonOrderList.add(addCommonOrder(newCommonOrder)); + } + addConfirmMQMsg(commonOrderList); + return commonOrderList; + } + /** * 娣诲姞璁㈠崟 * @@ -1889,9 +1945,9 @@ List<Integer> listSource, boolean notBackSuVip) throws CommonOrderException, Exception { int pageSize = Constant.PAGE_SIZE; - + List<CommonOrderVO> listOrder = commonOrderMapper.getOrderList((page - 1) * pageSize, pageSize, uid, state, - type, orderState, orderNo, startTime, endTime, dateType, listSource,notBackSuVip); + type, orderState, orderNo, startTime, endTime, dateType, listSource, notBackSuVip); // 璁㈠崟淇℃伅涓虹┖ if (listOrder == null || listOrder.size() == 0) { @@ -1913,7 +1969,8 @@ @Override public long countOrderList(Long uid, Integer state, Integer type, Integer orderState, String orderNo, - String startTime, String endTime, Integer dateType, List<Integer> listSource, boolean notBackSuVip) throws CommonOrderException { + String startTime, String endTime, Integer dateType, List<Integer> listSource, boolean notBackSuVip) + throws CommonOrderException { return commonOrderMapper.countOrderList(uid, state, type, orderState, orderNo, startTime, endTime, dateType, listSource, notBackSuVip); } -- Gitblit v1.8.0