package com.sandu.ximon.admin.service; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.sandu.common.execption.BusinessException; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.common.util.SpringContextHolder; import com.sandu.ximon.admin.param.InterphoneSubParam; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils; import com.sandu.ximon.dao.bo.InterphoneSubBo; import com.sandu.ximon.dao.domain.InterphoneHostSubPole; import com.sandu.ximon.dao.domain.InterphoneSub; import com.sandu.ximon.dao.enums.PoleBindingEnums; import com.sandu.ximon.dao.mapper.InterphoneSubMapper; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service @AllArgsConstructor public class InterphoneSubService extends BaseServiceImpl { private final InterphoneSubMapper interphoneSubMapper; private final InterphoneHostSubService interphoneHostSubService; /** * 新增子设备 */ public boolean addSub(InterphoneSubParam interphoneSubParam) { InterphoneSub interphoneSub = new InterphoneSub(); BeanUtils.copyProperties(interphoneSubParam, interphoneSub); boolean save = save(interphoneSub); /** * 添加一键求助子设备 日志记录开始 */ List listCode = new ArrayList<>(1); listCode.add(interphoneSub.getSubMac()); String content = "{ 设备id:" + interphoneSub.getSubId() + "设备code:" + interphoneSub.getSubMac() + "}"; StoreOperationRecordsUtils.storeOperationData(listCode, null, "添加一键求助子设备", content); /** * 添加一键求助子设备 日志记录结束 */ return save; } /** * 修改子设备 */ public boolean updateSub(Integer id, InterphoneSubParam interphoneSubParam) { InterphoneSub byId = getById(id); if (byId == null) { return false; } boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(byId.getSubMac(), PoleBindingEnums.FOR_HELP); if (!belong) { throw new BusinessException("该设备不属于您,不能修改设备信息"); } InterphoneSub interphoneSub = new InterphoneSub(); BeanUtils.copyProperties(interphoneSubParam, interphoneSub); interphoneSub.setSubId(id); /** * 编辑一键求助子设备 日志记录开始 */ List listCode = new ArrayList<>(1); listCode.add(interphoneSub.getSubMac()); String content = "{ 设备id:" + interphoneSub.getSubId() + "设备code:" + interphoneSub.getSubMac() + "}"; StoreOperationRecordsUtils.storeOperationData(listCode, null, "编辑一键求助子设备", content); /** * 编辑一键求助子设备 日志记录结束 */ return updateById(interphoneSub); } /** * 删除子设备 */ public boolean deleteSub(Integer id) { InterphoneSub byId = getById(id); InterphoneHostSubPole one = interphoneHostSubService.getOne(Wrappers.lambdaQuery(InterphoneHostSubPole.class).eq(InterphoneHostSubPole::getSubId, id)); if (one != null) { throw new BusinessException("该子设备存在绑定关系,不能删除"); } if (byId == null) { return false; } /** * 删除一键求助子设备 日志记录开始 */ List listCode = new ArrayList<>(1); listCode.add(byId.getSubMac()); String content = "{ 设备id:" + byId.getSubId() + "设备code:" + byId.getSubMac() + "}"; StoreOperationRecordsUtils.storeOperationData(listCode, null, "删除一键求助子设备", content); /** * 删除一键求助子设备 日志记录结束 */ return removeById(id); } /** * 查询子设备 */ public InterphoneSub getSub(Integer id) { InterphoneSub byId = getById(id); if (byId == null) { return null; } return byId; } /** * 查询主机列表 */ public List getInterphoneSubList(BaseConditionVO baseConditionVO, String keyword) { if (baseConditionVO != null) { PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); } List list; if (SecurityUtils.getClientId() == null) { list = interphoneSubMapper.getInterphoneSubList(keyword, null); } else { list = interphoneSubMapper.getInterphoneSubList(keyword, SecurityUtils.getUserId()); } return list; } }