From b716afd262ff60ff1db0b1e7c95800e7ad2b7202 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 07 七月 2025 11:07:37 +0800
Subject: [PATCH] 支付版本更新 根据资金流向使用V2或V3服务商版本支付

---
 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PayHuiminServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 46 insertions(+), 14 deletions(-)

diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PayHuiminServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PayHuiminServiceImpl.java
index 1befab5..d3e15ac 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PayHuiminServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PayHuiminServiceImpl.java
@@ -19,8 +19,10 @@
 import com.dsh.activity.util.DateUtil;
 import com.dsh.activity.util.PayMoneyUtil;
 import com.dsh.activity.util.ResultUtil;
+import com.sun.org.apache.bcel.internal.generic.NEW;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -53,22 +55,43 @@
                     .eq(THuiminRecord::getPayId, record.getId()));
             record.setUseTimes(list.size());
         }
-        if (CollUtil.isNotEmpty(records)){
-            List<Integer> appUserIdList = records.stream().map(SalesDetailVO::getAppUserId).collect(Collectors.toList());
-            List<AppUser> appUserList = appUserClient.queryAppUserBatch(appUserIdList);
-            Map<Integer, AppUser> appUserMap = appUserList.stream().collect(Collectors.toMap(AppUser::getId, appUser -> appUser));
-            records.forEach(item->{
-                AppUser appUser = appUserMap.get(item.getAppUserId());
-                if (Objects.nonNull(appUser)){
-                    item.setUserName(appUser.getName());
-                    item.setPhone(appUser.getPhone());
+        for (SalesDetailVO record : records) {
+            AppUser appUser = appUserClient.queryAppUser(record.getAppUserId());
+            if (Objects.nonNull(appUser)){
+                record.setUserName(appUser.getName());
+                record.setPhone(appUser.getPhone());
+            }
+            StringBuilder stringBuilder = new StringBuilder();
+            String[] split = record.getStudentId().split(",");
+            for (String s : split) {
+                String replace = s.replace(" ", "");
+                List<TStudent> studentById = studentClient.getStudentByIds(replace);
+                if (!studentById.isEmpty()){
+                    stringBuilder.append(studentById.get(0).getName()+",");
                 }
-                List<TStudent> studentList = studentClient.getStudentByIds(item.getStudentId());
-                if (CollUtil.isNotEmpty(studentList)){
-                    item.setStudentName(studentList.stream().map(TStudent::getName).collect(Collectors.joining(",")));
-                }
-            });
+            }
+            String string = stringBuilder.toString();
+            if (StringUtils.hasLength(string)) {
+                String stringWithoutLastCharacter = string.substring(0, string.length() - 1);
+                record.setStudentName(stringWithoutLastCharacter);
+            }
         }
+//        if (CollUtil.isNotEmpty(records)){
+//            List<Integer> appUserIdList = records.stream().map(SalesDetailVO::getAppUserId).collect(Collectors.toList());
+//            List<AppUser> appUserList = appUserClient.queryAppUserBatch(appUserIdList);
+//            Map<Integer, AppUser> appUserMap = appUserList.stream().collect(Collectors.toMap(AppUser::getId, appUser -> appUser));
+//            records.forEach(item->{
+//                AppUser appUser = appUserMap.get(item.getAppUserId());
+//                if (Objects.nonNull(appUser)){
+//                    item.setUserName(appUser.getName());
+//                    item.setPhone(appUser.getPhone());
+//                }
+//                List<TStudent> studentList = studentClient.getStudentByIds(item.getStudentId());
+//                if (CollUtil.isNotEmpty(studentList)){
+//                    item.setStudentName(studentList.stream().map(TStudent::getName).collect(Collectors.joining(",")));
+//                }
+//            });
+//        }
         return salesDetailVOPage;
     }
 
@@ -81,6 +104,15 @@
     public ResultUtil<?> refund(Integer id) throws AlipayApiException {
         TPayHuimin payHuimin = this.getById(id);
         if (Objects.nonNull(payHuimin)) {
+            // 后台录入订单直接修改为已退款
+            if (payHuimin.getPaymentType()==3){
+                payHuimin.setStatus(3);
+                payHuimin.setRefundStatus(3);
+                payHuimin.setRefundNumber(payHuimin.getCode());
+                payHuimin.setRefundTime(new Date());
+                this.updateById(payHuimin);
+                return ResultUtil.success();
+            }
             Integer count = huiminRecordService.lambdaQuery()
                     .eq(THuiminRecord::getPayId, payHuimin.getId())
                     .count();

--
Gitblit v1.7.1