|
@@ -1354,6 +1354,7 @@ public class ApiWaimaiServiceImpl implements ApiWaimaiService {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 异常单撤回
|
|
* 异常单撤回
|
|
|
|
+ *
|
|
* @param loginId
|
|
* @param loginId
|
|
* @param orderId
|
|
* @param orderId
|
|
*/
|
|
*/
|
|
@@ -1493,18 +1494,19 @@ public class ApiWaimaiServiceImpl implements ApiWaimaiService {
|
|
// DspWaimai waimai = iDspWaimaiService.findOne(WaimaiTypeEnums.MEI_TUAN_SG.getType());
|
|
// DspWaimai waimai = iDspWaimaiService.findOne(WaimaiTypeEnums.MEI_TUAN_SG.getType());
|
|
// ShopWaimai shopWaimai = iShopWaimaiService.findById(shop.getId(), waimai.getId());
|
|
// 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));
|
|
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 处理京东到家商家已接单
|
|
* 处理京东到家商家已接单
|
|
|
|
+ *
|
|
* @param orderVo
|
|
* @param orderVo
|
|
*/
|
|
*/
|
|
@SneakyThrows
|
|
@SneakyThrows
|
|
@@ -1537,25 +1539,25 @@ public class ApiWaimaiServiceImpl implements ApiWaimaiService {
|
|
Shop shop = iShopService.getById(shopWaimai.getShopId());
|
|
Shop shop = iShopService.getById(shopWaimai.getShopId());
|
|
|
|
|
|
|
|
|
|
- if (waimaiOrder == null && shopWaimai != null) {
|
|
|
|
- waimaiOrder = new WaimaiOrder();
|
|
|
|
- BeanUtils.copyProperties(orderInfoDTO, waimaiOrder);
|
|
|
|
- String recipientAddress = orderInfoDTO.getBuyerFullAddress();
|
|
|
|
|
|
+ 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();
|
|
|
|
|
|
+ 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("\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());
|
|
|
|
- }
|
|
|
|
|
|
+ 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.setCaution(remark);
|
|
|
|
|
|
waimaiOrder.setWaimaiId(waimai.getId());
|
|
waimaiOrder.setWaimaiId(waimai.getId());
|
|
waimaiOrder.setShopId(shop.getId());
|
|
waimaiOrder.setShopId(shop.getId());
|
|
@@ -1577,93 +1579,93 @@ public class ApiWaimaiServiceImpl implements ApiWaimaiService {
|
|
waimaiOrder.setDeliveryTime(0L);
|
|
waimaiOrder.setDeliveryTime(0L);
|
|
}
|
|
}
|
|
|
|
|
|
- waimaiOrder.setHasInvoiced(orderInfoDTO.getOrderInvoiceOpenMark() == 1 ? 1 : 0);
|
|
|
|
|
|
+ waimaiOrder.setHasInvoiced(orderInfoDTO.getOrderInvoiceOpenMark() == 1 ? 1 : 0);
|
|
// waimaiOrder.setLatitude(orderInfoDTO.getBuyerLng();
|
|
// waimaiOrder.setLatitude(orderInfoDTO.getBuyerLng();
|
|
// waimaiOrder.setLongitude(orderInfoDTO.getBuyerLat());
|
|
// 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.setExtras(orderInfoDTO.getDiscount().toString());
|
|
// waimaiOrder.setIsThirdShipping(orderVo.getIsThirdShipping());
|
|
// 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()));
|
|
// waimaiOrder.setPickType(Integer.valueOf(orderInfoDTO.getDeliveryCarrierNo()));
|
|
// orderVo.setWmPoiAddress(URLDecoder.decode(orderVo.getWmPoiAddress(), "utf-8"));
|
|
// 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());
|
|
// 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);
|
|
// 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());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //产生配送订单
|
|
|
|
- addOrder(shop, waimaiOrder, waimai, SnCodeUtils.createSn());
|
|
|
|
|
|
+ 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());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|