|
@@ -73,35 +73,19 @@ public class AdditionalPaymentServiceImpl extends ServiceImpl<AdditionalPaymentM
|
|
|
log.info("加款失败,加款编号为:【{}】将删除此条记录,客户编号为:【{}】,加款金额为:【{}】", additionalPaymentDto.getId(), additionalPaymentDto.getRelationId(), additionalPaymentDto.getAmount());
|
|
|
baseMapper.deleteById(additionalPaymentDto.getId());
|
|
|
}
|
|
|
- } else if (additionalPaymentDto.getType().equals("suppler")) {
|
|
|
+ } else if (additionalPaymentDto.getType().equals("supplier")) {
|
|
|
additionalPaymentDto.setId(jedisCluster.incr(GLOBAL_ID_INCR.key()));
|
|
|
additionalPaymentDto.setDistinguish(1);
|
|
|
- // TODO 供应商加款
|
|
|
- this.additionalPayment(additionalPaymentDto);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * @Description: TODO 供应商新增加款记录
|
|
|
- * @Param: [additionalPaymentDto]
|
|
|
- * @return: void
|
|
|
- * @Date: 2021/6/4 15:28
|
|
|
- */
|
|
|
- @Override
|
|
|
- public void insertSupplierAdditionalPayment(AdditionalPaymentDto additionalPaymentDto) {
|
|
|
- if (additionalPaymentDto.getType().equals("supplier")) {
|
|
|
- additionalPaymentDto.setDistinguish(1);
|
|
|
- // TODO 客户加款
|
|
|
+ // 供应商加款
|
|
|
int count = this.additionalPayment(additionalPaymentDto);
|
|
|
- if (count > 0) {
|
|
|
- // TODO 加款成功之后,把加款的金额写入数据库
|
|
|
- redisAmountScript.changeAmount(SUPPLIER_AMOUNT.key(), Long.getLong(additionalPaymentDto.getRelationId()), "add", additionalPaymentDto.getAmount().multiply(new BigDecimal(10000)).longValue(), 0L);
|
|
|
+ Long amount = redisAmountScript.changeAmount(SUPPLIER_AMOUNT.key(), Long.parseLong(additionalPaymentDto.getRelationId()), "add", additionalPaymentDto.getAmount().multiply(new BigDecimal(10000)).longValue(), 0L);
|
|
|
+ if (count > 0 && ObjectUtil.isNotEmpty(amount)) {
|
|
|
+ log.info("供应商加款成功,供应商编号为:【{}】,加款金额为:【{}】", additionalPaymentDto.getRelationId(), additionalPaymentDto.getAmount());
|
|
|
+ } else {
|
|
|
+ // 供应商加款失败,删除该条加款记录
|
|
|
+ log.info("供应商加款失败,编号为:【{}】的加款记录将被删除,供应商编号为:【{}】,加款金额为:【{}】", additionalPaymentDto.getId(), additionalPaymentDto.getRelationId(), additionalPaymentDto.getAmount());
|
|
|
+ baseMapper.deleteById(additionalPaymentDto.getId());
|
|
|
}
|
|
|
- } else if (additionalPaymentDto.getType().equals("supplier")) {
|
|
|
- additionalPaymentDto.setDistinguish(1);
|
|
|
- // TODO 供应商加款
|
|
|
- this.additionalPayment(additionalPaymentDto);
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -222,8 +206,8 @@ public class AdditionalPaymentServiceImpl extends ServiceImpl<AdditionalPaymentM
|
|
|
log.info("客户编号为“【{}】 款项撤销失败,撤销金额为:【{}】", additionalPaymentDto.getRelationId(), additionalPaymentDto.getAmount().divide(new BigDecimal(10000), 2, BigDecimal.ROUND_DOWN));
|
|
|
throw new BaseException(Status.ACCOUNT_CANCEL_FAIL.status(), Status.ACCOUNT_CANCEL_FAIL.message());
|
|
|
}
|
|
|
- }else if(ObjectUtil.isNotEmpty(additionalPaymentDto.getRelationId()) && additionalPaymentDto.getType().equals("suppler")){
|
|
|
- payment.setUndo(2);
|
|
|
+ } else if (ObjectUtil.isNotEmpty(additionalPaymentDto.getRelationId()) && additionalPaymentDto.getType().equals("supplier")) {
|
|
|
+ payment.setUndo(1);
|
|
|
// TODO 进行账户撤销
|
|
|
Long amount = redisAmountScript.changeAmount(SUPPLIER_AMOUNT.key(), Long.parseLong(payment.getRelationId()), "sub", payment.getAmount(), 100000000000L);
|
|
|
if (ObjectUtil.isNotEmpty(amount)) {
|
|
@@ -236,46 +220,18 @@ public class AdditionalPaymentServiceImpl extends ServiceImpl<AdditionalPaymentM
|
|
|
log.info("供应商编号为“【{}】 款项撤销失败,撤销金额为:【{}】", additionalPaymentDto.getRelationId(), additionalPaymentDto.getAmount().divide(new BigDecimal(10000), 2, BigDecimal.ROUND_DOWN));
|
|
|
throw new BaseException(Status.ACCOUNT_CANCEL_FAIL.status(), Status.ACCOUNT_CANCEL_FAIL.message());
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
log.info("客户或供应商款项撤销前端参数传递有误!!!");
|
|
|
- throw new BaseException(Status.REQUEST_PARAM_ERROR.status(),Status.REQUEST_PARAM_ERROR.message()) ; }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * @Description: 供应商加款撤销
|
|
|
- * @Param: additionalPaymentDto
|
|
|
- * @return: void
|
|
|
- * @Date: 2021/6/8 14:57
|
|
|
- */
|
|
|
- @Override
|
|
|
- public String cancelSupplierAdditionalPayment(AdditionalPaymentDto additionalPaymentDto) {
|
|
|
-
|
|
|
- if (ObjectUtil.isNotEmpty(additionalPaymentDto.getRelationId()) && additionalPaymentDto.getType().equals("supplier")) {
|
|
|
- additionalPaymentDto.setUndo(1);
|
|
|
- // 实例化对象
|
|
|
- AdditionalPayment payment = this.formatAdditionalPaymentDto(additionalPaymentDto);
|
|
|
- // 修改记录的撤销状态
|
|
|
- int count = baseMapper.updateById(payment);
|
|
|
-
|
|
|
- if (count > 0) {
|
|
|
- // 撤销
|
|
|
- Long amount = redisAmountScript.changeAmount(SUPPLIER_AMOUNT.key(), Long.parseLong(payment.getRelationId()), "sub", payment.getAmount(),100000000L);
|
|
|
- log.info("供应商加款撤销。 供应商编号为:【{}】 撤销金额为:【{}】 ,授信额度为:【{}】 剩余额度为:【{}】", payment.getRelationId(), additionalPaymentDto.getAmount(), new BigDecimal(100000000L).divide(new BigDecimal("10000"), 2, BigDecimal.ROUND_DOWN), new BigDecimal(amount).divide(new BigDecimal("10000"), 2, BigDecimal.ROUND_DOWN));
|
|
|
- return payment.getRelationId().concat("_").concat(amount.toString());
|
|
|
- }
|
|
|
+ throw new BaseException(Status.REQUEST_PARAM_ERROR.status(), Status.REQUEST_PARAM_ERROR.message());
|
|
|
}
|
|
|
-
|
|
|
- return null;
|
|
|
-
|
|
|
}
|
|
|
|
|
|
- private AdditionalPayment formatAdditionalPaymentDto(AdditionalPaymentDto additionalPaymentDto){
|
|
|
- return AdditionalPayment.builder()
|
|
|
+ private AdditionalPayment formatAdditionalPaymentDto(AdditionalPaymentDto additionalPaymentDto) {
|
|
|
+ return AdditionalPayment.builder()
|
|
|
.id(additionalPaymentDto.getId())
|
|
|
.relationId(additionalPaymentDto.getRelationId())
|
|
|
.amount(additionalPaymentDto.getAmount().longValue())
|
|
|
.build();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
}
|