GPT查询余额,使用了多少,一共 java代码(多条查询) 超详细并且有反向代理可以直接用

效果图:

需要的Model层:

package Modio;import com.sun.xml.internal.bind.v2.model.core.ID;
//import lombok.Data;//获取余下的
//@Data
public class GptBalanceModel {private Integer id;private String sum;private String use;private String balance;private String date; //放入时间private String key;//秘钥private String start;//状态public GptBalanceModel() {}public GptBalanceModel(String key) {this.key = key;}@Overridepublic String toString() {return "GptBalanceModel{" +"id=" + id +", sum='" + sum + '\'' +", use='" + use + '\'' +", balance='" + balance + '\'' +", date='" + date + '\'' +", key='" + key + '\'' +", start='" + start + '\'' +'}';}public GptBalanceModel(String sum, String use, String balance) {this.sum = sum;this.use = use;this.balance = balance;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getSum() {return sum;}public void setSum(String sum) {this.sum = sum;}public String getUse() {return use;}public void setUse(String use) {this.use = use;}public String getBalance() {return balance;}public void setBalance(String balance) {this.balance = balance;}public String getDate() {return date;}public void setDate(String date) {this.date = date;}public String getKey() {return key;}public void setKey(String key) {this.key = key;}public String getStart() {return start;}public void setStart(String start) {this.start = start;}
}

主方法:

