v1.0.3
This commit is contained in:
@@ -13,7 +13,9 @@ public enum CoreRoleCode implements BuiltinRoleCode {
|
|||||||
|
|
||||||
SYSTEM("系统", true, null),
|
SYSTEM("系统", true, null),
|
||||||
|
|
||||||
ADMIN("管理员", false, SYSTEM.name());
|
ADMIN("管理员", false, SYSTEM.name()),
|
||||||
|
|
||||||
|
USER_ROLE_ADMIN("授权管理", false, ADMIN.name());
|
||||||
|
|
||||||
final String defaultName;
|
final String defaultName;
|
||||||
final boolean protectedRole;
|
final boolean protectedRole;
|
||||||
|
|||||||
@@ -107,6 +107,14 @@ public class GaoCustomerController {
|
|||||||
return service.getByCode(code);
|
return service.getByCode(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@AOPLog
|
||||||
|
@RequestRateLimit
|
||||||
|
@RequireGaoPermission(GaoPermissionCode.CUSTOMER_READ)
|
||||||
|
@PostMapping("/detail/code/nullable")
|
||||||
|
public GaoCustomer nullableDetailByCode(@RequestParam String code) {
|
||||||
|
return service.getNullableByCode(code);
|
||||||
|
}
|
||||||
|
|
||||||
@AOPLog
|
@AOPLog
|
||||||
@RequestRateLimit
|
@RequestRateLimit
|
||||||
@RequireGaoPermission(GaoPermissionCode.CUSTOMER_READ)
|
@RequireGaoPermission(GaoPermissionCode.CUSTOMER_READ)
|
||||||
|
|||||||
+2
@@ -18,6 +18,7 @@ import com.imyeyu.spring.bean.Page;
|
|||||||
import com.imyeyu.spring.bean.PageResult;
|
import com.imyeyu.spring.bean.PageResult;
|
||||||
import com.imyeyu.spring.mapper.BaseMapper;
|
import com.imyeyu.spring.mapper.BaseMapper;
|
||||||
import com.imyeyu.spring.service.AbstractEntityService;
|
import com.imyeyu.spring.service.AbstractEntityService;
|
||||||
|
import com.imyeyu.utils.Time;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -112,6 +113,7 @@ public class GaoUserServiceImplement extends AbstractEntityService<GaoUser, Stri
|
|||||||
}
|
}
|
||||||
User user = entity.getUser();
|
User user = entity.getUser();
|
||||||
TimiException.required(user, "not found gao user.user");
|
TimiException.required(user, "not found gao user.user");
|
||||||
|
user.setPhoneNoVerifyAt(TimiJava.defaultIfNull(user.getPhoneNoVerifyAt(), Time.now()));
|
||||||
userService.create(user);
|
userService.create(user);
|
||||||
entity.setUserId(user.getId());
|
entity.setUserId(user.getId());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.imyeyu.api.annotation.RequireCorePermission;
|
|||||||
import com.imyeyu.api.annotation.RequireCoreRole;
|
import com.imyeyu.api.annotation.RequireCoreRole;
|
||||||
import com.imyeyu.api.bean.CorePermissionCode;
|
import com.imyeyu.api.bean.CorePermissionCode;
|
||||||
import com.imyeyu.api.bean.CoreRoleCode;
|
import com.imyeyu.api.bean.CoreRoleCode;
|
||||||
|
import com.imyeyu.api.bean.RoleMatchMode;
|
||||||
import com.imyeyu.api.modules.user.entity.Permission;
|
import com.imyeyu.api.modules.user.entity.Permission;
|
||||||
import com.imyeyu.api.modules.user.service.PermissionService;
|
import com.imyeyu.api.modules.user.service.PermissionService;
|
||||||
import com.imyeyu.api.modules.user.vo.permission.BatchCreateReq;
|
import com.imyeyu.api.modules.user.vo.permission.BatchCreateReq;
|
||||||
@@ -32,7 +33,7 @@ public class PermissionController {
|
|||||||
|
|
||||||
private final PermissionService service;
|
private final PermissionService service;
|
||||||
|
|
||||||
@RequireCoreRole(CoreRoleCode.ADMIN)
|
@RequireCoreRole(value = {CoreRoleCode.ADMIN, CoreRoleCode.USER_ROLE_ADMIN}, mode = RoleMatchMode.ANY)
|
||||||
@RequireCorePermission(CorePermissionCode.PERMISSION_READ)
|
@RequireCorePermission(CorePermissionCode.PERMISSION_READ)
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
public PageResult<Permission> list(@RequestBody Page<Permission> page) {
|
public PageResult<Permission> list(@RequestBody Page<Permission> page) {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.imyeyu.api.annotation.RequireCoreRole;
|
|||||||
import com.imyeyu.api.bean.CorePermissionCode;
|
import com.imyeyu.api.bean.CorePermissionCode;
|
||||||
import com.imyeyu.api.bean.CoreRoleCode;
|
import com.imyeyu.api.bean.CoreRoleCode;
|
||||||
import com.imyeyu.api.bean.ModuleCode;
|
import com.imyeyu.api.bean.ModuleCode;
|
||||||
|
import com.imyeyu.api.bean.RoleMatchMode;
|
||||||
import com.imyeyu.api.modules.user.entity.Permission;
|
import com.imyeyu.api.modules.user.entity.Permission;
|
||||||
import com.imyeyu.api.modules.user.entity.Role;
|
import com.imyeyu.api.modules.user.entity.Role;
|
||||||
import com.imyeyu.api.modules.user.service.PermissionService;
|
import com.imyeyu.api.modules.user.service.PermissionService;
|
||||||
@@ -38,7 +39,7 @@ public class RoleController {
|
|||||||
private final RoleService service;
|
private final RoleService service;
|
||||||
private final PermissionService permissionService;
|
private final PermissionService permissionService;
|
||||||
|
|
||||||
@RequireCoreRole(CoreRoleCode.ADMIN)
|
@RequireCoreRole(value = {CoreRoleCode.ADMIN, CoreRoleCode.USER_ROLE_ADMIN}, mode = RoleMatchMode.ANY)
|
||||||
@RequireCorePermission(CorePermissionCode.ROLE_READ)
|
@RequireCorePermission(CorePermissionCode.ROLE_READ)
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
public PageResult<Role> list(@RequestBody Page<Role> page) {
|
public PageResult<Role> list(@RequestBody Page<Role> page) {
|
||||||
@@ -49,7 +50,7 @@ public class RoleController {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequireCoreRole(CoreRoleCode.ADMIN)
|
@RequireCoreRole(value = {CoreRoleCode.ADMIN, CoreRoleCode.USER_ROLE_ADMIN}, mode = RoleMatchMode.ANY)
|
||||||
@RequireCorePermission(CorePermissionCode.ROLE_READ)
|
@RequireCorePermission(CorePermissionCode.ROLE_READ)
|
||||||
@PostMapping("/detail")
|
@PostMapping("/detail")
|
||||||
public Role detail(@RequestParam String id) {
|
public Role detail(@RequestParam String id) {
|
||||||
@@ -82,7 +83,7 @@ public class RoleController {
|
|||||||
service.delete(id);
|
service.delete(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequireCoreRole(CoreRoleCode.ADMIN)
|
@RequireCoreRole(value = {CoreRoleCode.ADMIN, CoreRoleCode.USER_ROLE_ADMIN}, mode = RoleMatchMode.ANY)
|
||||||
@RequireCorePermission(CorePermissionCode.USER_ROLE_READ)
|
@RequireCorePermission(CorePermissionCode.USER_ROLE_READ)
|
||||||
@PostMapping("/authorized/list")
|
@PostMapping("/authorized/list")
|
||||||
public List<Role> listUserRole(@RequestParam String userId, @RequestParam(required = false) ModuleCode moduleCode) {
|
public List<Role> listUserRole(@RequestParam String userId, @RequestParam(required = false) ModuleCode moduleCode) {
|
||||||
@@ -93,14 +94,14 @@ public class RoleController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@AOPLog
|
@AOPLog
|
||||||
@RequireCoreRole(CoreRoleCode.ADMIN)
|
@RequireCoreRole(value = {CoreRoleCode.ADMIN, CoreRoleCode.USER_ROLE_ADMIN}, mode = RoleMatchMode.ANY)
|
||||||
@RequireCorePermission(value = {CorePermissionCode.USER_ROLE_CREATE, CorePermissionCode.USER_ROLE_DELETE})
|
@RequireCorePermission(value = {CorePermissionCode.USER_ROLE_CREATE, CorePermissionCode.USER_ROLE_DELETE})
|
||||||
@PostMapping("/authorized/create")
|
@PostMapping("/authorized/create")
|
||||||
public void authorizeUserRole(@RequestBody UserRoleAuthorizeReq req) {
|
public void authorizeUserRole(@RequestBody UserRoleAuthorizeReq req) {
|
||||||
service.authorizeUserRole(req);
|
service.authorizeUserRole(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequireCoreRole(CoreRoleCode.ADMIN)
|
@RequireCoreRole(value = {CoreRoleCode.ADMIN, CoreRoleCode.USER_ROLE_ADMIN}, mode = RoleMatchMode.ANY)
|
||||||
@RequireCorePermission(CorePermissionCode.USER_ROLE_READ)
|
@RequireCorePermission(CorePermissionCode.USER_ROLE_READ)
|
||||||
@PostMapping("/authorized/permission")
|
@PostMapping("/authorized/permission")
|
||||||
public List<Permission> listAuthorizedPermission(@RequestParam String userId) {
|
public List<Permission> listAuthorizedPermission(@RequestParam String userId) {
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ public class UserServiceImplement extends AbstractEntityService<User, String> im
|
|||||||
dbUser.setPassword(Digest.argon2id(user.getPassword()));
|
dbUser.setPassword(Digest.argon2id(user.getPassword()));
|
||||||
dbUser.setEmail(user.getEmail());
|
dbUser.setEmail(user.getEmail());
|
||||||
dbUser.setPhoneNo(user.getPhoneNo());
|
dbUser.setPhoneNo(user.getPhoneNo());
|
||||||
|
dbUser.setPhoneNoVerifyAt(user.getPhoneNoVerifyAt());
|
||||||
dbUser.setExp(TimiJava.defaultIfNull(user.getExp(), 0));
|
dbUser.setExp(TimiJava.defaultIfNull(user.getExp(), 0));
|
||||||
super.create(dbUser);
|
super.create(dbUser);
|
||||||
user.setId(dbUser.getId());
|
user.setId(dbUser.getId());
|
||||||
|
|||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
ALTER TABLE `gao_customer`
|
||||||
|
DROP INDEX `uk_gao_customer_code`,
|
||||||
|
ADD COLUMN `active_code` VARCHAR(64) GENERATED ALWAYS AS (
|
||||||
|
CASE WHEN `deleted_at` IS NULL THEN `code` ELSE NULL END
|
||||||
|
) STORED COMMENT '未删除客户编码' INVISIBLE,
|
||||||
|
ADD UNIQUE KEY `uk_gao_customer_active_code` (`active_code`);
|
||||||
|
|
||||||
|
ALTER TABLE `permission`
|
||||||
|
DROP INDEX `uk_module_code_code`,
|
||||||
|
ADD COLUMN `active_code` VARCHAR(50) GENERATED ALWAYS AS (
|
||||||
|
CASE WHEN `deleted_at` IS NULL THEN `code` ELSE NULL END
|
||||||
|
) STORED COMMENT '未删除权限代码' INVISIBLE,
|
||||||
|
ADD UNIQUE KEY `uk_permission_module_active_code` (`module_code`, `active_code`);
|
||||||
|
|
||||||
|
ALTER TABLE `role`
|
||||||
|
DROP INDEX `uk_module_code_code`,
|
||||||
|
ADD COLUMN `active_code` VARCHAR(50) GENERATED ALWAYS AS (
|
||||||
|
CASE WHEN `deleted_at` IS NULL THEN `code` ELSE NULL END
|
||||||
|
) STORED COMMENT '未删除角色代码' INVISIBLE,
|
||||||
|
ADD UNIQUE KEY `uk_role_module_active_code` (`module_code`, `active_code`);
|
||||||
Reference in New Issue
Block a user