Parcourir la source

供应商结算列表

chao il y a 3 ans
Parent
commit
ffacecfe32

+ 26 - 0
src/main/java/com/caimei365/order/controller/ShipApi.java

@@ -4,6 +4,7 @@ import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.dto.LogisticsBatchDto;
 import com.caimei365.order.model.dto.LogisticsDto;
 import com.caimei365.order.model.vo.CompanyVo;
+import com.caimei365.order.model.vo.SettlementVo;
 import com.caimei365.order.model.vo.ShopOrderVo;
 import com.caimei365.order.service.ShipService;
 import com.github.pagehelper.PageInfo;
@@ -52,6 +53,28 @@ public class ShipApi {
         return shipService.getShopOrderList(shopId, sendOutStatus, payStatus, shopOrderNo, receiver, pageNum, pageSize);
     }
 
+    /**
+     * 供应商结算列表
+     */
+    @ApiOperation("供应商结算列表(旧:/supplier/settlementList)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(required = true, name = "shopId", value = "供应商Id"),
+            @ApiImplicitParam(required = false, name = "shopOrderNo", value = "订单编号"),
+            @ApiImplicitParam(required = false, name = "payStatus", value = "结算状态"),
+            @ApiImplicitParam(required = false, name = "name", value = "买家名称"),
+            @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
+            @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
+    })
+    @GetMapping("/settlement/list")
+    public ResponseJson<PageInfo<SettlementVo>> getSettlementList(Integer shopId, String shopOrderNo, Integer payStatus, String name,
+                                                                  @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                                                  @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        if (null == shopId) {
+            return ResponseJson.error("供应商Id不能为空!", null);
+        }
+        return shipService.getSettlementList(shopId, payStatus, shopOrderNo, name, pageNum, pageSize);
+    }
+
     /**
      * 供应商子订单详情
      */
@@ -262,6 +285,9 @@ public class ShipApi {
         return shipService.checkShipShareCode(source, shopOrderId, shareCode, code, encryptedData, iv, headers);
     }
 
+    /*
+     * 供应商分享发货-绑定运营人员(/supplier/shopBindingWx), 可以直接用 用户模块->运营人员绑定微信接口(/user/login/auth/bind)
+     */
 
 
 

+ 6 - 0
src/main/java/com/caimei365/order/mapper/ShipMapper.java

@@ -21,6 +21,10 @@ public interface ShipMapper {
      * 机构订单列表
      */
     List<ShopOrderVo> getShopOrderList(Integer shopId, Integer sendOutStatus, Integer payStatus, String shopOrderNo, String receiver);
+    /**
+     * 供应商结算列表
+     */
+    List<SettlementVo> getSettlementList(Integer shopId, Integer payStatus, String shopOrderNo, String name);
     /**
      * 发货页面子订单数据
      * @param shopOrderId 子订单Id
@@ -157,4 +161,6 @@ public interface ShipMapper {
      * 更新发货分享码
      */
     void updateShipShareCode(OrderShareCodeVo orderCodeVo);
+
+
 }

+ 48 - 0
src/main/java/com/caimei365/order/model/vo/SettlementVo.java

@@ -0,0 +1,48 @@
+package com.caimei365.order.model.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/8/12
+ */
+@Data
+public class SettlementVo {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 子订单ID
+     */
+    private Integer shopOrderId;
+    /**
+     * 子订单编号
+     */
+    private String shopOrderNo;
+    /**
+     * 订单提交时间
+     */
+    private String orderTime;
+    /**
+     * 用户名称
+     */
+    private String name;
+    /**
+     * (付款供应商)付款状态:1待付款、2部分付款、3已付款
+     */
+    private Integer payStatus;
+    /**
+     * 付供应商 = 商品费 + 运费 + 税费
+     */
+    private Double shouldPayShopAmount;
+    /**
+     * 已付款金额
+     */
+    private Double payedShopAmount;
+    /**
+     * 订单商品信息
+     */
+    private List<OrderProductVo> orderProductList;
+}

+ 11 - 0
src/main/java/com/caimei365/order/service/ShipService.java

@@ -4,6 +4,7 @@ import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.dto.LogisticsBatchDto;
 import com.caimei365.order.model.dto.LogisticsDto;
 import com.caimei365.order.model.vo.CompanyVo;
+import com.caimei365.order.model.vo.SettlementVo;
 import com.caimei365.order.model.vo.ShopOrderVo;
 import com.github.pagehelper.PageInfo;
 import org.springframework.http.HttpHeaders;
