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