2021与蓝度共同重构项目,服务端
liuhaonan
2022-10-25 d495f9b8cdc83663e4189bc3cc72ac9543ff5555
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java
@@ -1,52 +1,63 @@
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.OrderByEnums;
import com.sandu.ximon.dao.mapper.LEDProgramMapper;
import lombok.AllArgsConstructor;
import nova.traffic.utils.NovaTraffic;
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();
        led.setUserId(SecurityUtils.getClientId());
        led.setPixel(receiveParam.getPixel());
        led.setSize(receiveParam.getSize());
        led.setUserId(SecurityUtils.getUserId());
        led.setUserName(SecurityUtils.getUsername());
        if (clientService.findClientId()) {
            led.setClientId(clientService.getClientId());
        }
        led.setName(receiveParam.getName());
        led.setKind(receiveParam.getKind());
        led.setProgramBase64(receiveParam.getProgramBase64());
        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.setPixel(receiveParam.getPixel());
        led.setSize(receiveParam.getSize());
        led.setName(receiveParam.getName());
        led.setKind(receiveParam.getKind());
        led.setProgramBase64(receiveParam.getProgramBase64());
        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 updateById(led);
    }
@@ -61,29 +72,79 @@
    }
    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<LEDProgram> listProgram() {
        LambdaQueryWrapper<LEDProgram> wrapper= new LambdaQueryWrapper<>();
       /* if(SecurityUtils.getClientId()!=null){
            return list(Wrappers.lambdaQuery(LEDProgram.class).eq(LEDProgram::getUserId, SecurityUtils.getClientId()));
        }else {
            return list(Wrappers.lambdaQuery(LEDProgram.class));
        }*/
        if(SecurityUtils.getClientId()!=null){
          return   wrapper=Wrappers.lambdaQuery(LEDProgram.class).eq(LEDProgram::getUserId,SecurityUtils.getClientId());
        }else {
          return   wrapper=Wrappers.lambdaQuery(LEDProgram.class);
    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 void NovaTraffic(String ip, int port){
        NovaTraffic novaTraffic = new NovaTraffic("192.168.0.220", 5000);
    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());
                    });
        }
    }
}