Bläddra i källkod

gpt用户切换模式

zoujiajian 1 år sedan
förälder
incheckning
70db34b559

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

@@ -111,4 +111,9 @@ public class ChatgptUser extends BaseEntity {
      */
     @TableField(updateStrategy = FieldStrategy.IGNORED)
     private Date renewExpiryTime;
+
+    /**
+     * 用户目前模式 0旧版 1新版
+     */
+    private Integer model;
 }

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/views/ChatGptUserView.java

@@ -106,4 +106,9 @@ public class ChatGptUserView {
      * 续费升级规格
      */
     private String renewSpecVal;
+
+    /**
+     * 用户目前模式 0旧版 1新版
+     */
+    private Integer model;
 }

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonCategoryGoodsView.java

@@ -16,7 +16,7 @@ import lombok.Setter;
 @Setter
 @SearchBean(tables = "goods_don g left join goods_don_category_relate gcr on gcr.goods_id = g.id" +
 		" left join goods_don_category gc on gc.id = gcr.category",
-		where = "g.deleted is true and g.status is true")
+		where = "g.deleted is true")
 public class GoodsDonCategoryGoodsView {
 
 	@DbField("g.id")

+ 6 - 0
netflix-dao/src/main/java/com/cyksj/model/views/RenewalView.java

@@ -336,4 +336,10 @@ public class RenewalView {
      */
     @DbIgnore
     private Boolean isRenewReduce = false;
+
+    /**
+     * gpt模式 0旧版 1新版
+     */
+    @DbIgnore
+    private Integer model;
 }

+ 2 - 2
netflix-dao/src/main/java/com/cyksj/model/views/UserInvoiceChoseOrderViews.java

@@ -17,8 +17,8 @@ import java.util.Date;
 @Getter
 @Setter
 @SearchBean(tables = " order_don o left join user_invoice_order_relate uor on uor.order_id = o.id" +
-		" inner join goods_don g on g.id = o.goods_id" +
-		" inner join goods_don_sku sku on sku.id = o.sku_id and sku.is_mirror is true" +
+		" inner join goods_don g on g.id = o.goods_id and g.id in (select goods_id from goods_don_category_relate where category = 1)" +
+		" inner join goods_don_sku sku on sku.id = o.sku_id" +
 		" inner join shop_config sc on sc.app_id = o.shop_id",
 		where = "o.money > 0 and uor.id is null and o.status not in ('close','noPayment','refund')",
 		orderBy = "o.id desc")

+ 2 - 0
netflix-service/src/main/java/com/cyksj/service/chatgpt/ChatGptAccountService.java

@@ -55,4 +55,6 @@ public interface ChatGptAccountService {
     String getGptSession(String account, String password);
 
     void clearGptNum(Long relationId) throws Exception;
+
+    void gptSwitchModel(long userId, Long relationId);
 }

+ 17 - 0
netflix-service/src/main/java/com/cyksj/service/chatgpt/impl/ChatGptAccountServiceImpl.java

@@ -126,6 +126,22 @@ public class ChatGptAccountServiceImpl implements ChatGptAccountService {
         }
     }
 
+    @Override
+    public void gptSwitchModel(long userId, Long relationId) {
+        List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
+        Integer count = groupsRelationMapper.selectCount(Wrappers.lambdaQuery(GroupsRelation.class)
+                .in(GroupsRelation::getUserId, userIdList)
+                .eq(GroupsRelation::getId, relationId));
+        if (count > 0) {
+            Optional.ofNullable(chatgptUserMapper.selectOne(Wrappers.lambdaQuery(ChatgptUser.class)
+                    .eq(ChatgptUser::getRelationId, relationId)
+                    .last("limit 1"))).ifPresent(cu -> {
+                cu.setModel(cu.getModel() == 0 ? 1 : 0);
+                chatgptUserMapper.updateById(cu);
+            });
+        }
+    }
+
     /**
      * 获取登录结果
      *
@@ -595,6 +611,7 @@ public class ChatGptAccountServiceImpl implements ChatGptAccountService {
                     .isRenewPackage(chatgptUser.getRenewOrderId() != null ? true : false)
                     .renewSkuId(chatgptUser.getRenewSkuId())
                     .renewOrderId(chatgptUser.getRenewOrderId())
+                    .model(chatgptUser.getModel())
                     .build();
             if (view.getRenewSkuId() != null) {
                 Optional.ofNullable(skuMapper.selectById(view.getRenewSkuId())).ifPresent(renewSuu -> view.setRenewSpecVal(renewSuu.getSpecVal()));

+ 1 - 0
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -1372,6 +1372,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 				ticket.setGptUserLimitNum(userInfo.getLimitNum());
 				ticket.setGptUserLimitTime(userInfo.getLimitTime());
 				ticket.setUse(userInfo.getUse());
+				ticket.setModel(userInfo.getModel());
 				Integer count = upgradePackageMapper.selectCount(Wrappers.lambdaQuery(UpgradePackage.class).apply("JSON_CONTAINS(sku_ids,'\"" + ticket.getSkuId() + "\"')")
 						.gt(UpgradePackage::getNum, userInfo.getLimitNum())
 						.eq(UpgradePackage::getStatus, Boolean.TRUE)

+ 10 - 5
netflix-web/src/main/java/com/cyksj/web/controller/mirror/MirrorController.java

@@ -1,7 +1,6 @@
 package com.cyksj.web.controller.mirror;
 
 import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;
@@ -17,8 +16,6 @@ import com.cyksj.mapper.GroupsMapper;
 import com.cyksj.mapper.GroupsRelationMapper;
 import com.cyksj.mapper.renew.RenewUpgradePackageMapper;
 import com.cyksj.model.entity.*;
-import com.cyksj.model.request.gpt.ConversationRequest;
-import com.cyksj.model.response.ConversationLimitResponse;
 import com.cyksj.model.views.*;
 import com.cyksj.service.chatgpt.ChatGptAccountService;
 import com.cyksj.service.claude.ClaudeService;
@@ -32,7 +29,6 @@ import com.ejlchina.searcher.util.MapBuilder;
 import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
@@ -41,7 +37,6 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.time.LocalDateTime;
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -256,6 +251,16 @@ public class MirrorController {
         return GatewayResponse.SUCCESS.newBuilder().toResult(search);
     }
 
+    /**
+     * GPT切换模式
+     */
+    @PutMapping("/gpt/switch/model/{relationId}")
+    public Result<String> gptSwitchModel(@PathVariable Long relationId) {
+        long userId = StpUserUtil.getLoginIdAsLong();
+        chatGptAccountService.gptSwitchModel(userId, relationId);
+        return GatewayResponse.SUCCESS.newBuilder().toResult();
+    }
+
 
 
     /**