Przeglądaj źródła

fix 免登录推广

zoujiajian 9 miesięcy temu
rodzic
commit
f8459e2ed9

+ 6 - 2
netflix-service/src/main/java/com/cyksj/service/claude/impl/ClaudeCodeServiceImpl.java

@@ -9,6 +9,7 @@ import cn.hutool.http.HttpResponse;
 import cn.hutool.http.HttpUtil;
 import cn.hutool.http.Method;
 import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
@@ -1213,11 +1214,14 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 	 */
 	public BigDecimal getDeductMoneyFromTicket(Long relationId, List<Long> userIdList, Long skuId, DateTime now, Date relationStartTime, Date relationExpiryTime) {
 		OrderDon oriOrderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getRelationId, relationId).in(OrderDon::getUserId, userIdList).notIn(OrderDon::getStatus, Constant.noOrderAllStatus).eq(OrderDon::getOrderType, 1).orderByDesc(OrderDon::getId).last("limit 1"));
-		List<OrderDon> orderDonList = orderDonMapper.selectList(Wrappers.lambdaQuery(OrderDon.class)
+		LambdaQueryWrapper<OrderDon> queryWrapper = Wrappers.lambdaQuery(OrderDon.class);
+		if (oriOrderDon != null) {
+			queryWrapper.ge(OrderDon::getCreatedTime, oriOrderDon.getCreatedTime());
+		}
+		List<OrderDon> orderDonList = orderDonMapper.selectList(queryWrapper
 				.eq(OrderDon::getRelationId, relationId)
 				.in(OrderDon::getUserId, userIdList)
 				.eq(OrderDon::getSkuId, skuId)
-				.ge(oriOrderDon != null, OrderDon::getCreatedTime, oriOrderDon.getCreatedTime())
 				.notIn(OrderDon::getStatus, Constant.noOrderAllStatus)
 				.orderByDesc(OrderDon::getId));
 		//部分退款

+ 6 - 2
netflix-service/src/main/java/com/cyksj/service/codex/impl/CodexServiceImpl.java

@@ -9,6 +9,7 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.HttpResponse;
 import cn.hutool.http.HttpUtil;
 import cn.hutool.http.Method;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
@@ -868,11 +869,14 @@ public class CodexServiceImpl implements CodexService {
 	 */
 	public BigDecimal getDeductMoneyFromTicket(Long relationId, List<Long> userIdList, Long skuId, DateTime now, Date relationStartTime, Date relationExpiryTime) {
 		OrderDon oriOrderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getRelationId, relationId).in(OrderDon::getUserId, userIdList).notIn(OrderDon::getStatus, Constant.noOrderAllStatus).eq(OrderDon::getOrderType, 1).orderByDesc(OrderDon::getId).last("limit 1"));
-		List<OrderDon> orderDonList = orderDonMapper.selectList(Wrappers.lambdaQuery(OrderDon.class)
+		LambdaQueryWrapper<OrderDon> queryWrapper = Wrappers.lambdaQuery(OrderDon.class);
+		if (oriOrderDon != null) {
+			queryWrapper.ge(OrderDon::getCreatedTime, oriOrderDon.getCreatedTime());
+		}
+		List<OrderDon> orderDonList = orderDonMapper.selectList(queryWrapper
 				.eq(OrderDon::getRelationId, relationId)
 				.in(OrderDon::getUserId, userIdList)
 				.eq(OrderDon::getSkuId, skuId)
-				.ge(oriOrderDon != null, OrderDon::getCreatedTime, oriOrderDon.getCreatedTime())
 				.notIn(OrderDon::getStatus, Constant.noOrderAllStatus)
 				.orderByDesc(OrderDon::getId));
 		//部分退款

+ 28 - 22
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -485,18 +485,20 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				throw new BusinessRuntimeException("您有未支付订单.");
 			}
 		}
