package com.ruoyi.user.service; import java.util.List; import com.ruoyi.user.domain.AccountAddress; import com.ruoyi.user.domain.AccountUser; import com.ruoyi.user.domain.vo.AccountUserDetailVo; import com.ruoyi.user.domain.vo.MemberOptionVo; /** * 会员用户 业务层 * * @author ruoyi */ public interface IAccountUserService { /** * 根据会员ID查询 */ public AccountUser selectAccountUserById(Long userId); /** * 查询会员列表 */ public List selectAccountUserList(AccountUser accountUser); /** * 校验用户名是否唯一 * * @return true 唯一,false 已存在 */ public boolean checkUsernameUnique(AccountUser accountUser); /** * 校验手机号是否唯一 */ public boolean checkPhoneUnique(AccountUser accountUser); /** * 新增会员(密码加密后落库) */ public int insertAccountUser(AccountUser accountUser); /** * 修改会员(密码为空则不改密码) */ public int updateAccountUser(AccountUser accountUser); /** * 批量逻辑删除会员 */ public int deleteAccountUserByIds(Long[] userIds); /** * 查询会员详情 * * 一次取回详情页各 Tab 所需数据:会员本体(含推荐人/供货人派生列)、 * 认证资料、收货地址、签署协议、云仓库存。 */ public AccountUserDetailVo selectAccountUserDetail(Long userId); /** * 修改推荐人/供货人关系(绑定时间由服务端决定,不取信前端传值) * * 指定新供货人时会校验其等级严格高于该会员,非法取值直接抛 ServiceException。 */ public int updateAccountUserRelation(AccountUser accountUser); /** * 搜索可指定为供货人的会员(等级严格高于该会员,最多 20 条) * * 供详情页「修改供货人」弹窗的下拉使用。与 updateAccountUserRelation 的校验同源, * 都取 AccountUser 里的等级顺序定义。 */ public List searchSupplierCandidates(Long userId, String keyword); /** * 修改账户状态 */ public int changeStatus(AccountUser accountUser); /** * 修改收货地址 * * 置为默认时须先清除同会员其它地址的默认标记,两条语句必须同事务。 */ public int updateAccountAddress(AccountAddress accountAddress); /** * 批量逻辑删除收货地址 */ public int deleteAccountAddressByIds(Long[] ids); }