package com.sandu.ximon.admin.service; import cn.hutool.core.lang.Snowflake; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.param.LampPostParam; import com.sandu.ximon.admin.security.CountSet; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.dao.domain.Client; import com.sandu.ximon.dao.domain.LampCount; import com.sandu.ximon.dao.domain.LampPost; import com.sandu.ximon.dao.mapper.ClientMapper; import com.sandu.ximon.dao.mapper.LampPostMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.List; @Service @AllArgsConstructor public class LampPostService extends BaseServiceImpl { private final CountSet countSet; private final LampCountService lampCountService; private final ClientMapper clientMapper; private final Snowflake snowflake; public boolean addLamp(LampPostParam lampPostParam){ LampPost lampPost=new LampPost(); // lampPost.setId(snowflake.nextId()); Long userId = SecurityUtils.getUserId(); lampPost.setUserId(userId); lampPost.setLampId(countSet.aVoid()); lampPost.setName(lampPostParam.getName()); lampPost.setAddress(lampPostParam.getAddress()); if(lampPostParam.getBelongsClient()!=null){ Long clientId = clientMapper.findClientIdByName(lampPostParam.getBelongsClient()); lampPost.setBelongsClient(lampPostParam.getBelongsClient()); lampPost.setClientId(clientId); } if(lampPostParam.getMacCode()==null){ lampPost.setMacCode("虚拟灯杆"); }else { lampPost.setMacCode(lampPostParam.getMacCode()); } lampPost.setGroup(null); lampPost.setState("正常"); boolean save = save(lampPost); if(!save){ LampCount lampCount = lampCountService.list().get(0); lampCount.setCount(lampCount.getCount()-1); lampCountService.updateById(lampCount); } return save; } public boolean updateLamp(Long id, LampPostParam lampPostParam){ LampPost lampPost=new LampPost(); lampPost.setId(id); lampPost.setName(lampPostParam.getName()); lampPost.setAddress(lampPostParam.getAddress()); if(lampPostParam.getBelongsClient()!=null){ Long clientId = clientMapper.findClientIdByName(lampPostParam.getBelongsClient()); lampPost.setBelongsClient(lampPostParam.getBelongsClient()); lampPost.setClientId(clientId); } if(lampPostParam.getMacCode()==null){ lampPost.setMacCode("虚拟灯杆"); }else { lampPost.setMacCode(lampPostParam.getMacCode()); } return updateById(lampPost); } /** * * @param group * @param lampPosts *编辑分组--选择灯杆 */ public void setGroup(String group, List lampPosts){ for (LampPost lamp:lampPosts ) { lamp.setGroup(group); updateById(lamp); } } }