package com.sandu.ximon.admin.service; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.execption.BusinessException; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.param.LEDProgramParam; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.dao.domain.LEDProgram; import com.sandu.ximon.dao.mapper.LEDProgramMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.List; @Service @AllArgsConstructor public class LEDProgramService extends BaseServiceImpl { public boolean addProgram(LEDProgramParam receiveParam) { LEDProgram led = new LEDProgram(); led.setUserId(SecurityUtils.getClientId()); if (SecurityUtils.getClientId() != null) { led.setUserName(SecurityUtils.getUsername()); } led.setName(receiveParam.getName()); led.setPreview(receiveParam.getPreviewUrl()); led.setWidth(receiveParam.getWidth()); led.setHeight(receiveParam.getHeight()); led.setPages(JSON.toJSONString(receiveParam.getPages())); return save(led); } public boolean updateProgram(Long pid,LEDProgramParam receiveParam) { LEDProgram byId = getById(pid); if (byId == null) { throw new BusinessException("未找到该节目"); } LEDProgram led = new LEDProgram(); led.setId(pid); //led.setUserId(SecurityUtils.getClientId()); led.setName(receiveParam.getName()); led.setPreview(receiveParam.getPreviewUrl()); led.setWidth(receiveParam.getWidth()); led.setHeight(receiveParam.getHeight()); led.setPages(JSON.toJSONString(receiveParam.getPages())); return updateById(led); } public boolean deleteProgram(Long id) { LEDProgram byId = getById(id); if (byId == null) { throw new BusinessException("未找到该节目"); } return removeById(id); } public LEDProgramParam getByPid(Long id) { LEDProgram byId = getById(id); if (byId == null) { throw new BusinessException("未找到该节目"); } LEDProgramParam param=new LEDProgramParam(); param.setId(byId.getId()); param.setHeight(byId.getHeight()); param.setWidth(byId.getWidth()); param.setName(byId.getName()); param.setPreviewUrl(byId.getPreview()); param.setPages(JSON.parseObject(byId.getPages(), List.class)); return param; } public LambdaQueryWrapper listProgram() { if (SecurityUtils.getClientId() != null) { return Wrappers.lambdaQuery(LEDProgram.class).eq(LEDProgram::getUserId, SecurityUtils.getClientId()); } else { return Wrappers.lambdaQuery(LEDProgram.class); } } }