diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/ProductModelAddRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/ProductModelAddRequest.java index a83b156e..928c627d 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/ProductModelAddRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/ProductModelAddRequest.java @@ -1,5 +1,7 @@ package com.nflg.mobilebroken.common.pojo.request; +import cn.hutool.core.util.IdUtil; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -27,11 +29,11 @@ public class ProductModelAddRequest { @NotBlank private String typeNumber; -// /** -// * 批次号 -// */ -// @JsonIgnore -// private String batchNumber= IdUtil.getSnowflakeNextIdStr(); + /** + * 批次号 + */ + @JsonIgnore + private Long batchNumber; // /** // * 排序 diff --git a/nflg-mobilebroken-quotation/src/main/java/com/nflg/mobilebroken/quotation/controller/ControllerBase.java b/nflg-mobilebroken-quotation/src/main/java/com/nflg/mobilebroken/quotation/controller/ControllerBase.java new file mode 100644 index 00000000..8eee113b --- /dev/null +++ b/nflg-mobilebroken-quotation/src/main/java/com/nflg/mobilebroken/quotation/controller/ControllerBase.java @@ -0,0 +1,9 @@ +package com.nflg.mobilebroken.quotation.controller; + +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; + +@Validated +@RestController +public class ControllerBase { +} diff --git a/nflg-mobilebroken-quotation/src/main/java/com/nflg/mobilebroken/quotation/controller/TestController.java b/nflg-mobilebroken-quotation/src/main/java/com/nflg/mobilebroken/quotation/controller/TestController.java new file mode 100644 index 00000000..b5007972 --- /dev/null +++ b/nflg-mobilebroken-quotation/src/main/java/com/nflg/mobilebroken/quotation/controller/TestController.java @@ -0,0 +1,57 @@ +package com.nflg.mobilebroken.quotation.controller; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.IdUtil; +import com.nflg.mobilebroken.repository.entity.ProductModel; +import com.nflg.mobilebroken.repository.service.IProductModelService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 测试 + */ +@RestController +@RequestMapping("/test") +public class TestController extends ControllerBase { + + @Resource + private IProductModelService productModelService; + + /** + * 初始化机型表的BatchNumber字段数据 + */ + @GetMapping("initProductModelBatchNumber") + public void initProductModelBatchNumber() { + List datas1 = productModelService.lambdaQuery() + .select(ProductModel::getId, ProductModel::getNo) + .isNull(ProductModel::getBatchNumber) + .list(); + if (CollectionUtil.isEmpty(datas1)) { + return; + } + List datas2 = productModelService.lambdaQuery() + .select(ProductModel::getNo, ProductModel::getBatchNumber) + .isNotNull(ProductModel::getBatchNumber) + .list(); + Map batchNumberMap = new ConcurrentHashMap<>(); + datas2.forEach(model2 -> { + batchNumberMap.putIfAbsent(model2.getNo(), model2.getBatchNumber()); + }); + datas1.forEach(model1 -> { + Long batchNumber = batchNumberMap.get(model1.getNo()); + if (Objects.isNull(batchNumber)) { + batchNumber = IdUtil.getSnowflakeNextId(); + batchNumberMap.put(model1.getNo(), batchNumber); + } + model1.setBatchNumber(batchNumber); + }); + productModelService.updateBatchById(datas1); + } +} diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/ProductModel.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/ProductModel.java index 2baf6c3a..e9e349cc 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/ProductModel.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/ProductModel.java @@ -44,10 +44,10 @@ public class ProductModel implements Serializable { */ private String typeNumber; -// /** -// * 批次号 -// */ -// private String batchNumber; + /** + * 批次号 + */ + private Long batchNumber; /** * 型号 diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelServiceImpl.java index b9793b2e..e09a253b 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelServiceImpl.java @@ -1,6 +1,7 @@ package com.nflg.mobilebroken.repository.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -64,7 +65,7 @@ public class ProductModelServiceImpl extends ServiceImpl