From 39b7e2f35436339bf80051351dcf49575eaecfc6 Mon Sep 17 00:00:00 2001 From: fuhao Date: Wed, 14 Aug 2024 15:48:35 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E9=A2=84=E7=BD=AE=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E9=80=BB=E8=BE=91):?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../board/PresetContentController.java | 99 ++++++++++++++ .../com/ruoyi/board/domain/PresetContent.java | 129 ++++++++++++++++++ .../board/mapper/PresetContentMapper.java | 7 + .../impl/PresetContentServiceImpl.java | 21 +++ .../mapper/board/PresetContentMapper.xml | 33 +++++ 5 files changed, 289 insertions(+) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/board/PresetContentController.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/board/domain/PresetContent.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/board/mapper/PresetContentMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/board/service/impl/PresetContentServiceImpl.java create mode 100644 ruoyi-system/src/main/resources/mapper/board/PresetContentMapper.xml diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/board/PresetContentController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/board/PresetContentController.java new file mode 100644 index 00000000..a0188501 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/board/PresetContentController.java @@ -0,0 +1,99 @@ +package com.ruoyi.web.controller.board; + +import com.ruoyi.board.domain.PresetContent; +import com.ruoyi.board.service.IPresetContentService; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; + +/** + * 预置信息及模版Controller + * + * @author fuhao + * @date 2024-08-12 + */ +@RestController +@RequestMapping("/board/content") +public class PresetContentController extends BaseController +{ + @Autowired + private IPresetContentService presetContentService; + + /** + * 查询预置信息及模版列表 + */ + @PreAuthorize("@ss.hasPermi('board:content:list')") + @GetMapping("/list") + public TableDataInfo list(PresetContent presetContent) + { + startPage(); + List list = presetContentService.list(); + return getDataTable(list); + } + + /** + * 导出预置信息及模版列表 + */ + @PreAuthorize("@ss.hasPermi('board:content:export')") + @Log(title = "预置信息及模版", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PresetContent presetContent) + { + List list = presetContentService.list(); + ExcelUtil util = new ExcelUtil(PresetContent.class); + util.exportExcel(response, list, "预置信息及模版数据"); + } + + /** + * 获取预置信息及模版详细信息 + */ + @PreAuthorize("@ss.hasPermi('board:content:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(presetContentService.getById(id)); + } + + /** + * 新增预置信息及模版 + */ + @PreAuthorize("@ss.hasPermi('board:content:add')") + @Log(title = "预置信息及模版", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody PresetContent presetContent) + { + return toAjax(presetContentService.save(presetContent)); + } + + /** + * 修改预置信息及模版 + */ + @PreAuthorize("@ss.hasPermi('board:content:edit')") + @Log(title = "预置信息及模版", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody PresetContent presetContent) + { + return toAjax(presetContentService.updateById(presetContent)); + } + + /** + * 删除预置信息及模版 + */ + @PreAuthorize("@ss.hasPermi('board:content:remove')") + @Log(title = "预置信息及模版", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(presetContentService.removeByIds(Arrays.asList(ids))); + } +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/board/domain/PresetContent.java b/ruoyi-system/src/main/java/com/ruoyi/board/domain/PresetContent.java new file mode 100644 index 00000000..d7ad588b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/board/domain/PresetContent.java @@ -0,0 +1,129 @@ +package com.ruoyi.board.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.util.Date; +import lombok.Data; + +/** + * 预置信息及模版表 + */ +@Data +@TableName(value = "pub_preset_content") +public class PresetContent { + /** + * 主键自增 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 预置信息名称 + */ + @TableField(value = "`name`") + private String name; + + /** + * 情报板尺寸 + */ + @TableField(value = "board_size") + private String boardSize; + + /** + * 信息类型 + */ + @TableField(value = "info_type") + private Integer infoType; + + /** + * 预置内容 + */ + @TableField(value = "content") + private String content; + + /** + * 预览路径 + */ + @TableField(value = "preview_path") + private String previewPath; + + /** + * 字体样式 + */ + @TableField(value = "font_style") + private String fontStyle; + + /** + * 字体大小 + */ + @TableField(value = "font_size") + private Integer fontSize; + + /** + * 字体间距 + */ + @TableField(value = "letter_spacing") + private Integer letterSpacing; + + /** + * 字体颜色 + */ + @TableField(value = "font_color") + private String fontColor; + + /** + * 字体坐标X + */ + @TableField(value = "font_position_x") + private Integer fontPositionX; + + /** + * 字体坐标Y + */ + @TableField(value = "font_position_y") + private Integer fontPositionY; + + /** + * 播放时间 + */ + @TableField(value = "play_time") + private Integer playTime; + + /** + * 当前预置类型 1:内置模版 0:预发布信息 + */ + @TableField(value = "preset_type") + private Integer presetType; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time") + private Date updateTime; + + /** + * 创建人id + */ + @TableField(value = "create_by") + private Integer createBy; + + /** + * 更新人id + */ + @TableField(value = "update_by") + private Integer updateBy; +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/board/mapper/PresetContentMapper.java b/ruoyi-system/src/main/java/com/ruoyi/board/mapper/PresetContentMapper.java new file mode 100644 index 00000000..fefe8240 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/board/mapper/PresetContentMapper.java @@ -0,0 +1,7 @@ +package com.ruoyi.board.mapper; + +import com.github.yulichang.base.MPJBaseMapper; +import com.ruoyi.board.domain.PresetContent; + +public interface PresetContentMapper extends MPJBaseMapper { +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/board/service/impl/PresetContentServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/board/service/impl/PresetContentServiceImpl.java new file mode 100644 index 00000000..78f9f9ee --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/board/service/impl/PresetContentServiceImpl.java @@ -0,0 +1,21 @@ +package com.ruoyi.board.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.github.yulichang.base.MPJBaseServiceImpl; +import org.springframework.stereotype.Service; +import com.ruoyi.board.mapper.PresetContentMapper; +import com.ruoyi.board.domain.PresetContent; +import com.ruoyi.board.service.IPresetContentService; + +@Service +public class PresetContentServiceImpl extends MPJBaseServiceImpl implements IPresetContentService { + @Override + public PresetContent getOneByContentAndBoardSize(String content, String boardSize, Integer type) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper + .eq(PresetContent::getContent, content) + .eq(PresetContent::getBoardSize, boardSize) + .eq(PresetContent::getInfoType, type); + return getOne(queryWrapper); + } +} diff --git a/ruoyi-system/src/main/resources/mapper/board/PresetContentMapper.xml b/ruoyi-system/src/main/resources/mapper/board/PresetContentMapper.xml new file mode 100644 index 00000000..35bba0f1 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/board/PresetContentMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, `name`, board_size, info_type, content, preview_path, font_style, font_size, + letter_spacing, font_color, font_position_x, font_position_y, play_time, preset_type, + remark, create_time, update_time, create_by, update_by + + \ No newline at end of file