From 3244b550596e0330031b3f4547356927df83b0ad Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 19 五月 2025 11:48:35 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 111 insertions(+), 7 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java index 9acebda..b47e05b 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java @@ -1,21 +1,32 @@ package com.ruoyi.chargingPile.controller; -import com.ruoyi.chargingPile.api.dto.TChargingGunDTO; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.account.api.dto.SendMessageDTO; +import com.ruoyi.account.api.feignClient.AppUserClient; +import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.chargingPile.api.model.TFaultMessage; +import com.ruoyi.chargingPile.service.ISiteService; +import com.ruoyi.chargingPile.service.TChargingPileNotificationService; import com.ruoyi.chargingPile.service.TChargingPileService; import com.ruoyi.chargingPile.service.TFaultMessageService; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.BasePage; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.OperatorType; +import com.ruoyi.common.security.annotation.Logical; +import com.ruoyi.common.security.annotation.RequiresPermissions; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -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.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; /** * <p> @@ -30,10 +41,17 @@ public class TFaultMessageController { private final TFaultMessageService faultMessageService; - + private final ISiteService siteService; + private final TChargingPileService chargingPileService; + private final TChargingPileNotificationService chargingPileNotificationService; + @Resource + private AppUserClient appUserClient; @Autowired - public TFaultMessageController(TFaultMessageService faultMessageService) { + public TFaultMessageController(TFaultMessageService faultMessageService, ISiteService siteService, TChargingPileService chargingPileService, TChargingPileNotificationService chargingPileNotificationService) { this.faultMessageService = faultMessageService; + this.siteService = siteService; + this.chargingPileService = chargingPileService; + this.chargingPileNotificationService = chargingPileNotificationService; } /** @@ -47,6 +65,92 @@ return AjaxResult.success(); } + /** + * 获取故障信息列表 + * @param siteId + * @param basePage + * @return + */ + @RequiresPermissions(value = {"/faultInformationList"}, logical = Logical.OR) + @ResponseBody + @GetMapping("/getFaultMessageList") + @ApiOperation(value = "获取故障信息列表数据", tags = {"管理后台-设备监控"}) + public AjaxResult<PageInfo<TFaultMessage>> getFaultMessageList(Integer siteId, BasePage basePage){ + PageInfo<TFaultMessage> pageInfo = new PageInfo<>(basePage.getPageCurr(), basePage.getPageSize()); + List<TFaultMessage> faultMessageList = faultMessageService.getFaultMessageList(pageInfo, siteId); + pageInfo.setRecords(faultMessageList); + return AjaxResult.success(pageInfo); + } + + + @RequiresPermissions(value = {"/faultInformationList/add"}, logical = Logical.OR) + @ResponseBody + @PostMapping("/addFaultMessage") + @ApiOperation(value = "添加故障信息", tags = {"管理后台-设备监控"}) + @Log(title = "【设备监控】添加故障信息", businessType = BusinessType.INSERT,operatorType = OperatorType.MANAGE) + public AjaxResult addFaultMessage(@RequestBody TFaultMessage faultMessage){ + faultMessageService.save(faultMessage); + return AjaxResult.success(); + } + + + @RequiresPermissions(value = {"/faultInformationList/del"}, logical = Logical.OR) + @ResponseBody + @DeleteMapping("/delFaultMessage/{id}") + @ApiOperation(value = "删除故障信息", tags = {"管理后台-设备监控"}) + @Log(title = "【设备监控】删除故障信息", businessType = BusinessType.DELETE,operatorType = OperatorType.MANAGE) + public AjaxResult delFaultMessage(@PathVariable Integer id){ + faultMessageService.removeById(id); + return AjaxResult.success(); + } + /** + * 添加离线故障记录 + * @param faultMessage + * @return + */ + @PostMapping("/createFaultMessage") + public R<String> createFaultMessage(@RequestBody TFaultMessage faultMessage){ + faultMessageService.save(faultMessage); + + Site site = siteService.getById(faultMessage.getSiteId()); + TChargingPile chargingPile = chargingPileService.getById(faultMessage.getChargingPileId()); + String siteName = site.getName(); + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + sendMessageDTO.setPhone(site.getPhone()); + sendMessageDTO.setSite(site.getName()); + sendMessageDTO.setChargeGun(chargingPile.getNumber() + ""); + sendMessageDTO.setType(3); + String result = appUserClient.sendMessage(sendMessageDTO).getData(); + if(siteName.length()>10){ + siteName = siteName.substring(0,10); + } + chargingPileNotificationService.saveData(4,faultMessage.getSiteId(),faultMessage.getChargingPileId(),site.getPhone(),"检测到"+siteName+"..."+chargingPile.getNumber()+"号桩设备离线,请及时查看处理!"); + return R.ok(); + } + /** + * 修改离线故障记录 + * @param faultMessage + * @return + */ + @PostMapping("/updateFaultMessage") + public R<String> updateFaultMessage(@RequestBody TFaultMessage faultMessage){ + faultMessageService.updateById(faultMessage); + return R.ok(); + } + /** + * 查询枪是否有离线或故障记录 + * @param gunId + * @return + */ + @PostMapping("/getFaultMessageByGunId/{gunId}") + public R<TFaultMessage> getFaultMessageByGunId(@PathVariable("gunId") Integer gunId){ + return R.ok(faultMessageService.getOne(Wrappers.lambdaQuery(TFaultMessage.class) + .eq(TFaultMessage::getChargingGunId,gunId) + .and(e->e.eq(TFaultMessage::getStatus,1).or().eq(TFaultMessage::getStatus,2)) + .isNull(TFaultMessage::getEndTime) + .orderByDesc(TFaultMessage::getDownTime) + .last("LIMIT 1"))); + } } -- Gitblit v1.7.1