package com.red.circle.console.app.service.app.user;


import com.red.circle.console.app.dto.clienobject.user.SpecialIdLogCO;
import com.red.circle.console.app.dto.clienobject.user.UserSpecialIdCO;
import com.red.circle.framework.dto.PageResult;
import com.red.circle.other.inner.model.cmd.sys.PageUserSpecialIdCmd;
import com.red.circle.other.inner.model.cmd.user.UpdateUserSpecialIdCmd;
import com.red.circle.other.inner.model.cmd.user.UserSpecialIdCmd;
import com.red.circle.other.inner.model.cmd.user.UserSpecialIdExpiredTimeCmd;
import com.red.circle.other.inner.model.cmd.user.UserSpecialIdQryCmd;
import java.util.List;

/**
 * 用户靓号管理.
 *
 * @author pengliang on 2022/2/16
 */
public interface UserSpecialIdManagerService {

  /**
   * 添加/修改.
   */
  void addOrUpdate(UserSpecialIdCmd param);

  /**
   * 修改有效时间.
   */
  void updateExpiredTime(UserSpecialIdExpiredTimeCmd param);

  /**
   * 移除记录.
   */
  void remove(String id, Long opeUserId);

  /**
   * 查看.
   */
  List<UserSpecialIdCO> flow(UserSpecialIdQryCmd query);

  /**
   * 靓号日志.
   */
  List<SpecialIdLogCO> listLatestLog(Long userId);

  /**
   * 修改靓号账号.
   */
  void updateAccount(UpdateUserSpecialIdCmd param);

  /**
   * 靓号日志-分页.
   */
  PageResult<SpecialIdLogCO> pageSpecialIdLog(PageUserSpecialIdCmd param);
}
