|
@@ -270,37 +270,48 @@ public class KwpBizWalletService {
|
|
|
if (systemType != SystemTypeEnum.COMPANY.getCode()) {
|
|
if (systemType != SystemTypeEnum.COMPANY.getCode()) {
|
|
|
return;
|
|
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());
|
|
EntTypeResDto entTypeResDto = remoteSystemService.queryEntTypeById(LoginUserHolder.getEntId());
|
|
|
if (entTypeResDto == null) {
|
|
if (entTypeResDto == null) {
|
|
|
throw new RuntimeException("entId:" + LoginUserHolder.getEntId() + ", 企业信息不存在!");
|
|
throw new RuntimeException("entId:" + LoginUserHolder.getEntId() + ", 企业信息不存在!");
|
|
|
}
|
|
}
|
|
|
- //校验
|
|
|
|
|
|
|
+ //校验创建钱包企业
|
|
|
if (entTypeResDto.getType() != EntTypeEnum.SUPPLIER.getCode()) {
|
|
if (entTypeResDto.getType() != EntTypeEnum.SUPPLIER.getCode()) {
|
|
|
throw new RuntimeException("entId:" + LoginUserHolder.getEntId() + ", 非供应商企业不能新建钱包!");
|
|
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()
|
|
LambdaQueryWrapper<KwpBizWallet> queryWrapper = Wrappers.<KwpBizWallet>lambdaQuery()
|
|
|
.eq(KwpBizWallet::getSupEntId, request.getSupEntId())
|
|
.eq(KwpBizWallet::getSupEntId, request.getSupEntId())
|
|
|
.eq(KwpBizWallet::getProEntId, request.getProEntId());
|
|
.eq(KwpBizWallet::getProEntId, request.getProEntId());
|
|
|
-
|
|
|
|
|
List<KwpBizWallet> bizWalletList = kwpBizWalletRepository.list(queryWrapper);
|
|
List<KwpBizWallet> bizWalletList = kwpBizWalletRepository.list(queryWrapper);
|
|
|
if (CollectionUtils.isNotEmpty(bizWalletList)) {
|
|
if (CollectionUtils.isNotEmpty(bizWalletList)) {
|
|
|
throw new RuntimeException("entId:" + LoginUserHolder.getEntId() + ", 已存在相同供应商企业和采购企业的钱包,不能重复创建!");
|
|
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()));
|
|
wallet.setAmount(wallet.getAmount().subtract(request.getAmount()));
|
|
|
}
|
|
}
|
|
|
- //钱包金额跟新
|
|
|
|
|
|
|
+ //钱包金额更新
|
|
|
kwpBizWalletRepository.updateById(wallet);
|
|
kwpBizWalletRepository.updateById(wallet);
|
|
|
|
|
|
|
|
//创建钱包金额更新日志
|
|
//创建钱包金额更新日志
|