Sfoglia il codice sorgente

fix 修改订单冻结与解冻提示语

xucaiqin 3 settimane fa
parent
commit
11baed21a5

+ 0 - 12
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/feign/TradeOrderApi.java

@@ -1,21 +1,9 @@
 package com.sckw.order.api.feign;
 
-import com.sckw.order.api.model.TradeOrderPara;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-
 /**
  * @author xucaiqin
  * @date 2025-12-01 15:26:28
  */
-@FeignClient(name = "sckw-order-ai", contextId = "tradeOrderApi")
 public interface TradeOrderApi {
-    /**
-     * 更新装卸货量
-     * @param tradeOrderPara
-     * @return
-     */
-    @GetMapping(value = "/trade/order/update")
-    void updateLoad(TradeOrderPara tradeOrderPara);
 
 }

+ 28 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/feign/WalletApi.java

@@ -0,0 +1,28 @@
+package com.sckw.payment.api.feign;
+
+import com.sckw.core.web.response.BaseResult;
+import com.sckw.payment.api.model.WalletFreeze;
+import jakarta.validation.Valid;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(name = "sckw-ng-payment", path = "/biz/wallet")
+public interface WalletApi {
+    /**
+     * 下单时冻结金额
+     *
+     */
+    @PostMapping("/freezeMoney")
+    BaseResult<Boolean> freezeMoney(@RequestBody @Valid WalletFreeze walletFreeze);
+    @PostMapping("/unfreezeMoney")
+    BaseResult<Boolean> unfreezeMoney(@RequestBody @Valid WalletFreeze walletFreeze);
+
+    /**
+     * 结算
+     *
+     */
+    @PostMapping("/dealMoney")
+    BaseResult<Boolean> dealMoney(@RequestBody @Valid WalletFreeze walletFreeze);
+
+}

+ 26 - 0
sckw-modules-api/sckw-payment-api/src/main/java/com/sckw/payment/api/model/WalletFreeze.java

@@ -0,0 +1,26 @@
+package com.sckw.payment.api.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+public class WalletFreeze implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 5036501461520398876L;
+
+    private Long buyEntId;
+    private Long saleEntId;
+    private BigDecimal money;
+    private Long tTradeOrderId;
+    private String orderNo;
+}

+ 0 - 25
sckw-modules/sckw-order/src/main/java/com/sckw/order/feign/TradeOrderApiImpl.java

@@ -1,25 +0,0 @@
-package com.sckw.order.feign;
-
-import com.sckw.order.api.feign.TradeOrderApi;
-import com.sckw.order.api.model.TradeOrderPara;
-import com.sckw.order.api.model.TradeOrderVo;
-import com.sckw.order.serivce.KwoTradeOrderService;
-import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-
-/**
- * @author xucaiqin
- * @date 2025-12-01 15:26:28
- */
-@RestController
-@RequiredArgsConstructor
-public class TradeOrderApiImpl implements TradeOrderApi {
-    private final KwoTradeOrderService kwoTradeOrderService;
-
-
-    @Override
-    public void updateLoad(TradeOrderPara tradeOrderPara) {
-    }
-}

+ 30 - 6
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -33,6 +33,7 @@ import com.sckw.core.model.vo.TableTop;
 import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.core.web.response.BaseResult;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.fleet.api.RemoteFleetService;
 import com.sckw.fleet.api.model.vo.TruckDispatchCoefficientVO;
@@ -53,6 +54,8 @@ import com.sckw.order.model.vo.res.OrderDetailRes;
 import com.sckw.order.model.vo.res.UnitInfoDetailRes;
 import com.sckw.payment.api.dubbo.PayCenterDubboService;
 import com.sckw.payment.api.dubbo.PaymentDubboService;
+import com.sckw.payment.api.feign.WalletApi;
+import com.sckw.payment.api.model.WalletFreeze;
 import com.sckw.payment.api.model.constant.ChannelEnum;
 import com.sckw.payment.api.model.dto.WalletDto;
 import com.sckw.payment.api.model.dto.common.R;
