|
|
@@ -401,7 +401,7 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
queryWrapper.eq("payment_id", paymentId);
|
|
|
List<HlwPaymentDetail> list = this.list(queryWrapper);
|
|
|
// 错误信息集合
|
|
|
- List<Map<String, Object>> errorList = new ArrayList<>();
|
|
|
+ List errorList = new ArrayList<>();
|
|
|
/**
|
|
|
* 2、拦截日限额
|
|
|
*/
|
|
|
@@ -417,18 +417,17 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
map.put("idcardNumber", hlwPaymentDetail.getIdcardNumber());
|
|
|
map.put("reason", "超出日限额上限");
|
|
|
errorList.add(map);
|
|
|
+ continue;
|
|
|
}
|
|
|
- }
|
|
|
- /**
|
|
|
- * 3、拦截月限额
|
|
|
- */
|
|
|
- for (HlwPaymentDetail hlwPaymentDetail : list) {
|
|
|
+ /**
|
|
|
+ * 3、拦截月限额
|
|
|
+ */
|
|
|
// 查询用户当月付款金额总和
|
|
|
Double currentUserMonthlyAmount = baseMapper.getCurrentUserMonthlyAmount(hlwPaymentDetail.getIdcardNumber());
|
|
|
currentUserMonthlyAmount = businessAccountUtils.add(currentUserMonthlyAmount, hlwPaymentDetail.getNetPayment());
|
|
|
// 比较double大小
|
|
|
- BigDecimal data = BigDecimal.valueOf(currentUserMonthlyAmount);
|
|
|
- if (bigMonthlyLimit.compareTo(data) == -1) {
|
|
|
+ BigDecimal data1 = BigDecimal.valueOf(currentUserMonthlyAmount);
|
|
|
+ if (bigMonthlyLimit.compareTo(data1) == -1) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("userName", hlwPaymentDetail.getUserName());
|
|
|
map.put("idcardNumber", hlwPaymentDetail.getIdcardNumber());
|
|
|
@@ -437,13 +436,8 @@ public class HlwPaymentDetailServiceImpl extends ServiceImpl<HlwPaymentDetailMap
|
|
|
}
|
|
|
}
|
|
|
if (errorList != null && errorList.size() > 0) {
|
|
|
- // 根据身份证号去重
|
|
|
- // (k1, k2) -> k1 表示,如果有重复的key,则保留第一个,舍弃第二个
|
|
|
- // 最后map再通过流化重新转成list
|
|
|
- errorList = errorList.stream().collect(
|
|
|
- Collectors.toMap(m -> m.get("idcardNumber"), m -> m, (k1, k2) -> k1))
|
|
|
- .values().stream().collect(Collectors.toList());
|
|
|
- return Result.error(errorList.toString());
|
|
|
+ JSONArray jsonArray = new JSONArray(errorList);
|
|
|
+ return Result.error(jsonArray.toString());
|
|
|
}
|
|
|
//判断付款账户金额是否够支付
|
|
|
Integer applicationId = jsonObject.getInteger("applicationId");
|