diff --git a/ridelease-admin/src/main/java/com/ruoyi/web/controller/app/AppVerifyController.java b/ridelease-admin/src/main/java/com/ruoyi/web/controller/app/AppVerifyController.java index 1e8dcb0..91b37a3 100644 --- a/ridelease-admin/src/main/java/com/ruoyi/web/controller/app/AppVerifyController.java +++ b/ridelease-admin/src/main/java/com/ruoyi/web/controller/app/AppVerifyController.java @@ -11,6 +11,7 @@ import com.ruoyi.common.core.domain.entity.RlUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.verify.vo.IDResponse; @@ -610,4 +611,39 @@ public class AppVerifyController extends BaseController return success(order); } + /** + * sn和mac号绑定 + */ + @Log(title = "设备绑定", businessType = BusinessType.BAND) + @PostMapping("/band") + public AjaxResult bandSn(String sn,String mac,Long hardwareVersionId) + { + logger.info("sn和mac号绑定:【sn="+sn+"】,【mac="+mac+"】,【hardwareVersionId="+hardwareVersionId+"】"); + RlDevice asDevice = new RlDevice(); + asDevice.setSn(sn); + asDevice.setMac(mac); + asDevice.setHardwareVersionId(hardwareVersionId); + asDevice.setStatus(ServiceConstants.VEHICLE_STATUS_NOT_BAND); + asDevice.setCreateTime(DateUtils.getNowDate()); + return toAjax(deviceService.bandSn(asDevice)); + } + + /** + * 根据mac修改sn + */ + @Log(title = "根据mac修改sn", businessType = BusinessType.UPDATESN) + @PostMapping("/updateSn") + public AjaxResult updateSn(String sn,String mac,Long hardwareVersionId) + { + logger.info("根据mac修改sn:【sn="+sn+"】,【mac="+mac+"】,【hardwareVersionId="+hardwareVersionId+"】"); + RlDevice asDevice = new RlDevice(); + asDevice.setSn(sn); + asDevice.setMac(mac); + asDevice.setHardwareVersionId(hardwareVersionId); + asDevice.setStatus(ServiceConstants.VEHICLE_STATUS_NOT_BAND); + asDevice.setCreateTime(DateUtils.getNowDate()); + return toAjax(deviceService.updateSn(asDevice)); + } + + } diff --git a/ridelease-common/src/main/java/com/ruoyi/common/enums/BusinessType.java b/ridelease-common/src/main/java/com/ruoyi/common/enums/BusinessType.java index e87b814..84b04f2 100644 --- a/ridelease-common/src/main/java/com/ruoyi/common/enums/BusinessType.java +++ b/ridelease-common/src/main/java/com/ruoyi/common/enums/BusinessType.java @@ -153,4 +153,12 @@ public enum BusinessType * 更新设备 */ REFRESH, + /** + * 绑定 + */ + BAND, + /** + * 根据mac修改sn + */ + UPDATESN } diff --git a/ridelease-system/src/main/java/com/ruoyi/system/mapper/RlDeviceMapper.java b/ridelease-system/src/main/java/com/ruoyi/system/mapper/RlDeviceMapper.java index 01dddb9..901657a 100644 --- a/ridelease-system/src/main/java/com/ruoyi/system/mapper/RlDeviceMapper.java +++ b/ridelease-system/src/main/java/com/ruoyi/system/mapper/RlDeviceMapper.java @@ -89,6 +89,14 @@ public interface RlDeviceMapper extends BaseMapper */ public int updateDeviceBySn(RlDevice RlDevice); + /** + * 根据MAC修改设备 + * + * @param rlDevice 设备 + * @return 结果 + */ + public int updateAsDeviceByMac(RlDevice rlDevice); + /** * 删除设备 * diff --git a/ridelease-system/src/main/java/com/ruoyi/system/service/IRlDeviceService.java b/ridelease-system/src/main/java/com/ruoyi/system/service/IRlDeviceService.java index feeeae0..92d31b7 100644 --- a/ridelease-system/src/main/java/com/ruoyi/system/service/IRlDeviceService.java +++ b/ridelease-system/src/main/java/com/ruoyi/system/service/IRlDeviceService.java @@ -361,6 +361,11 @@ public interface IRlDeviceService extends IService */ int bandSn(RlDevice device); + /** + * 根据mac修改sn + */ + int updateSn(RlDevice device); + /** * 根据mac号判断是否有绑定过 */ diff --git a/ridelease-system/src/main/java/com/ruoyi/system/service/impl/RlDeviceServiceImpl.java b/ridelease-system/src/main/java/com/ruoyi/system/service/impl/RlDeviceServiceImpl.java index f6a25f5..bdc97bf 100644 --- a/ridelease-system/src/main/java/com/ruoyi/system/service/impl/RlDeviceServiceImpl.java +++ b/ridelease-system/src/main/java/com/ruoyi/system/service/impl/RlDeviceServiceImpl.java @@ -2096,6 +2096,23 @@ public class RlDeviceServiceImpl extends ServiceImpl i return 1; } + /** + * 根据mac修改sn + */ + @SneakyThrows + @Override + public int updateSn(RlDevice device) { + RlDevice updateDevice = new RlDevice(); + updateDevice.setSn(device.getSn()); + updateDevice.setHardwareVersionId(device.getHardwareVersionId()); + updateDevice.setMac(device.getMac()); + int i = deviceMapper.updateAsDeviceByMac(updateDevice); + if(i>0){ + log.info("【sn和mac号绑定】===>mac【{}】已经绑定过:更新sn【{}】成功",device.getMac(),device.getSn()); + } + return 1; + } + /** * 判断是否靠近边界 diff --git a/ridelease-system/src/main/resources/mapper/system/RlDeviceMapper.xml b/ridelease-system/src/main/resources/mapper/system/RlDeviceMapper.xml index 8cd44c8..af9d18d 100644 --- a/ridelease-system/src/main/resources/mapper/system/RlDeviceMapper.xml +++ b/ridelease-system/src/main/resources/mapper/system/RlDeviceMapper.xml @@ -304,9 +304,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where sn = #{sn} - - update + + update rl_device + + sn = #{sn}, + hardware_version_id = #{hardwareVersionId}, + online_status = #{onlineStatus}, + + where mac = #{mac}