From 8de1e9fb67e1298ba3faaa723aa8139d4a4a2df8 Mon Sep 17 00:00:00 2001 From: jsowell <123@jsowell.com> Date: Tue, 19 May 2026 15:58:01 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=A0=A1=E9=AA=8C=E5=9B=BA=E4=BB=B6?= =?UTF-8?q?=E5=90=8D=E6=98=AF=E5=90=A6=E5=94=AF=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/PileFirmwareInfoController.java | 20 +++++++++++++++++++ .../pile/mapper/PileFirmwareInfoMapper.java | 9 +++++++++ .../pile/service/PileFirmwareInfoService.java | 8 ++++++++ .../impl/PileFirmwareInfoServiceImpl.java | 18 +++++++++++++++++ .../mapper/pile/PileFirmwareInfoMapper.xml | 8 +++++++- 5 files changed, 62 insertions(+), 1 deletion(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileFirmwareInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileFirmwareInfoController.java index 1433de0ee..a8623e43e 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileFirmwareInfoController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileFirmwareInfoController.java @@ -1,10 +1,12 @@ package com.jsowell.web.controller.pile; import com.jsowell.common.annotation.Log; +import com.jsowell.common.constant.UserConstants; import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.core.domain.AjaxResult; import com.jsowell.common.core.page.TableDataInfo; import com.jsowell.common.enums.BusinessType; +import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.poi.ExcelUtil; import com.jsowell.pile.domain.PileFirmwareInfo; import com.jsowell.pile.service.PileFirmwareInfoService; @@ -59,6 +61,16 @@ public class PileFirmwareInfoController extends BaseController { return AjaxResult.success(pileFirmwareInfoService.selectPileFirmwareInfoById(id)); } + /** + * 校验固件名称是否唯一 + */ + @PreAuthorize("@ss.hasAnyPermi('pile:firmware:query,pile:firmware:add,pile:firmware:edit')") + @GetMapping("/checkNameUnique") + public AjaxResult checkNameUnique(PileFirmwareInfo pileFirmwareInfo) { + pileFirmwareInfo.setName(StringUtils.trim(pileFirmwareInfo.getName())); + return AjaxResult.success(pileFirmwareInfoService.checkNameUnique(pileFirmwareInfo)); + } + /** * 新增充电桩固件信息 */ @@ -66,6 +78,10 @@ public class PileFirmwareInfoController extends BaseController { @Log(title = "充电桩固件信息", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody PileFirmwareInfo pileFirmwareInfo) { + pileFirmwareInfo.setName(StringUtils.trim(pileFirmwareInfo.getName())); + if (UserConstants.NOT_UNIQUE.equals(pileFirmwareInfoService.checkNameUnique(pileFirmwareInfo))) { + return AjaxResult.error("新增固件'" + pileFirmwareInfo.getName() + "'失败,固件名称已存在"); + } return toAjax(pileFirmwareInfoService.insertPileFirmwareInfo(pileFirmwareInfo)); } @@ -76,6 +92,10 @@ public class PileFirmwareInfoController extends BaseController { @Log(title = "充电桩固件信息", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody PileFirmwareInfo pileFirmwareInfo) { + pileFirmwareInfo.setName(StringUtils.trim(pileFirmwareInfo.getName())); + if (UserConstants.NOT_UNIQUE.equals(pileFirmwareInfoService.checkNameUnique(pileFirmwareInfo))) { + return AjaxResult.error("修改固件'" + pileFirmwareInfo.getName() + "'失败,固件名称已存在"); + } return toAjax(pileFirmwareInfoService.updatePileFirmwareInfo(pileFirmwareInfo)); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileFirmwareInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileFirmwareInfoMapper.java index a1a6d4b30..b19a0a530 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileFirmwareInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileFirmwareInfoMapper.java @@ -1,6 +1,7 @@ package com.jsowell.pile.mapper; import com.jsowell.pile.domain.PileFirmwareInfo; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @@ -29,6 +30,14 @@ public interface PileFirmwareInfoMapper { */ public List selectPileFirmwareInfoList(PileFirmwareInfo pileFirmwareInfo); + /** + * 根据固件名称查询充电桩固件信息 + * + * @param name 固件名称 + * @return 充电桩固件信息 + */ + public PileFirmwareInfo checkNameUnique(@Param("name") String name); + /** * 新增充电桩固件信息 * diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/PileFirmwareInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/PileFirmwareInfoService.java index 4b757c819..06cbee763 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/PileFirmwareInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/PileFirmwareInfoService.java @@ -30,6 +30,14 @@ public interface PileFirmwareInfoService { */ public List selectPileFirmwareInfoList(PileFirmwareInfo pileFirmwareInfo); + /** + * 校验固件名称是否唯一 + * + * @param pileFirmwareInfo 充电桩固件信息 + * @return 结果 + */ + public String checkNameUnique(PileFirmwareInfo pileFirmwareInfo); + /** * 新增充电桩固件信息 * diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileFirmwareInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileFirmwareInfoServiceImpl.java index 9fb339a7d..83b2359d0 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileFirmwareInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileFirmwareInfoServiceImpl.java @@ -3,8 +3,10 @@ package com.jsowell.pile.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.jsowell.common.constant.Constants; +import com.jsowell.common.constant.UserConstants; import com.jsowell.common.core.page.PageResponse; import com.jsowell.common.util.DateUtils; +import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.file.AliyunOssUploadUtils; import com.jsowell.pile.domain.PileFirmwareInfo; import com.jsowell.pile.domain.PileReservationInfo; @@ -50,6 +52,22 @@ public class PileFirmwareInfoServiceImpl implements PileFirmwareInfoService { return pileFirmwareInfoMapper.selectPileFirmwareInfoList(pileFirmwareInfo); } + /** + * 校验固件名称是否唯一 + * + * @param pileFirmwareInfo 充电桩固件信息 + * @return 结果 + */ + @Override + public String checkNameUnique(PileFirmwareInfo pileFirmwareInfo) { + Long id = StringUtils.isNull(pileFirmwareInfo.getId()) ? -1L : pileFirmwareInfo.getId(); + PileFirmwareInfo info = pileFirmwareInfoMapper.checkNameUnique(pileFirmwareInfo.getName()); + if (StringUtils.isNotNull(info) && info.getId().longValue() != id.longValue()) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + /** * 新增充电桩固件信息 * diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileFirmwareInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileFirmwareInfoMapper.xml index 836e2a5b9..29e8d98c5 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileFirmwareInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileFirmwareInfoMapper.xml @@ -36,6 +36,12 @@ where id = #{id} + + insert into pile_firmware_info @@ -96,4 +102,4 @@ #{id} - \ No newline at end of file +