|
|
@ -3,6 +3,7 @@ package com.cloud.kicc.system.controller; |
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
import cn.hutool.core.map.MapUtil; |
|
|
|
import cn.hutool.core.map.MapUtil; |
|
|
|
import cn.hutool.core.util.ArrayUtil; |
|
|
|
import cn.hutool.core.util.ArrayUtil; |
|
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
@ -16,21 +17,16 @@ import com.cloud.kicc.common.log.annotation.SysLog; |
|
|
|
import com.cloud.kicc.common.security.annotation.Inner; |
|
|
|
import com.cloud.kicc.common.security.annotation.Inner; |
|
|
|
import com.cloud.kicc.common.security.util.SecurityUtils; |
|
|
|
import com.cloud.kicc.common.security.util.SecurityUtils; |
|
|
|
import com.cloud.kicc.commonbiz.api.feign.RemotePushConcernFanService; |
|
|
|
import com.cloud.kicc.commonbiz.api.feign.RemotePushConcernFanService; |
|
|
|
import com.cloud.kicc.system.api.entity.Menu; |
|
|
|
import com.cloud.kicc.system.api.entity.*; |
|
|
|
import com.cloud.kicc.system.api.entity.Role; |
|
|
|
|
|
|
|
import com.cloud.kicc.system.api.entity.User; |
|
|
|
|
|
|
|
import com.cloud.kicc.system.api.entity.UserRole; |
|
|
|
|
|
|
|
import com.cloud.kicc.system.api.enums.UserTypeEnum; |
|
|
|
import com.cloud.kicc.system.api.enums.UserTypeEnum; |
|
|
|
import com.cloud.kicc.system.api.vo.ResultVo; |
|
|
|
import com.cloud.kicc.system.api.vo.ResultVo; |
|
|
|
import com.cloud.kicc.system.service.MenuService; |
|
|
|
import com.cloud.kicc.system.service.*; |
|
|
|
import com.cloud.kicc.system.service.RoleService; |
|
|
|
|
|
|
|
import com.cloud.kicc.system.service.UserRoleService; |
|
|
|
|
|
|
|
import com.cloud.kicc.system.service.UserService; |
|
|
|
|
|
|
|
import com.pig4cloud.plugin.excel.annotation.ResponseExcel; |
|
|
|
import com.pig4cloud.plugin.excel.annotation.ResponseExcel; |
|
|
|
import com.pig4cloud.plugin.excel.annotation.Sheet; |
|
|
|
import com.pig4cloud.plugin.excel.annotation.Sheet; |
|
|
|
import io.swagger.annotations.ApiOperation; |
|
|
|
import io.swagger.annotations.ApiOperation; |
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
import lombok.SneakyThrows; |
|
|
|
import lombok.SneakyThrows; |
|
|
|
|
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
import org.springframework.security.access.prepost.PreAuthorize; |
|
|
|
import org.springframework.security.access.prepost.PreAuthorize; |
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
|
|
|
@ -54,7 +50,10 @@ public class UserController { |
|
|
|
private final UserRoleService userRoleService; |
|
|
|
private final UserRoleService userRoleService; |
|
|
|
private final RoleService roleService; |
|
|
|
private final RoleService roleService; |
|
|
|
private final MenuService menuService; |
|
|
|
private final MenuService menuService; |
|
|
|
|
|
|
|
private final ISsoUserService iSsoUserService; |
|
|
|
private final RemotePushConcernFanService remotePushConcernFanService; |
|
|
|
private final RemotePushConcernFanService remotePushConcernFanService; |
|
|
|
|
|
|
|
private final ConfigService configService; |
|
|
|
|
|
|
|
private final DeptService deptService; |
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/list") |
|
|
|
@GetMapping("/list") |
|
|
|
public R list(Page page,@RequestParam Map param) { |
|
|
|
public R list(Page page,@RequestParam Map param) { |
|
|
@ -123,12 +122,37 @@ public class UserController { |
|
|
|
return R.ok(userService.getUserAuthority(user)); |
|
|
|
return R.ok(userService.getUserAuthority(user)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** 内部小程序一键登陆 */ |
|
|
|
@Inner(false) |
|
|
|
@Inner(false) |
|
|
|
@GetMapping("/transformationUserByCasUserId/{casUserId:\\w+}") |
|
|
|
@GetMapping("/oneClickAccess/{casUserId:\\w+}") |
|
|
|
public R transformationUserByCasUserId(@PathVariable String casUserId) { |
|
|
|
public R oneClickAccess(@PathVariable String casUserId) { |
|
|
|
KiccUser user = userService.getUserByCasUserId(casUserId); |
|
|
|
if (ObjectUtil.isNotEmpty(iSsoUserService.getById(casUserId)) && ObjectUtil.isEmpty(userService.getOne(Wrappers.<User>lambdaQuery().eq(User::getCasUserId, casUserId)))) { |
|
|
|
if (user == null) return R.error("该用户不存在,请先注册!"); |
|
|
|
String initDeptId = configService.getValueByKey("app.init.deptId"); |
|
|
|
return R.ok(userService.getUserAuthority(user)); |
|
|
|
Dept dept = deptService.getById(initDeptId); |
|
|
|
|
|
|
|
Optional.ofNullable(dept).orElseThrow(() -> new CheckedException("当前部门无效请重新在参数管理中配置!")); |
|
|
|
|
|
|
|
String initUserType = configService.getValueByKey("app.init.deptId"); |
|
|
|
|
|
|
|
String initTenantId = configService.getValueByKey("app.init.tenantId"); |
|
|
|
|
|
|
|
String initRoleIds = configService.getValueByKey("app.init.roleIds"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
User user = new User(); |
|
|
|
|
|
|
|
user.setCasUserId(casUserId); |
|
|
|
|
|
|
|
user.setDeptId(dept.getDeptId()); |
|
|
|
|
|
|
|
user.setDeptName(dept.getName()); |
|
|
|
|
|
|
|
user.setUserType(initUserType); |
|
|
|
|
|
|
|
user.setTenantId(initTenantId); |
|
|
|
|
|
|
|
userService.save(user); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 处理角色授权
|
|
|
|
|
|
|
|
String[] roles = initRoleIds.split(","); |
|
|
|
|
|
|
|
userRoleService.saveBatch(Arrays.stream(roles).map(roleId -> { |
|
|
|
|
|
|
|
UserRole ur = new UserRole(); |
|
|
|
|
|
|
|
ur.setUserId(user.getId()); |
|
|
|
|
|
|
|
ur.setRoleId(roleId); |
|
|
|
|
|
|
|
ur.setTenantId(initTenantId); |
|
|
|
|
|
|
|
return ur; |
|
|
|
|
|
|
|
}).collect(Collectors.toList())); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return R.ok(userService.getUserByCasUserId(casUserId)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@SysLog("用户新增") |
|
|
|
@SysLog("用户新增") |
|
|
|