package cn.besteam.modules.system.service; import cn.besteam.modules.system.dto.*; import cn.besteam.modules.system.entity.SysUser; import cn.besteam.modules.system.util.vo.PaymentOrderVO; import cn.besteam.modules.system.vo.*; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Map; /** * @Description: 用户 * @author: besteam * @date: 2020-04-16 * @version: V1.0 */ public interface ISysUserService extends IService { /** * 用户登录 * * @param response * @param dto * @return */ SysUserVO login(HttpServletRequest request,HttpServletResponse response, SysUserLoginDTO dto); /** * 获取当前登录用户信息 * * @return */ SysUserVO current(); /** * 获取token * @param request * @return */ String getToken(HttpServletRequest request); /** * 根据token获取用户 * * @param token * @return */ SysUser getByToken(String token); /** * 用户登录 * * @param dto * @return */ AppSysUserVO appLogin(SysUserLoginDTO dto); /** * 用户登录 * * @param code * @param sn * @return */ AppSysUserVO appLoginByCode(String code, String sn); /** * 根据token获取用户 * * @param token * @return */ SysUser getByAppToken(String token); /** * 用户列表 * * @param pageNo * @param pageSize * @param req * @param keyWord * @return */ IPage queryPageList(Integer pageNo, Integer pageSize, HttpServletRequest req, String keyWord, Integer hospitalId,String roleName); /** * 添加用户 * * @param dto * @return */ void saveOrUpdate(SysUserReqDTO dto); /** * 通过id删除用户 * * @param id */ void delete(Integer id); /** * 通过id批量删除用户 * * @param vo * @return */ boolean deleteBatch(BatchReqVO vo); /** * 通过id查询用户详情 * * @param id * @return */ SysUserDetailsRespDTO sysUserDetailsById(Integer id); /** * 禁用或启用用户 * * @param vo * @return */ boolean frozenBatch(BatchReqVO vo); /** * 发送验证码 * * @param account * @param phone * @param isFromApp * @return */ boolean getValidateCode(String account, String phone, boolean isFromApp); /** * 检查验证码 * * @param account * @param phone * @param validateCode * @return */ boolean checkValidateCode(String account, String phone, String validateCode); /** * 重置密码 */ boolean resetPassword(String account, String phone, String validateCode, String password); /** * 修改密码 */ boolean updatePassword(String originPassword, String password); /** * 注销 * * @param request * @param response * @return */ boolean logout(HttpServletRequest request, HttpServletResponse response); /** * 获取科室人员列表 * * @param officeId * @return */ List getOfficeUserList(Integer officeId); /** * 获取人员列表 * * @param departmentIdList * @return */ List getDepartmentUserList(List departmentIdList); /** * 用户导入 * * @param dto * @return */ boolean importUser(ImportDTO dto) throws IOException; /** * 用户导出 * * @param response * @param departmentId */ void exportUser(HttpServletResponse response, Integer departmentId) throws UnsupportedEncodingException; /** * 下载导入模板 * * @param response */ void downloadImportTemplate(HttpServletResponse response) throws IOException; /** * 获取我的下级人员列表 * * @return */ List getUserList(); /** * 获取我的下级人员列表 * * @return */ List getUserListByApp(Integer userId); /** * 根据ID获取用户,被删除的也要查出来 * * @param id * @return */ SysUser getSysUserById(Integer id); /** * 获取服务即将到期提醒 * @return */ ServiceExpirationReminderVO getServiceExpirationReminder(HttpServletRequest request); /** * 获取医院的支付连接 * @param id * @return */ PayUrlVO getPayUrl(Integer id); /** * 支付回调处理 * @param response */ void NouNouPayCallback(Map map, HttpServletResponse response); /** * 获取支付结果 * @param code * @return */ PaymentOrderVO getPayStatus(String code); }