From 85cbeedbf3e6c7a46afb53090d0ed44a52883f46 Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期四, 02 十一月 2023 19:19:32 +0800
Subject: [PATCH] feat: 调拨调整

---
 consum-base/src/main/java/com/consum/base/service/BaseCategoryServiceImpl.java |   67 +++++++++++++++++++++++++++------
 1 files changed, 55 insertions(+), 12 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/BaseCategoryServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseCategoryServiceImpl.java
index 8813bbd..48d474f 100644
--- a/consum-base/src/main/java/com/consum/base/service/BaseCategoryServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/BaseCategoryServiceImpl.java
@@ -2,8 +2,10 @@
 
 import com.consum.base.Constants;
 import com.consum.base.pojo.BaseCategoryParam;
+import com.consum.base.pojo.ProjectTreeResult;
 import com.consum.base.util.IdUtil;
 import com.consum.model.po.BaseCategory;
+import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.StringUtils;
@@ -11,7 +13,10 @@
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.Comparator;
 import java.util.HashMap;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @Description 鐗╁搧鍒嗙被
@@ -21,13 +26,14 @@
 @Service
 public class BaseCategoryServiceImpl extends BaseServiceImpl {
 
+    private static final String QUERY_TREE_ALL = "select * from base_category where states = 1  order by FATHER_CATEGORY_ID, LEVELS ASC";
+
     /**
      * @Description 鏂板鍒嗙被
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/23
      */
-//    public int add(BaseCategoryParam param, S_user_core currentUser) {
-    public int add(BaseCategoryParam param) {
+    public int add(BaseCategoryParam param, S_user_core currentUser) {
         BaseCategory baseCategory = new BaseCategory();
         BeanUtils.copyProperties(param, baseCategory);
         baseCategory.setId(IdUtil.generateId());
@@ -43,9 +49,9 @@
                 baseCategory.setLevels(Constants.LEVELS_THREE);
             }
         }
-        //TODO 鍒涘缓浜篿d鍜屽垱寤轰汉濮撳悕
-//        baseCategory.setCreateUserId(currentUser.getId());
-//        baseCategory.setCreateUserName(currentUser.getUser_name());
+        //鍒涘缓浜篿d鍜屽垱寤轰汉濮撳悕
+        baseCategory.setCreateUserId(currentUser.getId());
+        baseCategory.setCreateUserName(currentUser.getUser_name());
         //鍒涘缓鏃堕棿
         baseCategory.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
 
@@ -94,8 +100,10 @@
         }
         //鐘舵��
         if (param.getStates() != null) {
-            sql.append(" and status =:status ");
-            paramts.put("status", param.getStates());
+            sql.append(" and states =:states ");
+            paramts.put("states", param.getStates());
+        } else {
+            sql.append(" and states !=3 ");
         }
         sql.append(" ORDER BY ORDER_NUMBER,CREATE_TIME DESC ");
         return selectSplit(sql.toString(), paramts, new BaseCategory());
@@ -120,24 +128,59 @@
     }
 
     /**
-     * @Description 鏍规嵁鑺傜偣id鍒犻櫎鑺傜偣(閫昏緫鍒犻櫎)
+     * @Description 鏍规嵁id鍒犻櫎鐗╁搧鍒嗙被
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/23
      */
-    public int updateById(BaseCategory baseCategory) {
-        baseCategory.setStates(Constants.CATEGORY_DELETED);
+    public int updateById(BaseCategory baseCategory, S_user_core currentUser) {
+        baseCategory.setStates(Constants.STATES_DELETED);
         //鍒犻櫎鏃堕棿
         baseCategory.setDTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-        //TODO 鍒犻櫎浜篿d鍜屽垹闄や汉濮撳悕
+        //鍒犻櫎浜篿d鍜屽垹闄や汉濮撳悕
+        baseCategory.setDUserId(currentUser.getId());
+        baseCategory.setDUserName(currentUser.getUser_name());
         return this.update(baseCategory);
     }
 
     /**
      * 鏍规嵁鑺傜偣id鏌ヨ鑺傜偣璇︽儏
      * @author 鍗㈠簡闃�
-     * @date 2023/9/26
+     * @Date 2023/10/23
      */
     public BaseCategory getById(Long id) {
         return this.get(new BaseCategory(id));
     }
+
+    /**
+     * @Description
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/30
+     */
+    public List<BaseCategory> queryForTree() {
+        // 灞曠ず鍏ㄩ儴鑺傜偣
+        return this.select(QUERY_TREE_ALL, new Object[]{}, new BaseCategory());
+    }
+
+    public List<ProjectTreeResult> tree(String categoryName) {
+        BaseCategory categoryParam = new BaseCategory();
+        categoryParam.setStates(1);
+        List<BaseCategory> categories = select(categoryParam);
+        return categories.stream()
+                .filter(category -> Integer.valueOf(1).equals(category.getLevels()))
+                .sorted(Comparator.comparing(BaseCategory::getOrderNumber))
+                .map(ProjectTreeResult::new)
+                .peek(lv1TreeResult -> lv1TreeResult.setChildren(categories.stream().filter(categorie -> lv1TreeResult.getId().equals(categorie.getFatherCategoryId())).sorted(Comparator.comparing(BaseCategory::getOrderNumber)).map(ProjectTreeResult::new).collect(Collectors.toList())))
+                .collect(Collectors.toList());
+    }
+
+    /**
+     * @Description  涓夌骇鍒嗙被鍒楄〃鏌ヨ
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/30
+     * @return
+     */
+    public List<BaseCategory> queryForLv3Tree() {
+        StringBuilder sql = new StringBuilder("SELECT * FROM base_category WHERE states = 1 and levels = 3 order by ORDER_NUMBER,CREATE_TIME desc");
+        return this.select(sql.toString(), new Object[]{}, new BaseCategory());
+    }
 }

--
Gitblit v1.9.1