puzhibing
2023-08-16 d5b3e5a413bcfccba294793ee093722f31b2448a
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITDriverService.java
@@ -1,94 +1,98 @@
package com.stylefeng.guns.modular.system.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.modular.system.controller.resp.TDriverCommissionResp;
import com.stylefeng.guns.modular.system.controller.resp.TDriverResp;
import com.stylefeng.guns.modular.system.model.TDriver;
import com.baomidou.mybatisplus.service.IService;
import org.apache.ibatis.annotations.Param;
import org.springframework.ui.Model;
import java.io.File;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 司机表 服务类
 * 司机基础信息 服务类
 * </p>
 *
 * @author 吕雪
 * @since 2020-06-04
 * @author stylefeng
 * @since 2023-02-20
 */
public interface ITDriverService extends IService<TDriver> {
    /**
     * 根据条件查询待审核司机列表
     * 获取司机分页列表
     * @param createTime
     * @param phone
     * @param status
     * @return
     */
    List<Map<String,Object>> getAuthDriverList(@Param("page") Page<Map<String, Object>> page,
                                               @Param("beginTime") String beginTime,
                                               @Param("endTime") String endTime,
                                               @Param("companyName") String companyName,
                                               @Param("phone") String phone,
                                               @Param("account") String account,
                                               @Param("addType") Integer addType,
                                               @Param("authState") Integer authState);
    EntityWrapper<TDriver> getPageList(String createTime, String phone, Integer status);
    /**
     * 根据用户ID获取用户详情
     * @param driverId
     * 封装司机放回resp
     * @param tDrivers
     * @return
     */
    Map<String,Object> getDriverById(@Param("driverId") Integer driverId);
    List<TDriverResp> getTDriverResp(List<TDriver> tDrivers);
    /**
     * 根据审核通过的司机列表
     * 跳转审核页面
     * @param id
     * @param model
     */
    void auditPage(Integer id, Model model);
    /**
     * 聚合ocr识别
     * @param file
     * @return
     */
    List<Map<String,Object>> getDriverList(@Param("page") Page<Map<String, Object>> page,
                                           @Param("roleType") Integer roleType,
                                           @Param("nowUserId") Integer nowUserId,
                                           @Param("beginTime") String beginTime,
                                           @Param("endTime") String endTime,
                                           @Param("companyName") String companyName,
                                           @Param("phone") String phone,
                                           @Param("name") String name,
                                           @Param("addType") Integer addType,
                                           @Param("authState") Integer authState);
    JSONObject ocr(File file);
    /**
     * 查询已被使用的车辆ID
     * 新增修改处理数据
     * @param tDriver
     */
    Object addOrUpdate(TDriver tDriver);
    /**
     * 查询佣金列表
     * @param name
     * @param phone
     * @param status
     * @return
     */
    String getUseCarIdStr(@Param("carId") Integer carId);
    EntityWrapper<TDriver> getCommissionPageList(String name, String phone, Integer status);
    /**
     * 查询当前可被选择的车辆列表
     * 封装佣金集合
     * @param list
     * @return
     */
    List<Map<String,Object>> getCanSelectCarList(@Param("page") Page<Map<String, Object>> page,
                                                 @Param("roleType") Integer roleType,
                                                 @Param("nowUserId") Integer nowUserId,
                                                 @Param("carIdStr") String carIdStr,
                                                 @Param("carLicensePlate") String carLicensePlate,
                                                 @Param("brandName") String brandName,
                                                 @Param("modelName") String modelName,
                                                 @Param("color") String color,
                                                 @Param("serverStr") String serverStr);
    List<TDriverCommissionResp> getTDriverCommissionResp(List<TDriver> list);
    /**
     * 修改分公司司机的状态
     * 佣金详情
     * @param tDriverId
     * @param model
     */
    void updateCompanyDriverState( @Param("authState") Integer authState, @Param("companyId") Integer companyId);
    void driverCommissionDetail(Integer tDriverId,Integer levelFlag, Model model);
    /**
     * 修改加盟商司机的状态
     * 统计司机数
     * @param agentId
     * @param model
     */
    void updateFranchiseeDriverState( @Param("authState") Integer authState, @Param("franchiseeId") Integer franchiseeId);
    void getDataStatistics(Integer agentId, Model model, Map<String, Object> map);
    /**
     * 根据审核通过的司机列表无分页
     * @return
     * @return
     * 统计司机数
     * @param ids
     * @param model
     * @param map
     */
    List<Map<String,Object>> getDriverListNoPage(@Param("roleType") Integer roleType,
                                                 @Param("nowUserId") Integer nowUserId);
    void getDataStatisticsByIds(List<Integer> ids, Model model, Map<String, Object> map);
}