refactor(sis):
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
- 移除建筑物楼层信息相关代码,从物业模块引入
This commit is contained in:
@@ -1,106 +0,0 @@
|
|||||||
package org.dromara.sis.controller;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import jakarta.validation.constraints.*;
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
|
||||||
import org.dromara.common.log.annotation.Log;
|
|
||||||
import org.dromara.common.web.core.BaseController;
|
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
||||||
import org.dromara.common.core.domain.R;
|
|
||||||
import org.dromara.common.core.validate.AddGroup;
|
|
||||||
import org.dromara.common.core.validate.EditGroup;
|
|
||||||
import org.dromara.common.log.enums.BusinessType;
|
|
||||||
import org.dromara.common.excel.utils.ExcelUtil;
|
|
||||||
import org.dromara.sis.domain.vo.SisFloorInfoVo;
|
|
||||||
import org.dromara.sis.domain.bo.SisFloorInfoBo;
|
|
||||||
import org.dromara.sis.service.ISisFloorInfoService;
|
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 建筑物楼层信息
|
|
||||||
* 前端访问路由地址为:/sis/floorInfo
|
|
||||||
*
|
|
||||||
* @author lsm
|
|
||||||
* @since 2025-07-15
|
|
||||||
*/
|
|
||||||
@Validated
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/floorInfo")
|
|
||||||
public class SisFloorInfoController extends BaseController {
|
|
||||||
|
|
||||||
private final ISisFloorInfoService sisFloorInfoService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询建筑物楼层信息列表
|
|
||||||
*/
|
|
||||||
@SaCheckPermission("sis:floorInfo:list")
|
|
||||||
@GetMapping("/list")
|
|
||||||
public TableDataInfo<SisFloorInfoVo> list(SisFloorInfoBo bo, PageQuery pageQuery) {
|
|
||||||
return sisFloorInfoService.queryPageList(bo, pageQuery);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出建筑物楼层信息列表
|
|
||||||
*/
|
|
||||||
@SaCheckPermission("sis:floorInfo:export")
|
|
||||||
@Log(title = "建筑物楼层信息", businessType = BusinessType.EXPORT)
|
|
||||||
@PostMapping("/export")
|
|
||||||
public void export(SisFloorInfoBo bo, HttpServletResponse response) {
|
|
||||||
List<SisFloorInfoVo> list = sisFloorInfoService.queryList(bo);
|
|
||||||
ExcelUtil.exportExcel(list, "建筑物楼层信息", SisFloorInfoVo.class, response);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取建筑物楼层信息详细信息
|
|
||||||
*
|
|
||||||
* @param floorId 主键
|
|
||||||
*/
|
|
||||||
@SaCheckPermission("sis:floorInfo:query")
|
|
||||||
@GetMapping("/{floorId}")
|
|
||||||
public R<SisFloorInfoVo> getInfo(@NotNull(message = "主键不能为空")
|
|
||||||
@PathVariable("floorId") Long floorId) {
|
|
||||||
return R.ok(sisFloorInfoService.queryById(floorId));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增建筑物楼层信息
|
|
||||||
*/
|
|
||||||
@SaCheckPermission("sis:floorInfo:add")
|
|
||||||
@Log(title = "建筑物楼层信息", businessType = BusinessType.INSERT)
|
|
||||||
@RepeatSubmit()
|
|
||||||
@PostMapping()
|
|
||||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SisFloorInfoBo bo) {
|
|
||||||
return toAjax(sisFloorInfoService.insertByBo(bo));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改建筑物楼层信息
|
|
||||||
*/
|
|
||||||
@SaCheckPermission("sis:floorInfo:edit")
|
|
||||||
@Log(title = "建筑物楼层信息", businessType = BusinessType.UPDATE)
|
|
||||||
@RepeatSubmit()
|
|
||||||
@PutMapping()
|
|
||||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SisFloorInfoBo bo) {
|
|
||||||
return toAjax(sisFloorInfoService.updateByBo(bo));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除建筑物楼层信息
|
|
||||||
*
|
|
||||||
* @param floorIds 主键串
|
|
||||||
*/
|
|
||||||
@SaCheckPermission("sis:floorInfo:remove")
|
|
||||||
@Log(title = "建筑物楼层信息", businessType = BusinessType.DELETE)
|
|
||||||
@DeleteMapping("/{floorIds}")
|
|
||||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
|
||||||
@PathVariable("floorIds") Long[] floorIds) {
|
|
||||||
return toAjax(sisFloorInfoService.deleteWithValidByIds(List.of(floorIds), true));
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,50 +0,0 @@
|
|||||||
package org.dromara.sis.domain;
|
|
||||||
|
|
||||||
import org.dromara.common.tenant.core.TenantEntity;
|
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
|
|
||||||
import java.io.Serial;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 建筑物楼层信息对象 sis_floor_info
|
|
||||||
*
|
|
||||||
* @author lsm
|
|
||||||
* @since 2025-07-15
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@TableName("sis_floor_info")
|
|
||||||
public class SisFloorInfo extends TenantEntity {
|
|
||||||
|
|
||||||
@Serial
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 楼层唯一标识
|
|
||||||
*/
|
|
||||||
@TableId(value = "floor_id")
|
|
||||||
private Long floorId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 最低层
|
|
||||||
*/
|
|
||||||
private Long minLayer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 最高层
|
|
||||||
*/
|
|
||||||
private Long maxLayer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 园区id
|
|
||||||
*/
|
|
||||||
private Long communityId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 建筑id
|
|
||||||
*/
|
|
||||||
private Long buildingId;
|
|
||||||
|
|
||||||
}
|
|
@@ -1,53 +0,0 @@
|
|||||||
package org.dromara.sis.domain.bo;
|
|
||||||
|
|
||||||
import org.dromara.sis.domain.SisFloorInfo;
|
|
||||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
|
||||||
import org.dromara.common.core.validate.AddGroup;
|
|
||||||
import org.dromara.common.core.validate.EditGroup;
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import jakarta.validation.constraints.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 建筑物楼层信息业务对象 sis_floor_info
|
|
||||||
*
|
|
||||||
* @author lsm
|
|
||||||
* @since 2025-07-15
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@AutoMapper(target = SisFloorInfo.class, reverseConvertGenerate = false)
|
|
||||||
public class SisFloorInfoBo extends BaseEntity {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 楼层唯一标识
|
|
||||||
*/
|
|
||||||
@NotNull(message = "楼层唯一标识不能为空", groups = { EditGroup.class })
|
|
||||||
private Long floorId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 最低层
|
|
||||||
*/
|
|
||||||
@NotNull(message = "最低层不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private Long minLayer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 最高层
|
|
||||||
*/
|
|
||||||
@NotNull(message = "最高层不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private Long maxLayer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 园区id
|
|
||||||
*/
|
|
||||||
@NotNull(message = "园区id不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private Long communityId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 建筑id
|
|
||||||
*/
|
|
||||||
@NotNull(message = "建筑id不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private Long buildingId;
|
|
||||||
|
|
||||||
}
|
|
@@ -1,61 +0,0 @@
|
|||||||
package org.dromara.sis.domain.vo;
|
|
||||||
|
|
||||||
import org.dromara.sis.domain.SisFloorInfo;
|
|
||||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
|
||||||
import cn.idev.excel.annotation.ExcelProperty;
|
|
||||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
|
||||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serial;
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 建筑物楼层信息视图对象 sis_floor_info
|
|
||||||
*
|
|
||||||
* @author lsm
|
|
||||||
* @since 2025-07-15
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@ExcelIgnoreUnannotated
|
|
||||||
@AutoMapper(target = SisFloorInfo.class)
|
|
||||||
public class SisFloorInfoVo implements Serializable {
|
|
||||||
|
|
||||||
@Serial
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 楼层唯一标识
|
|
||||||
*/
|
|
||||||
@ExcelProperty(value = "楼层唯一标识")
|
|
||||||
private Long floorId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 最低层
|
|
||||||
*/
|
|
||||||
@ExcelProperty(value = "最低层")
|
|
||||||
private Long minLayer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 最高层
|
|
||||||
*/
|
|
||||||
@ExcelProperty(value = "最高层")
|
|
||||||
private Long maxLayer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 园区id
|
|
||||||
*/
|
|
||||||
@ExcelProperty(value = "园区id")
|
|
||||||
private Long communityId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 建筑id
|
|
||||||
*/
|
|
||||||
@ExcelProperty(value = "建筑id")
|
|
||||||
private Long buildingId;
|
|
||||||
|
|
||||||
}
|
|
@@ -1,15 +0,0 @@
|
|||||||
package org.dromara.sis.mapper;
|
|
||||||
|
|
||||||
import org.dromara.sis.domain.SisFloorInfo;
|
|
||||||
import org.dromara.sis.domain.vo.SisFloorInfoVo;
|
|
||||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 建筑物楼层信息Mapper接口
|
|
||||||
*
|
|
||||||
* @author lsm
|
|
||||||
* @date 2025-07-15
|
|
||||||
*/
|
|
||||||
public interface SisFloorInfoMapper extends BaseMapperPlus<SisFloorInfo, SisFloorInfoVo> {
|
|
||||||
|
|
||||||
}
|
|
@@ -7,12 +7,10 @@ import org.dromara.common.core.utils.SpringUtils;
|
|||||||
import org.dromara.sis.domain.bo.SisDeviceManageBo;
|
import org.dromara.sis.domain.bo.SisDeviceManageBo;
|
||||||
import org.dromara.sis.domain.vo.SisDeviceManageVo;
|
import org.dromara.sis.domain.vo.SisDeviceManageVo;
|
||||||
import org.dromara.sis.domain.vo.SisElevatorInfoVo;
|
import org.dromara.sis.domain.vo.SisElevatorInfoVo;
|
||||||
import org.dromara.sis.domain.vo.SisFloorInfoVo;
|
|
||||||
import org.dromara.sis.sdk.hik.HikApiService;
|
import org.dromara.sis.sdk.hik.HikApiService;
|
||||||
import org.dromara.sis.sdk.hik.calback.HikAlarmCallBack;
|
import org.dromara.sis.sdk.hik.calback.HikAlarmCallBack;
|
||||||
import org.dromara.sis.service.ISisDeviceManageService;
|
import org.dromara.sis.service.ISisDeviceManageService;
|
||||||
import org.dromara.sis.service.ISisElevatorInfoService;
|
import org.dromara.sis.service.ISisElevatorInfoService;
|
||||||
import org.dromara.sis.service.ISisFloorInfoService;
|
|
||||||
import org.springframework.boot.ApplicationArguments;
|
import org.springframework.boot.ApplicationArguments;
|
||||||
import org.springframework.boot.ApplicationRunner;
|
import org.springframework.boot.ApplicationRunner;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
@@ -27,7 +25,6 @@ import java.util.List;
|
|||||||
public class HikDeviceApplicationRunner implements ApplicationRunner {
|
public class HikDeviceApplicationRunner implements ApplicationRunner {
|
||||||
|
|
||||||
private final HikAlarmCallBack hikAlarmCallBack;
|
private final HikAlarmCallBack hikAlarmCallBack;
|
||||||
private final ISisFloorInfoService floorInfoService;
|
|
||||||
private final ISisDeviceManageService deviceManageService;
|
private final ISisDeviceManageService deviceManageService;
|
||||||
private final ISisElevatorInfoService elevatorInfoService;
|
private final ISisElevatorInfoService elevatorInfoService;
|
||||||
|
|
||||||
@@ -51,13 +48,13 @@ public class HikDeviceApplicationRunner implements ApplicationRunner {
|
|||||||
// 执行设备登录操作
|
// 执行设备登录操作
|
||||||
HikApiService.getInstance().login(item.getControlIp(), item.getControlPort().shortValue(), item.getControlAccount(), item.getControlPwd());
|
HikApiService.getInstance().login(item.getControlIp(), item.getControlPort().shortValue(), item.getControlAccount(), item.getControlPwd());
|
||||||
// 根据建筑ID获取楼层信息
|
// 根据建筑ID获取楼层信息
|
||||||
SisFloorInfoVo floorInfo = floorInfoService.queryByBuildingId(item.getBuildingId());
|
// SisFloorInfoVo floorInfo = floorInfoService.queryByBuildingId(item.getBuildingId());
|
||||||
// 获取楼层数组
|
// 获取楼层数组
|
||||||
List<Integer> layerArray = generateFloorArray(floorInfo.getMinLayer().intValue(), floorInfo.getMaxLayer().intValue());
|
// List<Integer> layerArray = generateFloorArray(floorInfo.getMinLayer().intValue(), floorInfo.getMaxLayer().intValue());
|
||||||
// 下发权限
|
// 下发权限
|
||||||
for (int i = 0; i < layerArray.size(); i++) {
|
// for (int i = 0; i < layerArray.size(); i++) {
|
||||||
HikApiService.getInstance().controlGateway(item.getControlIp(), (i + 1), layerArray.get(i));
|
// HikApiService.getInstance().controlGateway(item.getControlIp(), (i + 1), layerArray.get(i));
|
||||||
}
|
// }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// String ip = "192.168.24.188";
|
// String ip = "192.168.24.188";
|
||||||
|
@@ -25,7 +25,6 @@ import java.util.List;
|
|||||||
public class HikAlarmCallBack implements HCNetSDK.FMSGCallBack_V31 {
|
public class HikAlarmCallBack implements HCNetSDK.FMSGCallBack_V31 {
|
||||||
|
|
||||||
private final HuaWeiBoxApi huaWeiBoxApi;
|
private final HuaWeiBoxApi huaWeiBoxApi;
|
||||||
private final ISisFloorInfoService floorInfoService;
|
|
||||||
private final ISisAuthRecordService authRecordService;
|
private final ISisAuthRecordService authRecordService;
|
||||||
private final ISisElevatorInfoService elevatorInfoService;
|
private final ISisElevatorInfoService elevatorInfoService;
|
||||||
private final ISisDeviceBindRefService deviceBindRefService;
|
private final ISisDeviceBindRefService deviceBindRefService;
|
||||||
@@ -103,37 +102,37 @@ public class HikAlarmCallBack implements HCNetSDK.FMSGCallBack_V31 {
|
|||||||
|
|
||||||
|
|
||||||
// 获取电梯ids
|
// 获取电梯ids
|
||||||
Collection<Long> eleIds = authVoList.stream().filter(vo -> vo.getDeviceType() == 2).map(SisAuthRecordVo::getDeviceId).toList();
|
// Collection<Long> eleIds = authVoList.stream().filter(vo -> vo.getDeviceType() == 2).map(SisAuthRecordVo::getDeviceId).toList();
|
||||||
if (CollUtil.isNotEmpty(eleIds)) {
|
// if (CollUtil.isNotEmpty(eleIds)) {
|
||||||
eleIds.forEach(id -> {
|
// eleIds.forEach(id -> {
|
||||||
Long deviceId = bindRefList.stream().filter(vo -> vo.getBindId().equals(id)).findFirst().map(SisDeviceBindRefVo::getDeviceId).orElse(null);
|
// Long deviceId = bindRefList.stream().filter(vo -> vo.getBindId().equals(id)).findFirst().map(SisDeviceBindRefVo::getDeviceId).orElse(null);
|
||||||
SisElevatorInfoVo ele = elevatorInfoService.queryById(deviceId);
|
// SisElevatorInfoVo ele = elevatorInfoService.queryById(deviceId);
|
||||||
if (ele != null) {
|
// if (ele != null) {
|
||||||
log.info("下发电梯权限");
|
// log.info("下发电梯权限");
|
||||||
// 根据建筑ID获取楼层信息
|
// // 根据建筑ID获取楼层信息
|
||||||
SisFloorInfoVo floorInfo = floorInfoService.queryByBuildingId(ele.getBuildingId());
|
// SisFloorInfoVo floorInfo = floorInfoService.queryByBuildingId(ele.getBuildingId());
|
||||||
// 获取电梯⇄楼层关联信息
|
// // 获取电梯⇄楼层关联信息
|
||||||
List<SisElevatorFloorRefVo> floorRefList = elevatorFloorRefService.queryByElevatorId(deviceId);
|
// List<SisElevatorFloorRefVo> floorRefList = elevatorFloorRefService.queryByElevatorId(deviceId);
|
||||||
// 获取楼层数组
|
// // 获取楼层数组
|
||||||
List<Integer> layerArray = generateFloorArray(floorInfo.getMinLayer().intValue(), floorInfo.getMaxLayer().intValue());
|
// List<Integer> layerArray = generateFloorArray(floorInfo.getMinLayer().intValue(), floorInfo.getMaxLayer().intValue());
|
||||||
|
//
|
||||||
|
//
|
||||||
layerArray.forEach(layer -> {
|
// layerArray.forEach(layer -> {
|
||||||
SisElevatorFloorRefVo floorRef = floorRefList.stream()
|
// SisElevatorFloorRefVo floorRef = floorRefList.stream()
|
||||||
.filter(vo -> vo.getLayerNum().intValue() == layer) // 直接使用 layer
|
// .filter(vo -> vo.getLayerNum().intValue() == layer) // 直接使用 layer
|
||||||
.findFirst()
|
// .findFirst()
|
||||||
.orElse(null);
|
// .orElse(null);
|
||||||
|
//
|
||||||
if (floorRef == null) {
|
// if (floorRef == null) {
|
||||||
HikApiService.getInstance().controlGateway(ele.getControlIp(), layer, 3);
|
// HikApiService.getInstance().controlGateway(ele.getControlIp(), layer, 3);
|
||||||
} else {
|
// } else {
|
||||||
HikApiService.getInstance().controlGateway(ele.getControlIp(), layer, 2);
|
// HikApiService.getInstance().controlGateway(ele.getControlIp(), layer, 2);
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
|
||||||
// List<Integer> arrs = Arrays.asList(2, 2, 2, 3, 3, 3 ,3, 3, 3, 3, 3, 3, 3, 3, 3, 3);
|
// List<Integer> arrs = Arrays.asList(2, 2, 2, 3, 3, 3 ,3, 3, 3, 3, 3, 3, 3, 3, 3, 3);
|
||||||
// List<Integer> arrs = Arrays.asList(3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);
|
// List<Integer> arrs = Arrays.asList(3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);
|
||||||
@@ -150,6 +149,7 @@ public class HikAlarmCallBack implements HCNetSDK.FMSGCallBack_V31 {
|
|||||||
// } catch (InterruptedException e) {
|
// } catch (InterruptedException e) {
|
||||||
// throw new RuntimeException(e);
|
// throw new RuntimeException(e);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
log.info("未知报警类型,lCommand={}", lCommand);
|
log.info("未知报警类型,lCommand={}", lCommand);
|
||||||
}
|
}
|
||||||
|
@@ -1,76 +0,0 @@
|
|||||||
package org.dromara.sis.service;
|
|
||||||
|
|
||||||
import org.dromara.sis.domain.vo.SisFloorInfoVo;
|
|
||||||
import org.dromara.sis.domain.bo.SisFloorInfoBo;
|
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 建筑物楼层信息Service接口
|
|
||||||
*
|
|
||||||
* @author lsm
|
|
||||||
* @since 2025-07-15
|
|
||||||
*/
|
|
||||||
public interface ISisFloorInfoService {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询建筑物楼层信息
|
|
||||||
*
|
|
||||||
* @param floorId 主键
|
|
||||||
* @return 建筑物楼层信息
|
|
||||||
*/
|
|
||||||
SisFloorInfoVo queryById(Long floorId);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 分页查询建筑物楼层信息列表
|
|
||||||
*
|
|
||||||
* @param bo 查询条件
|
|
||||||
* @param pageQuery 分页参数
|
|
||||||
* @return 建筑物楼层信息分页列表
|
|
||||||
*/
|
|
||||||
TableDataInfo<SisFloorInfoVo> queryPageList(SisFloorInfoBo bo, PageQuery pageQuery);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询符合条件的建筑物楼层信息列表
|
|
||||||
*
|
|
||||||
* @param bo 查询条件
|
|
||||||
* @return 建筑物楼层信息列表
|
|
||||||
*/
|
|
||||||
List<SisFloorInfoVo> queryList(SisFloorInfoBo bo);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增建筑物楼层信息
|
|
||||||
*
|
|
||||||
* @param bo 建筑物楼层信息
|
|
||||||
* @return 是否新增成功
|
|
||||||
*/
|
|
||||||
Boolean insertByBo(SisFloorInfoBo bo);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改建筑物楼层信息
|
|
||||||
*
|
|
||||||
* @param bo 建筑物楼层信息
|
|
||||||
* @return 是否修改成功
|
|
||||||
*/
|
|
||||||
Boolean updateByBo(SisFloorInfoBo bo);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 校验并批量删除建筑物楼层信息
|
|
||||||
*
|
|
||||||
* @param ids 待删除的主键集合
|
|
||||||
* @param isValid 是否进行有效性校验
|
|
||||||
* @return 是否删除成功
|
|
||||||
*/
|
|
||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据建筑ID返回楼层信息
|
|
||||||
*
|
|
||||||
* @param buildingId 建筑ID
|
|
||||||
* @return 楼层信息
|
|
||||||
*/
|
|
||||||
SisFloorInfoVo queryByBuildingId(Long buildingId);
|
|
||||||
}
|
|
@@ -1,149 +0,0 @@
|
|||||||
package org.dromara.sis.service.impl;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.dromara.sis.domain.bo.SisFloorInfoBo;
|
|
||||||
import org.dromara.sis.domain.vo.SisFloorInfoVo;
|
|
||||||
import org.dromara.sis.domain.SisFloorInfo;
|
|
||||||
import org.dromara.sis.mapper.SisFloorInfoMapper;
|
|
||||||
import org.dromara.sis.service.ISisFloorInfoService;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 建筑物楼层信息Service业务层处理
|
|
||||||
*
|
|
||||||
* @author lsm
|
|
||||||
* @since 2025-07-15
|
|
||||||
*/
|
|
||||||
@Slf4j
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@Service
|
|
||||||
public class SisFloorInfoServiceImpl implements ISisFloorInfoService {
|
|
||||||
|
|
||||||
private final SisFloorInfoMapper baseMapper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询建筑物楼层信息
|
|
||||||
*
|
|
||||||
* @param floorId 主键
|
|
||||||
* @return 建筑物楼层信息
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public SisFloorInfoVo queryById(Long floorId){
|
|
||||||
return baseMapper.selectVoById(floorId);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 分页查询建筑物楼层信息列表
|
|
||||||
*
|
|
||||||
* @param bo 查询条件
|
|
||||||
* @param pageQuery 分页参数
|
|
||||||
* @return 建筑物楼层信息分页列表
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public TableDataInfo<SisFloorInfoVo> queryPageList(SisFloorInfoBo bo, PageQuery pageQuery) {
|
|
||||||
LambdaQueryWrapper<SisFloorInfo> lqw = buildQueryWrapper(bo);
|
|
||||||
Page<SisFloorInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
|
||||||
return TableDataInfo.build(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询符合条件的建筑物楼层信息列表
|
|
||||||
*
|
|
||||||
* @param bo 查询条件
|
|
||||||
* @return 建筑物楼层信息列表
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public List<SisFloorInfoVo> queryList(SisFloorInfoBo bo) {
|
|
||||||
LambdaQueryWrapper<SisFloorInfo> lqw = buildQueryWrapper(bo);
|
|
||||||
return baseMapper.selectVoList(lqw);
|
|
||||||
}
|
|
||||||
|
|
||||||
private LambdaQueryWrapper<SisFloorInfo> buildQueryWrapper(SisFloorInfoBo bo) {
|
|
||||||
Map<String, Object> params = bo.getParams();
|
|
||||||
LambdaQueryWrapper<SisFloorInfo> lqw = Wrappers.lambdaQuery();
|
|
||||||
lqw.orderByAsc(SisFloorInfo::getFloorId);
|
|
||||||
lqw.eq(bo.getMinLayer() != null, SisFloorInfo::getMinLayer, bo.getMinLayer());
|
|
||||||
lqw.eq(bo.getMaxLayer() != null, SisFloorInfo::getMaxLayer, bo.getMaxLayer());
|
|
||||||
lqw.eq(bo.getBuildingId() != null, SisFloorInfo::getBuildingId, bo.getBuildingId());
|
|
||||||
lqw.eq(bo.getCommunityId() != null, SisFloorInfo::getCommunityId, bo.getCommunityId());
|
|
||||||
return lqw;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增建筑物楼层信息
|
|
||||||
*
|
|
||||||
* @param bo 建筑物楼层信息
|
|
||||||
* @return 是否新增成功
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Boolean insertByBo(SisFloorInfoBo bo) {
|
|
||||||
SisFloorInfo add = MapstructUtils.convert(bo, SisFloorInfo.class);
|
|
||||||
validEntityBeforeSave(add);
|
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
|
||||||
if (flag) {
|
|
||||||
bo.setFloorId(add.getFloorId());
|
|
||||||
}
|
|
||||||
return flag;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改建筑物楼层信息
|
|
||||||
*
|
|
||||||
* @param bo 建筑物楼层信息
|
|
||||||
* @return 是否修改成功
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Boolean updateByBo(SisFloorInfoBo bo) {
|
|
||||||
SisFloorInfo update = MapstructUtils.convert(bo, SisFloorInfo.class);
|
|
||||||
validEntityBeforeSave(update);
|
|
||||||
return baseMapper.updateById(update) > 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 保存前的数据校验
|
|
||||||
*/
|
|
||||||
private void validEntityBeforeSave(SisFloorInfo entity){
|
|
||||||
//TODO 做一些数据校验,如唯一约束
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 校验并批量删除建筑物楼层信息信息
|
|
||||||
*
|
|
||||||
* @param ids 待删除的主键集合
|
|
||||||
* @param isValid 是否进行有效性校验
|
|
||||||
* @return 是否删除成功
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
|
||||||
if(isValid){
|
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
|
||||||
}
|
|
||||||
return baseMapper.deleteByIds(ids) > 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据建筑ID返回楼层信息
|
|
||||||
*
|
|
||||||
* @param buildingId 建筑ID
|
|
||||||
* @return 楼层信息
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public SisFloorInfoVo queryByBuildingId(Long buildingId){
|
|
||||||
LambdaQueryWrapper<SisFloorInfo> qw = new LambdaQueryWrapper<>();
|
|
||||||
qw.eq(SisFloorInfo::getBuildingId, buildingId);
|
|
||||||
return baseMapper.selectVoOne(qw);
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user