瀏覽代碼

优惠券支付

zouxuan 3 年之前
父節點
當前提交
e4f9b7cf25

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java

@@ -449,4 +449,11 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
                                             @Param("activeRemark") Integer activeRemark,
                                             @Param("remark") String remark, @Param("status") String status);
 
+    /**
+     * 获取购买了乐器的报名订单
+     * @param musicGroupId
+     * @param studentId
+     * @return
+     */
+    Integer getOrderIdByMusical(@Param("musicGroupId") String musicGroupId, @Param("studentId") Integer studentId);
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -20,6 +20,7 @@ import com.ym.mec.biz.dal.page.SporadicOrderQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
+import org.apache.ibatis.annotations.Param;
 
 public interface StudentPaymentOrderService extends BaseService<Long, StudentPaymentOrder> {
 
@@ -191,4 +192,11 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
     
     PayStatus queryPayStatus(String paymentChannel, String orderNo, String transNo) throws Exception;
 
+    /**
+     * 获取购买了乐器的报名订单
+     * @param musicGroupId
+     * @param studentId
+     * @return
+     */
+    Integer getOrderIdByMusical(@Param("musicGroupId") String musicGroupId, @Param("studentId") Integer studentId);
 }

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentInstrumentServiceImpl.java

@@ -121,7 +121,6 @@ public class StudentInstrumentServiceImpl extends BaseServiceImpl<Long, StudentI
         studentPaymentOrder.setGroupType(GroupType.MAINTENANCE);
         studentPaymentOrder.setOrderNo(orderNo);
         studentPaymentOrder.setType(OrderTypeEnum.MAINTENANCE);
-        studentPaymentOrder.setExpectAmount(orderAmount);
         studentPaymentOrder.setBalancePaymentAmount(balance);
         studentPaymentOrder.setStatus(DealStatusEnum.ING);
         studentPaymentOrder.setMusicGroupId(studentInstrument.getId().toString());
@@ -376,7 +375,11 @@ public class StudentInstrumentServiceImpl extends BaseServiceImpl<Long, StudentI
         StudentInstrument studentInstrument = null;
     	
 		if (subjectChange.getOriginalOrderId() != null) {
-			studentInstrument = studentInstrumentDao.getByOrderId(subjectChange.getOriginalOrderId().longValue());
+		    //获取购买了乐器的报名订单
+            Integer orderId = studentPaymentOrderService.getOrderIdByMusical(subjectChange.getMusicGroupId(),subjectChange.getStudentId());
+            if(orderId != null){
+                studentInstrument = studentInstrumentDao.getByOrderId(orderId.longValue());
+            }
 		}
         
 		if (subjectChange == null || subjectChange.getChangeMusical() == null ||

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -707,4 +707,9 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
 		}
 		throw new BizException("支付渠道错误");
 	}
+
+    @Override
+    public Integer getOrderIdByMusical(String musicGroupId, Integer studentId) {
+        return studentPaymentOrderDao.getOrderIdByMusical(musicGroupId,studentId);
+    }
 }

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -1006,4 +1006,10 @@
         </if>
         LIMIT 1
     </select>
+    <select id="getOrderIdByMusical" resultType="java.lang.Integer">
+        SELECT DISTINCT spo.id_ FROM student_payment_order spo
+        LEFT JOIN student_payment_order_detail spod ON spo.id_ = spod.payment_order_id_
+        WHERE spo.type_ = 'APPLY' AND spo.status_ = 'SUCCESS' AND spo.music_group_id_ = #{musicGroupId}
+        AND spo.user_id_ = #{studentId} AND spod.type_ = 'MUSICAL'
+    </select>
 </mapper>