瀏覽代碼

标签,行业

西格玛许 2 周之前
父節點
當前提交
e7125f5306
共有 21 個文件被更改,包括 689 次插入0 次删除
  1. 69 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysIndustryController.java
  2. 68 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysIndustrySkillController.java
  3. 75 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTagController.java
  4. 23 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysIndustry.java
  5. 22 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysIndustrySkill.java
  6. 32 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTag.java
  7. 23 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysIndustryBo.java
  8. 23 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysIndustrySkillBo.java
  9. 31 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTagBo.java
  10. 16 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysIndustrySkillVo.java
  11. 16 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysIndustryVo.java
  12. 23 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTagVo.java
  13. 10 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysIndustryMapper.java
  14. 8 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysIndustrySkillMapper.java
  15. 9 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysTagMapper.java
  16. 14 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysIndustryService.java
  17. 16 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysIndustrySkillService.java
  18. 24 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysTagService.java
  19. 60 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysIndustryServiceImpl.java
  20. 63 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysIndustrySkillServiceImpl.java
  21. 64 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTagServiceImpl.java

+ 69 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysIndustryController.java

@@ -0,0 +1,69 @@
+package org.dromara.system.controller.system;
+
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.system.domain.bo.SysIndustryBo;
+import org.dromara.system.domain.vo.SysIndustryVo;
+import org.dromara.system.service.ISysIndustryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/system/industry")
+public class SysIndustryController extends BaseController {
+
+    private final ISysIndustryService industryService;
+
+    /**
+     * 查询行业分类列表
+     */
+    @GetMapping("/list")
+    public R<List<SysIndustryVo>> list(SysIndustryBo bo) {
+        return R.ok(industryService.queryList(bo));
+    }
+
+    /**
+     * 获取行业分类详情
+     */
+    @GetMapping("/{industryId}")
+    public R<SysIndustryVo> getInfo(@PathVariable Long industryId) {
+        return R.ok(industryService.queryById(industryId));
+    }
+
+    /**
+     * 新增行业分类
+     */
+    @Log(title = "行业分类", businessType = BusinessType.INSERT)
+    @PostMapping
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody SysIndustryBo bo) {
+        return industryService.insertByBo(bo) ? R.ok() : R.fail();
+    }
+
+    /**
+     * 修改行业分类
+     */
+    @Log(title = "行业分类", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysIndustryBo bo) {
+        return industryService.updateByBo(bo) ? R.ok() : R.fail();
+    }
+
+    /**
+     * 删除行业分类
+     */
+    @Log(title = "行业分类", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{industryId}")
+    public R<Void> remove(@PathVariable Long industryId) {
+        return industryService.deleteById(industryId) ? R.ok() : R.fail();
+    }
+}

+ 68 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysIndustrySkillController.java

@@ -0,0 +1,68 @@
+package org.dromara.system.controller.system;
+
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.system.domain.bo.SysIndustrySkillBo;
+import org.dromara.system.domain.vo.SysIndustrySkillVo;
+import org.dromara.system.service.ISysIndustrySkillService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/system/industry/skill")
+public class SysIndustrySkillController extends BaseController {
+
+    private final ISysIndustrySkillService skillService;
+
+    /**
+     * 查询职位列表
+     */
+    @GetMapping("/list")
+    public R<List<SysIndustrySkillVo>> list(SysIndustrySkillBo bo) {
+        return R.ok(skillService.queryList(bo));
+    }
+
+    /**
+     * 获取职位详情
+     */
+    @GetMapping("/{skillId}")
+    public R<SysIndustrySkillVo> getInfo(@PathVariable Long skillId) {
+        return R.ok(skillService.queryById(skillId));
+    }
+
+    /**
+     * 新增职位
+     */
+    @Log(title = "职位技能", businessType = BusinessType.INSERT)
+    @PostMapping
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody SysIndustrySkillBo bo) {
+        return skillService.insertByBo(bo) ? R.ok() : R.fail();
+    }
+
+    /**
+     * 修改职位
+     */
+    @Log(title = "职位技能", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysIndustrySkillBo bo) {
+        return skillService.updateByBo(bo) ? R.ok() : R.fail();
+    }
+
+    /**
+     * 删除职位
+     */
+    @Log(title = "职位技能", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{skillId}")
+    public R<Void> remove(@PathVariable Long skillId) {
+        return skillService.deleteById(skillId) ? R.ok() : R.fail();
+    }
+}

