Search in sources :

Example 1 with AjaxResult

use of com.ruoyi.common.core.web.domain.AjaxResult in project RuoYi-Cloud by yangzongzhuan.

the class ValidateCodeServiceImpl method createCaptcha.

/**
 * 生成验证码
 */
@Override
public AjaxResult createCaptcha() throws IOException, CaptchaException {
    AjaxResult ajax = AjaxResult.success();
    boolean captchaOnOff = captchaProperties.getEnabled();
    ajax.put("captchaOnOff", captchaOnOff);
    if (!captchaOnOff) {
        return ajax;
    }
    // 保存验证码信息
    String uuid = IdUtils.simpleUUID();
    String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
    String capStr = null, code = null;
    BufferedImage image = null;
    String captchaType = captchaProperties.getType();
    // 生成验证码
    if ("math".equals(captchaType)) {
        String capText = captchaProducerMath.createText();
        capStr = capText.substring(0, capText.lastIndexOf("@"));
        code = capText.substring(capText.lastIndexOf("@") + 1);
        image = captchaProducerMath.createImage(capStr);
    } else if ("char".equals(captchaType)) {
        capStr = code = captchaProducer.createText();
        image = captchaProducer.createImage(capStr);
    }
    redisService.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
    // 转换流信息写出
    FastByteArrayOutputStream os = new FastByteArrayOutputStream();
    try {
        ImageIO.write(image, "jpg", os);
    } catch (IOException e) {
        return AjaxResult.error(e.getMessage());
    }
    ajax.put("uuid", uuid);
    ajax.put("img", Base64.encode(os.toByteArray()));
    return ajax;
}
Also used : AjaxResult(com.ruoyi.common.core.web.domain.AjaxResult) FastByteArrayOutputStream(org.springframework.util.FastByteArrayOutputStream) IOException(java.io.IOException) BufferedImage(java.awt.image.BufferedImage)

Example 2 with AjaxResult

use of com.ruoyi.common.core.web.domain.AjaxResult in project RuoYi-Cloud by yangzongzhuan.

the class SysProfileController method profile.

/**
 * 个人信息
 */
@GetMapping
public AjaxResult profile() {
    String username = SecurityUtils.getUsername();
    SysUser user = userService.selectUserByUserName(username);
    AjaxResult ajax = AjaxResult.success(user);
    ajax.put("roleGroup", userService.selectUserRoleGroup(username));
    ajax.put("postGroup", userService.selectUserPostGroup(username));
    return ajax;
}
Also used : AjaxResult(com.ruoyi.common.core.web.domain.AjaxResult) SysUser(com.ruoyi.system.api.domain.SysUser) GetMapping(org.springframework.web.bind.annotation.GetMapping)

Example 3 with AjaxResult

use of com.ruoyi.common.core.web.domain.AjaxResult in project RuoYi-Cloud by yangzongzhuan.

the class SysUserController method getInfo.

/**
 * 根据用户编号获取详细信息
 */
@RequiresPermissions("system:user:query")
@GetMapping(value = { "/", "/{userId}" })
public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) {
    userService.checkUserDataScope(userId);
    AjaxResult ajax = AjaxResult.success();
    List<SysRole> roles = roleService.selectRoleAll();
    ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
    ajax.put("posts", postService.selectPostAll());
    if (StringUtils.isNotNull(userId)) {
        SysUser sysUser = userService.selectUserById(userId);
        ajax.put(AjaxResult.DATA_TAG, sysUser);
        ajax.put("postIds", postService.selectPostListByUserId(userId));
        ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
    }
    return ajax;
}
Also used : R(com.ruoyi.common.core.domain.R) PathVariable(org.springframework.web.bind.annotation.PathVariable) Log(com.ruoyi.common.log.annotation.Log) SysRole(com.ruoyi.system.api.domain.SysRole) Autowired(org.springframework.beans.factory.annotation.Autowired) RequestMapping(org.springframework.web.bind.annotation.RequestMapping) ArrayUtils(org.apache.commons.lang3.ArrayUtils) InnerAuth(com.ruoyi.common.security.annotation.InnerAuth) TableDataInfo(com.ruoyi.common.core.web.page.TableDataInfo) RequiresPermissions(com.ruoyi.common.security.annotation.RequiresPermissions) RequestBody(org.springframework.web.bind.annotation.RequestBody) ISysConfigService(com.ruoyi.system.service.ISysConfigService) BaseController(com.ruoyi.common.core.web.controller.BaseController) PutMapping(org.springframework.web.bind.annotation.PutMapping) ISysRoleService(com.ruoyi.system.service.ISysRoleService) GetMapping(org.springframework.web.bind.annotation.GetMapping) DeleteMapping(org.springframework.web.bind.annotation.DeleteMapping) BusinessType(com.ruoyi.common.log.enums.BusinessType) LoginUser(com.ruoyi.system.api.model.LoginUser) ISysPermissionService(com.ruoyi.system.service.ISysPermissionService) PostMapping(org.springframework.web.bind.annotation.PostMapping) Validated(org.springframework.validation.annotation.Validated) HttpServletResponse(javax.servlet.http.HttpServletResponse) Set(java.util.Set) IOException(java.io.IOException) AjaxResult(com.ruoyi.common.core.web.domain.AjaxResult) StringUtils(com.ruoyi.common.core.utils.StringUtils) SysUser(com.ruoyi.system.api.domain.SysUser) Collectors(java.util.stream.Collectors) RestController(org.springframework.web.bind.annotation.RestController) List(java.util.List) ISysUserService(com.ruoyi.system.service.ISysUserService) MultipartFile(org.springframework.web.multipart.MultipartFile) UserConstants(com.ruoyi.common.core.constant.UserConstants) ExcelUtil(com.ruoyi.common.core.utils.poi.ExcelUtil) ISysPostService(com.ruoyi.system.service.ISysPostService) SecurityUtils(com.ruoyi.common.security.utils.SecurityUtils) AjaxResult(com.ruoyi.common.core.web.domain.AjaxResult) SysUser(com.ruoyi.system.api.domain.SysUser) SysRole(com.ruoyi.system.api.domain.SysRole) RequiresPermissions(com.ruoyi.common.security.annotation.RequiresPermissions) GetMapping(org.springframework.web.bind.annotation.GetMapping)