@@ -139,7 +142,7 @@ public class KwoTradeOrderService {
     private final KwoTradeOrderGoodsUnitService kwoTradeOrderGoodsUnitService;
     private final KwoTradeOrderAmountService tradeOrderAmountService;
     private final KwoTradeOrderTransportService kwoTradeOrderTransportService;
-
+    private final WalletApi walletApi;
     @Value("${url.order.list.valet.pc}")
     private String pcValetListUrl;
 
@@ -1915,6 +1918,11 @@ public class KwoTradeOrderService {
         //商品信息
         KwpGoods goodsById = goodsInfoService.getGoodsById(tradeOrderParam.getGoodsId());
 
+        TradeContractResDto tradeContractResDto = checkPara(tradeOrderParam, order, goodsById);
+        WalletFreeze walletFreeze = new WalletFreeze();
+        walletFreeze.setOrderNo(order.getTOrderNo());
+        walletFreeze.setMoney(order.getPrice());
+
         TradeContractResDto tradeContractResDto = checkPara(tradeOrderParam, order, goodsById);
         //商品地址信息
         AddressInfoDetail goodsAddress = goodsInfoService.getGoodsAddress(tradeOrderParam.getGoodsId());
@@ -1922,6 +1930,7 @@ public class KwoTradeOrderService {
             throw new BusinessException("商品发货地址信息不存在");
         }
         kwoTradeOrderMapper.insert(order);//贸易订单
+        walletFreeze.setTTradeOrderId(order.getId());
 
         GoodsInfoDto goodsInfoDto = tradeContractResDto.getGoodsInfoDto();//贸易合同,下合同关联的商品信息
         KwoTradeOrderGoods kwoTradeOrderGoods = new KwoTradeOrderGoods();
@@ -2032,15 +2041,21 @@ public class KwoTradeOrderService {
             unit.setId(new IdWorker(1).nextId());
             unit.setTOrderId(order.getId()).setTOrderNo(order.getTOrderNo()).setTopEntId(e.getEntId());
             unit.setUnitType(StrUtil.equals(e.getUnitType(), "1") ? "2" : "1");//贸易合同和订单的单位类型相反
+            if (StrUtil.equals(unit.getUnitType(), "1")) {
+                walletFreeze.setBuyEntId(unit.getEntId());
+            }
+            if (StrUtil.equals(unit.getUnitType(), "2")) {
+                walletFreeze.setSaleEntId(unit.getEntId());
+            }
             list.add(unit);
         });
         kwoTradeOrderUnitService.insertBatch(list);
+        //钱包
+        BaseResult<Boolean> booleanBaseResult = walletApi.freezeMoney(walletFreeze);
+        if (booleanBaseResult.getCode() != 60200) {
+            throw new BusinessException(booleanBaseResult.getMessage());
+        }
 
-        //扣减库存
-//        HttpResult updateResult = goodsInfoService.updateGoodsAmount(tradeOrderParam.getGoodsId(), tradeOrderParam.getAmount());
-//        if (!Objects.equals(HttpStatus.SUCCESS_CODE, updateResult.getCode())) {
-//            throw new BusinessException(updateResult.getMsg());
-//        }
     }
 
     private TradeContractResDto checkPara(TradeOrderParam tradeOrderParam, KwoTradeOrder order, KwpGoods goodsById) {
@@ -2132,6 +2147,15 @@ public class KwoTradeOrderService {
         kwoTradeOrder.setStatus(Objects.equals(tradeOrderAuditParam.getStatus(), 2) ? TradeOrderStatusEnum.BACK.getCode() : TradeOrderStatusEnum.ING.getCode());
         kwoTradeOrderMapper.updateById(kwoTradeOrder);
         if (Objects.equals(tradeOrderAuditParam.getStatus(), 2)) {
+            //钱包退回金额
+            WalletFreeze walletFreeze = new WalletFreeze();
+            walletFreeze.setTTradeOrderId(kwoTradeOrder.getId());
+            walletFreeze.setOrderNo(kwoTradeOrder.getTOrderNo());
+            BaseResult<Boolean> booleanBaseResult = walletApi.unfreezeMoney(walletFreeze);
+            if (booleanBaseResult.getCode() != 60200) {
+                throw new BusinessException(booleanBaseResult.getMessage());
+            }
+
             KwoTradeOrderTrack kwoTradeOrderTrack = new KwoTradeOrderTrack();
             kwoTradeOrderTrack.setTOrderId(kwoTradeOrder.getId());
             kwoTradeOrderTrack.setTOrderNo(kwoTradeOrder.getTOrderNo());

+ 1 - 1
sckw-modules/sckw-payment/pom.xml

@@ -147,4 +147,4 @@
         </plugins>
     </build>
 
-</project>
+</project>

+ 19 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpBizWalletController.java

@@ -4,6 +4,7 @@ package com.sckw.payment.controller;
 import com.sckw.core.web.response.BaseResult;
 import com.sckw.core.web.response.result.PageDataResult;
 import com.sckw.excel.utils.ExcelUtil;
+import com.sckw.payment.api.model.WalletFreeze;
 import com.sckw.payment.repose.KwpBizWalletPageResponse;
 import com.sckw.payment.repose.KwpBizWalletPrepayPageResponse;
 import com.sckw.payment.repose.vo.KwpBizWalletPrepayExcelVO;
@@ -122,6 +123,24 @@ public class KwpBizWalletController {
         ExcelUtil.downData(response, KwpBizWalletPrepayExcelVO.class, excelVOList);
     }
 
+    /**
+     * 冻结金额
+     */
+    @Operation(summary = "冻结金额", description = "冻结金额")
+    @PostMapping("/freezeMoney")
+    public BaseResult<Boolean> freezeMoney(@RequestBody @Validated WalletFreeze walletFreeze) {
+        return kwpBizWalletService.freezeMoney(walletFreeze);
+    }
 
+    @Operation(summary = "解冻金额", description = "解冻金额")
+    @PostMapping("/unfreezeMoney")
+    public BaseResult<Boolean> unfreezeMoney(@RequestBody @Validated WalletFreeze walletFreeze) {
+        return kwpBizWalletService.unfreezeMoney(walletFreeze);
+    }
 
+    @Operation(summary = "结算金额", description = "结算金额")
+    @PostMapping("/dealMoney")
+    public BaseResult<Boolean> dealMoney(@RequestBody @Validated WalletFreeze walletFreeze) {
+        return kwpBizWalletService.dealMoney(walletFreeze);
+    }
 }

+ 143 - 2
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/wallet/KwpBizWalletService.java

@@ -1,6 +1,7 @@
 package com.sckw.payment.service.wallet;
 
-
+import cn.hutool.core.util.NumberUtil;
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -11,7 +12,9 @@ import com.sckw.core.common.enums.StringConstant;
 import com.sckw.core.model.enums.EntTypeEnum;
 import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.core.web.response.BaseResult;
 import com.sckw.core.web.response.result.PageDataResult;
+import com.sckw.payment.api.model.WalletFreeze;
 import com.sckw.payment.enums.PrepayTypEnum;
 import com.sckw.payment.model.KwpBizWallet;
 import com.sckw.payment.model.KwpBizWalletPrepay;
@@ -244,6 +247,7 @@ public class KwpBizWalletService {
 
     /**
      * 过滤条件
+     *
      * @param request
      * @param wallet
      * @return
@@ -281,7 +285,7 @@ public class KwpBizWalletService {
         if (entId == null) {
             return "";
         }
-        KwsEnterpriseResDto enterpriseResDto= remoteSystemService.queryEnterpriseByEntId(entId);
+        KwsEnterpriseResDto enterpriseResDto = remoteSystemService.queryEnterpriseByEntId(entId);
         if (enterpriseResDto == null) {
             return "";
         }
@@ -311,6 +315,7 @@ public class KwpBizWalletService {
 
     /**
      * 新增钱包校验
+     *
      * @param request
      */
     private void checkAddWallet(KwpBizWalletSaveRequest request) {
@@ -467,5 +472,141 @@ public class KwpBizWalletService {
         return walletPrepayExcelVO;
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    public BaseResult<Boolean> freezeMoney(WalletFreeze walletFreeze) {
+        log.info("冻结钱包:{}", JSONObject.toJSONString(walletFreeze));
+        KwpBizWallet one = kwpBizWalletRepository.getOne(new LambdaQueryWrapper<KwpBizWallet>()
+                .eq(KwpBizWallet::getSupEntId, walletFreeze.getSaleEntId())
+                .eq(KwpBizWallet::getProEntId, walletFreeze.getBuyEntId()).eq(KwpBizWallet::getState, 1)
+        );
+        if (Objects.isNull(one)) {
+            return BaseResult.failed("钱包不存在,请核实");
+        }
+        BigDecimal amount = one.getAmount();
+        if (NumberUtil.isLess(amount, walletFreeze.getMoney())) {
+            return BaseResult.failed("可用余额不足");
+        }
+        one.setAmount(NumberUtil.sub(amount, walletFreeze.getMoney()));
+        one.setPrepayAmount(NumberUtil.add(one.getPrepayAmount(), walletFreeze.getMoney()));
+        one.setUpdateUser(LoginUserHolder.getUserName());
+        kwpBizWalletRepository.updateById(one);
+        //新增订单
+        KwpBizWalletPrepay kwpBizWalletPrepay = new KwpBizWalletPrepay();
+        kwpBizWalletPrepay.setWalletId(one.getId());
+        kwpBizWalletPrepay.setOrderId(walletFreeze.getTTradeOrderId());
+        kwpBizWalletPrepay.setChangeAmount(walletFreeze.getMoney());
+        kwpBizWalletPrepay.setAmount(one.getAmount());
+        kwpBizWalletPrepay.setPrepayAmount(one.getPrepayAmount());
+        kwpBizWalletPrepay.setType(2);
+        kwpBizWalletPrepay.setRemark(StrUtil.format("[订单号:%s]冻结", walletFreeze.getOrderNo()));
+        kwpBizWalletPrepay.setVoucherUrl("");
+        kwpBizWalletPrepay.setCreateTime(new Date());
+        kwpBizWalletPrepay.setUpdateTime(new Date());
+        kwpBizWalletPrepay.setCreateUser(LoginUserHolder.getUserName());
+        kwpBizWalletPrepay.setUpdateUser(LoginUserHolder.getUserName());
+        kwpBizWalletPrepayRepository.save(kwpBizWalletPrepay);
+        return BaseResult.success();
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public BaseResult<Boolean> dealMoney(WalletFreeze walletFreeze) {
+        Long tTradeOrderId = walletFreeze.getTTradeOrderId();
+        KwpBizWalletPrepay one = kwpBizWalletPrepayRepository.getOne(new LambdaQueryWrapper<KwpBizWalletPrepay>()
+                .eq(KwpBizWalletPrepay::getOrderId, tTradeOrderId)
+                .eq(KwpBizWalletPrepay::getType, 2)
+                .last("limit 1")
+        );
+        if (Objects.isNull(one)) {
+            return BaseResult.failed("冻结订单不存在");
+        }
+
+        KwpBizWallet wallet = kwpBizWalletRepository.getById(one.getWalletId());
+        if (Objects.isNull(wallet) || Objects.equals(wallet.getState(), 0)) {
+            return BaseResult.failed("钱包不存在或状态异常");
+        }
+        BigDecimal changeAmount = one.getChangeAmount();//冻结金额
+        //钱包实际可用
+        BigDecimal amount = wallet.getAmount();
+        //新增解冻订单
+        amount = NumberUtil.add(amount, changeAmount);
+        KwpBizWalletPrepay kwpBizWalletPrepay = new KwpBizWalletPrepay();
+        kwpBizWalletPrepay.setWalletId(one.getId());
+        kwpBizWalletPrepay.setOrderId(walletFreeze.getTTradeOrderId());
+        kwpBizWalletPrepay.setChangeAmount(changeAmount);
+        kwpBizWalletPrepay.setAmount(amount);
+        kwpBizWalletPrepay.setPrepayAmount(NumberUtil.sub(wallet.getPrepayAmount(), changeAmount));
+        kwpBizWalletPrepay.setType(3);
+        kwpBizWalletPrepay.setRemark(StrUtil.format("[%s][结算]解冻订单总金额", walletFreeze.getOrderNo()));
+        kwpBizWalletPrepay.setVoucherUrl("");
+        kwpBizWalletPrepay.setCreateTime(new Date());
+        kwpBizWalletPrepay.setUpdateTime(new Date());
+        kwpBizWalletPrepay.setCreateUser(LoginUserHolder.getUserName());
+        kwpBizWalletPrepay.setUpdateUser(LoginUserHolder.getUserName());
+        kwpBizWalletPrepayRepository.save(kwpBizWalletPrepay);
+
+        //新增消费订单
+        KwpBizWalletPrepay kwpBizWalletPrepay2 = new KwpBizWalletPrepay();
+        kwpBizWalletPrepay2.setWalletId(one.getId());
+        kwpBizWalletPrepay2.setOrderId(walletFreeze.getTTradeOrderId());
+        kwpBizWalletPrepay2.setChangeAmount(walletFreeze.getMoney());
+        kwpBizWalletPrepay2.setAmount(NumberUtil.sub(amount, walletFreeze.getMoney()));
+        kwpBizWalletPrepay2.setPrepayAmount(kwpBizWalletPrepay.getPrepayAmount());
+        kwpBizWalletPrepay2.setType(4);
+        kwpBizWalletPrepay2.setRemark(StrUtil.format("[%s][结算]扣除订单总金额", walletFreeze.getOrderNo()));
+        kwpBizWalletPrepay2.setVoucherUrl("");
+        kwpBizWalletPrepay2.setCreateTime(new Date());
+        kwpBizWalletPrepay2.setUpdateTime(new Date());
+        kwpBizWalletPrepay2.setCreateUser(LoginUserHolder.getUserName());
+        kwpBizWalletPrepay2.setUpdateUser(LoginUserHolder.getUserName());
+        kwpBizWalletPrepayRepository.save(kwpBizWalletPrepay);
+
+        wallet.setAmount(kwpBizWalletPrepay2.getAmount());
+        wallet.setPrepayAmount(kwpBizWalletPrepay2.getPrepayAmount());
+        kwpBizWalletRepository.updateById(wallet);
+        return BaseResult.success();
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public BaseResult<Boolean> unfreezeMoney(WalletFreeze walletFreeze) {
+        log.info("解冻钱包:{}", JSONObject.toJSONString(walletFreeze));
+        Long tTradeOrderId = walletFreeze.getTTradeOrderId();
+        KwpBizWalletPrepay one = kwpBizWalletPrepayRepository.getOne(new LambdaQueryWrapper<KwpBizWalletPrepay>()
+                .eq(KwpBizWalletPrepay::getOrderId, tTradeOrderId)
+                .eq(KwpBizWalletPrepay::getType, 2)
+                .last("limit 1")
+        );
+        if (Objects.isNull(one)) {
+            return BaseResult.failed("冻结订单不存在");
+        }
 
+        KwpBizWallet wallet = kwpBizWalletRepository.getById(one.getWalletId());
+        if (Objects.isNull(wallet) || Objects.equals(wallet.getState(), 0)) {
+            return BaseResult.failed("钱包不存在或状态异常");
+        }
+        BigDecimal changeAmount = one.getChangeAmount();//冻结金额
+        //钱包实际可用
+        BigDecimal amount = wallet.getAmount();
+        //新增解冻订单
+        amount = NumberUtil.add(amount, changeAmount);
+        KwpBizWalletPrepay kwpBizWalletPrepay = new KwpBizWalletPrepay();
+        kwpBizWalletPrepay.setWalletId(one.getId());
+        kwpBizWalletPrepay.setOrderId(walletFreeze.getTTradeOrderId());
+        kwpBizWalletPrepay.setChangeAmount(changeAmount);
+        kwpBizWalletPrepay.setAmount(amount);
+        kwpBizWalletPrepay.setPrepayAmount(NumberUtil.sub(wallet.getPrepayAmount(), changeAmount));
+        kwpBizWalletPrepay.setType(3);
+        kwpBizWalletPrepay.setRemark(StrUtil.format("[订单号:%s]解冻", walletFreeze.getOrderNo()));
+        kwpBizWalletPrepay.setVoucherUrl("");
+        kwpBizWalletPrepay.setCreateTime(new Date());
+        kwpBizWalletPrepay.setUpdateTime(new Date());
+        kwpBizWalletPrepay.setCreateUser(LoginUserHolder.getUserName());
+        kwpBizWalletPrepay.setUpdateUser(LoginUserHolder.getUserName());
+        kwpBizWalletPrepayRepository.save(kwpBizWalletPrepay);
+
+
+        wallet.setAmount(amount);
+        wallet.setPrepayAmount(kwpBizWalletPrepay.getPrepayAmount());
+        kwpBizWalletRepository.updateById(wallet);
+        return BaseResult.success();
+    }
 }

+ 12 - 9
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -389,7 +389,7 @@ public class KwpGoodsService {
                 DictTypeEnum.GOODS_STATUS.getType(),
                 DictTypeEnum.ADDRESS_TYPE.getType(),
                 DictTypeEnum.GOODS_SPEC.getType()
-                ));
+        ));
         Map<String, String> productNameMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         Map<String, String> unitMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         Map<String, String> goodsStatusMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
@@ -1018,14 +1018,18 @@ public class KwpGoodsService {
             );
         }
         wrapper.eq(StrUtil.isNotBlank(params.getSpec()), KwpGoods::getSpec, params.getSpec());
-        if (Objects.nonNull(params.getSign())) {//查询签约或未签约商品
-            List<Long> longs = tradeOrderInfoService.querySignGoods(LoginUserHolder.getEntId());
-            if (Objects.equals(params.getSign(), 1)) {
-                wrapper.in(CollUtil.isNotEmpty(longs), KwpGoods::getId, longs);
-            } else {
-                wrapper.notIn(CollUtil.isNotEmpty(longs), KwpGoods::getId, longs);
+        Long entId = LoginUserHolder.getEntId();
+        if (Objects.nonNull(entId)) {
+            if (Objects.nonNull(params.getSign())) {//查询签约或未签约商品
+                List<Long> longs = tradeOrderInfoService.querySignGoods(LoginUserHolder.getEntId());
+                if (Objects.equals(params.getSign(), 1)) {
+                    wrapper.in(CollUtil.isNotEmpty(longs), KwpGoods::getId, longs);
+                } else {
+                    wrapper.notIn(CollUtil.isNotEmpty(longs), KwpGoods::getId, longs);
+                }
             }
         }
+
         if (Objects.nonNull(params.getContractId())) {
             List<Long> longs = remoteContractService.queryTradeContractInfo(params.getContractId());
             wrapper.in(CollUtil.isNotEmpty(longs), KwpGoods::getId, longs);
@@ -1056,7 +1060,7 @@ public class KwpGoodsService {
         Map<Long, String> entMap = entList.stream().collect(Collectors.toMap(EntCacheResDto::getId, EntCacheResDto::getFirmName, (k1, k2) -> k1));
         Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(),
                 DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.GOODS_SPEC.getType()));
-        Map<String, String> productNameMap, unitMap,specMap;
+        Map<String, String> productNameMap, unitMap, specMap;
         if (CollectionUtils.isNotEmpty(dict)) {
             productNameMap = dict.get(DictTypeEnum.PRODUCT_NAME_TYPE.getType());
             unitMap = dict.get(DictTypeEnum.UNIT_TYPE.getType());
@@ -1066,7 +1070,6 @@ public class KwpGoodsService {
             unitMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
             specMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         }
-        Long entId = LoginUserHolder.getEntId();
         list.forEach(e -> {
             BuildingMaterialsMarketList materials = BeanUtils.copyProperties(e, BuildingMaterialsMarketList.class);
             KwpGoodsAddress address = addressMap.get(e.getId());