From 926602905694f606bed244d94086113ec9f98699 Mon Sep 17 00:00:00 2001 From: Wonder Date: Mon, 17 Nov 2025 16:40:37 +0800 Subject: [PATCH] =?UTF-8?q?=20=E2=9C=A8Feat:=20=E5=9B=BE=E4=B9=A6=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/ruoyi-manage/pom.xml | 6 + .../manage/controller/BookController.java | 104 ++++++ .../manage/controller/CategoryController.java | 104 ++++++ .../manage/controller/RegionController.java | 104 ++++++ .../java/com/ruoyi/manage/domain/Book.java | 181 ++++++++++ .../com/ruoyi/manage/domain/Category.java | 57 +++ .../java/com/ruoyi/manage/domain/Region.java | 57 +++ .../com/ruoyi/manage/mapper/BookMapper.java | 61 ++++ .../ruoyi/manage/mapper/CategoryMapper.java | 61 ++++ .../com/ruoyi/manage/mapper/RegionMapper.java | 61 ++++ .../ruoyi/manage/service/IBookService.java | 61 ++++ .../manage/service/ICategoryService.java | 61 ++++ .../ruoyi/manage/service/IRegionService.java | 61 ++++ .../manage/service/impl/BookServiceImpl.java | 96 +++++ .../service/impl/CategoryServiceImpl.java | 96 +++++ .../service/impl/RegionServiceImpl.java | 96 +++++ .../resources/mapper/manage/BookMapper.xml | 111 ++++++ .../mapper/manage/CategoryMapper.xml | 76 ++++ .../resources/mapper/manage/RegionMapper.xml | 76 ++++ backend/sql/build/bookMenu.sql | 22 ++ backend/sql/build/categoryMenu.sql | 22 ++ backend/sql/build/regionMenu.sql | 22 ++ frontend/src/api/manage/book.js | 44 +++ frontend/src/api/manage/category.js | 44 +++ frontend/src/api/manage/region.js | 44 +++ frontend/src/views/manage/book/index.vue | 331 ++++++++++++++++++ frontend/src/views/manage/category/index.vue | 239 +++++++++++++ frontend/src/views/manage/region/index.vue | 239 +++++++++++++ 28 files changed, 2537 insertions(+) create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/controller/BookController.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/controller/CategoryController.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/controller/RegionController.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/domain/Book.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/domain/Category.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/domain/Region.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/mapper/BookMapper.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/mapper/CategoryMapper.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/mapper/RegionMapper.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/IBookService.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/ICategoryService.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/IRegionService.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/impl/BookServiceImpl.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/impl/CategoryServiceImpl.java create mode 100644 backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/impl/RegionServiceImpl.java create mode 100644 backend/ruoyi-manage/src/main/resources/mapper/manage/BookMapper.xml create mode 100644 backend/ruoyi-manage/src/main/resources/mapper/manage/CategoryMapper.xml create mode 100644 backend/ruoyi-manage/src/main/resources/mapper/manage/RegionMapper.xml create mode 100644 backend/sql/build/bookMenu.sql create mode 100644 backend/sql/build/categoryMenu.sql create mode 100644 backend/sql/build/regionMenu.sql create mode 100644 frontend/src/api/manage/book.js create mode 100644 frontend/src/api/manage/category.js create mode 100644 frontend/src/api/manage/region.js create mode 100644 frontend/src/views/manage/book/index.vue create mode 100644 frontend/src/views/manage/category/index.vue create mode 100644 frontend/src/views/manage/region/index.vue diff --git a/backend/ruoyi-manage/pom.xml b/backend/ruoyi-manage/pom.xml index 0e733c4..ab0a1c2 100644 --- a/backend/ruoyi-manage/pom.xml +++ b/backend/ruoyi-manage/pom.xml @@ -16,5 +16,11 @@ 21 UTF-8 + + + com.ruoyi + ruoyi-common + + \ No newline at end of file diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/controller/BookController.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/controller/BookController.java new file mode 100644 index 0000000..adcfab6 --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/controller/BookController.java @@ -0,0 +1,104 @@ +package com.ruoyi.manage.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.manage.domain.Book; +import com.ruoyi.manage.service.IBookService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 书籍Controller + * + * @author ruoyi + * @date 2025-11-17 + */ +@RestController +@RequestMapping("/manage/book") +public class BookController extends BaseController +{ + @Autowired + private IBookService bookService; + + /** + * 查询书籍列表 + */ + @PreAuthorize("@ss.hasPermi('manage:book:list')") + @GetMapping("/list") + public TableDataInfo list(Book book) + { + startPage(); + List list = bookService.selectBookList(book); + return getDataTable(list); + } + + /** + * 导出书籍列表 + */ + @PreAuthorize("@ss.hasPermi('manage:book:export')") + @Log(title = "书籍", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, Book book) + { + List list = bookService.selectBookList(book); + ExcelUtil util = new ExcelUtil(Book.class); + util.exportExcel(response, list, "书籍数据"); + } + + /** + * 获取书籍详细信息 + */ + @PreAuthorize("@ss.hasPermi('manage:book:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(bookService.selectBookById(id)); + } + + /** + * 新增书籍 + */ + @PreAuthorize("@ss.hasPermi('manage:book:add')") + @Log(title = "书籍", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody Book book) + { + return toAjax(bookService.insertBook(book)); + } + + /** + * 修改书籍 + */ + @PreAuthorize("@ss.hasPermi('manage:book:edit')") + @Log(title = "书籍", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody Book book) + { + return toAjax(bookService.updateBook(book)); + } + + /** + * 删除书籍 + */ + @PreAuthorize("@ss.hasPermi('manage:book:remove')") + @Log(title = "书籍", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(bookService.deleteBookByIds(ids)); + } +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/controller/CategoryController.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/controller/CategoryController.java new file mode 100644 index 0000000..ae78aba --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/controller/CategoryController.java @@ -0,0 +1,104 @@ +package com.ruoyi.manage.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.manage.domain.Category; +import com.ruoyi.manage.service.ICategoryService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 类别Controller + * + * @author ruoyi + * @date 2025-11-17 + */ +@RestController +@RequestMapping("/manage/category") +public class CategoryController extends BaseController +{ + @Autowired + private ICategoryService categoryService; + + /** + * 查询类别列表 + */ + @PreAuthorize("@ss.hasPermi('manage:category:list')") + @GetMapping("/list") + public TableDataInfo list(Category category) + { + startPage(); + List list = categoryService.selectCategoryList(category); + return getDataTable(list); + } + + /** + * 导出类别列表 + */ + @PreAuthorize("@ss.hasPermi('manage:category:export')") + @Log(title = "类别", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, Category category) + { + List list = categoryService.selectCategoryList(category); + ExcelUtil util = new ExcelUtil(Category.class); + util.exportExcel(response, list, "类别数据"); + } + + /** + * 获取类别详细信息 + */ + @PreAuthorize("@ss.hasPermi('manage:category:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(categoryService.selectCategoryById(id)); + } + + /** + * 新增类别 + */ + @PreAuthorize("@ss.hasPermi('manage:category:add')") + @Log(title = "类别", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody Category category) + { + return toAjax(categoryService.insertCategory(category)); + } + + /** + * 修改类别 + */ + @PreAuthorize("@ss.hasPermi('manage:category:edit')") + @Log(title = "类别", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody Category category) + { + return toAjax(categoryService.updateCategory(category)); + } + + /** + * 删除类别 + */ + @PreAuthorize("@ss.hasPermi('manage:category:remove')") + @Log(title = "类别", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(categoryService.deleteCategoryByIds(ids)); + } +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/controller/RegionController.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/controller/RegionController.java new file mode 100644 index 0000000..a275aec --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/controller/RegionController.java @@ -0,0 +1,104 @@ +package com.ruoyi.manage.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.manage.domain.Region; +import com.ruoyi.manage.service.IRegionService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 区域Controller + * + * @author ruoyi + * @date 2025-11-17 + */ +@RestController +@RequestMapping("/manage/region") +public class RegionController extends BaseController +{ + @Autowired + private IRegionService regionService; + + /** + * 查询区域列表 + */ + @PreAuthorize("@ss.hasPermi('manage:region:list')") + @GetMapping("/list") + public TableDataInfo list(Region region) + { + startPage(); + List list = regionService.selectRegionList(region); + return getDataTable(list); + } + + /** + * 导出区域列表 + */ + @PreAuthorize("@ss.hasPermi('manage:region:export')") + @Log(title = "区域", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, Region region) + { + List list = regionService.selectRegionList(region); + ExcelUtil util = new ExcelUtil(Region.class); + util.exportExcel(response, list, "区域数据"); + } + + /** + * 获取区域详细信息 + */ + @PreAuthorize("@ss.hasPermi('manage:region:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(regionService.selectRegionById(id)); + } + + /** + * 新增区域 + */ + @PreAuthorize("@ss.hasPermi('manage:region:add')") + @Log(title = "区域", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody Region region) + { + return toAjax(regionService.insertRegion(region)); + } + + /** + * 修改区域 + */ + @PreAuthorize("@ss.hasPermi('manage:region:edit')") + @Log(title = "区域", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody Region region) + { + return toAjax(regionService.updateRegion(region)); + } + + /** + * 删除区域 + */ + @PreAuthorize("@ss.hasPermi('manage:region:remove')") + @Log(title = "区域", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(regionService.deleteRegionByIds(ids)); + } +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/domain/Book.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/domain/Book.java new file mode 100644 index 0000000..afa59d6 --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/domain/Book.java @@ -0,0 +1,181 @@ +package com.ruoyi.manage.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 书籍对象 lb_book + * + * @author ruoyi + * @date 2025-11-17 + */ +public class Book extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 书籍ID */ + private Long id; + + /** 书籍名称 */ + @Excel(name = "书籍名称") + private String bookName; + + /** 封面 */ + @Excel(name = "封面") + private String cover; + + /** 作者 */ + @Excel(name = "作者") + private String author; + + /** 出版社 */ + @Excel(name = "出版社") + private String publisher; + + /** 出版日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "出版日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date publishDate; + + /** 价格 */ + @Excel(name = "价格") + private BigDecimal price; + + /** 数量 */ + @Excel(name = "数量") + private Long quantity; + + /** 区域ID */ + @Excel(name = "区域ID") + private Long regionId; + + /** 类别ID */ + @Excel(name = "类别ID") + private Long categoryId; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setBookName(String bookName) + { + this.bookName = bookName; + } + + public String getBookName() + { + return bookName; + } + + public void setCover(String cover) + { + this.cover = cover; + } + + public String getCover() + { + return cover; + } + + public void setAuthor(String author) + { + this.author = author; + } + + public String getAuthor() + { + return author; + } + + public void setPublisher(String publisher) + { + this.publisher = publisher; + } + + public String getPublisher() + { + return publisher; + } + + public void setPublishDate(Date publishDate) + { + this.publishDate = publishDate; + } + + public Date getPublishDate() + { + return publishDate; + } + + public void setPrice(BigDecimal price) + { + this.price = price; + } + + public BigDecimal getPrice() + { + return price; + } + + public void setQuantity(Long quantity) + { + this.quantity = quantity; + } + + public Long getQuantity() + { + return quantity; + } + + public void setRegionId(Long regionId) + { + this.regionId = regionId; + } + + public Long getRegionId() + { + return regionId; + } + + public void setCategoryId(Long categoryId) + { + this.categoryId = categoryId; + } + + public Long getCategoryId() + { + return categoryId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("bookName", getBookName()) + .append("cover", getCover()) + .append("author", getAuthor()) + .append("publisher", getPublisher()) + .append("publishDate", getPublishDate()) + .append("price", getPrice()) + .append("quantity", getQuantity()) + .append("regionId", getRegionId()) + .append("categoryId", getCategoryId()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("createBy", getCreateBy()) + .append("updateBy", getUpdateBy()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/domain/Category.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/domain/Category.java new file mode 100644 index 0000000..b10e02b --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/domain/Category.java @@ -0,0 +1,57 @@ +package com.ruoyi.manage.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 类别对象 lb_category + * + * @author ruoyi + * @date 2025-11-17 + */ +public class Category extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 类别ID */ + private Long id; + + /** 类别名称 */ + @Excel(name = "类别名称") + private String categoryName; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setCategoryName(String categoryName) + { + this.categoryName = categoryName; + } + + public String getCategoryName() + { + return categoryName; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("categoryName", getCategoryName()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("createBy", getCreateBy()) + .append("updateBy", getUpdateBy()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/domain/Region.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/domain/Region.java new file mode 100644 index 0000000..b53cc55 --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/domain/Region.java @@ -0,0 +1,57 @@ +package com.ruoyi.manage.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 区域对象 lb_region + * + * @author ruoyi + * @date 2025-11-17 + */ +public class Region extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 区域ID */ + private Long id; + + /** 区域名称 */ + @Excel(name = "区域名称") + private String regionName; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setRegionName(String regionName) + { + this.regionName = regionName; + } + + public String getRegionName() + { + return regionName; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("regionName", getRegionName()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("createBy", getCreateBy()) + .append("updateBy", getUpdateBy()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/mapper/BookMapper.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/mapper/BookMapper.java new file mode 100644 index 0000000..bb71338 --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/mapper/BookMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.manage.mapper; + +import java.util.List; +import com.ruoyi.manage.domain.Book; + +/** + * 书籍Mapper接口 + * + * @author ruoyi + * @date 2025-11-17 + */ +public interface BookMapper +{ + /** + * 查询书籍 + * + * @param id 书籍主键 + * @return 书籍 + */ + public Book selectBookById(Long id); + + /** + * 查询书籍列表 + * + * @param book 书籍 + * @return 书籍集合 + */ + public List selectBookList(Book book); + + /** + * 新增书籍 + * + * @param book 书籍 + * @return 结果 + */ + public int insertBook(Book book); + + /** + * 修改书籍 + * + * @param book 书籍 + * @return 结果 + */ + public int updateBook(Book book); + + /** + * 删除书籍 + * + * @param id 书籍主键 + * @return 结果 + */ + public int deleteBookById(Long id); + + /** + * 批量删除书籍 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBookByIds(Long[] ids); +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/mapper/CategoryMapper.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/mapper/CategoryMapper.java new file mode 100644 index 0000000..663684e --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/mapper/CategoryMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.manage.mapper; + +import java.util.List; +import com.ruoyi.manage.domain.Category; + +/** + * 类别Mapper接口 + * + * @author ruoyi + * @date 2025-11-17 + */ +public interface CategoryMapper +{ + /** + * 查询类别 + * + * @param id 类别主键 + * @return 类别 + */ + public Category selectCategoryById(Long id); + + /** + * 查询类别列表 + * + * @param category 类别 + * @return 类别集合 + */ + public List selectCategoryList(Category category); + + /** + * 新增类别 + * + * @param category 类别 + * @return 结果 + */ + public int insertCategory(Category category); + + /** + * 修改类别 + * + * @param category 类别 + * @return 结果 + */ + public int updateCategory(Category category); + + /** + * 删除类别 + * + * @param id 类别主键 + * @return 结果 + */ + public int deleteCategoryById(Long id); + + /** + * 批量删除类别 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteCategoryByIds(Long[] ids); +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/mapper/RegionMapper.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/mapper/RegionMapper.java new file mode 100644 index 0000000..d4466a5 --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/mapper/RegionMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.manage.mapper; + +import java.util.List; +import com.ruoyi.manage.domain.Region; + +/** + * 区域Mapper接口 + * + * @author ruoyi + * @date 2025-11-17 + */ +public interface RegionMapper +{ + /** + * 查询区域 + * + * @param id 区域主键 + * @return 区域 + */ + public Region selectRegionById(Long id); + + /** + * 查询区域列表 + * + * @param region 区域 + * @return 区域集合 + */ + public List selectRegionList(Region region); + + /** + * 新增区域 + * + * @param region 区域 + * @return 结果 + */ + public int insertRegion(Region region); + + /** + * 修改区域 + * + * @param region 区域 + * @return 结果 + */ + public int updateRegion(Region region); + + /** + * 删除区域 + * + * @param id 区域主键 + * @return 结果 + */ + public int deleteRegionById(Long id); + + /** + * 批量删除区域 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteRegionByIds(Long[] ids); +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/IBookService.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/IBookService.java new file mode 100644 index 0000000..2cd43dd --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/IBookService.java @@ -0,0 +1,61 @@ +package com.ruoyi.manage.service; + +import java.util.List; +import com.ruoyi.manage.domain.Book; + +/** + * 书籍Service接口 + * + * @author ruoyi + * @date 2025-11-17 + */ +public interface IBookService +{ + /** + * 查询书籍 + * + * @param id 书籍主键 + * @return 书籍 + */ + public Book selectBookById(Long id); + + /** + * 查询书籍列表 + * + * @param book 书籍 + * @return 书籍集合 + */ + public List selectBookList(Book book); + + /** + * 新增书籍 + * + * @param book 书籍 + * @return 结果 + */ + public int insertBook(Book book); + + /** + * 修改书籍 + * + * @param book 书籍 + * @return 结果 + */ + public int updateBook(Book book); + + /** + * 批量删除书籍 + * + * @param ids 需要删除的书籍主键集合 + * @return 结果 + */ + public int deleteBookByIds(Long[] ids); + + /** + * 删除书籍信息 + * + * @param id 书籍主键 + * @return 结果 + */ + public int deleteBookById(Long id); +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/ICategoryService.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/ICategoryService.java new file mode 100644 index 0000000..a5af39e --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/ICategoryService.java @@ -0,0 +1,61 @@ +package com.ruoyi.manage.service; + +import java.util.List; +import com.ruoyi.manage.domain.Category; + +/** + * 类别Service接口 + * + * @author ruoyi + * @date 2025-11-17 + */ +public interface ICategoryService +{ + /** + * 查询类别 + * + * @param id 类别主键 + * @return 类别 + */ + public Category selectCategoryById(Long id); + + /** + * 查询类别列表 + * + * @param category 类别 + * @return 类别集合 + */ + public List selectCategoryList(Category category); + + /** + * 新增类别 + * + * @param category 类别 + * @return 结果 + */ + public int insertCategory(Category category); + + /** + * 修改类别 + * + * @param category 类别 + * @return 结果 + */ + public int updateCategory(Category category); + + /** + * 批量删除类别 + * + * @param ids 需要删除的类别主键集合 + * @return 结果 + */ + public int deleteCategoryByIds(Long[] ids); + + /** + * 删除类别信息 + * + * @param id 类别主键 + * @return 结果 + */ + public int deleteCategoryById(Long id); +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/IRegionService.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/IRegionService.java new file mode 100644 index 0000000..f28501b --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/IRegionService.java @@ -0,0 +1,61 @@ +package com.ruoyi.manage.service; + +import java.util.List; +import com.ruoyi.manage.domain.Region; + +/** + * 区域Service接口 + * + * @author ruoyi + * @date 2025-11-17 + */ +public interface IRegionService +{ + /** + * 查询区域 + * + * @param id 区域主键 + * @return 区域 + */ + public Region selectRegionById(Long id); + + /** + * 查询区域列表 + * + * @param region 区域 + * @return 区域集合 + */ + public List selectRegionList(Region region); + + /** + * 新增区域 + * + * @param region 区域 + * @return 结果 + */ + public int insertRegion(Region region); + + /** + * 修改区域 + * + * @param region 区域 + * @return 结果 + */ + public int updateRegion(Region region); + + /** + * 批量删除区域 + * + * @param ids 需要删除的区域主键集合 + * @return 结果 + */ + public int deleteRegionByIds(Long[] ids); + + /** + * 删除区域信息 + * + * @param id 区域主键 + * @return 结果 + */ + public int deleteRegionById(Long id); +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/impl/BookServiceImpl.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/impl/BookServiceImpl.java new file mode 100644 index 0000000..c135a30 --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/impl/BookServiceImpl.java @@ -0,0 +1,96 @@ +package com.ruoyi.manage.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.manage.mapper.BookMapper; +import com.ruoyi.manage.domain.Book; +import com.ruoyi.manage.service.IBookService; + +/** + * 书籍Service业务层处理 + * + * @author ruoyi + * @date 2025-11-17 + */ +@Service +public class BookServiceImpl implements IBookService +{ + @Autowired + private BookMapper bookMapper; + + /** + * 查询书籍 + * + * @param id 书籍主键 + * @return 书籍 + */ + @Override + public Book selectBookById(Long id) + { + return bookMapper.selectBookById(id); + } + + /** + * 查询书籍列表 + * + * @param book 书籍 + * @return 书籍 + */ + @Override + public List selectBookList(Book book) + { + return bookMapper.selectBookList(book); + } + + /** + * 新增书籍 + * + * @param book 书籍 + * @return 结果 + */ + @Override + public int insertBook(Book book) + { + book.setCreateTime(DateUtils.getNowDate()); + return bookMapper.insertBook(book); + } + + /** + * 修改书籍 + * + * @param book 书籍 + * @return 结果 + */ + @Override + public int updateBook(Book book) + { + book.setUpdateTime(DateUtils.getNowDate()); + return bookMapper.updateBook(book); + } + + /** + * 批量删除书籍 + * + * @param ids 需要删除的书籍主键 + * @return 结果 + */ + @Override + public int deleteBookByIds(Long[] ids) + { + return bookMapper.deleteBookByIds(ids); + } + + /** + * 删除书籍信息 + * + * @param id 书籍主键 + * @return 结果 + */ + @Override + public int deleteBookById(Long id) + { + return bookMapper.deleteBookById(id); + } +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/impl/CategoryServiceImpl.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/impl/CategoryServiceImpl.java new file mode 100644 index 0000000..072a622 --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/impl/CategoryServiceImpl.java @@ -0,0 +1,96 @@ +package com.ruoyi.manage.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.manage.mapper.CategoryMapper; +import com.ruoyi.manage.domain.Category; +import com.ruoyi.manage.service.ICategoryService; + +/** + * 类别Service业务层处理 + * + * @author ruoyi + * @date 2025-11-17 + */ +@Service +public class CategoryServiceImpl implements ICategoryService +{ + @Autowired + private CategoryMapper categoryMapper; + + /** + * 查询类别 + * + * @param id 类别主键 + * @return 类别 + */ + @Override + public Category selectCategoryById(Long id) + { + return categoryMapper.selectCategoryById(id); + } + + /** + * 查询类别列表 + * + * @param category 类别 + * @return 类别 + */ + @Override + public List selectCategoryList(Category category) + { + return categoryMapper.selectCategoryList(category); + } + + /** + * 新增类别 + * + * @param category 类别 + * @return 结果 + */ + @Override + public int insertCategory(Category category) + { + category.setCreateTime(DateUtils.getNowDate()); + return categoryMapper.insertCategory(category); + } + + /** + * 修改类别 + * + * @param category 类别 + * @return 结果 + */ + @Override + public int updateCategory(Category category) + { + category.setUpdateTime(DateUtils.getNowDate()); + return categoryMapper.updateCategory(category); + } + + /** + * 批量删除类别 + * + * @param ids 需要删除的类别主键 + * @return 结果 + */ + @Override + public int deleteCategoryByIds(Long[] ids) + { + return categoryMapper.deleteCategoryByIds(ids); + } + + /** + * 删除类别信息 + * + * @param id 类别主键 + * @return 结果 + */ + @Override + public int deleteCategoryById(Long id) + { + return categoryMapper.deleteCategoryById(id); + } +} diff --git a/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/impl/RegionServiceImpl.java b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/impl/RegionServiceImpl.java new file mode 100644 index 0000000..3ba8d6f --- /dev/null +++ b/backend/ruoyi-manage/src/main/java/com/ruoyi/manage/service/impl/RegionServiceImpl.java @@ -0,0 +1,96 @@ +package com.ruoyi.manage.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.manage.mapper.RegionMapper; +import com.ruoyi.manage.domain.Region; +import com.ruoyi.manage.service.IRegionService; + +/** + * 区域Service业务层处理 + * + * @author ruoyi + * @date 2025-11-17 + */ +@Service +public class RegionServiceImpl implements IRegionService +{ + @Autowired + private RegionMapper regionMapper; + + /** + * 查询区域 + * + * @param id 区域主键 + * @return 区域 + */ + @Override + public Region selectRegionById(Long id) + { + return regionMapper.selectRegionById(id); + } + + /** + * 查询区域列表 + * + * @param region 区域 + * @return 区域 + */ + @Override + public List selectRegionList(Region region) + { + return regionMapper.selectRegionList(region); + } + + /** + * 新增区域 + * + * @param region 区域 + * @return 结果 + */ + @Override + public int insertRegion(Region region) + { + region.setCreateTime(DateUtils.getNowDate()); + return regionMapper.insertRegion(region); + } + + /** + * 修改区域 + * + * @param region 区域 + * @return 结果 + */ + @Override + public int updateRegion(Region region) + { + region.setUpdateTime(DateUtils.getNowDate()); + return regionMapper.updateRegion(region); + } + + /** + * 批量删除区域 + * + * @param ids 需要删除的区域主键 + * @return 结果 + */ + @Override + public int deleteRegionByIds(Long[] ids) + { + return regionMapper.deleteRegionByIds(ids); + } + + /** + * 删除区域信息 + * + * @param id 区域主键 + * @return 结果 + */ + @Override + public int deleteRegionById(Long id) + { + return regionMapper.deleteRegionById(id); + } +} diff --git a/backend/ruoyi-manage/src/main/resources/mapper/manage/BookMapper.xml b/backend/ruoyi-manage/src/main/resources/mapper/manage/BookMapper.xml new file mode 100644 index 0000000..e67fd2a --- /dev/null +++ b/backend/ruoyi-manage/src/main/resources/mapper/manage/BookMapper.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + select id, book_name, cover, author, publisher, publish_date, price, quantity, region_id, category_id, create_time, update_time, create_by, update_by, remark from lb_book + + + + + + + + insert into lb_book + + book_name, + cover, + author, + publisher, + publish_date, + price, + quantity, + region_id, + category_id, + create_time, + update_time, + create_by, + update_by, + remark, + + + #{bookName}, + #{cover}, + #{author}, + #{publisher}, + #{publishDate}, + #{price}, + #{quantity}, + #{regionId}, + #{categoryId}, + #{createTime}, + #{updateTime}, + #{createBy}, + #{updateBy}, + #{remark}, + + + + + update lb_book + + book_name = #{bookName}, + cover = #{cover}, + author = #{author}, + publisher = #{publisher}, + publish_date = #{publishDate}, + price = #{price}, + quantity = #{quantity}, + region_id = #{regionId}, + category_id = #{categoryId}, + create_time = #{createTime}, + update_time = #{updateTime}, + create_by = #{createBy}, + update_by = #{updateBy}, + remark = #{remark}, + + where id = #{id} + + + + delete from lb_book where id = #{id} + + + + delete from lb_book where id in + + #{id} + + + \ No newline at end of file diff --git a/backend/ruoyi-manage/src/main/resources/mapper/manage/CategoryMapper.xml b/backend/ruoyi-manage/src/main/resources/mapper/manage/CategoryMapper.xml new file mode 100644 index 0000000..070d8dc --- /dev/null +++ b/backend/ruoyi-manage/src/main/resources/mapper/manage/CategoryMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + select id, category_name, create_time, update_time, create_by, update_by, remark from lb_category + + + + + + + + insert into lb_category + + category_name, + create_time, + update_time, + create_by, + update_by, + remark, + + + #{categoryName}, + #{createTime}, + #{updateTime}, + #{createBy}, + #{updateBy}, + #{remark}, + + + + + update lb_category + + category_name = #{categoryName}, + create_time = #{createTime}, + update_time = #{updateTime}, + create_by = #{createBy}, + update_by = #{updateBy}, + remark = #{remark}, + + where id = #{id} + + + + delete from lb_category where id = #{id} + + + + delete from lb_category where id in + + #{id} + + + \ No newline at end of file diff --git a/backend/ruoyi-manage/src/main/resources/mapper/manage/RegionMapper.xml b/backend/ruoyi-manage/src/main/resources/mapper/manage/RegionMapper.xml new file mode 100644 index 0000000..5653201 --- /dev/null +++ b/backend/ruoyi-manage/src/main/resources/mapper/manage/RegionMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + select id, region_name, create_time, update_time, create_by, update_by, remark from lb_region + + + + + + + + insert into lb_region + + region_name, + create_time, + update_time, + create_by, + update_by, + remark, + + + #{regionName}, + #{createTime}, + #{updateTime}, + #{createBy}, + #{updateBy}, + #{remark}, + + + + + update lb_region + + region_name = #{regionName}, + create_time = #{createTime}, + update_time = #{updateTime}, + create_by = #{createBy}, + update_by = #{updateBy}, + remark = #{remark}, + + where id = #{id} + + + + delete from lb_region where id = #{id} + + + + delete from lb_region where id in + + #{id} + + + \ No newline at end of file diff --git a/backend/sql/build/bookMenu.sql b/backend/sql/build/bookMenu.sql new file mode 100644 index 0000000..6f330ec --- /dev/null +++ b/backend/sql/build/bookMenu.sql @@ -0,0 +1,22 @@ +-- 菜单 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('书籍', '2000', '1', 'book', 'manage/book/index', 1, 0, 'C', '0', '0', 'manage:book:list', '#', 'admin', sysdate(), '', null, '书籍菜单'); + +-- 按钮父菜单ID +SELECT @parentId := LAST_INSERT_ID(); + +-- 按钮 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('书籍查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'manage:book:query', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('书籍新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'manage:book:add', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('书籍修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'manage:book:edit', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('书籍删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'manage:book:remove', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('书籍导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'manage:book:export', '#', 'admin', sysdate(), '', null, ''); \ No newline at end of file diff --git a/backend/sql/build/categoryMenu.sql b/backend/sql/build/categoryMenu.sql new file mode 100644 index 0000000..8014d79 --- /dev/null +++ b/backend/sql/build/categoryMenu.sql @@ -0,0 +1,22 @@ +-- 菜单 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('类别', '2000', '1', 'category', 'manage/category/index', 1, 0, 'C', '0', '0', 'manage:category:list', '#', 'admin', sysdate(), '', null, '类别菜单'); + +-- 按钮父菜单ID +SELECT @parentId := LAST_INSERT_ID(); + +-- 按钮 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('类别查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'manage:category:query', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('类别新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'manage:category:add', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('类别修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'manage:category:edit', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('类别删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'manage:category:remove', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('类别导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'manage:category:export', '#', 'admin', sysdate(), '', null, ''); \ No newline at end of file diff --git a/backend/sql/build/regionMenu.sql b/backend/sql/build/regionMenu.sql new file mode 100644 index 0000000..3cf5873 --- /dev/null +++ b/backend/sql/build/regionMenu.sql @@ -0,0 +1,22 @@ +-- 菜单 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('区域', '2000', '1', 'region', 'manage/region/index', 1, 0, 'C', '0', '0', 'manage:region:list', '#', 'admin', sysdate(), '', null, '区域菜单'); + +-- 按钮父菜单ID +SELECT @parentId := LAST_INSERT_ID(); + +-- 按钮 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('区域查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'manage:region:query', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('区域新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'manage:region:add', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('区域修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'manage:region:edit', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('区域删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'manage:region:remove', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('区域导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'manage:region:export', '#', 'admin', sysdate(), '', null, ''); \ No newline at end of file diff --git a/frontend/src/api/manage/book.js b/frontend/src/api/manage/book.js new file mode 100644 index 0000000..4dc9fde --- /dev/null +++ b/frontend/src/api/manage/book.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询书籍列表 +export function listBook(query) { + return request({ + url: '/manage/book/list', + method: 'get', + params: query + }) +} + +// 查询书籍详细 +export function getBook(id) { + return request({ + url: '/manage/book/' + id, + method: 'get' + }) +} + +// 新增书籍 +export function addBook(data) { + return request({ + url: '/manage/book', + method: 'post', + data: data + }) +} + +// 修改书籍 +export function updateBook(data) { + return request({ + url: '/manage/book', + method: 'put', + data: data + }) +} + +// 删除书籍 +export function delBook(id) { + return request({ + url: '/manage/book/' + id, + method: 'delete' + }) +} diff --git a/frontend/src/api/manage/category.js b/frontend/src/api/manage/category.js new file mode 100644 index 0000000..f401379 --- /dev/null +++ b/frontend/src/api/manage/category.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询类别列表 +export function listCategory(query) { + return request({ + url: '/manage/category/list', + method: 'get', + params: query + }) +} + +// 查询类别详细 +export function getCategory(id) { + return request({ + url: '/manage/category/' + id, + method: 'get' + }) +} + +// 新增类别 +export function addCategory(data) { + return request({ + url: '/manage/category', + method: 'post', + data: data + }) +} + +// 修改类别 +export function updateCategory(data) { + return request({ + url: '/manage/category', + method: 'put', + data: data + }) +} + +// 删除类别 +export function delCategory(id) { + return request({ + url: '/manage/category/' + id, + method: 'delete' + }) +} diff --git a/frontend/src/api/manage/region.js b/frontend/src/api/manage/region.js new file mode 100644 index 0000000..a82ac2f --- /dev/null +++ b/frontend/src/api/manage/region.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询区域列表 +export function listRegion(query) { + return request({ + url: '/manage/region/list', + method: 'get', + params: query + }) +} + +// 查询区域详细 +export function getRegion(id) { + return request({ + url: '/manage/region/' + id, + method: 'get' + }) +} + +// 新增区域 +export function addRegion(data) { + return request({ + url: '/manage/region', + method: 'post', + data: data + }) +} + +// 修改区域 +export function updateRegion(data) { + return request({ + url: '/manage/region', + method: 'put', + data: data + }) +} + +// 删除区域 +export function delRegion(id) { + return request({ + url: '/manage/region/' + id, + method: 'delete' + }) +} diff --git a/frontend/src/views/manage/book/index.vue b/frontend/src/views/manage/book/index.vue new file mode 100644 index 0000000..d854c42 --- /dev/null +++ b/frontend/src/views/manage/book/index.vue @@ -0,0 +1,331 @@ + + + diff --git a/frontend/src/views/manage/category/index.vue b/frontend/src/views/manage/category/index.vue new file mode 100644 index 0000000..68c3d9d --- /dev/null +++ b/frontend/src/views/manage/category/index.vue @@ -0,0 +1,239 @@ + + + diff --git a/frontend/src/views/manage/region/index.vue b/frontend/src/views/manage/region/index.vue new file mode 100644 index 0000000..f7aa0bf --- /dev/null +++ b/frontend/src/views/manage/region/index.vue @@ -0,0 +1,239 @@ + + +