Browse Source

Merge branch 'fix/1217' into test

刘俊驰 4 months ago
parent
commit
bda0685b99

+ 14 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java

@@ -414,26 +414,28 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
                     .list();
             Map<Long, List<CourseScheduleStudentPayment>> map = list.stream().collect(Collectors.groupingBy(CourseScheduleStudentPayment::getCourseGroupId));
             //获取所有用户编号
-
             List<Long> userIds = list.stream().map(CourseScheduleStudentPayment::getUserId).distinct().collect(Collectors.toList());
             Map<Long, com.yonge.cooleshow.biz.dal.entity.SysUser> userMap = sysUserService.getMapByIds(userIds);
             for (CourseGroupWrapper.TeacherCourseGroupDto e : records) {
                 e.setSubjectName(subjectMap.get(e.getSubjectId()));
                 if(StringUtils.equals(query.getCourseType(),"PIANO_ROOM_CLASS")){
                     List<CourseScheduleStudentPayment> studentPayments = map.get(e.getCourseGroupId());
-                    e.setStudentNum(studentPayments.size());
-                    StringBuffer studentName = new StringBuffer();
-                    for (int i = 0; i < studentPayments.size(); i++) {
-                        if(studentName.length() > 0){
-                            studentName.append(",");
-                        }
-                        studentName.append(userMap.get(studentPayments.get(i).getUserId()).getUsername());
-                        if (i > 0) {
-                            studentName.append("等").append(userIds.size()).append("人");
-                            break;
+                    if(CollectionUtils.isNotEmpty(studentPayments)){
+                        List<Long> studentIds = studentPayments.stream().map(CourseScheduleStudentPayment::getUserId).distinct().collect(Collectors.toList());
+                        e.setStudentNum(studentIds.size());
+                        StringBuffer studentName = new StringBuffer();
+                        for (int i = 0; i < studentIds.size(); i++) {
+                            if(studentName.length() > 0){
+                                studentName.append(",");
+                            }
+                            studentName.append(userMap.get(studentIds.get(i)).getUsername());
+                            if (i > 0) {
+                                studentName.append("等").append(studentIds.size()).append("人");
+                                break;
+                            }
                         }
+                        e.setStudentName(studentName.toString());
                     }
-                    e.setStudentName(studentName.toString());
                 }else {
                     CourseScheduleStudentPayment studentPayment = map.get(e.getCourseGroupId()).get(0);
                     com.yonge.cooleshow.biz.dal.entity.SysUser sysUser = userMap.get(studentPayment.getUserId());

+ 14 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserPaymentCoreServiceImpl.java

@@ -293,6 +293,14 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
 
                 // 支付成功
                 if (PaymentStatus.SUCCESSED == paymentResp.getPaymentStatus()) {
+
+                    // 三方支付费用
+
+                    // 更新交易时间和服务费用
+                    paymentOrder.payTime(Optional.ofNullable(paymentResp.getTriggerTime()).orElse(paymentOrder.getPayTime()))
+                            .paymentChannelFee(paymentResp.getServiceCharge())
+                            .setTransNo(paymentResp.getTransNo());
+                    userPaymentOrderService.updateById(paymentOrder);
                     // 根据支付回调消息,更新订单状态
                     refundOnly("订单已超时,金额原路退回", paymentOrder.getOrderNo());
                 }
@@ -1162,6 +1170,7 @@ DISCOUNT("畅学卡")
                 .merOrderNo(reqConfig.getMerOrderNo())
                 .code(reqConfig.getCode());
 
+            config.setPaymentVendor(userPaymentOrder.getPaymentVendor());
             config.setIp(reqConfig.getIp());
             // 重新格式化设置价格
             config.setPrice(config.getPrice().setScale(2, RoundingMode.HALF_UP));
@@ -1239,7 +1248,7 @@ DISCOUNT("畅学卡")
 
             // 下单未拉起三方支付,直接关闭
             if (StringUtils.isEmpty(paymentOrder.getTransNo())
-                    && (EPaymentStatus.WAIT_PAY == paymentOrder.getStatus()||EPaymentStatus.PAYING == paymentOrder.getStatus())) {
+                    && (EPaymentStatus.WAIT_PAY == paymentOrder.getStatus())) {
 
                 closeWaitOrder(paymentOrder);
 
@@ -1659,8 +1668,11 @@ DISCOUNT("畅学卡")
         if (Objects.isNull(detail)) {
             throw new BizException("订单信息不存在");
         }
+        List<UserOrderDetailVo> collect = detail.getOrderDetailList();
+        if (orderDetailIds != null) {
+            collect = detail.getOrderDetailList().stream().filter(o -> orderDetailIds.contains(o.getId())).collect(Collectors.toList());
+        }
 
-        List<UserOrderDetailVo> collect = detail.getOrderDetailList().stream().filter(o -> orderDetailIds.contains(o.getId())).collect(Collectors.toList());
         BigDecimal reduce = collect.stream().map(o -> o.getActualPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
         // 提交退款申请记录
         UserOrderRefund userRefundOrder = new UserOrderRefund();