+ 75 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTagController.java

@@ -0,0 +1,75 @@
+package org.dromara.system.controller.system;
+
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.system.domain.bo.SysTagBo;
+import org.dromara.system.domain.vo.SysTagVo;
+import org.dromara.system.service.ISysTagService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/system/tag")
+public class SysTagController extends BaseController {
+
+    private final ISysTagService iSysTagService;
+
+    /** 查询标签列表 */
+
+    @GetMapping("/list")
+    public TableDataInfo<SysTagVo> list(SysTagBo bo, PageQuery pageQuery) {
+        return iSysTagService.queryPageList(bo, pageQuery);
+    }
+
+    /** 获取标签详细信息 */
+
+    @GetMapping("/{id}")
+    public R<SysTagVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) {
+        return R.ok(iSysTagService.queryById(id));
+    }
+
+    /** 新增标签 */
+
+    @Log(title = "标签定义", businessType = BusinessType.INSERT)
+    @PostMapping
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody SysTagBo bo) {
+        return toAjax(iSysTagService.insertByBo(bo));
+    }
+
+    /** 修改标签 */
+
+    @Log(title = "标签定义", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysTagBo bo) {
+        return toAjax(iSysTagService.updateByBo(bo));
+    }
+
+    /** 修改标签状态 */
+
+    @Log(title = "标签定义", businessType = BusinessType.UPDATE)
+    @PutMapping("/changeStatus")
+    public R<Void> changeStatus(@RequestBody SysTagBo bo) {
+        return toAjax(iSysTagService.updateByBo(bo));
+    }
+
+    /** 删除标签 */
+
+    @Log(title = "标签定义", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) {
+        return toAjax(iSysTagService.deleteWithValidByIds(Arrays.asList(ids), true));
+    }
+}

+ 23 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysIndustry.java

@@ -0,0 +1,23 @@
+package org.dromara.system.domain;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+
+@Data
+public class SysIndustry extends BaseEntity {
+
+
+    @TableId(value="industry_id",type= IdType.AUTO)
+    private Long industryId;
+    private Long parentId;
+    private String industryName;
+    private Integer orderNum;
+    private String status;
+
+    @TableLogic
+    private String delFlag;
+}

+ 22 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysIndustrySkill.java

@@ -0,0 +1,22 @@
+package org.dromara.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+
+
+@Data
+public class SysIndustrySkill extends BaseEntity {
+
+    @TableId(value="skill_id",type= IdType.AUTO)
+    private Long skillId;
+    private Long industryId;
+    private String skillName;
+    private Integer orderNum;
+    private String status;
+
+    @TableLogic
+    private String delFlag;
+}

+ 32 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTag.java

