Merge branch 'feature/bug-1344' into feature/quotation

# Conflicts:
#	nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductTypeServiceImpl.java
This commit is contained in:
曹鹏飞 2026-03-11 10:22:07 +08:00
commit 30011ce2b0
4 changed files with 30 additions and 68 deletions

View File

@ -44,12 +44,7 @@ public class ProductHonorServiceImpl extends ServiceImpl<ProductHonorMapper, Pro
@Override
public Integer add(ProductHonorAddRequest request) {
ProductHonor productHonor = new ProductHonor()
.setTitle(request.getItems().stream()
.filter(it-> StrUtil.equals(it.getLanguageCode(), Constant.DEFAULT_LANGUAGE_CODE))
.findFirst()
.get()
.getTitle()
.trim())
.setTitle(request.getItems().get(0).getTitle().trim())
.setObtainingTime(request.getObtainingTime())
.setBatchNumber(request.getBatchNumber())
.setEnable(request.getEnable())

View File

@ -42,13 +42,8 @@ public class ProductPartServiceImpl extends ServiceImpl<ProductPartMapper, Produ
@Transactional
@Override
public void add(ProductPartAddRequest request) {
ProductPartInfoAddRequest cn=request.getItems().stream()
.filter(it-> StrUtil.equals(it.getLanguageCode(), Constant.DEFAULT_LANGUAGE_CODE))
.findFirst()
.orElse(null);
VUtils.trueThrowBusinessError(Objects.isNull(cn)).throwMessage("必须包含中文数据");
ProductPart part = new ProductPart()
.setName(cn.getName())
.setName(request.getItems().get(0).getName())
.setAttrId(request.getAttrId())
.setDescribe(request.getDescribe())
.setCreateBy(AdminUserUtil.getUserName())
@ -60,14 +55,9 @@ public class ProductPartServiceImpl extends ServiceImpl<ProductPartMapper, Produ
@Transactional
@Override
public void update(ProductPartUpdateRequest request) {
ProductPartInfoAddRequest cn = request.getItems().stream()
.filter(it -> StrUtil.equals(it.getLanguageCode(), Constant.DEFAULT_LANGUAGE_CODE))
.findFirst()
.orElse(null);
VUtils.trueThrowBusinessError(Objects.isNull(cn)).throwMessage("必须包含中文数据");
lambdaUpdate()
.set(ProductPart::getAttrId, request.getAttrId())
.set(ProductPart::getName, cn.getName())
.set(ProductPart::getName, request.getItems().get(0).getName())
.set(ProductPart::getDescribe, request.getDescribe())
.set(ProductPart::getUpdateBy, AdminUserUtil.getUserName())
.set(ProductPart::getUpdateTime, LocalDateTime.now())

View File

@ -51,14 +51,9 @@ public class ProductSeriesServiceImpl extends ServiceImpl<ProductSeriesMapper, P
@Transactional
@Override
public Integer add(ProductSeriesAddRequest request) {
ProductSeriesInfoAddRequest cn=request.getItems().stream()
.filter(it-> StrUtil.equals(it.getLanguageCode(), Constant.DEFAULT_LANGUAGE_CODE))
.findFirst()
.orElse(null);
VUtils.trueThrowBusinessError(Objects.isNull(cn)).throwMessage("必须包含中文数据");
ProductSeries productSeries = new ProductSeries()
.setModuleId(request.getModuleId())
.setName(cn.getName().trim())
.setName(request.getItems().get(0).getName().trim())
.setBatchNumber(IdUtil.getSnowflakeNextIdStr())
.setSort(RandomUtil.randomInt(0,10000))
.setCreateBy(AdminUserUtil.getUserName())
@ -88,13 +83,8 @@ public class ProductSeriesServiceImpl extends ServiceImpl<ProductSeriesMapper, P
save(info);
productSeriesInfoService.add(info.getId(), request.getItems());
} else {
ProductSeriesInfoAddRequest cn = request.getItems().stream()
.filter(it -> StrUtil.equals(it.getLanguageCode(), Constant.DEFAULT_LANGUAGE_CODE))
.findFirst()
.orElse(null);
VUtils.trueThrowBusinessError(Objects.isNull(cn)).throwMessage("必须包含中文数据");
info.setModuleId(request.getModuleId());
info.setName(cn.getName().trim());
info.setName(request.getItems().get(0).getName().trim());
// info.setSort(request.getSort());
info.setUpdateBy(AdminUserUtil.getUserName());
info.setUpdateTime(LocalDateTime.now());

View File

@ -2,10 +2,8 @@ package com.nflg.mobilebroken.repository.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nflg.mobilebroken.common.constant.Constant;
import com.nflg.mobilebroken.common.constant.PublishState;
import com.nflg.mobilebroken.common.constant.STATE;
import com.nflg.mobilebroken.common.exception.NflgException;
@ -34,7 +32,6 @@ import java.util.Objects;
* <p>
* 产品中心-产品类型 服务实现类
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
@ -43,7 +40,7 @@ import java.util.Objects;
public class ProductTypeServiceImpl extends ServiceImpl<ProductTypeMapper, ProductType> implements IProductTypeService {
@Resource
private IProductTypeInfoService productTypeInfoService;
private IProductTypeInfoService productTypeInfoService;
@Resource
private IProductTypeFileService productTypeFileService;
@ -54,17 +51,12 @@ public class ProductTypeServiceImpl extends ServiceImpl<ProductTypeMapper, Produ
@Transactional
@Override
public Integer add(ProductTypeAddRequest request) {
ProductTypeInfoAddRequest cn=request.getItems().stream()
.filter(it-> StrUtil.equals(it.getLanguageCode(), Constant.DEFAULT_LANGUAGE_CODE))
.findFirst()
.orElse(null);
VUtils.trueThrowBusinessError(Objects.isNull(cn)).throwMessage("必须包含中文数据");
ProductType productType = new ProductType()
.setModuleId(request.getModuleId())
.setSeriesNumber(request.getSeriesNumber())
.setBatchNumber(request.getBatchNumber())
.setName(cn.getName().trim())
.setSort(RandomUtil.randomInt(0,10000))
.setName(request.getItems().get(0).getName().trim())
.setSort(RandomUtil.randomInt(0, 10000))
.setCreateBy(AdminUserUtil.getUserName())
.setCreateTime(LocalDateTime.now());
save(productType);
@ -73,17 +65,17 @@ public class ProductTypeServiceImpl extends ServiceImpl<ProductTypeMapper, Produ
.setId(productType.getId())
.setState(PublishState.Published.getState()));
}
productTypeInfoService.add(productType.getId(),request.getItems());
List<ProductFileAddRequest> files=new ArrayList<>();
request.getItems().forEach(item->{
if (CollectionUtil.isNotEmpty(item.getFiles())){
item.getFiles().forEach(file->{
productTypeInfoService.add(productType.getId(), request.getItems());
List<ProductFileAddRequest> files = new ArrayList<>();
request.getItems().forEach(item -> {
if (CollectionUtil.isNotEmpty(item.getFiles())) {
item.getFiles().forEach(file -> {
file.setLanguageCode(item.getLanguageCode());
files.add(file);
});
}
});
productTypeFileService.add(productType.getId(),files);
productTypeFileService.add(productType.getId(), files);
return productType.getId();
}
@ -97,12 +89,7 @@ public class ProductTypeServiceImpl extends ServiceImpl<ProductTypeMapper, Produ
return id;
// baseMapper.copyItems(request.getId(), id);
} else {
ProductTypeInfoAddRequest cn=request.getItems().stream()
.filter(it-> StrUtil.equals(it.getLanguageCode(), Constant.DEFAULT_LANGUAGE_CODE))
.findFirst()
.orElse(null);
VUtils.trueThrowBusinessError(Objects.isNull(cn)).throwMessage("必须包含中文数据");
info.setName(cn.getName().trim());
info.setName(request.getItems().get(0).getName().trim());
info.setModuleId(request.getModuleId());
info.setSeriesNumber(request.getSeriesNumber());
// info.setSort(request.getSort());
@ -115,9 +102,9 @@ public class ProductTypeServiceImpl extends ServiceImpl<ProductTypeMapper, Produ
.setState(PublishState.Published.getState()));
}
productTypeInfoService.update(request.getItems());
List<ProductFileAddRequest> files=new ArrayList<>();
request.getItems().forEach(item->{
if (CollectionUtil.isNotEmpty(item.getFiles())){
List<ProductFileAddRequest> files = new ArrayList<>();
request.getItems().forEach(item -> {
if (CollectionUtil.isNotEmpty(item.getFiles())) {
files.addAll(item.getFiles());
}
});
@ -128,7 +115,7 @@ public class ProductTypeServiceImpl extends ServiceImpl<ProductTypeMapper, Produ
@Override
public Page<ProductTypeSearchVO> getList(ProductTypeSearchRequest request) {
return baseMapper.getList(request,new Page<>(request.getPage(), request.getPageSize()));
return baseMapper.getList(request, new Page<>(request.getPage(), request.getPageSize()));
}
@Override
@ -142,17 +129,17 @@ public class ProductTypeServiceImpl extends ServiceImpl<ProductTypeMapper, Produ
@Override
public void enable(EnableRequest request) {
ProductType info=getById(request.getId());
ProductType info = getById(request.getId());
VUtils.trueThrowBusinessError(Objects.isNull(info)).throwMessage("无效的数据");
if (request.getEnable()){
if (request.getEnable()) {
//启用
info.setEnable(true);
info.setUpdateBy(AdminUserUtil.getUserName());
info.setUpdateTime(LocalDateTime.now());
updateById(info);
}else {
} else {
//禁用
VUtils.trueThrowBusinessError(Objects.equals(info.getState(),PublishState.Published.getState()))
VUtils.trueThrowBusinessError(Objects.equals(info.getState(), PublishState.Published.getState()))
.throwMessage("不能禁用已发布的数据");
info.setEnable(false);
info.setUpdateBy(AdminUserUtil.getUserName());
@ -244,7 +231,7 @@ public class ProductTypeServiceImpl extends ServiceImpl<ProductTypeMapper, Produ
VUtils.trueThrowBusinessError(Objects.isNull(info)).throwMessage("无效的数据");
List<ProductTypeInfoAddRequest> items = productTypeInfoService.getInfo(typeId);
items.forEach(item -> {
item.setFiles(productTypeFileService.getInfo(typeId,item.getLanguageCode()));
item.setFiles(productTypeFileService.getInfo(typeId, item.getLanguageCode()));
});
return new ProductTypeInfoVO()
.setId(info.getId())
@ -308,12 +295,12 @@ public class ProductTypeServiceImpl extends ServiceImpl<ProductTypeMapper, Produ
@Override
public ProductTypeLanguageInfoVO getInfoByLanguage(String typeNumber, String language) {
return productTypeInfoService.getInfoByLanguage(typeNumber,language);
return productTypeInfoService.getInfoByLanguage(typeNumber, language);
}
@Override
public List<ProductTypeSimpleVO> getSimpleListByLanguage(String batchNumber, String language) {
return baseMapper.getSimpleListByLanguage(batchNumber,language);
return baseMapper.getSimpleListByLanguage(batchNumber, language);
}
@Override
@ -321,14 +308,14 @@ public class ProductTypeServiceImpl extends ServiceImpl<ProductTypeMapper, Produ
return baseMapper.searchSimpleList(request,language);
}
private void delete(Integer typeId){
ProductType info=getById(typeId);
private void delete(Integer typeId) {
ProductType info = getById(typeId);
removeById(typeId);
productTypeInfoService.delete(Collections.singletonList(typeId));
productTypeFileService.delete(Collections.singletonList(typeId));
if(!lambdaQuery()
if (!lambdaQuery()
.eq(ProductType::getSeriesNumber, info.getSeriesNumber())
.exists()){
.exists()) {
log.info("删除对应的设备机型数据");
productModelService.deleteByParent(info.getBatchNumber());
}