|
@@ -1,12 +1,16 @@
|
|
package com.backendsys.modules.system.controller;
|
|
package com.backendsys.modules.system.controller;
|
|
|
|
|
|
-import com.backendsys.entity.PageDTO;
|
|
|
|
|
|
+import com.backendsys.aspect.QueryNullCheck;
|
|
import com.backendsys.exception.CustException;
|
|
import com.backendsys.exception.CustException;
|
|
|
|
+import com.backendsys.modules.common.aspect.QueryNullCheckV2;
|
|
import com.backendsys.modules.common.config.security.enums.SecurityEnum;
|
|
import com.backendsys.modules.common.config.security.enums.SecurityEnum;
|
|
import com.backendsys.modules.common.config.security.utils.SecurityUtil;
|
|
import com.backendsys.modules.common.config.security.utils.SecurityUtil;
|
|
import com.backendsys.modules.common.utils.Result;
|
|
import com.backendsys.modules.common.utils.Result;
|
|
|
|
+import com.backendsys.modules.system.dao.SysUserInfoDao;
|
|
import com.backendsys.modules.system.entity.SysUser.SysUserDTO;
|
|
import com.backendsys.modules.system.entity.SysUser.SysUserDTO;
|
|
|
|
+import com.backendsys.modules.system.entity.SysUser.SysUserInfo;
|
|
import com.backendsys.modules.system.service.SysUserV2Service;
|
|
import com.backendsys.modules.system.service.SysUserV2Service;
|
|
|
|
+import com.backendsys.service.B2c.B2cGoodUnitService;
|
|
import com.backendsys.service.System.SysUserService;
|
|
import com.backendsys.service.System.SysUserService;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
@@ -16,6 +20,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
+import java.lang.reflect.Method;
|
|
|
|
+
|
|
@Validated
|
|
@Validated
|
|
@RestController
|
|
@RestController
|
|
@Tag(name = "系统用户")
|
|
@Tag(name = "系统用户")
|
|
@@ -66,8 +72,8 @@ public class SysUserV2Controller {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 权限:
|
|
* 权限:
|
|
- * - 查询用户权限 (3.4.1)
|
|
|
|
- * - 查询他人用户权限 (3.4.1.2)
|
|
|
|
|
|
+ * - 查询用户信息权限 (3.4.1)
|
|
|
|
+ * - 查询他人用户信息权限 (3.4.1.2)
|
|
*/
|
|
*/
|
|
@Operation(summary = "获得系统用户权限列表")
|
|
@Operation(summary = "获得系统用户权限列表")
|
|
@PreAuthorize("@sr.hasPermission('3.4.1')")
|
|
@PreAuthorize("@sr.hasPermission('3.4.1')")
|
|
@@ -79,7 +85,7 @@ public class SysUserV2Controller {
|
|
|
|
|
|
// 查询他人的用户信息
|
|
// 查询他人的用户信息
|
|
// - 查询自己 (无需权限)
|
|
// - 查询自己 (无需权限)
|
|
- // - 查询他人 (需要权限或超级管理员)
|
|
|
|
|
|
+ // - 查询他人 (需要子权限或超级管理员)
|
|
if (user_id != SecurityUtil.getUserId() && !SecurityUtil.hasPermission("3.4.1.2") && !SecurityUtil.isSuper()) {
|
|
if (user_id != SecurityUtil.getUserId() && !SecurityUtil.hasPermission("3.4.1.2") && !SecurityUtil.isSuper()) {
|
|
throw new CustException(SecurityEnum.NOAUTH);
|
|
throw new CustException(SecurityEnum.NOAUTH);
|
|
}
|
|
}
|
|
@@ -93,4 +99,47 @@ public class SysUserV2Controller {
|
|
return Result.success().put("data", sysUserV2Service.insertUser(sysUserDTO));
|
|
return Result.success().put("data", sysUserV2Service.insertUser(sysUserDTO));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private SysUserInfoDao sysUserInfoDao;
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 权限:
|
|
|
|
+ * - 编辑用户信息权限 (3.2.3)
|
|
|
|
+ * - 编辑他人用户信息权限 (3.2.3.2)
|
|
|
|
+ */
|
|
|
|
+ @Operation(summary = "编辑系统用户信息")
|
|
|
|
+ @PreAuthorize("@ss.hasPermi('3.2.3')")
|
|
|
|
+// @QueryNullCheckV2(dao = SysUserInfoDao.class, field = "user_id", message = "用户不存在")
|
|
|
|
+// @QueryNullCheck(serviceClass = B2cGoodUnitService.class, serviceMethod = "queryGoodUnitDetail", argField = "good_unit_id", message = "商品单位不存在")
|
|
|
|
+ @PutMapping("/api/v2/system/user/updateUserInfo")
|
|
|
|
+ public Result updateUserInfo(@Validated(SysUserDTO.Update.class) @RequestBody SysUserDTO sysUserDTO) {
|
|
|
|
+
|
|
|
|
+// sysUserInfoDao.selectById()
|
|
|
|
+
|
|
|
|
+ // 获取SysUserInfoDao的实现类的Class对象
|
|
|
|
+// Class<?> implClass = sysUserInfoDao.getClass();
|
|
|
|
+// Method[] methods = implClass.getDeclaredMethods();
|
|
|
|
+// for (Method method : methods) {
|
|
|
|
+// System.out.println(method.getName());
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+ // 还是写一个方法来判断 是否存在吧?
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ // 编辑他人的用户信息
|
|
|
|
+ // - 编辑自己 (无需权限)
|
|
|
|
+ // - 编辑他人 (需要子权限或超级管理员)
|
|
|
|
+ Long user_id = sysUserDTO.getUser_id();
|
|
|
|
+ if (user_id != SecurityUtil.getUserId() && !SecurityUtil.hasPermission("3.2.3.2") && !SecurityUtil.isSuper()) {
|
|
|
|
+ throw new CustException(SecurityEnum.NOAUTH);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 防止手动更新字段
|
|
|
|
+ sysUserDTO.setLast_login_time(null);
|
|
|
|
+ sysUserDTO.setLast_login_ip(null);
|
|
|
|
+
|
|
|
|
+ return Result.success().put("data", sysUserV2Service.updateUserInfo(sysUserDTO));
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|