Explorar o código

Merge remote-tracking branch 'origin/main' into main

luofeiyun hai 3 semanas
pai
achega
d474041c82

+ 33 - 1
ship-module-ota/ship-module-ota-biz/src/main/java/com/yc/ship/module/ota/service/distributorrecharge/DistributorRechargeServiceImpl.java

@@ -569,8 +569,40 @@ public class DistributorRechargeServiceImpl implements DistributorRechargeServic
                             beforeBalance = distributor.getBalance();
                             afterBalance = beforeBalance.subtract(money);
                             tradeMode = 2;
-                            isShareBalance = new AtomicBoolean(false);
+                            isShareBalance = new AtomicBoolean(true);
+                            storeRespDTO = new AtomicReference<>();
+                            if (rechargeReqDTO.getStoreId() != null){
+//                                StoreReqDTO reqDTO = this.convertStorePlatBalance(rechargeReqDTO.getStoreId(), tradeMode, money, Long.parseLong(rechargeReqDTO.getOrderId()), tradeType, null);
+//                                TenantUtils.execute(distributor.getAccountTenantId(), () -> {
+//                                    StoreInfoReqDTO storeData = storeApi.getStoreById(rechargeReqDTO.getStoreId()).getCheckedData();
+//                                    Asserts.isTrue(!ObjectUtil.equals(storeData.getBalanceType(), StoreBalanceTypeEnum.FORBIDDEN.getType()), "当前门店禁止使用预付款");
+//                                    if(ObjectUtil.equals(storeData.getBalanceType(), StoreBalanceTypeEnum.FIXED.getType())){
+//                                        //只能使用门店自己的预付款
+//                                        CommonResult<StoreRespDTO> storeResult = storeApi.storePlatTrade(reqDTO);
+//                                        Asserts.isTrue(storeResult.isSuccess(), storeResult.getMsg());
+//                                        storeRespDTO.set(storeResult.getCheckedData());
+//                                    }else if(ObjectUtil.equals(storeData.getBalanceType(), StoreBalanceTypeEnum.SHARE.getType())){
+//                                        isShareBalance.set(true);
+//                                    }else {
+//                                        Asserts.isTrue(true,"门店禁用预付款");
+//                                    }
+//                                });
+//                            }else {
+                                isShareBalance.set(true);
+                            }
 
+                            if(isShareBalance.get()){
+                                Asserts.isTrue(isUseBalance,"分销商无预付款交易权限");
+                                Asserts.isTrue(afterBalance.compareTo(BigDecimal.ZERO)>=0,"平台余额不足额");
+                                tradeName = "预付款支付授信账单金额:" + money + "元,支付后剩余余额" + afterBalance + "元";
+                                flag = distributorService.subBalance(distributor.getId(), money);
+                            }else if(storeRespDTO.get()!=null){
+                                StoreRespDTO storeRsp = storeRespDTO.get();
+                                beforeBalance = storeRsp.getBeforeAmount();
+                                afterBalance = storeRsp.getAfterAmount();
+                                tradeName = "门店预付款支付授信账单金额:" + money + "元,支付后剩余余额" + storeRsp.getAfterAmount() + "元;";
+                                flag = true;
+                            }
                             break;
                         case 17:
                             //给门店分配预付款

+ 3 - 1
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/voyagestockdistribute/VoyageStockDistributeController.java

@@ -92,7 +92,9 @@ public class VoyageStockDistributeController {
         List<ResourceRoomModelDO> roomModelList = resourceRoomModelService.getList(roomModelIds);
         Map<Long, ResourceRoomModelDO> roomModelDOMap = CollectionUtils.convertMap(roomModelList, ResourceRoomModelDO::getId);
         respVO.stream().forEach(item -> {
-            item.setRoomModelName(roomModelDOMap.get(item.getRoomModelId()).getName());
+            if(roomModelDOMap.get(item.getRoomModelId())!=null){
+                item.setRoomModelName(roomModelDOMap.get(item.getRoomModelId()).getName());
+            }
         });
         return success(respVO);
     }

+ 12 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderServiceImpl.java

@@ -18,6 +18,7 @@ import com.yc.ship.framework.common.pojo.CommonResult;
 import com.yc.ship.framework.common.pojo.PageResult;
 import com.yc.ship.framework.common.util.date.DateUtils;
 import com.yc.ship.framework.common.util.object.ObjectUtils;
+import com.yc.ship.framework.security.core.LoginUser;
 import com.yc.ship.framework.tenant.core.context.TenantContextHolder;
 import com.yc.ship.module.ota.api.OtaDistributorApi;
 import com.yc.ship.module.ota.api.dto.DistributorProductRespDTO;
@@ -59,6 +60,7 @@ import com.yc.ship.module.trade.service.supplier.TradeSupplierCallbackService;
 import com.yc.ship.module.trade.service.supplier.TradeSupplierService;
 import com.yc.ship.module.trade.service.supplier.bo.TradeSupplierOrderRespBO;
 import com.yc.ship.module.trade.service.thirdsystem.ThirdGateSystemService;
+import com.yc.ship.module.trade.utils.AgencyAuthUtils;
 import com.yc.ship.module.trade.utils.TradeUUCodeUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.redisson.api.RLock;
@@ -123,10 +125,20 @@ public class TradeOrderServiceImpl implements TradeOrderService {
     @Resource
     private TradeOrderMapper tradeOrderMapper;
 
+    @Resource
+    private AgencyAuthUtils agencyAuthUtils;
+
 
     @Override
     public PageResult<TradeOrderRespVO> getPlatOrderPage(TradeOrderPageReqVO pageReqVO) {
         IPage<TradeOrderRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
+        LoginUser agencyLoginUser = agencyAuthUtils.getAgencyLoginUser();
+        if(agencyLoginUser.getDistributorId()!=null) {
+            pageReqVO.setDistributorId(agencyLoginUser.getDistributorId());
+        }
+        if(agencyLoginUser.getStoreId()!=null) {
+            pageReqVO.setStoreId(agencyLoginUser.getStoreId());
+        }
         IPage<TradeOrderRespVO> iPage = tradeOrderMapper.getTradeOrderUserPage(page, pageReqVO);
         return new PageResult<>(iPage.getRecords(), iPage.getTotal());
     }

+ 3 - 2
ship-server-web/src/main/resources/application-sxtest.yaml

@@ -114,8 +114,9 @@ spring:
   rabbitmq:
     host: 10.3.10.50 # RabbitMQ 服务的地址
     port: 55672 # RabbitMQ 服务的端口
-    username: rabbitmq # RabbitMQ 服务的账号
-    password: rabbitmq # RabbitMQ 服务的密码
+    username: ship # RabbitMQ 服务的账号
+    password: ship # RabbitMQ 服务的密码
+    virtual-host: /ship # RabbitMQ 服务的密码
   # Kafka 配置项,对应 KafkaProperties 配置类
   kafka:
     bootstrap-servers: 127.0.0.1:9092 # 指定 Kafka Broker 地址,可以设置多个,以逗号分隔