wl
2022-10-24 9969bea2a8c1eab64c12a51a2d24d65e5b6c0dd0
ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java
New file
@@ -0,0 +1,115 @@
package com.ycl.service.user;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.dto.UmsAdminParam;
import com.ycl.dto.UpdateAdminPasswordParam;
import com.ycl.entity.user.UmsAdmin;
import com.ycl.entity.user.UmsResource;
import com.ycl.entity.user.UmsRole;
import com.ycl.vo.user.UserVO;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
 * 后台管理员管理Service
 * Created by macro on 2018/4/26.
 */
public interface UmsAdminService extends IService<UmsAdmin> {
    /**
     * 根据用户名获取后台管理员
     */
    UmsAdmin getAdminByUsername(String username);
    /**
     * 注册功能
     */
    UmsAdmin register(UmsAdminParam umsAdminParam);
    /**
     * 登录功能
     * @param username 用户名
     * @param password 密码
     * @return 生成的JWT的token
     */
    String login(String username,String password);
    /**
     * 刷新token的功能
     * @param oldToken 旧的token
     */
    String refreshToken(String oldToken);
    /**
     * 根据用户名或昵称分页查询用户
     */
    Page<UmsAdmin> list(String keyword, Integer pageSize, Integer pageNum);
    /**
     * 修改指定用户信息
     */
    boolean update(Long id, UmsAdmin admin);
    /**
     * 删除指定用户
     */
    boolean delete(Long id);
    /**
     * 修改用户角色关系
     */
    @Transactional
    int updateRole(Long adminId, List<Long> roleIds);
    /**
     * 获取用户对于角色
     */
    List<UmsRole> getRoleList(Long adminId);
    /**
     * 获取指定用户的可访问资源
     */
    List<UmsResource> getResourceList(Long adminId);
    /**
     * 修改密码
     */
    int updatePassword(UpdateAdminPasswordParam updatePasswordParam);
    /**
     * 获取用户信息
     */
    UserDetails loadUserByUsername(String username);
    /**
     * 获取缓存服务
     */
    UmsAdminCacheService getCacheService();
    /**
     * 分页
     * @param pageUserVO
     * @return
     */
    IPage<UmsAdmin> pageUser(UserVO.PageUserVO pageUserVO);
    /**
     * 批量删除用户
     */
    boolean deleteBatch(List<Long> ids);
    /**
     * 批量修改状态
     *
     * @param ids
     * @param status
     */
    boolean updateStatusBatch(List<Long> ids, Integer status);
    List<UmsAdmin> getDepartUser(Long departId);
    String getTargetTo(String ids, String sendType);
}