浏览代码

账单管理,账单规格、旅行社后台管理

lishiqiang 1 月之前
父节点
当前提交
ae493016e2

+ 1 - 0
ship-module-ota/ship-module-ota-biz/src/main/java/com/yc/ship/module/ota/dal/mysql/distributor/DistributorMapper.java

@@ -93,6 +93,7 @@ public interface DistributorMapper extends BaseMapperX<DistributorDO> {
     int subInventory(@Param("distributorId")Long distributorId, @Param("money")BigDecimal money);
 
     List<Long> getTenantIds();
+    List<Long> getIds();
 
 
     DistributorRespVO queryDistributorMoneyTotal(@Param("distributorId")Long distributorId);

+ 5 - 0
ship-module-ota/ship-module-ota-biz/src/main/resources/mapper/distributor/DistributorMapper.xml

@@ -115,6 +115,11 @@
         where type = 2 and is_use = 1 and deleted=0
     </select>
 
+    <select id="getIds" resultType="java.lang.Long">
+        select id from ota_distributor
+        where type = 2 and is_use = 1 and deleted=0
+    </select>
+
     <select id="queryDistributorMoneyTotal" resultType="com.yc.ship.module.ota.controller.admin.distributor.vo.DistributorRespVO">
         SELECT sum(IF(recharge_type = 1, money, 0.00)) balanceTotal, sum(IF(recharge_type = 2, money, 0.00)) payCreditTotal
         FROM ota_distributor_recharge

+ 1 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/bill/BillMapper.java

@@ -44,7 +44,7 @@ public interface BillMapper extends BaseMapperX<BillDO> {
     @TenantIgnore
     IPage<BillRespVO> getBillPage(IPage<BillRespVO> page, @Param("vo") BillPageReqVO vo);
     @TenantIgnore
-    IPage<BillRespVO> getPage(IPage<BillRespVO> page, @Param("vo") BillPageReqVO vo,@Param("tenantIds") List<Long> tenantIds);
+    IPage<BillRespVO> getPage(IPage<BillRespVO> page, @Param("vo") BillPageReqVO vo,@Param("ids") List<Long> ids);
     @TenantIgnore
     List<BillDO> getBillAgencyById(@Param("agencyId") Long agencyId);
     List<BillStoreDO> getBillStoreOver();

+ 33 - 45
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/bill/BillServiceImpl.java

@@ -666,24 +666,23 @@ public class BillServiceImpl implements BillService {
         Long tenantId = TenantContextHolder.getTenantId();
         pageReqVO.setOtaTenantId(tenantId);
         //查询当前旅行社门店
-        Long storeId = agencyAuthUtils.getLoginStoreId();
+        LoginUser loginUser = getLoginUser();
+        Long storeId = loginUser.getStoreId();
+        Long distributorId = loginUser.getDistributorId();
         if(storeId == null){
             //获取旅行社
-            DistributorRespVO distributor = distributorMapper.getByTenantId(tenantId);
-            //旅行社
-            if(distributor != null) {
-                IPage<BillRespVO> iPage =  billMapper.getBillPage(page,pageReqVO);
-                return new PageResult<>(iPage.getRecords(), iPage.getTotal());
-            }
-            //平台
-            else{
-                //获取平台所有旅行社租户
-                List<Long> tenantIds = distributorMapper.getTenantIds();
-                tenantIds.add(tenantId);
-                IPage<BillRespVO> iPage =  billMapper.getPage(page,pageReqVO,tenantIds);
-                return new PageResult<>(iPage.getRecords(), iPage.getTotal());
-                //return BeanUtils.toBean(billMapper.selectPage(pageReqVO), BillRespVO.class);
+            if(distributorId!=null) {
+                DistributorRespVO distributor = distributorMapper.getDistributorById(distributorId);
+                //旅行社
+                if (distributor != null) {
+                    IPage<BillRespVO> iPage = billMapper.getBillPage(page, pageReqVO);
+                    return new PageResult<>(iPage.getRecords(), iPage.getTotal());
+                }
             }
+            ///获取平台所有旅行社租户
+            List<Long> agencyIds = distributorMapper.getIds();
+            IPage<BillRespVO> iPage =  billMapper.getPage(page,pageReqVO,agencyIds);
+            return new PageResult<>(iPage.getRecords(), iPage.getTotal());
         }
         //门店
         else{
@@ -721,40 +720,29 @@ public class BillServiceImpl implements BillService {
     public PageResult<TradeOrderRespVO> getOrderPage(TradeOrderPageReqVO pageReqVO) {
         //返回参数
         AtomicReference<IPage<TradeOrderRespVO>> iPage = new AtomicReference<>(new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()));
-        //获取当前登录租户
-        Long tenantId = TenantContextHolder.getTenantId();
-        if(pageReqVO.getDistributorId() !=null){
-            //查询分销商信息
-            DistributorRespVO distributorDO = distributorMapper.getByTenantId(tenantId);
-            if(distributorDO != null){
-                tenantId = distributorDO.getTenantId();
-            }
-        }
         //查询选中的分销商订单
-        TenantUtils.execute(tenantId, () -> {
-            IPage<TradeOrderRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
-            iPage.set(billMapper.getOrderPage(page, pageReqVO));
-            //查询账单号
-            iPage.get().getRecords().forEach(order -> {
-                if(pageReqVO.getType() == 2){
-                    BillOrderDO bill = billOrderMapper.getBillOrderId(order.getId());
-                    if(bill != null){
-                        order.setBillId(bill.getBillId());
-                    }
+        IPage<TradeOrderRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
+        iPage.set(billMapper.getOrderPage(page, pageReqVO));
+        //查询账单号
+        iPage.get().getRecords().forEach(order -> {
+            if(pageReqVO.getType() == 2){
+                BillOrderDO bill = billOrderMapper.getBillOrderId(order.getId());
+                if(bill != null){
+                    order.setBillId(bill.getBillId());
                 }
-                TradeOrderRespVO tradeOrderRespVO;
-                if(ObjectUtil.equal(order.getIsChangeOrder(),1)){
-                    tradeOrderRespVO = billMapper.getPayOrderWithChangeData(order.getId());
-                }else{
-                    tradeOrderRespVO = billMapper.getPayOrderData(order.getId());
-                }
-                order.setPayTypeAmount(tradeOrderRespVO.getPayTypeAmount());
-                order.setPayTypeRefundAmount(tradeOrderRespVO.getPayTypeRefundAmount());
-                order.setActualPayAmount(tradeOrderRespVO.getActualPayAmount());
-            });
+            }
+            TradeOrderRespVO tradeOrderRespVO;
+            if(ObjectUtil.equal(order.getIsChangeOrder(),1)){
+                tradeOrderRespVO = billMapper.getPayOrderWithChangeData(order.getId());
+            }else{
+                tradeOrderRespVO = billMapper.getPayOrderData(order.getId());
+            }
+            order.setPayTypeAmount(tradeOrderRespVO.getPayTypeAmount());
+            order.setPayTypeRefundAmount(tradeOrderRespVO.getPayTypeRefundAmount());
+            order.setActualPayAmount(tradeOrderRespVO.getActualPayAmount());
+        });
 
 
-        });
         iPage.get().getRecords().forEach(billOrder -> billOrder.setDistributorName(billOrder.getSourceName()));
         return new PageResult<>(iPage.get().getRecords(), iPage.get().getTotal());
     }

+ 7 - 14
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/billrule/BillRuleServiceImpl.java

@@ -30,6 +30,8 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import static com.yc.ship.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
+
 
 /**
  * 旅行社账单规则 Service 实现类
@@ -162,31 +164,22 @@ public class BillRuleServiceImpl implements BillRuleService {
     @Override
     public List<DistributorDO> getDistributorList() {
         List<DistributorDO> list = new ArrayList<>();
-        //获取登录租户
-        Long tenantId = TenantContextHolder.getTenantId();
         //查询当前旅行社门店
-        LoginUser loginUser = agencyAuthUtils.getLoginUser();
-        if(loginUser == null){
+        LoginUser loginUser = agencyAuthUtils.getAgencyLoginUser();
+        if(loginUser != null){
             //是否旅行社登录
-            DistributorRespVO distributor = distributorMapper.getByTenantId(tenantId);
-            if(distributor == null){
+            Long distributorId = loginUser.getDistributorId();
+            if(distributorId == null){
                 list = distributorMapper.selectList(new LambdaQueryWrapperX<DistributorDO>()
                         .eqIfPresent(DistributorDO::getIsUse, true)
-//                        .eqIfPresent(DistributorDO::getType, 2)
-//                        .eqIfPresent(DistributorDO::getSelfSupport, 0)
                         .eqIfPresent(DistributorDO::getDeleted, 0));
                 list.forEach(item -> item.setChannel(0));
             }else{
+                DistributorRespVO distributor = distributorMapper.getDistributorById(distributorId);
                 DistributorDO distributorDO = BeanUtils.toBean(distributor, DistributorDO.class);
                 list.add(distributorDO);
                 list.forEach(item -> item.setChannel(1));
             }
-        }else{
-            //是否旅行社登录
-            DistributorRespVO distributor = distributorMapper.getByTenantId(tenantId);
-            DistributorDO distributorDO = BeanUtils.toBean(distributor, DistributorDO.class);
-            list.add(distributorDO);
-            list.forEach(item -> item.setChannel(2));
         }
         return list;
     }

+ 6 - 6
ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/bill/BillMapper.xml

@@ -41,10 +41,10 @@
         INNER JOIN trade_detail tdl on tdl.order_id = td.id
         INNER JOIN trade_order_pay top on top.order_id = td.id
         where 1= 1
-        and td.order_status not in (-1,-2,0,1,6) and (td.is_change_order is null or td.is_change_order =1)
+        and td.order_status not in (-1,-2,0,1,6)
         and not exists(select 1 from trade_detail t where t.order_id = td.id and t.voucher_status not in (3,5,6,7,8,9))
         and top.pay_status =1
-        AND (top.payment_type = 6 and top.pay_amount>top.refund_amount or td.is_change_order = 1
+        AND (top.payment_type = 6 and top.pay_amount>top.refund_amount
         and exists(select 1 from trade_order_pay top
         inner join trade_order_bind tob on tob.order_id  = top.order_id and tob.type =2
         where tob.bind_id = td.id and top.payment_type = 6 and top.pay_amount>top.refund_amount and top.pay_status =1))
@@ -112,7 +112,7 @@
             resultType="com.yc.ship.module.trade.controller.admin.bill.vo.BillRespVO">
         SELECT ob.*
         FROM ota_bill ob
-        where ob.ota_tenant_id = #{vo.otaTenantId}
+        where 1=1
         <if test="vo.billStatus != null">
             AND ob.bill_status =  #{vo.billStatus}
         </if>
@@ -139,9 +139,9 @@
         SELECT ob.*
         FROM ota_bill ob
         where 1 = 1
-        <if test="tenantIds!=null and tenantIds.size()>0">
-            and  ob.tenant_id in
-            <foreach collection="tenantIds" item="item" separator=","  open="(" close=")">
+        <if test="ids!=null and ids.size()>0">
+            and  ob.agency_id in
+            <foreach collection="ids" item="item" separator=","  open="(" close=")">
                 #{item}
             </foreach>
         </if>