diff --git a/mall-admin/src/main/java/com/suisung/mall/admin/controller/admin/AdminBaseMenuController.java b/mall-admin/src/main/java/com/suisung/mall/admin/controller/admin/AdminBaseMenuController.java index f277576d..f91b1ce2 100644 --- a/mall-admin/src/main/java/com/suisung/mall/admin/controller/admin/AdminBaseMenuController.java +++ b/mall-admin/src/main/java/com/suisung/mall/admin/controller/admin/AdminBaseMenuController.java @@ -2,12 +2,11 @@ package com.suisung.mall.admin.controller.admin; import com.suisung.mall.admin.service.AdminBaseMenuService; import com.suisung.mall.common.api.CommonResult; +import com.suisung.mall.common.modules.admin.AdminBaseMenu; import com.suisung.mall.common.modules.admin.Router; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -39,5 +38,52 @@ public class AdminBaseMenuController { return CommonResult.success(routers); } + /** + * 获取所有菜单配置 + * + * @param + * @return + */ + @RequestMapping(value = "/list", method = RequestMethod.GET) + public CommonResult pageList(@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + return adminBaseMenuService.getAdminBaseMenuPage(pageNum,pageSize); + } + + /** + *获取单个菜单接口 + * @param + * @return + */ + @RequestMapping(value = "/getAdminBaseMenu", method = RequestMethod.GET) + public CommonResult getAdminBaseMenu() { + return adminBaseMenuService.getAdminBaseMenu(); + } + + + /** + * 保存菜单 + * + * @param + * @return + */ + @RequestMapping(value = "/saveAdminBaseMenu", method = RequestMethod.POST) + public CommonResult saveAdminBaseMenu(@RequestBody AdminBaseMenu adminBaseMenu) { + return adminBaseMenuService.saveAdminBaseMenu(adminBaseMenu); + } + + /** + * 更新菜单 + * + * @param + * @return + */ + @RequestMapping(value = "/editAdminBaseMenu", method = RequestMethod.PUT) + public CommonResult editAdminBaseMenu(@RequestBody AdminBaseMenu adminBaseMenu) { + return adminBaseMenuService.updateAdminBaseMenu(adminBaseMenu); + } + + + } diff --git a/mall-admin/src/main/java/com/suisung/mall/admin/controller/admin/AdminBaseProtocolController.java b/mall-admin/src/main/java/com/suisung/mall/admin/controller/admin/AdminBaseProtocolController.java index 19cad590..97cb165b 100644 --- a/mall-admin/src/main/java/com/suisung/mall/admin/controller/admin/AdminBaseProtocolController.java +++ b/mall-admin/src/main/java/com/suisung/mall/admin/controller/admin/AdminBaseProtocolController.java @@ -103,5 +103,18 @@ public class AdminBaseProtocolController { Map> stringListMap = adminBaseProtocolService.initResourceRolesMap(); return CommonResult.success(stringListMap); } + + /** + * 编辑新增 + * + * @param adminBaseProtocol + * @return + */ + @ApiOperation(value = "基础通信协议表-新增", notes = "基础通信协议表-新增") + @RequestMapping(value = "/add", method = RequestMethod.PUT) + public CommonResult add(AdminBaseProtocol adminBaseProtocol) { + boolean flag = adminBaseProtocolService.save(adminBaseProtocol); + return CommonResult.success(flag); + } } diff --git a/mall-admin/src/main/java/com/suisung/mall/admin/controller/admin/AdminRightsBaseController.java b/mall-admin/src/main/java/com/suisung/mall/admin/controller/admin/AdminRightsBaseController.java index 050a1d34..180e3fba 100644 --- a/mall-admin/src/main/java/com/suisung/mall/admin/controller/admin/AdminRightsBaseController.java +++ b/mall-admin/src/main/java/com/suisung/mall/admin/controller/admin/AdminRightsBaseController.java @@ -84,6 +84,7 @@ public class AdminRightsBaseController { return CommonResult.success(flag); } + /** * 通过rights_id删除 * @@ -109,5 +110,18 @@ public class AdminRightsBaseController { boolean flag = this.adminRightsBaseService.remove(Arrays.asList(rights_ids.split(","))); return CommonResult.success(flag); } + + /** + * 编辑新增 + * + * @param adminRightsBase + * @return + */ + @ApiOperation(value = "权限表 -新增", notes = "权限表 -编辑") + @RequestMapping(value = "/add", method = RequestMethod.POST) + public CommonResult add(@RequestBody AdminRightsBase adminRightsBase) { + boolean flag = adminRightsBaseService.save(adminRightsBase); + return CommonResult.success(flag); + } } diff --git a/mall-admin/src/main/java/com/suisung/mall/admin/oss/service/impl/OssServiceImpl.java b/mall-admin/src/main/java/com/suisung/mall/admin/oss/service/impl/OssServiceImpl.java index 96a35ed2..e3feff36 100644 --- a/mall-admin/src/main/java/com/suisung/mall/admin/oss/service/impl/OssServiceImpl.java +++ b/mall-admin/src/main/java/com/suisung/mall/admin/oss/service/impl/OssServiceImpl.java @@ -254,7 +254,7 @@ public class OssServiceImpl implements OssService { // 根据用户获取目录名 String dir = getUserDirName(user) + DateUtil.format(new Date(), "yyyyMMdd"); // 创建唯一文件名称 - String suffix = fileName.substring(fileName.lastIndexOf(".")); + String suffix = fileName.substring(fileName.lastIndexOf(".")).toLowerCase(); String uploadName = IdUtil.simpleUUID() + suffix; String uploadPath = FILEPATH + "/" + dir + "/" + uploadName; diff --git a/mall-admin/src/main/java/com/suisung/mall/admin/service/AdminBaseMenuService.java b/mall-admin/src/main/java/com/suisung/mall/admin/service/AdminBaseMenuService.java index 2381e62b..435a480a 100644 --- a/mall-admin/src/main/java/com/suisung/mall/admin/service/AdminBaseMenuService.java +++ b/mall-admin/src/main/java/com/suisung/mall/admin/service/AdminBaseMenuService.java @@ -1,6 +1,7 @@ package com.suisung.mall.admin.service; +import com.suisung.mall.common.api.CommonResult; import com.suisung.mall.common.modules.admin.AdminBaseMenu; import com.suisung.mall.common.modules.admin.Router; import com.suisung.mall.core.web.service.IBaseService; @@ -22,4 +23,13 @@ public interface AdminBaseMenuService extends IBaseService { Map userCenterMenu(); + + CommonResult getAdminBaseMenuPage(Integer pageNo, Integer pageSize); + + CommonResult getAdminBaseMenu(); + + + CommonResult saveAdminBaseMenu(AdminBaseMenu adminBaseMenu); + + CommonResult updateAdminBaseMenu(AdminBaseMenu adminBaseMenu); } diff --git a/mall-admin/src/main/java/com/suisung/mall/admin/service/impl/AdminBaseMenuServiceImpl.java b/mall-admin/src/main/java/com/suisung/mall/admin/service/impl/AdminBaseMenuServiceImpl.java index 0f625e37..51eb1e44 100644 --- a/mall-admin/src/main/java/com/suisung/mall/admin/service/impl/AdminBaseMenuServiceImpl.java +++ b/mall-admin/src/main/java/com/suisung/mall/admin/service/impl/AdminBaseMenuServiceImpl.java @@ -5,11 +5,13 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.suisung.mall.admin.mapper.AdminBaseMenuMapper; import com.suisung.mall.admin.service.AccountBaseConfigService; import com.suisung.mall.admin.service.AdminBaseMenuService; import com.suisung.mall.admin.service.AdminBaseProtocolService; import com.suisung.mall.admin.service.AdminRightsGroupService; +import com.suisung.mall.common.api.CommonResult; import com.suisung.mall.common.api.ResultCode; import com.suisung.mall.common.api.StateCode; import com.suisung.mall.common.domain.RoleIdEnum; @@ -22,9 +24,7 @@ import com.suisung.mall.common.modules.admin.*; import com.suisung.mall.common.modules.store.ShopStoreBase; import com.suisung.mall.common.modules.store.ShopStoreEmployee; import com.suisung.mall.common.modules.store.ShopStoreEmployeeRightsGroup; -import com.suisung.mall.common.utils.CheckUtil; -import com.suisung.mall.common.utils.I18nUtil; -import com.suisung.mall.common.utils.UserInfoService; +import com.suisung.mall.common.utils.*; import com.suisung.mall.core.web.service.impl.BaseServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -835,4 +835,65 @@ public class AdminBaseMenuServiceImpl extends BaseServiceImpl queryWrapper=new QueryWrapper(adminBaseMenu); + String menu_name= getParameter("menu_name"); + if(StringUtils.isNotEmpty(menu_name)){ + queryWrapper.like("menu_name", menu_name); + } + Page data= lists(queryWrapper,pageNo,pageSize); + return CommonResult.success(data); + } + + @Override + public CommonResult getAdminBaseMenu() { + try { + checkouRole(); + }catch (RuntimeException e){ + return CommonResult.failed(e.getMessage()); + } + AdminBaseMenu adminBaseMenu=new AdminBaseMenu(); + QueryWrapper queryWrapper=new QueryWrapper(adminBaseMenu); + String menu_id= getParameter("menu_id"); + if(StringUtils.isEmpty(menu_id)){ + return CommonResult.failed("缺少必要字段"); + } + queryWrapper.eq("menu_id", menu_id); + return CommonResult.success(this.getOne(queryWrapper)); + } + + @Override + public CommonResult saveAdminBaseMenu(AdminBaseMenu adminBaseMenu) { + if(!save(adminBaseMenu)){ + return CommonResult.failed("新增失败"); + } + return CommonResult.success("新增成功"); + } + + @Override + public CommonResult updateAdminBaseMenu(AdminBaseMenu adminBaseMenu) { + if(!edit(adminBaseMenu)){ + return CommonResult.failed("更新失败"); + } + return CommonResult.success("更新成功"); + } + + + /** + * 校验是否为平台 + * @return + */ + private void checkouRole(){ + if(!ContextUtil.checkouRole()){ + throw new RuntimeException("没有相关权限"); + } + } + } diff --git a/mall-common/src/main/java/com/suisung/mall/common/utils/ContextUtil.java b/mall-common/src/main/java/com/suisung/mall/common/utils/ContextUtil.java index 164c0587..b68e4d89 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/utils/ContextUtil.java +++ b/mall-common/src/main/java/com/suisung/mall/common/utils/ContextUtil.java @@ -40,13 +40,13 @@ public class ContextUtil { public static UserDto getCurrentUser() { try { UserDto loginUser = staticUserInfoService.getUser(); - //log.warn("##### 当前登录用户:{}###", JsonUtil.object2json(loginUser)); - return loginUser;//todo 测试去除 -// UserDto user= new UserDto(); -// user.setStore_id("1"); -// user.setRole_id(9); -// user.setUser_account("18260885688"); -// return user; + log.info("##### 当前登录用户:{}###", JsonUtil.object2json(loginUser)); + return loginUser;//todo 测试去除 + // UserDto user= new UserDto(); + //user.setStore_id("1"); + //user.setRole_id(9); + //user.setUser_account("18260885688"); + //return user; } catch (Exception e) { System.out.println(e.getMessage()); } @@ -81,20 +81,30 @@ public class ContextUtil { /** * 传入的 - * * @param storeId * @return */ - public static String getStoreId(String storeId) { - if (getCurrentUser() == null) { + public static String getStoreId(String storeId){ + if(getCurrentUser()==null){ throw new RuntimeException("未登录"); } - if (Objects.requireNonNull(getCurrentUser()).getRole_id() == 9) {//平台 + if(Objects.requireNonNull(getCurrentUser()).getRole_id()==9){//平台 return storeId; } return Objects.requireNonNull(getCurrentUser()).getStore_id(); } + /** + * 校验是否为平台 + * @return + */ + public static boolean checkouRole(){ + UserDto userDto=getCurrentUser(); + assert userDto != null; + return userDto.getRole_id() == 9; + } + + @PostConstruct public void init() { ContextUtil.staticUserInfoService = userInfoService; diff --git a/sql/shop/dev/202506012_dml.sql b/sql/shop/dev/202506012_dml.sql new file mode 100644 index 00000000..2a7b487e --- /dev/null +++ b/sql/shop/dev/202506012_dml.sql @@ -0,0 +1,21 @@ +INSERT INTO admin_base_menu (menu_parent_id,menu_rel,menu_name,menu_url,menu_path,menu_component,menu_close,menu_label,menu_order,menu_enable,menu_class,menu_icon,menu_bubble,menu_url_path,menu_url_mdu,menu_url_ctl,menu_url_met,menu_url_parem,menu_time,menu_type,menu_note,menu_func,menu_role,menu_hidden) VALUES + (320,'pageTab','分类管理','','category','@/views/base/product/category',0,'CategoryManagement',50,1,'','','','/admin/shop/shop-base-product-category/list','','Base_ProductCategory','index','','2024-07-12 21:33:44',1,'','',2,0), + (320,'pageTab','品牌管理','','brand','@/views/base/product/brand/index.vue',0,'BrandManagement',51,1,'','','','/admin/shop/shop-base-product-brand/list','','Base_ProductBrand','index','','2024-07-12 21:33:44',1,'','',2,0), + (320,'pageTab','类型管理','','type','@/views/base/product/type/index.vue',0,'Vab3204',52,1,'','','','/admin/shop/shop-base-product-type/list','','Base_ProductType','index','','2024-07-12 21:33:44',1,'','',2,0), + (320,'pageTab','规格管理','','spec','@/views/base/product/spec/index.vue',0,'CpecManagement',53,1,'','','','m','','Base_ProductSpec','index','','2025-06-12 17:19:46',1,'','',2,0); \ No newline at end of file