-		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
-		//claude code限购
-		if (goodsId == Constant.CLAUDE_CODE_GOODS_ID) {
-			//是否拥有这张车票
-			Integer selectCount = groupsRelationMapper.selectCountByGoodsId(userIdList, Constant.CLAUDE_CODE_GOODS_ID, DateTime.now());
-			if (selectCount > 0) {
-				throw BusinessRuntimeException.getInstance("claude code车票限购一次");
-			}
-			//购买cc体验卡 仅可体检一次
-			if (sku != null && ObjectUtil.equal(sku.getId(), Constant.DISTRIBUTE_CLAUDE_CODE_TRIAL_SKU_ID)) {
-				checkCCTrialCardNum(userIdList);
-			}
+		List<Long> userIdList = null;
+		if (goodsId == Constant.CLAUDE_CODE_GOODS_ID || goodsId == Constant.CODEX_GOODS_ID) {
+			userIdList = userBindRelationService.getRelationUserIdList(userId, null);
+			//claude code限购
+			if (goodsId == Constant.CLAUDE_CODE_GOODS_ID) {
+				//是否拥有这张车票
+				Integer selectCount = groupsRelationMapper.selectCountByGoodsId(userIdList, Constant.CLAUDE_CODE_GOODS_ID, DateTime.now());
+				if (selectCount > 0) {
+					throw BusinessRuntimeException.getInstance("claude code车票限购一次");
+				}
+				//购买cc体验卡 仅可体检一次
+				if (sku != null && ObjectUtil.equal(sku.getId(), Constant.DISTRIBUTE_CLAUDE_CODE_TRIAL_SKU_ID)) {
+					checkCCTrialCardNum(userIdList);
+				}
 //			//是否是赠送codex sku
 //			if (sku.getIsCodex()) {
 //				//是否存在codex
@@ -505,17 +507,18 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 //					throw BusinessRuntimeException.getInstance("您已购买了codex套餐,如需claude可用codex抵扣升级,不可重复购买");
 //				}
 //			}
-		}
-		//codex 限购
-		if (goodsId == Constant.CODEX_GOODS_ID) {
-			Integer selectCount = groupsRelationMapper.selectCountByGoodsId(userIdList, Constant.CODEX_GOODS_ID, DateTime.now());
-			if (selectCount > 0) {
-				throw BusinessRuntimeException.getInstance("codex车票限购一次");
 			}
-			//是否拥有cc赠送codex
-			CodexUser codexUser = codexUserMapper.selectOne(Wrappers.lambdaQuery(CodexUser.class).in(CodexUser::getUserId, userIdList).last("limit 1"));
-			if (codexUser != null) {
-				throw BusinessRuntimeException.getInstance("codex车票限购一次");
+			//codex 限购
+			if (goodsId == Constant.CODEX_GOODS_ID) {
+				Integer selectCount = groupsRelationMapper.selectCountByGoodsId(userIdList, Constant.CODEX_GOODS_ID, DateTime.now());
+				if (selectCount > 0) {
+					throw BusinessRuntimeException.getInstance("codex车票限购一次");
+				}
+				//是否拥有cc赠送codex
+				CodexUser codexUser = codexUserMapper.selectOne(Wrappers.lambdaQuery(CodexUser.class).in(CodexUser::getUserId, userIdList).last("limit 1"));
+				if (codexUser != null) {
+					throw BusinessRuntimeException.getInstance("codex车票限购一次");
+				}
 			}
 		}
 
@@ -617,6 +620,9 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 
 		//租赁商品
 		if (goodsDon.getType() == 4) {
+			if (userIdList == null) {
+				throw BusinessRuntimeException.getGatewayApiCode(GatewayApiCode.CMS_TOKEN_VALID);
+			}
 			//是否已实名认证过
 			Integer count = userCertRecordMapper.selectCount(Wrappers.lambdaQuery(UserCertRecord.class).in(UserCertRecord::getUserId, userIdList));
 			if (count == 0) throw BusinessRuntimeException.getInstance("请您先完成实名认证..");

+ 6 - 2
netflix-service/src/main/java/com/cyksj/service/vip/impl/VipFrontServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
@@ -360,11 +361,14 @@ public class VipFrontServiceImpl implements VipFrontService {
 	 */
 	public BigDecimal getDeductMoneyFromTicket(Long relationId, List<Long> userIdList, Long skuId, DateTime now, Date relationStartTime, Date relationExpiryTime) {
 		OrderDon oriOrderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getRelationId, relationId).in(OrderDon::getUserId, userIdList).notIn(OrderDon::getStatus, Constant.noOrderAllStatus).eq(OrderDon::getOrderType, 1).orderByDesc(OrderDon::getId).last("limit 1"));
-		List<OrderDon> orderDonList = orderDonMapper.selectList(Wrappers.lambdaQuery(OrderDon.class)
+		LambdaQueryWrapper<OrderDon> queryWrapper = Wrappers.lambdaQuery(OrderDon.class);
+		if (oriOrderDon != null) {
+			queryWrapper.ge(OrderDon::getCreatedTime, oriOrderDon.getCreatedTime());
+		}
+		List<OrderDon> orderDonList = orderDonMapper.selectList(queryWrapper
 				.eq(OrderDon::getRelationId, relationId)
 				.in(OrderDon::getUserId, userIdList)
 				.eq(OrderDon::getSkuId, skuId)
-				.ge(oriOrderDon != null, OrderDon::getCreatedTime, oriOrderDon.getCreatedTime())
 				.notIn(OrderDon::getStatus, Constant.noOrderAllStatus)
 				.orderByDesc(OrderDon::getId));
 		//部分退款