Compare commits

..

No commits in common. "30011ce2b0718361f0d556accd272f8e11d69fca" and "54c76e64b140603d8267968af6789a0e9a1fc1bf" have entirely different histories.

7 changed files with 72 additions and 64 deletions

View File

@ -7,7 +7,6 @@ import lombok.experimental.Accessors;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import java.util.Collections;
@Getter @Getter
@Accessors(chain = true) @Accessors(chain = true)
@ -39,18 +38,18 @@ public class PageData<T> implements Serializable {
//是否有下一页 //是否有下一页
private boolean hasNextPage; private boolean hasNextPage;
public boolean isHasNextPage() { public boolean isHasNextPage(){
return page < getTotalPages(); return page < getTotalPages();
} }
//是否有上一页 //是否有上一页
private boolean hasPrevPage; private boolean hasPrevPage;
public boolean isHasPrevPage() { public boolean isHasPrevPage(){
return page > 1; return page > 1;
} }
//分页数据 //分页数据
@Setter @Setter
private Collection<T> items = Collections.emptyList(); private Collection<T> items;
} }

View File

@ -4,16 +4,13 @@ import com.nflg.mobilebroken.common.pojo.ApiResult;
import com.nflg.mobilebroken.common.pojo.vo.SimpleUserVO; import com.nflg.mobilebroken.common.pojo.vo.SimpleUserVO;
import com.nflg.mobilebroken.common.util.AppUserUtil; import com.nflg.mobilebroken.common.util.AppUserUtil;
import com.nflg.mobilebroken.quotation.controller.ControllerBase; import com.nflg.mobilebroken.quotation.controller.ControllerBase;
import com.nflg.mobilebroken.quotation.pojo.request.ShoppingInitRequest;
import com.nflg.mobilebroken.repository.entity.TBaseCustomer; import com.nflg.mobilebroken.repository.entity.TBaseCustomer;
import com.nflg.mobilebroken.repository.service.IAppUserService; import com.nflg.mobilebroken.repository.service.IAppUserService;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -50,9 +47,4 @@ public class ShoppingController extends ControllerBase {
); );
} }
} }
public ApiResult init(@Valid @RequestBody ShoppingInitRequest request){
//TODO
return ApiResult.success();
}
} }

View File

@ -1,21 +0,0 @@
package com.nflg.mobilebroken.quotation.pojo.request;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class ShoppingInitRequest {
/**
* 机型ID
*/
@NotNull
private Long modelId;
/**
* 报价对象ID
*/
@NotNull
private Integer targetId;
}

View File

@ -44,7 +44,12 @@ 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().get(0).getTitle().trim()) .setTitle(request.getItems().stream()
.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,8 +42,13 @@ 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(request.getItems().get(0).getName()) .setName(cn.getName())
.setAttrId(request.getAttrId()) .setAttrId(request.getAttrId())
.setDescribe(request.getDescribe()) .setDescribe(request.getDescribe())
.setCreateBy(AdminUserUtil.getUserName()) .setCreateBy(AdminUserUtil.getUserName())
@ -55,9 +60,14 @@ 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, request.getItems().get(0).getName()) .set(ProductPart::getName, cn.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,9 +51,14 @@ 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(request.getItems().get(0).getName().trim()) .setName(cn.getName().trim())
.setBatchNumber(IdUtil.getSnowflakeNextIdStr()) .setBatchNumber(IdUtil.getSnowflakeNextIdStr())
.setSort(RandomUtil.randomInt(0,10000)) .setSort(RandomUtil.randomInt(0,10000))
.setCreateBy(AdminUserUtil.getUserName()) .setCreateBy(AdminUserUtil.getUserName())
@ -83,8 +88,13 @@ 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(request.getItems().get(0).getName().trim()); info.setName(cn.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,8 +2,10 @@ 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;
@ -32,6 +34,7 @@ import java.util.Objects;
* <p> * <p>
* 产品中心-产品类型 服务实现类 * 产品中心-产品类型 服务实现类
* </p> * </p>
*
* @author 代码生成器生成 * @author 代码生成器生成
* @since 2025 * @since 2025
*/ */
@ -51,12 +54,17 @@ 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(request.getItems().get(0).getName().trim()) .setName(cn.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);
@ -65,17 +73,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();
} }
@ -89,7 +97,12 @@ public class ProductTypeServiceImpl extends ServiceImpl<ProductTypeMapper, Produ
return id; return id;
// baseMapper.copyItems(request.getId(), id); // baseMapper.copyItems(request.getId(), id);
} else { } else {
info.setName(request.getItems().get(0).getName().trim()); 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.setModuleId(request.getModuleId()); info.setModuleId(request.getModuleId());
info.setSeriesNumber(request.getSeriesNumber()); info.setSeriesNumber(request.getSeriesNumber());
// info.setSort(request.getSort()); // info.setSort(request.getSort());
@ -102,9 +115,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());
} }
}); });
@ -115,7 +128,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
@ -129,17 +142,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());
@ -231,7 +244,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())
@ -295,12 +308,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
@ -308,14 +321,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());
} }