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 @Override
public Integer add(ProductHonorAddRequest request) { public Integer add(ProductHonorAddRequest request) {
ProductHonor productHonor = new ProductHonor() ProductHonor productHonor = new ProductHonor()
.setTitle(request.getItems().stream() .setTitle(request.getItems().get(0).getTitle().trim())
.filter(it-> StrUtil.equals(it.getLanguageCode(), Constant.DEFAULT_LANGUAGE_CODE))
.findFirst()
.get()
.getTitle()
.trim())
.setObtainingTime(request.getObtainingTime()) .setObtainingTime(request.getObtainingTime())
.setBatchNumber(request.getBatchNumber()) .setBatchNumber(request.getBatchNumber())
.setEnable(request.getEnable()) .setEnable(request.getEnable())

View File

@ -42,13 +42,8 @@ public class ProductPartServiceImpl extends ServiceImpl<ProductPartMapper, Produ
@Transactional @Transactional
@Override @Override
public void add(ProductPartAddRequest request) { 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() ProductPart part = new ProductPart()
.setName(cn.getName()) .setName(request.getItems().get(0).getName())
.setAttrId(request.getAttrId()) .setAttrId(request.getAttrId())
.setDescribe(request.getDescribe()) .setDescribe(request.getDescribe())
.setCreateBy(AdminUserUtil.getUserName()) .setCreateBy(AdminUserUtil.getUserName())
@ -60,14 +55,9 @@ public class ProductPartServiceImpl extends ServiceImpl<ProductPartMapper, Produ
@Transactional @Transactional
@Override @Override
public void update(ProductPartUpdateRequest request) { 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() lambdaUpdate()
.set(ProductPart::getAttrId, request.getAttrId()) .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::getDescribe, request.getDescribe())
.set(ProductPart::getUpdateBy, AdminUserUtil.getUserName()) .set(ProductPart::getUpdateBy, AdminUserUtil.getUserName())
.set(ProductPart::getUpdateTime, LocalDateTime.now()) .set(ProductPart::getUpdateTime, LocalDateTime.now())

View File

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