package com.nova.sankuai.service; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.nova.sankuai.domain.dto.*; import com.nova.sankuai.domain.entity.SysUser; import com.nova.sankuai.domain.vo.WelcomePageHistory; import com.nova.sankuai.domain.vo.WelcomePageVo; import com.nova.sankuai.domain.vo.sysuser.AdminVo; import com.nova.sankuai.domain.vo.sysuser.MechanismConfigVo; import com.nova.sankuai.domain.vo.sysuser.MechanismVo; import com.nova.sankuai.domain.vo.sysuser.StaffVo; import com.nova.sankuai.infra.utils.PageRequest; import com.nova.sankuai.security.UserDetail; import javax.servlet.http.HttpServletRequest; import java.util.List; /** * @author weikangdi */ public interface ISysUserService extends IService { /** * 创建账号 * * @param sysUser */ void add(SysUser sysUser); /** * 编辑账号 * * @param sysUser */ void edit(SysUser sysUser); /** * 启用或失效商户 * * @param id * @param status */ void invalidUser(Long id, Integer status); /** * 获取商户信息 * * @param sysUser * @param pageRequest * @return */ IPage page(SysUserPageDto sysUser, PageRequest pageRequest); /** * 通过Id获取用户信息 * * @param id * @return */ MechanismVo selectOne(Long id); /** * 通过手机号和验证码登录 * * @param userDto * @return */ JSONObject smsLogin(LoginUserDto userDto); /** * 用来提供小凌专门登录 * * @param userDto * @return */ JSONObject otherSmsLogin(LoginUserDto userDto); /** * 生成短信验证码 * * @param phone * @param source * @return */ void getCode(String phone, Integer source,String ip); /** * 获取欢迎页主界面数据 * * @param userId * @return */ WelcomePageVo welcomePage(Long userId); /** * 获取欢迎页主界面列表记录 * * @param user * @param pageDto * @param pageRequest * @return */ IPage welcomePageList(UserDetail user, WelcomePageDto pageDto, PageRequest pageRequest); /** * 分页获取客服列表 * * @param staffDto * @param pageRequest * @return */ IPage pageStaff(StaffDto staffDto, PageRequest pageRequest); /** * 分页获取系统管理员列表 * * @param adminDto * @param pageRequest * @return */ IPage pageAdmin(AdminDto adminDto, PageRequest pageRequest); /** * 分页查询账号信息 * * @param sysUserDto * @param pageRequest * @return */ IPage pageSysUser(SysUserDto sysUserDto, PageRequest pageRequest); /** * 分页查询机构配置信息 * * @param pageDto * @param pageRequest * @return */ IPage pageMechanismConfig(MechanismConfigPageDto pageDto, PageRequest pageRequest); /** * 编辑机构配置信息 * * @param configVo */ void editMechanismConfig(MechanismConfigVo configVo); /** * 获取可分配机构列表 * * @return */ List getAssignableMechanism(); /** * 编辑机构信息 * @param mechanismDto */ void editMechanism(MechanismDto mechanismDto); /** * 查询机构详情 * @param mechanismId * @return */ MechanismVo getMechanismById(Long mechanismId); /** * 用户注销 * @param request * @return */ String logoutUser(HttpServletRequest request); }