| | |
| | | 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.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.ximon.admin.param.LEDProgramParam; |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.dao.domain.LEDProgram; |
| | | import com.sandu.ximon.dao.enums.AdministratorEnums; |
| | | import com.sandu.ximon.dao.enums.OrderByEnums; |
| | | 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<LEDProgramMapper, LEDProgram> { |
| | | |
| | | private final LEDProgramMapper ledProgramMapper; |
| | | private final ClientService clientService; |
| | | |
| | | public boolean addProgram(LEDProgramParam receiveParam) { |
| | | |
| | | LEDProgram led = new LEDProgram(); |
| | | if (AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getClientId())) { |
| | | led.setUserId(SecurityUtils.getUserId()); |
| | | led.setUserId(SecurityUtils.getUserId()); |
| | | led.setUserName(SecurityUtils.getUsername()); |
| | | if (clientService.findClientId()) { |
| | | led.setClientId(clientService.getClientId()); |
| | | } |
| | | led.setName(receiveParam.getName()); |
| | | led.setKind(receiveParam.getKind()); |
| | | |
| | | led.setPreview(receiveParam.getPreviewUrl()); |
| | | led.setWidth(receiveParam.getWidth()); |
| | | led.setHeight(receiveParam.getHeight()); |
| | | if (receiveParam.getPages() == null) { |
| | | throw new BusinessException("节目内容丢失"); |
| | | } |
| | | led.setPages(JSON.toJSONString(receiveParam.getPages())); |
| | | return save(led); |
| | | } |
| | | |
| | | |
| | | public boolean updateProgram(LEDProgramParam receiveParam) { |
| | | public boolean updateProgram(Long pid, LEDProgramParam receiveParam) { |
| | | |
| | | LEDProgram byId = getById(receiveParam.getId()); |
| | | if (byId == null) { |
| | | LEDProgram led = getById(pid); |
| | | if (led == null) { |
| | | throw new BusinessException("未找到该节目"); |
| | | } |
| | | |
| | | LEDProgram led = new LEDProgram(); |
| | | led.setId(receiveParam.getId()); |
| | | led.setUserId(SecurityUtils.getClientId()); |
| | | led.setName(receiveParam.getName()); |
| | | led.setKind(receiveParam.getKind()); |
| | | if (receiveParam.getPixel() != null) { |
| | | led.setPixel(receiveParam.getPixel()); |
| | | led.setPreview(receiveParam.getPreviewUrl()); |
| | | led.setWidth(receiveParam.getWidth()); |
| | | led.setHeight(receiveParam.getHeight()); |
| | | if (receiveParam.getPages() == null) { |
| | | throw new BusinessException("节目内容丢失"); |
| | | } |
| | | if (receiveParam.getSize() != null) { |
| | | led.setSize(receiveParam.getSize()); |
| | | } |
| | | led.setPages(JSON.toJSONString(receiveParam.getPages())); |
| | | return updateById(led); |
| | | } |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | 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 List<LEDProgram> listProgram(BaseConditionVO baseConditionVO, Integer order, Integer seq, String keyword) { |
| | | LambdaQueryWrapper<LEDProgram> wrapper = listPrograms(); |
| | | |
| | | if (keyword != null && !keyword.isEmpty()) { |
| | | wrapper.like(LEDProgram::getName, keyword); |
| | | } |
| | | //排序字段 |
| | | String orderByResult = "id"; |
| | | //正序、倒叙 |
| | | String orderBySeq = OrderByEnums.ASC.getCode(); |
| | | if (order != null) { |
| | | switch (order) { |
| | | case 1: |
| | | orderByResult = OrderByEnums.LED_N_PROGRAM_CREATE_TIME.getCode(); |
| | | break; |
| | | default: |
| | | } |
| | | } |
| | | if (seq != null) { |
| | | switch (seq) { |
| | | case 1: |
| | | orderBySeq = OrderByEnums.ASC.getCode(); |
| | | break; |
| | | case 2: |
| | | orderBySeq = OrderByEnums.DESC.getCode(); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | //排序方式 |
| | | String orderBy = orderByResult + " " + orderBySeq; |
| | | |
| | | if (baseConditionVO != null) { |
| | | PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), orderBy); |
| | | } |
| | | return list(wrapper); |
| | | } |
| | | |
| | | public List<LEDProgram> listProgramOnBinding(String keyword) { |
| | | LambdaQueryWrapper<LEDProgram> wrapper = listPrograms(); |
| | | |
| | | if (keyword != null && !keyword.isEmpty()) { |
| | | wrapper.like(LEDProgram::getName, keyword); |
| | | } |
| | | |
| | | return list(wrapper); |
| | | } |
| | | |
| | | |
| | | public LambdaQueryWrapper<LEDProgram> listPrograms() { |
| | | if (SecurityUtils.getClientId() == null) { |
| | | return Wrappers.lambdaQuery(LEDProgram.class); |
| | | } else { |
| | | return Wrappers.lambdaQuery(LEDProgram.class).eq(LEDProgram::getUserId, SecurityUtils.getUserId()) |
| | | .or(w -> { |
| | | w.eq(LEDProgram::getClientId, SecurityUtils.getClientId()); |
| | | }); |
| | | } |
| | | } |
| | | } |