Example 4 with AjaxResult

use of com.ruoyi.common.core.web.domain.AjaxResult in project RuoYi-Cloud-Oracle by yangzongzhuan.

the class SysMenuController method roleMenuTreeselect.

/**
 * 加载对应角色菜单列表树
 */
@GetMapping(value = "/roleMenuTreeselect/{roleId}")
public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId) {
    Long userId = SecurityUtils.getUserId();
    List<SysMenu> menus = menuService.selectMenuList(userId);
    AjaxResult ajax = AjaxResult.success();
    ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId));
    ajax.put("menus", menuService.buildMenuTreeSelect(menus));
    return ajax;
}
Also used : AjaxResult(com.ruoyi.common.core.web.domain.AjaxResult) SysMenu(com.ruoyi.system.domain.SysMenu) GetMapping(org.springframework.web.bind.annotation.GetMapping)

Example 5 with AjaxResult

use of com.ruoyi.common.core.web.domain.AjaxResult in project RuoYi-Cloud-Oracle by yangzongzhuan.

the class SysProfileController method avatar.

/**
 * 头像上传
 */
@Log(title = "用户头像", businessType = BusinessType.UPDATE)
@PostMapping("/avatar")
public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file) throws IOException {
    if (!file.isEmpty()) {
        LoginUser loginUser = SecurityUtils.getLoginUser();
        R<SysFile> fileResult = remoteFileService.upload(file);
        if (StringUtils.isNull(fileResult) || StringUtils.isNull(fileResult.getData())) {
            return AjaxResult.error("文件服务异常,请联系管理员");
        }
        String url = fileResult.getData().getUrl();
        if (userService.updateUserAvatar(loginUser.getUsername(), url)) {
            AjaxResult ajax = AjaxResult.success();
            ajax.put("imgUrl", url);
            // 更新缓存用户头像
            loginUser.getSysUser().setAvatar(url);
            tokenService.setLoginUser(loginUser);
            return ajax;
        }
    }
    return AjaxResult.error("上传图片异常,请联系管理员");
}
Also used : AjaxResult(com.ruoyi.common.core.web.domain.AjaxResult) LoginUser(com.ruoyi.system.api.model.LoginUser) SysFile(com.ruoyi.system.api.domain.SysFile) PostMapping(org.springframework.web.bind.annotation.PostMapping) Log(com.ruoyi.common.log.annotation.Log)

Aggregations

AjaxResult (com.ruoyi.common.core.web.domain.AjaxResult)16 GetMapping (org.springframework.web.bind.annotation.GetMapping)12 Log (com.ruoyi.common.log.annotation.Log)6 SysUser (com.ruoyi.system.api.domain.SysUser)6 LoginUser (com.ruoyi.system.api.model.LoginUser)6 IOException (java.io.IOException)6 PostMapping (org.springframework.web.bind.annotation.PostMapping)6 UserConstants (com.ruoyi.common.core.constant.UserConstants)4 R (com.ruoyi.common.core.domain.R)4 StringUtils (com.ruoyi.common.core.utils.StringUtils)4 ExcelUtil (com.ruoyi.common.core.utils.poi.ExcelUtil)4 BaseController (com.ruoyi.common.core.web.controller.BaseController)4 TableDataInfo (com.ruoyi.common.core.web.page.TableDataInfo)4 BusinessType (com.ruoyi.common.log.enums.BusinessType)4 InnerAuth (com.ruoyi.common.security.annotation.InnerAuth)4 RequiresPermissions (com.ruoyi.common.security.annotation.RequiresPermissions)4 SecurityUtils (com.ruoyi.common.security.utils.SecurityUtils)4 SysRole (com.ruoyi.system.api.domain.SysRole)4 ISysConfigService (com.ruoyi.system.service.ISysConfigService)4 ISysPermissionService (com.ruoyi.system.service.ISysPermissionService)4