Explorar el Código

钱包明细分页查询接口更改

donglang hace 2 meses
padre
commit
c8362d3f9a

+ 2 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteSystemService.java

@@ -282,6 +282,8 @@ public interface RemoteSystemService {
 
     KwsEnterpriseResDto queryEnterpriseByEntId(Long entId);
 
+    List<KwsEnterpriseResDto> queryEntListByEntIds(List<Long> entIds);
+
     EntTypeResDto queryEntTypeById(Long entId);
 
 

+ 27 - 16
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/wallet/KwpBizWalletService.java

@@ -270,37 +270,48 @@ public class KwpBizWalletService {
         if (systemType != SystemTypeEnum.COMPANY.getCode()) {
             return;
         }
+        //校验
+        checkAddWallet(request);
 
+        KwpBizWallet kwpBizWallet = new KwpBizWallet();
+        kwpBizWallet.setSupEntId(request.getSupEntId());
+        kwpBizWallet.setProEntId(request.getProEntId());
+        kwpBizWallet.setCreateUser(LoginUserHolder.getUserName());
+        kwpBizWallet.setUpdateUser(LoginUserHolder.getUserName());
+        //采购商企业名称
+        String entName = queryEntById(request.getProEntId());
+        kwpBizWallet.setName(entName + StringConstant.HYPHEN + OFFLINE_WALLET);
+        kwpBizWalletRepository.save(kwpBizWallet);
+    }
+
+    /**
+     * 新增钱包校验
+     * @param request
+     */
+    private void checkAddWallet(KwpBizWalletSaveRequest request) {
         //查询当前登录企业
         EntTypeResDto entTypeResDto = remoteSystemService.queryEntTypeById(LoginUserHolder.getEntId());
         if (entTypeResDto == null) {
             throw new RuntimeException("entId:" + LoginUserHolder.getEntId() + ", 企业信息不存在!");
         }
-        //校验
+        //校验创建钱包企业
         if (entTypeResDto.getType() != EntTypeEnum.SUPPLIER.getCode()) {
             throw new RuntimeException("entId:" + LoginUserHolder.getEntId() + ", 非供应商企业不能新建钱包!");
         }
-
-        //校验
+        //校验新增钱包的企业数据库是否存在
+        List<KwsEnterpriseResDto> enterpriseResDtoList = remoteSystemService
+                .queryEntListByEntIds(Lists.newArrayList(request.getSupEntId(), request.getProEntId()));
+        if (enterpriseResDtoList.size() < 2) {
+            throw new RuntimeException("所选企业不存在!");
+        }
+        //幂等校验
         LambdaQueryWrapper<KwpBizWallet> queryWrapper = Wrappers.<KwpBizWallet>lambdaQuery()
                 .eq(KwpBizWallet::getSupEntId, request.getSupEntId())
                 .eq(KwpBizWallet::getProEntId, request.getProEntId());
-
         List<KwpBizWallet> bizWalletList = kwpBizWalletRepository.list(queryWrapper);
         if (CollectionUtils.isNotEmpty(bizWalletList)) {
             throw new RuntimeException("entId:" + LoginUserHolder.getEntId() + ", 已存在相同供应商企业和采购企业的钱包,不能重复创建!");
         }
-
-
-        KwpBizWallet kwpBizWallet = new KwpBizWallet();
-        kwpBizWallet.setSupEntId(request.getSupEntId());
-        kwpBizWallet.setProEntId(request.getProEntId());
-        kwpBizWallet.setCreateUser(LoginUserHolder.getUserName());
-        kwpBizWallet.setUpdateUser(LoginUserHolder.getUserName());
-        //采购商企业名称
-        String entName = queryEntById(request.getProEntId());
-        kwpBizWallet.setName(entName + StringConstant.HYPHEN + OFFLINE_WALLET);
-        kwpBizWalletRepository.save(kwpBizWallet);
     }
 
     /**
@@ -341,7 +352,7 @@ public class KwpBizWalletService {
             }
             wallet.setAmount(wallet.getAmount().subtract(request.getAmount()));
         }
-        //钱包金额
+        //钱包金额
         kwpBizWalletRepository.updateById(wallet);
 
         //创建钱包金额更新日志

+ 13 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteBaseService.java

@@ -373,4 +373,17 @@ public class RemoteBaseService {
 
         return kwsEnterpriseResDto;
     }
+
+    public List<KwsEnterpriseResDto> queryEntListByEntIds(List<Long> entIds) {
+        List<KwsEnterprise> enterpriseList = kwsEnterpriseDao.queryEnterpriseByEntIds(entIds);
+        List<KwsEnterpriseResDto> dtoList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(enterpriseList)) {
+            enterpriseList.forEach(enterprise -> {
+                KwsEnterpriseResDto dto = new KwsEnterpriseResDto();
+                org.springframework.beans.BeanUtils.copyProperties(enterprise, dto);
+                dtoList.add(dto);
+            });
+        }
+        return dtoList;
+    }
 }

+ 7 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java

@@ -880,6 +880,13 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
        return remoteBaseService.queryEnterpriseById(entId);
     }
 
+    @Override
+    public  List<KwsEnterpriseResDto> queryEntListByEntIds(List<Long> entIds) {
+        return remoteBaseService.queryEntListByEntIds(entIds);
+    }
+
+
+
 
     @Override
     public EntTypeResDto queryEntTypeById(Long entId) {