From 4e0e81a8f85a3cde8c25db60074c2b238c06b498 Mon Sep 17 00:00:00 2001 From: Vinjor Date: Tue, 24 Jun 2025 10:48:28 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=BD=AE=E6=92=AD=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/controller/BasePicController.java | 112 +++++++ .../java/com/ruoyi/base/domain/BasePic.java | 47 +++ .../com/ruoyi/base/mapper/BasePicMapper.java | 21 ++ .../ruoyi/base/service/IBasePicService.java | 18 ++ .../base/service/impl/BasePicServiceImpl.java | 30 ++ .../resources/mapper/base/BasePicMapper.xml | 35 +++ dl_vue/src/api/base/pic.js | 44 +++ dl_vue/src/layout/components/Navbar.vue | 27 +- dl_vue/src/utils/auth.js | 14 + dl_vue/src/views/base/pic/index.vue | 282 ++++++++++++++++++ dl_vue/src/views/login.vue | 4 +- 11 files changed, 623 insertions(+), 11 deletions(-) create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BasePicController.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/domain/BasePic.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BasePicMapper.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBasePicService.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BasePicServiceImpl.java create mode 100644 dl_admin/ruoyi-admin/src/main/resources/mapper/base/BasePicMapper.xml create mode 100644 dl_vue/src/api/base/pic.js create mode 100644 dl_vue/src/views/base/pic/index.vue diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BasePicController.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BasePicController.java new file mode 100644 index 0000000..b760788 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BasePicController.java @@ -0,0 +1,112 @@ +package com.ruoyi.base.controller; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +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.base.domain.BasePic; +import com.ruoyi.base.service.IBasePicService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 轮播图管理Controller + * + * @author vinjor-m + * @date 2025-06-23 + */ +@RestController +@RequestMapping("/base/pic") +public class BasePicController extends BaseController +{ + @Autowired + private IBasePicService basePicService; + + /** + * 查询轮播图管理列表 + */ + @PreAuthorize("@ss.hasPermi('base:pic:list')") + @GetMapping("/list") + public AjaxResult list(BasePic basePic, + @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) + { + Page page = new Page<>(pageNum, pageSize); + IPage list = basePicService.queryListPage(basePic,page); + return success(list); + } + + /** + * 导出轮播图管理列表 + */ + @PreAuthorize("@ss.hasPermi('base:pic:export')") + @Log(title = "轮播图管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BasePic basePic) + { + List list = basePicService.list(); + ExcelUtil util = new ExcelUtil(BasePic.class); + util.exportExcel(response, list, "轮播图管理数据"); + } + + /** + * 获取轮播图管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('base:pic:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(basePicService.getById(id)); + } + + /** + * 新增轮播图管理 + */ + @PreAuthorize("@ss.hasPermi('base:pic:add')") + @Log(title = "轮播图管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BasePic basePic) + { + return toAjax(basePicService.save(basePic)); + } + + /** + * 修改轮播图管理 + */ + @PreAuthorize("@ss.hasPermi('base:pic:edit')") + @Log(title = "轮播图管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BasePic basePic) + { + return toAjax(basePicService.updateById(basePic)); + } + + /** + * 删除轮播图管理 + */ + @PreAuthorize("@ss.hasPermi('base:pic:remove')") + @Log(title = "轮播图管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + List list = new ArrayList<>(Arrays.asList(ids)); + return toAjax(basePicService.removeByIds(list)); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/domain/BasePic.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/domain/BasePic.java new file mode 100644 index 0000000..f36bb11 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/domain/BasePic.java @@ -0,0 +1,47 @@ +package com.ruoyi.base.domain; + +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; +import com.ruoyi.common.core.domain.DlBaseEntity; + +/** + * 轮播图管理对象 dl_base_pic + * + * @author vinjor-m + * @date 2025-06-23 + */ +@TableName("dl_base_pic") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BasePic extends DlBaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + + /** 标题 */ + @Excel(name = "标题") + private String title; + + /** 排序 */ + @Excel(name = "排序") + private Long sort; + + /** 图片 */ + @Excel(name = "图片") + private String pic; + + /** 站点唯一编码(租户id) */ + @Excel(name = "站点唯一编码", readConverterExp = "租=户id") + private String tenantId; + +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BasePicMapper.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BasePicMapper.java new file mode 100644 index 0000000..7357591 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BasePicMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.base.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.base.domain.BasePic; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 轮播图管理Mapper接口 + * + * @author vinjor-m + * @date 2025-06-23 + */ +@Mapper +public interface BasePicMapper extends BaseMapper +{ + IPage queryListPage(@Param("entity") BasePic entity, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBasePicService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBasePicService.java new file mode 100644 index 0000000..b04359b --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBasePicService.java @@ -0,0 +1,18 @@ +package com.ruoyi.base.service; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.base.domain.BasePic; + +/** + * 轮播图管理Service接口 + * + * @author vinjor-m + * @date 2025-06-23 + */ +public interface IBasePicService extends IService +{ + IPage queryListPage(BasePic pageReqVO, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BasePicServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BasePicServiceImpl.java new file mode 100644 index 0000000..1fb3fdf --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BasePicServiceImpl.java @@ -0,0 +1,30 @@ +package com.ruoyi.base.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.base.mapper.BasePicMapper; +import com.ruoyi.base.domain.BasePic; +import com.ruoyi.base.service.IBasePicService; + +/** + * 轮播图管理Service业务层处理 + * + * @author vinjor-m + * @date 2025-06-23 + */ +@Service +public class BasePicServiceImpl extends ServiceImpl implements IBasePicService +{ + @Autowired + private BasePicMapper basePicMapper; + + @Override + public IPage queryListPage(BasePic pageReqVO, Page page) { + return basePicMapper.queryListPage(pageReqVO, page); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/resources/mapper/base/BasePicMapper.xml b/dl_admin/ruoyi-admin/src/main/resources/mapper/base/BasePicMapper.xml new file mode 100644 index 0000000..2d611b4 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/resources/mapper/base/BasePicMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + select id, title, sort, pic, tenant_id, creator, create_time, updater, update_time, del_flag from dl_base_pic + + + + \ No newline at end of file diff --git a/dl_vue/src/api/base/pic.js b/dl_vue/src/api/base/pic.js new file mode 100644 index 0000000..660c65e --- /dev/null +++ b/dl_vue/src/api/base/pic.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询轮播图管理列表 +export function listPic(query) { + return request({ + url: '/base/pic/list', + method: 'get', + params: query + }) +} + +// 查询轮播图管理详细 +export function getPic(id) { + return request({ + url: '/base/pic/' + id, + method: 'get' + }) +} + +// 新增轮播图管理 +export function addPic(data) { + return request({ + url: '/base/pic', + method: 'post', + data: data + }) +} + +// 修改轮播图管理 +export function updatePic(data) { + return request({ + url: '/base/pic', + method: 'put', + data: data + }) +} + +// 删除轮播图管理 +export function delPic(id) { + return request({ + url: '/base/pic/' + id, + method: 'delete' + }) +} diff --git a/dl_vue/src/layout/components/Navbar.vue b/dl_vue/src/layout/components/Navbar.vue index e74dd0b..05d2895 100644 --- a/dl_vue/src/layout/components/Navbar.vue +++ b/dl_vue/src/layout/components/Navbar.vue @@ -5,23 +5,24 @@ -
+
@@ -48,6 +49,7 @@ diff --git a/dl_vue/src/views/login.vue b/dl_vue/src/views/login.vue index bd22c18..63b1199 100644 --- a/dl_vue/src/views/login.vue +++ b/dl_vue/src/views/login.vue @@ -88,7 +88,7 @@ diff --git a/dl_vue/src/views/base/pics/index.vue b/dl_vue/src/views/base/pics/index.vue new file mode 100644 index 0000000..12180ab --- /dev/null +++ b/dl_vue/src/views/base/pics/index.vue @@ -0,0 +1,375 @@ + + + + +