From 5b56c1f1ce9a274f7edaa10cd0980b6f922f0a28 Mon Sep 17 00:00:00 2001 From: SjS Date: Fri, 28 Mar 2025 12:42:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B3=E6=8A=A5=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bst/article/domain/ArticleQuery.java | 2 +- .../service/impl/ArticleServiceImpl.java | 19 ++++++ .../domain/ArticleCategory.java | 2 +- .../impl/ArticleCategoryServiceImpl.java | 1 + .../com/ruoyi/bst/fault/domain/Fault.java | 6 +- .../ruoyi/bst/fault/domain/FaultQuery.java | 1 + .../com/ruoyi/bst/fault/domain/FaultVO.java | 9 +++ .../ruoyi/bst/fault/mapper/FaultMapper.java | 2 + .../ruoyi/bst/fault/mapper/FaultMapper.xml | 16 ++++- .../ruoyi/bst/fault/service/FaultService.java | 2 + .../fault/service/impl/FaultServiceImpl.java | 8 +++ .../ruoyi/web/app/AppArticleController.java | 36 ++++++++++ .../web/app/AppAtricleCategoryController.java | 20 +++--- .../com/ruoyi/web/app/AppFaultController.java | 68 +++++++++++++++---- 14 files changed, 163 insertions(+), 29 deletions(-) create mode 100644 ruoyi-web/src/main/java/com/ruoyi/web/app/AppArticleController.java diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/article/domain/ArticleQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/article/domain/ArticleQuery.java index be30152..e52ab89 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/article/domain/ArticleQuery.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/article/domain/ArticleQuery.java @@ -1,4 +1,4 @@ package com.ruoyi.bst.article.domain; -public class ArticleQuery { +public class ArticleQuery extends Article{ } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/article/service/impl/ArticleServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/article/service/impl/ArticleServiceImpl.java index 2ed8721..10f1b22 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/article/service/impl/ArticleServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/article/service/impl/ArticleServiceImpl.java @@ -2,8 +2,12 @@ package com.ruoyi.bst.article.service.impl; import java.util.List; +import com.ruoyi.bst.area.service.AreaService; import com.ruoyi.bst.article.service.ArticleService; +import com.ruoyi.bst.articleCategory.service.ArticleCategoryService; +import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.ServiceUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.bst.article.mapper.ArticleMapper; @@ -24,6 +28,11 @@ public class ArticleServiceImpl implements ArticleService @Autowired private ArticleMapper articleMapper; + @Autowired + private ArticleCategoryService articleCategoryService; + + @Autowired + private AreaService areaService; /** * 查询文章 * @@ -57,6 +66,16 @@ public class ArticleServiceImpl implements ArticleService @Override public int insertArticle(Article article) { + //分类必须存在 + if(articleCategoryService.selectArticleCategoryById(article.getCategoryId()) ==null){ + throw new ServiceException("当前分类不存在"); + } + + //所属区域必须存在 + if (areaService.selectAreaById(article.getAreaId()) == null){ + throw new ServiceException("所属区域不存在"); + } + article.setCreateTime(DateUtils.getNowDate()); return articleMapper.insertArticle(article); } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/articleCategory/domain/ArticleCategory.java b/ruoyi-service/src/main/java/com/ruoyi/bst/articleCategory/domain/ArticleCategory.java index b8a996f..e294773 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/articleCategory/domain/ArticleCategory.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/articleCategory/domain/ArticleCategory.java @@ -26,7 +26,7 @@ public class ArticleCategory extends TreeEntity @Excel(name = "状态:0-禁用 1-启用") @ApiModelProperty("状态:0-禁用 1-启用") - private Integer categoryStatus; + private String categoryStatus; @Excel(name = "父分类ID") @ApiModelProperty("父分类ID") diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/articleCategory/service/impl/ArticleCategoryServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/articleCategory/service/impl/ArticleCategoryServiceImpl.java index a532016..f7ea835 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/articleCategory/service/impl/ArticleCategoryServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/articleCategory/service/impl/ArticleCategoryServiceImpl.java @@ -117,6 +117,7 @@ public class ArticleCategoryServiceImpl implements ArticleCategoryService List allIdsToDelete = new ArrayList<>(); allIdsToDelete.addAll(cids); allIdsToDelete.addAll(Arrays.asList(ids)); + if (!allIdsToDelete.isEmpty()){ return articleCategoryMapper.deleteArticleCategoryByIds(ids); } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/domain/Fault.java b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/domain/Fault.java index 829b11f..ba2ad32 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/domain/Fault.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/domain/Fault.java @@ -26,7 +26,7 @@ public class Fault extends BaseEntity @Excel(name = "车辆编号") @ApiModelProperty("车辆编号") - private Long vehicleCode; + private String vehicleCode; @Excel(name = "图片") @ApiModelProperty("图片") @@ -48,4 +48,8 @@ public class Fault extends BaseEntity @ApiModelProperty("状态") private String appealStatus; + @Excel(name = "用户id") + @ApiModelProperty("用户id") + private Long userId; + } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/domain/FaultQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/domain/FaultQuery.java index cc7f64b..8152ca2 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/domain/FaultQuery.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/domain/FaultQuery.java @@ -1,5 +1,6 @@ package com.ruoyi.bst.fault.domain; +import com.ruoyi.common.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/domain/FaultVO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/domain/FaultVO.java index e0da8e2..c78950c 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/domain/FaultVO.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/domain/FaultVO.java @@ -1,8 +1,17 @@ package com.ruoyi.bst.fault.domain; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.time.LocalDateTime; + @Data public class FaultVO extends Fault{ + @ApiModelProperty("订单时间") + private LocalDateTime orderEndTime; + + @ApiModelProperty("故障原因") + private String faultSite; + } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/mapper/FaultMapper.java b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/mapper/FaultMapper.java index e9a3f53..6ec70f6 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/mapper/FaultMapper.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/mapper/FaultMapper.java @@ -71,4 +71,6 @@ public interface FaultMapper * @return 结果 */ public int deleteFaultByIds(Long[] ids); + + FaultVO selectFaultByUserId(Long id); } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/mapper/FaultMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/mapper/FaultMapper.xml index 7e6b3ca..2ec89f5 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/mapper/FaultMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/mapper/FaultMapper.xml @@ -16,7 +16,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bf.fault_site, bf.fault_detail, bf.appeal_status, - bf.create_time + bf.create_time, + bf.order_end_time, + bf.user_id from bst_fault bf @@ -25,6 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bf.vehicle_code = #{query.vehicleCode} and bf.picture = #{query.picture} and bf.order_id = #{query.orderId} + and bf.user_id = #{query.userId} AND @@ -47,6 +50,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + insert into bst_fault @@ -59,6 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" fault_detail, appeal_status, create_time, + user_id, #{userName}, @@ -69,6 +82,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{faultDetail}, #{appealStatus}, #{createTime}, + #{userId}, diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/service/FaultService.java b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/service/FaultService.java index 8a08130..7cd843c 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/service/FaultService.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/service/FaultService.java @@ -60,4 +60,6 @@ public interface FaultService * @return 结果 */ public int deleteFaultById(Long id); + + FaultVO selectFaultByUserId(Long id); } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/service/impl/FaultServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/service/impl/FaultServiceImpl.java index befe8bb..7bde8ca 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/fault/service/impl/FaultServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/fault/service/impl/FaultServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.bst.fault.service.impl; import java.util.List; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.bst.fault.mapper.FaultMapper; @@ -31,6 +32,7 @@ public class FaultServiceImpl implements FaultService @Override public FaultVO selectFaultById(Long id) { + return faultMapper.selectFaultById(id); } @@ -56,6 +58,7 @@ public class FaultServiceImpl implements FaultService public int insertFault(Fault fault) { fault.setCreateTime(DateUtils.getNowDate()); + fault.setUserId(SecurityUtils.getLoginUser().getUserId()); return faultMapper.insertFault(fault); } @@ -94,4 +97,9 @@ public class FaultServiceImpl implements FaultService { return faultMapper.deleteFaultById(id); } + + @Override + public FaultVO selectFaultByUserId(Long id) { + return faultMapper.selectFaultByUserId(id); + } } diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppArticleController.java b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppArticleController.java new file mode 100644 index 0000000..b3bab96 --- /dev/null +++ b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppArticleController.java @@ -0,0 +1,36 @@ +package com.ruoyi.web.app; + + +import com.ruoyi.bst.areaSub.domain.AreaSubQuery; +import com.ruoyi.bst.areaSub.domain.enums.AreaSubStatus; +import com.ruoyi.bst.article.domain.ArticleQuery; +import com.ruoyi.bst.article.service.ArticleService; +import com.ruoyi.bst.articleCategory.domain.ArticleCategoryQuery; +import com.ruoyi.bst.articleCategory.domain.enums.ArticleCategoryStatus; +import com.ruoyi.common.annotation.Anonymous; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/app/article") +public class AppArticleController extends BaseController { + + @Autowired + private ArticleService articleService; + + + @ApiOperation("查看文章信息") + @GetMapping("/detail") + @Anonymous + public AjaxResult getCategoryList(ArticleQuery query) { + if(query.getId() == null){ + return error("文章id不能为空"); + } + return AjaxResult.success(articleService.selectArticleList(query)); + } +} diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppAtricleCategoryController.java b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppAtricleCategoryController.java index df672b9..41363a0 100644 --- a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppAtricleCategoryController.java +++ b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppAtricleCategoryController.java @@ -1,30 +1,30 @@ package com.ruoyi.web.app; -import com.ruoyi.bst.areaSub.domain.AreaSubQuery; -import com.ruoyi.bst.areaSub.domain.enums.AreaSubStatus; import com.ruoyi.bst.articleCategory.domain.ArticleCategoryQuery; +import com.ruoyi.bst.articleCategory.domain.enums.ArticleCategoryStatus; +import com.ruoyi.bst.articleCategory.service.ArticleCategoryService; import com.ruoyi.common.annotation.Anonymous; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import static com.ruoyi.common.core.domain.AjaxResult.error; @RestController @RequestMapping("/app/articleCategory") public class AppAtricleCategoryController extends BaseController { - @ApiOperation("获取分类列表") + @Autowired + private ArticleCategoryService articleCategoryService; + + @ApiOperation("展示分类信息") @GetMapping("/list") @Anonymous - public AjaxResult getAreaSubList(ArticleCategoryQuery query) { - if (query.getAreaId() == null) { - return error("areaId不能为空"); - } - query.setStatus(AreaSubStatus.ENABLED.getCode()); - return success(areaSubService.selectAreaSubList(query)); + public AjaxResult getCategoryList(ArticleCategoryQuery query) { + query.setCategoryStatus(ArticleCategoryStatus.ENABLED.getCode()); + return success(articleCategoryService.selectArticleCategoryList(query)); } } diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppFaultController.java b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppFaultController.java index 0f8f628..e3f585b 100644 --- a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppFaultController.java +++ b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppFaultController.java @@ -1,18 +1,24 @@ package com.ruoyi.web.app; +import com.ruoyi.bst.device.domain.DeviceVO; +import com.ruoyi.bst.device.service.DeviceService; +import com.ruoyi.bst.fault.domain.Fault; +import com.ruoyi.bst.fault.domain.FaultQuery; import com.ruoyi.bst.fault.domain.FaultVO; import com.ruoyi.bst.fault.service.FaultService; +import com.ruoyi.bst.order.service.OrderService; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; /** - * 用户查询自己提交的故障信息 + * 故障申报前台 */ @RestController @RequestMapping("/app/fault") @@ -21,14 +27,46 @@ public class AppFaultController extends BaseController { @Autowired private FaultService faultService; - @GetMapping("/{id}") - public AjaxResult get(@PathVariable Long id) { - Long userId = SecurityUtils.getLoginUser().getUserId(); - // 当用户查询的故障信息是自己的或当前用户是超级管理员时 - if (userId.equals(id)|| userId == 1){ - FaultVO faultVO = faultService.selectFaultById(id); - return success(faultVO); - } - return error("您的查询不合法!"); + @Autowired + private DeviceService deviceService; + + @Autowired + private OrderService orderService; + + /** + * 新增 + * @param fault + * @return + */ + @PostMapping + public AjaxResult add(@RequestBody Fault fault) { + faultService.insertFault(fault); + return success(); + } + + + @GetMapping + public AjaxResult get(FaultQuery query) { + query.setUserId(getUserId()); + List list = faultService.selectFaultList(query); + List validList = new ArrayList<>(); + + list.forEach(faultVO -> { + DeviceVO deviceVO = deviceService.selectDeviceBySn(faultVO.getVehicleCode()); + if (deviceVO == null){ + return; + } + Long orderId = deviceVO.getOrderId(); + if (orderId == null) { + return; + } + LocalDateTime orderEndTime = orderService.selectOrderById(orderId).getEndTime(); + if (orderEndTime == null) { + return; + } + faultVO.setOrderEndTime(orderEndTime); + validList.add(faultVO); + }); + return success(validList); + } } -}