Quellcode durchsuchen

1.修复个贷模板认领实收款无法生成罚款后退款记录的bug

GouGengquan vor 6 Tagen
Ursprung
Commit
d9b56d1a51

+ 32 - 0
service/src/main/java/com/dayou/service/impl/FinanceClaimServiceImpl.java

@@ -1,6 +1,7 @@
 package com.dayou.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.dynamic.datasource.annotation.DS;
@@ -38,6 +39,8 @@ import java.util.stream.Collectors;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
+import static com.dayou.enums.FineRefundReasonEnum.RETURN_MONEY;
+import static com.dayou.enums.FineRefundStatusEnum.NOT_RETURNED;
 import static com.dayou.enums.MainBusinessEnum.PERSONAL_BUSINESS;
 
 /**
@@ -78,6 +81,12 @@ public class FinanceClaimServiceImpl extends ServiceImpl<FinanceClaimMapper, Fin
     @Autowired
     private UserMapper userMapper;
 
+    @Autowired
+    private IFinanceFineService financeFineService;
+
+    @Autowired
+    private IFinanceFineRefundService financeFineRefundService;
+
     @Override
     @SuppressWarnings("unchecked")
     public Page<FinanceClaim> selectPage(Page page,FinanceClaim financeClaim){
@@ -333,6 +342,29 @@ public class FinanceClaimServiceImpl extends ServiceImpl<FinanceClaimMapper, Fin
                     orderFundService.save(orderFund);
                 }
             }
+
+            // 新增罚款后退款记录
+            // 罚款记录查询
+            FinanceFine financeFine = financeFineService.getOne(new LambdaQueryWrapper<FinanceFine>()
+                    .eq(BaseEntity::getDeleted, 0)
+                    .eq(FinanceFine::getOrderFundId, orderFund.getId()));
+            // 判断罚款记录是否为空
+            if (ObjectUtil.isNotNull(financeFine)) {
+                // 判断罚款记录是否已经确认
+                if (financeFine.getStatus()) { // 已确认新增退款记录
+                    FinanceFineRefund financeFineRefund = FinanceFineRefund
+                            .builder()
+                            .fineId(financeFine.getId())
+                            .refundAmount(financeFine.getRealFineAmount())
+                            .refundReason(RETURN_MONEY.getCode())
+                            .status(NOT_RETURNED.getCode())
+                            .build();
+                    financeFineRefundService.saveIfNotExists(financeFineRefund);
+                }else { // 未确认的罚款记录直接删除
+                    financeFineService.delete(financeFine.getId());
+                }
+            }
+
             FinanceClaim financeClaim = new FinanceClaim();
             financeClaim.setRealFundId(financeFundId);
             financeClaim.setOrderFundId(orderFund.getId());

+ 2 - 2
service/src/main/java/com/dayou/service/impl/HrPayslipEmailServiceImpl.java

@@ -140,7 +140,7 @@ public class HrPayslipEmailServiceImpl extends ServiceImpl<HrPayslipEmailMapper,
                             hrPayslipEmail.setSendingStatus(true);
                             sendCount++;
                         } catch (Exception sendException) { // 单个邮件发送失败手动捕获处理
-                            log.error("邮箱:" + dto.getEmail() + "的薪资邮件发送失败" + sendException.getMessage());
+                            log.error("邮箱" + dto.getEmail() + "的薪资邮件发送失败:", sendException);
                             // 发送失败状态false
                             hrPayslipEmail.setSendingStatus(false);
                             hrPayslipEmail.setFailureReason(sendException.getMessage());
@@ -149,7 +149,7 @@ public class HrPayslipEmailServiceImpl extends ServiceImpl<HrPayslipEmailMapper,
                         hrPayslipEmailMapper.insert(hrPayslipEmail);
                     }
                 }catch (Exception e) {
-                    log.error("薪资邮件发送失败:" + e.getMessage());
+                    log.error("薪资邮件发送失败:", e);
                 }
                 return null;
             }