update 校验固件名是否唯一

This commit is contained in:
jsowell
2026-05-19 15:58:01 +08:00
parent db8a2a06cf
commit 8de1e9fb67
5 changed files with 62 additions and 1 deletions

View File

@@ -1,10 +1,12 @@
package com.jsowell.web.controller.pile; package com.jsowell.web.controller.pile;
import com.jsowell.common.annotation.Log; import com.jsowell.common.annotation.Log;
import com.jsowell.common.constant.UserConstants;
import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.core.controller.BaseController;
import com.jsowell.common.core.domain.AjaxResult; import com.jsowell.common.core.domain.AjaxResult;
import com.jsowell.common.core.page.TableDataInfo; import com.jsowell.common.core.page.TableDataInfo;
import com.jsowell.common.enums.BusinessType; import com.jsowell.common.enums.BusinessType;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.poi.ExcelUtil; import com.jsowell.common.util.poi.ExcelUtil;
import com.jsowell.pile.domain.PileFirmwareInfo; import com.jsowell.pile.domain.PileFirmwareInfo;
import com.jsowell.pile.service.PileFirmwareInfoService; import com.jsowell.pile.service.PileFirmwareInfoService;
@@ -59,6 +61,16 @@ public class PileFirmwareInfoController extends BaseController {
return AjaxResult.success(pileFirmwareInfoService.selectPileFirmwareInfoById(id)); 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) @Log(title = "充电桩固件信息", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody PileFirmwareInfo pileFirmwareInfo) { 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)); return toAjax(pileFirmwareInfoService.insertPileFirmwareInfo(pileFirmwareInfo));
} }
@@ -76,6 +92,10 @@ public class PileFirmwareInfoController extends BaseController {
@Log(title = "充电桩固件信息", businessType = BusinessType.UPDATE) @Log(title = "充电桩固件信息", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody PileFirmwareInfo pileFirmwareInfo) { 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)); return toAjax(pileFirmwareInfoService.updatePileFirmwareInfo(pileFirmwareInfo));
} }

View File

@@ -1,6 +1,7 @@
package com.jsowell.pile.mapper; package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileFirmwareInfo; import com.jsowell.pile.domain.PileFirmwareInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@@ -29,6 +30,14 @@ public interface PileFirmwareInfoMapper {
*/ */
public List<PileFirmwareInfo> selectPileFirmwareInfoList(PileFirmwareInfo pileFirmwareInfo); public List<PileFirmwareInfo> selectPileFirmwareInfoList(PileFirmwareInfo pileFirmwareInfo);
/**
* 根据固件名称查询充电桩固件信息
*
* @param name 固件名称
* @return 充电桩固件信息
*/
public PileFirmwareInfo checkNameUnique(@Param("name") String name);
/** /**
* 新增充电桩固件信息 * 新增充电桩固件信息
* *

View File

@@ -30,6 +30,14 @@ public interface PileFirmwareInfoService {
*/ */
public List<PileFirmwareInfo> selectPileFirmwareInfoList(PileFirmwareInfo pileFirmwareInfo); public List<PileFirmwareInfo> selectPileFirmwareInfoList(PileFirmwareInfo pileFirmwareInfo);
/**
* 校验固件名称是否唯一
*
* @param pileFirmwareInfo 充电桩固件信息
* @return 结果
*/
public String checkNameUnique(PileFirmwareInfo pileFirmwareInfo);
/** /**
* 新增充电桩固件信息 * 新增充电桩固件信息
* *

View File

@@ -3,8 +3,10 @@ package com.jsowell.pile.service.impl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.jsowell.common.constant.Constants; import com.jsowell.common.constant.Constants;
import com.jsowell.common.constant.UserConstants;
import com.jsowell.common.core.page.PageResponse; import com.jsowell.common.core.page.PageResponse;
import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.file.AliyunOssUploadUtils; import com.jsowell.common.util.file.AliyunOssUploadUtils;
import com.jsowell.pile.domain.PileFirmwareInfo; import com.jsowell.pile.domain.PileFirmwareInfo;
import com.jsowell.pile.domain.PileReservationInfo; import com.jsowell.pile.domain.PileReservationInfo;
@@ -50,6 +52,22 @@ public class PileFirmwareInfoServiceImpl implements PileFirmwareInfoService {
return pileFirmwareInfoMapper.selectPileFirmwareInfoList(pileFirmwareInfo); 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;
}
/** /**
* 新增充电桩固件信息 * 新增充电桩固件信息
* *

View File

@@ -36,6 +36,12 @@
where id = #{id} where id = #{id}
</select> </select>
<select id="checkNameUnique" resultMap="PileFirmwareInfoResult">
<include refid="selectPileFirmwareInfoVo"/>
where name = #{name}
limit 1
</select>
<insert id="insertPileFirmwareInfo" parameterType="com.jsowell.pile.domain.PileFirmwareInfo"> <insert id="insertPileFirmwareInfo" parameterType="com.jsowell.pile.domain.PileFirmwareInfo">
insert into pile_firmware_info insert into pile_firmware_info
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -96,4 +102,4 @@
#{id} #{id}
</foreach> </foreach>
</delete> </delete>
</mapper> </mapper>