Ver código fonte

GPT镜像天卡

zoujiajian 1 ano atrás
pai
commit
4a5b06d324

+ 6 - 1
netflix-common/src/main/java/com/cyksj/common/constant/Constant.java

@@ -345,7 +345,12 @@ public interface Constant {
 	String EP_INTENTION_GROUP_NAME= "设备群发标签";
 
 	/**
-	 * 大学生快递站 体验车票规格
+	 * gpt日卡活动 体验车票基础规格
+	 */
+	Long GPT_MIRROR_COMMON_SKU_ID = 426l;
+
+	/**
+	 * 大学生快递站 体验车票标准规格
 	 */
 	Long GPT_MIRROR_SKU_ID = 429l;
 

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/GptMirrorDayCardActivityRecordMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.GptMirrorDayCardActivityRecord;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: GptMirrorDayCardActivityRecordMapper
+ * 创建者: JavaZou
+ * 创建时间:2025/3/14 11:51
+ */
+public interface GptMirrorDayCardActivityRecordMapper extends BaseMapper<GptMirrorDayCardActivityRecord> {
+}

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/GptMirrorDayCardGiveawayActivityMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.GptMirrorDayCardGiveawayActivity;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: GptMirrorDayCardGiveawayActivityMapper
+ * 创建者: JavaZou
+ * 创建时间:2025/3/5 15:33
+ */
+public interface GptMirrorDayCardGiveawayActivityMapper extends BaseMapper<GptMirrorDayCardGiveawayActivity> {
+}

+ 27 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GptMirrorDayCardActivityRecord.java

@@ -0,0 +1,27 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: GptMIrrorDayCardActivityRecord
+ * 创建者: JavaZou
+ * 创建时间:2025/3/14 11:49
+ */
+@Getter
+@Setter
+public class GptMirrorDayCardActivityRecord extends BaseEntity{
+	/**
+	 * 参与订单id
+	 */
+	private Long orderId;
+
+	private Long userId;
+
+	/**
+	 * 赠送车票id
+	 */
+	private Long relationId;
+
+}

+ 19 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GptMirrorDayCardGiveawayActivity.java

@@ -0,0 +1,19 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: GptMirrorDayCardGiveawayActivity
+ * 创建者: JavaZou
+ * 创建时间:2025/3/5 15:32
+ */
+@Getter
+@Setter
+public class GptMirrorDayCardGiveawayActivity extends BaseEntity{
+	/**
+	 * 下单平台ids
+	 */
+	private String buyGoodsIds;
+}

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

@@ -364,6 +364,10 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 
 	private final SpotifyUserUpgradeOrderMapper spotifyUserUpgradeOrderMapper;
 
+	private final GptMirrorDayCardGiveawayActivityMapper gptMirrorDayCardGiveawayActivityMapper;
+
+	private final GptMirrorDayCardActivityRecordMapper gptMirrorDayCardActivityRecordMapper;
+
 	private final List<String> noChekGoodsTemp = List.of("Apple One", "Youtube", "Spotify");
 
 	@Transactional(rollbackFor = Throwable.class)
@@ -2944,6 +2948,13 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				}
 			}
 		}
+
+		//GPT镜像天卡参与平台 赠送GPT天卡
+		try {
+			sendGptMirrorDayTicket(orderDon);
+		} catch (Exception e) {
+			log.error("赠送用户:{} gpt天卡错误:{}", orderDon.getUserId(), StringUtil.getErrorText(e));
+		}
 	}
 
 	private void handleUserMirrorSHopOrderDon(OrderDon orderDon) throws Exception {
@@ -4738,4 +4749,31 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			}
 		}
 	}
+
+	/**
+	 * 赠送gpt镜像天卡
+	 */
+	private void sendGptMirrorDayTicket(OrderDon orderDon) throws Exception {
+		Long userId = orderDon.getUserId();
+		Long orderId = orderDon.getId();
+		Long goodsId = orderDon.getGoodsId();
+		GptMirrorDayCardGiveawayActivity gptMirrorDayCardGiveawayActivity = gptMirrorDayCardGiveawayActivityMapper.selectOne(Wrappers.lambdaQuery(GptMirrorDayCardGiveawayActivity.class)
+				.last("limit 1"));
+		if (gptMirrorDayCardGiveawayActivity != null) {
+			String buyGoodsIds = gptMirrorDayCardGiveawayActivity.getBuyGoodsIds();
+			if (StrUtil.isNotBlank(buyGoodsIds)) {
+				List<Long> cyGoodsIds = Jsons.parseList(buyGoodsIds, Long.class);
+				if (cyGoodsIds.contains(goodsId)) {
+					Long relationId = groupRelationFrontService.getTrialTicketByUserIdAndGoodsId(userId, Constant.GPT_MIRROR_COMMON_SKU_ID, 2);
+					if (relationId != null) {
+						GptMirrorDayCardActivityRecord gptMirrorDayCardActivityRecord = new GptMirrorDayCardActivityRecord();
+						gptMirrorDayCardActivityRecord.setOrderId(orderId);
+						gptMirrorDayCardActivityRecord.setUserId(userId);
+						gptMirrorDayCardActivityRecord.setRelationId(relationId);
+						gptMirrorDayCardActivityRecordMapper.insert(gptMirrorDayCardActivityRecord);
+					}
+				}
+			}
+		}
+	}
 }

+ 47 - 0
netflix-web/src/main/java/com/cyksj/web/controller/sys/SysGptMirrorDayGiveawayController.java

@@ -0,0 +1,47 @@
+package com.cyksj.web.controller.sys;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayResponse;
+import com.cyksj.mapper.GptMirrorDayCardGiveawayActivityMapper;
+import com.cyksj.model.entity.GptMirrorDayCardGiveawayActivity;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: SysGptMirrorDayGiveawayController
+ * 创建者: JavaZou
+ * 创建时间:2025/3/5 15:42
+ */
+@RequestMapping("/sys/mirror")
+@RestController
+@RequiredArgsConstructor
+public class SysGptMirrorDayGiveawayController {
+	private final GptMirrorDayCardGiveawayActivityMapper gptMirrorDayCardGiveawayActivityMapper;
+
+
+	/**
+	 * 配置参与GPT镜像天卡平台
+	 */
+	@PutMapping("/set/gpt/giveaway/buy/goods")
+	public Result<String> setGptMirrorBuyGoods(@RequestBody GptMirrorDayCardGiveawayActivity giveawayActivity) {
+		GptMirrorDayCardGiveawayActivity db = gptMirrorDayCardGiveawayActivityMapper.selectOne(Wrappers.lambdaQuery(GptMirrorDayCardGiveawayActivity.class)
+				.last("limit 1"));
+		if (db != null) {
+			giveawayActivity.setId(db.getId());
+			gptMirrorDayCardGiveawayActivityMapper.updateById(giveawayActivity);
+		} else gptMirrorDayCardGiveawayActivityMapper.insert(giveawayActivity);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	/**
+	 * 返回参与Gpt镜像天卡平台
+	 */
+	@GetMapping("/get/gpt/giveaway/buy/goods")
+	public Result<GptMirrorDayCardGiveawayActivity> getGptMirrorBuyGoods() {
+		GptMirrorDayCardGiveawayActivity db = gptMirrorDayCardGiveawayActivityMapper.selectOne(Wrappers.lambdaQuery(GptMirrorDayCardGiveawayActivity.class)
+				.last("limit 1"));
+		return GatewayResponse.SUCCESS.newBuilder().toResult(db);
+	}
+}