|
@@ -28,10 +28,7 @@ import com.ydd.module.CancelOrderUtils;
|
|
|
import com.ydd.module.domain.*;
|
|
|
import com.ydd.module.dto.CancelOrderDto;
|
|
|
import com.ydd.module.dto.CouponDto;
|
|
|
-import com.ydd.module.enums.DeliveryStatusEnum;
|
|
|
-import com.ydd.module.enums.MemberCouponStatusEnum;
|
|
|
-import com.ydd.module.enums.OrderCancelTypeEnum;
|
|
|
-import com.ydd.module.enums.PayStatusEnum;
|
|
|
+import com.ydd.module.enums.*;
|
|
|
import com.ydd.module.service.*;
|
|
|
import com.ydd.third.common.utils.CoordinateUtils;
|
|
|
import com.ydd.third.common.vo.ResObject;
|
|
@@ -88,6 +85,9 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
|
|
|
private final IShopWaimaiService iShopWaimaiService;
|
|
|
private final IDspWaimaiService iDspWaimaiService;
|
|
|
|
|
|
+ private final IMerchantService iMerchantService;
|
|
|
+ private final IMemberService iMemberService;
|
|
|
+
|
|
|
@Override
|
|
|
public ResponseResult pushOrder(OrderPushReq pushReq) {
|
|
|
// 特殊必填处理
|
|
@@ -96,12 +96,21 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ Merchant merchant = iMerchantService.getOne(new QueryWrapper<Merchant>().eq("deleted", 0).eq("app_id", pushReq.getAppId()));
|
|
|
+ if (Objects.isNull(merchant)) {
|
|
|
+ return ResponseResult.error(ResponseResultCodeEnum.APP_ID_ERR);
|
|
|
+ }
|
|
|
+ Member member = iMemberService.getOne(new QueryWrapper<Member>().eq("deleted", 0)
|
|
|
+ .eq("merchant_id", merchant.getId()).eq("member_type", MemberTypeEnum.MERCHANT.getType()));
|
|
|
+
|
|
|
Order order = iOrderService.getOne(new QueryWrapper<Order>().eq("deleted", 0).eq("out_trade_no", pushReq.getOutOrderSn()));
|
|
|
if (order == null) {
|
|
|
order = new Order();
|
|
|
}
|
|
|
|
|
|
// 添加订单其它属性
|
|
|
+ order.setMemberId(member.getId());
|
|
|
+ order.setMerchantId(merchant.getId());
|
|
|
order.setOutTradeNo(pushReq.getOutOrderSn());
|
|
|
order.setProductId(pushReq.getCategoryId().longValue());
|
|
|
Product product = iProductService.getById(order.getProductId());
|
|
@@ -123,14 +132,30 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
|
|
|
}
|
|
|
order.setReceiptLng(pushReq.getReceiverLng());
|
|
|
order.setReceiptLat(pushReq.getReceiverLat());
|
|
|
+ order.setReceiptCityCode(pushReq.getReceiverCityCode());
|
|
|
+ order.setDeliveryStatus(DeliveryStatusEnum.ORDERS_TO_BE_BILLED.getStatus());
|
|
|
if (StringUtils.isNotBlank(pushReq.getShopCode())) {
|
|
|
Shop shop = iShopService.getOne(new QueryWrapper<Shop>().eq("deleted", 0).eq("code", pushReq.getShopCode()));
|
|
|
if (shop != null) {
|
|
|
- order.setMerchantId(shop.getMerchantId());
|
|
|
order.setShopId(shop.getId());
|
|
|
order.setShopName(shop.getName());
|
|
|
+ order.setSendProvinceName(shop.getProvinceName());
|
|
|
+ order.setSendCityName(shop.getCityName());
|
|
|
+ order.setSendDistrictName(shop.getDistrictName());
|
|
|
+ order.setSendAddress(shop.getAddress());
|
|
|
+ order.setSendContactName(shop.getContactName());
|
|
|
+ order.setSendPhone(shop.getMobile());
|
|
|
+ order.setSendLng(shop.getLng());
|
|
|
+ order.setSendLat(shop.getLat());
|
|
|
+ order.setSendStreet(shop.getStreet());
|
|
|
+ order.setSendCityCode(shop.getCityCode());
|
|
|
+ }else {
|
|
|
+ return ResponseResult.error(ResponseResultCodeEnum.SHOP_NOT_EXIST);
|
|
|
}
|
|
|
} else {
|
|
|
+ order.setShopId(member.getShopId());
|
|
|
+ Shop shop = iShopService.getById(order.getShopId());
|
|
|
+ order.setShopName(shop.getName());
|
|
|
order.setSendContactName(pushReq.getSendName());
|
|
|
order.setSendPhone(pushReq.getSendPhone());
|
|
|
order.setSendProvinceName(pushReq.getSendProvinceName());
|
|
@@ -144,6 +169,7 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
|
|
|
}
|
|
|
order.setSendLng(pushReq.getSendLng());
|
|
|
order.setSendLat(pushReq.getSendLat());
|
|
|
+ order.setSendCityCode(pushReq.getSendCityCode());
|
|
|
}
|
|
|
order.setLbDaySeq(pushReq.getDaySeq());
|
|
|
order.setOrderSn(SnCodeUtils.createSn());
|
|
@@ -185,6 +211,9 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
|
|
|
if (StringUtils.isBlank(orderDto.getSendLat())) {
|
|
|
return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人经度", null);
|
|
|
}
|
|
|
+ if (StringUtils.isBlank(orderDto.getSendCityCode())) {
|
|
|
+ return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人测试code", null);
|
|
|
+ }
|
|
|
}
|
|
|
return result;
|
|
|
}
|