package com.fzzy.igds;
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.entity.EntityState;
import com.bstek.dorado.data.entity.EntityUtils;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.data.DeviceIotParam;
import com.fzzy.igds.domain.DeviceIot;
import com.fzzy.igds.service.DeviceIotService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
* @Description
* @Author CZT
* @Date 2025/11/28 14:53
*/
@Component
public class DeviceIotPR {
@Resource
private DeviceIotService deviceIotService;
/**
* 查询设备,将操作信息调整为空
*
* deviceIotPR#loadDeviceIotPage
*
* @param page
* @param param
* @return
*/
@DataProvider
public void loadDeviceIotPage(Page page, DeviceIotParam param) {
com.baomidou.mybatisplus.extension.plugins.pagination.Page corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
if (null == param) {
param = new DeviceIotParam();
}
deviceIotService.listPageData(corePage, param);
// 重新封装
page.setEntities(corePage.getRecords());
page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
}
/**
* 保存 devicePR#saveAll
*
* @param depotDeviceIots
* @return
*/
@DataResolver
@Transactional
@Log(title = "Iot设备配置", businessType = BusinessType.OTHER, bizType = BizTypeEnum.SYS)
public String saveAll(List depotDeviceIots) {
String msg = "";
DeviceIot deviceIot;
for (DeviceIot depotDeviceIot : depotDeviceIots) {
EntityState state = EntityUtils.getState(depotDeviceIot);
deviceIot = new DeviceIot();
BeanUtils.copyProperties(depotDeviceIot, deviceIot);
if (state == EntityState.NEW) {
deviceIotService.updateDeviceIot(deviceIot);
msg = "添加成功!";
}
if (state == EntityState.DELETED) {
deviceIotService.delDepotDeviceIot(deviceIot);
msg = "删除成功!";
}
if (state == EntityState.MODIFIED) {
deviceIotService.updateDeviceIot(deviceIot);
msg = "修改成功!";
}
}
return msg;
}
/**
* devicePR#refreshCache
*/
@Expose
public void refreshCache() {
deviceIotService.refreshCache(null);
}
}