@@ -0,0 +1,32 @@
+package org.dromara.system.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+
+/**
+ * 标签定义对象 sys_tag
+ *
+ * @author ruoyi
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("sys_tag")
+public class SysTag extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value="id")
+    private Long id;
+
+    private String name;
+
+    private String description;
+
+    private String status;
+
+    @TableLogic
+    private String delFlag;
+}

+ 23 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysIndustryBo.java

@@ -0,0 +1,23 @@
+package org.dromara.system.domain.bo;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SysIndustryBo extends BaseEntity {
+    @NotNull(message = "分类ID不能为空", groups = { EditGroup.class })
+    private Long industryId;
+    private Long parentId;
+    @NotBlank(message = "分类名称不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String industryName;
+    @NotNull(message = "排序不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Integer orderNum;
+    private String status;
+    private String remark;
+}

+ 23 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysIndustrySkillBo.java

@@ -0,0 +1,23 @@
+package org.dromara.system.domain.bo;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SysIndustrySkillBo extends BaseEntity {
+    @NotNull(message = "职位ID不能为空", groups = { EditGroup.class })
+    private Long skillId;
+    @NotNull(message = "所属分类不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long industryId;
+    @NotBlank(message = "职位名称不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String skillName;
+    private Integer orderNum;
+    private String status;
+    private String remark;
+}

+ 31 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTagBo.java

@@ -0,0 +1,31 @@
+package org.dromara.system.domain.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.system.domain.SysTag;
+
+/**
+ * 标签定义业务对象 sys_tag
+ *
+ * @author ruoyi
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = SysTag.class, reverseConvertGenerate = true)
+public class SysTagBo extends BaseEntity {
+    @NotNull(message="主键ID不能为空",groups={EditGroup.class})
+    private Long id;
+
+    private String name;
+
+    private String description;
+
+    private String status;
+
+}

+ 16 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysIndustrySkillVo.java

@@ -0,0 +1,16 @@
+package org.dromara.system.domain.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class SysIndustrySkillVo {
+    private Long skillId;
+    private Long industryId;
+    private String skillName;
+    private Integer orderNum;
+    private String status;
+    private Date createTime;
+    private String remark;
+}

+ 16 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysIndustryVo.java

@@ -0,0 +1,16 @@
+package org.dromara.system.domain.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class SysIndustryVo {
+    private Long industryId;
+    private Long parentId;
+    private String industryName;
+    private Integer orderNum;
+    private String status;
+    private Date createTime;
+    private String remark;
+}

+ 23 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTagVo.java

@@ -0,0 +1,23 @@
+package org.dromara.system.domain.vo;
+
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.system.domain.SysTag;
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@AutoMapper(target = SysTag.class)
+public class SysTagVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+    private String name;
+    private String description;
+    private String status;
+    private Date createTime;
+}

+ 10 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysIndustryMapper.java

@@ -0,0 +1,10 @@
+package org.dromara.system.mapper;
+
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.system.domain.SysIndustry;
+import org.dromara.system.domain.vo.SysIndustryVo;
+
+import java.util.List;
+
+public interface SysIndustryMapper extends BaseMapperPlus<SysIndustry, SysIndustryVo> {
+}

+ 8 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysIndustrySkillMapper.java

@@ -0,0 +1,8 @@
+package org.dromara.system.mapper;
+
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.system.domain.SysIndustrySkill;
+import org.dromara.system.domain.vo.SysIndustrySkillVo;
+
+public interface SysIndustrySkillMapper extends BaseMapperPlus<SysIndustrySkill, SysIndustrySkillVo> {
+}

+ 9 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysTagMapper.java

@@ -0,0 +1,9 @@
+package org.dromara.system.mapper;
+
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.system.domain.SysTag;
+import org.dromara.system.domain.vo.SysTagVo;
+
+public interface SysTagMapper extends BaseMapperPlus<SysTag, SysTagVo> {
+
+}

+ 14 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysIndustryService.java

@@ -0,0 +1,14 @@
+package org.dromara.system.service;
+
+import org.dromara.system.domain.bo.SysIndustryBo;
+import org.dromara.system.domain.vo.SysIndustryVo;
+
+import java.util.List;
+
+public interface ISysIndustryService {
+    List<SysIndustryVo> queryList(SysIndustryBo bo);
+    SysIndustryVo queryById(Long industryId);
+    Boolean insertByBo(SysIndustryBo bo);
+    Boolean updateByBo(SysIndustryBo bo);
+    Boolean deleteById(Long industryId);
+}

+ 16 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysIndustrySkillService.java

@@ -0,0 +1,16 @@
+package org.dromara.system.service;
+
+import org.dromara.system.domain.bo.SysIndustryBo;
+import org.dromara.system.domain.bo.SysIndustrySkillBo;
+import org.dromara.system.domain.vo.SysIndustrySkillVo;
+import org.dromara.system.domain.vo.SysIndustryVo;
+
+import java.util.List;
+
+public interface ISysIndustrySkillService {
+    List<SysIndustrySkillVo> queryList(SysIndustrySkillBo bo);
+    SysIndustrySkillVo queryById(Long skillId);
+    Boolean insertByBo(SysIndustrySkillBo bo);
+    Boolean updateByBo(SysIndustrySkillBo bo);
+    Boolean deleteById(Long skillId);
+}

+ 24 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysTagService.java

@@ -0,0 +1,24 @@
+package org.dromara.system.service;
+
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.system.domain.bo.SysTagBo;
+import org.dromara.system.domain.vo.SysTagVo;
+
+import java.util.Collection;
+
+public interface ISysTagService {
+    TableDataInfo<SysTagVo> queryPageList(SysTagBo bo, PageQuery pageQuery);
+
+    /** 查询标签详细 */
+    SysTagVo queryById(Long id);
+
+    /** 新增标签 */
+    Boolean insertByBo(SysTagBo bo);
+
+    /** 修改标签 */
+    Boolean updateByBo(SysTagBo bo);
+
+    /** 校验并删除 */
+    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 60 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysIndustryServiceImpl.java