package ljx;import java.io.IOException;
import java.text.DecimalFormat;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;import Modio.GptBalanceModel;
import com.alibaba.fastjson.JSONObject;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;public class Main {public static void main(String[] args) {List<GptBalanceModel> balanceList=new ArrayList<>();balanceList.add(new GptBalanceModel("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"));balanceList.add(new GptBalanceModel("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"));balanceList.add(new GptBalanceModel("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"));balanceList.add(new GptBalanceModel("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"));balanceList.add(new GptBalanceModel("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"));balanceList.add(new GptBalanceModel("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"));balanceList.add(new GptBalanceModel("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"));balanceList.add(new GptBalanceModel("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"));balanceList.add(new GptBalanceModel("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"));balanceList.add(new GptBalanceModel("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"));Main main=new Main();List<GptBalanceModel> balance = main.gptFromBalancesList(balanceList);System.out.println("输出测试");for (GptBalanceModel gptBalanceModel : balance) {System.out.println("key:"+gptBalanceModel.getKey());System.out.println("一共:"+gptBalanceModel.getSum());System.out.println("已使用:"+gptBalanceModel.getUse());System.out.println("余额:"+gptBalanceModel.getBalance());System.out.println("\n");}
//        System.out.println("Key:"+balance);
//        System.out.println(balance);}public List<GptBalanceModel> gptFromBalancesList(List<GptBalanceModel> balanceList) {ExecutorService executor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); //设置线程池线程池大小用当前系统能给的大小来代替for (GptBalanceModel gptBalance : balanceList) {//进行for循环查询遍历executor.submit(() -> getFromBalance(gptBalance));}executor.shutdown(); //等待线程执行完成try {executor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);} catch (InterruptedException e) {e.printStackTrace();}return balanceList; //返回数据}
//    public List<GptBalanceModel> gptFromBalancesList(List<GptBalanceModel> balanceList){
//
//
//        for (GptBalanceModel gptBalance : balanceList) {
//             getFromBalance(gptBalance);
//        }
//        return balanceList;
//    }String gptUrl="https://openai.1rmb.tk"; //反向代理访问地址访问gpt官网public GptBalanceModel getFromBalance(GptBalanceModel gptBalance){String url = gptUrl+"/v1/dashboard/billing/subscription";String apiKey = gptBalance.getKey(); //设置秘钥try {
//            拿到当前剩余余下的钱Document doc = Jsoup.connect(url).header("Authorization", "Bearer " + apiKey).header("Content-Type", "application/json").header("Connection", "keep-alive").ignoreContentType(true).get();//            查找当前已经使用多少String startDate = LocalDate.now().minusDays(99).toString();String endDate = LocalDate.now().plusDays(1).toString();String billingUrl = gptUrl+"/v1/dashboard/billing/usage?start_date=" + startDate + "&end_date=" + endDate;Document billingDoc = Jsoup.connect(billingUrl).header("Authorization", "Bearer " + apiKey).header("Content-Type", "application/json").header("Connection", "keep-alive").ignoreContentType(true).get();//                拿到一共剩余String html = doc.body().text(); // 获取HTML代码JSONObject json =JSONObject.parseObject(html); // 将HTML代码转换为JSON对象Double hardLimitUsd = Double.parseDouble(json.getString("hard_limit_usd")); // 获取hard_limit_usd的值//            拿到已经使用的String html1 = billingDoc.body().text(); // 获取HTML代码JSONObject json1 = (JSONObject) JSONObject.parse(html1); // 将HTML代码转换为JSON对象Double total_usage = Double.parseDouble(json1.getString("total_usage")) / 100.0;//            保留两位小数String sum = String.format("%.3f", hardLimitUsd);String use      = String.format("%.3f", total_usage);String balance= String.format("%.3f", hardLimitUsd-total_usage);
//            System.out.println("一共: " + sum);
//            System.out.println("已使用:"+use);
//            System.out.println("剩余金额:"+balance);gptBalance.setSum(sum);//一共gptBalance.setUse(use);//已使用gptBalance.setBalance(balance);//剩余金额return gptBalance;} catch (IOException e) {e.printStackTrace();System.out.println("余额更新失败");return gptBalance;}}
}

需要的jar包:

   <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version><scope>provided</scope></dependency><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.11.2</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.1</version><scope>test</scope></dependency><dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf</artifactId><version>3.0.12.RELEASE</version></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>RELEASE</version><scope>compile</scope></dependency><dependency><groupId>org.jdom</groupId><artifactId>jdom2</artifactId><version>2.0.6</version></dependency>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/55742.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大语言模型综述

大语言模型综述文章 自20世纪50年代图灵测试被提出以来&#xff0c;研究人员一直在探索和开发能够理解并掌握语言的人工智能技术。作为重要的研究方向之一&#xff0c;语言模型得到了学术界的广泛研究&#xff0c;从早期的统计语言模型和神经语言模型开始&#xff0c;发展到基于…

vue模拟双色球

通过vue代码模拟双色球选号 <template><div class"yt-lottery"><el-button click"testRandom">生成彩票号码</el-button><div v-if"redNumArr.length"><br><table border"1" style"borde…

简单模拟双色球问题

双色球问题 规则简介 简单分析 随机一组中奖号码的分析&#xff1a; 1. 中奖号码由6个红球和1个篮球组成(注意&#xff1a;6个红球要求不能重复)。 2. 可以定义方法用于返回一组中奖号码(7个数据)&#xff0c;返回的形式是一个整型数。 代码如下 import java.util.Random; i…

模拟双色球系统——Java

目录 一、内容简介 二、 基本流程 三、具体步骤 1.菜单栏 2.随机生成幸运号码 3.用户输入 4.判断中奖情况 5.打印数组 四、代码实现 五、效果展示 一、内容简介 双色球是彩票的一种玩法&#xff0c;规则如下&#xff1a; 红球一共6组&#xff0c;每组从1——33中随…

面试问题之自我介绍

1、自我介绍 1. 我叫xxx&#xff0c;今年24岁&#xff0c;来自山东潍坊&#xff0c;毕业于山东理工大学&#xff1b;2. 上家公司就职于xxx,在公司主要负责系统维护&#xff0c;保证服务7*24小时稳定运行&#xff1b;3. 平常的工作有 ELK日志的收集&#xff0c; Zabbix监控报警的…

聊天信息框显示消息

聊天信息框显示消息 有趣的小案例池子&#xff1a; JS实现定时器 JS实现关闭图片窗口 JS实现输入检验 获取焦点后隐藏提示内容的输入框 JS实现获取鼠标在画布中的位置 聊天信息框显示消息 JS点击切换背景图 自动切换背景的登录页面 JS制作跟随鼠标移动的图片 JS实现记住用…

互联网金融和计算机哪个专业比较好,互联网金融专业就业方向及前景分析(解读)...

高考志愿填报如何选择专业?怎样才能选到一个好的专业?选择专业是一件非常重要的事情,我们都知道高考志愿填报最后选择的专业跟我们有着很大的关系,一般不要出现任何问题的话几乎后半生都是要靠着这个专业谋生的,所以选择一个喜欢的自己能做来的是很重要的。本文思而学教育网小…

初级会计资格-初级会计实务-知识点总结大全

会计 文章目录 会计基础会计一、会计概述&#xff08;6~8&#xff09;1.1 会计概念、职能和目标会计概念会计职能&#xff08;两个&#xff09;会计目标 1.2 会计基本假设、基础和信息质量要求&#xff08;四个&#xff09;会计基本假设&#xff08;两个&#xff09;会计基础&a…

matlab在金融工程中的应用,第八讲matlab在金融工程中的应用

第八讲matlab在金融工程中的应用 第八讲 Matlab 在金融工程中的应用,张树德 著,参考文献&#xff1a;,MATLAB金融计算与金融数据处理,北京航空航天大学出版社&#xff0c; 2008,Matlab金融工具箱模块,1. Financial Toolbox,Matlab自带金融工具箱&#xff0c;具有下列功能&…

互联网消费金融---互联网金融原理与实务【郭勤贵......等人著】的学习

1. 互联网消费金融概念&#xff1a; 互联网消费金融是“互联网消费金融”的新型金融服务模式。互联网消费金融是指银行&#xff0c;消费金融公司或者互联网企业等市场主体出资成立的非存款借贷公司以互联网技术和信息通信技术为工具&#xff0c;以满足个人或家庭对除房屋和汽车…

2021年金融科技书单推荐

在当今的社会&#xff0c;无论是学习金融还是从事金融工作都迫切需要掌握两门语言&#xff0c;一门是人与人之间交流的语言&#xff0c;比如中文、英文等&#xff1b;另一门就是人与计算机交流的语言&#xff0c;也就是计算机编程语言。面对林林总总的计算机编程语言&#xff0…

互联网金融

互联网金融 概述第一章 互联网金融概述互联网金融的定义互联网金融的业务模式互联网金融的主要特征互联网金融的产生和发展互联网金融对传统金融的影响 第二章 互联网金融原理微观层面金融功能理论与互联网金融金融创新理论和互联网金融支付理论与互联网金融 中观层面互联网金融…

python金融编程入门_python金融实务从入门到精通完整版

python金融实务从入门到精通 ├─第0章 课时 1 学员须知 素材 ├─第1章 金融人Python入门 │ ├─课时 3 – Python在金融资管领域中的应用.mp4 │ ├─课时 4 – 补充-Mac系统下安装anaconda步骤.mp4 │ ├─课时 5 – Python基础知识&#xff08;一&#xff09;.mp4 │…

python金融基础知识_python金融实务从入门到精通(23节课)

教程介绍&#xff1a; 本套python金融实务从入门到精通共23课。内容为&#xff1a;第1章金融人Python入门&#xff1b;第2章利用Python实现金融数据收集、分析与可视化&#xff1b;第3章Python爬虫实务&#xff1b;第4章 Python统计与金融实务应用。 第1章 金融人python入门 …

俄罗斯电商平台ozon的崛起,卖家可以使用测评补单方式打造爆款吗?

OZON俗称俄罗斯亚马逊&#xff0c;1998年成立&#xff0c;是俄罗斯唯一的多品类综合B2C电商平台&#xff0c;也是目前欧洲第四大电商市场。 作为俄罗斯互联网公司五强的OZON平台&#xff0c;拥有庞大的消费者群体&#xff0c;从2018年仅为480万人&#xff0c;到2021年就增长到…

2022年跨境电商卖家如何在Facebook上做广告【完整指南】

关键词&#xff1a;跨境电商卖家、Facebook广告 了解如何在 Facebook 上做广告对于大多数跨境电商卖家来说是一项非常重要的技能&#xff0c;因为您在 Facebook 上做广告&#xff0c;您的广告可以覆盖21.7 亿人——换句话说&#xff0c;接近世界人口的 30%。此外&#xff0c;该…

小爱同学自定义音色

最近小爱同学可以自定义音色了&#xff0c;但是部分童鞋机型不支持&#xff0c;怎么办呢&#xff1f;别着急&#xff0c;老衲来教你3步轻松解决。但是有个前提&#xff0c;你是小米手机。 下载一个低版本的小爱同学APP可以在此处下载&#xff1a;https://www.lanzous.com/ib5vu…

Mixly+点灯科技+小爱同学智能插座

Mixly点灯科技小爱同学智能插座 疫情了&#xff0c;时间多的很。游戏也玩累了&#xff0c;电影也没的看了。无聊至极&#xff01;得&#xff01;&#xff01;&#xff01;出来搞点事情吧。哈哈哈。 Mixly出了新版本&#xff08;正式版1.1.3&#xff09;这个版本很稳定也很好用…

小爱同学电脑版安装教程

小爱同学电脑版安装教程 安装教程注意事项使用体验电脑版小爱同学可以实现的功能 安装教程 Win10小爱同学已经上线Microsoft应用商店了&#xff0c;但有些版本的应用商店直接搜索不到&#xff0c;这里直接放链接: https://www.microsoft.com/zh-cn/p/小爱同学/9mw76kfhnz0c. …

小爱同学+8266的小爱语音台灯,基于Blinker库

“我们的动力源于对电子的热爱” 为大家详细介绍最近的语音台灯&#xff0c;不用了解各种通讯协议&#xff0c;直接调用函数&#xff0c;小白也会&#xff01; 链接&#xff1a;https://pan.baidu.com/s/12m0TMhjH7SR9DHA_pTowBg?pwdm4zf 提取码&#xff1a;m4zf 目录 想法…