| | |
| | | @ShardingSphereTransactionType(TransactionType.BASE) |
| | | public R edit(@Validated @RequestBody PointUpdateDto pointAddDto) { |
| | | XpPoint xpPoint = xpPointService.getById(pointAddDto.getId()); |
| | | BeanUtils.copyProperties(pointAddDto, xpPoint); |
| | | if (xpPoint == null) { |
| | | throw new ServiceException("系统异常", I18nKeyConstant.SYSTEM_EXCEPTION); |
| | | } |
| | | BeanUtils.copyProperties(pointAddDto, xpPoint); |
| | | if (Integer.valueOf(2).equals(pointAddDto.getOperationStatus()) && Integer.valueOf(5).equals(pointAddDto.getVerificationStatus())) { |
| | | Long electronicAreaId = xpPoint.getElectronicAreaId(); |
| | | if (electronicAreaId == null) { |
| | |
| | | } |
| | | } |
| | | xpPoint.setFpElectronicAreaId(null); |
| | | xpPointService.updateById(xpPoint); |
| | | // 使用 lambdaUpdate 确保 pointPictures 为 null 时也能将数据库字段清空 |
| | | // (updateById 默认策略 NOT_NULL 会跳过 null 值,导致删除图片后数据库仍保留旧图片) |
| | | xpPointService.lambdaUpdate() |
| | | .eq(XpPoint::getId, xpPoint.getId()) |
| | | .set(XpPoint::getPointName, xpPoint.getPointName()) |
| | | .set(XpPoint::getPointPoi, xpPoint.getPointPoi()) |
| | | .set(XpPoint::getPointNumber, xpPoint.getPointNumber()) |
| | | .set(XpPoint::getOperationStatus, xpPoint.getOperationStatus()) |
| | | .set(XpPoint::getPointType, xpPoint.getPointType()) |
| | | .set(XpPoint::getVerificationStatus, xpPoint.getVerificationStatus()) |
| | | .set(XpPoint::getParkingTimeLimit, xpPoint.getParkingTimeLimit()) |
| | | .set(XpPoint::getOperationType, xpPoint.getOperationType()) |
| | | .set(XpPoint::getEffectivePeriod, xpPoint.getEffectivePeriod()) |
| | | .set(XpPoint::getEffectiveTimePeriod, xpPoint.getEffectiveTimePeriod()) |
| | | .set(XpPoint::getPointAddress, xpPoint.getPointAddress()) |
| | | .set(XpPoint::getRemarks, xpPoint.getRemarks()) |
| | | .set(XpPoint::getPointPictures, xpPoint.getPointPictures()) |
| | | .set(XpPoint::getPointLon, xpPoint.getPointLon()) |
| | | .set(XpPoint::getPointLat, xpPoint.getPointLat()) |
| | | .set(XpPoint::getElectronicAreaId, xpPoint.getElectronicAreaId()) |
| | | .set(XpPoint::getChargePoint, xpPoint.getChargePoint()) |
| | | .set(XpPoint::getParkingPoint, xpPoint.getParkingPoint()) |
| | | .update(); |
| | | return R.ok(); |
| | | } |
| | | |