zoujiajian há 1 ano atrás
pai
commit
4fcb0ddfd6

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/mapper/fission/UserMirrorFissionRecordMapper.java

@@ -14,4 +14,7 @@ public interface UserMirrorFissionRecordMapper extends BaseMapper<UserMirrorFiss
 
 	@Update("update user_mirror_fission_record set remain_num = remain_num - 1 where id = #{fissionId} and remain_num > 0")
 	Integer updateFissionRemainNum(Long fissionId);
+
+	@Update("update user_mirror_fission_record set remain_num = remain_num + 1 where id = #{fissionId}")
+	void incrFissionRemainNum(Long fissionId);
 }

+ 7 - 6
netflix-service/src/main/java/com/cyksj/service/fission/impl/UserMirrorFissionFrontServiceImpl.java

@@ -99,12 +99,6 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
 		if (sku == null) {
 			throw BusinessRuntimeException.getInstance("试用车票异常,请联系客服..");
 		}
-		Integer update = userMirrorFissionRecordMapper.updateFissionRemainNum(fissionId);
-		if (update == 0) {
-			resp.setStatus(UserMirrorFissionReceiveResp.Status.completed);
-//			throw BusinessRuntimeException.getInstance("很抱歉,您来晚了,体验卡已被领完");
-			return resp;
-		}
 		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
 		Integer selectCount = userMirrorFissionReceiveRecordMapper.selectCount(Wrappers.lambdaQuery(UserMirrorFissionReceiveRecord.class)
 				.in(UserMirrorFissionReceiveRecord::getUserId, userIdList)
@@ -114,6 +108,12 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
 //			throw BusinessRuntimeException.getInstance("您已领取该试用车票");
 			return resp;
 		}
+		Integer update = userMirrorFissionRecordMapper.updateFissionRemainNum(fissionId);
+		if (update == 0) {
+			resp.setStatus(UserMirrorFissionReceiveResp.Status.completed);
+//			throw BusinessRuntimeException.getInstance("很抱歉,您来晚了,体验卡已被领完");
+			return resp;
+		}
 		Long relationId = null;
 		try {
 			UserMirrorFissionReceiveRecord receiveRecord = new UserMirrorFissionReceiveRecord();
@@ -135,6 +135,7 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
 					groupRelationClearService.clearTicket(relation, UserTicketClearedRecord.Source.manual);
 				}
 			}
+			userMirrorFissionRecordMapper.incrFissionRemainNum(fissionId);
 //			throw BusinessRuntimeException.getInstance("您已领取该试用车票");
 		}
 		return resp;