he2802 3 gadi atpakaļ
vecāks
revīzija
86232add99

+ 15 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/order/OrderInvoiceController.java

@@ -7,10 +7,13 @@ import com.zhongzheng.common.core.page.TableDataInfo;
 import com.zhongzheng.common.enums.BusinessType;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.framework.web.service.WxTokenService;
+import com.zhongzheng.modules.order.bo.OrderGoodsQueryBo;
 import com.zhongzheng.modules.order.bo.OrderInvoiceAddBo;
 import com.zhongzheng.modules.order.bo.OrderInvoiceEditBo;
 import com.zhongzheng.modules.order.bo.OrderInvoiceQueryBo;
+import com.zhongzheng.modules.order.service.IOrderGoodsService;
 import com.zhongzheng.modules.order.service.IOrderInvoiceService;
+import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.order.vo.OrderInvoiceVo;
 import com.zhongzheng.modules.user.entity.ClientLoginUser;
 import io.swagger.annotations.Api;
@@ -36,6 +39,8 @@ public class OrderInvoiceController extends BaseController {
 
     private final IOrderInvoiceService iOrderInvoiceService;
 
+    private final IOrderGoodsService iOrderGoodsService;
+
     private final WxTokenService wxTokenService;
 
     /**
@@ -77,6 +82,15 @@ public class OrderInvoiceController extends BaseController {
         return toAjax(iOrderInvoiceService.insertByAddBo(bo) ? 1 : 0);
     }
 
-
+    @ApiOperation("查询可开发票订单列表")
+    @PreAuthorize("@ss.hasPermi('system:invoice:list')")
+    @GetMapping("/canInvoiceList")
+    public TableDataInfo<OrderGoodsVo> list(OrderGoodsQueryBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        startPage();
+        List<OrderGoodsVo> list = iOrderGoodsService.selectCanInvoiceList(bo);
+        return getDataTable(list);
+    }
 
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderGoodsMapper.java

@@ -30,4 +30,5 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
     List<OrderGoodsVo> sendGoods();
     List<OrderGoodsVo> rebuyInfo(OrderGoodsQueryBo bo);
     OrderGoodsVo gradeGoods(OrderGoodsQueryBo bo);
+    List<OrderGoodsVo> selectCanInvoiceList(OrderGoodsQueryBo bo);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderGoodsService.java

@@ -46,6 +46,8 @@ public interface IOrderGoodsService extends IService<OrderGoods> {
 
 	Long getBuyGoodsReadyPay(OrderGoodsQueryBo bo);
 
+	List<OrderGoodsVo> selectCanInvoiceList(OrderGoodsQueryBo bo);
+
 	/**
 	 * 根据编辑业务对象修改订单商品
 	 * @param bo 订单商品编辑业务对象

+ 15 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsServiceImpl.java

@@ -35,10 +35,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -142,6 +139,20 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
         return this.baseMapper.getBuyGoodsReadyPay(bo);
     }
 
+    @Override
+    public List<OrderGoodsVo> selectCanInvoiceList(OrderGoodsQueryBo bo) {
+        List<Integer> refundStatusList = new ArrayList<>();
+        refundStatusList.add(0);
+        refundStatusList.add(1);
+        refundStatusList.add(3);
+        List<Integer> payStatusList = new ArrayList<>();
+        payStatusList.add(2);
+        payStatusList.add(3);
+        bo.setRefundStatusList(refundStatusList);
+        bo.setPayStatusList(payStatusList);
+        return this.baseMapper.selectCanInvoiceList(bo);
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean updateByEditBo(OrderGoodsEditBo bo) {

+ 50 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml

@@ -234,4 +234,54 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             o.user_id = #{userId} and og.grade_id = #{gradeId} and og.pay_status in (2,3) and og.refund_status !=2
     </select>
 
+    <select id="selectCanInvoiceList" parameterType="com.zhongzheng.modules.order.bo.OrderGoodsQueryBo" resultMap="OrderGoodsResultVo">
+        SELECT
+        og.*,
+        g.`code`,
+        g.goods_name,
+        g.goods_type,
+        g.cover_url
+        FROM
+        order_goods og
+        LEFT JOIN goods g ON og.goods_id = g.goods_id
+        LEFT JOIN `order` o ON o.order_sn = og.order_sn
+        WHERE
+        1 = 1
+        AND og.goods_id NOT IN (
+        SELECT
+        oio.order_goods_id
+        FROM
+        order_invoice oi
+        LEFT JOIN order_invoice_order oio ON oi.invoice_id = oio.invoice_id
+        WHERE
+        oi.period_status IN ( 1, 3 ) and  oi.user_id = #{userId})
+        <if test="refundStatusList != null and refundStatusList.size()!=0 ">
+            AND og.refund_status in
+            <foreach collection="refundStatusList" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="goodsId != null and goodsId != ''">
+            AND og.goods_id = #{goodsId}
+        </if>
+        <if test="userId != null">
+            AND o.user_id = #{userId}
+        </if>
+        <if test="orderSn != null and orderSn != ''">
+            AND og.order_sn =  #{orderSn}
+        </if>
+        <if test="payStatusList != null and payStatusList.size()!=0 ">
+            AND og.pay_status in
+            <foreach collection="payStatusList" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="orderGoodsIds != null and orderGoodsIds.size()!=0 ">
+            AND og.order_goods_id in
+            <foreach collection="orderGoodsIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+    </select>
+
 </mapper>

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderInvoiceMapper.xml

@@ -133,4 +133,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           AND oi.period_status != 2
     </select>
 
+
+
+
 </mapper>