刘俊驰 1 рік тому
батько
коміт
91b74b06cd

+ 3 - 2
mec-client-api/src/main/java/com/ym/mec/mall/MallFeignService.java

@@ -1,5 +1,6 @@
 package com.ym.mec.mall;
 
+import com.ym.mec.common.api.CommonResult;
 import com.ym.mec.common.config.FeignConfiguration;
 import com.ym.mec.common.dto.*;
 import com.ym.mec.common.page.PageInfo;
@@ -23,7 +24,7 @@ public interface MallFeignService {
 
     // 同步完成订单
     @PostMapping(value = "/open/product/orderCreate", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
-    boolean productOrderCreate(@RequestBody OrderCreate order) ;
+    CommonResult<Boolean> productOrderCreate(@RequestBody OrderCreate order) ;
 
     // 同步订单状态,
     /**
@@ -32,7 +33,7 @@ public interface MallFeignService {
      * @return status 订单状态  0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单
      */
     @GetMapping(value = "/open/product/updateOrderStatus", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
-    boolean productUpdateOrderStatus(@RequestParam("orderNo") String orderNo,@RequestParam("status") Integer status);
+    CommonResult<Boolean> productUpdateOrderStatus(@RequestParam("orderNo") String orderNo,@RequestParam("status") Integer status);
 
 
     //根据品牌名称分页获取品牌列表

+ 145 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/api/CommonResult.java

@@ -0,0 +1,145 @@
+package com.ym.mec.common.api;
+
+/**
+ * 通用返回对象
+ * Created by macro on 2019/4/19.
+ */
+public class CommonResult<T> {
+    /**
+     * 状态码
+     */
+    private long code;
+    /**
+     * 提示信息
+     */
+    private String message;
+    /**
+     * 数据封装
+     */
+    private T data;
+
+    private Object err;
+
+    protected CommonResult() {
+    }
+
+    protected CommonResult(long code, String message, T data) {
+        this.code = code;
+        this.message = message;
+        this.data = data;
+    }
+
+
+
+    /**
+     * 成功返回结果
+     *
+     * @param data 获取的数据
+     */
+    public static <T> CommonResult<T> success(T data) {
+        return new CommonResult<T>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), data);
+    }
+
+    /**
+     * 成功返回结果
+     *
+     * @param data 获取的数据
+     * @param  message 提示信息
+     */
+    public static <T> CommonResult<T> success(T data, String message) {
+        return new CommonResult<T>(ResultCode.SUCCESS.getCode(), message, data);
+    }
+
+    /**
+     * 失败返回结果
+     * @param errorCode 错误码
+     */
+    public static <T> CommonResult<T> failed(IErrorCode errorCode) {
+        return new CommonResult<T>(errorCode.getCode(), errorCode.getMessage(), null);
+    }
+
+    /**
+     * 失败返回结果
+     * @param errorCode 错误码
+     * @param message 错误信息
+     */
+    public static <T> CommonResult<T> failed(IErrorCode errorCode,String message) {
+        return new CommonResult<T>(errorCode.getCode(), message, null);
+    }
+
+    /**
+     * 失败返回结果
+     * @param message 提示信息
+     */
+    public static <T> CommonResult<T> failed(String message) {
+        return new CommonResult<T>(ResultCode.FAILED.getCode(), message, null);
+    }
+
+    /**
+     * 失败返回结果
+     */
+    public static <T> CommonResult<T> failed() {
+        return failed(ResultCode.FAILED);
+    }
+
+    /**
+     * 参数验证失败返回结果
+     */
+    public static <T> CommonResult<T> validateFailed() {
+        return failed(ResultCode.VALIDATE_FAILED);
+    }
+
+    /**
+     * 参数验证失败返回结果
+     * @param message 提示信息
+     */
+    public static <T> CommonResult<T> validateFailed(String message) {
+        return new CommonResult<T>(ResultCode.VALIDATE_FAILED.getCode(), message, null);
+    }
+
+    /**
+     * 未登录返回结果
+     */
+    public static <T> CommonResult<T> unauthorized(T data) {
+        return new CommonResult<T>(ResultCode.UNAUTHORIZED.getCode(), ResultCode.UNAUTHORIZED.getMessage(), data);
+    }
+
+    /**
+     * 未授权返回结果
+     */
+    public static <T> CommonResult<T> forbidden(T data) {
+        return new CommonResult<T>(ResultCode.FORBIDDEN.getCode(), ResultCode.FORBIDDEN.getMessage(), data);
+    }
+
+    public long getCode() {
+        return code;
+    }
+
+    public void setCode(long code) {
+        this.code = code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    public T getData() {
+        return data;
+    }
+
+    public void setData(T data) {
+        this.data = data;
+    }
+
+    public Object getErr() {
+        return err;
+    }
+
+    public void setErr(Object err) {
+        this.err = err;
+    }
+}

+ 17 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/api/IErrorCode.java

@@ -0,0 +1,17 @@
+package com.ym.mec.common.api;
+
+/**
+ * 常用API返回对象接口
+ * Created by macro on 2019/4/19.
+ */
+public interface IErrorCode {
+    /**
+     * 返回码
+     */
+    long getCode();
+
+    /**
+     * 返回信息
+     */
+    String getMessage();
+}

+ 28 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/api/ResultCode.java

@@ -0,0 +1,28 @@
+package com.ym.mec.common.api;
+
+/**
+ * 常用API返回对象
+ * Created by macro on 2019/4/19.
+ */
+public enum ResultCode implements IErrorCode {
+    SUCCESS(200, "操作成功"),
+    FAILED(500, "操作失败"),
+    VALIDATE_FAILED(404, "参数检验失败"),
+    UNAUTHORIZED(401, "暂未登录或token已经过期"),
+    FORBIDDEN(403, "没有相关权限");
+    private long code;
+    private String message;
+
+    private ResultCode(long code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public long getCode() {
+        return code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+}

+ 6 - 4
mec-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/controller/open/OpenController.java

@@ -99,14 +99,14 @@ public class OpenController {
      * @return String
      */
     @PostMapping(value = "/product/orderCreate", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
-    public R<Boolean> productOrderCreate(@RequestBody OrderCreate order) {
+    public CommonResult<Boolean> productOrderCreate(@RequestBody OrderCreate order) {
 
         log.info("创建管乐迷订单:{}", JSON.toJSONString(order));
 
         orderService.mecProductOrderCreate(order);
 
 
-        return R.ok(true);
+        return CommonResult.success(true);
     }
 
 
@@ -117,10 +117,12 @@ public class OpenController {
      * @return status 订单状态  0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单
      */
     @GetMapping(value = "/product/updateOrderStatus", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
-    public boolean productUpdateOrderStatus(@RequestParam("orderNo") String orderNo,@RequestParam("status") Integer status) {
+    public CommonResult<Boolean> productUpdateOrderStatus(@RequestParam("orderNo") String orderNo,@RequestParam("status") Integer status) {
         log.info("同步订单状态:{},{}", orderNo, status);
         // 已发货订单不可修改状态
-        return orderService.productUpdateOrderStatus(orderNo, status);
+        orderService.productUpdateOrderStatus(orderNo, status);
+
+        return CommonResult.success(true);
     }
 
     @PostMapping(value = "/product/list")

+ 24 - 12
mec-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/OmsOrderServiceImpl.java

@@ -201,7 +201,7 @@ public class OmsOrderServiceImpl implements OmsOrderService {
                             count1 = 0;
                         } else {
                             count1 = count1 - stock;
-                            record.setInternalSaleStock(record.getInternalStock());
+                            record.setInternalSaleStock(skuStockRecord.getInternalStock());
                         }
                         updateList.add(record);
                     }
@@ -222,7 +222,7 @@ public class OmsOrderServiceImpl implements OmsOrderService {
                             count1 = 0;
                         } else {
                             count1 = count1 - stock;
-                            record.setTaxSaleStock(record.getTaxStock());
+                            record.setTaxSaleStock(skuStockRecord.getTaxStock());
                         }
                         updateList.add(record);
                     }
@@ -242,10 +242,14 @@ public class OmsOrderServiceImpl implements OmsOrderService {
         List<OmsOrder> omsOrders = orderMapper.selectByExample(orderExample);
         // 订单号
         List<String> orderSnList = omsOrders.stream().map(OmsOrder::getOrderSn).collect(Collectors.toList());
-//        HttpResponseResult httpResponseResult = webFeignService.updateShippedStatus(orderSnList);
-//        if (httpResponseResult.getCode() != 200 && !httpResponseResult.getStatus()) {
-//            throw new BizException("发货通知失败");
-//        }
+        try {
+            HttpResponseResult httpResponseResult = webFeignService.updateShippedStatus(orderSnList);
+            if (httpResponseResult.getCode() != 200 && !httpResponseResult.getStatus()) {
+                throw new BizException("发货通知失败");
+            }
+        } catch (Exception e) {
+            throw new BizException("发货通知失败");
+        }
 
         // 调用三方库存更新接口
         syncSkuStock(new ArrayList<>(skuIdMap.keySet()));
@@ -261,10 +265,15 @@ public class OmsOrderServiceImpl implements OmsOrderService {
             stockModel.setStock(skuStock.getStock());
             return stockModel;
         }).collect(Collectors.toList());
-        HttpResponseResult<Boolean> booleanHttpResponseResult = webFeignService.goodsStockCountSynchronize(modelList);
-        if (booleanHttpResponseResult.getCode() != 200 && !booleanHttpResponseResult.getStatus()) {
+        try {
+            HttpResponseResult<Boolean> booleanHttpResponseResult = webFeignService.goodsStockCountSynchronize(modelList);
+            if (booleanHttpResponseResult.getCode() != 200 && !booleanHttpResponseResult.getStatus()) {
+                throw new BizException("库存同步失败");
+            }
+        }catch (Exception e) {
             throw new BizException("库存同步失败");
         }
+
     }
 
     @Override
@@ -701,11 +710,14 @@ public class OmsOrderServiceImpl implements OmsOrderService {
         if (!CollectionUtils.isEmpty(orderItemList)) {
             omsOrderItemMapper.insertList(orderItemList);
         }
-        // skuId 数量 map
-        Map<Long, Integer> skuIdMap = orderItemList.stream().collect(Collectors.groupingBy(OmsOrderItem::getProductSkuId,Collectors.summingInt(OmsOrderItem::getProductQuantity)));
-
         // 如果订单状态是已发货,扣减库存
-        updateSkuStock( skuIdMap, Lists.newArrayList(detail.getId()));
+        if (order.getStatus() ==2 || order.getStatus() == 3) {
+
+            // skuId 数量 map
+            Map<Long, Integer> skuIdMap = orderItemList.stream().collect(Collectors.groupingBy(OmsOrderItem::getProductSkuId,Collectors.summingInt(OmsOrderItem::getProductQuantity)));
+
+            updateSkuStock(skuIdMap, Lists.newArrayList(detail.getId()));
+        }
     }
 
     @Override

+ 1 - 0
mec-mall/mall-common/src/main/java/com/yonge/cooleshow/mall/common/exception/GlobalExceptionHandler.java

@@ -93,6 +93,7 @@ public class GlobalExceptionHandler {
     @ResponseBody
     @ExceptionHandler(value = BizException.class)
     public CommonResult handleBizException(BizException e) {
+        log.error("handleBizException ", e);
         return  CommonResult.failed(e.getMessage());
     }
 

+ 1 - 1
mec-mall/mall-mbg/src/main/java/com/yonge/cooleshow/mbg/model/OmsOrder.java

@@ -58,7 +58,7 @@ public class OmsOrder implements Serializable {
     @ApiModelProperty(value = "支付方式:0->未支付;1->支付宝;2->微信")
     private Integer payType;
 
-    @ApiModelProperty(value = "订单来源:0->PC订单;1->app订单 2->学校订单")
+    @ApiModelProperty(value = "订单来源:0->PC订单;1->app订单 2->学校订单 ")
     private Integer sourceType;
 
     @ApiModelProperty(value = "订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单")