wks 2 lat temu
rodzic
commit
4076d11b6b

+ 19 - 13
src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java

@@ -35,6 +35,7 @@ import com.ydtech.modules.order.dao.InsOrdersMapper;
 import com.ydtech.modules.order.entity.InsFeeOrder;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.protocol.service.PtlAgreementService;
+import com.ydtech.modules.protocol.utils.AssertionUtils;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNewDistribution;
 import com.ydtech.modules.protocols.service.InsFeeOrderNewDistributionService;
@@ -134,10 +135,10 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
     @Transactional
     public void feeAudit(String orderNo, String insOrderNo, boolean isAutoAudit, String auditStatus) {
 
-        RLock locked = redisson.getLock("feeAudit."+insOrderNo);
+        RLock locked = redisson.getLock("feeAudit." + insOrderNo);
         try {
             boolean isLock = locked.tryLock(60, 10, TimeUnit.SECONDS);
-            if(!isLock){
+            if (!isLock) {
                 throw new SystemException("当前业务繁忙,请稍后重试\n");
             }
             //添加费用审核表及轨迹信息
@@ -285,11 +286,11 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
 
                 }
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             throw new SystemException("当前业务繁忙,请稍后重试");
-        }finally {
+        } finally {
             //释放锁
-            if(locked.isHeldByCurrentThread()){
+            if (locked.isHeldByCurrentThread()) {
                 locked.unlock();
             }
         }
@@ -416,7 +417,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
     }
 
     private void saveUpdateAccount(String userId, BigDecimal amount, String orderNo) {
-        SysUserAccount  sysUserOldAccount = new SysUserAccount();
+        SysUserAccount sysUserOldAccount = new SysUserAccount();
         sysUserOldAccount.setUserId(userId);
         sysUserOldAccount.setPromotion(amount);
         sysUserOldAccount.setDocumentaryStatus("2");  // 收入
@@ -776,7 +777,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
     public InsFeeAudit saveInsFeeAuditAndHistory(String orderNo, String insOrderNo, boolean isAutoAudit, String auditstatus) {
         //查询费用审核表
         InsFeeAudit insFeeAudit = getOne(new LambdaQueryWrapper<InsFeeAudit>().eq(InsFeeAudit::getInsOrderNo, insOrderNo));
-        if(insFeeAudit != null && insFeeAudit.getAuditstatus().equals("1")){
+        if (insFeeAudit != null && insFeeAudit.getAuditstatus().equals("1")) {
             throw new SystemException("该订单费用已审核,请刷新页面");
         }
         String userId;
@@ -800,10 +801,14 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
             this.save(insFeeAudit);
         } else {
             //状态码为已审核且数据不为空,则更新审核状态
-            insFeeAudit.setAuditstatus(auditstatus);
+            insFeeAudit.setAuditstatus(FeeAuditAuditstatus.PASSED.getCode());
             insFeeAudit.setAudittime(LocalDateTime.now());
             insFeeAudit.setAudituser(userId);
-            this.update(insFeeAudit, new LambdaUpdateWrapper<InsFeeAudit>().eq(InsFeeAudit::getInsOrderNo, orderNo));
+            boolean update = this.update(insFeeAudit, new LambdaUpdateWrapper<InsFeeAudit>()
+                    .eq(InsFeeAudit::getAuditstatus, FeeAuditAuditstatus.UNREVICEWED.getCode())
+                    .eq(InsFeeAudit::getInsOrderNo, insOrderNo)
+            );
+            AssertionUtils.isSucceed(update, "审核状态异常");
         }
         //复制审核对象的属性
         BeanUtils.copyProperties(insFeeAudit, insFeeAuditHistory);
@@ -840,9 +845,9 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         } else {
             //状态码为已审核且数据不为空,则更新审核状态
             //如果审核状态为已审核则一直都是已审核
-            if(insFeeAudit.getAuditstatus().equals(FeeAuditAuditstatus.PASSED.getCode())) {
+            if (insFeeAudit.getAuditstatus().equals(FeeAuditAuditstatus.PASSED.getCode())) {
                 insFeeAudit.setAuditstatus(insFeeAudit.getAuditstatus());
-            }else{
+            } else {
                 insFeeAudit.setAuditstatus(auditstatus);
             }
             insFeeAudit.setAudituser(BaseController.getUser().getName());
@@ -870,12 +875,13 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
 
     /**
      * 获取费用审核 根据子订单id
+     *
      * @return
      */
     @Override
     public InsFeeAudit getFeeAuditByInsOrderNo(String insOrderNo) {
-        LambdaQueryWrapper<InsFeeAudit>  queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(InsFeeAudit::getInsOrderNo,insOrderNo);
+        LambdaQueryWrapper<InsFeeAudit> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(InsFeeAudit::getInsOrderNo, insOrderNo);
         return this.getOne(queryWrapper);
     }