소스 검색

卡密渠道分类

zoujiajian 9 달 전
부모
커밋
d4670c4ddb

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

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

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GptRechargeCardKey.java

@@ -28,4 +28,9 @@ public class GptRechargeCardKey extends BaseEntity{
 
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private String orderNo;
+
+	/**
+	 * 渠道id
+	 */
+	private Long channelId;
 }

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

@@ -0,0 +1,19 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj11111111
+ * 文件名: GptRechargeCardKeyChannel
+ * 创建者: JavaZou
+ * 创建时间:2025/11/17 14:00
+ */
+@Getter
+@Setter
+public class GptRechargeCardKeyChannel extends BaseEntity{
+	/**
+	 * 渠道名
+	 */
+	private String channel;
+}

+ 27 - 0
netflix-dao/src/main/java/com/cyksj/model/request/GptCardKeyChannelReq.java

@@ -0,0 +1,27 @@
+package com.cyksj.model.request;
+
+import com.cyksj.model.entity.GptRechargeCardKeyChannel;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 项目名: yhlxj11111111
+ * 文件名: GptCardKeyChannelReq
+ * 创建者: JavaZou
+ * 创建时间:2025/11/17 14:15
+ */
+@Getter
+@Setter
+public class GptCardKeyChannelReq {
+	/**
+	 * 需删除的渠道ids
+	 */
+	private List<Long> delList;
+
+	/**
+	 * 新增或编辑的渠道
+	 */
+	private List<GptRechargeCardKeyChannel> channels;
+}

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/request/GptRechargeCardKeyReq.java

@@ -20,4 +20,9 @@ public class GptRechargeCardKeyReq {
 	private Integer type = 0;
 
 	private List<String> cardKey;
+
+	/**
+	 * 渠道id
+	 */
+	private Long channelId;
 }

+ 58 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GptRechargeCardKeyView.java

@@ -0,0 +1,58 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj11111111
+ * 文件名: GptRechargeCardKeyView
+ * 创建者: JavaZou
+ * 创建时间:2025/11/17 14:24
+ */
+@Getter
+@Setter
+@SearchBean(tables = "gpt_recharge_card_key gk left join gpt_recharge_card_key_channel gc on gc.id = gk.channel_id")
+public class GptRechargeCardKeyView {
+	@DbField("gk.id")
+	private Long id;
+
+	@DbField("gk.card_key")
+	private String cardKey;
+
+	@DbField("gk.status")
+	private Boolean status;
+
+	/**
+	 * 卡密支持类型 0月付 1.季、年付
+	 */
+	@DbField("gk.type")
+	private Integer type;
+
+	@DbField("gk.order_id")
+	private Long orderId;
+
+	@DbField("gk.order_no")
+	private String orderNo;
+
+	/**
+	 * 渠道id
+	 */
+	@DbField("gk.channel_id")
+	private Long channelId;
+
+	/**
+	 * 渠道
+	 */
+	@DbField("gc.channel")
+	private String channel;
+
+	@DbField("gk.created_time")
+	private Date createdTime;
+
+	@DbField("gk.update_time")
+	private Date updateTime;
+}

+ 45 - 6
netflix-web/src/main/java/com/cyksj/web/controller/manage/group/CmsGroupRelationController.java

@@ -23,10 +23,7 @@ import com.cyksj.model.excel.ExcelRechargeAccountData;
 import com.cyksj.model.manage.views.AccountView;
 import com.cyksj.model.manage.views.GroupsRelationBackView;
 import com.cyksj.model.request.*;
-import com.cyksj.model.views.DisableAccountView;
-import com.cyksj.model.views.GroupsRelationIndependentView;
-import com.cyksj.model.views.GroupsRelationRechargeView;
-import com.cyksj.model.views.OrderDonRenewView;
+import com.cyksj.model.views.*;
 import com.cyksj.server.recharge.dto.TaskResult;
 import com.cyksj.server.recharge.dto.TokenParseResult;
 import com.cyksj.service.chatgpt.GptUserRechargeRecordService;
@@ -89,6 +86,8 @@ public class CmsGroupRelationController {
 
     private final GptRechargeService gptRechargeService;
 
+    private final GptRechargeCardKeyChannelMapper gptRechargeCardKeyChannelMapper;
+
     @GetMapping("/get")
     public Result<List<GroupsRelationBackView>> get(){
         List<GroupsRelationBackView> search = beanSearcher.searchAll(GroupsRelationBackView.class, MapUtils.flatBuilder(request.getParameterMap())
@@ -373,8 +372,8 @@ public class CmsGroupRelationController {
      * GPT代充卡密列表
      */
     @GetMapping("/get/gpt/cardKey")
-    public Result<SearchResult<GptRechargeCardKey>> getGptCardKey() {
-        SearchResult<GptRechargeCardKey> search = beanSearcher.search(GptRechargeCardKey.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+    public Result<SearchResult<GptRechargeCardKeyView>> getGptCardKey() {
+        SearchResult<GptRechargeCardKeyView> search = beanSearcher.search(GptRechargeCardKeyView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
         return GatewayResponse.SUCCESS.newBuilder().toResult(search);
     }
 
@@ -394,6 +393,46 @@ public class CmsGroupRelationController {
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
 
+    /**
+     * 卡密渠道(不分页)
+     */
+    @GetMapping("/get/gpt/cardKey/channel")
+    public Result<List<GptRechargeCardKeyChannel>> saveGptRechargeCardKeyChannel() {
+        List<GptRechargeCardKeyChannel> search = beanSearcher.searchAll(GptRechargeCardKeyChannel.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+        return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+    }
+
+
+    /**
+     * 新增卡密渠道
+     */
+    @PostMapping("/save/gpt/cardKey/channel")
+    public Result<String> saveGptRechargeCardKeyChannel(@RequestBody GptCardKeyChannelReq req) {
+        List<Long> delList = req.getDelList();
+        if (CollUtil.isNotEmpty(delList)) {
+            List<Long> collect = gptRechargeCardKeyMapper.selectList(Wrappers.lambdaQuery(GptRechargeCardKey.class).in(GptRechargeCardKey::getChannelId, delList)).stream().map(GptRechargeCardKey::getChannelId).distinct().collect(Collectors.toList());
+            if (CollUtil.isNotEmpty(collect)) {
+                String channel = gptRechargeCardKeyChannelMapper.selectList(Wrappers.lambdaQuery(GptRechargeCardKeyChannel.class).in(GptRechargeCardKeyChannel::getId, collect)).stream().map(GptRechargeCardKeyChannel::getChannel).collect(Collectors.joining(","));
+                throw BusinessRuntimeException.getInstance("{0}渠道存在关联数据", channel);
+            } else {
+                gptRechargeCardKeyChannelMapper.deleteBatchIds(delList);
+            }
+        }
+        List<GptRechargeCardKeyChannel> channels = req.getChannels();
+        if (CollUtil.isNotEmpty(channels)) {
+            for (GptRechargeCardKeyChannel channel : channels) {
+                try {
+                    if (channel.getId() != null) {
+                        gptRechargeCardKeyChannelMapper.updateById(channel);
+                    } else gptRechargeCardKeyChannelMapper.insert(channel);
+                } catch (DuplicateKeyException e) {
+
+                }
+            }
+        }
+        return GatewayResponse.SUCCESS.newBuilder().toResult();
+    }
+
 
     /**
      * 删除GPT代充卡密