From 2fcd97552d16718cc7997629fd637a73a5a4483f Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: 星期一, 19 六月 2023 14:44:19 +0800
Subject: [PATCH] 删除

---
 src/main/java/com/gk/firework/Service/ServiceImpl/ControlPrintParamServiceImpl.java |  155 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 155 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gk/firework/Service/ServiceImpl/ControlPrintParamServiceImpl.java b/src/main/java/com/gk/firework/Service/ServiceImpl/ControlPrintParamServiceImpl.java
new file mode 100644
index 0000000..5f44c72
--- /dev/null
+++ b/src/main/java/com/gk/firework/Service/ServiceImpl/ControlPrintParamServiceImpl.java
@@ -0,0 +1,155 @@
+package com.gk.firework.Service.ServiceImpl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gk.firework.Domain.ControlPrintParam;
+import com.gk.firework.Domain.Exception.BusinessException;
+import com.gk.firework.Domain.UserInfo;
+import com.gk.firework.Domain.Utils.PageInfo;
+import com.gk.firework.Domain.Utils.StringUtils;
+import com.gk.firework.Mapper.ControlPrintParamMapper;
+import com.gk.firework.Service.ControlPrintParamService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+public class ControlPrintParamServiceImpl extends ServiceImpl<ControlPrintParamMapper, ControlPrintParam> implements ControlPrintParamService {
+    @Autowired
+    ControlPrintParamMapper controlPrintParamMapper;
+
+    private static final String defaultSettingsOwner = "admin";
+    //内包装设置
+    private static final byte inner = 1;
+    //外包装设置
+    private static final byte outer = 2;
+
+    @Override
+    public ControlPrintParam getParamsByUser(UserInfo userInfo, byte type) {
+        LambdaQueryWrapper<ControlPrintParam> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ControlPrintParam::getOwner,userInfo.getUsername());
+        wrapper.eq(ControlPrintParam::getType,type);
+        ControlPrintParam controlPrintParam = baseMapper.selectOne(wrapper);
+        if (controlPrintParam == null){
+            wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(ControlPrintParam::getOwner,"admin");
+            wrapper.eq(ControlPrintParam::getType,type);
+        }
+        return baseMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public void selectDataGrid(PageInfo pageInfo) {
+        Page<ControlPrintParam> page = new Page<>(pageInfo.getPageIndex(), pageInfo.getPageSize());
+        List<OrderItem> orderItems = new ArrayList<>();
+        OrderItem orderItem = new OrderItem();
+        if (StringUtils.isNotBlank(pageInfo.getSort()) && StringUtils.isNotBlank(pageInfo.getOrder())) {
+            orderItem.setAsc(pageInfo.getOrder().equalsIgnoreCase("ascending"));
+            orderItem.setColumn(pageInfo.getSort());
+        }else {
+            orderItem.setAsc(false);
+            orderItem.setColumn("id");
+        }
+        orderItems.add(orderItem);
+        page.setOrders(orderItems);
+        List<ControlPrintParam> res = controlPrintParamMapper.selectDataGrid(page,pageInfo.getCondition());
+        //没有配置就返回默认配置
+        List<ControlPrintParam> settings = new ArrayList<>(res);
+        boolean flag = pageInfo.getCondition().get("enterprisename") == null &&
+                pageInfo.getCondition().get("type") == null;
+        //默认内包装
+        if (flag && settings.stream().filter(item -> item.getType() == inner).count() < 1) {
+            settings.addAll(this.selectDefaultSettings(inner,defaultSettingsOwner));
+            page.setTotal(page.getTotal() + 1);
+        }
+        //默认外包装
+        if (flag && settings.stream().filter(item -> item.getType() == outer).count() < 1) {
+            settings.addAll(this.selectDefaultSettings(outer,defaultSettingsOwner));
+            page.setTotal(page.getTotal() + 1);
+        }
+        pageInfo.setResult(settings);
+        pageInfo.setTotalCount(page.getTotal());
+    }
+
+    /**
+     * @Description: 获取内外包装默认设置,owner为admin
+     * @param type 类型 null 查询所有
+     * @date 2022/2/9 16:32
+     */
+    @Override
+    public List<ControlPrintParam> selectDefaultSettings(Byte type,String owner) {
+        return controlPrintParamMapper.selectList(
+                new LambdaQueryWrapper<ControlPrintParam>()
+                        .eq(ControlPrintParam::getOwner, owner)
+                        .eq(ControlPrintParam::getType,type));
+    }
+
+    /**
+    * @Description: 查找自己的type方案
+    * @date 2022/2/11 14:02
+    */
+    @Override
+    public ControlPrintParam getOwnSelectType(Byte type, UserInfo user) {
+        if (type == null) throw new BusinessException("参数不能为空");
+        List<ControlPrintParam> ownType = this.selectDefaultSettings(type, user.getUsername());
+        if (ownType.size() > 1)  throw new BusinessException("配置重复,请检查数据");
+        //没有配置返回默认配置
+        ControlPrintParam param = new ControlPrintParam();
+        param.setType(type);
+        if (ownType.size() == 0) {
+            List<ControlPrintParam> defaultSettings = this.selectDefaultSettings(type, defaultSettingsOwner);
+            if (defaultSettings.size() > 0) param = defaultSettings.get(0);
+        }
+        if (ownType.size() == 1) {
+            param = ownType.get(0);
+        }
+
+        return  param;
+
+    }
+
+
+    /**
+    * @Description: 新增配置方案
+    * @date 2022/2/11 16:17
+    */
+    @Override
+    public void addOrUpdateControlParams(ControlPrintParam controlPrintParam,UserInfo userInfo) {
+
+        Long id = controlPrintParam.getId();
+        if (id == null) {
+            controlPrintParam.setOwner(userInfo.getUsername());
+            this.save(controlPrintParam);
+        } else{
+            if (userInfo.getUsername().equals(controlPrintParam.getOwner())) {
+                this.updateById(controlPrintParam);
+            }else{
+                if (userInfo.getType() != 1)
+                    controlPrintParam.setOwner(userInfo.getUsername());
+                this.save(controlPrintParam);
+            }
+        }
+
+
+    }
+
+    /**
+    * @Description: 更新配置方案
+    * @date 2022/2/11 17:30
+    */
+    @Override
+    public void updateControlParams(ControlPrintParam controlPrintParam, UserInfo user) {
+
+        Long id = controlPrintParam.getId();
+        if (id == null) throw new BusinessException("参数不能为空");
+        controlPrintParam.setOwner(null);
+        controlPrintParam.setType(null);
+        this.updateById(controlPrintParam);
+    }
+
+}

--
Gitblit v1.9.2