From f3a9923b4b8bb113810e1c828579e44e8934a073 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Thu, 15 Aug 2024 13:46:48 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E6=8E=A8=E9=80=81=E8=80=81=E7=B3=BB?= =?UTF-8?q?=E7=BB=9FBUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/logpm/distribution/mapper/DistributionSignforMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml index be98e1163..1b19799da 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml @@ -1725,7 +1725,7 @@ AND ldl.is_deleted = 0 AND ldl.signfor_state = 2 - @@ -366,4 +367,117 @@ + + + + + diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java index 6b9e355bb..c04085ce5 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java @@ -91,6 +91,11 @@ public interface IOpenOrderService { R createOrderPackage(AdvanceDTO advanceDTO); + R findAdvanceDetailListByAdvanceIds(AdvanceDTO advanceDTO); + + R findAdvanceDetailListByWaybillId(AdvanceDTO advanceDTO); + + // R findWaybillInfo(String waybillNo); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java index aab0d4523..2d097a852 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java @@ -2,13 +2,11 @@ package com.logpm.trunkline.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.distribution.vo.OrderPackgeCodeDataVO; +import com.logpm.trunkline.dto.AdvanceDTO; import com.logpm.trunkline.dto.AdvanceDetailDTO; import com.logpm.trunkline.dto.OrderDetailsDTO; import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; -import com.logpm.trunkline.vo.AdvanceDetailGoodsVO; -import com.logpm.trunkline.vo.AdvanceDetailStockNumVO; -import com.logpm.trunkline.vo.BillladingPackageVO; -import com.logpm.trunkline.vo.TrunklineAdvanceDetailVO; +import com.logpm.trunkline.vo.*; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; @@ -85,4 +83,8 @@ public interface ITrunklineAdvanceDetailService extends BaseService findListByOrderPackageCodeList(List orderPackageCodes); + + List findAdvanceDetailListByAdvanceIds(AdvanceDTO advanceDTO); + + List findAdvanceDetailListByWaybillId(AdvanceDTO advanceDTO); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index 3cfa6a2c9..505350d0c 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -262,48 +262,48 @@ public class OpenOrderServiceImpl implements IOpenOrderService { basicdataFreightApiVO.setDestination(openOrderVO.getDestinationCode()); basicdataFreightApiVO.setArrivalWarehouse(openOrderVO.getDestinationWarehouseId() + ""); - if (goodsList.isEmpty()) { - List ls = new ArrayList<>(); - //把list中的元素通过packName分组如果pickName为空则换为"其他" - Map> groupedEntities = list.stream() - .collect(Collectors.groupingBy(entity -> { - String packName = entity.getPackName(); - return packName != null ? packName : "其他"; - })); - - groupedEntities.keySet().forEach(packName -> { - int total; - List advanceEntityList = groupedEntities.get(packName); - total = advanceEntityList.stream().mapToInt(TrunklineAdvanceEntity::getTotalNum).sum(); - AdvanceDetailGoodsVO advanceDetailGoodsVO = new AdvanceDetailGoodsVO(); - advanceDetailGoodsVO.setChargeType(1); - advanceDetailGoodsVO.setGoodsName(packName); - advanceDetailGoodsVO.setNum(total); - advanceDetailGoodsVO.setVolume(BigDecimal.ZERO); - advanceDetailGoodsVO.setWeight(BigDecimal.ZERO); - ls.add(advanceDetailGoodsVO); - }); - goodsList = new ArrayList<>(ls); - } else { - for (AdvanceDetailGoodsVO advanceDetailGoodsVO : goodsList) { - String goodsName = advanceDetailGoodsVO.getGoodsName(); - BasicdataCategoryEntity basicdataCategoryEntity = basicdataCategoryClient.findByName(goodsName); - Long goodsId = null; - if (Objects.isNull(basicdataCategoryEntity)) { - basicdataCategoryEntity = new BasicdataCategoryEntity(); - basicdataCategoryEntity.setType(1); - basicdataCategoryEntity.setName(goodsName); - goodsId = basicdataCategoryClient.addReturnId(basicdataCategoryEntity); - } else { - goodsId = basicdataCategoryEntity.getId(); - } - advanceDetailGoodsVO.setGoodsId(goodsId); - basicdataFreightApiVO.setCategory(goodsId + ""); - List pirceList = basicdataFreightClient.pirce(basicdataFreightApiVO); - JSONArray price = JSONArray.parseArray(JSON.toJSONString(pirceList)); - advanceDetailGoodsVO.setArrPirce(price); - } - } +// if (goodsList.isEmpty()) { +// List ls = new ArrayList<>(); +// //把list中的元素通过packName分组如果pickName为空则换为"其他" +// Map> groupedEntities = list.stream() +// .collect(Collectors.groupingBy(entity -> { +// String packName = entity.getPackName(); +// return packName != null ? packName : "其他"; +// })); +// +// groupedEntities.keySet().forEach(packName -> { +// int total; +// List advanceEntityList = groupedEntities.get(packName); +// total = advanceEntityList.stream().mapToInt(TrunklineAdvanceEntity::getTotalNum).sum(); +// AdvanceDetailGoodsVO advanceDetailGoodsVO = new AdvanceDetailGoodsVO(); +// advanceDetailGoodsVO.setChargeType(1); +// advanceDetailGoodsVO.setGoodsName(packName); +// advanceDetailGoodsVO.setNum(total); +// advanceDetailGoodsVO.setVolume(BigDecimal.ZERO); +// advanceDetailGoodsVO.setWeight(BigDecimal.ZERO); +// ls.add(advanceDetailGoodsVO); +// }); +// goodsList = new ArrayList<>(ls); +// } else { +// for (AdvanceDetailGoodsVO advanceDetailGoodsVO : goodsList) { +// String goodsName = advanceDetailGoodsVO.getGoodsName(); +// BasicdataCategoryEntity basicdataCategoryEntity = basicdataCategoryClient.findByName(goodsName); +// Long goodsId = null; +// if (Objects.isNull(basicdataCategoryEntity)) { +// basicdataCategoryEntity = new BasicdataCategoryEntity(); +// basicdataCategoryEntity.setType(1); +// basicdataCategoryEntity.setName(goodsName); +// goodsId = basicdataCategoryClient.addReturnId(basicdataCategoryEntity); +// } else { +// goodsId = basicdataCategoryEntity.getId(); +// } +// advanceDetailGoodsVO.setGoodsId(goodsId); +// basicdataFreightApiVO.setCategory(goodsId + ""); +// List pirceList = basicdataFreightClient.pirce(basicdataFreightApiVO); +// JSONArray price = JSONArray.parseArray(JSON.toJSONString(pirceList)); +// advanceDetailGoodsVO.setArrPirce(price); +// } +// } @@ -508,18 +508,18 @@ public class OpenOrderServiceImpl implements IOpenOrderService { warehouseWayBillDetail.setWaybillNo(waybillEntity.getWaybillNo()); Long goodsId = waybillDetailDTO.getGoodsId(); String goodsName = waybillDetailDTO.getGoodsName(); - if (Objects.isNull(goodsId)) { - //如果品名id没有就先通过goodsName查寻,没有就新增 - BasicdataCategoryEntity basicdataCategoryEntity = basicdataCategoryClient.findByName(goodsName); - if (Objects.isNull(basicdataCategoryEntity)) { - basicdataCategoryEntity = new BasicdataCategoryEntity(); - basicdataCategoryEntity.setName(goodsName); - basicdataCategoryEntity.setType(1); - goodsId = basicdataCategoryClient.addReturnId(basicdataCategoryEntity); - } else { - goodsId = basicdataCategoryEntity.getId(); - } - } +// if (Objects.isNull(goodsId)) { +// //如果品名id没有就先通过goodsName查寻,没有就新增 +// BasicdataCategoryEntity basicdataCategoryEntity = basicdataCategoryClient.findByName(goodsName); +// if (Objects.isNull(basicdataCategoryEntity)) { +// basicdataCategoryEntity = new BasicdataCategoryEntity(); +// basicdataCategoryEntity.setName(goodsName); +// basicdataCategoryEntity.setType(1); +// goodsId = basicdataCategoryClient.addReturnId(basicdataCategoryEntity); +// } else { +// goodsId = basicdataCategoryEntity.getId(); +// } +// } warehouseWayBillDetail.setCreateUser(AuthUtil.getUserId()); warehouseWayBillDetail.setUpdateUser(AuthUtil.getUserId()); Date date = new Date(); @@ -582,6 +582,11 @@ public class OpenOrderServiceImpl implements IOpenOrderService { //修改暂存单的状态为已开单 advanceService.updateBatchById(advanceEntityList); + //修改暂存单明细的结算品类 + List updateAdvanceDetailList = openOrderDTO.getUpdateAdvanceDetailList(); + advanceDetailService.updateBatchById(updateAdvanceDetailList); + + //计算扫码入库的包件是否需要把运单和提货单挂上 openOrderAsyncService.dealwithBillladingInfo(advanceIds,warehouseId,warehouseName,waybillId,waybillNo); @@ -2165,6 +2170,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { String warehouseName = openOrderDTO.getWarehouseName(); String editReson = openOrderDTO.getEditReson(); String refer = openOrderDTO.getRefer(); + List updateAdvanceDetailList = openOrderDTO.getUpdateAdvanceDetailList(); WarehouseWaybillEntity waybillEntity = warehouseWaybillClient.findByWaybillId(waybillId); if (Objects.isNull(waybillEntity)) { @@ -2184,6 +2190,8 @@ public class OpenOrderServiceImpl implements IOpenOrderService { warehouseWaybillClient.updateEntity(waybillEntity); + advanceDetailService.updateBatchById(updateAdvanceDetailList); + // String operationRemark = "修改运单"+waybillNo+",时间:"+ CommonUtil.dateToString(waybillEntity.getCreateTime())+","+updateMsg; //异步存入日志 openOrderAsyncService.saveUpdateLog(waybillId, waybillNo, "888", editReson, "备注:"+refer+" 修改内容:"+updateMsg, AuthUtil.getNickName(), AuthUtil.getUserId(), warehouseId, warehouseName,waybillEntity); @@ -3441,6 +3449,23 @@ public class OpenOrderServiceImpl implements IOpenOrderService { return R.success("添加成功"); } + @Override + public R findAdvanceDetailListByAdvanceIds(AdvanceDTO advanceDTO) { + List advanceIds = advanceDTO.getAdvanceIds(); + + List advanceDetailVOList = advanceDetailService.findAdvanceDetailListByAdvanceIds(advanceDTO); + + return R.data(advanceDetailVOList); + } + + @Override + public R findAdvanceDetailListByWaybillId(AdvanceDTO advanceDTO) { + + List advanceDetailVOList = advanceDetailService.findAdvanceDetailListByWaybillId(advanceDTO); + + return R.data(advanceDetailVOList); + } + private List verifyData(OpenOrderDTO openOrderDTO, WarehouseWaybillEntity waybillEntity) { log.info("###################verifyData: 验证改单数据"); // StringBuilder stringBuilder = new StringBuilder(); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java index e6c150176..79f265c73 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java @@ -11,6 +11,7 @@ import com.logpm.basic.entity.BasicPrintTemplateEntity; import com.logpm.basic.feign.IBasicPrintTemplateClient; import com.logpm.distribution.vo.DistributionStockArticleQRCodeVO; import com.logpm.distribution.vo.OrderPackgeCodeDataVO; +import com.logpm.trunkline.dto.AdvanceDTO; import com.logpm.trunkline.dto.AdvanceDetailDTO; import com.logpm.trunkline.dto.OrderDetailsDTO; import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; @@ -18,11 +19,7 @@ import com.logpm.trunkline.entity.TrunklineAdvanceEntity; import com.logpm.trunkline.mapper.TrunklineAdvanceDetailMapper; import com.logpm.trunkline.mapper.TrunklineAdvanceMapper; import com.logpm.trunkline.service.ITrunklineAdvanceDetailService; -import com.logpm.trunkline.vo.AdvanceDetailGoodsVO; -import com.logpm.trunkline.vo.AdvanceDetailStockNumVO; -import com.logpm.trunkline.vo.BillladingPackageVO; -import com.logpm.trunkline.vo.OrderDetailInfoVO; -import com.logpm.trunkline.vo.TrunklineAdvanceDetailVO; +import com.logpm.trunkline.vo.*; import com.logpm.warehouse.entity.WarehouseWaybillEntity; import com.logpm.warehouse.feign.IWarehouseWaybillClient; import lombok.AllArgsConstructor; @@ -350,4 +347,14 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl advanceDetailEntities = baseMapper.selectList(queryWrapper); return advanceDetailEntities; } + + @Override + public List findAdvanceDetailListByAdvanceIds(AdvanceDTO advanceDTO) { + return baseMapper.findAdvanceDetailListByAdvanceIds(advanceDTO); + } + + @Override + public List findAdvanceDetailListByWaybillId(AdvanceDTO advanceDTO) { + return baseMapper.findAdvanceDetailListByWaybillId(advanceDTO); + } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java index 74a04552b..c22ca2548 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java @@ -588,6 +588,13 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl Date: Fri, 16 Aug 2024 20:21:27 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=A4=87=E8=B4=A7?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8E=BB=E9=99=A4=E6=B2=A1=E6=9C=89=E5=9C=A8?= =?UTF-8?q?=E5=BA=93=E6=95=B0=E9=87=8F=E7=9A=84=E5=BA=93=E5=AD=98=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../distribution/mapper/DistributionReservationMapper.xml | 2 +- .../service/impl/DistributionStockupServiceImpl.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml index 991c55ff7..0331af41b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml @@ -340,7 +340,7 @@ AND ldrs.stock_list_status != 2 group by ldsl.cargo_number ) t - LEFT JOIN logpm_distribution_stock_list ldslNew ON t.cargo_number = ldslNew.cargo_number + LEFT JOIN logpm_distribution_stock_list ldslNew ON t.cargo_number = ldslNew.cargo_number and ldslNew.quantity_stock !=0 LEFT JOIN logpm_distribution_stock ldss ON FIND_IN_SET(ldss.stock_list_id,t.aaa) LEFT JOIN ( diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java index a4405af43..c6910f8ec 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java @@ -956,7 +956,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl 0) { + if (!listYou.isEmpty()) { // boolean b = listYou.stream().anyMatch(a -> a.getAllocationId().equals(p.getAllocationId())); if (b) { @@ -1040,7 +1040,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl 0) { + if (!listYou.isEmpty()) { // boolean b = listYou.stream().anyMatch(a -> a.getAllocationId().equals(p.getAllocationId())); if (b) { From c3bd73dc6c9e4f294c753682f967691ef9ab6c42 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Fri, 16 Aug 2024 20:32:04 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8E=BB=E9=99=A4?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=9C=A8=E5=BA=93=E6=95=B0=E9=87=8F=E7=9A=84?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/logpm/distribution/mapper/DistributionStockupMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml index c11b12534..98115554b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml @@ -675,7 +675,7 @@ ) realNum, lddd.id deliveryDetailsId from logpm_distribution_delivery_details lddd - LEFT JOIN logpm_distribution_stock_list ldsl on lddd.stock_list_id = ldsl.id + LEFT JOIN logpm_distribution_stock_list ldsl on lddd.stock_list_id = ldsl.id and ldsl.quantity_stock !=0 LEFT JOIN ( SELECT association_value,warehouse_id, GROUP_CONCAT( DISTINCT ( allocation_id )) AS allocation_ids FROM logpm_warehouse_updown_goods WHERE association_type = 4 GROUP BY association_value,warehouse_id ) AS t2 ON ldsl.cargo_number = t2.association_value and ldsl.warehouse_id=t2.warehouse_id LEFT JOIN ( SELECT ldpl.material_code, From 9fb86c28d3c9e6305c39719fcdfc737f330613e3 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Fri, 16 Aug 2024 20:34:49 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E8=87=AA=E6=8F=90=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E5=93=81=E5=88=97=E8=A1=A8=E4=B8=8D=E5=9C=A8=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?0=20=E7=9A=84=E5=BA=93=E5=AD=98=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DistributionStockListController.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockListController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockListController.java index b37e5d760..e86651894 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockListController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockListController.java @@ -16,6 +16,7 @@ */ package com.logpm.distribution.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.logpm.distribution.dto.DistributionStockListDTO; @@ -79,7 +80,10 @@ public class DistributionStockListController extends BladeController { @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入distributionStockList") public R> list(@ApiIgnore @RequestParam Map distributionStockList, Query query) { - IPage pages = distributionStockListService.page(Condition.getPage(query), Condition.getQueryWrapper(distributionStockList, DistributionStockListEntity.class)); + + QueryWrapper queryWrapper = Condition.getQueryWrapper(distributionStockList, DistributionStockListEntity.class); + queryWrapper.ne("quantity_stock", 0); + IPage pages = distributionStockListService.page(Condition.getPage(query), queryWrapper); return R.data(pages); } From f8390684af0998e70be6381d419cd0ac436d8f2f Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Fri, 16 Aug 2024 21:43:21 +0800 Subject: [PATCH 10/11] =?UTF-8?q?1.=E7=94=9F=E6=88=90=E5=8C=85=E6=9D=A1?= =?UTF-8?q?=E7=A0=81=E8=BF=9B=E8=A1=8C=E5=93=88=E5=B8=8C=E5=80=BC=E7=9A=84?= =?UTF-8?q?=E8=BE=B9=E7=95=8C=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/springblade/common/utils/CommonUtil.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/utils/CommonUtil.java b/blade-biz-common/src/main/java/org/springblade/common/utils/CommonUtil.java index b8947397b..be0afab9b 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/utils/CommonUtil.java +++ b/blade-biz-common/src/main/java/org/springblade/common/utils/CommonUtil.java @@ -290,9 +290,17 @@ public class CommonUtil { public static String getHaxCodeByLong(String str,int changdu){ long time = new Date().getTime(); - int hashValue = (str+time).hashCode(); // 获取哈希值(32位) - // 将32位哈希值转换为6位长度的纯数字形式 + int hashValue = (str + time).hashCode(); // 获取哈希值(32位) + + // 将32位哈希值转换为纯数字形式 String s = Math.abs(hashValue) + ""; + + // 检查 changdu 是否超出 s 的长度 + if (changdu > s.length()) { + // 返回整个字符串或根据需求处理 + return s; + } + String substring = s.substring(0, changdu); return substring; } From 6466be1e30fb0fcf470d841fa768153b88f9e79f Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Fri, 16 Aug 2024 22:10:33 +0800 Subject: [PATCH 11/11] =?UTF-8?q?1.=E7=94=9F=E6=88=90=E5=8C=85=E6=9D=A1?= =?UTF-8?q?=E7=A0=81=E8=BF=9B=E8=A1=8C=E5=93=88=E5=B8=8C=E5=80=BC=E7=9A=84?= =?UTF-8?q?=E8=BE=B9=E7=95=8C=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springblade/common/utils/CommonUtil.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/utils/CommonUtil.java b/blade-biz-common/src/main/java/org/springblade/common/utils/CommonUtil.java index be0afab9b..45ec65be1 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/utils/CommonUtil.java +++ b/blade-biz-common/src/main/java/org/springblade/common/utils/CommonUtil.java @@ -21,6 +21,7 @@ import org.springframework.util.StringUtils; import java.text.NumberFormat; import java.text.SimpleDateFormat; +import java.time.Instant; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; @@ -289,22 +290,20 @@ public class CommonUtil { public static String getHaxCodeByLong(String str,int changdu){ - long time = new Date().getTime(); - int hashValue = (str + time).hashCode(); // 获取哈希值(32位) + // 计算输入字符串的哈希值 + int hash = str.hashCode(); - // 将32位哈希值转换为纯数字形式 - String s = Math.abs(hashValue) + ""; + // 结合当前时间戳和哈希值作为种子 + long seed = Instant.now().toEpochMilli() ^ hash; - // 检查 changdu 是否超出 s 的长度 - if (changdu > s.length()) { - // 返回整个字符串或根据需求处理 - return s; - } + // 使用种子生成一个唯一的数字 + long uniqueNumber = Math.abs(seed) % (long)Math.pow(10, changdu); - String substring = s.substring(0, changdu); - return substring; + // 将生成的数字转换为字符串,并确保长度正确 + return String.format("%0" + changdu + "d", uniqueNumber); } + public static Date addDate(Date date, int second) { if(Objects.isNull(date)){ return null;