付款金额问题

This commit is contained in:
wangw 2024-07-05 10:19:34 +08:00
parent e3f2d7fc64
commit b2eb394290
1 changed files with 15 additions and 11 deletions

View File

@ -105,20 +105,24 @@ public class TbShopPurveyorTransactServiceImpl implements TbShopPurveyorTransact
@Override
@Transactional(rollbackFor = Exception.class)
public void payTransact(TbShopPurveyorTransact resources) {
if (resources.getPaidAmount().compareTo(BigDecimal.ZERO) == 0) {
throw new BadRequestException("付款金额不能为 0");
}
TbShopPurveyorTransact tbShopPurveyorTransact = tbShopPurveyorTransactRepository.findById(resources.getId()).orElseGet(TbShopPurveyorTransact::new);
ValidationUtil.isNull(tbShopPurveyorTransact.getId(), "TbShopPurveyorTransact", "id", resources.getId());
tbShopPurveyorTransact.setPaidAmount(tbShopPurveyorTransact.getPaidAmount().add(resources.getPaidAmount()));
if (resources.getPaidAmount().compareTo(BigDecimal.ZERO) == 0) {
throw new BadRequestException("付款金额不能为 0");
} else {
if (tbShopPurveyorTransact.getWaitAmount().compareTo(BigDecimal.ZERO) > 0 && resources.getPaidAmount().compareTo(BigDecimal.ZERO) > 0) {//待付款金额大于0
tbShopPurveyorTransact.setWaitAmount(tbShopPurveyorTransact.getWaitAmount().subtract(resources.getPaidAmount()));
} else if (tbShopPurveyorTransact.getWaitAmount().compareTo(BigDecimal.ZERO) < 0 && resources.getPaidAmount().compareTo(BigDecimal.ZERO) < 0) {
tbShopPurveyorTransact.setWaitAmount(tbShopPurveyorTransact.getWaitAmount().subtract(resources.getPaidAmount()));
} else {
tbShopPurveyorTransact.setWaitAmount(tbShopPurveyorTransact.getWaitAmount().add(resources.getPaidAmount()));
}
}
tbShopPurveyorTransact.setWaitAmount(tbShopPurveyorTransact.getTotalAmount().subtract(tbShopPurveyorTransact.getPaidAmount()));
// if (resources.getPaidAmount().compareTo(BigDecimal.ZERO) == 0) {
// throw new BadRequestException("付款金额不能为 0");
// } else {
// if (tbShopPurveyorTransact.getWaitAmount().compareTo(BigDecimal.ZERO) > 0 && resources.getPaidAmount().compareTo(BigDecimal.ZERO) > 0) {//待付款金额大于0
// tbShopPurveyorTransact.setWaitAmount(tbShopPurveyorTransact.getWaitAmount().subtract(resources.getPaidAmount()));
// } else if (tbShopPurveyorTransact.getWaitAmount().compareTo(BigDecimal.ZERO) < 0 && resources.getPaidAmount().compareTo(BigDecimal.ZERO) < 0) {
// tbShopPurveyorTransact.setWaitAmount(tbShopPurveyorTransact.getWaitAmount().subtract(resources.getPaidAmount()));
// } else {
// tbShopPurveyorTransact.setWaitAmount(tbShopPurveyorTransact.getWaitAmount().add(resources.getPaidAmount()));
// }
// }
tbShopPurveyorTransact.setPaidAt(System.currentTimeMillis());
if (tbShopPurveyorTransact.getWaitAmount().compareTo(tbShopPurveyorTransact.getPaidAmount()) <= 0) {
tbShopPurveyorTransact.setStatus(1);