fix: license导入项目不区分sn和项目名称重复报错

This commit is contained in:
caiyuchao
2025-09-05 15:44:20 +08:00
parent f544f4f618
commit 5b5daef2e0
2 changed files with 13 additions and 7 deletions

View File

@@ -2,6 +2,7 @@ package org.agt.module.license.dal.mysql.project;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.agt.framework.common.pojo.PageResult; import org.agt.framework.common.pojo.PageResult;
import org.agt.framework.mybatis.core.mapper.BaseMapperX; import org.agt.framework.mybatis.core.mapper.BaseMapperX;
import org.agt.framework.mybatis.core.query.LambdaQueryWrapperX; import org.agt.framework.mybatis.core.query.LambdaQueryWrapperX;
@@ -71,7 +72,7 @@ public interface ProjectMapper extends BaseMapperX<ProjectDO> {
} }
default ProjectDO selectByName(String name) { default ProjectDO selectByName(String name) {
return selectOne(ProjectDO::getName, name); return selectOne(Wrappers.<ProjectDO>lambdaQuery().eq(ProjectDO::getName, name), false);
} }
default ProjectDO selectByCode(String code) { default ProjectDO selectByCode(String code) {

View File

@@ -694,6 +694,8 @@ public class LicenseServiceImpl implements LicenseService {
respVO.getFailures().put(serialNo, "客户名称不能为空"); respVO.getFailures().put(serialNo, "客户名称不能为空");
continue; continue;
} }
importVO.setCustomerName(importVO.getCustomerName().trim());
importVO.setProjectName(importVO.getProjectName().trim());
LocalDateTime createTime = getCreateTime(importVO); LocalDateTime createTime = getCreateTime(importVO);
CustomerDO customerDO = customerMapper.selectOne(Wrappers.<CustomerDO>lambdaQuery().eq(CustomerDO::getName, importVO.getCustomerName()), false); CustomerDO customerDO = customerMapper.selectOne(Wrappers.<CustomerDO>lambdaQuery().eq(CustomerDO::getName, importVO.getCustomerName()), false);
if (customerDO == null) { if (customerDO == null) {
@@ -710,7 +712,7 @@ public class LicenseServiceImpl implements LicenseService {
} }
Long customerId = customerDO.getId(); Long customerId = customerDO.getId();
ProjectDO projectDO = projectMapper.getBySnAndProjectAndCustomer(serialNo, importVO.getProjectName(), importVO.getCustomerName()); ProjectDO projectDO = projectMapper.getBySnAndProjectAndCustomer(null, importVO.getProjectName(), importVO.getCustomerName());
Long projectId = null; Long projectId = null;
if (projectDO == null) { if (projectDO == null) {
@@ -749,12 +751,15 @@ public class LicenseServiceImpl implements LicenseService {
// licenseDO.setApplicant(WebFrameworkUtils.getLoginUserId()); // licenseDO.setApplicant(WebFrameworkUtils.getLoginUserId());
String expiryDateExt = importVO.getExpiryDateExt(); String expiryDateExt = importVO.getExpiryDateExt();
LocalDateTime expiryDate; LocalDateTime expiryDate;
if ("永久".equals(expiryDateExt)) { if (StrUtil.isNotBlank(expiryDateExt)) {
expiryDate = LocalDateTime.of(2099, 12, 31, 23, 59, 59); if ("永久".equals(expiryDateExt)) {
} else { expiryDate = LocalDateTime.of(2099, 12, 31, 23, 59, 59);
expiryDate = LocalDateTime.of(LocalDate.parse(expiryDateExt, DateTimeFormatter.ofPattern("yyyy/M/d")), LocalTime.of(23, 59, 59)); } else {
expiryDate = LocalDateTime.of(LocalDate.parse(expiryDateExt, DateTimeFormatter.ofPattern("yyyy/M/d")), LocalTime.of(23, 59, 59));
}
licenseDO.setExpiryDate(expiryDate);
} }
licenseDO.setExpiryDate(expiryDate);
licenseDO.setApplicationTime(createTime); licenseDO.setApplicationTime(createTime);
// licenseDO.setUserNumber(importVO.getUserNumber()); // licenseDO.setUserNumber(importVO.getUserNumber());
// licenseDO.setRanNumber(importVO.getRanNumber()); // licenseDO.setRanNumber(importVO.getRanNumber());