From 25eb3887984aa894856c8770422a1597133cc5df Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 07 二月 2025 17:01:34 +0800 Subject: [PATCH] 轮播图 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBannerController.java | 104 +++++++++++++++++ ruoyi-system/src/main/java/com/ruoyi/system/model/TBanner.java | 43 +++++++ ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBannerMapper.java | 29 ++++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBannerServiceImpl.java | 32 +++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TItemTypeController.java | 17 ++ ruoyi-system/src/main/java/com/ruoyi/system/query/TBannerQuery.java | 13 ++ ruoyi-system/src/main/resources/mapper/system/TBannerMapper.xml | 29 ++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultAreaDicController.java | 19 ++- ruoyi-system/src/main/java/com/ruoyi/system/service/TBannerService.java | 24 ++++ 9 files changed, 303 insertions(+), 7 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBannerController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBannerController.java new file mode 100644 index 0000000..8eb891f --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBannerController.java @@ -0,0 +1,104 @@ +package com.ruoyi.web.controller.api; + + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.model.TBanner; +import com.ruoyi.system.query.TBannerQuery; +import com.ruoyi.system.service.TBannerService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 java.util.List; + +/** + * <p> + * 轮播图管理 前端控制器 + * </p> + * + * @author xiaochen + * @since 2025-02-07 + */ +@Api(tags = "轮播图管理") +@RestController +@RequestMapping("/t-banner") +public class TBannerController { + + private final TBannerService bannerService; + @Autowired + public TBannerController(TBannerService bannerService) { + this.bannerService = bannerService; + } + + /** + * 获取轮播图管理列表 + */ + @PreAuthorize("@ss.hasPermi('system:banner:list')") + @ApiOperation(value = "获取轮播图分页列表") + @PostMapping(value = "/pageList") + public R<PageInfo<TBanner>> pageList(@RequestBody TBannerQuery query) { + return R.ok(bannerService.pageList(query)); + } + + /** + * 添加轮播图管理 + */ + @PreAuthorize("@ss.hasPermi('system:banner:add')") + @Log(title = "轮播图信息-新增轮播图", businessType = BusinessType.INSERT) + @ApiOperation(value = "添加轮播图") + @PostMapping(value = "/add") + public R<Boolean> add(@Validated @RequestBody TBanner dto) { + return R.ok(bannerService.save(dto)); + } + + /** + * 修改轮播图 + */ + @PreAuthorize("@ss.hasPermi('system:banner:update')") + @Log(title = "轮播图信息-修改轮播图", businessType = BusinessType.UPDATE) + @ApiOperation(value = "修改轮播图") + @PostMapping(value = "/update") + public R<Boolean> update(@Validated @RequestBody TBanner dto) { + return R.ok(bannerService.updateById(dto)); + } + + /** + * 查看轮播图详情 + */ + @PreAuthorize("@ss.hasPermi('system:banner:detail')") + @ApiOperation(value = "查看轮播图详情") + @GetMapping(value = "/getDetailById") + public R<TBanner> getDetailById(@RequestParam String id) { + return R.ok(bannerService.getById(id)); + } + + /** + * 删除轮播图 + */ + @PreAuthorize("@ss.hasPermi('system:banner:delete')") + @Log(title = "轮播图信息-删除轮播图", businessType = BusinessType.DELETE) + @ApiOperation(value = "删除轮播图") + @DeleteMapping(value = "/deleteById") + public R<Boolean> deleteById(@RequestParam String id) { + return R.ok(bannerService.removeById(id)); + } + + /** + * 批量删除轮播图 + */ + @PreAuthorize("@ss.hasPermi('system:banner:delete')") + @Log(title = "轮播图信息-删除轮播图", businessType = BusinessType.DELETE) + @ApiOperation(value = "批量删除轮播图") + @DeleteMapping(value = "/deleteByIds") + public R<Boolean> deleteByIds(@RequestBody List<String> ids) { + return R.ok(bannerService.removeByIds(ids)); + } + +} + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultAreaDicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultAreaDicController.java index accebe7..612ca22 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultAreaDicController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultAreaDicController.java @@ -8,6 +8,8 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.system.model.TFaultAreaDic; import com.ruoyi.system.model.TFaultDescribeDic; +import com.ruoyi.system.model.TItem; +import com.ruoyi.system.model.TItemType; import com.ruoyi.system.query.TFaultAreaDicQuery; import com.ruoyi.system.service.TFaultAreaDicService; import com.ruoyi.system.service.TFaultDescribeDicService; @@ -104,9 +106,10 @@ @ApiOperation(value = "删除故障区域") @DeleteMapping(value = "/deleteById") public R<Boolean> deleteById(@RequestParam String id) { - // 删除故障描述关联信息 - faultDescribeDicService.remove(Wrappers.lambdaQuery(TFaultDescribeDic.class) - .eq(TFaultDescribeDic::getFaultId, id)); + long count = faultDescribeDicService.count(Wrappers.lambdaQuery(TFaultDescribeDic.class).eq(TFaultDescribeDic::getFaultId, id)); + if (count>0) { + return R.fail("该区域下有故障描述,无法删除"); + } return R.ok(faultAreaDicService.removeById(id)); } @@ -118,9 +121,13 @@ @ApiOperation(value = "批量删除故障区域") @DeleteMapping(value = "/deleteByIds") public R<Boolean> deleteByIds(@RequestBody List<String> ids) { - // 删除故障描述关联信息 - faultDescribeDicService.remove(Wrappers.lambdaQuery(TFaultDescribeDic.class) - .in(TFaultDescribeDic::getFaultId, ids)); + List<TFaultDescribeDic> items = faultDescribeDicService.list(Wrappers.lambdaQuery(TFaultDescribeDic.class).in(TFaultDescribeDic::getFaultId, ids)); + for (String id : ids) { + if (items.stream().anyMatch(t -> t.getFaultId().equals(id))) { + TFaultAreaDic faultAreaDic = faultAreaDicService.getById(id); + return R.fail("该区域["+faultAreaDic.getFaultAreaName()+"]下有故障描述,无法删除"); + } + } return R.ok(faultAreaDicService.removeByIds(ids)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TItemTypeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TItemTypeController.java index 01a651f..e35db1f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TItemTypeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TItemTypeController.java @@ -6,8 +6,10 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.model.TItem; import com.ruoyi.system.model.TItemType; import com.ruoyi.system.query.TItemTypeQuery; +import com.ruoyi.system.service.TItemService; import com.ruoyi.system.service.TItemTypeService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -32,9 +34,11 @@ public class TItemTypeController { private final TItemTypeService itemTypeService; + private final TItemService itemService; @Autowired - public TItemTypeController(TItemTypeService itemTypeService) { + public TItemTypeController(TItemTypeService itemTypeService, TItemService itemService) { this.itemTypeService = itemTypeService; + this.itemService = itemService; } /** @@ -103,6 +107,10 @@ @ApiOperation(value = "删除维修物品分类") @DeleteMapping(value = "/deleteById") public R<Boolean> deleteById(@RequestParam String id) { + long count = itemService.count(Wrappers.lambdaQuery(TItem.class).eq(TItem::getTypeId, id)); + if (count>0) { + return R.fail("该分类下有维修物品,无法删除"); + } return R.ok(itemTypeService.removeById(id)); } @@ -114,6 +122,13 @@ @ApiOperation(value = "批量删除维修物品分类") @DeleteMapping(value = "/deleteByIds") public R<Boolean> deleteByIds(@RequestBody List<String> ids) { + List<TItem> items = itemService.list(Wrappers.lambdaQuery(TItem.class).in(TItem::getTypeId, ids)); + for (String id : ids) { + if (items.stream().anyMatch(t -> t.getTypeId().equals(id))) { + TItemType itemType = itemTypeService.getById(id); + return R.fail("该分类["+itemType.getTypeName()+"]下有维修物品,无法删除"); + } + } return R.ok(itemTypeService.removeByIds(ids)); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBannerMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBannerMapper.java new file mode 100644 index 0000000..b258375 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBannerMapper.java @@ -0,0 +1,29 @@ +package com.ruoyi.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.system.model.TBanner; +import com.ruoyi.system.query.TBannerQuery; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 轮播图管理 Mapper 接口 + * </p> + * + * @author xiaochen + * @since 2025-02-07 + */ +public interface TBannerMapper extends BaseMapper<TBanner> { + + /** + * 获取轮播图管理列表 + * @param query + * @param pageInfo + * @return + */ + List<TBanner> pageList(@Param("query") TBannerQuery query, @Param("pageInfo")PageInfo<TBanner> pageInfo); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TBanner.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TBanner.java new file mode 100644 index 0000000..1265ff2 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TBanner.java @@ -0,0 +1,43 @@ +package com.ruoyi.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.core.domain.BaseModel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 轮播图管理 + * </p> + * + * @author xiaochen + * @since 2025-02-07 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("t_banner") +@ApiModel(value="TBanner对象", description="轮播图管理") +public class TBanner extends BaseModel { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.ASSIGN_ID) + private String id; + + @ApiModelProperty(value = "图片") + @TableField("pictures") + private String pictures; + + @ApiModelProperty(value = "权重") + @TableField("sort_by") + private Integer sortBy; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TBannerQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TBannerQuery.java new file mode 100644 index 0000000..842b1a7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TBannerQuery.java @@ -0,0 +1,13 @@ +package com.ruoyi.system.query; + +import com.ruoyi.common.core.domain.BasePage; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +@Data +@ApiModel(value = "轮播图query") +public class TBannerQuery extends BasePage { + + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TBannerService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TBannerService.java new file mode 100644 index 0000000..b2ed584 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TBannerService.java @@ -0,0 +1,24 @@ +package com.ruoyi.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.system.model.TBanner; +import com.ruoyi.system.query.TBannerQuery; + +/** + * <p> + * 轮播图管理 服务类 + * </p> + * + * @author xiaochen + * @since 2025-02-07 + */ +public interface TBannerService extends IService<TBanner> { + + /** + * 获取轮播图分页列表 + * @param query + * @return + */ + PageInfo<TBanner> pageList(TBannerQuery query); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBannerServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBannerServiceImpl.java new file mode 100644 index 0000000..6dae322 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBannerServiceImpl.java @@ -0,0 +1,32 @@ +package com.ruoyi.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.system.mapper.TBannerMapper; +import com.ruoyi.system.model.TBanner; +import com.ruoyi.system.query.TBannerQuery; +import com.ruoyi.system.service.TBannerService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * <p> + * 轮播图管理 服务实现类 + * </p> + * + * @author xiaochen + * @since 2025-02-07 + */ +@Service +public class TBannerServiceImpl extends ServiceImpl<TBannerMapper, TBanner> implements TBannerService { + + @Override + public PageInfo<TBanner> pageList(TBannerQuery query) { + PageInfo<TBanner> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); + List<TBanner> list = this.baseMapper.pageList(query,pageInfo); + pageInfo.setRecords(list); + return pageInfo; + } +} diff --git a/ruoyi-system/src/main/resources/mapper/system/TBannerMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TBannerMapper.xml new file mode 100644 index 0000000..d9bd46a --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/TBannerMapper.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.system.mapper.TBannerMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TBanner"> + <id column="id" property="id" /> + <result column="pictures" property="pictures" /> + <result column="sort_by" property="sortBy" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="create_by" property="createBy" /> + <result column="update_by" property="updateBy" /> + <result column="disabled" property="disabled" /> + </resultMap> + + <!-- 通用查询结果列 --> + <sql id="Base_Column_List"> + id, pictures, sort_by, create_time, update_time, create_by, update_by, disabled + </sql> + <select id="pageList" resultType="com.ruoyi.system.model.TBanner"> + select + <include refid="Base_Column_List"/> + from t_banner + where disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} + order by sort_by, create_time desc + </select> + +</mapper> -- Gitblit v1.7.1