@@ -0,0 +1,60 @@
+package org.dromara.system.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.system.domain.SysIndustry;
+import org.dromara.system.domain.bo.SysIndustryBo;
+import org.dromara.system.domain.vo.SysIndustryVo;
+import org.dromara.system.mapper.SysIndustryMapper;
+import org.dromara.system.service.ISysIndustryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class SysIndustryServiceImpl implements ISysIndustryService {
+    @Autowired
+    private SysIndustryMapper baseMapper;
+
+    @Override
+    public List<SysIndustryVo> queryList(SysIndustryBo bo) {
+        LambdaQueryWrapper<SysIndustry> lqw = Wrappers.lambdaQuery();
+        lqw.like(StringUtils.isNotBlank(bo.getIndustryName()), SysIndustry::getIndustryName, bo.getIndustryName());
+        lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysIndustry::getStatus, bo.getStatus());
+        lqw.eq(bo.getParentId() != null, SysIndustry::getParentId, bo.getParentId());
+        lqw.orderByAsc(SysIndustry::getOrderNum);
+
+//        1.
+        List<SysIndustry> list = baseMapper.selectList(lqw);
+
+        // 2. 使用 BeanUtil 手动转成 VO 列表
+        return BeanUtil.copyToList(list, SysIndustryVo.class);
+    }
+
+    @Override
+    public SysIndustryVo queryById(Long industryId) {
+        SysIndustry industry = baseMapper.selectById(industryId);
+        // 2. 使用框架自带的 BeanUtil 手动转换
+        return BeanUtil.toBean(industry, SysIndustryVo.class);
+    }
+
+    @Override
+    public Boolean insertByBo(SysIndustryBo bo) {
+        SysIndustry add = BeanUtil.toBean(bo, SysIndustry.class);
+        return baseMapper.insert(add) > 0;
+    }
+
+    @Override
+    public Boolean updateByBo(SysIndustryBo bo) {
+        SysIndustry update = BeanUtil.toBean(bo, SysIndustry.class);
+        return baseMapper.updateById(update) > 0;
+    }
+
+    @Override
+    public Boolean deleteById(Long industryId) {
+        return baseMapper.deleteById(industryId) > 0;
+    }
+}

+ 63 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysIndustrySkillServiceImpl.java

