From be63b5c4b3fd231a5d25ce5434cc24c9a8e285b7 Mon Sep 17 00:00:00 2001
From: luqingyang <lqy5492@163.com>
Date: 星期一, 23 十月 2023 16:28:53 +0800
Subject: [PATCH] fix:物品分类 代码完善

---
 consum-base/src/main/java/com/consum/base/service/BaseCategoryServiceImpl.java |  145 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 145 insertions(+), 0 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
new file mode 100644
index 0000000..0e79236
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/service/BaseCategoryServiceImpl.java
@@ -0,0 +1,145 @@
+package com.consum.base.service;
+
+import com.consum.base.Constants;
+import com.consum.base.pojo.BaseCategoryParam;
+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;
+import com.walker.jdbc.service.BaseServiceImpl;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+
+/**
+ * @Description 鐗╁搧鍒嗙被
+ * @Author 鍗㈠簡闃�
+ * @Date 2023/10/23
+ */
+@Service
+public class BaseCategoryServiceImpl extends BaseServiceImpl {
+
+    /**
+     * @Description 鏂板鍒嗙被
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/23
+     */
+    public int add(BaseCategoryParam param, S_user_core currentUser) {
+        BaseCategory baseCategory = new BaseCategory();
+        BeanUtils.copyProperties(param, baseCategory);
+        baseCategory.setId(IdUtil.generateId());
+        //灞傜骇
+        if (baseCategory.getFatherCategoryId() == 0L) {  //涓�绾у垎绫�
+            baseCategory.setLevels(Constants.LEVELS_ONE);
+        } else {
+            //鏍规嵁鐖剁被id鏌ヨ涓婄骇鍒嗙被淇℃伅
+            BaseCategory category = this.get(new BaseCategory(baseCategory.getFatherCategoryId()));
+            if (category.getFatherCategoryId() == 0L) {  //浜岀骇鍒嗙被
+                baseCategory.setLevels(Constants.LEVELS_TWO);
+            } else {  //涓夌骇鍒嗙被
+                baseCategory.setLevels(Constants.LEVELS_THREE);
+            }
+        }
+        //鍒涘缓浜篿d鍜屽垱寤轰汉濮撳悕
+        baseCategory.setCreateUserId(currentUser.getId());
+        baseCategory.setCreateUserName(currentUser.getUser_name());
+        //鍒涘缓鏃堕棿
+        baseCategory.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+
+        return this.insert(baseCategory);
+    }
+
+    /**
+     * @Description 鏍规嵁鍒嗙被鍚嶇О鍜岀埗绫籭d鏌ヨ鍒嗙被
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/23
+     * @param categoryName
+     * @param fatherCategoryId
+     */
+    public BaseCategory getByCategoryNameAndFatherCategoryId(String categoryName, Long fatherCategoryId) {
+        StringBuilder sql = new StringBuilder("SELECT * FROM base_category WHERE 1 = 1 ");
+        HashMap<String, Object> paramts = new HashMap<>();
+
+        //鍒嗙被鍚嶇О
+        sql.append(" and category_name =:category_name ");
+        paramts.put("category_name", categoryName);
+        //鐖剁被id
+        sql.append(" and father_category_id =:father_category_id ");
+        paramts.put("father_category_id", fatherCategoryId);
+
+        return this.get(sql.toString(), paramts, new BaseCategory());
+    }
+
+    /**
+     * @Description 鐗╁搧鍒嗙被鍒楄〃鏌ヨ
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/23
+     */
+    public GenericPager<BaseCategory> queryBaseCategoryList(BaseCategoryParam param) {
+        StringBuilder sql = new StringBuilder("SELECT * FROM base_category WHERE 1 = 1 ");
+        HashMap<String, Object> paramts = new HashMap<>();
+
+        //鍒嗙被鍚嶇О
+        if (!StringUtils.isEmpty(param.getCategoryName())) {
+            sql.append(" and category_name like:category_name ");
+            paramts.put("category_name", StringUtils.CHAR_PERCENT + param.getCategoryName() + StringUtils.CHAR_PERCENT);
+        }
+        //绫诲埆
+        if (!StringUtils.isEmpty(param.getClassification())) {
+            sql.append(" and classification =:classification ");
+            paramts.put("classification", param.getClassification());
+        }
+        //鐘舵��
+        if (param.getStates() != null) {
+            sql.append(" and status =:status ");
+            paramts.put("status", param.getStates());
+        }
+        sql.append(" ORDER BY ORDER_NUMBER,CREATE_TIME DESC ");
+        return selectSplit(sql.toString(), paramts, new BaseCategory());
+    }
+
+    /**
+     * @Description  缂栬緫
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/23
+     */
+    public int updateBaseCategory(BaseCategory baseCategory) {
+        return this.update(baseCategory);
+    }
+
+    /**
+     * 淇敼鐘舵��
+     * @author 鍗㈠簡闃�
+     * @date 2023/9/27
+     */
+    public int updateStatus(BaseCategory baseCategory) {
+        return this.update(baseCategory);
+    }
+
+    /**
+     * @Description 鏍规嵁鑺傜偣id鍒犻櫎鑺傜偣(閫昏緫鍒犻櫎)
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/23
+     */
+    public int updateById(BaseCategory baseCategory, S_user_core currentUser) {
+        baseCategory.setStates(Constants.CATEGORY_DELETED);
+        //鍒犻櫎鏃堕棿
+        baseCategory.setDTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+        //鍒犻櫎浜篿d鍜屽垹闄や汉濮撳悕
+        baseCategory.setDUserId(currentUser.getId());
+        baseCategory.setDUserName(currentUser.getUser_name());
+        return this.update(baseCategory);
+    }
+
+    /**
+     * 鏍规嵁鑺傜偣id鏌ヨ鑺傜偣璇︽儏
+     * @author 鍗㈠簡闃�
+     * @date 2023/9/26
+     */
+    public BaseCategory getById(Long id) {
+        return this.get(new BaseCategory(id));
+    }
+}

--
Gitblit v1.9.1