소스 검색

计价接口

叶君翔 3 년 전
부모
커밋
30bc5d4b77

+ 2 - 3
lb-app/src/main/java/com/ydd/app/controller/OrderOpenApi.java

@@ -39,9 +39,8 @@ public class OrderOpenApi {
     @RequestMapping(value = "/valuation", method = RequestMethod.POST)
     @RepeatSubmit
     @ControllerLog("开放接口-计价")
-    public ResponseResult<OrderValuationResponse> valuation(@RequestBody @Valid OrderValuationReq valuationDto) {
-        OrderValuationResponse response = openApiOrderValuationService.valuation(valuationDto);
-        return ResponseResult.success(response);
+    public ResponseResult valuation(@RequestBody @Valid OrderValuationReq valuationReq) {
+        return openApiOrderValuationService.valuation(valuationReq);
     }
 
     @ApiOperation("开放接口-推送订单")

+ 3 - 3
lb-app/src/main/java/com/ydd/app/dto/OrderValuationReq.java

@@ -153,16 +153,16 @@ public class OrderValuationReq extends BaseDto implements Serializable {
     private String sendLat;
 
     /**
-     * 物品类型
+     * 物品类型, 即门店经营分类
      */
-    private Integer goodsType;
+    private Integer categoryId;
 
     /**
      * 物品重量, 单位为kg
      */
     @NotNull(message = "物品重量不可为空")
     @Min(value = 1, message = "物品重量最低1KG")
-    private Integer goodsWeight;
+    private Integer weight;
 
     /**
      * 流水号

+ 2 - 2
lb-app/src/main/java/com/ydd/app/service/OpenApiOrderValuationService.java

@@ -1,7 +1,7 @@
 package com.ydd.app.service;
 
 import com.ydd.app.dto.OrderValuationReq;
-import com.ydd.app.response.OrderValuationResponse;
+import com.ydd.common.core.domain.ResponseResult;
 
 /**
  * 开放接口-订单计价Service
@@ -10,6 +10,6 @@ import com.ydd.app.response.OrderValuationResponse;
  */
 public interface OpenApiOrderValuationService {
 
-    OrderValuationResponse valuation(OrderValuationReq valuationDto);
+    ResponseResult valuation(OrderValuationReq valuationReq);
 
 }

+ 7 - 7
lb-app/src/main/java/com/ydd/app/service/impl/OpenApiOrderServiceImpl.java

@@ -121,25 +121,25 @@ public class OpenApiOrderServiceImpl implements OpenApiOrderService {
         ResponseResult result = ResponseResult.success();
         if (StringUtils.isBlank(orderDto.getShopCode())) {
             if (StringUtils.isBlank(orderDto.getSendName())) {
-                return ResponseResult.error(ResponseResultCodeEnum.SHOP_NOT_EXIST, null, "发件人名称");
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人名称", null);
             }
             if (StringUtils.isBlank(orderDto.getSendPhone())) {
-                return ResponseResult.error(ResponseResultCodeEnum.SHOP_NOT_EXIST, null, "发件人联系电话");
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人联系电话", null);
             }
             if (StringUtils.isBlank(orderDto.getSendProvinceName())) {
-                return ResponseResult.error(ResponseResultCodeEnum.SHOP_NOT_EXIST, null, "发件人所在省");
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人所在省", null);
             }
             if (StringUtils.isBlank(orderDto.getSendCityName())) {
-                return ResponseResult.error(ResponseResultCodeEnum.SHOP_NOT_EXIST, null, "发件人所在市");
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人所在市", null);
             }
             if (StringUtils.isBlank(orderDto.getSendAddress())) {
-                return ResponseResult.error(ResponseResultCodeEnum.SHOP_NOT_EXIST, null, "发件人详细地址");
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人详细地址", null);
             }
             if (StringUtils.isBlank(orderDto.getSendLng())) {
-                return ResponseResult.error(ResponseResultCodeEnum.SHOP_NOT_EXIST, null, "发件人纬度");
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人纬度", null);
             }
             if (StringUtils.isBlank(orderDto.getSendLat())) {
-                return ResponseResult.error(ResponseResultCodeEnum.SHOP_NOT_EXIST, null, "发件人经度");
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人经度", null);
             }
         }
         return result;

+ 56 - 2
lb-app/src/main/java/com/ydd/app/service/impl/OpenApiOrderValuationServiceImpl.java

@@ -1,8 +1,12 @@
 package com.ydd.app.service.impl;
 
 import com.ydd.app.dto.OrderValuationReq;
-import com.ydd.app.response.OrderValuationResponse;
 import com.ydd.app.service.OpenApiOrderValuationService;
+import com.ydd.common.core.domain.ResponseResult;
+import com.ydd.common.enums.ResponseResultCodeEnum;
+import com.ydd.common.utils.StringUtils;
+import com.ydd.module.domain.Shop;
+import com.ydd.module.service.IShopService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,9 +22,59 @@ import org.springframework.stereotype.Service;
 @RequiredArgsConstructor(onConstructor_ = @Autowired)
 public class OpenApiOrderValuationServiceImpl implements OpenApiOrderValuationService {
 
+    private final IShopService iShopService;
+
     @Override
-    public OrderValuationResponse valuation(OrderValuationReq valuationDto) {
+    public ResponseResult valuation(OrderValuationReq valuationReq) {
+        // 参数校验
+        ResponseResult result = this.validParam(valuationReq);
+        if (result.getCode() != ResponseResultCodeEnum.SUCCESS.getCode()) {
+            return result;
+        }
+
         return null;
     }
 
+    private ResponseResult validParam(OrderValuationReq valuationReq) {
+        ResponseResult result = ResponseResult.success();
+        if (StringUtils.isBlank(valuationReq.getShopCode())) {
+            if (StringUtils.isBlank(valuationReq.getSendName())) {
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人名称", null);
+            }
+            if (StringUtils.isBlank(valuationReq.getSendPhone())) {
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人联系电话", null);
+            }
+            if (StringUtils.isBlank(valuationReq.getSendProvinceName())) {
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人所在省", null);
+            }
+            if (StringUtils.isBlank(valuationReq.getSendCityName())) {
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人所在市", null);
+            }
+            if (StringUtils.isBlank(valuationReq.getSendAddress())) {
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人详细地址", null);
+            }
+            if (StringUtils.isBlank(valuationReq.getSendLng())) {
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人纬度", null);
+            }
+            if (StringUtils.isBlank(valuationReq.getSendLat())) {
+                return ResponseResult.error(ResponseResultCodeEnum.FIELD_EMPTY, "发件人经度", null);
+            }
+        } else {
+            Shop shop = iShopService.getByCode(valuationReq.getShopCode());
+            if (shop == null) {
+                return ResponseResult.error(ResponseResultCodeEnum.SHOP_NOT_EXIST);
+            }
+            valuationReq.setSendName(shop.getContactName());
+            valuationReq.setSendPhone(shop.getMobile());
+            valuationReq.setSendProvinceName(shop.getProvinceName());
+            valuationReq.setSendCityName(shop.getCityName());
+            valuationReq.setSendDistrictName(shop.getDistrictName());
+            valuationReq.setSendAddress(shop.getAddress());
+            valuationReq.setSendHouseNumber(shop.getStreet());
+            valuationReq.setSendLat(shop.getLat());
+            valuationReq.setSendLng(shop.getLng());
+        }
+        return result;
+    }
+
 }

+ 3 - 1
lb-common/src/main/java/com/ydd/common/core/domain/ResponseResult.java

@@ -12,6 +12,8 @@ import java.io.Serializable;
  */
 public class ResponseResult<T> implements Serializable {
 
+    private static final long serialVersionUID = 1785841673089951952L;
+
     private int code;
     private String message;
     private T data;
@@ -73,7 +75,7 @@ public class ResponseResult<T> implements Serializable {
         return error(resultCodeEnum, null);
     }
 
-    public static <T> ResponseResult<T> error(ResponseResultCodeEnum resultCodeEnum, T data, String message) {
+    public static <T> ResponseResult<T> error(ResponseResultCodeEnum resultCodeEnum, String message, T data) {
         String errorMessage;
         if (StringUtils.isNotBlank(message)) {
             errorMessage = message.concat(resultCodeEnum.getMessage());

+ 3 - 3
lb-common/src/main/java/com/ydd/common/enums/ResponseResultCodeEnum.java

@@ -20,14 +20,14 @@ public enum ResponseResultCodeEnum {
     // 接口验签、入参校验状态码
     TIMESTAMP_ERR(1001, "timestamp错误"),
     APP_ID_ERR(1002, "appId无效"),
-    SIAN_ERR(1003, "签名验证失败"),
+    SIGN_ERR(1003, "签名验证失败"),
 
 
     // 门店、订单类状态码
     SHOP_NOT_EXIST(2001, "门店不存在"),
 
-    // 字段不能为空状态码
-    FIELD_NOT_EMPTY(3001, "参数不能为空"),
+    // 字段为空状态码
+    FIELD_EMPTY(3001, "参数为空"),
     ;
 
     private final int code;