
package com.tmerclub.cloud.supplier.mapper;

import com.tmerclub.cloud.supplier.dto.SupplierUserDTO;
import com.tmerclub.cloud.supplier.model.SupplierUser;
import com.tmerclub.cloud.supplier.vo.SupplierUserVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 供应商用户
 *
 * @author lhd
 * @date 2022-03-14 17:04:32
 */
public interface SupplierUserMapper {

    /**
     * 获取供应商用户列表
     *
     * @param supplierUserDTO 搜索参数
     * @return 供应商用户列表
     */
    List<SupplierUserVO> listBySupplierId(@Param("supplierUser") SupplierUserDTO supplierUserDTO);

    /**
     * 根据用户id获取商家用户信息
     *
     * @param userId 用户id
     * @return 商家用户信息
     */
    SupplierUserVO getByUserId(@Param("userId") Long userId);

    /**
     * 保存商家用户信息
     *
     * @param supplierUser
     */
    void save(@Param("supplierUser") SupplierUser supplierUser);

    /**
     * 更新供应商用户信息
     *
     * @param supplierUser
     */
    void update(@Param("supplierUser") SupplierUser supplierUser);

    /**
     * 根据供应商用户id删除供应商用户
     *
     * @param supplierUserId
     */
    void deleteById(@Param("supplierUserId") Long supplierUserId);

    /**
     * 获取店主账号的用户id-第一个创建的账号（仅用于审核供应商）
     *
     * @param supplierId
     * @return
     */
    Long getUserIdBySupplierId(@Param("supplierId") Long supplierId);

    /**
     * 根据用户id更新供应商id
     * @param supplierId
     * @param supplierUserId
     * @return
     */
    int updateSupplierIdBySupplierUserId(@Param("supplierId") Long supplierId, @Param("supplierUserId") Long supplierUserId);

    /**
     * 根据手机号码查用户数量
     * @param mobile 手机号码
     * @return 数量
     */
    int countAccoutByMobile(@Param("mobile") String mobile);

}
