puzhibing
昨天 770c90dd33db8f975db417531686e93e17e5a3a8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.ruoyi.account.mapper;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.api.dto.VinManagementExcelDTO;
import com.ruoyi.account.api.dto.VinManagementQueryDTO;
import com.ruoyi.account.api.model.TVinManagement;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
 
public interface TVinManagementMapper extends BaseMapper<TVinManagement> {
    IPage<TVinManagement> selectPageList(Page<TVinManagement> page, @Param("query") VinManagementQueryDTO query);
    List<VinManagementExcelDTO> selectExportList(@Param("query") VinManagementQueryDTO query);
    int countByVin(@Param("vin") String vin, @Param("excludeId") Long excludeId);
    /** 余额原子累加(额度分配专用,null 视为 0) */
    int addBalance(@Param("id") Long id, @Param("amount") BigDecimal amount, @Param("updateBy") Long updateBy);
    /** 原子清零余额(账户模式切换回收专用:仅当余额>0时清零,返回受影响行数,天然幂等) */
    int clearBalance(@Param("id") Long id, @Param("updateBy") Long updateBy);
    List<TVinManagement> selectAppletVehicleList(@Param("appUserId") Long appUserId);
    TVinManagement selectEnabledVehicle(@Param("keyword") String keyword);
    int bindAppletVehicle(@Param("id") Long id, @Param("appUserId") Long appUserId);
    int unbindAppletVehicle(@Param("id") Long id, @Param("appUserId") Long appUserId);
    List<Long> selectIdsByAppUserId(@Param("appUserId") Long appUserId);
    /** 统计某车队下未删除的VIN车辆数(车队管理-列表"VIN码车辆数"使用) */
    long countByFleet(@Param("fleetId") Integer fleetId);
}