zjk
7 小时以前 a4afcfdb179e62a498b62cc6860d8cd46701a08f
hugray-server/ruoyi-modules/ruoyi-user/src/main/java/com/ruoyi/user/service/IAccountUserService.java
@@ -5,7 +5,10 @@
import com.ruoyi.user.domain.AccountUser;
import com.ruoyi.user.domain.vo.AccountUserDetailVo;
import com.ruoyi.user.domain.vo.MemberOptionVo;
import com.ruoyi.user.domain.vo.AccountInviteeVo;
import com.ruoyi.user.domain.vo.AccountReferrerVo;
import com.ruoyi.user.domain.vo.AccountUserInfoVo;
import com.ruoyi.user.domain.vo.InviteCodeVo;
/**
 * 会员用户 业务层
@@ -97,6 +100,44 @@
    public int deleteAccountAddressByIds(Long[] ids);
    /**
     * C端:查询本人收货地址列表(默认地址在前,不分页)
     *
     * @param userId 会员ID(取自登录态,非前端传入)
     * @return 地址列表(无地址返回空集合)
     */
    public List<AccountAddress> getAddressList(Long userId);
    /**
     * C端:查询单条收货地址(编辑页回填用)
     *
     * 校验归属:地址不存在或不属于该会员时抛业务异常。
     *
     * @param userId 会员ID(取自登录态)
     * @param id     地址ID
     * @return 地址对象
     */
    public AccountAddress getAddressDetail(Long userId, Long id);
    /**
     * C端:新增本人收货地址
     *
     * 事务内处理「首条地址自动默认」与「每会员至多一条默认」约束。
     *
     * @param accountAddress 地址入参(userId 由服务端注入)
     * @return 影响行数
     */
    public int insertMyAddress(AccountAddress accountAddress);
    /**
     * C端:删除本人收货地址(校验归属后逻辑删除)
     *
     * @param userId 会员ID(取自登录态)
     * @param id     地址ID
     * @return 影响行数
     */
    public int deleteMyAddress(Long userId, Long id);
    /**
     * C端会员注册
     *
     * 校验手机号未注册、推荐码有效后,生成唯一推荐码并落库(无密码)。
@@ -114,4 +155,41 @@
     * @return 会员信息展示对象;会员不存在时抛业务异常
     */
    public AccountUserInfoVo getAccountUserInfo(Long userId);
    /**
     * 更新C端会员头像
     *
     * 头像文件由小程序直传文件服务后,将返回的 url 写回 account_user.avatar;
     * 只更新 avatar 一列,不触碰其它资料。
     *
     * @param userId 会员ID(取自登录态,非前端传入)
     * @param avatarUrl 头像地址(来自文件服务上传结果)
     */
    public void updateAvatar(Long userId, String avatarUrl);
    /**
     * 查询本人邀请码(我的邀请页「邀请码」Tab)
     *
     * @param userId 会员ID(取自登录态,非前端传入)
     * @return 邀请码展示对象;会员不存在时抛业务异常
     */
    public InviteCodeVo getInviteCode(Long userId);
    /**
     * 查询本人直接下级(被邀请人)列表(我的邀请页「我邀请的」Tab)
     *
     * 按绑定时间倒序(最新在前);手机号脱敏下发;配合 Controller 的分页生效。
     *
     * @param userId 会员ID(取自登录态,非前端传入)
     * @return 被邀请人列表(无下级时返回空集合)
     */
    public List<AccountInviteeVo> getInvitees(Long userId);
    /**
     * 查询本人上级(推荐人)信息(我的邀请页「邀请我的」Tab)
     *
     * @param userId 会员ID(取自登录态,非前端传入)
     * @return 上级展示对象;无上级时返回各字段为 null 的对象(前端渲染空态)
     */
    public AccountReferrerVo getReferrer(Long userId);
}