@@ -29,6 +30,16 @@ public interface ShipService {
      * @param pageSize       每页数量
      */
     ResponseJson<PageInfo<ShopOrderVo>> getShopOrderList(Integer shopId, Integer sendOutStatus, Integer payStatus, String shopOrderNo, String receiver, int pageNum, int pageSize);
+    /**
+     * 供应商结算列表
+     * @param shopId         供应商Id
+     * @param payStatus      结算状态
+     * @param shopOrderNo    订单编号
+     * @param name       买家名称
+     * @param pageNum        页码
+     * @param pageSize       每页数量
+     */
+    ResponseJson<PageInfo<SettlementVo>> getSettlementList(Integer shopId, Integer payStatus, String shopOrderNo, String name, int pageNum, int pageSize);
     /**
      * 供应商子订单详情
      * @param shopOrderId 子订单Id

+ 25 - 0
src/main/java/com/caimei365/order/service/impl/ShipServiceImpl.java

@@ -79,6 +79,31 @@ public class ShipServiceImpl implements ShipService {
         return ResponseJson.success(pageInfo);
     }
 
+    /**
+     * 供应商结算列表
+     *
+     * @param shopId      供应商Id
+     * @param payStatus   结算状态
+     * @param shopOrderNo 订单编号
+     * @param name        买家名称
+     * @param pageNum     页码
+     * @param pageSize    每页数量
+     */
+    @Override
+    public ResponseJson<PageInfo<SettlementVo>> getSettlementList(Integer shopId, Integer payStatus, String shopOrderNo, String name, int pageNum, int pageSize) {
+        // 分页请求数据
+        PageHelper.startPage(pageNum, pageSize);
+        List<SettlementVo> settlementList = shipMapper.getSettlementList(shopId, payStatus, shopOrderNo, name);
+        settlementList.forEach(settlement -> {
+            if (null != settlement) {
+                List<OrderProductVo> orderProductList = orderCommonMapper.getShopOrderProduct(settlement.getShopOrderId());
+                settlement.setOrderProductList(orderProductList);
+            }
+        });
+        PageInfo<SettlementVo> pageInfo = new PageInfo(settlementList);
+        return ResponseJson.success(pageInfo);
+    }
+
     /**
      * 供应商子订单详情
      *

+ 58 - 26
src/main/resources/mapper/ShipMapper.xml

@@ -70,32 +70,32 @@
     </delete>
     <select id="getShopOrderList" resultType="com.caimei365.order.model.vo.ShopOrderVo">
         SELECT
-            shopOrderId,
-            shopOrderNo,
-            orderID AS orderId,
-            orderNo,
-            shopID AS shopId,
-            shopName,
-            note,
-            userID AS userId,
-            clubID AS clubId,
-            spID AS spId,
-            orderPromotionsId,
-            promotionFullReduction,
-            brokerage,
-            canRefundAmount,
-            itemCount,
-            totalAmount,
-            productAmount,
-            needPayAmount,
-            shopProductAmount,
-            shopPostFee,
-            shopTaxFee,
-            shouldPayShopAmount,
-            orderTime,
-            orderSubmitType,
-            payStatus,
-            splitFlag
+            a.shopOrderId AS shopOrderId,
+            a.shopOrderNo,
+            a.orderID AS orderId,
+            a.orderNo,
+            a.shopID AS shopId,
+            a.shopName,
+            a.note,
+            a.userID AS userId,
+            a.clubID AS clubId,
+            a.spID AS spId,
+            a.orderPromotionsId,
+            a.promotionFullReduction,
+            a.brokerage,
+            a.canRefundAmount,
+            a.itemCount,
+            a.totalAmount,
+            a.productAmount,
+            a.needPayAmount,
+            a.shopProductAmount,
+            a.shopPostFee,
+            a.shopTaxFee,
+            a.shouldPayShopAmount,
+            a.orderTime,
+            a.orderSubmitType,
+            a.payStatus,
+            a.splitFlag
         FROM cm_shop_order a
         LEFT JOIN bp_order_userinfo ou ON  ou.orderId=a.orderId
         LEFT JOIN cm_order o ON a.orderID=o.orderID
@@ -129,6 +129,37 @@
         </where>
         ORDER BY a.orderTime DESC
     </select>
+    <select id="getSettlementList" resultType="com.caimei365.order.model.vo.SettlementVo">
+        SELECT
+            so.shopOrderNo,
+            so.shopOrderID AS shopOrderId,
+            so.orderTime,
+            user.userName AS name,
+            so.payStatus,
+            so.shouldPayShopAmount,
+            so.payedShopAmount
+        FROM cm_shop_order so
+        LEFT JOIN USER ON user.userID = so.userID
+        <where>
+            <if test="shopOrderNo != null and shopOrderNo != ''">
+                AND so.shopOrderNo = #{shopOrderNo}
+            </if>
+            <if test="payStatus != null and payStatus != ''">
+                <if test="payStatus == 1 ">
+                    AND (so.payStatus = 1 or so.payStatus is null )
+                </if>
+                <if test="payStatus != 1 ">
+                    AND so.payStatus = #{payStatus}
+                </if>
+            </if>
+            <if test="name != null and name != ''">
+                AND user.userName like concat('%',#{name},'%')
+            </if>
+            AND so.shopID = #{shopId}
+            AND so.delFlag='0'
+            ORDER BY so.orderTime DESC
+        </where>
+    </select>
     <select id="getShopOrder" resultType="com.caimei365.order.model.vo.ShopOrderVo">
         SELECT
             shopOrderId,
@@ -292,4 +323,5 @@
         </if>
         AND delFlag = '0'
     </select>
+
 </mapper>