Selaa lähdekoodia

Merge remote-tracking branch 'ship-ota-server/main' into main1

luofeiyun 3 viikkoa sitten
vanhempi
commit
9c4b8c4c0f

+ 1 - 1
ship-module-marketing/ship-module-marketing-biz/src/main/java/com/yc/ship/module/marketing/service/couponpackage/CouponPackageServiceImpl.java

@@ -109,7 +109,7 @@ public class CouponPackageServiceImpl implements CouponPackageService {
             couponPackageCodeDO.setSurplusTimes(couponPackage.getCanReceiveNum());
             list.add(couponPackageCodeDO);
         }
-        if(list.size()>0) {
+        if(!list.isEmpty()) {
             couponPackageCodeMapper.insertBatch(list);
         }
      }

+ 61 - 33
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/api/VoyageApiImpl.java

@@ -1,5 +1,6 @@
 package com.yc.ship.module.product.api;
 
+import com.yc.ship.framework.common.exception.ServiceException;
 import com.yc.ship.framework.common.util.collection.CollectionUtils;
 import com.yc.ship.framework.common.util.object.BeanUtils;
 import com.yc.ship.module.product.api.dto.OrderRoomUseDTO;
@@ -24,13 +25,11 @@ import com.yc.ship.module.product.enums.YesOrNoEnum;
 import com.yc.ship.module.product.framework.lock.ProductRedisKeyConstants;
 import com.yc.ship.module.product.service.voyagestockdistribute.VoyageStockDistributeNewService;
 import com.yc.ship.module.resource.api.room.RoomApi;
-import com.yc.ship.module.resource.api.room.dto.RoomRespDTO;
 import com.yc.ship.module.trade.enums.TradeOrderStatusEnum;
 import lombok.extern.slf4j.Slf4j;
 import org.redisson.api.RLock;
 import org.redisson.api.RedissonClient;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -42,6 +41,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception0;
 import static com.yc.ship.module.product.enums.ErrorCodeConstants.*;
 
 @Service
