Browse Source

获取收款订单详情

chao 3 năm trước cách đây
mục cha
commit
788aeec078

+ 19 - 3
src/main/java/com/caimei365/order/controller/ReceiptApi.java

@@ -154,7 +154,7 @@ public class ReceiptApi {
             @ApiImplicitParam(required = true, name = "id", value = "款项Id"),
             @ApiImplicitParam(required = false, name = "openid", value = "微信openid")
     })
-    @GetMapping("/list")
+    @GetMapping("/detail")
     public ResponseJson<ReceiptVo> getReceiptDetail(Integer id, String openid) {
         if (!StringUtils.hasLength(openid)) {
             return ResponseJson.error("微信openid不能为空!", null);
@@ -176,7 +176,7 @@ public class ReceiptApi {
             @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
-    @GetMapping("/list")
+    @GetMapping("/orders")
     public ResponseJson<PageInfo<OrderVo>> getReceiptOrderList(Integer id,
                                                                Integer type,
                                                                Integer organizeId,
@@ -204,7 +204,7 @@ public class ReceiptApi {
             @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
-    @GetMapping("/list")
+    @GetMapping("/orders/refund")
     public ResponseJson<PageInfo<ShopOrderVo>> getRefundShopOrderList(Integer id,
                                                                       Integer confirmedType,
                                                                       String shopName,
@@ -218,5 +218,21 @@ public class ReceiptApi {
         return receiptService.getRefundShopOrderList(id, confirmedType, shopName, userName, openid, pageNum, pageSize);
     }
 
+    /**
+     * 获取收款订单详情
+     */
+    @ApiOperation("获取收款订单详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(required = false, name = "orderId", value = "订单ID"),
+            @ApiImplicitParam(required = false, name = "openid", value = "微信openid")
+    })
+    @GetMapping("/orders/info")
+    public ResponseJson<OrderVo> getReceiptOrderInfo(Integer orderId, String openid) {
+        if (!StringUtils.hasLength(openid)) {
+            return ResponseJson.error("微信openid不能为空!", null);
+        }
+        return receiptService.getReceiptOrderInfo(orderId, openid);
+    }
+
 }
 

+ 4 - 0
src/main/java/com/caimei365/order/model/vo/OrderVo.java

@@ -307,4 +307,8 @@ public class OrderVo implements Serializable {
      * 订单状态备注
      */
     private String statusName;
+    /**
+     * 总税费
+     */
+    private Double totalAddedValueTax;
 }

+ 7 - 0
src/main/java/com/caimei365/order/service/ReceiptService.java

@@ -96,4 +96,11 @@ public interface ReceiptService {
      * @param pageSize      每页数量
      */
     ResponseJson<PageInfo<ShopOrderVo>> getRefundShopOrderList(Integer id, Integer confirmedType, String shopName, String userName, String openid, int pageNum, int pageSize);
+
+    /**
+     * 获取收款订单详情
+     * @param orderId 订单Id
+     * @param openid  微信openid
+     */
+    ResponseJson<OrderVo> getReceiptOrderInfo(Integer orderId, String openid);
 }

+ 68 - 22
src/main/java/com/caimei365/order/service/impl/ReceiptServiceImpl.java

@@ -32,7 +32,6 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
-import java.math.BigDecimal;
 import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -595,33 +594,15 @@ public class ReceiptServiceImpl implements ReceiptService {
                 if (receiptFlag) {
                     order.setSurplusAmount(0d);
                 }
-                order.setPaidAmount(getReceivedAmount(order, true));
-                order.setStatusName(OrderStatus.getOrderStatusText(order.getStatus()));
-                order.setUnCheckAmount(receiptMapper.getUncheckAmount(order.getOrderId()));
-                //获取退款价值
-                order.setReturnValue(getReturnValue(order));
-                //退款(退货)总金额
-                Double returnedPurchaseFee = 0d;
-                //退款总额(给买家)
-                Double refundFee = 0d;
-                //获取已退款金额
-                List<ReturnedPurchaseVo> returnedList = receiptMapper.getRefundFeeByOrderId(orderId);
-                if (null != returnedList && returnedList.size() > 0) {
-                    for (ReturnedPurchaseVo returned : returnedList) {
-                        returnedPurchaseFee += returned.getReturnedPurchaseFee();
-                        refundFee += returned.getRefundFee();
-                    }
-                }
-                order.setReturnedPurchaseFee(returnedPurchaseFee);
-                order.setRefundFee(refundFee);
-                //获取剩余应收
-                order.setSurplusAmount(getUnPayMoney(order, true));
+                // 设置订单的款项信息
+                setOrderAmountInfo(order);
             }
         }
         PageInfo<OrderVo> pageInfo = new PageInfo(orderList);
         return ResponseJson.success(pageInfo);
     }
 
+
     /**
      * @param id            返佣收款ID
      * @param confirmedType 0待确认,2已确认子订单
@@ -661,6 +642,71 @@ public class ReceiptServiceImpl implements ReceiptService {
         return ResponseJson.success(pageInfo);
     }
 
+    /**
+     * 获取收款订单详情
+     * @param orderId 订单Id
+     * @param openid  微信openid
+     */
+    @Override
+    public ResponseJson<OrderVo> getReceiptOrderInfo(Integer orderId, String openid) {
+        // 操作用户
+        ReceiptUserVo receiptUser = checkPermissions(1, openid);
+        if (null == receiptUser) {
+            return ResponseJson.error("无权限操作!", null);
+        }
+        // 订单信息
+        OrderVo order = orderCommonMapper.getOrderByOrderId(orderId);
+        // 设置订单的款项信息
+        setOrderAmountInfo(order);
+        // 子订单信息
+        List<ShopOrderVo> shopOrderList = orderCommonMapper.getShopOrderListByOrderId(order.getOrderId());
+        shopOrderList.removeIf(s -> s.getShopId() == 998);
+        // 订单商品信息
+        double totalAddedValueTax = 0d;
+        for (ShopOrderVo shopOrder : shopOrderList) {
+            // 供应商名称
+            String shopName = baseMapper.getShopNameById(shopOrder.getShopId());
+            shopOrder.setShopName(shopName);
+            List<OrderProductVo> orderProductList = orderCommonMapper.getShopOrderProduct(shopOrder.getShopOrderId());
+            for (OrderProductVo orderProduct : orderProductList) {
+                if (null != orderProduct.getTotalAddedValueTax()){
+                    totalAddedValueTax = MathUtil.add(totalAddedValueTax, orderProduct.getTotalAddedValueTax()).doubleValue();
+                }
+            }
+            shopOrder.setOrderProductList(orderProductList);
+        }
+        order.setTotalAddedValueTax(totalAddedValueTax);
+        order.setShopOrderList(shopOrderList);
+        return ResponseJson.success(order);
+    }
+
+    /**
+     * 设置订单的款项信息
+     */
+    private void setOrderAmountInfo(OrderVo order) {
+        order.setPaidAmount(getReceivedAmount(order, true));
+        order.setStatusName(OrderStatus.getOrderStatusText(order.getStatus()));
+        order.setUnCheckAmount(receiptMapper.getUncheckAmount(order.getOrderId()));
+        //获取退款价值
+        order.setReturnValue(getReturnValue(order));
+        //退款(退货)总金额
+        Double returnedPurchaseFee = 0d;
+        //退款总额(给买家)
+        Double refundFee = 0d;
+        //获取已退款金额
+        List<ReturnedPurchaseVo> returnedList = receiptMapper.getRefundFeeByOrderId(order.getOrderId());
+        if (null != returnedList && returnedList.size() > 0) {
+            for (ReturnedPurchaseVo returned : returnedList) {
+                returnedPurchaseFee += returned.getReturnedPurchaseFee();
+                refundFee += returned.getRefundFee();
+            }
+        }
+        order.setReturnedPurchaseFee(returnedPurchaseFee);
+        order.setRefundFee(refundFee);
+        //获取剩余应收
+        order.setSurplusAmount(getUnPayMoney(order, true));
+    }
+
     /**
      * 设置收款金额
      */