| | |
| | | package com.ruoyi.web.controller.system; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.UUID; |
| | | |
| | | import com.aliyun.dingtalkoauth2_1_0.models.GetSsoUserInfoResponseBody; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.core.domain.model.LoginBodyByOpenID; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.project.service.DingTalkService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | |
| | | /** |
| | | * 登录验证 |
| | | * |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | @Api("用户登录") |
| | | @RestController |
| | | public class SysLoginController |
| | | { |
| | | public class SysLoginController { |
| | | @Autowired |
| | | private SysLoginService loginService; |
| | | |
| | |
| | | @Autowired |
| | | private SysPermissionService permissionService; |
| | | |
| | | @Autowired |
| | | private DingTalkService dingTalkService; |
| | | |
| | | |
| | | /** |
| | |
| | | @ApiOperation("微信OpenID登录") |
| | | @ApiImplicitParam(name = "loginBody", value = "登录信息", dataType = "LoginBodyByOpenID") |
| | | @PostMapping("/openidlogin") |
| | | public AjaxResult openidLogin(@RequestBody LoginBodyByOpenID loginBody) |
| | | { |
| | | String openid=loginBody.getOpenid(); |
| | | public AjaxResult openidLogin(@RequestBody LoginBodyByOpenID loginBody) { |
| | | String openid = loginBody.getOpenid(); |
| | | AjaxResult ajax = loginService.wxopenidLogin(openid); |
| | | return ajax; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 登录方法 |
| | | * |
| | | * |
| | | * @param loginBody 登录信息 |
| | | * @return 结果 |
| | | */ |
| | | @ApiOperation("登录信息") |
| | | @Log(title = "登录信息", businessType = BusinessType.OTHER) |
| | | @PostMapping("/login") |
| | | public AjaxResult login(@RequestBody LoginBody loginBody) |
| | | { |
| | | public AjaxResult login(@RequestBody LoginBody loginBody) { |
| | | AjaxResult ajax = AjaxResult.success(); |
| | | // dingTalkService.deptidList(1L, 1); |
| | | Map<String, Object> userIdMap = null; |
| | | if (StringUtils.isNotEmpty(loginBody.getAuthCode())) { |
| | | Map<String, Object> map = dingTalkService.noLogin(loginBody.getAuthCode()); |
| | | userIdMap = (Map<String, Object>) map.get("result"); |
| | | } |
| | | // 生成令牌 |
| | | String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), |
| | | loginBody.getUuid(), loginBody.getOpenid()); |
| | | String token = null; |
| | | if (!ObjectUtils.isEmpty(userIdMap)) { |
| | | token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOpenid(), userIdMap.get("userid").toString()); |
| | | } else { |
| | | token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOpenid(), null); |
| | | } |
| | | |
| | | ajax.put(Constants.TOKEN, token); |
| | | return ajax; |
| | |
| | | |
| | | /** |
| | | * 获取用户信息 |
| | | * |
| | | * |
| | | * @return 用户信息 |
| | | */ |
| | | @GetMapping("getInfo") |
| | | public AjaxResult getInfo() |
| | | { |
| | | public AjaxResult getInfo() { |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | // 角色集合 |
| | | Set<String> roles = permissionService.getRolePermission(user); |
| | |
| | | /** |
| | | * 获取路由信息 |
| | | * /addOrUpdateRBpayee/addOrUpdateRBpayee/addOrUpdateRBpayee |
| | | * |
| | | * @return 路由信息 |
| | | */ |
| | | @GetMapping("getRouters") |
| | | public AjaxResult getRouters() |
| | | { |
| | | public AjaxResult getRouters() { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId); |
| | | return AjaxResult.success(menuService.buildMenus(menus)); |