Compare commits

..

3 Commits

Author SHA1 Message Date
曹鹏飞 30011ce2b0 Merge branch 'feature/bug-1344' into feature/quotation
# Conflicts:
#	nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductTypeServiceImpl.java
2026-03-11 10:22:07 +08:00
曹鹏飞 58dd7806de feat: bug-1344 产品中心首页的案例,产品机型里的案例,部件管理中无法上传纯英文或其他语种视频,都必须要勾选中文,需要优化 2026-03-11 10:17:37 +08:00
曹鹏飞 c32bd930fa feat(shopping): 添加购物初始化接口并优化分页数据结构
- 在PageData类中添加Collections.emptyList()默认值防止空指针异常
- 为PageData类中的getter方法添加标准格式的空格
- 新增ShoppingInitRequest请求实体类用于接收购物初始化参数
- 添加modelId和targetId字段的非空验证注解
- 实现ShoppingController中的init接口方法并返回成功响应
- 导入必要的RequestBody、Valid注解和ShoppingInitRequest类
2026-03-11 09:39:27 +08:00
7 changed files with 64 additions and 72 deletions

View File

@ -7,6 +7,7 @@ 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)
@ -51,5 +52,5 @@ public class PageData<T> implements Serializable {
//分页数据 //分页数据
@Setter @Setter
private Collection<T> items; private Collection<T> items = Collections.emptyList();
} }

View File

@ -4,13 +4,16 @@ 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;
@ -47,4 +50,9 @@ public class ShoppingController extends ControllerBase {
); );
} }
} }
public ApiResult init(@Valid @RequestBody ShoppingInitRequest request){
//TODO
return ApiResult.success();
}
} }

View File

@ -0,0 +1,21 @@
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,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
*/ */
@ -54,16 +51,11 @@ 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());
@ -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());