Merge remote-tracking branch 'origin/master'

This commit is contained in:
Tankaikai
2025-02-19 17:13:53 +08:00
3 changed files with 94 additions and 61 deletions

View File

@@ -1,29 +1,12 @@
package com.czg;
import com.czg.account.entity.SysMenu;
import com.czg.account.entity.SysRolesMenus;
import com.czg.account.service.SysMenuService;
import com.czg.account.service.SysRolesMenusService;
import com.czg.annotation.SaAdminCheckPermission;
import com.mybatisflex.core.dialect.DbType;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.Bean;
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
import java.lang.reflect.Method;
import java.util.Map;
/**
* @author ww
@@ -34,51 +17,9 @@ import java.util.Map;
@MapperScan("com.czg.service.account.mapper")
@EnableDubbo
@Slf4j
public class AccountApplication implements CommandLineRunner {
public class AccountApplication{
public static void main(String[] args) {
SpringApplication.run(AccountApplication.class, args);
}
@Autowired
private RequestMappingHandlerMapping requestMappingHandlerMapping;
@Autowired
private SysMenuService sysMenuService;
@Autowired
private SysRolesMenusService sysRolesMenusService;
public void run(String... args) {
Map<RequestMappingInfo, HandlerMethod> handlerMethods = this.requestMappingHandlerMapping.getHandlerMethods();
handlerMethods.forEach((key, value) -> {
Method method = value.getMethod();
SaAdminCheckPermission annotation = AnnotationUtils.getAnnotation(method, SaAdminCheckPermission.class);
if (annotation == null) return;
for (String s : annotation.value()) {
SysMenu menu1 = sysMenuService.queryChain().eq(SysMenu::getPermission, s).one();
if (menu1 !=null) {
long count1 = sysRolesMenusService.queryChain().eq(SysRolesMenus::getMenuId, menu1.getMenuId()).eq(SysRolesMenus::getRoleId, 1L).count();
if (count1 == 0) {
SysRolesMenus sysRolesMenus = new SysRolesMenus();
sysRolesMenus.setMenuId(menu1.getMenuId());
sysRolesMenus.setRoleId(1L);
sysRolesMenusService.save(sysRolesMenus);
log.info("接口菜单添加成功, 菜单名称: {}, 菜单权限: {}", menu1.getName(), menu1.getPermission());
}
continue;
}
SysMenu sysMenu = new SysMenu();
sysMenu.setPermission(s);
sysMenu.setName(s);
sysMenu.setType(2);
sysMenuService.save(sysMenu);
SysRolesMenus sysRolesMenus = new SysRolesMenus();
sysRolesMenus.setMenuId(sysMenu.getMenuId());
sysRolesMenus.setRoleId(1L);
sysRolesMenusService.save(sysRolesMenus);
log.info("接口菜单添加成功, 菜单名称: {}, 菜单权限: {}", sysMenu.getName(), sysMenu.getPermission());
}
});
}
}

View File

@@ -13,6 +13,7 @@ import com.czg.resp.CzgResult;
import com.czg.sa.StpKit;
import com.czg.utils.PageUtil;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryMethods;
import com.mybatisflex.core.query.QueryWrapper;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
@@ -49,11 +50,12 @@ public class ShopTableController {
* 权限标识: shopTable:list
* @param areaId 区域id
* @param tableCode 桌码
* @param status 台桌状态
* @return 台桌列表
*/
@SaAdminCheckPermission("shopTable:list")
@GetMapping
public CzgResult<Page<ShopTable>> list(Integer areaId, String tableCode) {
public CzgResult<Page<ShopTable>> list(Integer areaId, String tableCode, String status, String name) {
QueryWrapper queryWrapper = new QueryWrapper().eq(ShopTable::getShopId, StpKit.USER.getShopId());
if (areaId != null) {
queryWrapper.eq(ShopTable::getAreaId, areaId);
@@ -62,6 +64,14 @@ public class ShopTableController {
if (StrUtil.isNotBlank(tableCode)) {
queryWrapper.like(ShopTable::getTableCode, tableCode);
}
if (StrUtil.isNotBlank(status)) {
queryWrapper.eq(ShopTable::getStatus, status);
}
if (StrUtil.isNotBlank(name)) {
queryWrapper.like(ShopTable::getName, name);
}
return CzgResult.success(shopTableService.page(PageUtil.buildPage(), queryWrapper));
}