From 5a4d76ac097da8d7f41bdf9f8076132f1fe9f693 Mon Sep 17 00:00:00 2001 From: fy53888 Date: Sat, 9 Aug 2025 21:55:23 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E7=94=9F=E6=88=90=E9=A1=9E=E5=9E=8B=20Integer=E5=87=BA?= =?UTF-8?q?=E9=8C=AF=E7=9A=84=E5=95=8F=E9=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yml | 2 +- ruoyi-modules/ruoyi-generator/pom.xml | 4 + .../generator/impl/GenTableServiceImpl.java | 2 +- .../impl/SchemaFieldServiceImpl.java | 2 +- .../system/controller/SysDemoController.java | 105 ++++++++++++++++ .../java/org/ruoyi/system/domain/SysDemo.java | 75 +++++++++++ .../org/ruoyi/system/domain/bo/SysDemoBo.java | 84 +++++++++++++ .../org/ruoyi/system/domain/vo/SysDemoVo.java | 86 +++++++++++++ .../ruoyi/system/mapper/SysDemoMapper.java | 17 +++ .../ruoyi/system/service/SysDemoService.java | 48 ++++++++ .../service/impl/SysDemoServiceImpl.java | 116 ++++++++++++++++++ .../org/ruoyi/system/sql/sys_demo_menu.sql | 19 +++ .../resources/mapper/system/SysDemoMapper.xml | 7 ++ 13 files changed, 564 insertions(+), 3 deletions(-) create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/controller/SysDemoController.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/SysDemo.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/bo/SysDemoBo.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/SysDemoVo.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/mapper/SysDemoMapper.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/SysDemoService.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/impl/SysDemoServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/sql/sys_demo_menu.sql create mode 100644 ruoyi-modules/ruoyi-generator/src/main/resources/mapper/system/SysDemoMapper.xml diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 8abf1a68..0b1661e2 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -18,7 +18,7 @@ spring: driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/ruoyi-ai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true username: root - password: root + password: 123456 hikari: # 最大连接池数量 diff --git a/ruoyi-modules/ruoyi-generator/pom.xml b/ruoyi-modules/ruoyi-generator/pom.xml index c6ab5e3c..e545d91b 100644 --- a/ruoyi-modules/ruoyi-generator/pom.xml +++ b/ruoyi-modules/ruoyi-generator/pom.xml @@ -48,6 +48,10 @@ org.apache.velocity velocity-engine-core + + org.ruoyi + ruoyi-common-excel + diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java index 9ef76085..fd83f558 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java @@ -412,7 +412,7 @@ public class GenTableServiceImpl implements IGenTableService { return "String"; } String type = dbType.toLowerCase(); - if (type.contains("int") || type.contains("tinyint") || type.contains("smallint")) { + if (Objects.equals(type,"int") || type.contains("tinyint") || type.contains("smallint")) { return "Integer"; } else if (type.contains("bigint")) { return "Long"; diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java index e8295f88..ebae5510 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java @@ -363,7 +363,7 @@ public class SchemaFieldServiceImpl implements SchemaFieldService { } String type = dbType.toLowerCase(); - if (type.contains("int") || type.contains("tinyint") || type.contains("smallint")) { + if (Objects.equals(type,"int")|| type.contains("tinyint") || type.contains("smallint")) { return "Integer"; } else if (type.contains("bigint")) { return "Long"; diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/controller/SysDemoController.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/controller/SysDemoController.java new file mode 100644 index 00000000..0c795ed9 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/controller/SysDemoController.java @@ -0,0 +1,105 @@ +package org.ruoyi.system.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; +import org.ruoyi.common.excel.utils.ExcelUtil; +import org.ruoyi.system.domain.vo.SysDemoVo; +import org.ruoyi.system.domain.bo.SysDemoBo; +import org.ruoyi.system.service.SysDemoService; +import org.ruoyi.core.page.TableDataInfo; + +/** + * dome管理 + * + * @author ageerle + * @date Sat Aug 09 21:38:09 CST 2025 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("dev/sysDemo") +public class SysDemoController extends BaseController { + + private final SysDemoService sysDemoService; + +/** + * 查询dome管理列表 + */ +@SaCheckPermission("system:sysDemo:list") +@GetMapping("/list") + public TableDataInfo list(SysDemoBo bo, PageQuery pageQuery) { + return sysDemoService.queryPageList(bo, pageQuery); + } + + /** + * 导出dome管理列表 + */ + @SaCheckPermission("system:sysDemo:export") + @Log(title = "dome管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(SysDemoBo bo, HttpServletResponse response) { + List list = sysDemoService.queryList(bo); + ExcelUtil.exportExcel(list, "dome管理", SysDemoVo.class, response); + } + + /** + * 获取dome管理详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("system:sysDemo:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Integer id) { + return R.ok(sysDemoService.queryById(id)); + } + + /** + * 新增dome管理 + */ + @SaCheckPermission("system:sysDemo:add") + @Log(title = "dome管理", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody SysDemoBo bo) { + return toAjax(sysDemoService.insertByBo(bo)); + } + + /** + * 修改dome管理 + */ + @SaCheckPermission("system:sysDemo:edit") + @Log(title = "dome管理", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody SysDemoBo bo) { + return toAjax(sysDemoService.updateByBo(bo)); + } + + /** + * 删除dome管理 + * + * @param ids 主键串 + */ + @SaCheckPermission("system:sysDemo:remove") + @Log(title = "dome管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Integer[] ids) { + return toAjax(sysDemoService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/SysDemo.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/SysDemo.java new file mode 100644 index 00000000..81187bf2 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/SysDemo.java @@ -0,0 +1,75 @@ +package org.ruoyi.system.domain; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + import java.util.Date; + import java.io.Serializable; + +import org.ruoyi.core.domain.BaseEntity; + +/** + * dome管理对象 sys_demo + * + * @author ageerle + * @date Sat Aug 09 21:38:09 CST 2025 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("sys_demo") +public class SysDemo extends BaseEntity { + + + /** + * ID + */ + @TableId(value = "id") + private Integer id; + + /** + * 系统代码 + */ + private String sysCode; + + /** + * 系统名称 + */ + private String sysName; + + /** + * 系统状态 + */ + private Integer sysStatus; + + /** + * 创建部门 + */ + private Integer createDept; + + /** + * 创建者 + */ + private Integer createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新者 + */ + private Integer updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/bo/SysDemoBo.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/bo/SysDemoBo.java new file mode 100644 index 00000000..caca34c1 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/bo/SysDemoBo.java @@ -0,0 +1,84 @@ +package org.ruoyi.system.domain.bo; + +import org.ruoyi.system.domain.SysDemo; +import org.ruoyi.core.domain.BaseEntity; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import java.io.Serializable; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import java.io.Serializable; +import java.io.Serializable; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; + +/** + * dome管理业务对象 sys_demo + * + * @author ageerle + * @date Sat Aug 09 21:38:09 CST 2025 + */ +@Data + +@AutoMapper(target = SysDemo.class, reverseConvertGenerate = false) +public class SysDemoBo implements Serializable { + + /** + * ID + */ + @NotNull(message = "ID不能为空", groups = { EditGroup.class }) + private Integer id; + + /** + * 系统代码 + */ + @NotBlank(message = "系统代码不能为空", groups = { AddGroup.class, EditGroup.class }) + private String sysCode; + + /** + * 系统名称 + */ + @NotBlank(message = "系统名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String sysName; + + /** + * 系统状态 + */ + @NotNull(message = "系统状态不能为空", groups = { AddGroup.class, EditGroup.class }) + private Integer sysStatus; + + /** + * 创建部门 + */ + private Integer createDept; + + /** + * 创建者 + */ + private Integer createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新者 + */ + private Integer updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/SysDemoVo.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/SysDemoVo.java new file mode 100644 index 00000000..0fd9f1a5 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/SysDemoVo.java @@ -0,0 +1,86 @@ +package org.ruoyi.system.domain.vo; + + import java.util.Date; + import java.io.Serializable; +import org.ruoyi.system.domain.SysDemo; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.util.Date; + + +/** + * dome管理视图对象 sys_demo + * + * @author ageerle + * @date Sat Aug 09 21:38:09 CST 2025 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = SysDemo.class) +public class SysDemoVo implements Serializable { + + /** + * ID + */ + @ExcelProperty(value = "ID") + private Integer id; + + /** + * 系统代码 + */ + @ExcelProperty(value = "系统代码") + private String sysCode; + + /** + * 系统名称 + */ + @ExcelProperty(value = "系统名称") + private String sysName; + + /** + * 系统状态 + */ + @ExcelProperty(value = "系统状态") + private Integer sysStatus; + + /** + * 创建部门 + */ + @ExcelProperty(value = "创建部门") + private Integer createDept; + + /** + * 创建者 + */ + @ExcelProperty(value = "创建者") + private Integer createBy; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新者 + */ + @ExcelProperty(value = "更新者") + private Integer updateBy; + + /** + * 更新时间 + */ + @ExcelProperty(value = "更新时间") + private Date updateTime; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/mapper/SysDemoMapper.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/mapper/SysDemoMapper.java new file mode 100644 index 00000000..94351479 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/mapper/SysDemoMapper.java @@ -0,0 +1,17 @@ +package org.ruoyi.system.mapper; + +import org.ruoyi.system.domain.SysDemo; +import org.ruoyi.system.domain.vo.SysDemoVo; +import org.ruoyi.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Mapper; + +/** + * dome管理Mapper接口 + * + * @author ageerle + * @date Sat Aug 09 21:38:09 CST 2025 + */ +@Mapper +public interface SysDemoMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/SysDemoService.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/SysDemoService.java new file mode 100644 index 00000000..ae7f4901 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/SysDemoService.java @@ -0,0 +1,48 @@ +package org.ruoyi.system.service; + +import org.ruoyi.system.domain.vo.SysDemoVo; +import org.ruoyi.system.domain.bo.SysDemoBo; + import org.ruoyi.core.page.TableDataInfo; + import org.ruoyi.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * dome管理Service接口 + * + * @author ageerle + * @date Sat Aug 09 21:38:09 CST 2025 + */ +public interface SysDemoService { + + /** + * 查询dome管理 + */ + SysDemoVo queryById(Integer id); + + /** + * 查询dome管理列表 + */ + TableDataInfo queryPageList(SysDemoBo bo, PageQuery pageQuery); + + /** + * 查询dome管理列表 + */ + List queryList(SysDemoBo bo); + + /** + * 新增dome管理 + */ + Boolean insertByBo(SysDemoBo bo); + + /** + * 修改dome管理 + */ + Boolean updateByBo(SysDemoBo bo); + + /** + * 校验并批量删除dome管理信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/impl/SysDemoServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/impl/SysDemoServiceImpl.java new file mode 100644 index 00000000..a0bd9054 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/impl/SysDemoServiceImpl.java @@ -0,0 +1,116 @@ +package org.ruoyi.system.service.impl; + +import org.ruoyi.common.core.utils.MapstructUtils; + import org.ruoyi.core.page.TableDataInfo; + import org.ruoyi.core.page.PageQuery; + import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.ruoyi.system.domain.bo.SysDemoBo; +import org.ruoyi.system.domain.vo.SysDemoVo; +import org.ruoyi.system.domain.SysDemo; +import org.ruoyi.system.mapper.SysDemoMapper; +import org.ruoyi.system.service.SysDemoService; +import org.ruoyi.common.core.utils.StringUtils; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * dome管理Service业务层处理 + * + * @author ageerle + * @date Sat Aug 09 21:38:09 CST 2025 + */ +@RequiredArgsConstructor +@Service +public class SysDemoServiceImpl implements SysDemoService { + + private final SysDemoMapper baseMapper; + + /** + * 查询dome管理 + */ + @Override + public SysDemoVo queryById(Integer id) { + return baseMapper.selectVoById(id); + } + + /** + * 查询dome管理列表 + */ + @Override + public TableDataInfo queryPageList(SysDemoBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询dome管理列表 + */ + @Override + public List queryList(SysDemoBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(SysDemoBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getSysCode()), SysDemo::getSysCode, bo.getSysCode()); + lqw.eq(StringUtils.isNotBlank(bo.getSysName()), SysDemo::getSysName, bo.getSysName()); + lqw.eq(bo.getSysStatus() != null, SysDemo::getSysStatus, bo.getSysStatus()); + lqw.eq(bo.getCreateDept() != null, SysDemo::getCreateDept, bo.getCreateDept()); + lqw.eq(bo.getCreateBy() != null, SysDemo::getCreateBy, bo.getCreateBy()); + lqw.eq(bo.getCreateTime() != null, SysDemo::getCreateTime, bo.getCreateTime()); + lqw.eq(bo.getUpdateBy() != null, SysDemo::getUpdateBy, bo.getUpdateBy()); + lqw.eq(bo.getUpdateTime() != null, SysDemo::getUpdateTime, bo.getUpdateTime()); + lqw.eq(StringUtils.isNotBlank(bo.getRemark()), SysDemo::getRemark, bo.getRemark()); + return lqw; + } + + /** + * 新增dome管理 + */ + @Override + public Boolean insertByBo(SysDemoBo bo) { + SysDemo add = MapstructUtils.convert(bo, SysDemo. class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改dome管理 + */ + @Override + public Boolean updateByBo(SysDemoBo bo) { + SysDemo update = MapstructUtils.convert(bo, SysDemo. class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(SysDemo entity) { + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除dome管理 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/sql/sys_demo_menu.sql b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/sql/sys_demo_menu.sql new file mode 100644 index 00000000..5b19392a --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/sql/sys_demo_menu.sql @@ -0,0 +1,19 @@ +-- 菜单 SQL +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1954175368920645632, 'dome管理', '2000', '1', 'sysDemo', 'system/sysDemo/index', 1, 0, 'C', '0', '0', 'system:sysDemo:list', '#', 103, 1, sysdate(), null, null, 'dome管理菜单'); + +-- 按钮 SQL +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1954175368920645633, 'dome管理查询', 1954175368920645632, '1', '#', '', 1, 0, 'F', '0', '0', 'system:sysDemo:query', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1954175368920645634, 'dome管理新增', 1954175368920645632, '2', '#', '', 1, 0, 'F', '0', '0', 'system:sysDemo:add', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1954175368920645635, 'dome管理修改', 1954175368920645632, '3', '#', '', 1, 0, 'F', '0', '0', 'system:sysDemo:edit', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1954175368920645636, 'dome管理删除', 1954175368920645632, '4', '#', '', 1, 0, 'F', '0', '0', 'system:sysDemo:remove', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1954175368920645637, 'dome管理导出', 1954175368920645632, '5', '#', '', 1, 0, 'F', '0', '0', 'system:sysDemo:export', '#', 103, 1, sysdate(), null, null, ''); diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/system/SysDemoMapper.xml b/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/system/SysDemoMapper.xml new file mode 100644 index 00000000..c35ba06c --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/system/SysDemoMapper.xml @@ -0,0 +1,7 @@ + + + + + From 9f4a2256b4523aaa3f126a04f39bc6847504fa6f Mon Sep 17 00:00:00 2001 From: fy53888 Date: Sat, 9 Aug 2025 21:56:16 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E7=94=9F=E6=88=90=E9=A1=9E=E5=9E=8B=20Integer=E5=87=BA?= =?UTF-8?q?=E9=8C=AF=E7=9A=84=E5=95=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysDemoController.java | 105 ---------------- .../java/org/ruoyi/system/domain/SysDemo.java | 75 ----------- .../org/ruoyi/system/domain/bo/SysDemoBo.java | 84 ------------- .../org/ruoyi/system/domain/vo/SysDemoVo.java | 86 ------------- .../ruoyi/system/mapper/SysDemoMapper.java | 17 --- .../ruoyi/system/service/SysDemoService.java | 48 -------- .../service/impl/SysDemoServiceImpl.java | 116 ------------------ .../org/ruoyi/system/sql/sys_demo_menu.sql | 19 --- 8 files changed, 550 deletions(-) delete mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/controller/SysDemoController.java delete mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/SysDemo.java delete mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/bo/SysDemoBo.java delete mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/SysDemoVo.java delete mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/mapper/SysDemoMapper.java delete mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/SysDemoService.java delete mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/impl/SysDemoServiceImpl.java delete mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/sql/sys_demo_menu.sql diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/controller/SysDemoController.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/controller/SysDemoController.java deleted file mode 100644 index 0c795ed9..00000000 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/controller/SysDemoController.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.ruoyi.system.controller; - -import java.util.List; - -import lombok.RequiredArgsConstructor; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.*; -import cn.dev33.satoken.annotation.SaCheckPermission; -import org.springframework.web.bind.annotation.*; -import org.springframework.validation.annotation.Validated; -import org.ruoyi.common.idempotent.annotation.RepeatSubmit; -import org.ruoyi.common.log.annotation.Log; -import org.ruoyi.common.web.core.BaseController; -import org.ruoyi.core.page.PageQuery; -import org.ruoyi.common.core.domain.R; -import org.ruoyi.common.core.validate.AddGroup; -import org.ruoyi.common.core.validate.EditGroup; -import org.ruoyi.common.log.enums.BusinessType; -import org.ruoyi.common.excel.utils.ExcelUtil; -import org.ruoyi.system.domain.vo.SysDemoVo; -import org.ruoyi.system.domain.bo.SysDemoBo; -import org.ruoyi.system.service.SysDemoService; -import org.ruoyi.core.page.TableDataInfo; - -/** - * dome管理 - * - * @author ageerle - * @date Sat Aug 09 21:38:09 CST 2025 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("dev/sysDemo") -public class SysDemoController extends BaseController { - - private final SysDemoService sysDemoService; - -/** - * 查询dome管理列表 - */ -@SaCheckPermission("system:sysDemo:list") -@GetMapping("/list") - public TableDataInfo list(SysDemoBo bo, PageQuery pageQuery) { - return sysDemoService.queryPageList(bo, pageQuery); - } - - /** - * 导出dome管理列表 - */ - @SaCheckPermission("system:sysDemo:export") - @Log(title = "dome管理", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(SysDemoBo bo, HttpServletResponse response) { - List list = sysDemoService.queryList(bo); - ExcelUtil.exportExcel(list, "dome管理", SysDemoVo.class, response); - } - - /** - * 获取dome管理详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("system:sysDemo:query") - @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable Integer id) { - return R.ok(sysDemoService.queryById(id)); - } - - /** - * 新增dome管理 - */ - @SaCheckPermission("system:sysDemo:add") - @Log(title = "dome管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody SysDemoBo bo) { - return toAjax(sysDemoService.insertByBo(bo)); - } - - /** - * 修改dome管理 - */ - @SaCheckPermission("system:sysDemo:edit") - @Log(title = "dome管理", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody SysDemoBo bo) { - return toAjax(sysDemoService.updateByBo(bo)); - } - - /** - * 删除dome管理 - * - * @param ids 主键串 - */ - @SaCheckPermission("system:sysDemo:remove") - @Log(title = "dome管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Integer[] ids) { - return toAjax(sysDemoService.deleteWithValidByIds(List.of(ids), true)); - } -} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/SysDemo.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/SysDemo.java deleted file mode 100644 index 81187bf2..00000000 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/SysDemo.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.ruoyi.system.domain; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; -import lombok.EqualsAndHashCode; - import java.util.Date; - import java.io.Serializable; - -import org.ruoyi.core.domain.BaseEntity; - -/** - * dome管理对象 sys_demo - * - * @author ageerle - * @date Sat Aug 09 21:38:09 CST 2025 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("sys_demo") -public class SysDemo extends BaseEntity { - - - /** - * ID - */ - @TableId(value = "id") - private Integer id; - - /** - * 系统代码 - */ - private String sysCode; - - /** - * 系统名称 - */ - private String sysName; - - /** - * 系统状态 - */ - private Integer sysStatus; - - /** - * 创建部门 - */ - private Integer createDept; - - /** - * 创建者 - */ - private Integer createBy; - - /** - * 创建时间 - */ - private Date createTime; - - /** - * 更新者 - */ - private Integer updateBy; - - /** - * 更新时间 - */ - private Date updateTime; - - /** - * 备注 - */ - private String remark; - - -} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/bo/SysDemoBo.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/bo/SysDemoBo.java deleted file mode 100644 index caca34c1..00000000 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/bo/SysDemoBo.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.ruoyi.system.domain.bo; - -import org.ruoyi.system.domain.SysDemo; -import org.ruoyi.core.domain.BaseEntity; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; -import java.util.Date; -import java.io.Serializable; -import org.ruoyi.common.core.validate.AddGroup; -import org.ruoyi.common.core.validate.EditGroup; -import java.io.Serializable; -import java.io.Serializable; -import org.ruoyi.common.core.validate.AddGroup; -import org.ruoyi.common.core.validate.EditGroup; - -/** - * dome管理业务对象 sys_demo - * - * @author ageerle - * @date Sat Aug 09 21:38:09 CST 2025 - */ -@Data - -@AutoMapper(target = SysDemo.class, reverseConvertGenerate = false) -public class SysDemoBo implements Serializable { - - /** - * ID - */ - @NotNull(message = "ID不能为空", groups = { EditGroup.class }) - private Integer id; - - /** - * 系统代码 - */ - @NotBlank(message = "系统代码不能为空", groups = { AddGroup.class, EditGroup.class }) - private String sysCode; - - /** - * 系统名称 - */ - @NotBlank(message = "系统名称不能为空", groups = { AddGroup.class, EditGroup.class }) - private String sysName; - - /** - * 系统状态 - */ - @NotNull(message = "系统状态不能为空", groups = { AddGroup.class, EditGroup.class }) - private Integer sysStatus; - - /** - * 创建部门 - */ - private Integer createDept; - - /** - * 创建者 - */ - private Integer createBy; - - /** - * 创建时间 - */ - private Date createTime; - - /** - * 更新者 - */ - private Integer updateBy; - - /** - * 更新时间 - */ - private Date updateTime; - - /** - * 备注 - */ - private String remark; - - -} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/SysDemoVo.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/SysDemoVo.java deleted file mode 100644 index 0fd9f1a5..00000000 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/SysDemoVo.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.ruoyi.system.domain.vo; - - import java.util.Date; - import java.io.Serializable; -import org.ruoyi.system.domain.SysDemo; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; - -import java.util.Date; - - -/** - * dome管理视图对象 sys_demo - * - * @author ageerle - * @date Sat Aug 09 21:38:09 CST 2025 - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = SysDemo.class) -public class SysDemoVo implements Serializable { - - /** - * ID - */ - @ExcelProperty(value = "ID") - private Integer id; - - /** - * 系统代码 - */ - @ExcelProperty(value = "系统代码") - private String sysCode; - - /** - * 系统名称 - */ - @ExcelProperty(value = "系统名称") - private String sysName; - - /** - * 系统状态 - */ - @ExcelProperty(value = "系统状态") - private Integer sysStatus; - - /** - * 创建部门 - */ - @ExcelProperty(value = "创建部门") - private Integer createDept; - - /** - * 创建者 - */ - @ExcelProperty(value = "创建者") - private Integer createBy; - - /** - * 创建时间 - */ - @ExcelProperty(value = "创建时间") - private Date createTime; - - /** - * 更新者 - */ - @ExcelProperty(value = "更新者") - private Integer updateBy; - - /** - * 更新时间 - */ - @ExcelProperty(value = "更新时间") - private Date updateTime; - - /** - * 备注 - */ - @ExcelProperty(value = "备注") - private String remark; - - -} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/mapper/SysDemoMapper.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/mapper/SysDemoMapper.java deleted file mode 100644 index 94351479..00000000 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/mapper/SysDemoMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.ruoyi.system.mapper; - -import org.ruoyi.system.domain.SysDemo; -import org.ruoyi.system.domain.vo.SysDemoVo; -import org.ruoyi.core.mapper.BaseMapperPlus; -import org.apache.ibatis.annotations.Mapper; - -/** - * dome管理Mapper接口 - * - * @author ageerle - * @date Sat Aug 09 21:38:09 CST 2025 - */ -@Mapper -public interface SysDemoMapper extends BaseMapperPlus { - -} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/SysDemoService.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/SysDemoService.java deleted file mode 100644 index ae7f4901..00000000 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/SysDemoService.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.ruoyi.system.service; - -import org.ruoyi.system.domain.vo.SysDemoVo; -import org.ruoyi.system.domain.bo.SysDemoBo; - import org.ruoyi.core.page.TableDataInfo; - import org.ruoyi.core.page.PageQuery; - -import java.util.Collection; -import java.util.List; - -/** - * dome管理Service接口 - * - * @author ageerle - * @date Sat Aug 09 21:38:09 CST 2025 - */ -public interface SysDemoService { - - /** - * 查询dome管理 - */ - SysDemoVo queryById(Integer id); - - /** - * 查询dome管理列表 - */ - TableDataInfo queryPageList(SysDemoBo bo, PageQuery pageQuery); - - /** - * 查询dome管理列表 - */ - List queryList(SysDemoBo bo); - - /** - * 新增dome管理 - */ - Boolean insertByBo(SysDemoBo bo); - - /** - * 修改dome管理 - */ - Boolean updateByBo(SysDemoBo bo); - - /** - * 校验并批量删除dome管理信息 - */ - Boolean deleteWithValidByIds(Collection ids, Boolean isValid); -} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/impl/SysDemoServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/impl/SysDemoServiceImpl.java deleted file mode 100644 index a0bd9054..00000000 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/impl/SysDemoServiceImpl.java +++ /dev/null @@ -1,116 +0,0 @@ -package org.ruoyi.system.service.impl; - -import org.ruoyi.common.core.utils.MapstructUtils; - import org.ruoyi.core.page.TableDataInfo; - import org.ruoyi.core.page.PageQuery; - import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.ruoyi.system.domain.bo.SysDemoBo; -import org.ruoyi.system.domain.vo.SysDemoVo; -import org.ruoyi.system.domain.SysDemo; -import org.ruoyi.system.mapper.SysDemoMapper; -import org.ruoyi.system.service.SysDemoService; -import org.ruoyi.common.core.utils.StringUtils; - -import java.util.List; -import java.util.Map; -import java.util.Collection; - -/** - * dome管理Service业务层处理 - * - * @author ageerle - * @date Sat Aug 09 21:38:09 CST 2025 - */ -@RequiredArgsConstructor -@Service -public class SysDemoServiceImpl implements SysDemoService { - - private final SysDemoMapper baseMapper; - - /** - * 查询dome管理 - */ - @Override - public SysDemoVo queryById(Integer id) { - return baseMapper.selectVoById(id); - } - - /** - * 查询dome管理列表 - */ - @Override - public TableDataInfo queryPageList(SysDemoBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 查询dome管理列表 - */ - @Override - public List queryList(SysDemoBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(SysDemoBo bo) { - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(StringUtils.isNotBlank(bo.getSysCode()), SysDemo::getSysCode, bo.getSysCode()); - lqw.eq(StringUtils.isNotBlank(bo.getSysName()), SysDemo::getSysName, bo.getSysName()); - lqw.eq(bo.getSysStatus() != null, SysDemo::getSysStatus, bo.getSysStatus()); - lqw.eq(bo.getCreateDept() != null, SysDemo::getCreateDept, bo.getCreateDept()); - lqw.eq(bo.getCreateBy() != null, SysDemo::getCreateBy, bo.getCreateBy()); - lqw.eq(bo.getCreateTime() != null, SysDemo::getCreateTime, bo.getCreateTime()); - lqw.eq(bo.getUpdateBy() != null, SysDemo::getUpdateBy, bo.getUpdateBy()); - lqw.eq(bo.getUpdateTime() != null, SysDemo::getUpdateTime, bo.getUpdateTime()); - lqw.eq(StringUtils.isNotBlank(bo.getRemark()), SysDemo::getRemark, bo.getRemark()); - return lqw; - } - - /** - * 新增dome管理 - */ - @Override - public Boolean insertByBo(SysDemoBo bo) { - SysDemo add = MapstructUtils.convert(bo, SysDemo. class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - /** - * 修改dome管理 - */ - @Override - public Boolean updateByBo(SysDemoBo bo) { - SysDemo update = MapstructUtils.convert(bo, SysDemo. class); - validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; - } - - /** - * 保存前的数据校验 - */ - private void validEntityBeforeSave(SysDemo entity) { - //TODO 做一些数据校验,如唯一约束 - } - - /** - * 批量删除dome管理 - */ - @Override - public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if (isValid) { - //TODO 做一些业务上的校验,判断是否需要校验 - } - return baseMapper.deleteBatchIds(ids) > 0; - } -} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/sql/sys_demo_menu.sql b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/sql/sys_demo_menu.sql deleted file mode 100644 index 5b19392a..00000000 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/sql/sys_demo_menu.sql +++ /dev/null @@ -1,19 +0,0 @@ --- 菜单 SQL -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(1954175368920645632, 'dome管理', '2000', '1', 'sysDemo', 'system/sysDemo/index', 1, 0, 'C', '0', '0', 'system:sysDemo:list', '#', 103, 1, sysdate(), null, null, 'dome管理菜单'); - --- 按钮 SQL -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(1954175368920645633, 'dome管理查询', 1954175368920645632, '1', '#', '', 1, 0, 'F', '0', '0', 'system:sysDemo:query', '#', 103, 1, sysdate(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(1954175368920645634, 'dome管理新增', 1954175368920645632, '2', '#', '', 1, 0, 'F', '0', '0', 'system:sysDemo:add', '#', 103, 1, sysdate(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(1954175368920645635, 'dome管理修改', 1954175368920645632, '3', '#', '', 1, 0, 'F', '0', '0', 'system:sysDemo:edit', '#', 103, 1, sysdate(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(1954175368920645636, 'dome管理删除', 1954175368920645632, '4', '#', '', 1, 0, 'F', '0', '0', 'system:sysDemo:remove', '#', 103, 1, sysdate(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(1954175368920645637, 'dome管理导出', 1954175368920645632, '5', '#', '', 1, 0, 'F', '0', '0', 'system:sysDemo:export', '#', 103, 1, sysdate(), null, null, ''); From 22c0c733f60d6c53087b4aab993e40bae505cd55 Mon Sep 17 00:00:00 2001 From: fy53888 Date: Sat, 9 Aug 2025 22:01:29 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=8E=B7=E5=8F=96Java?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=90=8E=E7=AB=AF=E7=94=9F=E6=88=90=E9=A1=9E?= =?UTF-8?q?=E5=9E=8B=20Integer=E5=87=BA=E9=8C=AF=E7=9A=84=E5=95=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java | 1 + .../java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java | 1 + 2 files changed, 2 insertions(+) diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java index fd83f558..226f404b 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java @@ -412,6 +412,7 @@ public class GenTableServiceImpl implements IGenTableService { return "String"; } String type = dbType.toLowerCase(); + if (Objects.equals(type,"int") || type.contains("tinyint") || type.contains("smallint")) { return "Integer"; } else if (type.contains("bigint")) { diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java index ebae5510..8cfd33e7 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java @@ -363,6 +363,7 @@ public class SchemaFieldServiceImpl implements SchemaFieldService { } String type = dbType.toLowerCase(); + if (Objects.equals(type,"int")|| type.contains("tinyint") || type.contains("smallint")) { return "Integer"; } else if (type.contains("bigint")) { From 579beb6833e6241fd63163be7db1fec951a5c9c5 Mon Sep 17 00:00:00 2001 From: fy53888 Date: Sat, 9 Aug 2025 22:03:31 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E7=94=9F=E6=88=90=E7=B1=BB=E5=9E=8B=20Integer=20=E5=87=BA?= =?UTF-8?q?=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java | 1 - .../java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java | 1 - 2 files changed, 2 deletions(-) diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java index 226f404b..fd83f558 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/GenTableServiceImpl.java @@ -412,7 +412,6 @@ public class GenTableServiceImpl implements IGenTableService { return "String"; } String type = dbType.toLowerCase(); - if (Objects.equals(type,"int") || type.contains("tinyint") || type.contains("smallint")) { return "Integer"; } else if (type.contains("bigint")) { diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java index 8cfd33e7..ebae5510 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/generator/impl/SchemaFieldServiceImpl.java @@ -363,7 +363,6 @@ public class SchemaFieldServiceImpl implements SchemaFieldService { } String type = dbType.toLowerCase(); - if (Objects.equals(type,"int")|| type.contains("tinyint") || type.contains("smallint")) { return "Integer"; } else if (type.contains("bigint")) { From 645c754dd0dc02daed2d9da8e3cd1123430cb49d Mon Sep 17 00:00:00 2001 From: fy53888 Date: Mon, 18 Aug 2025 19:56:26 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=A4=87=E5=88=86=E4=B8=80=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yml | 4 +- .../src/main/resources/application.yml | 2 +- .../main/java/org/ruoyi/domain/ChatModel.java | 6 + .../java/org/ruoyi/domain/vo/ChatModelVo.java | 140 ++++++++++++- .../knowledge/KnowledgeController.java | 20 +- script/sql/ruoyi-ai.sql | 188 ++++++------------ script/sql/update/20250808.sql | 3 + script/sql/update/knowledge-role-bak.sql | 2 +- 8 files changed, 226 insertions(+), 139 deletions(-) create mode 100644 script/sql/update/20250808.sql diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 0b1661e2..15ed79b8 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -16,9 +16,9 @@ spring: master: type: ${spring.datasource.type} driverClassName: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/ruoyi-ai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true + url: jdbc:mysql://127.0.0.1:3306/ruoyistore?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true username: root - password: 123456 + password: root hikari: # 最大连接池数量 diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index f6abd846..1992a5ab 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -162,7 +162,7 @@ tenant: - sys_user_role knowledge-role: - enable: true + enable: false # MyBatisPlus配置 # https://baomidou.com/config/ diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatModel.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatModel.java index c4e25a1b..b708b0a3 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatModel.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatModel.java @@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode; import org.ruoyi.core.domain.BaseEntity; import java.io.Serial; +import java.util.List; /** * 聊天模型对象 chat_model @@ -80,5 +81,10 @@ public class ChatModel extends BaseEntity { */ private String remark; + /** + * 模型能力 + */ + private String modelCapability; + } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java index 77afe2f4..8472929d 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java @@ -5,14 +5,14 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import lombok.Getter; import org.ruoyi.common.sensitive.annotation.Sensitive; import org.ruoyi.common.sensitive.core.SensitiveStrategy; import org.ruoyi.domain.ChatModel; import java.io.Serial; import java.io.Serializable; - - +import java.util.List; /** @@ -96,4 +96,138 @@ public class ChatModelVo implements Serializable { @ExcelProperty(value = "备注") private String remark; -} + /** + * 模型能力 + */ + @ExcelProperty(value = "模型能力") + private String modelCapability; + + /** + * 模型能力列表 + */ + private List modelAbilities = getModelAbilities(); + + /** + * 模型能力类,类似枚举的静态内部类 + */ + @Getter + public static final class Ability { + // 获取能力名称 + private final String name; + private final String description; + + // 静态字段存储默认能力(类似枚举常量) + public static final Ability IMAGE = new Ability("IMAGE", "图片理解"); + public static final Ability VIDEO = new Ability("VIDEO", "视频理解"); + public static final Ability SPEECH = new Ability("SPEECH", "语音理解"); + + // 动态扩展能力存储 + private static final java.util.Map EXTENDED_ABILITIES = new java.util.HashMap<>(); + + // 私有构造确保受限 + private Ability(String name, String description) { + this.name = name; + this.description = description; + } + + // 静态工厂方法(类似枚举valueOf) + public static Ability valueOf(String name) { + // 先检查默认能力 + switch (name) { + case "IMAGE": return IMAGE; + case "VIDEO": return VIDEO; + case "SPEECH": return SPEECH; + default: + // 检查扩展能力 + Ability ability = EXTENDED_ABILITIES.get(name); + if (ability != null) return ability; + throw new IllegalArgumentException("Unknown ability: " + name); + } + } + + // 动态注册新能力(后期从数据库调用) + public static synchronized Ability registerAbility(String name, String description) { + if (name == null || name.trim().isEmpty()) { + throw new IllegalArgumentException("Ability name cannot be empty"); + } + + // 避免重复注册 + if (EXTENDED_ABILITIES.containsKey(name)) { + return EXTENDED_ABILITIES.get(name); + } + + // 检查是否与默认能力冲突 + try { + valueOf(name); + throw new IllegalArgumentException("Ability already exists as default: " + name); + } catch (IllegalArgumentException e) { + // 正常情况,继续注册 + } + + Ability newAbility = new Ability(name, description); + EXTENDED_ABILITIES.put(name, newAbility); + return newAbility; + } + + // 获取所有能力(默认+扩展) + public static java.util.Set getAllAbilities() { + java.util.Map all = new java.util.HashMap<>(); + all.put(IMAGE.name, IMAGE); + all.put(VIDEO.name, VIDEO); + all.put(SPEECH.name, SPEECH); + all.putAll(EXTENDED_ABILITIES); + return java.util.Collections.unmodifiableSet((java.util.Set) all.values()); + } + + @Override + public String toString() { + return name; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Ability ability = (Ability) o; + return name.equals(ability.name); + } + + @Override + public int hashCode() { + return name.hashCode(); + } + } + + /** + * 将 modelCapability 字符串转换为 Ability 列表 + * @return Ability 列表 + */ + public java.util.List getModelAbilities() { + if (modelCapability == null || modelCapability.trim().isEmpty()) { + return java.util.Collections.emptyList(); + } + + // 解析 JSON 格式的字符串数组 + String trimmed = modelCapability.trim(); + if (!trimmed.startsWith("[") || !trimmed.endsWith("]")) { + throw new IllegalArgumentException("Invalid modelCapability format: " + modelCapability); + } + + String content = trimmed.substring(1, trimmed.length() - 1).trim(); + if (content.isEmpty()) { + return java.util.Collections.emptyList(); + } + + java.util.List abilities = new java.util.ArrayList<>(); + String[] items = content.split(","); + for (String item : items) { + String cleanedItem = item.trim(); + if (cleanedItem.startsWith("\"") && cleanedItem.endsWith("\"") && cleanedItem.length() >= 2) { + String abilityName = cleanedItem.substring(1, cleanedItem.length() - 1); + abilities.add(Ability.valueOf(abilityName)); + } + } + + return abilities; + } +} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java index 54ef52e9..76443156 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java @@ -27,10 +27,18 @@ import org.ruoyi.service.IKnowledgeAttachService; import org.ruoyi.service.IKnowledgeFragmentService; import org.ruoyi.service.IKnowledgeInfoService; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.util.List; +import java.util.Objects; /** * 知识库管理 @@ -60,7 +68,9 @@ public class KnowledgeController extends BaseController { if (!StpUtil.isLogin()) { throw new SecurityException("请先去登录!"); } - bo.setUid(LoginHelper.getUserId()); + if (!Objects.equals(LoginHelper.getUserId(), 1L)) { + bo.setUid(LoginHelper.getUserId()); + } return knowledgeInfoService.queryPageList(bo, pageQuery); } @@ -72,13 +82,15 @@ public class KnowledgeController extends BaseController { if (!StpUtil.isLogin()) { throw new SecurityException("请先去登录!"); } - LoginUser loginUser = LoginHelper.getLoginUser(); // 管理员跳过权限 - if (loginUser.getUserId().equals(1L) || !knowledgeRoleConfig.getEnable()) { + if (Objects.equals(LoginHelper.getUserId(), 1L)) { + return knowledgeInfoService.queryPageList(bo, pageQuery); + } else if (!knowledgeRoleConfig.getEnable()) { bo.setUid(LoginHelper.getUserId()); return knowledgeInfoService.queryPageList(bo, pageQuery); } else { + // TODO 自己创建的知识库+角色分配的知识库 return knowledgeInfoService.queryPageListByRole(pageQuery); } } diff --git a/script/sql/ruoyi-ai.sql b/script/sql/ruoyi-ai.sql index 47892e9d..2c824c8f 100644 --- a/script/sql/ruoyi-ai.sql +++ b/script/sql/ruoyi-ai.sql @@ -2496,11 +2496,56 @@ CREATE TABLE prompt_template ROW_FORMAT = Dynamic; +DROP TABLE IF EXISTS `dev_schema_group`; +create table dev_schema_group +( + id bigint auto_increment comment '主键' primary key, + name varchar(100) null comment '分组名称', + code varchar(100) null comment '分组编码', + icon varchar(100) null comment '图标', + remark varchar(500) null comment '备注', + del_flag char default '0' null comment '删除标志(0代表存在 2代表删除)', + create_dept bigint null comment '创建部门', + create_by bigint null comment '创建者', + create_time datetime null comment '创建时间', + update_by bigint null comment '更新者', + update_time datetime null comment '更新时间' +) ENGINE = InnoDB + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_general_ci COMMENT = '数据模型分组表'; + +INSERT INTO dev_schema_group (id, name, code, icon, remark, del_flag, create_dept, create_by, create_time, update_by, update_time) VALUES +(1944240213530648567, '系统管理', 'system', 'eos-icons:system-group', '系统默认分组', '0', null, null, '2025-07-13 11:37:28', 1, '2025-07-13 18:42:48'); +INSERT INTO dev_schema_group (id, name, code, icon, remark, del_flag, create_dept, create_by, create_time, update_by, update_time) VALUES +(1944240213530648577, '运营管理', 'operator', 'icon-park-outline:appointment', '运营管理', '0', null, null, '2025-07-13 11:39:24', 1, '2025-07-13 18:42:31'); +INSERT INTO dev_schema_group (id, name, code, icon, remark, del_flag, create_dept, create_by, create_time, update_by, update_time) VALUES +(1944346023254429697, '在线开发', 'dev', 'carbon:development', '在线开发', '0', null, null, '2025-07-13 18:39:51', 1, '2025-07-13 18:42:07'); + + + +DROP TABLE IF EXISTS `dev_schema`; +create table dev_schema +( + id bigint auto_increment comment '主键' primary key, + schema_group_id bigint null comment '分组ID', + name varchar(100) null comment '模型名称', + code varchar(100) null comment '模型编码', + table_name varchar(100) null comment '表名', + remark varchar(500) null comment '备注', + del_flag char default '0' null comment '删除标志(0代表存在 2代表删除)', + create_dept bigint null comment '创建部门', + create_by bigint null comment '创建者', + create_time datetime null comment '创建时间', + update_by bigint null comment '更新者', + update_time datetime null comment '更新时间' +) ENGINE = InnoDB + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_general_ci COMMENT = '数据模型表'; + DROP TABLE IF EXISTS `dev_schema_field`; create table dev_schema_field ( - id bigint auto_increment comment '主键' - primary key, + id bigint auto_increment comment '主键' primary key, schema_id bigint null comment '模型ID', schema_name varchar(64) null comment '模型名称', name varchar(100) null comment '字段名称', @@ -2513,17 +2558,6 @@ create table dev_schema_field default_value varchar(200) null comment '默认值', length int null comment '字段长度', scale int null comment '小数位数', - sort int null comment '排序', - status char default '0' null comment '状态(0正常 1停用)', - extend_json text null comment '扩展配置', - remark varchar(500) null comment '备注', - del_flag char default '0' null comment '删除标志(0代表存在 2代表删除)', - tenant_id varchar(20) default '000000' null comment '租户编号', - create_dept bigint null comment '创建部门', - create_by bigint null comment '创建者', - create_time datetime null comment '创建时间', - update_by bigint null comment '更新者', - update_time datetime null comment '更新时间', is_list char default '1' null comment '是否列表显示(0否 1是)', is_query char default '1' null comment '是否查询字段(0否 1是)', is_insert char default '1' null comment '是否插入字段(0否 1是)', @@ -2531,125 +2565,23 @@ create table dev_schema_field query_type varchar(200) default null comment '查询方式(EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围)', html_type varchar(200) default 'input' null comment '显示类型(input输入框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件、image图片上传、upload文件上传、editor富文本编辑器)', dict_type varchar(200) default '' null comment '字典类型', - constraint fk_schema_field_schema - foreign key (schema_id) references dev_schema (id) - on delete cascade -) comment '数据模型字段表'; - -create index idx_html_type - on dev_schema_field (html_type); - -create index idx_is_list - on dev_schema_field (is_list); - -create index idx_is_query - on dev_schema_field (is_query); - -create index idx_query_type - on dev_schema_field (query_type); - -create index idx_schema_field_code - on dev_schema_field (code); - -create index idx_schema_field_schema_id - on dev_schema_field (schema_id); - -create index idx_schema_field_status - on dev_schema_field (status); - -create index idx_schema_field_tenant - on dev_schema_field (tenant_id); - - -DROP TABLE IF EXISTS `dev_schema`; -create table dev_schema -( - id bigint auto_increment comment '主键' - primary key, - schema_group_id bigint null comment '分组ID', - name varchar(100) null comment '模型名称', - code varchar(100) null comment '模型编码', - table_name varchar(100) null comment '表名', - comment varchar(500) null comment '表注释', - engine varchar(50) default 'InnoDB' null comment '存储引擎', - list_keys text null comment '列表字段', - search_form_keys text null comment '搜索表单字段', - designer longtext null comment '表单设计', - status char default '0' null comment '状态(0正常 1停用)', - sort int null comment '排序', - remark varchar(500) null comment '备注', - del_flag char default '0' null comment '删除标志(0代表存在 2代表删除)', - tenant_id varchar(20) default '000000' null comment '租户编号', - create_dept bigint null comment '创建部门', - create_by bigint null comment '创建者', - create_time datetime null comment '创建时间', - update_by bigint null comment '更新者', - update_time datetime null comment '更新时间', - constraint fk_schema_group - foreign key (schema_group_id) references dev_schema_group (id) - on delete set null -) - comment '数据模型表'; - -create index idx_schema_code - on dev_schema (code); - -create index idx_schema_group_id - on dev_schema (schema_group_id); - -create index idx_schema_status - on dev_schema (status); - -create index idx_schema_table_name - on dev_schema (table_name); - -create index idx_schema_tenant - on dev_schema (tenant_id); - - -DROP TABLE IF EXISTS `dev_schema_group`; -create table dev_schema_group -( - id bigint auto_increment comment '主键' - primary key, - name varchar(100) null comment '分组名称', - code varchar(100) null comment '分组编码', - icon varchar(100) null comment '图标', - sort int null comment '排序', - status char default '0' null comment '状态(0正常 1停用)', - remark varchar(500) null comment '备注', - del_flag char default '0' null comment '删除标志(0代表存在 2代表删除)', - tenant_id varchar(20) default '000000' null comment '租户编号', - create_dept bigint null comment '创建部门', - create_by bigint null comment '创建者', - create_time datetime null comment '创建时间', - update_by bigint null comment '更新者', - update_time datetime null comment '更新时间' -) - comment '数据模型分组表'; - -create index idx_schema_group_code - on dev_schema_group (code); - -create index idx_schema_group_status - on dev_schema_group (status); - -create index idx_schema_group_tenant - on dev_schema_group (tenant_id); - - -INSERT INTO dev_schema_group (id, name, code, icon, sort, status, remark, del_flag, tenant_id, create_dept, create_by, create_time, update_by, update_time) VALUES (1944240213530648567, '系统管理', 'system', 'eos-icons:system-group', 2, '0', '系统默认分组', '0', '000000', null, null, '2025-07-13 11:37:28', 1, '2025-07-13 18:42:48'); -INSERT INTO dev_schema_group (id, name, code, icon, sort, status, remark, del_flag, tenant_id, create_dept, create_by, create_time, update_by, update_time) VALUES (1944240213530648577, '运营管理', 'operator', 'icon-park-outline:appointment', 1, '0', null, '0', '000000', null, null, '2025-07-13 11:39:24', 1, '2025-07-13 18:42:31'); -INSERT INTO dev_schema_group (id, name, code, icon, sort, status, remark, del_flag, tenant_id, create_dept, create_by, create_time, update_by, update_time) VALUES (1944346023254429697, '在线开发', 'dev', 'carbon:development', 3, '0', null, '0', '000000', null, null, '2025-07-13 18:39:51', 1, '2025-07-13 18:42:07'); - - - + sort int null comment '排序', + del_flag char default '0' null comment '删除标志(0代表存在 2代表删除)', + create_dept bigint null comment '创建部门', + create_by bigint null comment '创建者', + create_time datetime null comment '创建时间', + update_by bigint null comment '更新者', + update_time datetime null comment '更新时间', + remark varchar(500) null comment '备注' +) ENGINE = InnoDB + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_general_ci COMMENT = '数据模型字段表'; +DROP TABLE IF EXISTS `knowledge_role`; -- ---------------------------- -- Table structure for knowledge_role -- ---------------------------- -DROP TABLE IF EXISTS `knowledge_role`; CREATE TABLE `knowledge_role` ( `id` bigint NOT NULL COMMENT '知识库角色id', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '知识库角色name', @@ -2664,10 +2596,10 @@ CREATE TABLE `knowledge_role` ( PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '知识库角色表' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `knowledge_role_group`; -- ---------------------------- -- Table structure for knowledge_role_group -- ---------------------------- -DROP TABLE IF EXISTS `knowledge_role_group`; CREATE TABLE `knowledge_role_group` ( `id` bigint NOT NULL COMMENT '知识库角色组id', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '知识库角色组name', diff --git a/script/sql/update/20250808.sql b/script/sql/update/20250808.sql new file mode 100644 index 00000000..3c54c207 --- /dev/null +++ b/script/sql/update/20250808.sql @@ -0,0 +1,3 @@ +-- 聊天模型表添加模型能力字段 +alter table chat_model + add model_capability varchar(255) default '[]' not null comment '模型能力'; diff --git a/script/sql/update/knowledge-role-bak.sql b/script/sql/update/knowledge-role-bak.sql index 5dfd35e7..62a7ce67 100644 --- a/script/sql/update/knowledge-role-bak.sql +++ b/script/sql/update/knowledge-role-bak.sql @@ -74,7 +74,7 @@ SET FOREIGN_KEY_CHECKS = 1; -- 菜单 -INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1946483381643743233, '知识库角色管理', 1775500307898949634, '12', 'knowledgeRole', 'system/knowledgeRole/index', NULL, 1, 0, 'C', '0', '0', NULL, 'ri:user-3-fill', 103, 1, '2025-07-19 16:41:17', NULL, NULL, '知识库角色管理'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1946483381643743233, '知识库角色管理', 1775500307898949634, '12', 'knowledgeRole', 'operator/knowledgeRole/index', NULL, 1, 0, 'C', '0', '0', NULL, 'ri:user-3-fill', 103, 1, '2025-07-19 16:41:17', NULL, NULL, '知识库角色管理'); -- 用户表添加字段 ALTER TABLE sys_user From 5db116ec882cd3e7137c5c064819bbe0033b5be0 Mon Sep 17 00:00:00 2001 From: fy53888 Date: Mon, 18 Aug 2025 22:03:51 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E5=A4=87=E5=88=86=E4=B8=80=E4=B8=8B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/StoreEmployeeController.java | 105 +++++++++++++++++ .../ruoyi/system/domain/StoreEmployee.java | 56 +++++++++ .../system/domain/bo/StoreEmployeeBo.java | 59 ++++++++++ .../system/domain/vo/StoreEmployeeVo.java | 59 ++++++++++ .../system/mapper/StoreEmployeeMapper.java | 17 +++ .../system/service/StoreEmployeeService.java | 48 ++++++++ .../impl/StoreEmployeeServiceImpl.java | 109 ++++++++++++++++++ .../ruoyi/system/sql/store_employee_menu.sql | 19 +++ .../mapper/system/StoreEmployeeMapper.xml | 7 ++ 9 files changed, 479 insertions(+) create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/controller/StoreEmployeeController.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/StoreEmployee.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/bo/StoreEmployeeBo.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/StoreEmployeeVo.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/mapper/StoreEmployeeMapper.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/StoreEmployeeService.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/impl/StoreEmployeeServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/sql/store_employee_menu.sql create mode 100644 ruoyi-modules/ruoyi-generator/src/main/resources/mapper/system/StoreEmployeeMapper.xml diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/controller/StoreEmployeeController.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/controller/StoreEmployeeController.java new file mode 100644 index 00000000..6b59cb93 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/controller/StoreEmployeeController.java @@ -0,0 +1,105 @@ +package org.ruoyi.system.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; +import org.ruoyi.common.excel.utils.ExcelUtil; +import org.ruoyi.system.domain.vo.StoreEmployeeVo; +import org.ruoyi.system.domain.bo.StoreEmployeeBo; +import org.ruoyi.system.service.StoreEmployeeService; +import org.ruoyi.core.page.TableDataInfo; + +/** + * 员工分配 + * + * @author ageerle + * @date Mon Aug 18 21:33:27 CST 2025 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/store/storeEmployee") +public class StoreEmployeeController extends BaseController { + + private final StoreEmployeeService storeEmployeeService; + +/** + * 查询员工分配列表 + */ +@SaCheckPermission("store:storeEmployee:list") +@GetMapping("/list") + public TableDataInfo list(StoreEmployeeBo bo, PageQuery pageQuery) { + return storeEmployeeService.queryPageList(bo, pageQuery); + } + + /** + * 导出员工分配列表 + */ + @SaCheckPermission("store:storeEmployee:export") + @Log(title = "员工分配", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(StoreEmployeeBo bo, HttpServletResponse response) { + List list = storeEmployeeService.queryList(bo); + ExcelUtil.exportExcel(list, "员工分配", StoreEmployeeVo.class, response); + } + + /** + * 获取员工分配详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("store:storeEmployee:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(storeEmployeeService.queryById(id)); + } + + /** + * 新增员工分配 + */ + @SaCheckPermission("store:storeEmployee:add") + @Log(title = "员工分配", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody StoreEmployeeBo bo) { + return toAjax(storeEmployeeService.insertByBo(bo)); + } + + /** + * 修改员工分配 + */ + @SaCheckPermission("store:storeEmployee:edit") + @Log(title = "员工分配", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody StoreEmployeeBo bo) { + return toAjax(storeEmployeeService.updateByBo(bo)); + } + + /** + * 删除员工分配 + * + * @param ids 主键串 + */ + @SaCheckPermission("store:storeEmployee:remove") + @Log(title = "员工分配", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(storeEmployeeService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/StoreEmployee.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/StoreEmployee.java new file mode 100644 index 00000000..dff96453 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/StoreEmployee.java @@ -0,0 +1,56 @@ +package org.ruoyi.system.domain; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import java.time.LocalDateTime; +import java.io.Serializable; + +/** + * 员工分配对象 store_employee + * + * @author ageerle + * @date Mon Aug 18 21:33:27 CST 2025 + */ +@Data +@TableName("store_employee") +public class StoreEmployee implements Serializable { + + + /** + * 主键ID + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 门店ID + */ + private Long storeId; + + /** + * 员工ID + */ + private Long userId; + + /** + * 职位 + */ + private String roleInStore; + + /** + * 分配时间 + */ + private LocalDateTime assignTime; + + /** + * 门店类型 + */ + private String isPrimary; + + /** + * 分配到期时间 + */ + private LocalDateTime expireTime; + + +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/bo/StoreEmployeeBo.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/bo/StoreEmployeeBo.java new file mode 100644 index 00000000..40cdbd96 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/bo/StoreEmployeeBo.java @@ -0,0 +1,59 @@ +package org.ruoyi.system.domain.bo; + +import org.ruoyi.system.domain.StoreEmployee; +import org.ruoyi.core.domain.BaseEntity; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.time.LocalDateTime; +import java.io.Serializable; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import java.io.Serializable; +import java.io.Serializable; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; + +/** + * 员工分配业务对象 store_employee + * + * @author ageerle + * @date Mon Aug 18 21:33:27 CST 2025 + */ +@Data + +@AutoMapper(target = StoreEmployee.class, reverseConvertGenerate = false) +public class StoreEmployeeBo implements Serializable { + + private Long id; + + /** + * 门店ID + */ + @NotNull(message = "门店ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long storeId; + /** + * 员工ID + */ + @NotNull(message = "员工ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long userId; + /** + * 职位 + */ + private String roleInStore; + /** + * 分配时间 + */ + @NotNull(message = "分配时间不能为空", groups = { AddGroup.class, EditGroup.class }) + private LocalDateTime assignTime; + /** + * 门店类型 + */ + private String isPrimary; + /** + * 分配到期时间 + */ + private LocalDateTime expireTime; + +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/StoreEmployeeVo.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/StoreEmployeeVo.java new file mode 100644 index 00000000..0b8b0248 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/StoreEmployeeVo.java @@ -0,0 +1,59 @@ +package org.ruoyi.system.domain.vo; + + import java.time.LocalDateTime; + import java.io.Serializable; +import org.ruoyi.system.domain.StoreEmployee; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.util.Date; + + +/** + * 员工分配视图对象 store_employee + * + * @author ageerle + * @date Mon Aug 18 21:33:27 CST 2025 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = StoreEmployee.class) +public class StoreEmployeeVo implements Serializable { + + private Long id; + /** + * 门店ID + */ + @ExcelProperty(value = "门店ID") + private Long storeId; + /** + * 员工ID + */ + @ExcelProperty(value = "员工ID") + private Long userId; + /** + * 职位 + */ + @ExcelProperty(value = "职位", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "title_name") + private String roleInStore; + /** + * 分配时间 + */ + @ExcelProperty(value = "分配时间") + private LocalDateTime assignTime; + /** + * 门店类型 + */ + @ExcelProperty(value = "门店类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "store_type") + private String isPrimary; + /** + * 分配到期时间 + */ + @ExcelProperty(value = "分配到期时间") + private LocalDateTime expireTime; + +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/mapper/StoreEmployeeMapper.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/mapper/StoreEmployeeMapper.java new file mode 100644 index 00000000..a73e581f --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/mapper/StoreEmployeeMapper.java @@ -0,0 +1,17 @@ +package org.ruoyi.system.mapper; + +import org.ruoyi.system.domain.StoreEmployee; +import org.ruoyi.system.domain.vo.StoreEmployeeVo; +import org.ruoyi.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Mapper; + +/** + * 员工分配Mapper接口 + * + * @author ageerle + * @date Mon Aug 18 21:33:27 CST 2025 + */ +@Mapper +public interface StoreEmployeeMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/StoreEmployeeService.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/StoreEmployeeService.java new file mode 100644 index 00000000..5235c942 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/StoreEmployeeService.java @@ -0,0 +1,48 @@ +package org.ruoyi.system.service; + +import org.ruoyi.system.domain.vo.StoreEmployeeVo; +import org.ruoyi.system.domain.bo.StoreEmployeeBo; + import org.ruoyi.core.page.TableDataInfo; + import org.ruoyi.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 员工分配Service接口 + * + * @author ageerle + * @date Mon Aug 18 21:33:27 CST 2025 + */ +public interface StoreEmployeeService { + + /** + * 查询员工分配 + */ + StoreEmployeeVo queryById(Long id); + + /** + * 查询员工分配列表 + */ + TableDataInfo queryPageList(StoreEmployeeBo bo, PageQuery pageQuery); + + /** + * 查询员工分配列表 + */ + List queryList(StoreEmployeeBo bo); + + /** + * 新增员工分配 + */ + Boolean insertByBo(StoreEmployeeBo bo); + + /** + * 修改员工分配 + */ + Boolean updateByBo(StoreEmployeeBo bo); + + /** + * 校验并批量删除员工分配信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/impl/StoreEmployeeServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/impl/StoreEmployeeServiceImpl.java new file mode 100644 index 00000000..44b8ec86 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/service/impl/StoreEmployeeServiceImpl.java @@ -0,0 +1,109 @@ +package org.ruoyi.system.service.impl; + +import org.ruoyi.common.core.utils.MapstructUtils; + import org.ruoyi.core.page.TableDataInfo; + import org.ruoyi.core.page.PageQuery; + import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.ruoyi.system.domain.bo.StoreEmployeeBo; +import org.ruoyi.system.domain.vo.StoreEmployeeVo; +import org.ruoyi.system.domain.StoreEmployee; +import org.ruoyi.system.mapper.StoreEmployeeMapper; +import org.ruoyi.system.service.StoreEmployeeService; +import org.ruoyi.common.core.utils.StringUtils; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 员工分配Service业务层处理 + * + * @author ageerle + * @date Mon Aug 18 21:33:27 CST 2025 + */ +@RequiredArgsConstructor +@Service +public class StoreEmployeeServiceImpl implements StoreEmployeeService { + + private final StoreEmployeeMapper baseMapper; + + /** + * 查询员工分配 + */ + @Override + public StoreEmployeeVo queryById(Long id) { + return baseMapper.selectVoById(id); + } + + /** + * 查询员工分配列表 + */ + @Override + public TableDataInfo queryPageList(StoreEmployeeBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询员工分配列表 + */ + @Override + public List queryList(StoreEmployeeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(StoreEmployeeBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getStoreId() != null, StoreEmployee::getStoreId, bo.getStoreId()); + lqw.eq(bo.getUserId() != null, StoreEmployee::getUserId, bo.getUserId()); + return lqw; + } + + /** + * 新增员工分配 + */ + @Override + public Boolean insertByBo(StoreEmployeeBo bo) { + StoreEmployee add = MapstructUtils.convert(bo, StoreEmployee. class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改员工分配 + */ + @Override + public Boolean updateByBo(StoreEmployeeBo bo) { + StoreEmployee update = MapstructUtils.convert(bo, StoreEmployee. class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(StoreEmployee entity) { + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除员工分配 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/sql/store_employee_menu.sql b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/sql/store_employee_menu.sql new file mode 100644 index 00000000..6277f1db --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/sql/store_employee_menu.sql @@ -0,0 +1,19 @@ +-- 菜单 SQL +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1957435675864506368, '员工分配', '2000', '1', 'storeEmployee', 'store/storeEmployee/index', 1, 0, 'C', '0', '0', 'store:storeEmployee:list', '#', 103, 1, sysdate(), null, null, '员工分配菜单'); + +-- 按钮 SQL +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1957435675864506369, '员工分配查询', 1957435675864506368, '1', '#', '', 1, 0, 'F', '0', '0', 'store:storeEmployee:query', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1957435675864506370, '员工分配新增', 1957435675864506368, '2', '#', '', 1, 0, 'F', '0', '0', 'store:storeEmployee:add', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1957435675864506371, '员工分配修改', 1957435675864506368, '3', '#', '', 1, 0, 'F', '0', '0', 'store:storeEmployee:edit', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1957435675864506372, '员工分配删除', 1957435675864506368, '4', '#', '', 1, 0, 'F', '0', '0', 'store:storeEmployee:remove', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1957435675864506373, '员工分配导出', 1957435675864506368, '5', '#', '', 1, 0, 'F', '0', '0', 'store:storeEmployee:export', '#', 103, 1, sysdate(), null, null, ''); diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/system/StoreEmployeeMapper.xml b/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/system/StoreEmployeeMapper.xml new file mode 100644 index 00000000..82d21190 --- /dev/null +++ b/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/system/StoreEmployeeMapper.xml @@ -0,0 +1,7 @@ + + + + + From 5b6605c345300274855a8dcef1188dd86f3edb82 Mon Sep 17 00:00:00 2001 From: fy53888 Date: Mon, 18 Aug 2025 22:04:15 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E5=A4=87=E5=88=86=E4=B8=80=E4=B8=8B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/ruoyi/system/domain/vo/StoreEmployeeVo.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/StoreEmployeeVo.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/StoreEmployeeVo.java index 0b8b0248..a9123c2e 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/StoreEmployeeVo.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/ruoyi/system/domain/vo/StoreEmployeeVo.java @@ -2,7 +2,9 @@ package org.ruoyi.system.domain.vo; import java.time.LocalDateTime; import java.io.Serializable; -import org.ruoyi.system.domain.StoreEmployee; + import org.ruoyi.common.excel.annotation.ExcelDictFormat; + import org.ruoyi.common.excel.convert.ExcelDictConvert; + import org.ruoyi.system.domain.StoreEmployee; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.github.linpeilie.annotations.AutoMapper; From 951ee6bd8ac7c430ab309918a1c2621a8eff7554 Mon Sep 17 00:00:00 2001 From: fy53888 Date: Tue, 19 Aug 2025 09:48:35 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E5=B8=A6=E6=9F=A5=E6=89=BE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/system/service/ISysDictTypeService.java | 9 +++++++++ .../system/service/impl/SysDictTypeServiceImpl.java | 13 +++++++++++++ .../controller/system/SysDictTypeController.java | 8 ++++++++ 3 files changed, 30 insertions(+) diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/ISysDictTypeService.java b/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/ISysDictTypeService.java index fb94c017..7a420805 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/ISysDictTypeService.java +++ b/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/ISysDictTypeService.java @@ -16,6 +16,15 @@ import java.util.List; public interface ISysDictTypeService { + +/** + * Select all dictionary types based on the specified conditions + * + * @param dictType The business object containing query conditions for dictionary types + * @return TableDataInfo containing a list of SysDictTypeVo objects that match the query criteria + */ + TableDataInfo selectAll(SysDictTypeBo dictType); + TableDataInfo selectPageDictTypeList(SysDictTypeBo dictType, PageQuery pageQuery); /** diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/impl/SysDictTypeServiceImpl.java index 6797e200..518048a9 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/impl/SysDictTypeServiceImpl.java +++ b/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/impl/SysDictTypeServiceImpl.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.ruoyi.common.core.constant.CacheConstants; import org.ruoyi.common.core.constant.CacheNames; +import org.ruoyi.common.core.constant.HttpStatus; import org.ruoyi.common.core.exception.ServiceException; import org.ruoyi.common.core.service.DictService; import org.ruoyi.common.core.utils.MapstructUtils; @@ -50,6 +51,18 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService, DictService private final SysDictTypeMapper baseMapper; private final SysDictDataMapper dictDataMapper; + @Override + public TableDataInfo selectAll(SysDictTypeBo dictType) { + LambdaQueryWrapper lqw = buildQueryWrapper(dictType); + // 2. 查询所有数据(不分页) + List list = baseMapper.selectVoList(lqw); + TableDataInfo rspData = new TableDataInfo<>(); + rspData.setCode(HttpStatus.SUCCESS); // 200 + rspData.setMsg("查询成功"); + rspData.setRows(list); + rspData.setTotal(list.size()); // 总数为列表大小 + return rspData; + } @Override public TableDataInfo selectPageDictTypeList(SysDictTypeBo dictType, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(dictType); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysDictTypeController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysDictTypeController.java index 9a1a09ff..71dc63e6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysDictTypeController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysDictTypeController.java @@ -31,6 +31,14 @@ public class SysDictTypeController extends BaseController { private final ISysDictTypeService dictTypeService; + /** + * 查询所有字典类型列表 + */ + + @GetMapping("/all") + public TableDataInfo all(SysDictTypeBo dictType, PageQuery pageQuery) { + return dictTypeService.selectAll(dictType); + } /** * 查询字典类型列表 */