Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

周箭河 4 lat temu
rodzic
commit
efe8df7522

+ 3 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRepairServiceImpl.java

@@ -704,7 +704,7 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
             saveSellOrder(studentPaymentOrder.getOrderNo());
         } else if (studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED) {
             if (studentPaymentOrder.getBalancePaymentAmount() != null && studentPaymentOrder.getBalancePaymentAmount().compareTo(BigDecimal.ZERO) > 0) {
-                sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "乐器维修支付失败");
+                sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "乐器购买支付失败");
             }
         }
     }
@@ -772,15 +772,14 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
                 //如果是最后一件商品
                 if(i == goodsId.size() - 1){
                     goodsSellDto.setTotalGoodsPrice(goodsSellDto.getTotalGoodsPrice().subtract(usableMarketAmount));
-                    totalAmount = totalAmount.subtract(usableMarketAmount);
                 }else {
                     //获取分配的减免金额
-                    BigDecimal multiply = usableMarketAmount.multiply(goodsSellDto.getTotalGoodsPrice().divide(totalAmount, 2, BigDecimal.ROUND_HALF_UP));
-                    totalAmount = totalAmount.subtract(multiply);
+                    BigDecimal multiply = marketAmount.multiply(goodsSellDto.getTotalGoodsPrice().divide(totalAmount, 2, BigDecimal.ROUND_HALF_UP));
                     goodsSellDto.setTotalGoodsPrice(goodsSellDto.getTotalGoodsPrice().subtract(multiply));
                     usableMarketAmount = usableMarketAmount.subtract(multiply);
                 }
             }
+            totalAmount = totalAmount.subtract(marketAmount);
 
             sellOrder.setExpectAmount(goodsSellDto.getTotalGoodsPrice());
             //如果没有使用余额,那么实际金额和预计金额一致

+ 10 - 12
mec-biz/src/main/resources/config/mybatis/StudentRepairMapper.xml

@@ -273,13 +273,12 @@
         LEFT JOIN student_registration sr ON mg.id_ = sr.music_group_id_
         WHERE mg.status_ != 'CANCELED' AND sr.music_group_status_ != 'QUIT' AND mg.educational_teacher_id_ = #{teacherId}
         UNION
-        SELECT cssp.user_id_ FROM vip_group vg
-        LEFT JOIN course_schedule_student_payment cssp ON vg.id_ = cssp.music_group_id_
-        WHERE cssp.group_type_ = 'VIP' AND vg.educational_teacher_id_ = #{teacherId}
+        SELECT cgsm.user_id_ FROM vip_group vg
+        LEFT JOIN class_group_student_mapper cgsm ON vg.id_ = cgsm.music_group_id_
+        WHERE cgsm.group_type_ = 'VIP' AND vg.educational_teacher_id_ = #{teacherId} AND cgsm.status_ != 'QUIT'
         UNION
-        SELECT cssp.user_id_ FROM practice_group pg
-        LEFT JOIN course_schedule_student_payment cssp ON pg.id_ = cssp.music_group_id_
-        WHERE cssp.group_type_ = 'PRACTICE' AND pg.educational_teacher_id_ = #{teacherId}) sid
+        SELECT pg.student_id_ user_id_ FROM practice_group pg
+        WHERE pg.user_id_ = #{teacherId}) sid
         LEFT JOIN sys_user su ON su.id_ = sid.user_id_
         <if test="search != null and search != ''">
             WHERE su.id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%')
@@ -291,13 +290,12 @@
         LEFT JOIN student_registration sr ON mg.id_ = sr.music_group_id_
         WHERE mg.status_ != 'CANCELED' AND sr.music_group_status_ != 'QUIT' AND mg.educational_teacher_id_ = #{teacherId}
         UNION
-        SELECT cssp.user_id_ FROM vip_group vg
-        LEFT JOIN course_schedule_student_payment cssp ON vg.id_ = cssp.music_group_id_
-        WHERE cssp.group_type_ = 'VIP' AND vg.educational_teacher_id_ = #{teacherId}
+        SELECT cgsm.user_id_ FROM vip_group vg
+        LEFT JOIN class_group_student_mapper cgsm ON vg.id_ = cgsm.music_group_id_
+        WHERE cgsm.group_type_ = 'VIP' AND vg.educational_teacher_id_ = #{teacherId} AND cgsm.status_ != 'QUIT'
         UNION
-        SELECT cssp.user_id_ FROM practice_group pg
-        LEFT JOIN course_schedule_student_payment cssp ON pg.id_ = cssp.music_group_id_
-        WHERE cssp.group_type_ = 'PRACTICE' AND pg.educational_teacher_id_ = #{teacherId}) sid
+        SELECT pg.student_id_ user_id_ FROM practice_group pg
+        WHERE pg.user_id_ = #{teacherId}) sid
         LEFT JOIN sys_user su ON su.id_ = sid.user_id_
         <if test="search != null and search != ''">
             WHERE su.id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%')