@@ -75,7 +75,6 @@ public class VoyageApiImpl implements VoyageApi {
     @Resource
     private VoyageStockDetailLogMapper voyageStockDetailLogMapper;
 
-    @Transactional(rollbackFor = Exception.class)
     @Override
     public void preReduceStock(ReduceStockReqDTO reqDTO) {
         //TODO: 当前阶段不考虑门店库存
@@ -86,8 +85,10 @@ public class VoyageApiImpl implements VoyageApi {
         RLock lock = redissonClient.getLock(lockKey);
         try {
             lock.lock(60, TimeUnit.SECONDS);
-            Integer type = reqDTO.getType();//判断是分销商还是门店下单 1:分销商,2:门店
-            if (Objects.equals(type, DistributorOrStoreEnum.DISTRIBUTOR.getValue())) {//分销商下单,当前阶段不考虑门店下单
+            //判断是分销商还是门店下单 1:分销商,2:门店
+            Integer type = reqDTO.getType();
+            //分销商下单,当前阶段不考虑门店下单
+            if (Objects.equals(type, DistributorOrStoreEnum.DISTRIBUTOR.getValue())) {
                 //分销商下单只扣分销商库存,默认是OTA,默认OTC只能门店下单
                 //初定扣分销商库存
                 //先返还初定扣的库存
@@ -95,15 +96,20 @@ public class VoyageApiImpl implements VoyageApi {
                 //再去扣初定的库存
                 preReduceStockDistributor(reqDTO);
             }
+        } catch (ServiceException e) {
+            throw exception0(e.getCode(), e.getMessage());
         } finally {
-            if (lock.isHeldByCurrentThread() && lock.isLocked()) {
-                lock.unlock();
+            try {
+                if (lock.isHeldByCurrentThread() && lock.isLocked()) {
+                    lock.unlock();
+                }
+            } catch (Exception e) {
+                log.error("释放锁异常", e);
             }
         }
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
     public void preCancelReduceStock(ReduceStockReqDTO reqDTO) {
         //TODO: 当前阶段不考虑门店库存
 
@@ -127,7 +133,6 @@ public class VoyageApiImpl implements VoyageApi {
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
     public void reduceStock(ReduceStockReqDTO reqDTO) {
         //TODO: 当前阶段不考虑门店库存
 
@@ -225,8 +230,8 @@ public class VoyageApiImpl implements VoyageApi {
             voyageStockDetailMapper.updateBatch(stockDetailList);
 
             Integer stockType = detailLogList.get(0).getStockType();
-
-            if (stockType == 2) { //2:还分销商库存
+            //2:还分销商库存
+            if (stockType == 2) {
                 //判断分销商库存是否存在
                 VoyageStockDistributeNewDetailReqVO detailReqVO = new VoyageStockDistributeNewDetailReqVO();
                 detailReqVO.setVoyageId(voyageId);
@@ -238,7 +243,7 @@ public class VoyageApiImpl implements VoyageApi {
                     list.forEach(item -> {
                         String key = item.getRoomModelId() + "_" + item.getFloor();
                         item.setNum(item.getNum().add(totalNumMap.get(key)));
-                        item.setBookNum(item.getBookNum().subtract(totalNumMap.get(key)));
+                        item.setBookNum(item.getBookNum() == null ? BigDecimal.ZERO : item.getBookNum().subtract(totalNumMap.get(key)));
                     });
                     voyageStockDistributeNewMapper.updateBatch(list);
                 }
@@ -291,17 +296,20 @@ public class VoyageApiImpl implements VoyageApi {
         detailReqVO.setVoyageId(voyageId);
         detailReqVO.setType(type);
         detailReqVO.setObjectId(distributorId);
-        detailReqVO.setEnableShare(YesOrNoEnum.NO.getType());//先获取非共享库存(分销商库存)
-        List<VoyageStockDistributeNewRespVO> distributeNewRespVOS = voyageStockDistributeNewService.getDetail(detailReqVO);
-        List<OrderRoomUseDTO> orderRoomList = reqDTO.getOrderRoomList();//订单使用房间详情
+        //先获取非共享库存(分销商库存)
+        detailReqVO.setEnableShare(YesOrNoEnum.NO.getType());
+        List<VoyageStockDistributeNewRespVO> distributeNewResps = voyageStockDistributeNewService.getDetail(detailReqVO);
+        //订单使用房间详情
+        List<OrderRoomUseDTO> orderRoomList = reqDTO.getOrderRoomList();
         Map<String, BigDecimal> roomModelFloorNumMap = orderRoomList.stream()
                 .collect(Collectors.groupingBy(
                         OrderRoomUseDTO::getKey,
                         Collectors.mapping(OrderRoomUseDTO::getNum, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)) // 直接使用BigDecimal的reduce操作进行求和
                 ));
-        if (distributeNewRespVOS.isEmpty()) {//分销商未分配库存,扣共享库存
-
-            voyageStockLogDO.setStockType(1); //1共享库存
+        //分销商未分配库存,扣共享库存
+        if (distributeNewResps.isEmpty()) {
+            //1共享库存
+            voyageStockLogDO.setStockType(1);
             //判断共享库存是否充足
             if (shareNum.compareTo(totalUseNum) < 0) {
                 throw exception(VOYAGE_SHARE_STOCK_NOT_ENOUGH);
@@ -315,7 +323,7 @@ public class VoyageApiImpl implements VoyageApi {
                     useNum = BigDecimal.ZERO;
                 }
                 if (canSellNum.compareTo(useNum) < 0) {
-                    throw exception(VOYAGE_SHARE_ROOM_NOT_ENOUGH.getCode(), String.format(VOYAGE_SHARE_ROOM_NOT_ENOUGH.getMsg(), item.getRoomModelName(), item.getFloor()));
+                    throw exception0(VOYAGE_SHARE_ROOM_NOT_ENOUGH.getCode(), String.format(VOYAGE_SHARE_ROOM_NOT_ENOUGH.getMsg(), item.getRoomModelName(), item.getFloor()));
                 }
             });
             // 库存充足,扣库存详情
@@ -353,7 +361,11 @@ public class VoyageApiImpl implements VoyageApi {
                     item.setVirtualNum(item.getVirtualNum().subtract(useNum.subtract(item.getRealTotalNum())));
                 }
                 // 加预定房间数
-                item.setBookNum(item.getBookNum().add(useNum));
+                if (item.getBookNum() != null) {
+                    item.setBookNum(item.getBookNum().add(useNum));
+                } else {
+                    item.setBookNum(useNum);
+                }
 
                 detailLogList.add(voyageStockDetailLogDO);
 
@@ -383,25 +395,25 @@ public class VoyageApiImpl implements VoyageApi {
             voyageStockLogDO.setShareNum(totalUseNum);
             voyageStockMapper.updateById(stockDO);
         } else {
-
-            voyageStockLogDO.setStockType(2); //2分销商库存
+            //2分销商库存
+            voyageStockLogDO.setStockType(2);
 
             //分销商已分配库存,扣自身库存
 
             //判断航次房型楼层库存是否充足
-            distributeNewRespVOS.forEach(item -> {
+            distributeNewResps.forEach(item -> {
                 BigDecimal canSellNum = item.getNum();
                 BigDecimal useNum = roomModelFloorNumMap.get(item.getRoomModelId() + "_" + item.getFloor());
                 if (useNum == null) {
                     useNum = BigDecimal.ZERO;
                 }
                 if (canSellNum.compareTo(useNum) < 0) {
-                    throw exception(VOYAGE_DISTRIBUTOR_ROOM_NOT_ENOUGH.getCode(), String.format(VOYAGE_DISTRIBUTOR_ROOM_NOT_ENOUGH.getMsg(), item.getRoomModelName(), item.getFloor()));
+                    throw exception0(VOYAGE_DISTRIBUTOR_ROOM_NOT_ENOUGH.getCode(), String.format(VOYAGE_DISTRIBUTOR_ROOM_NOT_ENOUGH.getMsg(), item.getRoomModelName(), item.getFloor()));
                 }
             });
             // 扣分销商库存
             // 库存充足,扣库存详情
-            List<VoyageStockDistributeNewDO> list = BeanUtils.toBean(distributeNewRespVOS, VoyageStockDistributeNewDO.class);
+            List<VoyageStockDistributeNewDO> list = BeanUtils.toBean(distributeNewResps, VoyageStockDistributeNewDO.class);
             list.forEach(item -> {
                 BigDecimal useNum = roomModelFloorNumMap.get(item.getRoomModelId() + "_" + item.getFloor());
                 if (useNum == null) {
@@ -410,7 +422,11 @@ public class VoyageApiImpl implements VoyageApi {
                 // 减可售房间数
                 item.setNum(item.getNum().subtract(useNum));
                 // 加预定房间数
-                item.setBookNum(item.getBookNum().add(useNum));
+                if (item.getBookNum() != null) {
+                    item.setBookNum(item.getBookNum().add(useNum));
+                } else {
+                    item.setBookNum(useNum);
+                }
             });
 
             voyageStockDistributeNewMapper.updateBatch(list);
@@ -450,7 +466,11 @@ public class VoyageApiImpl implements VoyageApi {
                     item.setVirtualNum(item.getVirtualNum().subtract(useNum.subtract(item.getRealTotalNum())));
                 }
                 // 加预定房间数
-                item.setBookNum(item.getBookNum().add(useNum));
+                if (item.getBookNum() != null) {
+                    item.setBookNum(item.getBookNum().add(useNum));
+                } else {
+                    item.setBookNum(useNum);
+                }
 
                 detailLogList.add(voyageStockDetailLogDO);
 
@@ -484,7 +504,7 @@ public class VoyageApiImpl implements VoyageApi {
         List<VoyageStockRoomUsedDO> roomUsedList = new ArrayList<>();
         Map<Long, OrderRoomUseDTO> roomIdMap = CollectionUtils.convertMap(orderRoomList, OrderRoomUseDTO::getRoomId);
         orderRoomList.forEach(item -> {
-            if(item.getRoomId() == null) {
+            if (item.getRoomId() == null) {
                 return;
             }
             VoyageStockRoomUsedDO roomUsedDO = new VoyageStockRoomUsedDO();
@@ -653,7 +673,7 @@ public class VoyageApiImpl implements VoyageApi {
                 }
                 if (canSellNum.compareTo(useNum) < 0) {
                     log.error(String.format(VOYAGE_SHARE_ROOM_NOT_ENOUGH.getMsg(), item.getRoomModelName(), item.getFloor()));
-                    throw exception(VOYAGE_SHARE_ROOM_NOT_ENOUGH.getCode(), String.format(VOYAGE_SHARE_ROOM_NOT_ENOUGH.getMsg(), item.getRoomModelName(), item.getFloor()));
+                    throw exception0(VOYAGE_SHARE_ROOM_NOT_ENOUGH.getCode(), String.format(VOYAGE_SHARE_ROOM_NOT_ENOUGH.getMsg(), item.getRoomModelName(), item.getFloor()));
                 }
             });
             // 库存充足,扣库存详情
@@ -691,7 +711,11 @@ public class VoyageApiImpl implements VoyageApi {
                     item.setRealTotalNum(item.getRealTotalNum().subtract(useNum.subtract(item.getVirtualNum())));
                 }
                 // 加预定房间数
-                item.setBookNum(item.getBookNum().add(useNum));
+                if (item.getBookNum() != null) {
+                    item.setBookNum(item.getBookNum().add(useNum));
+                } else {
+                    item.setBookNum(useNum);
+                }
 
                 detailLogList.add(voyageStockDetailLogDO);
 
@@ -734,7 +758,7 @@ public class VoyageApiImpl implements VoyageApi {
                     useNum = BigDecimal.ZERO;
                 }
                 if (canSellNum.compareTo(useNum) < 0) {
-                    throw exception(VOYAGE_DISTRIBUTOR_ROOM_NOT_ENOUGH.getCode(), String.format(VOYAGE_DISTRIBUTOR_ROOM_NOT_ENOUGH.getMsg(), item.getRoomModelName(), item.getFloor()));
+                    throw exception0(VOYAGE_DISTRIBUTOR_ROOM_NOT_ENOUGH.getCode(), String.format(VOYAGE_DISTRIBUTOR_ROOM_NOT_ENOUGH.getMsg(), item.getRoomModelName(), item.getFloor()));
                 }
             });
             // 扣分销商库存
@@ -792,7 +816,11 @@ public class VoyageApiImpl implements VoyageApi {
                     item.setRealTotalNum(item.getRealTotalNum().subtract(useNum.subtract(item.getVirtualNum())));
                 }
                 // 加预定房间数
-                item.setBookNum(item.getBookNum().add(useNum));
+                if (item.getBookNum() != null) {
+                    item.setBookNum(item.getBookNum().add(useNum));
+                } else {
+                    item.setBookNum(useNum);
+                }
 
                 detailLogList.add(voyageStockDetailLogDO);
 
@@ -826,7 +854,7 @@ public class VoyageApiImpl implements VoyageApi {
         List<VoyageStockRoomUsedDO> roomUsedList = new ArrayList<>();
         Map<Long, OrderRoomUseDTO> roomIdMap = CollectionUtils.convertMap(orderRoomList, OrderRoomUseDTO::getRoomId);
         orderRoomList.forEach(item -> {
-            if(item.getRoomId() == null) {
+            if (item.getRoomId() == null) {
                 return;
             }
             VoyageStockRoomUsedDO roomUsedDO = new VoyageStockRoomUsedDO();

+ 18 - 16
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricevoyage/PriceVoyageServiceImpl.java

@@ -1,6 +1,7 @@
 package com.yc.ship.module.product.service.pricevoyage;
 
 import cn.hutool.core.util.IdUtil;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.yc.ship.framework.common.pojo.PageResult;
 import com.yc.ship.framework.common.util.collection.CollectionUtils;
 import com.yc.ship.framework.common.util.collection.MapUtils;
@@ -150,11 +151,11 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
         Map<Long, PriceSingleSettingRespVO> singleSettingRespVOMap = CollectionUtils.convertMap(priceSingleSettingRespVOS, PriceSingleSettingRespVO::getRoomModelTypeId);
         List<PriceRoomModelTypeDO> roomModelTypeList = priceRoomModelTypeMapper.selectByObjectId(id);
         List<PriceRoomModelTypeRespVO> priceRoomModelTypeRespVOS = BeanUtils.toBean(roomModelTypeList, PriceRoomModelTypeRespVO.class);
-        priceRoomModelTypeRespVOS.stream().forEach(item -> {
+        priceRoomModelTypeRespVOS.forEach(item -> {
             MapUtils.findAndThen(singleSettingRespVOMap, item.getId(), item::setSingleSetting);
         });
         Map<Long, List<PriceRoomModelTypeRespVO>> roomModelTypeMap = CollectionUtils.convertMultiMap(priceRoomModelTypeRespVOS, PriceRoomModelTypeRespVO::getRoomModelId);
-        priceRoomModelRespVOS.stream().forEach(item -> {
+        priceRoomModelRespVOS.forEach(item -> {
             MapUtils.findAndThen(roomModelTypeMap, item.getRoomModelId(), item::setRoomModelTypeList);
         });
         respVO.setRoomModelList(priceRoomModelRespVOS);
@@ -195,11 +196,11 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
         Map<Long, ResourceRoomModelDO> resourceRoomModelDOMap = CollectionUtils.convertMap(roomModelDOS, item -> item.getId());
         List<PriceRoomModelTypeDO> roomModelTypeList = priceRoomModelTypeMapper.selectByObjectId(id);
         List<PriceRoomModelTypeRespVO> priceRoomModelTypeRespVOS = BeanUtils.toBean(roomModelTypeList, PriceRoomModelTypeRespVO.class);
-        priceRoomModelTypeRespVOS.stream().forEach(item -> {
+        priceRoomModelTypeRespVOS.forEach(item -> {
             MapUtils.findAndThen(settingRespVOMap, item.getId(), item::setSingleSetting);
         });
         Map<Long, List<PriceRoomModelTypeRespVO>> roomModelTypeMap = CollectionUtils.convertMultiMap(priceRoomModelTypeRespVOS, PriceRoomModelTypeRespVO::getRoomModelId);
-        priceRoomModelRespVOS.stream().forEach(item -> {
+        priceRoomModelRespVOS.forEach(item -> {
             MapUtils.findAndThen(roomModelTypeMap, item.getRoomModelId(), item::setRoomModelTypeList);
             if(resourceRoomModelDOMap.get(item.getRoomModelId()) != null) {
                 item.setRoomModel(BeanUtils.toBean(resourceRoomModelDOMap.get(item.getRoomModelId()), ResourceRoomModelRespVO.class));
@@ -236,13 +237,13 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
     private void saveRelation(Long objectId, PriceVoyageSaveReqVO vo) {
         //插入房型价格系数
         List<PriceRoomModelDO> roomModelList = vo.getRoomModelList();
-        roomModelList.stream().forEach(roomModel -> {
+        roomModelList.forEach(roomModel -> {
             roomModel.setObjectId(objectId);
         });
         priceRoomModelMapper.insertBatch(roomModelList);
         //插入楼层价格系数
         List<PriceFloorDO> floorList = vo.getFloorList();
-        floorList.stream().forEach(floor -> {
+        floorList.forEach(floor -> {
             floor.setObjectId(objectId);
         });
         priceFloorMapper.insertBatch(floorList);
@@ -251,11 +252,12 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
         List<PriceSingleSettingDO> singleSettingList = new ArrayList<>();
         //插入房型入住价格模式
         List<PriceRoomModelTypeDO> roomModelTypeDOList = new ArrayList<>();
-        roomModelList.stream().forEach(roomModel -> {
+        roomModelList.forEach(roomModel -> {
             List<PriceRoomModelTypeDO> roomModelTypeList = roomModel.getRoomModelTypeList();
             if(!CollectionUtils.isAnyEmpty(roomModelTypeList)) {
-                roomModelTypeList.stream().forEach(roomModelType -> {
+                roomModelTypeList.forEach(roomModelType -> {
                     Long roomModelTypeId = IdUtil.getSnowflakeNextId();
+                    IdWorker.getId();
                     roomModelType.setId(roomModelTypeId);
                     roomModelType.setRoomModelId(roomModel.getRoomModelId());
                     roomModelType.setRoomModelName(roomModel.getRoomModelName());
@@ -271,21 +273,21 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
                 });
             }
         });
-        if(singleSettingList.size() > 0) {
+        if(!singleSettingList.isEmpty()) {
             priceSingleSettingMapper.insertBatch(singleSettingList);
         }
-        if(roomModelTypeDOList.size() > 0) {
+        if(!roomModelTypeDOList.isEmpty()) {
             priceRoomModelTypeMapper.insertBatch(roomModelTypeDOList);
         }
         //插入区域加价
         List<PriceAreaDO> areaList = vo.getAreaList();
         List<PriceAreaDO> insertAreaList = new ArrayList<>();
-        areaList.stream().forEach(area -> {
+        areaList.forEach(area -> {
             area.setObjectId(objectId);
             insertAreaList.add(area);
             List<PriceAreaDO> children = area.getChildren();
             if (children != null) {
-                children.stream().forEach(child -> {
+                children.forEach(child -> {
                     child.setObjectId(objectId);
                     child.setParentAreaId(area.getAreaId());
                     child.setParentAreaName(area.getAreaName());
@@ -298,12 +300,12 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
         // 插入区域基准价
         List<BasicPriceAreaDO> basicAreaList = vo.getBasicAreaList();
         List<BasicPriceAreaDO> insertBasicAreaList = new ArrayList<>();
-        basicAreaList.stream().forEach(area -> {
+        basicAreaList.forEach(area -> {
             area.setObjectId(objectId);
             insertBasicAreaList.add(area);
             List<BasicPriceAreaDO> children = area.getChildren();
             if (children != null) {
-                children.stream().forEach(child -> {
+                children.forEach(child -> {
                     child.setObjectId(objectId);
                     child.setParentAreaId(area.getAreaId());
                     child.setParentAreaName(area.getAreaName());
@@ -311,14 +313,14 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
                 });
             }
         });
-        if(insertBasicAreaList.size() > 0) {
+        if(!insertBasicAreaList.isEmpty()) {
             basicPriceAreaMapper.insertBatch(insertBasicAreaList);
         }
 
         // 插入附加产品
         List<PriceSpuDO> spuList = vo.getSpuList();
         if(!CollectionUtils.isAnyEmpty(spuList)) {
-            spuList.stream().forEach(spu -> {
+            spuList.forEach(spu -> {
                 spu.setObjectId(objectId);
             });
             priceSpuMapper.insertBatch(spuList);

+ 8 - 12
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/voyagestockdistribute/VoyageStockDistributeNewServiceImpl.java

@@ -221,7 +221,7 @@ public class VoyageStockDistributeNewServiceImpl implements VoyageStockDistribut
         Map<Long, BigDecimal> idNumMap = CollectionUtils.convertMap(distributeNewDOS, VoyageStockDistributeNewPageRespVO::getVoyageId, VoyageStockDistributeNewPageRespVO::getNum);
         Map<Long, BigDecimal> idRoomModelNumMap = CollectionUtils.convertMap(distributeNewDOS, VoyageStockDistributeNewPageRespVO::getVoyageId, VoyageStockDistributeNewPageRespVO::getRoomModelNum);
         List<VoyageStockDistributeNewPageRespVO> resultList = new ArrayList<>();
-        list.stream().forEach(item -> {
+        list.forEach(item -> {
             BigDecimal num = idNumMap.get(item.getVoyageId());
             BigDecimal roomModelNum = idRoomModelNumMap.get(item.getVoyageId());
             VoyageStockDistributeNewPageRespVO respVO = new VoyageStockDistributeNewPageRespVO();
@@ -269,7 +269,7 @@ public class VoyageStockDistributeNewServiceImpl implements VoyageStockDistribut
         List<VoyageStockDistributeNewDO> distributeNewDOS = voyageStockDistributeNewMapper.selectListByVoyageId(reqVO.getVoyageId(), reqVO.getType());
         Map<String, BigDecimal> distributeNewMap = CollectionUtils.convertMap(distributeNewDOS, item -> item.getRoomModelId() + "_" + item.getFloor(), item -> item.getNum());
 
-        stockDetailDOList1.stream().forEach(item -> {
+        stockDetailDOList1.forEach(item -> {
             BigDecimal bigDecimal = distributeNewMap.get(item.getRoomModelId() + "_" + item.getFloor());
             if (bigDecimal == null) {
                 bigDecimal = BigDecimal.ZERO;
@@ -296,7 +296,7 @@ public class VoyageStockDistributeNewServiceImpl implements VoyageStockDistribut
         List<Long> roomIds = CollectionUtils.convertList(roomRespList, VoyageStockDistributorRoomRespVO::getRoomId);
         List<RoomRespDTO> roomListByIds = roomApi.getRoomListByIds(roomIds);
         Map<Long, RoomRespDTO> roomMap = CollectionUtils.convertMap(roomListByIds, RoomRespDTO::getId);
-        roomRespList.stream().forEach(item -> {
+        roomRespList.forEach(item -> {
             if(roomMap.get(item.getRoomId()) != null) {
                 item.setRoomNum(roomMap.get(item.getRoomId()).getRoomNum());
             }else {
@@ -308,7 +308,7 @@ public class VoyageStockDistributeNewServiceImpl implements VoyageStockDistribut
         List<Long> roomModelIds = CollectionUtils.convertList(respVO, VoyageStockDistributeNewRespVO::getRoomModelId);
         List<ResourceRoomModelDO> roomModelList = resourceRoomModelService.getList(roomModelIds);
         Map<Long, ResourceRoomModelDO> roomModelDOMap = CollectionUtils.convertMap(roomModelList, ResourceRoomModelDO::getId);
-        respVO.stream().forEach(item -> {
+        respVO.forEach(item -> {
             if(roomModelDOMap.get(item.getRoomModelId()) == null) {
                 item.setRoomModelName("已删除");
             }else {
@@ -338,13 +338,9 @@ public class VoyageStockDistributeNewServiceImpl implements VoyageStockDistribut
         //获取已被使用的房间
         List<VoyageStockRoomUsedDO> roomUsedList = voyageStockRoomUsedMapper.selectListByVoyageId(voyageId);
         List<Long> usedRoomIds = CollectionUtils.convertList(roomUsedList, VoyageStockRoomUsedDO::getRoomId);
-        roomList.stream().forEach(item -> {
+        roomList.forEach(item -> {
             item.setIsSelected(selectedStoreRoomIds.contains(item.getId()));
-            if(usedRoomIds.contains(item.getId())) {
-                item.setDisabled(true);
-            }else {
-                item.setDisabled(false);
-            }
+            item.setDisabled(usedRoomIds.contains(item.getId()));
         });
         return roomList;
     }
@@ -399,7 +395,7 @@ public class VoyageStockDistributeNewServiceImpl implements VoyageStockDistribut
         List<Long> usedRoomIds = CollectionUtils.convertList(roomUsedList, VoyageStockRoomUsedDO::getRoomId);
         //过滤掉已被使用的房间
         roomList = roomList.stream().filter(item -> !usedRoomIds.contains(item.getId())).collect(Collectors.toList());
-        roomList.stream().forEach(item -> {
+        roomList.forEach(item -> {
             item.setNum(BigDecimal.ONE);
         });
         return roomList;
@@ -424,7 +420,7 @@ public class VoyageStockDistributeNewServiceImpl implements VoyageStockDistribut
         // 获取使用一半的房间
         List<VoyageStockRoomUsedDO> halfUsedList = voyageStockRoomUsedMapper.selectHalfUsedRoom(reqVO.getVoyageId());
         List<Long> halfUsedRoomIds = CollectionUtils.convertList(halfUsedList, VoyageStockRoomUsedDO::getRoomId);
-        roomRespList.stream().forEach(item -> {
+        roomRespList.forEach(item -> {
             if(halfUsedRoomIds.contains(item.getId())) {
                 item.setNum(BigDecimal.valueOf(0.5));
             }else {

+ 3 - 2
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/handler/TradeStockOrderHandler.java

@@ -45,7 +45,8 @@ public class TradeStockOrderHandler implements TradeOrderHandler{
         ReduceStockReqDTO reqDTO = new ReduceStockReqDTO();
         reqDTO.setOrderId(order.getTradeOrderDO().getId());
         reqDTO.setOrderStatus(order.getTradeOrderDO().getOrderStatus());
-        reqDTO.setType(DistributorOrStoreEnum.DISTRIBUTOR.getValue());//TODO: 当前默认为分销商,扣分销商库存,门店的后续再完善
+        //TODO: 当前默认为分销商,扣分销商库存,门店的后续再完善
+        reqDTO.setType(DistributorOrStoreEnum.DISTRIBUTOR.getValue());
         reqDTO.setVoyageId(order.getTradeOrderDO().getVoyageId());
         reqDTO.setDistributorId(Long.valueOf(order.getTradeOrderDO().getSourceId()));
         reqDTO.setStoreId(order.getTradeOrderDO().getStoreId());
@@ -53,7 +54,7 @@ public class TradeStockOrderHandler implements TradeOrderHandler{
 
         List<OrderRoomUseDTO> orderRoomUseDTOList = new ArrayList<>();
         List<TradeOrderRoomModelVO> roomModelList = order.getRoomModelList();
-        roomModelList.stream().forEach(roomModelVO -> {
+        roomModelList.forEach(roomModelVO -> {
             OrderRoomUseDTO orderRoomUseDTO = new OrderRoomUseDTO();
             orderRoomUseDTO.setRoomId(roomModelVO.getRoomId());
             orderRoomUseDTO.setNum(BigDecimal.valueOf(roomModelVO.getUseRoomNum()));

+ 9 - 9
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java

@@ -311,7 +311,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
     }
 
     private CommonResult<TradeOrderRespDTO> doShipCreateOrder(LoginUser loginUser, ShipTradeOrderCreateReqVO otcTradeOrderCreateReqVO) {
-        try {
+        try{
             ShipTradeOrderCreateReqVO.OrderProperty orderProperty = otcTradeOrderCreateReqVO.getOrderProperty();
             if (orderProperty == null) {
                 orderProperty = new ShipTradeOrderCreateReqVO.OrderProperty();
@@ -320,7 +320,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             setShipOrderPropertyFromLoginUser(loginUser, orderProperty);
             otcTradeOrderCreateReqVO.setOrderProperty(orderProperty);
             return tradeOrderService.createShipOrder(otcTradeOrderCreateReqVO);
-        }catch (Exception e) {
+        }catch (Exception e){
             return CommonResult.error(500, e.getMessage());
         }
     }
@@ -1879,19 +1879,19 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         shipTradeOrderCreateReqVO.setDistributorId(loginUser.getDistributorId());
         shipTradeOrderCreateReqVO.setGroupNo(createVO.getGroupNo());
         if (orderMoney != null && realAmount != null && realAmount.compareTo(orderMoney) != 0) {
-            shipTradeOrderCreateReqVO.setAmount(realAmount);
+            shipTradeOrderCreateReqVO.setAmount(orderMoney);
             shipTradeOrderCreateReqVO.setPayAmount(realAmount);
             shipTradeOrderCreateReqVO.setConfirmType(1);
             TradeOrderBindDO tradeOrderBindDO = new TradeOrderBindDO();
             tradeOrderBindDO.setId(IdWorker.getId());
             tradeOrderBindDO.setType(1);
             tradeOrderBindDO.setCustom(createVO.getSummary().getOrderMoney().toString());
-            tradeOrderBindDO.setRemark("create订单金额修改,订单金额:" + orderMoney + ",订单修改后金额:" + realAmount);
+            tradeOrderBindDO.setRemark("create订单金额修改,订单金额:" + 0 + ",订单修改后金额:" + realAmount);
             shipTradeOrderCreateReqVO.setTradeOrderBindDO(tradeOrderBindDO);
         } else {
             shipTradeOrderCreateReqVO.setConfirmType(0);
             shipTradeOrderCreateReqVO.setAmount(orderMoney);
-            shipTradeOrderCreateReqVO.setPayAmount(orderMoney);
+            shipTradeOrderCreateReqVO.setPayAmount(realAmount);
         }
         shipTradeOrderCreateReqVO.setDiscountId(discountId);
         if (realOrderMoney != null) {
@@ -2128,20 +2128,20 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         BigDecimal realOrderMoney = summary.getRealOrderMoney();
         BigDecimal otherMoney = summary.getOtherMoney();
         if (orderMoney != null && realAmount != null && realAmount.compareTo(orderMoney) != 0) {
-            shipTradeOrderCreateReqVO.setAmount(realAmount);
-            shipTradeOrderCreateReqVO.setPayAmount(orderMoney);
+            shipTradeOrderCreateReqVO.setAmount(orderMoney);
+            shipTradeOrderCreateReqVO.setPayAmount(realAmount);
             shipTradeOrderCreateReqVO.setConfirmType(1);
             TradeOrderBindDO tradeOrderBindDO = new TradeOrderBindDO();
             tradeOrderBindDO.setId(IdWorker.getId());
             tradeOrderBindDO.setType(1);
             tradeOrderBindDO.setBindId(orderId);
             tradeOrderBindDO.setCustom("");
-            tradeOrderBindDO.setRemark("modify订单金额修改,订单金额:" + orderMoney + ",订单修改后金额:" + realAmount);
+            tradeOrderBindDO.setRemark("modify订单金额修改,订单金额:" + orderMoney + ",订单修改后实际金额:" + realAmount);
             shipTradeOrderCreateReqVO.setTradeOrderBindDO(tradeOrderBindDO);
         } else {
             shipTradeOrderCreateReqVO.setConfirmType(0);
             shipTradeOrderCreateReqVO.setAmount(createVO.getSummary().getOrderMoney());
-            shipTradeOrderCreateReqVO.setPayAmount(createVO.getSummary().getOrderMoney());
+            shipTradeOrderCreateReqVO.setPayAmount(createVO.getSummary().getRealMoney());
         }
         if (tradeOrderDO.getOrderStatus() == 6) {
             shipTradeOrderCreateReqVO.setConfirmType(1);