角色模板

This commit is contained in:
张松
2025-12-09 09:17:34 +08:00
parent 7dcd9d471a
commit 998bf2e052
12 changed files with 374 additions and 4 deletions

View File

@@ -9,18 +9,22 @@ import com.czg.account.dto.menu.MenuApiInfoItemDTO;
import com.czg.account.dto.role.RoleAddDTO;
import com.czg.account.dto.role.RoleEditDTO;
import com.czg.account.dto.role.RolePermissionDTO;
import com.czg.account.dto.role.RoleSaveTemplateDTO;
import com.czg.account.entity.*;
import com.czg.account.service.CashMenuService;
import com.czg.account.service.SysMenuService;
import com.czg.account.service.SysRoleService;
import com.czg.account.service.SysRolesMenusService;
import com.czg.exception.CzgException;
import com.czg.market.entity.SysRoleTemplate;
import com.czg.market.service.SysRoleTemplateService;
import com.czg.sa.StpKit;
import com.czg.service.account.mapper.SysRoleMapper;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -43,6 +47,9 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
private SysRolesMenusService sysRolesMenusService;
@Resource
private CashMenuService cashMenuService;
@Resource
@Lazy
private SysRoleTemplateService roleTemplateService;
@Override
public List<SysRole> getByUserId(Long id) {
@@ -237,6 +244,18 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
throw new CzgException("保存失败");
}
@Override
public Boolean saveByTemplate(long shopId, RoleSaveTemplateDTO dto) {
roleTemplateService.list(new QueryWrapper().in(SysRoleTemplate::getId, dto.roleTemplateIdList())).forEach(item -> {
SysRole role = getById(item.getRoleId());
role.setShopId(shopId);
role.setCreateTime(null);
role.setId(null);
save(role);
});
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean edit(RoleEditDTO roleEditDTO) {