zoujiajian 3 gadi atpakaļ
vecāks
revīzija
d8a8624b45

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/mapper/GroupsRelationMapper.java

@@ -16,4 +16,6 @@ public interface GroupsRelationMapper extends BaseMapper<GroupsRelation> {
     List<Long> getAccountIdsByUserIdOrNickNameOrSubmitAccount(@Param("userId") Long userId, @Param("nickName") String nickName, @Param("submitAccount") String submitAccount);
 
     Integer updateExpiryTime(@Param("entity") GroupsRelation relation, @Param("expireTime") Date expireTime);
+
+	Long getGroupTripsSkuIdByRelationId(Long relationId);
 }

+ 4 - 0
netflix-dao/src/main/resources/mapper/GroupRelationMapper.xml

@@ -30,4 +30,8 @@
         </if>
         group by gr.groups_id
     </select>
+
+    <select id="getGroupTripsSkuIdByRelationId" resultType="java.lang.Long">
+        select gt.sku_id from `groups_trips` gt left join `groups_relation` gr on gr.groups_id = gt.id where gr.id = #{relationId} limit 1
+    </select>
 </mapper>

+ 11 - 0
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -218,6 +218,9 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		OrderDon orderDon = new OrderDon();
 		orderDon.setOrderNo(donNo);
 		orderDon.setOpenId(payOpenId);
+		if (sku.getPrice() != null && payRequest.getDonMoney().compareTo(sku.getPrice()) < 0) {
+			throw BusinessRuntimeException.getInstance("车位所付金额错误");
+		}
 		orderDon.setMoney(payRequest.getDonMoney());
 		orderDon.setRealMoney(payRequest.getDonMoney());
 		//存在优惠券
@@ -244,6 +247,10 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		orderDon.setStatus(OrderDon.Status.noPayment);
 		orderDon.setUserId(user.getId());
 		orderDon.setType(OrderDon.Type.getType(payRequest.getType()));
+		Long gtSkuId = groupsRelationMapper.getGroupTripsSkuIdByRelationId(relationId);
+		if (!gtSkuId.equals(orderDon.getSkuId())) {
+			throw BusinessRuntimeException.getInstance("车位与车队规格不一致");
+		}
 		this.saveOrUpdate(orderDon);
 
 		if (goodsDon.getType() == 2) {
@@ -530,6 +537,10 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			orderDon.setCouponMoney(couponMoney);
 			orderDon.setCouponUserId(couponUser.getId());
 		}
+		Long gtSkuId = groupsRelationMapper.getGroupTripsSkuIdByRelationId(relationId);
+		if (!gtSkuId.equals(orderDon.getSkuId())) {
+			throw BusinessRuntimeException.getInstance("车位与车队规格不一致");
+		}
 		this.saveOrUpdate(orderDon);
 
 		jobManager.addJob(EXPIRY_TIME, () -> {