From 8b1d6e1b442c1909bd747805bd1845b40caabe0c Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期四, 06 三月 2025 09:03:59 +0800
Subject: [PATCH] data

---
 hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/SysCompanyServiceImpl.java |   44 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 43 insertions(+), 1 deletions(-)

diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/SysCompanyServiceImpl.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/SysCompanyServiceImpl.java
index 377ce1b..b585b60 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/SysCompanyServiceImpl.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/SysCompanyServiceImpl.java
@@ -12,6 +12,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -25,6 +26,8 @@
 @Service
 public class SysCompanyServiceImpl extends ServiceImpl<SysCompanyMapper, SysCompany> implements SysCompanyService {
 
+    @Resource
+    private SysCompanyMapper companyMapper;
 
     @Override
     public CommonPage selectCompanyList(SysCompany company) {
@@ -44,12 +47,15 @@
         if(!checkNameUnique(company)){
             throw new ApiException("公司名称已存在");
         }
+        if(!checkCodeUnique(company)){
+            throw new ApiException("公司编码已存在");
+        }
+        company.setCode(company.getCode().toUpperCase());
         company.setCreateBy(SecurityUtils.getUsername());
         int row= baseMapper.insert(company);
         if(row<1){
             throw new ApiException("新增公司失败");
         }
-
         return row;
     }
 
@@ -58,6 +64,10 @@
         if(!checkNameUnique(company)){
             throw new ApiException("公司名称已存在");
         }
+        if(!checkCodeUnique(company)){
+            throw new ApiException("公司编码已存在");
+        }
+        company.setCode(company.getCode().toUpperCase());
         company.setUpdateBy(SecurityUtils.getUsername());
         return baseMapper.updateById(company);
     }
@@ -68,6 +78,7 @@
     }
 
 
+    @Override
     public boolean checkNameUnique(SysCompany company){
         Long companyId=company.getId()==null?-1L:company.getId();
         SysCompany com= baseMapper.checkNameUnique(company.getName());
@@ -76,4 +87,35 @@
         }
         return UserConstant.UNIQUE;
     }
+
+
+    @Override
+    public void createProductTables(Long companyId) {
+        // 这里可以使用 MyBatis-Plus 的动态 SQL 或者直接执行 SQL 语句来创建表
+        // 为了简化示例,我们直接执行 SQL 语句
+        String createProductCategoryTableSql = "CREATE TABLE IF NOT EXISTS product_category_demo"+"_"+companyId+" (" +
+                "id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
+                "name VARCHAR(255) NOT NULL, " +
+                "company_id BIGINT NOT NULL)";
+        String createProductTableSql = "CREATE TABLE IF NOT EXISTS product_demo"+"_"+companyId+" (" +
+                "id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
+                "name VARCHAR(255) NOT NULL, " +
+                "description TEXT, " +
+                "price DECIMAL(10, 2) NOT NULL, " +
+                "category_id BIGINT NOT NULL)";
+
+        // 执行 SQL 语句
+        companyMapper.execute(createProductCategoryTableSql);
+        companyMapper.execute(createProductTableSql);
+    }
+
+
+    public boolean checkCodeUnique(SysCompany company){
+        Long companyId=company.getId()==null?-1L:company.getId();
+        SysCompany com= baseMapper.checkCodeUnique(company.getCode());
+        if(com!=null&&com.getId().longValue()!=companyId.longValue()){
+            return UserConstant.NOT_UNIQUE;
+        }
+        return UserConstant.UNIQUE;
+    }
 }

--
Gitblit v1.9.2