From 0d2835becac7613f6e42d1fc46eaef63a09925e9 Mon Sep 17 00:00:00 2001 From: SjS Date: Tue, 29 Apr 2025 10:46:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=86=E9=A2=91=E6=95=99=E7=A8=8B=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/bst/help/domain/Help.java | 49 ++++ .../com/ruoyi/bst/help/domain/HelpQuery.java | 12 + .../com/ruoyi/bst/help/domain/HelpVO.java | 7 + .../bst/help/domain/enums/HelpStatus.java | 15 ++ .../com/ruoyi/bst/help/mapper/HelpMapper.java | 74 ++++++ .../com/ruoyi/bst/help/mapper/HelpMapper.xml | 234 ++++++++++++++++++ .../ruoyi/bst/help/service/HelpService.java | 71 ++++++ .../help/service/impl/HelpServiceImpl.java | 118 +++++++++ .../com/ruoyi/web/app/AppHelpController.java | 52 ++++ .../com/ruoyi/web/bst/HelpController.java | 103 ++++++++ 10 files changed, 735 insertions(+) create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/Help.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/HelpQuery.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/HelpVO.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/enums/HelpStatus.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/help/mapper/HelpMapper.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/help/mapper/HelpMapper.xml create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/help/service/HelpService.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/help/service/impl/HelpServiceImpl.java create mode 100644 ruoyi-web/src/main/java/com/ruoyi/web/app/AppHelpController.java create mode 100644 ruoyi-web/src/main/java/com/ruoyi/web/bst/HelpController.java diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/Help.java b/ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/Help.java new file mode 100644 index 0000000..fddc985 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/Help.java @@ -0,0 +1,49 @@ +package com.ruoyi.bst.help.domain; + +import com.ruoyi.common.core.validate.ValidGroup; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +import javax.validation.constraints.NotBlank; + +/** + * 教程列表对象 bst_help + * + * @author ruoyi + * @date 2025-04-29 + */ +@Data +public class Help extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + private Long id; + + @Excel(name = "标题") + @ApiModelProperty("标题") + @NotBlank(message = "标题不能为空", groups = {ValidGroup.Create.class}) + private String title; + + @Excel(name = "状态", readConverterExp = "1=启用,2=禁用") + @ApiModelProperty("状态") + @NotBlank(message = "状态不能为空", groups = {ValidGroup.Create.class}) + private String status; + + @Excel(name = "视频url") + @ApiModelProperty("视频url") + @NotBlank(message = "视频url不能为空", groups = {ValidGroup.Create.class}) + private String videoUrl; + + @Excel(name = "封面url") + @ApiModelProperty("封面url") + private String coverUrl; + + @Excel(name = "编码") + @ApiModelProperty("编码") + private String code; + +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/HelpQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/HelpQuery.java new file mode 100644 index 0000000..d52cec7 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/HelpQuery.java @@ -0,0 +1,12 @@ +package com.ruoyi.bst.help.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class HelpQuery extends HelpVO{ + + @ApiModelProperty("精准教程编码") + private String eqCode; + +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/HelpVO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/HelpVO.java new file mode 100644 index 0000000..ad4f8f0 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/HelpVO.java @@ -0,0 +1,7 @@ +package com.ruoyi.bst.help.domain; + +import lombok.Data; + +@Data +public class HelpVO extends Help{ +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/enums/HelpStatus.java b/ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/enums/HelpStatus.java new file mode 100644 index 0000000..152756f --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/help/domain/enums/HelpStatus.java @@ -0,0 +1,15 @@ +package com.ruoyi.bst.help.domain.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum HelpStatus { + + ENABLED("1", "启用"), + DISABLED("2", "禁用"); + + private final String code; + private final String name; +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/help/mapper/HelpMapper.java b/ruoyi-service/src/main/java/com/ruoyi/bst/help/mapper/HelpMapper.java new file mode 100644 index 0000000..50cac90 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/help/mapper/HelpMapper.java @@ -0,0 +1,74 @@ +package com.ruoyi.bst.help.mapper; + +import java.util.List; +import com.ruoyi.bst.help.domain.Help; +import com.ruoyi.bst.help.domain.HelpVO; +import com.ruoyi.bst.help.domain.HelpQuery; +import org.apache.ibatis.annotations.Param; + +/** + * 教程列表Mapper接口 + * + * @author ruoyi + * @date 2025-04-29 + */ +public interface HelpMapper +{ + /** + * 查询教程列表 + * + * @param id 教程列表主键 + * @return 教程列表 + */ + HelpVO selectHelpById(Long id); + + /** + * 查询教程列表列表 + * + * @param query 教程列表 + * @return 教程列表集合 + */ + List selectHelpList(@Param("query")HelpQuery query); + + /** + * 新增教程列表 + * + * @param help 教程列表 + * @return 结果 + */ + int insertHelp(Help help); + + /** + * 批量新增教程列表 + */ + int batchInsert(@Param("list") List list); + + /** + * 批量修改教程列表 + */ + int batchUpdate(@Param("list") List list); + + /** + * 修改教程列表 + * + * @param help 教程列表 + * @return 结果 + */ + public int updateHelp(@Param("data") Help help); + + /** + * 删除教程列表 + * + * @param id 教程列表主键 + * @return 结果 + */ + int deleteHelpById(Long id); + + /** + * 批量删除教程列表 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteHelpByIds(Long[] ids); +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/help/mapper/HelpMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/help/mapper/HelpMapper.xml new file mode 100644 index 0000000..8baa70f --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/help/mapper/HelpMapper.xml @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + + + select + bh.id, + bh.title, + bh.status, + bh.video_url, + bh.cover_url, + bh.create_time, + bh.update_time, + bh.remark, + bh.code + from bst_help bh + + + + and bh.id = #{query.id} + and bh.title like concat('%', #{query.title}, '%') + and bh.status = #{query.status} + and bh.video_url = #{query.videoUrl} + and bh.cover_url = #{query.coverUrl} + and bh.code like concat('%', #{query.code}, '%') + and bh.code = #{query.eqCode} + ${query.params.dataScope} + + + + + + + + insert into bst_help + + title, + status, + video_url, + cover_url, + create_time, + update_time, + remark, + code, + + + #{title}, + #{status}, + #{videoUrl}, + #{coverUrl}, + #{createTime}, + #{updateTime}, + #{remark}, + #{code}, + + + + + insert into bst_help + + title, + status, + video_url, + cover_url, + create_time, + update_time, + remark, + code, + + values + + + #{i.title}, + default, + #{i.status}, + default, + #{i.videoUrl}, + default, + #{i.coverUrl}, + default, + #{i.createTime}, + default, + #{i.updateTime}, + default, + #{i.remark}, + default, + #{i.code}, + default, + + + + + + update bst_help + + + + + WHEN #{item.id} THEN #{item.title} + + + WHEN #{item.id} THEN `title` + + + + + + + WHEN #{item.id} THEN #{item.status} + + + WHEN #{item.id} THEN `status` + + + + + + + WHEN #{item.id} THEN #{item.videoUrl} + + + WHEN #{item.id} THEN `video_url` + + + + + + + WHEN #{item.id} THEN #{item.coverUrl} + + + WHEN #{item.id} THEN `cover_url` + + + + + + + WHEN #{item.id} THEN #{item.createTime} + + + WHEN #{item.id} THEN `create_time` + + + + + + + WHEN #{item.id} THEN #{item.updateTime} + + + WHEN #{item.id} THEN `update_time` + + + + + + + WHEN #{item.id} THEN #{item.remark} + + + WHEN #{item.id} THEN `remark` + + + + + + + WHEN #{item.id} THEN #{item.code} + + + WHEN #{item.id} THEN `code` + + + + + where id in + + #{item.id} + + + + + update bst_help + + + + where id = #{data.id} + + + + title = #{data.title}, + status = #{data.status}, + video_url = #{data.videoUrl}, + cover_url = #{data.coverUrl}, + create_time = #{data.createTime}, + update_time = #{data.updateTime}, + remark = #{data.remark}, + code = #{data.code}, + + + + delete from bst_help where id = #{id} + + + + delete from bst_help where id in + + #{id} + + + diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/help/service/HelpService.java b/ruoyi-service/src/main/java/com/ruoyi/bst/help/service/HelpService.java new file mode 100644 index 0000000..aa5dd76 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/help/service/HelpService.java @@ -0,0 +1,71 @@ +package com.ruoyi.bst.help.service; + +import java.util.List; +import com.ruoyi.bst.help.domain.Help; +import com.ruoyi.bst.help.domain.HelpVO; +import com.ruoyi.bst.help.domain.HelpQuery; + +/** + * 教程列表Service接口 + * + * @author ruoyi + * @date 2025-04-29 + */ +public interface HelpService +{ + /** + * 查询教程列表 + * + * @param id 教程列表主键 + * @return 教程列表 + */ + public HelpVO selectHelpById(Long id); + + /** + * 查询教程列表列表 + * + * @param help 教程列表 + * @return 教程列表集合 + */ + public List selectHelpList(HelpQuery help); + + /** + * 新增教程列表 + * + * @param help 教程列表 + * @return 结果 + */ + public int insertHelp(Help help); + + /** + * 修改教程列表 + * + * @param help 教程列表 + * @return 结果 + */ + public int updateHelp(Help help); + + /** + * 批量删除教程列表 + * + * @param ids 需要删除的教程列表主键集合 + * @return 结果 + */ + public int deleteHelpByIds(Long[] ids); + + /** + * 删除教程列表信息 + * + * @param id 教程列表主键 + * @return 结果 + */ + public int deleteHelpById(Long id); + + /** + * 通过教程编码获取教程详情 + * + * @param code 教程编码 + * @return 教程详情 + */ + public HelpVO selectByCode(String code); +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/help/service/impl/HelpServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/help/service/impl/HelpServiceImpl.java new file mode 100644 index 0000000..4b7cca2 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/help/service/impl/HelpServiceImpl.java @@ -0,0 +1,118 @@ +package com.ruoyi.bst.help.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.collection.CollectionUtils; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.bst.help.mapper.HelpMapper; +import com.ruoyi.bst.help.domain.Help; +import com.ruoyi.bst.help.domain.HelpVO; +import com.ruoyi.bst.help.domain.HelpQuery; +import com.ruoyi.bst.help.service.HelpService; + +/** + * 教程列表Service业务层处理 + * + * @author ruoyi + * @date 2025-04-29 + */ +@Service +public class HelpServiceImpl implements HelpService +{ + @Autowired + private HelpMapper helpMapper; + + /** + * 查询教程列表 + * + * @param id 教程列表主键 + * @return 教程列表 + */ + @Override + public HelpVO selectHelpById(Long id) + { + return helpMapper.selectHelpById(id); + } + + /** + * 查询教程列表列表 + * + * @param help 教程列表 + * @return 教程列表 + */ + @Override + public List selectHelpList(HelpQuery help) + { + return helpMapper.selectHelpList(help); + } + + /** + * 新增教程列表 + * + * @param help 教程列表 + * @return 结果 + */ + @Override + public int insertHelp(Help help) + { + help.setCreateTime(DateUtils.getNowDate()); + return helpMapper.insertHelp(help); + } + + /** + * 修改教程列表 + * + * @param help 教程列表 + * @return 结果 + */ + @Override + public int updateHelp(Help help) + { + help.setUpdateTime(DateUtils.getNowDate()); + return helpMapper.updateHelp(help); + } + + /** + * 批量删除教程列表 + * + * @param ids 需要删除的教程列表主键 + * @return 结果 + */ + @Override + public int deleteHelpByIds(Long[] ids) + { + return helpMapper.deleteHelpByIds(ids); + } + + /** + * 删除教程列表信息 + * + * @param id 教程列表主键 + * @return 结果 + */ + @Override + public int deleteHelpById(Long id) + { + return helpMapper.deleteHelpById(id); + } + + @Override + public HelpVO selectByCode(String code) { + if (StringUtils.isBlank(code)) { + return null; + } + HelpQuery query = new HelpQuery(); + query.setEqCode(code); + return this.selectOne(query); + } + private HelpVO selectOne(HelpQuery query) { + List list = this.selectHelpList(query); + if (CollectionUtils.isEmpty(list)) { + return null; + } + return list.get(0); + } + +} diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppHelpController.java b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppHelpController.java new file mode 100644 index 0000000..9d5f707 --- /dev/null +++ b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppHelpController.java @@ -0,0 +1,52 @@ +package com.ruoyi.web.controller.app; + +import java.util.List; + +import com.ruoyi.bst.help.service.HelpService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.ruoyi.common.annotation.Anonymous; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.bst.help.domain.HelpQuery; +import com.ruoyi.bst.help.domain.HelpVO; +import com.ruoyi.bst.help.domain.enums.HelpStatus; +import com.ruoyi.bst.help.service.HelpService; + +import io.swagger.annotations.ApiOperation; + +@RestController +@RequestMapping("/app/help") +public class AppHelpController extends BaseController { + + @Autowired + private HelpService helpService; + + @ApiOperation("获取教程列表") + @GetMapping("list") + @Anonymous + public TableDataInfo list(HelpQuery query) { + startPage(); + query.setStatus(HelpStatus.ENABLED.getCode()); + List list = helpService.selectHelpList(query); + return getDataTable(list); + } + + @ApiOperation("获取教程详情") + @GetMapping("/detail") + @Anonymous + public AjaxResult detail(@RequestParam(required = false) String code, @RequestParam(required = false) Long id) { + if (StringUtils.hasText(code)) { + return success(helpService.selectByCode(code)); + } else if (id != null) { + return success(helpService.selectHelpById(id)); + } + return success(null); + } +} diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/bst/HelpController.java b/ruoyi-web/src/main/java/com/ruoyi/web/bst/HelpController.java new file mode 100644 index 0000000..19ec65a --- /dev/null +++ b/ruoyi-web/src/main/java/com/ruoyi/web/bst/HelpController.java @@ -0,0 +1,103 @@ +package com.ruoyi.web.bst; + +import com.ruoyi.bst.help.domain.Help; +import com.ruoyi.bst.help.domain.HelpQuery; +import com.ruoyi.bst.help.domain.HelpVO; +import com.ruoyi.bst.help.service.HelpService; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.core.validate.ValidGroup; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 教程列表Controller + * + * @author ruoyi + * @date 2025-04-29 + */ +@RestController +@RequestMapping("/bst/help") +public class HelpController extends BaseController +{ + @Autowired + private HelpService helpService; + + /** + * 查询教程列表列表 + */ + @PreAuthorize("@ss.hasPermi('bst:help:list')") + @GetMapping("/list") + public TableDataInfo list(HelpQuery query) + { + startPage(); + startOrderBy(); + List list = helpService.selectHelpList(query); + return getDataTable(list); + } + + /** + * 导出教程列表列表 + */ + @PreAuthorize("@ss.hasPermi('bst:help:export')") + @Log(title = "教程列表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, HelpQuery query) + { + List list = helpService.selectHelpList(query); + ExcelUtil util = new ExcelUtil(HelpVO.class); + util.exportExcel(response, list, "教程列表数据"); + } + + /** + * 获取教程列表详细信息 + */ + @PreAuthorize("@ss.hasPermi('bst:help:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(helpService.selectHelpById(id)); + } + + /** + * 新增教程列表 + */ + @PreAuthorize("@ss.hasPermi('bst:help:add')") + @Log(title = "教程列表", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody @Validated(ValidGroup.Create.class) Help help) + { + return toAjax(helpService.insertHelp(help)); + } + + /** + * 修改教程列表 + */ + @PreAuthorize("@ss.hasPermi('bst:help:edit')") + @Log(title = "教程列表", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody@Validated(ValidGroup.Update.class) Help help) + { + return toAjax(helpService.updateHelp(help)); + } + + /** + * 删除教程列表 + */ + @PreAuthorize("@ss.hasPermi('bst:help:remove')") + @Log(title = "教程列表", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(helpService.deleteHelpByIds(ids)); + } +}