package com.ruoyi.account.service;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.ruoyi.account.api.model.AppUser;
|
import com.ruoyi.account.vo.*;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.web.domain.AjaxResult;
|
import com.ruoyi.common.core.web.page.PageInfo;
|
|
import java.util.List;
|
import java.util.Set;
|
|
/**
|
* <p>
|
* 服务类
|
* </p>
|
*
|
* @author luodangjia
|
* @since 2024-11-21
|
*/
|
public interface AppUserService extends IService<AppUser> {
|
|
|
/**
|
* 小程序一键登录
|
* @param appletLogin
|
* @return
|
*/
|
R appletLogin(AppletLogin appletLogin);
|
|
|
/**
|
* 手机号码登录
|
* @param mobileLogin
|
* @return
|
*/
|
R<LoginVo> mobileLogin(MobileLogin mobileLogin);
|
|
|
/**
|
* 获取短信验证码
|
* @param smsCode
|
* @return
|
*/
|
R getSMSCode(SMSCode smsCode);
|
|
|
/**
|
* 注册账号
|
* @param registerAccount
|
* @return
|
*/
|
R<LoginVo> registerAccount(RegisterAccount registerAccount);
|
|
|
/**
|
* 获取附近的推广人
|
* @param nearbyReferrer
|
* @return
|
*/
|
PageInfo<NearbyReferrerVo> getNearbyReferrer(NearbyReferrer nearbyReferrer);
|
|
/**
|
* 获取用户的祖籍列表
|
*/
|
List<AppUser> getUserAncestorList(Long id,List<AppUser> list);
|
|
/**
|
* 获取指定用户的直帮上级用户(消费用户绑定的上级,最近一个用户会员类型为【创业者】的用户)
|
*/
|
AppUser getSuperiorLeader(Long id);
|
|
|
/**
|
* 解绑推广人
|
*/
|
void unbindThePromoter();
|
|
|
/**
|
* 在线记录操作,用于赠送积分
|
*/
|
void onlineRecord();
|
|
IPage<AppUser> getAppuserPage(Integer pageNum, Integer pageSize, AppUser appUser, Integer shopId, Set<Long> userId);
|
|
|
IPage<AppUser> getAppuserPage1(Integer pageNum, Integer pageSize, AppUser appUser,List<Long> userIds);
|
|
/**
|
* 处理用户会员等级
|
* @param appUserId
|
*/
|
void vipUpgrade(Long appUserId);
|
|
/**
|
* 消费后检查会员等级变更
|
*/
|
void vipConsumption(Long appUserId);
|
|
|
/**
|
* 处理用户会员降级
|
* @param appUserId
|
*/
|
void vipDemotion(Long appUserId);
|
|
|
/**
|
* 降级检测
|
*/
|
void demotionDetection();
|
|
|
/**
|
* 定时任务关闭订单
|
*/
|
void closeOrder();
|
|
List<AppUser> getAppUserByPhoneNoFilter(String phone);
|
}
|