From cc53b811ed77f131d7f16fe9bc1e9aa12d2c4681 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E8=88=AA=E8=80=81=E9=BD=90?= <280645618@qq.com> Date: Thu, 2 Oct 2025 08:47:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84tao=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=8B=89=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- microservices/tao-api/pom.xml | 5 + .../cn/qihangerp/api/tao/TaoApiCommon.java | 33 +- .../tao/controller/TaoOrderApiController.java | 2 +- .../order/service/impl/OOrderServiceImpl.java | 1085 +---------------- vue/src/views/order/index.vue | 622 +--------- vue/src/views/order/order_list.vue | 620 ++++++++++ vue/src/views/tao/order/index.vue | 1 + 7 files changed, 672 insertions(+), 1696 deletions(-) create mode 100644 vue/src/views/order/order_list.vue diff --git a/microservices/tao-api/pom.xml b/microservices/tao-api/pom.xml index 09173335..d7f8ecbe 100644 --- a/microservices/tao-api/pom.xml +++ b/microservices/tao-api/pom.xml @@ -25,6 +25,11 @@ system ${project.basedir}/libs/open-sdk-1.10.1.jar + + com.squareup.okhttp3 + okhttp + 4.12.0 + cn.qihangerp.service tao diff --git a/microservices/tao-api/src/main/java/cn/qihangerp/api/tao/TaoApiCommon.java b/microservices/tao-api/src/main/java/cn/qihangerp/api/tao/TaoApiCommon.java index c858d171..313be56e 100644 --- a/microservices/tao-api/src/main/java/cn/qihangerp/api/tao/TaoApiCommon.java +++ b/microservices/tao-api/src/main/java/cn/qihangerp/api/tao/TaoApiCommon.java @@ -6,6 +6,7 @@ import cn.qihangerp.common.api.ShopApiParams; import cn.qihangerp.common.enums.EnumShopType; import cn.qihangerp.common.enums.HttpStatus; import cn.qihangerp.model.entity.OShopPlatform; +import cn.qihangerp.module.service.OShopPlatformService; import cn.qihangerp.module.service.OShopService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; @@ -14,7 +15,7 @@ import org.springframework.util.StringUtils; @Component public class TaoApiCommon { private final OShopService shopService; -// private final OShopPlatformService platformService; + private final OShopPlatformService platformService; /** * 更新前的检查 @@ -35,26 +36,36 @@ public class TaoApiCommon { // return ApiResult.build(HttpStatus.PARAMS_ERROR, "参数错误,店铺不是淘系店铺"); return ResultVo.error(HttpStatus.PARAMS_ERROR, "参数错误,店铺不是淘系店铺"); } + String appKey = shop.getAppKey(); + String appSecret = shop.getAppSecret(); + Long sellId = shop.getSellerId(); + if(StringUtils.isEmpty(appKey) || StringUtils.isEmpty(appSecret)){ + OShopPlatform platform = platformService.selectById(EnumShopType.TAO.getIndex()); + if(platform != null){ + appKey = platform.getAppKey(); + appSecret = platform.getAppSecret(); + } + } +// -// OShopPlatform platform = platformService.selectById(EnumShopType.TAO.getIndex()); - - if(!StringUtils.hasText(shop.getAppKey())) { + if(!StringUtils.hasText(appKey)) { return ResultVo.error(HttpStatus.PARAMS_ERROR, "平台配置错误,没有找到AppKey"); } - if(!StringUtils.hasText(shop.getAppSecret())) { - return ResultVo.error(HttpStatus.PARAMS_ERROR, "第三方平台配置错误,没有找到AppSercet"); + if(!StringUtils.hasText(appSecret)) { + return ResultVo.error(HttpStatus.PARAMS_ERROR, "平台配置错误,没有找到AppSercet"); } // if(!StringUtils.hasText(platform.getServerUrl())) { // return ResultVo.error(HttpStatus.PARAMS_ERROR, "第三方平台配置错误,没有找到ServerUrl"); // } - if(shop.getSellerId() == null || shop.getSellerId() <= 0) { - return ResultVo.error(HttpStatus.PARAMS_ERROR, "第三方平台配置错误,没有找到SellerUserId"); - } +// if(sellId == null || sellId <= 0) { +// return ResultVo.error(HttpStatus.PARAMS_ERROR, "店铺配置错误,没有找到SellerUserId"); +// } ShopApiParams params = new ShopApiParams(); - params.setAppKey(shop.getAppKey()); - params.setAppSecret(shop.getAppSecret()); + params.setAppKey(appKey); + params.setAppSecret(appSecret); params.setAccessToken(shop.getAccessToken()); + params.setSellerId(sellId); // params.setRedirectUri(serverConfig.getUrl()+"/taoapi2/tao_oauth"); params.setRedirectUri(shop.getApiRedirectUrl()); params.setServerUrl(shop.getApiRequestUrl()); diff --git a/microservices/tao-api/src/main/java/cn/qihangerp/api/tao/controller/TaoOrderApiController.java b/microservices/tao-api/src/main/java/cn/qihangerp/api/tao/controller/TaoOrderApiController.java index 9c6dc42f..9f580f4e 100644 --- a/microservices/tao-api/src/main/java/cn/qihangerp/api/tao/controller/TaoOrderApiController.java +++ b/microservices/tao-api/src/main/java/cn/qihangerp/api/tao/controller/TaoOrderApiController.java @@ -40,7 +40,7 @@ import java.util.Date; */ @AllArgsConstructor @RestController -@RequestMapping("/api/open-api/tao/order") +@RequestMapping("/tao/order") public class TaoOrderApiController { private static Logger log = LoggerFactory.getLogger(TaoOrderApiController.class); diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java index 2d3a6698..6f9bf976 100644 --- a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java @@ -65,1130 +65,49 @@ public class OOrderServiceImpl extends ServiceImpl private final OfflineOrderMapper offlineOrderMapper; private final OfflineOrderItemMapper offlineOrderItemMapper; -// private final PddApiService pddApiService; -// private final TaoApiService taoApiService; -// private final JdApiService jdApiService; -// private final DouApiService douApiService; -// private final WeiApiService weiApiService; private final String DATE_PATTERN = "^(?:(?:(?:\\d{4}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|1\\d|2[0-8]))|(?:(?:(?:\\d{2}(?:0[48]|[2468][048]|[13579][26])|(?:(?:0[48]|[2468][048]|[13579][26])00))-0?2-29))$)|(?:(?:(?:\\d{4}-(?:0?[13578]|1[02]))-(?:0?[1-9]|[12]\\d|30))$)|(?:(?:(?:\\d{4}-0?[13-9]|1[0-2])-(?:0?[1-9]|[1-2]\\d|30))$)|(?:(?:(?:\\d{2}(?:0[48]|[13579][26]|[2468][048])|(?:(?:0[48]|[13579][26]|[2468][048])00))-0?2-29))$)$"; private final Pattern DATE_FORMAT = Pattern.compile(DATE_PATTERN); + + @Transactional @Override public ResultVo jdOrderMessage(String orderId,JSONObject orderDetail) { log.info("京东订单消息处理"+orderId); -// JSONObject jsonObject = jdApiService.getOrderDetail(Long.parseLong(orderId),0); -// if(jsonObject.getInteger("code")!=200 || jsonObject.getJSONObject("data") ==null){ -// log.info("=====jdpop order message===没有找到订单"); -// return ResultVo.error(404,"没有找到订单"); -// } - -// JSONObject orderDetail = jsonObject.getJSONObject("data"); - log.info("=====jdpop order message===订单:"+JSONObject.toJSONString(orderDetail)); - - JSONArray itemArray = orderDetail.getJSONArray("items"); - if (itemArray.isEmpty()) { -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - log.info("=====jdpop order message===没有items====事务回滚======="); - } - -// List jdOrders = jdOrderMapper.selectList(new LambdaQueryWrapper().eq(JdOrder::getOrderId, orderId)); -// if(jdOrders == null || jdOrders.size() == 0) { -// // 没有找到订单信息 -// return ResultVo.error(ResultVoEnum.NotFound,"没有找到JD订单:"+orderId); -// } -// JdOrder jdOrder = jdOrders.get(0); - // 状态 - int orderStatus = JdOrderStateEnum.getIndex(orderDetail.getString("orderState")); - Integer refundStatus=-1; - if (orderStatus == 11) { - //已取消的订单 - refundStatus=4; - } else if (orderStatus == -1) { - refundStatus=-1; - } else { - refundStatus=1; - } - // 价格 - double orderSellerPrice = 0.0; - try{ - orderSellerPrice = StringUtils.isEmpty(orderDetail.getString("orderSellerPrice")) ? 0.0 : Double.parseDouble(orderDetail.getString("orderSellerPrice")); - }catch (Exception e){} - double freightPrice =0.0; - try{ - freightPrice = StringUtils.isEmpty(orderDetail.getString("freightPrice")) ? 0.0 : Double.parseDouble(orderDetail.getString("freightPrice")); - }catch (Exception e){} - double orderPayment = 0.0; - try { - orderPayment = StringUtils.isEmpty(orderDetail.getString("orderPayment")) ? 0.0 : Double.parseDouble(orderDetail.getString("orderPayment")); - }catch (Exception e){ - } - double sellerDiscount= 0.0; - try { - sellerDiscount = StringUtils.isEmpty(orderDetail.getString("sellerDiscount")) ? 0.0 : Double.parseDouble(orderDetail.getString("sellerDiscount")); - }catch (Exception e){ - } - if(orderSellerPrice == 0.0) orderSellerPrice = orderPayment; - List oOrders = orderMapper.selectList(new LambdaQueryWrapper().eq(OOrder::getOrderNum, orderId)); - if(oOrders == null || oOrders.isEmpty()) { - // 新增订单 12 - OOrder insert = new OOrder(); - insert.setOrderNum(orderId); - insert.setShopType(EnumShopType.JD.getIndex()); - insert.setShopId(orderDetail.getLong("shopId")); - insert.setBuyerMemo(orderDetail.getString("orderRemark")); - insert.setSellerMemo(orderDetail.getString("venderRemark")); - insert.setRefundStatus(refundStatus); - insert.setOrderStatus(orderStatus); - // 价格 - insert.setGoodsAmount(orderSellerPrice); - insert.setPayment(orderPayment); - insert.setAmount(orderSellerPrice); - insert.setPostFee(freightPrice); - insert.setPlatformDiscount(0.0); - insert.setSellerDiscount(sellerDiscount); - - insert.setReceiverName(orderDetail.getString("fullname")); - insert.setReceiverMobile(orderDetail.getString("mobile")); - insert.setAddress(orderDetail.getString("fullAddress")); - insert.setProvince(orderDetail.getString("province")); - insert.setCity(orderDetail.getString("city")); - insert.setTown(orderDetail.getString("county")); - insert.setOrderTime(DateUtils.parseDate(orderDetail.getString("orderStartTime"))); - insert.setShipType(0); - insert.setCreateTime(new Date()); - insert.setCreateBy("ORDER_MESSAGE"); - - orderMapper.insert(insert); - - // 添加orderItem - addJdOrderItem(insert,orderId,insert.getId(),orderStatus,orderSellerPrice,orderPayment,itemArray); - }else{ - // 修改订单 (修改:) - OOrder update = new OOrder(); - update.setId(oOrders.get(0).getId()); - update.setShopType(EnumShopType.JD.getIndex()); - update.setShopId(orderDetail.getLong("shopId")); - // 价格 - update.setGoodsAmount(orderSellerPrice); - update.setPayment(orderPayment); - update.setAmount(orderSellerPrice); - update.setPostFee(freightPrice); - update.setPlatformDiscount(0.0); - update.setSellerDiscount(sellerDiscount); - update.setRefundStatus(refundStatus); - update.setOrderStatus(orderStatus); - update.setUpdateTime(new Date()); - update.setUpdateBy("ORDER_MESSAGE"); - orderMapper.updateById(update); - - // 删除orderItem -// orderItemMapper.delete(new LambdaQueryWrapper().eq(OOrderItem::getOrderId,update.getId())); - // 插入orderItem - addJdOrderItem(update,orderId,update.getId(),orderStatus,orderSellerPrice,orderPayment,itemArray); - - } return ResultVo.success(); } - private void addJdOrderItem(OOrder oOrder,String orderId,String oOrderId,Integer orderStatus,Double orderSellerPrice,Double orderPayment,JSONArray itemArray ) { - Double payedItemAmount = 0.0;//已付金额 - for (int i =0;i oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuCode, skuNum)); - if(oGoodsSkus==null||oGoodsSkus.isEmpty()){ - log.error("同步JD订单没有找到商品库商品SKU"); - }else{ - oGoodsId = oGoodsSkus.get(0).getGoodsId(); - oGoodsSkuId = oGoodsSkus.get(0).getId(); - } - }else { - log.error("同步JD订单{},原始订单没有填写sku编码信息",oOrder.getOrderNum()); - } - }else{ - OGoodsSku oGoodsSku = oGoodsSkuMapper.selectById(oGoodsSkuId); - if(oGoodsSku==null){ - // 没有关联商品库商品skuid,查找关联====使用skucode查找 - if(org.springframework.util.StringUtils.hasText(skuNum)) { - List oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuCode, skuNum)); - if(oGoodsSkus==null||oGoodsSkus.isEmpty()){ - log.error("同步JD订单没有找到商品库商品SKU"); - }else{ - oGoodsId = oGoodsSkus.get(0).getGoodsId(); - oGoodsSkuId = oGoodsSkus.get(0).getId(); - } - }else { - log.error("同步JD订单{},原始订单没有填写sku编码信息",oOrder.getOrderNum()); - } - }else{ - oGoodsId = oGoodsSku.getGoodsId(); - oGoodsSkuId = oGoodsSku.getId(); - } - } - - OOrderItem orderItem = new OOrderItem(); - orderItem.setOrderId(oOrder.getId()); - orderItem.setShopType(oOrder.getShopType()); - orderItem.setShopId(oOrder.getShopId()); - orderItem.setOrderNum(oOrder.getOrderNum()); - orderItem.setSubOrderNum(oOrder.getOrderNum()+"-"+itemObject.getString("skuId")); - // TODO:这里将订单商品skuid转换成erp系统的skuid -// Long erpGoodsId = 0L; -// String erpSkuId = "0"; -// -// List jdGoodsSkus = jdGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(JdGoodsSku::getSkuId, item.getSkuId())); -// if (jdGoodsSkus != null && !jdGoodsSkus.isEmpty()) { -// erpGoodsId = jdGoodsSkus.get(0).getOGoodsId(); -// erpSkuId = jdGoodsSkus.get(0).getOGoodsSkuId(); -// orderItem.setGoodsImg(jdGoodsSkus.get(0).getLogo()); -// orderItem.setGoodsSpec(jdGoodsSkus.get(0).getSkuName()); -// orderItem.setSkuNum(jdGoodsSkus.get(0).getOuterId()); -// } - orderItem.setSkuNum(skuNum); - orderItem.setGoodsId(oGoodsId); - orderItem.setGoodsSkuId(oGoodsSkuId); -// orderItem.setSkuNum(itemObject.getString("outerSkuId")); - orderItem.setSkuId(itemObject.getString("skuId")); -// orderItem.setGoodsId(itemObject.getLong("oGoodsId")); -// orderItem.setGoodsSkuId(itemObject.getLong("oGoodsSkuId")); - orderItem.setGoodsTitle(itemObject.getString("skuName")); - orderItem.setGoodsPrice(StringUtils.isEmpty(itemObject.getString("jdPrice")) ? 0.0 : Double.parseDouble(itemObject.getString("jdPrice"))); - Integer quantity = itemObject.getInteger("itemTotal"); - - // TODO:计算子订单价格 计算公式不对 -// Double orderTotalPrice = Double.parseDouble(jdOrder.getOrderTotalPrice()) * 100; -// Double orderPayment = Double.parseDouble(jdOrder.getOrderPayment()) * 100; -// // 折扣比例 -// Double rate = orderPayment / orderTotalPrice; -// -// // 折扣计算后的价格 -// if ((i+1) != itemArray.size()) { -// Double itemAmountTmp = orderItem.getGoodsPrice() * rate * quantity; -// double itemAmount = BigDecimal.valueOf(itemAmountTmp).setScale(2, RoundingMode.HALF_UP).doubleValue(); -// orderItem.setItemAmount(itemAmount); -// orderItem.setPayment(itemAmount); -// payedItemAmount += itemAmount; -//// availableItemAmount = Double.parseDouble(jdOrder.getOrderPayment()) - availableItemAmount; -// } else { -// payedItemAmount = Double.parseDouble(jdOrder.getOrderPayment()) - payedItemAmount; -// orderItem.setItemAmount(payedItemAmount); -// orderItem.setPayment(payedItemAmount); -// } - -// orderItem.setItemAmount(orderItem.getGoodsPrice() *quantity); - - orderItem.setQuantity(quantity); - if (orderStatus == 11) { - orderItem.setRefundStatus(4); - orderItem.setRefundCount(quantity); - } else if (orderStatus == -1) { - orderItem.setRefundStatus(-1); - } else { - orderItem.setRefundStatus(1); - orderItem.setRefundCount(0); - } - - List oOrderItems = orderItemMapper.selectList(new LambdaQueryWrapper() - .eq(OOrderItem::getOrderId, oOrderId) - .eq(OOrderItem::getSkuId, itemObject.getString("skuId"))); - if(oOrderItems==null||oOrderItems.isEmpty()){ - //不存在,新增 - orderItem.setCreateTime(new Date()); - orderItem.setCreateBy("ORDER_MESSAGE"); - orderItemMapper.insert(orderItem); - }else { - orderItem.setId(oOrderItems.get(0).getId()); - orderItem.setUpdateBy("ORDER_MESSAGE"); - orderItem.setUpdateTime(new Date()); - orderItemMapper.updateById(orderItem); - } - - orderItem.setCreateTime(new Date()); - orderItem.setCreateBy("ORDER_MESSAGE"); - orderItemMapper.insert(orderItem); - } - - } @Transactional @Override public ResultVo taoOrderMessage(String tid,JSONObject orderDetail ) { log.info("Tao订单消息处理"+tid); -// JSONObject jsonObject = taoApiService.getOrderDetail(tid); -// if(jsonObject.getInteger("code")!=200 || jsonObject.getJSONObject("data") ==null){ -// log.info("=====tao order message===没有找到订单"); -// return ResultVo.error(404,"没有找到订单"); -// } -// -// JSONObject orderDetail = jsonObject.getJSONObject("data"); - log.info("=====tao order message===订单:"+JSONObject.toJSONString(orderDetail)); - - JSONArray itemArray = orderDetail.getJSONArray("items"); - if (itemArray.isEmpty()) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - log.info("=====tao order message===没有items====事务回滚======="); - } -// List taoOrders = taoOrderMapper.selectList(new LambdaQueryWrapper().eq(TaoOrder::getTid, tid)); -// -// if(taoOrders == null || taoOrders.size() == 0) { -// // 没有找到订单信息 -// return ResultVo.error(ResultVoEnum.NotFound,"没有找到TAO订单:"+tid); -// } -// TaoOrder taoOrder = taoOrders.get(0); - List oOrders = orderMapper.selectList(new LambdaQueryWrapper().eq(OOrder::getOrderNum, tid)); - if(oOrders == null || oOrders.isEmpty()) { - // 新增订单 - OOrder insert = new OOrder(); - insert.setOrderNum(tid); - insert.setShopType(EnumShopType.TAO.getIndex()); - insert.setShopId(orderDetail.getLong("shopId")); - String buyerMemo = ""; - if(org.springframework.util.StringUtils.hasText(orderDetail.getString("buyerMessage"))){ - buyerMemo += orderDetail.getString("buyerMessage"); - } - if(org.springframework.util.StringUtils.hasText(orderDetail.getString("buyerMemo"))){ - buyerMemo += orderDetail.getString("buyerMemo"); - } - insert.setBuyerMemo(buyerMemo); - insert.setSellerMemo(orderDetail.getString("sellerMemo")); - // 状态 - int orderStatus = TaoOrderStateEnum.getIndex(orderDetail.getString("status")); - if (orderStatus == 11) { - insert.setRefundStatus(4); - } else if (orderStatus == -1) { - insert.setRefundStatus(-1); - } else { - insert.setRefundStatus(1); - } - insert.setOrderStatus(orderStatus); - Double goodsAmount = orderDetail.getDouble("totalFee"); - Double postFee = orderDetail.getDouble("postFee"); - Double payment = orderDetail.getDouble("payment"); - insert.setGoodsAmount(goodsAmount); - insert.setPostFee(postFee); - insert.setAmount(payment); - insert.setPayment(payment); - insert.setPlatformDiscount(0.0); - insert.setSellerDiscount(goodsAmount+postFee-payment); - insert.setReceiverName(orderDetail.getString("receiverName")); - insert.setReceiverMobile(orderDetail.getString("receiverMobile")); - insert.setAddress(orderDetail.getString("receiverAddress")); - insert.setProvince(orderDetail.getString("receiverState")); - insert.setCity(orderDetail.getString("receiverCity")); - insert.setTown(orderDetail.getString("receiverDistrict")); - insert.setOrderTime(orderDetail.getDate("created")); - // 计算商家优惠 -// Double sellerDiscount = 0.0; -// List taoOrderPromotions = taoOrderPromotionMapper.selectList(new LambdaQueryWrapper().eq(TaoOrderPromotion::getId, taoOrder.getTid())); -// if(taoOrderPromotions!=null){ -// for (var it:taoOrderPromotions) { -// if(org.springframework.util.StringUtils.hasText(it.getKdDiscountFee())){ -// try { -// sellerDiscount += Double.parseDouble(it.getKdDiscountFee()); -// }catch (Exception e){} -// } else if (org.springframework.util.StringUtils.hasText(it.getDiscountFee())) { -// try { -// sellerDiscount += Double.parseDouble(it.getDiscountFee()); -// }catch (Exception e){} -// } -// } -// } -// insert.setSellerDiscount(sellerDiscount); - - - insert.setShipType(0); - insert.setCreateTime(new Date()); - insert.setCreateBy("ORDER_MESSAGE"); - - orderMapper.insert(insert); - - // 插入orderItem - addTaoOrderItem(insert,tid,itemArray); - - }else{ - // 修改订单 (修改:) - OOrder update = new OOrder(); - update.setId(oOrders.get(0).getId()); - update.setShopType(EnumShopType.TAO.getIndex()); - update.setShopId(orderDetail.getLong("shopId")); - String buyerMemo = ""; - if(org.springframework.util.StringUtils.hasText(orderDetail.getString("buyerMessage"))){ - buyerMemo += orderDetail.getString("buyerMessage"); - } - if(org.springframework.util.StringUtils.hasText(orderDetail.getString("buyerMemo"))){ - buyerMemo += orderDetail.getString("buyerMemo"); - } - update.setBuyerMemo(buyerMemo); - update.setSellerMemo(orderDetail.getString("sellerMemo")); - // 状态 - int orderStatus = TaoOrderStateEnum.getIndex(orderDetail.getString("status")); - if (orderStatus == 11) { - update.setRefundStatus(4); - } else if (orderStatus == -1) { - update.setRefundStatus(-1); - } else { - update.setRefundStatus(1); - } - update.setOrderStatus(orderStatus); - - Double goodsAmount = orderDetail.getDouble("totalFee"); - Double postFee = orderDetail.getDouble("postFee"); - Double payment = orderDetail.getDouble("payment"); - update.setGoodsAmount(goodsAmount); - update.setPostFee(postFee); - update.setAmount(payment); - update.setPayment(payment); - update.setPlatformDiscount(0.0); - update.setSellerDiscount(goodsAmount+postFee-payment); - update.setReceiverName(orderDetail.getString("receiverName")); - update.setReceiverMobile(orderDetail.getString("receiverMobile")); - update.setAddress(orderDetail.getString("receiverAddress")); - update.setUpdateTime(new Date()); - update.setUpdateBy("ORDER_MESSAGE"); - orderMapper.updateById(update); - - // 插入orderItem - addTaoOrderItem(update,tid,itemArray); - } return ResultVo.success(); } - private void addTaoOrderItem(OOrder oOrder,String tid, JSONArray itemArray) { - for (int i = 0; i < itemArray.size(); i++) { - JSONObject itemObject = itemArray.getJSONObject(i); - - // 查询商品库商品 - Long oGoodsId = itemObject.getLong("oGoodsId"); - Long oGoodsSkuId =itemObject.getLong("oGoodsSkuId"); - String skuNum = itemObject.getString("outerSkuId"); - - if(oGoodsSkuId<=0){ - // 没有关联商品库商品skuid,查找关联====使用skucode查找 - if(org.springframework.util.StringUtils.hasText(skuNum)) { - List oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuCode, skuNum)); - if(oGoodsSkus==null||oGoodsSkus.isEmpty()){ - log.error("同步TAO订单没有找到商品库商品SKU"); - }else{ - oGoodsId = oGoodsSkus.get(0).getGoodsId(); - oGoodsSkuId = oGoodsSkus.get(0).getId(); - } - }else { - log.error("同步TAO订单{},原始订单没有填写sku编码信息",tid); - } - }else{ - OGoodsSku oGoodsSku = oGoodsSkuMapper.selectById(oGoodsSkuId); - if(oGoodsSku==null){ - // 没有关联商品库商品skuid,查找关联====使用skucode查找 - if(org.springframework.util.StringUtils.hasText(skuNum)) { - List oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuCode, skuNum)); - if(oGoodsSkus==null||oGoodsSkus.isEmpty()){ - log.error("同步TAO订单没有找到商品库商品SKU"); - }else{ - oGoodsId = oGoodsSkus.get(0).getGoodsId(); - oGoodsSkuId = oGoodsSkus.get(0).getId(); - } - }else { - log.error("同步TAO订单{},原始订单没有填写sku编码信息",tid); - } - }else{ - oGoodsId = oGoodsSku.getGoodsId(); - oGoodsSkuId = oGoodsSku.getId(); - } - } - - OOrderItem orderItem = new OOrderItem(); - orderItem.setOrderId(oOrder.getId()); - orderItem.setShopType(oOrder.getShopType()); - orderItem.setShopId(oOrder.getShopId()); - orderItem.setOrderNum(tid); - orderItem.setSubOrderNum(itemObject.getString("oid")); - orderItem.setSkuNum(skuNum); - orderItem.setGoodsId(oGoodsId); - orderItem.setGoodsSkuId(oGoodsSkuId); - orderItem.setSkuId(itemObject.getString("skuId")); - - orderItem.setGoodsImg(itemObject.getString("picPath")); - orderItem.setGoodsSpec(itemObject.getString("skuPropertiesName")); - orderItem.setGoodsTitle(itemObject.getString("title")); - orderItem.setGoodsPrice(itemObject.getDouble("price")); - orderItem.setItemAmount(itemObject.getDouble("totalFee")); - orderItem.setDiscountAmount(itemObject.getDouble("partMjzDiscount")); - orderItem.setPayment(itemObject.getDouble("payment")); - orderItem.setQuantity(itemObject.getInteger("num")); - // 退款状态。退款状态。可选值 WAIT_SELLER_AGREE(买家已经申请退款,等待卖家同意) - // WAIT_BUYER_RETURN_GOODS(卖家已经同意退款,等待买家退货) - // WAIT_SELLER_CONFIRM_GOODS(买家已经退货,等待卖家确认收货) - // SELLER_REFUSE_BUYER(卖家拒绝退款) - // CLOSED(退款关闭) - // SUCCESS(退款成功) - if (itemObject.getString("refundStatus").equals("WAIT_SELLER_AGREE") - || itemObject.getString("refundStatus").equals("WAIT_BUYER_RETURN_GOODS") - || itemObject.getString("refundStatus").equals("WAIT_SELLER_CONFIRM_GOODS") - || itemObject.getString("refundStatus").equals("SELLER_REFUSE_BUYER")) { - orderItem.setRefundStatus(2); - orderItem.setRefundCount(itemObject.getInteger("num")); - } else if (itemObject.getString("refundStatus").equals("SUCCESS")) { - orderItem.setRefundCount(itemObject.getInteger("num")); - orderItem.setRefundStatus(4); - } else if (itemObject.getString("refundStatus").equals("CLOSED") || itemObject.getString("refundStatus").equals("NO_REFUND")) { - orderItem.setRefundStatus(1); - orderItem.setRefundCount(0); - } - // 状态 - int orderStatus = TaoOrderStateEnum.getIndex(itemObject.getString("status")); - orderItem.setOrderStatus(orderStatus); - - List oOrderItems = orderItemMapper.selectList(new LambdaQueryWrapper() - .eq(OOrderItem::getOrderId, oOrder.getId()) - .eq(OOrderItem::getSkuId, itemObject.getString("skuId"))); - if(oOrderItems==null||oOrderItems.isEmpty()){ - //不存在,新增 - orderItem.setCreateTime(new Date()); - orderItem.setCreateBy("ORDER_MESSAGE"); - orderItemMapper.insert(orderItem); - }else { - orderItem.setId(oOrderItems.get(0).getId()); - orderItem.setUpdateBy("ORDER_MESSAGE"); - orderItem.setUpdateTime(new Date()); - orderItemMapper.updateById(orderItem); - } - - - } - - } @Transactional @Override public ResultVo pddOrderMessage(String orderSn,JSONObject orderDetail ) { log.info("=====pdd order message===订单号{}===" + orderSn); -// JSONObject jsonObject = pddApiService.getOrderDetail(orderSn); -// if(jsonObject.getInteger("code")!=200 || jsonObject.getJSONObject("data") ==null){ -// log.info("=====pdd order message===没有找到订单"); -// return ResultVo.error(404,"没有找到订单"); -// } -// -// JSONObject orderDetail = jsonObject.getJSONObject("data"); - log.info("=====pdd order message===订单:" + JSONObject.toJSONString(orderDetail)); - if (orderDetail == null) return ResultVo.error(404, "没有找到订单"); - JSONArray itemArray = orderDetail.getJSONArray("items"); - if (itemArray.isEmpty()) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - log.info("=====pdd order message===没有items====事务回滚======="); - } -// List originOrders = pddOrderMapper.selectList(new LambdaQueryWrapper().eq(PddOrder::getOrderSn, orderSn)); -// -// if(originOrders == null || originOrders.size() == 0) { -// // 没有找到订单信息 -// return ResultVo.error(ResultVoEnum.NotFound,"没有找到PDD原始订单:"+orderSn); -// } -// PddOrder originOrder = originOrders.get(0); -// PddOrder originOrder = new PddOrder(); - OOrder newOrder = new OOrder(); - Integer originOrderStatus = orderDetail.getInteger("orderStatus"); - Integer originRefundStatus = orderDetail.getInteger("refundStatus"); - // 状态 订单状态0:新订单,1:待发货,2:已发货,3:已完成,11已取消;12退款中;21待付款;22锁定,29删除 - int orderStatus = -1; - int refundStatus = -1; - if (originRefundStatus == 1) { - // 没有售后 - orderStatus = originOrderStatus; - refundStatus = 1; - } else { - if (originRefundStatus == 4) { - refundStatus = 4; - orderStatus = 11; - } else { - refundStatus = originRefundStatus; - orderStatus = 12; - } - } - List oOrders = orderMapper.selectList(new LambdaQueryWrapper().eq(OOrder::getOrderNum, orderSn)); - if (oOrders == null || oOrders.isEmpty()) { - // 新增订单 - OOrder insert = new OOrder(); - insert.setOrderNum(orderSn); - insert.setShopType(EnumShopType.PDD.getIndex()); - insert.setShopId(orderDetail.getLong("shopId")); - insert.setBuyerMemo(orderDetail.getString("buyerMemo")); - insert.setSellerMemo(orderDetail.getString("remark")); - - insert.setRefundStatus(refundStatus); - insert.setOrderStatus(orderStatus); - // 价格 - insert.setGoodsAmount(orderDetail.getDouble("goodsAmount"));//.getGoodsAmount()); - insert.setPostFee(orderDetail.getDouble("postage")); - insert.setAmount(orderDetail.getDouble("payAmount")); - insert.setPayment(orderDetail.getDouble("payAmount")); -// double platformDiscount = originOrder.getPlatformDiscount()!=null?originOrder.getPlatformDiscount():0.0; - insert.setPlatformDiscount(orderDetail.getDouble("platformDiscount")); -// double sellerDiscount = originOrder.getSellerDiscount()!=null?originOrder.getSellerDiscount():0.0; - insert.setSellerDiscount(orderDetail.getDouble("sellerDiscount")); - - insert.setReceiverName(orderDetail.getString("receiverNameMask")); - insert.setReceiverMobile(orderDetail.getString("receiverPhoneMask")); - insert.setAddress(orderDetail.getString("addressMask")); - insert.setProvince(orderDetail.getString("province")); - insert.setCity(orderDetail.getString("city")); - insert.setTown(orderDetail.getString("town")); - insert.setOrderTime(DateUtils.parseDate(orderDetail.getString("createdTime"))); - insert.setShipType(0); - insert.setCreateTime(new Date()); - insert.setCreateBy("ORDER_MESSAGE"); - - orderMapper.insert(insert); - - newOrder = insert; - // 插入orderItem -// addPddOrderItem(insert.getId(),originOrder.getOrderSn(),orderStatus,refundStatus,platformDiscount,sellerDiscount); - - -// for (int i = 0; i < itemArray.size(); i++) { -// JSONObject itemObject = itemArray.getJSONObject(i); -//// Map itemObject = (Map) itemArray.get(i); -//// JSONObject itemObject = (JSONObject) item; -// -// // 查询商品库商品 -// Long oGoodsId = itemObject.getLong("oGoodsId"); -// Long oGoodsSkuId =itemObject.getLong("oGoodsSkuId"); -// String skuNum = itemObject.getString("outerSkuId"); -// -// if(oGoodsSkuId<=0){ -// // 没有关联商品库商品skuid,查找关联====使用skucode查找 -// if(org.springframework.util.StringUtils.hasText(skuNum)) { -// List oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuCode, skuNum)); -// if(oGoodsSkus==null||oGoodsSkus.isEmpty()){ -// log.error("同步TAO订单没有找到商品库商品SKU"); -// }else{ -// oGoodsId = oGoodsSkus.get(0).getGoodsId(); -// oGoodsSkuId = oGoodsSkus.get(0).getId(); -// } -// }else { -// log.error("同步TAO订单{},原始订单没有填写sku编码信息",tid); -// } -// }else{ -// OGoodsSku oGoodsSku = oGoodsSkuMapper.selectById(oGoodsSkuId); -// if(oGoodsSku==null){ -// // 没有关联商品库商品skuid,查找关联====使用skucode查找 -// if(org.springframework.util.StringUtils.hasText(skuNum)) { -// List oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuCode, skuNum)); -// if(oGoodsSkus==null||oGoodsSkus.isEmpty()){ -// log.error("同步TAO订单没有找到商品库商品SKU"); -// }else{ -// oGoodsId = oGoodsSkus.get(0).getGoodsId(); -// oGoodsSkuId = oGoodsSkus.get(0).getId(); -// } -// }else { -// log.error("同步TAO订单{},原始订单没有填写sku编码信息",tid); -// } -// }else{ -// oGoodsId = oGoodsSku.getGoodsId(); -// oGoodsSkuId = oGoodsSku.getId(); -// } -// } -// -// OOrderItem orderItem = new OOrderItem(); -// orderItem.setOrderId(insert.getId()); -// orderItem.setOrderNum(orderSn); -// orderItem.setSubOrderNum(orderSn + "-" + itemObject.getString("skuId")); -// orderItem.setShopType(EnumShopType.PDD.getIndex()); -// orderItem.setShopId(orderDetail.getLong("shopId")); -// // 这里将订单商品skuid转换成erp系统的skuid -//// Long erpGoodsId = 0L; -//// String erpSkuId = "0"; -//// -//// List pddGoodsSku = pddGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(PddGoodsSku::getSkuId, item.getSkuId())); -//// if (pddGoodsSku != null && !pddGoodsSku.isEmpty()) { -//// erpGoodsId = pddGoodsSku.get(0).getOGoodsId(); -//// erpSkuId = pddGoodsSku.get(0).getOGoodsSkuId(); -////// orderItem.setGoodsImg(taoGoodsSku.get(0).getLogo()); -////// orderItem.setGoodsSpec(jdGoodsSkus.get(0).getSkuName()); -////// orderItem.setSkuNum(taoGoodsSku.get(0).getOuterId()); -//// } -// orderItem.setSkuNum(skuNum); -// orderItem.setGoodsId(oGoodsId); -// orderItem.setGoodsSkuId(oGoodsSkuId); -//// orderItem.setSkuNum(itemObject.getString("outerId")); -// orderItem.setSkuId(itemObject.getString("skuId")); -//// orderItem.setGoodsId(itemObject.getLong("ogoodsId")); -//// orderItem.setGoodsSkuId(itemObject.getLong("ogoodsSkuId")); -// orderItem.setGoodsImg(itemObject.getString("goodsImg")); -// orderItem.setGoodsSpec(itemObject.getString("goodsSpec")); -// orderItem.setGoodsTitle(itemObject.getString("goodsName")); -// orderItem.setGoodsPrice(itemObject.getDouble("goodsPrice")); -// orderItem.setQuantity(itemObject.getInteger("goodsCount")); -// if (i == 0) { -// Double itemAmount = orderItem.getGoodsPrice() * orderItem.getQuantity() - insert.getPlatformDiscount() - insert.getSellerDiscount(); -// orderItem.setItemAmount(itemAmount); -// orderItem.setPayment(itemAmount); -// } else { -// orderItem.setItemAmount(orderItem.getGoodsPrice() * orderItem.getQuantity()); -// orderItem.setPayment(orderItem.getGoodsPrice() * orderItem.getQuantity()); -// } -//// orderItem.setPayment(item.getGoodsPrice()); -// -// orderItem.setOrderStatus(orderStatus); -// orderItem.setRefundStatus(refundStatus); -// orderItem.setRefundCount(0); -// orderItem.setCreateTime(new Date()); -// orderItem.setCreateBy("ORDER_MESSAGE"); -// orderItemMapper.insert(orderItem); -// } - - - } else { - // 修改订单 (修改:) - OOrder update = new OOrder(); - update.setId(oOrders.get(0).getId()); - update.setShopType(EnumShopType.PDD.getIndex()); - update.setShopId(orderDetail.getLong("shopId")); -// Integer originOrderStatus = orderDetail.getInteger("orderStatus"); -// Integer originRefundStatus = orderDetail.getInteger("refundStatus"); -// // 状态 订单状态0:新订单,1:待发货,2:已发货,3:已完成,11已取消;12退款中;21待付款;22锁定,29删除 -// int orderStatus = -1; -// int refundStatus = -1; -// if (originRefundStatus == 1) { -// // 没有售后 -// orderStatus = originOrderStatus; -// refundStatus = 1; -// } else { -// if (originRefundStatus == 4) { -// refundStatus = 4; -// orderStatus = 11; -// } else { -// refundStatus = originRefundStatus; -// orderStatus = 12; -// } -// } - update.setRefundStatus(refundStatus); - update.setOrderStatus(orderStatus); - - // 价格 - update.setGoodsAmount(orderDetail.getDouble("goodsAmount"));//.getGoodsAmount()); - update.setPostFee(orderDetail.getDouble("postage")); - update.setAmount(orderDetail.getDouble("payAmount")); - update.setPayment(orderDetail.getDouble("payAmount")); -// double platformDiscount = originOrder.getPlatformDiscount()!=null?originOrder.getPlatformDiscount():0.0; - update.setPlatformDiscount(orderDetail.getDouble("platformDiscount")); -// double sellerDiscount = originOrder.getSellerDiscount()!=null?originOrder.getSellerDiscount():0.0; - update.setSellerDiscount(orderDetail.getDouble("sellerDiscount")); - - if (orderStatus == 1 && refundStatus == 1) { - if (StringUtils.isNotBlank(orderDetail.getString("receiverNameMask"))) { - update.setReceiverName(orderDetail.getString("receiverNameMask")); - } - if (StringUtils.isNotBlank(orderDetail.getString("receiverPhoneMask"))) { - update.setReceiverMobile(orderDetail.getString("receiverPhoneMask")); - } - if (StringUtils.isNotBlank(orderDetail.getString("addressMask"))) { - update.setAddress(orderDetail.getString("addressMask")); - } - } - - if (StringUtils.isNotBlank(orderDetail.getString("province"))) { - update.setProvince(orderDetail.getString("province")); - } - if (StringUtils.isNotBlank(orderDetail.getString("city"))) { - update.setCity(orderDetail.getString("city")); - } - if (StringUtils.isNotBlank(orderDetail.getString("town"))) { - update.setTown(orderDetail.getString("town")); - } - update.setUpdateTime(new Date()); - update.setUpdateBy("ORDER_MESSAGE"); - orderMapper.updateById(update); - newOrder = update; - // 删除orderItem -// orderItemMapper.delete(new LambdaQueryWrapper().eq(OOrderItem::getOrderId,update.getId())); -// // 插入orderItem -// addPddOrderItem(update.getId(),originOrder.getOrderSn(),orderStatus,refundStatus,platformDiscount,sellerDiscount); - -// JSONArray itemArray = orderDetail.getJSONArray("items"); -// if (itemArray.isEmpty()) { -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -// log.info("=====pdd order message===没有items====事务回滚======="); -// } - - - } - - for (int i = 0; i < itemArray.size(); i++) { - JSONObject itemObject = itemArray.getJSONObject(i); - // 查询商品库商品 - Long oGoodsId = itemObject.getLong("ogoodsId"); - Long oGoodsSkuId = itemObject.getLong("ogoodsSkuId"); - String skuNum = itemObject.getString("outerId"); - - if (oGoodsSkuId <= 0) { - // 没有关联商品库商品skuid,查找关联====使用skucode查找 - if (org.springframework.util.StringUtils.hasText(skuNum)) { - List oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuCode, skuNum)); - if (oGoodsSkus == null || oGoodsSkus.isEmpty()) { - log.error("同步PDD订单没有找到商品库商品SKU"); - } else { - oGoodsId = oGoodsSkus.get(0).getGoodsId(); - oGoodsSkuId = oGoodsSkus.get(0).getId(); - } - } else { - log.error("同步PDD订单{},原始订单没有填写sku编码信息", newOrder.getOrderNum()); - } - } else { - OGoodsSku oGoodsSku = oGoodsSkuMapper.selectById(oGoodsSkuId); - if (oGoodsSku == null) { - // 没有关联商品库商品skuid,查找关联====使用skucode查找 - if (org.springframework.util.StringUtils.hasText(skuNum)) { - List oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuCode, skuNum)); - if (oGoodsSkus == null || oGoodsSkus.isEmpty()) { - log.error("同步PDD订单没有找到商品库商品SKU"); - } else { - oGoodsId = oGoodsSkus.get(0).getGoodsId(); - oGoodsSkuId = oGoodsSkus.get(0).getId(); - } - } else { - log.error("同步PDD订单{},原始订单没有填写sku编码信息", newOrder.getOrderNum()); - } - } else { - oGoodsId = oGoodsSku.getGoodsId(); - oGoodsSkuId = oGoodsSku.getId(); - } - } - OOrderItem orderItem = new OOrderItem(); - orderItem.setOrderId(oOrders.get(0).getId()); - orderItem.setOrderNum(orderSn); - orderItem.setSubOrderNum(orderSn + "-" + itemObject.getString("skuId")); - orderItem.setShopType(EnumShopType.PDD.getIndex()); - orderItem.setShopId(orderDetail.getLong("shopId")); -// orderItem.setSkuNum(itemObject.getString("outerId")); - orderItem.setSkuId(itemObject.getString("skuId")); - orderItem.setSkuNum(skuNum); - orderItem.setGoodsId(oGoodsId); - orderItem.setGoodsSkuId(oGoodsSkuId); -// orderItem.setGoodsId(itemObject.getLong("ogoodsId")); -// orderItem.setGoodsSkuId(itemObject.getLong("ogoodsSkuId")); - orderItem.setGoodsImg(itemObject.getString("goodsImg")); - orderItem.setGoodsSpec(itemObject.getString("goodsSpec")); - orderItem.setGoodsTitle(itemObject.getString("goodsName")); - orderItem.setGoodsPrice(itemObject.getDouble("goodsPrice")); - orderItem.setQuantity(itemObject.getInteger("goodsCount")); - if (i == 0) { - Double itemAmount = orderItem.getGoodsPrice() * orderItem.getQuantity() - oOrders.get(0).getPlatformDiscount() - oOrders.get(0).getSellerDiscount(); - orderItem.setItemAmount(itemAmount); - orderItem.setPayment(itemAmount); - } else { - orderItem.setItemAmount(orderItem.getGoodsPrice() * orderItem.getQuantity()); - orderItem.setPayment(orderItem.getGoodsPrice() * orderItem.getQuantity()); - } - orderItem.setOrderStatus(orderStatus); - orderItem.setRefundStatus(refundStatus); - orderItem.setRefundCount(0); - - - List oOrderItems = orderItemMapper.selectList( - new LambdaQueryWrapper() - .eq(OOrderItem::getOrderId, oOrders.get(0).getId()) - .eq(OOrderItem::getSkuId, itemObject.getString("skuId"))); - if (oOrderItems.isEmpty()) { - // 新增item - orderItem.setCreateTime(new Date()); - orderItem.setCreateBy("ORDER_MESSAGE"); - orderItemMapper.insert(orderItem); - } else { - // 修改、 - orderItem.setUpdateTime(new Date()); - orderItem.setUpdateBy("ORDER_MESSAGE"); - orderItemMapper.updateById(orderItem); - } - } return ResultVo.success(); } -// private void addPddOrderItem(String oOrderId,String orderSn,Integer orderStatus,Integer refundStatus,double platformDiscount,double sellerDiscount){ -// List originOrderItems = pddOrderItemMapper.selectList(new LambdaQueryWrapper().eq(PddOrderItem::getOrderSn, orderSn)); -// if(originOrderItems!=null && originOrderItems.size()>0) { -// int i = 0; -// for (var item : originOrderItems) { -// OOrderItem orderItem = new OOrderItem(); -// orderItem.setOrderId(oOrderId); -// orderItem.setOrderNum(item.getOrderSn()); -// orderItem.setSubOrderNum(item.getId().toString()); -// // 这里将订单商品skuid转换成erp系统的skuid -// Long erpGoodsId = 0L; -// String erpSkuId = "0"; -// -// List pddGoodsSku = pddGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(PddGoodsSku::getSkuId, item.getSkuId())); -// if (pddGoodsSku != null && !pddGoodsSku.isEmpty()) { -// erpGoodsId = pddGoodsSku.get(0).getOGoodsId(); -// erpSkuId = pddGoodsSku.get(0).getOGoodsSkuId(); -//// orderItem.setGoodsImg(taoGoodsSku.get(0).getLogo()); -//// orderItem.setGoodsSpec(jdGoodsSkus.get(0).getSkuName()); -//// orderItem.setSkuNum(taoGoodsSku.get(0).getOuterId()); -// } -// orderItem.setSkuNum(item.getOuterId()); -// orderItem.setSkuId(item.getSkuId()); -// orderItem.setGoodsId(erpGoodsId); -// orderItem.setGoodsSkuId(erpSkuId); -// orderItem.setGoodsImg(item.getGoodsImg()); -// orderItem.setGoodsSpec(item.getGoodsSpec()); -// orderItem.setGoodsTitle(item.getGoodsName()); -// orderItem.setGoodsPrice(item.getGoodsPrice()); -// if(i==0) { -// Double itemAmount = item.getGoodsPrice() * item.getGoodsCount() - platformDiscount - sellerDiscount; -// orderItem.setItemAmount(itemAmount); -// orderItem.setPayment(itemAmount); -// }else { -// orderItem.setItemAmount(item.getGoodsPrice()); -// orderItem.setPayment(item.getGoodsPrice()); -// } -//// orderItem.setPayment(item.getGoodsPrice()); -// orderItem.setQuantity(item.getGoodsCount()); -// orderItem.setOrderStatus(orderStatus); -// orderItem.setRefundStatus(refundStatus); -// orderItem.setRefundCount(0); -// orderItem.setCreateTime(new Date()); -// orderItem.setCreateBy("ORDER_MESSAGE"); -// orderItemMapper.insert(orderItem); -// i++; -// } -// } -// } - @Transactional @Override public ResultVo douOrderMessage(String orderId,JSONObject orderDetail ) { log.info("Dou订单消息处理" + orderId); -// JSONObject jsonObject = douApiService.getOrderDetail(orderId); -// if(jsonObject.getInteger("code")!=200 || jsonObject.getJSONObject("data") ==null){ -// log.info("=====dou order message===没有找到订单"); -// return ResultVo.error(404,"没有找到订单"); -// } -// -// JSONObject orderDetail = jsonObject.getJSONObject("data"); - log.info("=====dou order message===订单:"+JSONObject.toJSONString(orderDetail)); - if(orderDetail == null) return ResultVo.error(404,"没有找到订单"); - // 状态 订单状态0:新订单,1:待发货,2:已发货,3:已完成,11已取消;12退款中;21待付款;22锁定,29删除,101部分发货 - // 抖店订单状态 1 待确认/待支付(订单创建完毕)105 已支付 2 备货中 101 部分发货 3 已发货(全部发货)4 已取消 5 已完成(已收货) - int orderStatus = -1; - int refundStatus = -1; - if (orderDetail.getInteger("orderStatus") == 1) { - // 1待确认/待支付(订单创建完毕) - orderStatus = 21; - refundStatus = 1; - } else if (orderDetail.getInteger("orderStatus") == 105) { - // 105 已支付 - orderStatus = 0; - refundStatus = 1; - } else if (orderDetail.getInteger("orderStatus") == 2) { - // 105 已支付 - orderStatus = 1; - refundStatus = 1; - } else if (orderDetail.getInteger("orderStatus") == 101) { - // 101 部分发货 - orderStatus = 101; - refundStatus = 1; - } else if (orderDetail.getInteger("orderStatus") == 3) { - // 3 已发货(全部发货) - orderStatus = 2; - refundStatus = 1; - } else if (orderDetail.getInteger("orderStatus") == 4) { - // 4 已取消 - orderStatus = 11; - refundStatus = 1; - } else if (orderDetail.getInteger("orderStatus") == 5) { - // 5 已完成(已收货) - orderStatus = 3; - refundStatus = 1; - } -// List originOrders = douOrderMapper.selectList(new LambdaQueryWrapper().eq(DouOrder::getOrderId, orderId)); -// -// if (originOrders == null || originOrders.size() == 0) { -// // 没有找到订单信息 -// return ResultVo.error(ResultVoEnum.NotFound, "没有找到DOU原始订单:" + orderId); -// } -// DouOrder originOrder = originOrders.get(0); - - List oOrders = orderMapper.selectList(new LambdaQueryWrapper().eq(OOrder::getOrderNum, orderId)); - if (oOrders == null || oOrders.isEmpty()) { - // 新增订单 - OOrder insert = new OOrder(); - insert.setOrderNum(orderId); - insert.setShopType(EnumShopType.DOU.getIndex()); - insert.setShopId(orderDetail.getLong("shopId")); - insert.setBuyerMemo(orderDetail.getString("buyerWords")); - insert.setSellerMemo(orderDetail.getString("sellerWords")); - insert.setRefundStatus(refundStatus); - insert.setOrderStatus(orderStatus); - insert.setGoodsAmount(orderDetail.getDouble("orderAmount") / 100 ); - insert.setPostFee(orderDetail.getDouble("postAmount") / 100); - insert.setAmount(orderDetail.getDouble("orderAmount") / 100); - insert.setPayment(orderDetail.getDouble("payAmount") / 100); - insert.setPlatformDiscount(orderDetail.getDouble("promotionPlatformAmount") / 100); - insert.setSellerDiscount(orderDetail.getDouble("promotionShopAmount") / 100); - - insert.setReceiverName(orderDetail.getString("maskPostReceiver")); - insert.setReceiverMobile(orderDetail.getString("maskPostTel")); - insert.setAddress(orderDetail.getString("maskPostAddress")); - insert.setProvince(orderDetail.getString("provinceName")); - insert.setCity(orderDetail.getString("cityName")); - insert.setTown(orderDetail.getString("townName")); - long time = orderDetail.getLong("createTime") * 1000; - insert.setOrderTime(new Date(time)); - insert.setShipType(0); - insert.setCreateTime(new Date()); - insert.setCreateBy("ORDER_MESSAGE"); - - orderMapper.insert(insert); - // 插入orderItem - addDouOrderItem(insert,insert.getId(), orderId, orderStatus, refundStatus,orderDetail.getJSONArray("items")); - - } else { - // 修改订单 (修改:) - OOrder update = new OOrder(); - update.setId(oOrders.get(0).getId()); - update.setShopType(EnumShopType.DOU.getIndex()); - update.setShopId(orderDetail.getLong("shopId")); - update.setRefundStatus(refundStatus); - update.setOrderStatus(orderStatus); - update.setGoodsAmount(orderDetail.getDouble("orderAmount") / 100 ); - update.setPostFee(orderDetail.getDouble("postAmount") / 100); - update.setAmount(orderDetail.getDouble("orderAmount") / 100); - update.setPayment(orderDetail.getDouble("payAmount") / 100); - update.setPlatformDiscount(orderDetail.getDouble("promotionPlatformAmount") / 100); - update.setSellerDiscount(orderDetail.getDouble("promotionShopAmount") / 100); - - update.setReceiverName(orderDetail.getString("maskPostReceiver")); - update.setReceiverMobile(orderDetail.getString("maskPostTel")); - update.setAddress(orderDetail.getString("maskPostAddress")); - - - update.setUpdateTime(new Date()); - update.setUpdateBy("ORDER_MESSAGE"); - orderMapper.updateById(update); - - // 删除orderItem -// orderItemMapper.delete(new LambdaQueryWrapper().eq(OOrderItem::getOrderId, update.getId())); - // 插入orderItem - addDouOrderItem(update,update.getId(), orderId, orderStatus, refundStatus,orderDetail.getJSONArray("items")); - } return ResultVo.success(); } - private void addDouOrderItem(OOrder oOrder,String oOrderId,String originOrderId,Integer orderStatus,Integer refundStatus,JSONArray itemArray){ - - if(itemArray!=null && itemArray.size()>0) { - for (int i = 0; i < itemArray.size(); i++) { - JSONObject itemObject = itemArray.getJSONObject(i); - // 查询商品库商品 - Long oGoodsId = itemObject.getLong("ogoodsId"); - Long oGoodsSkuId =itemObject.getLong("ogoodsSkuId"); - String skuNum = itemObject.getString("outSkuId"); - - if(oGoodsSkuId<=0){ - // 没有关联商品库商品skuid,查找关联====使用skucode查找 - if(org.springframework.util.StringUtils.hasText(skuNum)) { - List oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuCode, skuNum)); - if(oGoodsSkus==null||oGoodsSkus.isEmpty()){ - log.error("同步DOU订单没有找到商品库商品SKU"); - }else{ - oGoodsId = oGoodsSkus.get(0).getGoodsId(); - oGoodsSkuId = oGoodsSkus.get(0).getId(); - } - }else { - log.error("同步DOU订单{},原始订单没有填写sku编码信息",oOrder.getOrderNum()); - } - }else{ - OGoodsSku oGoodsSku = oGoodsSkuMapper.selectById(oGoodsSkuId); - if(oGoodsSku==null){ - // 没有关联商品库商品skuid,查找关联====使用skucode查找 - if(org.springframework.util.StringUtils.hasText(skuNum)) { - List oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuCode, skuNum)); - if(oGoodsSkus==null||oGoodsSkus.isEmpty()){ - log.error("同步DOU订单没有找到商品库商品SKU"); - }else{ - oGoodsId = oGoodsSkus.get(0).getGoodsId(); - oGoodsSkuId = oGoodsSkus.get(0).getId(); - } - }else { - log.error("同步DOU订单{},原始订单没有填写sku编码信息",oOrder.getOrderNum()); - } - }else{ - oGoodsId = oGoodsSku.getGoodsId(); - oGoodsSkuId = oGoodsSku.getId(); - } - } - OOrderItem orderItem = new OOrderItem(); - orderItem.setOrderId(oOrder.getId()); - orderItem.setShopId(oOrder.getShopId()); - orderItem.setShopType(oOrder.getShopType()); - orderItem.setOrderNum(itemObject.getString("parentOrderId")); - orderItem.setSubOrderNum(itemObject.getString("orderId")); -// orderItem.setSkuNum(itemObject.getString("outSkuId")); - orderItem.setSkuId(itemObject.getString("skuId")); -// orderItem.setGoodsId(itemObject.getLong("ogoodsId")); -// orderItem.setGoodsSkuId(itemObject.getLong("ogoodsSkuId")); - orderItem.setSkuNum(skuNum); - orderItem.setGoodsId(oGoodsId); - orderItem.setGoodsSkuId(oGoodsSkuId); - orderItem.setGoodsImg(itemObject.getString("productPic")); - -// if(org.springframework.util.StringUtils.hasText(item.getSpec())) { -// orderItem.setGoodsSpec(item.getSpec().length()>500?item.getSpec().substring(0,499):item.getSpec()); -// } - orderItem.setGoodsTitle(itemObject.getString("productName")); - orderItem.setGoodsSpec(itemObject.getString("spec")); - - orderItem.setGoodsPrice(itemObject.getDouble("goodsPrice")/100); - orderItem.setItemAmount(itemObject.getDouble("orderAmount")/100); - orderItem.setPayment(itemObject.getDouble("payAmount")/100); - orderItem.setQuantity(itemObject.getInteger("itemNum")); - orderItem.setOrderStatus(orderStatus); - orderItem.setRefundStatus(refundStatus); - orderItem.setRefundCount(0); - - List oOrderItems = orderItemMapper.selectList( - new LambdaQueryWrapper() - .eq(OOrderItem::getOrderId, oOrder.getId()) - .eq(OOrderItem::getSkuId, orderItem.getSkuId())); - if (oOrderItems.isEmpty()) { - // 新增item - orderItem.setCreateTime(new Date()); - orderItem.setCreateBy("ORDER_MESSAGE"); - orderItemMapper.insert(orderItem); - } else { - // 修改、 - orderItem.setUpdateTime(new Date()); - orderItem.setUpdateBy("ORDER_MESSAGE"); - orderItemMapper.updateById(orderItem); - } - } - } - } @Transactional @Override public ResultVo weiOrderMessage(String orderId,JSONObject orderDetail ) { log.info("WEI订单消息处理" + orderId); -// JSONObject jsonObject = weiApiService.getOrderDetail(orderId); -// if (jsonObject.getInteger("code") != 200 || jsonObject.getJSONObject("data") == null) { -// log.info("=====wei order message===没有找到订单"); -// return ResultVo.error(404, "没有找到订单"); -// } - -// JSONObject orderDetail = jsonObject.getJSONObject("data"); - log.info("=====wei order message===订单:" + JSONObject.toJSONString(orderDetail)); - if (orderDetail == null) return ResultVo.error(404, "没有找到订单"); return ResultVo.success(); diff --git a/vue/src/views/order/index.vue b/vue/src/views/order/index.vue index 86dd803e..556b952d 100644 --- a/vue/src/views/order/index.vue +++ b/vue/src/views/order/index.vue @@ -1,620 +1,40 @@ - diff --git a/vue/src/views/order/order_list.vue b/vue/src/views/order/order_list.vue new file mode 100644 index 00000000..86dd803e --- /dev/null +++ b/vue/src/views/order/order_list.vue @@ -0,0 +1,620 @@ + + + + diff --git a/vue/src/views/tao/order/index.vue b/vue/src/views/tao/order/index.vue index b8028c82..1fa470e6 100644 --- a/vue/src/views/tao/order/index.vue +++ b/vue/src/views/tao/order/index.vue @@ -318,6 +318,7 @@ export default { }, /** 搜索按钮操作 */ handleQuery() { + this.pullLoading = false this.queryParams.pageNum = 1; this.getList(); },