package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.entity.ShopUser;
import com.ruoyi.common.core.domain.entity.ShopUserResq;

import java.util.List;

/**
 * 用户管理Service接口
 * 
 * @author ruoyi
 * @date 2025-07-15
 */
public interface IShopUserService 
{

    /**
     * 查询用户管理
     * 
     * @param id 用户管理主键
     * @return 用户管理
     */
    public ShopUser selectShopUserById(String id);

    /**
     * 查询用户管理列表
     * 
     * @param shopUser 用户管理
     * @return 用户管理集合
     */
    public List<ShopUser> selectShopUserList(ShopUser shopUser);

    /**
     * 新增用户管理
     * 
     * @param shopUser 用户管理
     * @return 结果
     */
    public int insertShopUser(ShopUser shopUser);

    /**
     * 修改用户管理
     * 
     * @param shopUser 用户管理
     * @return 结果
     */
    public int updateShopUser(ShopUser shopUser);

    /**
     * 批量删除用户管理
     * 
     * @param ids 需要删除的用户管理主键集合
     * @return 结果
     */
    public int deleteShopUserByIds(String[] ids);

    /**
     * 删除用户管理信息
     * 
     * @param id 用户管理主键
     * @return 结果
     */
    public int deleteShopUserById(String id);
    
    /**
     * 更新用户在线时长
     * 
     * @param shopUser 用户信息（包含userId和online字段）
     * @return 结果
     */
    public int updateUserOnlineTime(ShopUser shopUser);
    
    /**
     * 获取用户标签列表
     * 
     * @param userId 用户ID
     * @return 用户标签列表（以分号分隔的字符串）
     */
    public String getUserTags(String userId);
}