@@ -0,0 +1,63 @@
+package org.dromara.system.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.system.domain.SysIndustry;
+import org.dromara.system.domain.SysIndustrySkill;
+import org.dromara.system.domain.bo.SysIndustrySkillBo;
+import org.dromara.system.domain.vo.SysIndustrySkillVo;
+import org.dromara.system.domain.vo.SysIndustryVo;
+import org.dromara.system.mapper.SysIndustrySkillMapper;
+import org.dromara.system.service.ISysIndustrySkillService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@RequiredArgsConstructor
+@Service
+public class SysIndustrySkillServiceImpl implements ISysIndustrySkillService {
+
+    private final SysIndustrySkillMapper baseMapper;
+
+    @Override
+    public List<SysIndustrySkillVo> queryList(SysIndustrySkillBo bo) {
+        LambdaQueryWrapper<SysIndustrySkill> lqw = Wrappers.lambdaQuery();
+        lqw.like(StringUtils.isNotBlank(bo.getSkillName()), SysIndustrySkill::getSkillName, bo.getSkillName());
+        lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysIndustrySkill::getStatus, bo.getStatus());
+        lqw.eq(bo.getIndustryId() != null, SysIndustrySkill::getIndustryId, bo.getIndustryId());
+        lqw.orderByAsc(SysIndustrySkill::getOrderNum);
+
+
+        List<SysIndustrySkill> list = baseMapper.selectList(lqw);
+
+        return BeanUtil.copyToList(list, SysIndustrySkillVo.class);
+    }
+
+    @Override
+    public SysIndustrySkillVo queryById(Long skillId) {
+        SysIndustrySkill skill = baseMapper.selectById(skillId);
+        // 2. 使用框架自带的 BeanUtil 手动转换
+        return BeanUtil.toBean(skill, SysIndustrySkillVo.class);
+    }
+
+    @Override
+    public Boolean insertByBo(SysIndustrySkillBo bo) {
+        SysIndustrySkill add = BeanUtil.toBean(bo, SysIndustrySkill.class);
+        return baseMapper.insert(add) > 0;
+    }
+
+    @Override
+    public Boolean updateByBo(SysIndustrySkillBo bo) {
+        SysIndustrySkill update = BeanUtil.toBean(bo, SysIndustrySkill.class);
+        return baseMapper.updateById(update) > 0;
+    }
+
+    @Override
+    public Boolean deleteById(Long skillId) {
+        return baseMapper.deleteById(skillId) > 0;
+    }
+
+}

+ 64 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTagServiceImpl.java

@@ -0,0 +1,64 @@
+package org.dromara.system.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.system.domain.SysTag;
+import org.dromara.system.domain.bo.SysTagBo;
+import org.dromara.system.domain.vo.SysTagVo;
+import org.dromara.system.mapper.SysTagMapper;
+import org.dromara.system.service.ISysTagService;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+
+@RequiredArgsConstructor
+@Service
+public class SysTagServiceImpl implements ISysTagService {
+    private final SysTagMapper baseMapper;
+
+    @Override
+    public TableDataInfo<SysTagVo> queryPageList(SysTagBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<SysTag> lqw = buildQueryWrapper(bo);
+        Page<SysTagVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
+    }
+
+    @Override
+    public SysTagVo queryById(Long id) {
+        return baseMapper.selectVoById(id);
+    }
+
+    @Override
+    public Boolean insertByBo(SysTagBo bo) {
+        SysTag add = MapstructUtils.convert(bo, SysTag.class);
+        boolean flag = baseMapper.insert(add) > 0;
+        if (flag) {
+            bo.setId(add.getId());
+        }
+        return flag;
+    }
+
+    @Override
+    public Boolean updateByBo(SysTagBo bo) {
+        SysTag update = MapstructUtils.convert(bo, SysTag.class);
+        return baseMapper.updateById(update) > 0;
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        return baseMapper.deleteByIds(ids) > 0;
+    }
+
+    private LambdaQueryWrapper<SysTag> buildQueryWrapper(SysTagBo bo) {
+        LambdaQueryWrapper<SysTag> lqw = Wrappers.lambdaQuery();
+        lqw.like(ObjectUtil.isNotNull(bo.getName()), SysTag::getName, bo.getName());
+        lqw.eq(ObjectUtil.isNotNull(bo.getStatus()), SysTag::getStatus, bo.getStatus());
+        return lqw;
+    }
+}