qitz пре 2 година
родитељ
комит
48da135874

+ 10
- 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java Прегледај датотеку

46
         return paymentService.confirmPay(payDTO);
46
         return paymentService.confirmPay(payDTO);
47
     }
47
     }
48
 
48
 
49
+    /**
50
+     * 批量缴费
51
+     * @param payDTO 缴费传入参数
52
+     * @return 统一响应结果
53
+     */
54
+    @PostMapping("/confirmPayBatch")
55
+    public AjaxResult confirmPayBatch(@Validated @RequestBody CasePayDTO payDTO) {
56
+        return paymentService.confirmPayBatch(payDTO);
57
+    }
58
+
49
     /**
59
     /**
50
      * 缴费确认
60
      * 缴费确认
51
      * @param batchCaseApplication
61
      * @param batchCaseApplication

+ 1
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CaseConfirmPayDTO.java Прегледај датотеку

25
      * 缴费凭证
25
      * 缴费凭证
26
      */
26
      */
27
     private List<CaseAttach> payOrderList;
27
     private List<CaseAttach> payOrderList;
28
+
28
 }
29
 }

+ 4
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CasePayDTO.java Прегледај датотеку

35
      * 缴费凭证
35
      * 缴费凭证
36
      */
36
      */
37
     private List<CaseAttach> payOrderList;
37
     private List<CaseAttach> payOrderList;
38
+    /**
39
+     * 批号
40
+     */
41
+    private String batchNumber;
38
 }
42
 }

+ 1
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java Прегледај датотеку

26
 
26
 
27
     AjaxResult casePayList(CasePayDTO casePayDTO);
27
     AjaxResult casePayList(CasePayDTO casePayDTO);
28
 
28
 
29
+    AjaxResult confirmPayBatch(CasePayDTO payDTO);
29
 }
30
 }

+ 54
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java Прегледај датотеку

20
 import com.ruoyi.dto.PayResponse;
20
 import com.ruoyi.dto.PayResponse;
21
 import com.ruoyi.wisdomarbitrate.domain.dto.CasePayDTO;
21
 import com.ruoyi.wisdomarbitrate.domain.dto.CasePayDTO;
22
 import com.ruoyi.wisdomarbitrate.service.ICasePaymentService;
22
 import com.ruoyi.wisdomarbitrate.service.ICasePaymentService;
23
+import org.springframework.beans.BeanUtils;
23
 import org.springframework.beans.factory.annotation.Autowired;
24
 import org.springframework.beans.factory.annotation.Autowired;
24
 import org.springframework.stereotype.Service;
25
 import org.springframework.stereotype.Service;
25
 import org.springframework.transaction.annotation.Transactional;
26
 import org.springframework.transaction.annotation.Transactional;
28
 import java.util.ArrayList;
29
 import java.util.ArrayList;
29
 import java.util.Date;
30
 import java.util.Date;
30
 import java.util.List;
31
 import java.util.List;
32
+import java.util.stream.Collectors;
31
 
33
 
32
 import static com.ruoyi.common.utils.SecurityUtils.getUsername;
34
 import static com.ruoyi.common.utils.SecurityUtils.getUsername;
33
 
35
 
268
         return AjaxResult.success(listVO);
270
         return AjaxResult.success(listVO);
269
     }
271
     }
270
 
272
 
273
+    @Override
274
+    @Transactional
275
+    public AjaxResult confirmPayBatch(CasePayDTO payDTO) {
276
+
277
+        String batchNumber = payDTO.getBatchNumber();
278
+        CaseApplication caseApplicationsel = new CaseApplication();
279
+        caseApplicationsel.setBatchNumber(Integer.parseInt(batchNumber));
280
+        caseApplicationsel.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT);
281
+        List<CaseApplication> caseApplications = caseApplicationMapper.listCaseApplicationByBatchNumber(caseApplicationsel);
282
+        List<Long> caseIds = caseApplications.stream().map(CaseApplication::getId).collect(Collectors.toList());
283
+        if(caseApplications!=null&&caseApplications.size()>0){
284
+            if (payDTO.getPayType() != null) {
285
+                payDTO.setCaseIds(caseIds);
286
+                // 修改支付方式
287
+                CaseConfirmPayDTO caseConfirmPayDTO = new CaseConfirmPayDTO();
288
+                BeanUtils.copyProperties(payDTO, caseConfirmPayDTO);
289
+                caseApplicationMapper.updatePayType(caseConfirmPayDTO);
290
+            }
291
+            for (Long caseId : caseIds) {
292
+                if (CollectionUtil.isNotEmpty(payDTO.getPayOrderList())) {
293
+                    for (CaseAttach caseAttach : payDTO.getPayOrderList()) {
294
+                        caseAttach.setCaseAppliId(caseId);
295
+                        caseAttachMapper.updateCaseAttach(caseAttach);
296
+                    }
297
+                }
298
+
299
+                // 修改节点状态
300
+                //根据案件id查询案件信息
301
+                CaseApplication caseApplication = new CaseApplication();
302
+                caseApplication.setId(caseId);
303
+                CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication);
304
+                caseApplication1.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT_CONFIRM);
305
+                //修改案件状态
306
+                int i = caseApplicationMapper.submitCaseApplication(caseApplication1);
307
+                if (i > 0) {
308
+                    // 修改支付状态
309
+                    CasePaymentRecord paymentRecord = new CasePaymentRecord();
310
+                    paymentRecord.setPayType(payDTO.getPayType());
311
+                    paymentRecord.setCaseId(caseId);
312
+                    paymentRecord.setPaymentStatus(1);
313
+                    casePaymentRecordMapper.saveRecord(paymentRecord);
314
+                    // 新增日志
315
+                    CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_PAYMENT_CONFIRM, "");
316
+                }
317
+
318
+            }
319
+
320
+        }
321
+
322
+        return AjaxResult.success("确认缴费成功");
323
+    }
324
+
271
 
325
 
272
 }
326
 }