|
@@ -2,7 +2,7 @@ package com.ydd.app.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
-import com.sankuai.meituan.shangou.open.sdk.domain.OAuthAuthorizeParam;
|
|
|
+import com.ydd.api.*;
|
|
|
import com.ydd.app.service.ApiOrderCancelService;
|
|
|
import com.ydd.app.service.ApiWaimaiPrintService;
|
|
|
import com.ydd.app.service.ApiWaimaiService;
|
|
@@ -14,16 +14,13 @@ import com.ydd.common.utils.SnCodeUtils;
|
|
|
import com.ydd.common.utils.StringUtils;
|
|
|
import com.ydd.ecloud.core.utils.JsonMapper;
|
|
|
import com.ydd.module.domain.*;
|
|
|
-import com.ydd.module.dto.DeliveryConfigDto;
|
|
|
import com.ydd.module.dto.OrderDetailDto;
|
|
|
-import com.ydd.module.dto.WaimaiDto;
|
|
|
import com.ydd.module.dto.WaimaiListDto;
|
|
|
import com.ydd.module.enums.*;
|
|
|
import com.ydd.module.expection.CustomAppException;
|
|
|
import com.ydd.module.push.MessagePushService;
|
|
|
import com.ydd.module.service.*;
|
|
|
-import com.ydd.third.common.request.MtSgAuthRequest;
|
|
|
-import com.ydd.third.common.utils.Constants;
|
|
|
+import com.ydd.third.common.config.WaimaiConfig;
|
|
|
import com.ydd.third.common.vo.ResObject;
|
|
|
import com.ydd.third.common.vo.waimai.*;
|
|
|
import com.ydd.third.common.vo.waimai.eleme.api.entity.order.OGoodsItem;
|
|
@@ -31,30 +28,16 @@ import com.ydd.third.common.vo.waimai.eleme.api.entity.order.OOrder;
|
|
|
import com.ydd.third.common.vo.waimai.eleme.api.entity.order.OrderList;
|
|
|
import com.ydd.third.common.vo.waimai.jdHome.vo.JdHomeOrderResultVo;
|
|
|
import com.ydd.third.common.vo.waimai.meituan.OrderDetailVo;
|
|
|
-import com.ydd.third.delivery.fengniao.entity.OrderInfo;
|
|
|
import com.ydd.third.print.request.PrintOrderDto;
|
|
|
-import com.ydd.third.waimai.config.WaimaiConfig;
|
|
|
-import com.ydd.third.waimai.eleRetai.EleRetaiClient;
|
|
|
import com.ydd.third.waimai.eleRetai.param.*;
|
|
|
import com.ydd.third.waimai.eleRetai.vo.OrderEBaiInfo;
|
|
|
import com.ydd.third.waimai.eleRetai.vo.OrderEBaiList;
|
|
|
-import com.ydd.third.waimai.eleme.ElemeAuthClient;
|
|
|
-import com.ydd.third.waimai.eleme.ElemeClient;
|
|
|
-import com.ydd.third.waimai.eleme.api.entity.order.OGoodsItem;
|
|
|
-import com.ydd.third.waimai.eleme.api.entity.order.OOrder;
|
|
|
-import com.ydd.third.waimai.eleme.api.entity.order.OrderList;
|
|
|
-import com.ydd.third.waimai.elemeretail.api.entity.user.BindShop;
|
|
|
-import com.ydd.third.waimai.jdHome.JdHomeClient;
|
|
|
import com.ydd.third.waimai.jdHome.dto.OrderInfoDTO;
|
|
|
import com.ydd.third.waimai.jdHome.dto.OrderInvoiceDTO;
|
|
|
import com.ydd.third.waimai.jdHome.dto.OrderProductDTO;
|
|
|
import com.ydd.third.waimai.jdHome.dto.StoreInfo;
|
|
|
import com.ydd.third.waimai.jdHome.vo.JdHomeParamJsonVo;
|
|
|
-import com.ydd.third.waimai.meituan.MeituanClient;
|
|
|
-import com.ydd.third.waimai.meituan.vo.OrderDetailVo;
|
|
|
-import com.ydd.third.waimai.meituanSg.MeituanSgClient;
|
|
|
import com.ydd.third.waimai.meituanSg.vo.SgOrderDetailVo;
|
|
|
-import com.ydd.third.waimai.vo.*;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.SneakyThrows;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -75,7 +58,6 @@ import java.util.*;
|
|
|
import java.util.concurrent.Executors;
|
|
|
import java.util.concurrent.ScheduledExecutorService;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* Project:lb-server
|
|
@@ -100,13 +82,12 @@ public class ApiWaimaiServiceImpl implements ApiWaimaiService {
|
|
|
|
|
|
private final IDspWaimaiService iDspWaimaiService;
|
|
|
|
|
|
- private final MeituanClient meituanClient;
|
|
|
+ private final MeiTuanApi meituanClient;
|
|
|
|
|
|
- private final MeituanSgClient meituanSgClient;
|
|
|
+ private final MeiTuanSgApi meituanSgClient;
|
|
|
|
|
|
- private final ElemeAuthClient elemeAuthClient;
|
|
|
|
|
|
- private final JdHomeClient jdHomeClient;
|
|
|
+ private final JdHomeApi jdHomeClient;
|
|
|
|
|
|
private final IWaimaiOrderService iWaimaiOrderService;
|
|
|
|
|
@@ -127,7 +108,7 @@ public class ApiWaimaiServiceImpl implements ApiWaimaiService {
|
|
|
|
|
|
private final MessagePushService messagePushService;
|
|
|
|
|
|
- private final ElemeClient elemeClient;
|
|
|
+ private final ElemeApi elemeClient;
|
|
|
|
|
|
private final ApplicationContext applicationContext;
|
|
|
|
|
@@ -141,7 +122,7 @@ public class ApiWaimaiServiceImpl implements ApiWaimaiService {
|
|
|
|
|
|
private final ApiOrderCancelService apiOrderCancelService;
|
|
|
|
|
|
- private final EleRetaiClient eleRetaiClient;
|
|
|
+ private final EleRetailApi eleRetaiClient;
|
|
|
|
|
|
private final IAgentService iAgentService;
|
|
|
|
|
@@ -1488,15 +1469,14 @@ public class ApiWaimaiServiceImpl implements ApiWaimaiService {
|
|
|
@Transactional
|
|
|
@Async
|
|
|
public void jdHomeNewOrder(JdHomeOrderResultVo orderResultVo) {
|
|
|
- ShopJdHomeCode shopJdHomeCode = iShopJdHomeCodeService.getOne(new QueryWrapper<ShopJdHomeCode>().eq("deleted", 0).eq("app_key", orderResultVo.getAppKey()));
|
|
|
- ShopWaimai shopWaimai = iShopWaimaiService.getById(shopJdHomeCode.getShopWaimaiId());
|
|
|
-
|
|
|
-// DspWaimai waimai = iDspWaimaiService.findOne(WaimaiTypeEnums.JD_HOME.getType());
|
|
|
-// ShopWaimai shopWaimai =iShopWaimaiService.getOne(new QueryWrapper<ShopWaimai>().eq("epoid", shopWaimai.getThirdShopId())
|
|
|
-// .eq("deleted",IsDeleteEnum.NORMAL.status)
|
|
|
-// .eq("waimai_id",waimai.getId())
|
|
|
-// .eq("bind_status",BindStatusEnum.BIND.status));
|
|
|
- Long memberId = null;
|
|
|
+ ShopJdHomeCode shopJdHomeCode = iShopJdHomeCodeService.getOne(new QueryWrapper<ShopJdHomeCode>().eq("deleted", 0).eq("app_key", orderResultVo.getAppKey()));
|
|
|
+ List<ShopWaimai> shopWaimais = iShopWaimaiService.list(new QueryWrapper<ShopWaimai>().eq("bind_status", 1).eq("business_id", shopJdHomeCode.getId()));
|
|
|
+
|
|
|
+ Long memberId = null;
|
|
|
+ ShopWaimai shopWaimai = new ShopWaimai();
|
|
|
+ if (CollectionUtils.isNotEmpty(shopWaimais)) {
|
|
|
+ shopWaimai = shopWaimais.get(0);
|
|
|
+ }
|
|
|
List<Long> memberIds = iMemberService.selectByShopId(shopWaimai.getShopId());
|
|
|
if(CollectionUtils.isNotEmpty(memberIds)){
|
|
|
memberId = memberIds.get(0);
|
|
@@ -1508,14 +1488,14 @@ public class ApiWaimaiServiceImpl implements ApiWaimaiService {
|
|
|
// DspWaimai waimai = iDspWaimaiService.findOne(WaimaiTypeEnums.MEI_TUAN_SG.getType());
|
|
|
// ShopWaimai shopWaimai = iShopWaimaiService.findById(shop.getId(), waimai.getId());
|
|
|
|
|
|
- if (config != null && StatusEnum.SHOW.status.equals(config.getOpenAutoorder())) {
|
|
|
- ConfirmOrderVo confirmOrderVo = new ConfirmOrderVo();
|
|
|
- confirmOrderVo.setOrderId(orderResultVo.getBillId());
|
|
|
- confirmOrderVo.setAppAuthToken(shopJdHomeCode.getToken());
|
|
|
- ResObject resObject = jdHomeClient.confirmOrder(confirmOrderVo, shopJdHomeCode.getAppKey(), shopJdHomeCode.getAppSecret());
|
|
|
- log.info("=======京东到家订单确认结果=====" + JsonMapper.nonEmptyMapper().toJson(resObject));
|
|
|
+ if (config != null && StatusEnum.SHOW.status.equals(config.getOpenAutoorder())) {
|
|
|
+ ConfirmOrderVo confirmOrderVo = new ConfirmOrderVo();
|
|
|
+ confirmOrderVo.setOrderId(orderResultVo.getBillId());
|
|
|
+ confirmOrderVo.setAppAuthToken(shopJdHomeCode.getToken());
|
|
|
+ ResObject resObject = jdHomeClient.confirmOrder(confirmOrderVo, shopJdHomeCode.getAppKey(), shopJdHomeCode.getAppSecret());
|
|
|
+ log.info("=======京东到家订单确认结果=====" + JsonMapper.nonEmptyMapper().toJson(resObject));
|
|
|
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1527,156 +1507,161 @@ public class ApiWaimaiServiceImpl implements ApiWaimaiService {
|
|
|
@Async
|
|
|
@Transactional
|
|
|
public void jdHomeConfirmOrder(JdHomeOrderResultVo orderVo) {
|
|
|
- DspWaimai waimai = iDspWaimaiService.findOne(WaimaiTypeEnums.JD_HOME.getType());
|
|
|
-
|
|
|
- ShopJdHomeCode shopJdHomeCode = iShopJdHomeCodeService.getOne(new QueryWrapper<ShopJdHomeCode>().eq("deleted", 0).eq("app_key", orderVo.getAppKey()));
|
|
|
- ShopWaimai shopWaimai = iShopWaimaiService.getOne(new QueryWrapper<ShopWaimai>()
|
|
|
- .eq("id", shopJdHomeCode.getShopWaimaiId())
|
|
|
- .eq("deleted", IsDeleteEnum.NORMAL.status)
|
|
|
- .eq("waimai_id", waimai.getId())
|
|
|
- .eq("bind_status", BindStatusEnum.BIND.status));
|
|
|
- Shop shop = iShopService.getById(shopWaimai.getShopId());
|
|
|
-
|
|
|
- WaimaiOrder waimaiOrder = iWaimaiOrderService.getOne(new QueryWrapper<WaimaiOrder>().eq("out_order_id", orderVo.getBillId()));
|
|
|
-
|
|
|
- JdHomeParamJsonVo jsonVo = new JdHomeParamJsonVo();
|
|
|
- jsonVo.setAppAuthToken(shopWaimai.getAuthToken());
|
|
|
- jsonVo.setOrderId(orderVo.getBillId());
|
|
|
- List<OrderInfoDTO> orderInfoDTOList = jdHomeClient.selectJdHomeOrder(jsonVo, shopJdHomeCode.getAppKey(), shopJdHomeCode.getAppSecret());
|
|
|
- OrderInfoDTO orderInfoDTO = new OrderInfoDTO();
|
|
|
- if (orderInfoDTOList != null && orderInfoDTOList.size() > 0) {
|
|
|
- orderInfoDTO = orderInfoDTOList.get(0);
|
|
|
- }
|
|
|
-
|
|
|
- if (waimaiOrder == null) {
|
|
|
- waimaiOrder = new WaimaiOrder();
|
|
|
- BeanUtils.copyProperties(orderInfoDTO, waimaiOrder);
|
|
|
- String recipientAddress = orderInfoDTO.getBuyerFullAddress();
|
|
|
-
|
|
|
- waimaiOrder.setRecipientAddress(recipientAddress);
|
|
|
- waimaiOrder.setRecipientAddressDesensitization(recipientAddress);
|
|
|
- waimaiOrder.setLogisticsCode(orderInfoDTO.getDeliveryCarrierNo());
|
|
|
- String remark = orderInfoDTO.getOrderBuyerRemark();
|
|
|
-
|
|
|
- if (StringUtils.isNotBlank(remark) && remark.contains("\n")) {
|
|
|
- remark = remark.replace("\n", "");
|
|
|
- }
|
|
|
+ DspWaimai waimai = iDspWaimaiService.findOne(WaimaiTypeEnums.JD_HOME.getType());
|
|
|
|
|
|
- if (StringUtils.isNotBlank(remark) && remark.contains("[预")) {
|
|
|
- remark = remark.substring(remark.indexOf("[预"), remark.indexOf("[预") + 8) + "****" + remark.substring(remark.indexOf("[预") + 12, remark.length());
|
|
|
- }
|
|
|
+ ShopJdHomeCode shopJdHomeCode = iShopJdHomeCodeService.getOne(new QueryWrapper<ShopJdHomeCode>().eq("deleted", 0).eq("app_key", orderVo.getAppKey()));
|
|
|
|
|
|
- waimaiOrder.setCaution(remark);
|
|
|
-
|
|
|
- waimaiOrder.setWaimaiId(waimai.getId());
|
|
|
- waimaiOrder.setShopId(shop.getId());
|
|
|
- waimaiOrder.setCityId(Long.valueOf(orderInfoDTO.getBuyerCity()));
|
|
|
- waimaiOrder.setOutOrderId(orderInfoDTO.getOrderId().toString());
|
|
|
- waimaiOrder.setOrderidView(orderInfoDTO.getOrderId().toString());
|
|
|
- waimaiOrder.setOrderTime(orderInfoDTO.getOrderStartTime());
|
|
|
- waimaiOrder.setRecipientName(orderInfoDTO.getBuyerFullName());
|
|
|
- waimaiOrder.setRecipientPhone(orderInfoDTO.getBuyerMobile());
|
|
|
- waimaiOrder.setDaySeq(orderInfoDTO.getOrderNum().toString());
|
|
|
- Long deliveryTime = orderInfoDTO.getOrderPreStartDeliveryTime().getTime();
|
|
|
- String businessTag = orderInfoDTO.getBusinessTag();
|
|
|
- String[] reTag = businessTag.split(";");
|
|
|
- List<String> tagList = Arrays.asList(reTag);
|
|
|
- // 预计送达时间,如果立即达set 0
|
|
|
- if (tagList.contains("one_dingshida") || tagList.contains("dj_aging_nextday")) {
|
|
|
- waimaiOrder.setDeliveryTime(deliveryTime/1000);
|
|
|
- }else if (tagList.contains("dj_aging_immediately")) {
|
|
|
- waimaiOrder.setDeliveryTime(0L);
|
|
|
+ WaimaiOrder waimaiOrder = iWaimaiOrderService.getOne(new QueryWrapper<WaimaiOrder>().eq("out_order_id", orderVo.getBillId()));
|
|
|
+
|
|
|
+ JdHomeParamJsonVo jsonVo = new JdHomeParamJsonVo();
|
|
|
+ jsonVo.setAppAuthToken(shopJdHomeCode.getToken());
|
|
|
+ jsonVo.setOrderId(orderVo.getBillId());
|
|
|
+ List<OrderInfoDTO> orderInfoDTOList = jdHomeClient.selectJdHomeOrder(jsonVo, shopJdHomeCode.getAppKey(), shopJdHomeCode.getAppSecret());
|
|
|
+ OrderInfoDTO orderInfoDTO = new OrderInfoDTO();
|
|
|
+ if (orderInfoDTOList != null && orderInfoDTOList.size() > 0) {
|
|
|
+ orderInfoDTO = orderInfoDTOList.get(0);
|
|
|
}
|
|
|
|
|
|
- waimaiOrder.setHasInvoiced(orderInfoDTO.getOrderInvoiceOpenMark() == 1 ? 1 : 0);
|
|
|
+ ShopWaimai shopWaimai = iShopWaimaiService.getOne(new QueryWrapper<ShopWaimai>()
|
|
|
+ .eq("business_id", shopJdHomeCode.getId())
|
|
|
+ .eq("deleted", IsDeleteEnum.NORMAL.status)
|
|
|
+ .eq("waimai_id", waimai.getId())
|
|
|
+ .eq("bind_status", BindStatusEnum.BIND.status)
|
|
|
+ .eq("third_shop_id", orderInfoDTO.getDeliveryStationNo()));
|
|
|
+
|
|
|
+ Shop shop = iShopService.getById(shopWaimai.getShopId());
|
|
|
+
|
|
|
+
|
|
|
+ if (waimaiOrder == null && shopWaimai != null) {
|
|
|
+ waimaiOrder = new WaimaiOrder();
|
|
|
+ BeanUtils.copyProperties(orderInfoDTO, waimaiOrder);
|
|
|
+ String recipientAddress = orderInfoDTO.getBuyerFullAddress();
|
|
|
+
|
|
|
+ waimaiOrder.setRecipientAddress(recipientAddress);
|
|
|
+ waimaiOrder.setRecipientAddressDesensitization(recipientAddress);
|
|
|
+ waimaiOrder.setLogisticsCode(orderInfoDTO.getDeliveryCarrierNo());
|
|
|
+ String remark = orderInfoDTO.getOrderBuyerRemark();
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(remark) && remark.contains("\n")) {
|
|
|
+ remark = remark.replace("\n", "");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(remark) && remark.contains("[预")) {
|
|
|
+ remark = remark.substring(remark.indexOf("[预"), remark.indexOf("[预") + 8) + "****" + remark.substring(remark.indexOf("[预") + 12, remark.length());
|
|
|
+ }
|
|
|
+
|
|
|
+ waimaiOrder.setCaution(remark);
|
|
|
+
|
|
|
+ waimaiOrder.setWaimaiId(waimai.getId());
|
|
|
+ waimaiOrder.setShopId(shop.getId());
|
|
|
+ waimaiOrder.setCityId(Long.valueOf(orderInfoDTO.getBuyerCity()));
|
|
|
+ waimaiOrder.setOutOrderId(orderInfoDTO.getOrderId().toString());
|
|
|
+ waimaiOrder.setOrderidView(orderInfoDTO.getOrderId().toString());
|
|
|
+ waimaiOrder.setOrderTime(orderInfoDTO.getOrderStartTime());
|
|
|
+ waimaiOrder.setRecipientName(orderInfoDTO.getBuyerFullName());
|
|
|
+ waimaiOrder.setRecipientPhone(orderInfoDTO.getBuyerMobile());
|
|
|
+ waimaiOrder.setDaySeq(orderInfoDTO.getOrderNum().toString());
|
|
|
+ Long deliveryTime = orderInfoDTO.getOrderPreStartDeliveryTime().getTime();
|
|
|
+ String businessTag = orderInfoDTO.getBusinessTag();
|
|
|
+ String[] reTag = businessTag.split(";");
|
|
|
+ List<String> tagList = Arrays.asList(reTag);
|
|
|
+ // 预计送达时间,如果立即达set 0
|
|
|
+ if (tagList.contains("one_dingshida") || tagList.contains("dj_aging_nextday")) {
|
|
|
+ waimaiOrder.setDeliveryTime(deliveryTime/1000);
|
|
|
+ }else if (tagList.contains("dj_aging_immediately")) {
|
|
|
+ waimaiOrder.setDeliveryTime(0L);
|
|
|
+ }
|
|
|
+
|
|
|
+ waimaiOrder.setHasInvoiced(orderInfoDTO.getOrderInvoiceOpenMark() == 1 ? 1 : 0);
|
|
|
// waimaiOrder.setLatitude(orderInfoDTO.getBuyerLng();
|
|
|
// waimaiOrder.setLongitude(orderInfoDTO.getBuyerLat());
|
|
|
- // 发票具体信息
|
|
|
- OrderInvoiceDTO orderInvoiceDTO = orderInfoDTO.getOrderInvoice();
|
|
|
- if (orderInvoiceDTO != null) {
|
|
|
- waimaiOrder.setInvoiceTitle(orderInvoiceDTO.getInvoiceTitle());
|
|
|
- waimaiOrder.setTaxpayerId(orderInvoiceDTO.getInvoiceDutyNo());
|
|
|
- }
|
|
|
+ // 发票具体信息
|
|
|
+ OrderInvoiceDTO orderInvoiceDTO = orderInfoDTO.getOrderInvoice();
|
|
|
+ if (orderInvoiceDTO != null) {
|
|
|
+ waimaiOrder.setInvoiceTitle(orderInvoiceDTO.getInvoiceTitle());
|
|
|
+ waimaiOrder.setTaxpayerId(orderInvoiceDTO.getInvoiceDutyNo());
|
|
|
+ }
|
|
|
// waimaiOrder.setExtras(orderInfoDTO.getDiscount().toString());
|
|
|
// waimaiOrder.setIsThirdShipping(orderVo.getIsThirdShipping());
|
|
|
- waimaiOrder.setReceiptLat(orderInfoDTO.getBuyerLat().toString());
|
|
|
- waimaiOrder.setReceiptLng(orderInfoDTO.getBuyerLng().toString());
|
|
|
- BigDecimal originalPrice = new BigDecimal(String.valueOf(orderInfoDTO.getOrderTotalMoney()));
|
|
|
- waimaiOrder.setOriginalPrice(originalPrice.divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
- waimaiOrder.setPayType(orderInfoDTO.getOrderPayType());
|
|
|
+ waimaiOrder.setReceiptLat(orderInfoDTO.getBuyerLat().toString());
|
|
|
+ waimaiOrder.setReceiptLng(orderInfoDTO.getBuyerLng().toString());
|
|
|
+ BigDecimal originalPrice = new BigDecimal(String.valueOf(orderInfoDTO.getOrderTotalMoney()));
|
|
|
+ waimaiOrder.setOriginalPrice(originalPrice.divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ waimaiOrder.setPayType(orderInfoDTO.getOrderPayType());
|
|
|
// waimaiOrder.setPickType(Integer.valueOf(orderInfoDTO.getDeliveryCarrierNo()));
|
|
|
// orderVo.setWmPoiAddress(URLDecoder.decode(orderVo.getWmPoiAddress(), "utf-8"));
|
|
|
- waimaiOrder.setPoiName(orderInfoDTO.getDeliveryStationName());
|
|
|
- BigDecimal orderReceivableFreight = new BigDecimal(String.valueOf(orderInfoDTO.getOrderReceivableFreight()));
|
|
|
- waimaiOrder.setShippingFee(orderReceivableFreight.divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
-
|
|
|
- // 门店具体信息
|
|
|
- jsonVo.setStoreNo(orderInfoDTO.getDeliveryStationNo());
|
|
|
- StoreInfo storeInfo = jdHomeClient.selectJdHomeShop(jsonVo, shopJdHomeCode.getAppKey(), shopJdHomeCode.getAppSecret());
|
|
|
- waimaiOrder.setPoiAddress(storeInfo.getStationAddress());
|
|
|
- waimaiOrder.setPoiPhone(storeInfo.getPhone());
|
|
|
-
|
|
|
- waimaiOrder.setPoiReceiveDetail(null);
|
|
|
- waimaiOrder.setReceiptPrivacyPhone(null);
|
|
|
- waimaiOrder.setStatus(DeliveryStatusEnum.ORDERS_TO_BE_BILLED.status);
|
|
|
- waimaiOrder.setOrderType(WaimaiOrderTypeEnum.JD_HOME.getType());
|
|
|
- BigDecimal totalPrice = new BigDecimal(String.valueOf(orderInfoDTO.getOrderBuyerPayableMoney()));
|
|
|
- waimaiOrder.setTotalPrice(totalPrice.divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
- waimaiOrder.setCreateTime(new Date());
|
|
|
-
|
|
|
- BigDecimal boxFee = BigDecimal.ZERO;
|
|
|
- List<OrderProductDTO> orderProductDTOS = orderInfoDTO.getProduct();
|
|
|
- for (OrderProductDTO dto : orderProductDTOS) {
|
|
|
- boxFee = boxFee.add(BigDecimal.valueOf(dto.getCanteenMoney()));
|
|
|
- }
|
|
|
- waimaiOrder.setBoxFee(boxFee);
|
|
|
- waimaiOrder.setThirdShopId(shopWaimai.getThirdShopId());
|
|
|
- iWaimaiOrderService.save(waimaiOrder);
|
|
|
-
|
|
|
- //消息推送
|
|
|
- // messagePushService.waimaiMessage(shop.getId(), waimaiOrder);
|
|
|
-
|
|
|
- //记录商品详情
|
|
|
- List<WaimaiOrderDetail> detailList = new ArrayList<>();
|
|
|
- if (CollectionUtils.isNotEmpty(orderInfoDTO.getProduct())) {
|
|
|
- for (OrderProductDTO vo : orderInfoDTO.getProduct()) {
|
|
|
- WaimaiOrderDetail detail = new WaimaiOrderDetail();
|
|
|
- BeanUtils.copyProperties(vo, detail);
|
|
|
- detail.setAppFoodCode(vo.getSkuIdIsv());
|
|
|
- detail.setSkuId(vo.getSkuId().toString());
|
|
|
- detail.setQuantity(Long.valueOf(vo.getSkuCount()));
|
|
|
- detail.setWaimaiOrderId(waimaiOrder.getId());
|
|
|
- detail.setFoodName(vo.getSkuName());
|
|
|
- detail.setPrice(new BigDecimal(String.valueOf(vo.getSkuStorePrice())).divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
- detail.setSpec(vo.getSkuCostumeProperty());
|
|
|
+ waimaiOrder.setPoiName(orderInfoDTO.getDeliveryStationName());
|
|
|
+ BigDecimal orderReceivableFreight = new BigDecimal(String.valueOf(orderInfoDTO.getOrderReceivableFreight()));
|
|
|
+ waimaiOrder.setShippingFee(orderReceivableFreight.divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+
|
|
|
+ // 门店具体信息
|
|
|
+ jsonVo.setStoreNo(orderInfoDTO.getDeliveryStationNo());
|
|
|
+ StoreInfo storeInfo = jdHomeClient.selectJdHomeShop(jsonVo, shopJdHomeCode.getAppKey(), shopJdHomeCode.getAppSecret());
|
|
|
+ waimaiOrder.setPoiAddress(storeInfo.getStationAddress());
|
|
|
+ waimaiOrder.setPoiPhone(storeInfo.getPhone());
|
|
|
+
|
|
|
+ waimaiOrder.setPoiReceiveDetail(null);
|
|
|
+ waimaiOrder.setReceiptPrivacyPhone(null);
|
|
|
+ waimaiOrder.setStatus(DeliveryStatusEnum.ORDERS_TO_BE_BILLED.status);
|
|
|
+ waimaiOrder.setOrderType(WaimaiOrderTypeEnum.JD_HOME.getType());
|
|
|
+ BigDecimal totalPrice = new BigDecimal(String.valueOf(orderInfoDTO.getOrderBuyerPayableMoney()));
|
|
|
+ waimaiOrder.setTotalPrice(totalPrice.divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ waimaiOrder.setCreateTime(new Date());
|
|
|
+
|
|
|
+ BigDecimal boxFee = BigDecimal.ZERO;
|
|
|
+ List<OrderProductDTO> orderProductDTOS = orderInfoDTO.getProduct();
|
|
|
+ for (OrderProductDTO dto : orderProductDTOS) {
|
|
|
+ boxFee = boxFee.add(BigDecimal.valueOf(dto.getCanteenMoney()));
|
|
|
+ }
|
|
|
+ waimaiOrder.setBoxFee(boxFee);
|
|
|
+ waimaiOrder.setThirdShopId(shopWaimai.getThirdShopId());
|
|
|
+ iWaimaiOrderService.save(waimaiOrder);
|
|
|
+
|
|
|
+ //消息推送
|
|
|
+ // messagePushService.waimaiMessage(shop.getId(), waimaiOrder);
|
|
|
+
|
|
|
+ //记录商品详情
|
|
|
+ List<WaimaiOrderDetail> detailList = new ArrayList<>();
|
|
|
+ if (CollectionUtils.isNotEmpty(orderInfoDTO.getProduct())) {
|
|
|
+ for (OrderProductDTO vo : orderInfoDTO.getProduct()) {
|
|
|
+ WaimaiOrderDetail detail = new WaimaiOrderDetail();
|
|
|
+ BeanUtils.copyProperties(vo, detail);
|
|
|
+ detail.setAppFoodCode(vo.getSkuIdIsv());
|
|
|
+ detail.setSkuId(vo.getSkuId().toString());
|
|
|
+ detail.setQuantity(Long.valueOf(vo.getSkuCount()));
|
|
|
+ detail.setWaimaiOrderId(waimaiOrder.getId());
|
|
|
+ detail.setFoodName(vo.getSkuName());
|
|
|
+ detail.setPrice(new BigDecimal(String.valueOf(vo.getSkuStorePrice())).divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ detail.setSpec(vo.getSkuCostumeProperty());
|
|
|
// detail.setBoxNum(vo.getBoxNum().toString());
|
|
|
- detailList.add(detail);
|
|
|
- //iWaimaiOrderDetailService.save(detail);
|
|
|
- }
|
|
|
- iWaimaiOrderDetailService.saveBatch(detailList);
|
|
|
- }
|
|
|
- //自动打印外卖单
|
|
|
- redisCache.redisTemplate.opsForValue().set("jd-order:" + orderInfoDTO.getOrderId() + "", JSONObject.toJSONString(orderInfoDTO), 2, TimeUnit.DAYS);
|
|
|
- try {
|
|
|
- // redisCache.setNumber(shop.getId(),Integer.parseInt(orderVo.getDaySeq()));
|
|
|
+ detailList.add(detail);
|
|
|
+ //iWaimaiOrderDetailService.save(detail);
|
|
|
+ }
|
|
|
+ iWaimaiOrderDetailService.saveBatch(detailList);
|
|
|
+ }
|
|
|
+ //自动打印外卖单
|
|
|
+ redisCache.redisTemplate.opsForValue().set("jd-order:" + orderInfoDTO.getOrderId() + "", JSONObject.toJSONString(orderInfoDTO), 2, TimeUnit.DAYS);
|
|
|
+ try {
|
|
|
+ // redisCache.setNumber(shop.getId(),Integer.parseInt(orderVo.getDaySeq()));
|
|
|
// autoPrintWaimai(waimaiOrder, detailList);
|
|
|
- PrintOrderDto printOrderDto = JdHomeConvertPrint.convert(orderInfoDTO);
|
|
|
- apiWaimaiPrintService.autoPrintWaimaiNew(printOrderDto, detailList, shop.getId(), waimaiOrder);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("自动打印异常!", e);
|
|
|
- }
|
|
|
- try {
|
|
|
- //推送外卖新消息
|
|
|
- messagePushService.waimaiMessage(shop.getId(), waimaiOrder);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("推送外卖订单消息异常,订单号:" + waimaiOrder.getOutOrderId());
|
|
|
- }
|
|
|
+ PrintOrderDto printOrderDto = JdHomeConvertPrint.convert(orderInfoDTO);
|
|
|
+ apiWaimaiPrintService.autoPrintWaimaiNew(printOrderDto, detailList, shop.getId(), waimaiOrder);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("自动打印异常!", e);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ //推送外卖新消息
|
|
|
+ messagePushService.waimaiMessage(shop.getId(), waimaiOrder);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("推送外卖订单消息异常,订单号:" + waimaiOrder.getOutOrderId());
|
|
|
+ }
|
|
|
|
|
|
- //产生配送订单
|
|
|
- addOrder(shop, waimaiOrder, waimai, SnCodeUtils.createSn());
|
|
|
- }
|
|
|
+ //产生配送订单
|
|
|
+ addOrder(shop, waimaiOrder, waimai, SnCodeUtils.createSn());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
@Async
|
|
|
public void jdHomeDoCancelOrder(JdHomeOrderResultVo orderCancelVo) {
|