From dda268997ca8f8a364f7c19b45d7a43a50a98efe Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 25 十月 2022 18:00:11 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java |  122 ++++++++++++++++++++++++++++++++++------
 1 files changed, 103 insertions(+), 19 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java
index 7b3b92c..5250602 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java
@@ -1,53 +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.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());
-        if (AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getClientId())) {
-            led.setUserId(SecurityUtils.getUserId());
-        }
         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);
     }
 
@@ -62,5 +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 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";
+        //姝e簭銆佸�掑彊
+        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());
+                    });
+        }
+    }
 }

--
Gitblit v1.9.3