IntelliJ IDEA集成Baidu Comate,商城系统支付交易功能开发实战

news2025/1/16 1:50:12

文章目录

  • Baidu Comate介绍
  • 安装配置体验
    • 安装
    • 插件配置
    • 体验
      • 注释生成代码
      • 技术问答
  • 实战
    • 设计表
    • 生成代码
    • 导入数据
  • 总结

Baidu Comate介绍

在科技互联网飞速发展的今天,百度凭借其深厚的技术积累和创新能力,推出了一款名为Baidu Comate智能代码助手的产品。该产品以文心大模型为基础,融合了百度多年积累的编程现场大数据和优秀开源数据,旨在为程序员们生成更符合实际研发场景的优质代码。

在这里插入图片描述

Baidu Comate智能代码助手提供三种核心场景:智能推荐、智能生成、智能问答。它存在的独特的产品优势为:

  • 精准且高效的代码智能推荐;
  • 强大的智能生成和问答,研发场景全方位覆盖;
  • 支持全平台、主流 IDE 和众多编程语言;
  • 提供数据可视化功能;
  • 支持私有化部署和高安全性;

安装配置体验

大家都知道阿Q是搞java的,所以平时使用最多的工具就是IntelliJ IDEA了。接下来,请跟随阿Q的脚步,带大家在IntelliJ IDEA中集成一下Baidu Comate智能代码助手。

先跟大家说一下我本地的环境:
操作系统版本:Windows10.0.19045.4291
JetBrains版本:IntelliJ IDEA 2020.2.3

安装

点击 IntelliJ IDEA 界面中的 ‘File’ -> ‘Settings’

在这里插入图片描述

在①处搜索“plugin”,在②处搜索’comate’,然后点击③处的install进行安装,安装完之后重启IntelliJ IDEA。

在这里插入图片描述

插件配置

IntelliJ IDEA重启后,右下角会弹出登录提示框

在这里插入图片描述
点击【登录】链接,唤起登录页面,支持百度、微信、微博、QQ扫描登录

在这里插入图片描述
登录完成之后点击左上角的头像进入个人信息页面

在这里插入图片描述
将license信息复制出来
在这里插入图片描述

点击IntelliJ IDEA右上角的comate图标,点击【设置】按钮,进行license设置,然后我们就可以体验Comate智能代码助手的各项功能了。

在这里插入图片描述

体验

插件配置成功之后我们就来顺手体验一下它的几个小功能。

注释生成代码

在代码中,我们只需要写上带有具体需求的注释,回车之后就会自动生成代码,有了这个功能,相信平时丢三落四的小伙伴直接对代码进行优化就可以了。

在这里插入图片描述
相信眼尖的同学已经发现了,当我们声明一个方法之后,方法前边会吃出现一个logo,让我们看看这个简单的小logo能带给我们什么样的惊喜。先给大家演示一波

在这里插入图片描述

技术问答

当你想要跳槽的时候,是不是在公司不方便背诵八股文?又或者想要看八股文的文章却要遮遮掩掩?有了Comate的加持,相信你已经猜到如何优雅的背诵八股文了吧?

在这里插入图片描述

实战

最近阿Q正在开发自己的商城系统,这几天接入了微信支付,今天接到产品经理的需求,说是要将微信的交易记录下载下来,存到我们本地的数据库中,用于后续进行一系列的分析操作。既然Baidu Comate有如此之强大的功能,瞬间萌生了让他辅助我完成开发功能的想法。

设计表

说干就干,首先我将微信官网的文档下载下来,保存到本地,然后让Comate帮我根据文件自动创建表结构并将数据存储到数据库。请根据以上字段帮我创建一张mysql表:

在这里插入图片描述

大家可以看到我对他执行了三次描述差不多的指令,终于在最后一次他理解了我的用意并帮我完成了表结构的设计。虽然过程有点坎坷,但是他最终还是帮我实现了。由此可见,comate的语言识别能力还有待加强。

CREATE TABLE transactions (
    transaction_time DATETIME NOT NULL COMMENT '交易时间',
    public_account_id VARCHAR(255) NOT NULL COMMENT '公众账号ID',
    merchant_id VARCHAR(255) NOT NULL COMMENT '商户号',
    special_merchant_id VARCHAR(255) COMMENT '特约商户号',
    device_number VARCHAR(255) COMMENT '设备号',
    wechat_order_number VARCHAR(255) NOT NULL COMMENT '微信订单号',
    merchant_order_number VARCHAR(255) NOT NULL COMMENT '商户订单号',
    user_identifier VARCHAR(255) NOT NULL COMMENT '用户标识',
    transaction_type VARCHAR(255) NOT NULL COMMENT '交易类型',
    transaction_status VARCHAR(255) NOT NULL COMMENT '交易状态',
    payment_bank VARCHAR(255) COMMENT '付款银行',
    currency_type VARCHAR(50) NOT NULL COMMENT '货币种类',
    should_pay_amount DECIMAL(10, 2) NOT NULL COMMENT '应结订单金额',
    coupon_amount DECIMAL(10, 2) COMMENT '代金券金额',
    product_name VARCHAR(255) COMMENT '商品名称',
    merchant_data TEXT COMMENT '商户数据包',
    service_charge DECIMAL(10, 2) COMMENT '手续费',
    rate DECIMAL(5, 4) COMMENT '费率',
    order_amount DECIMAL(10, 2) COMMENT '订单金额',
    rate_remark VARCHAR(255) COMMENT '费率备注',
    PRIMARY KEY (wechat_order_number, merchant_order_number)
);

从生成的结果来看,还是挺让我满意的,毕竟根据汉语起英文名真是个令人头疼的问题,另外它没有像大部分的建表语句一样帮我生成一个自动递增的主键ID,而是将wechat_order_numbermerchant_order_number作为了表的主键,因此我们自己调整一下加个主键id。

CREATE TABLE `transactions` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `transaction_time` datetime NOT NULL COMMENT '交易时间',
  `public_account_id` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '公众账号ID',
  `merchant_id` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户号',
  `special_merchant_id` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '特约商户号',
  `device_number` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备号',
  `wechat_order_number` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '微信订单号',
  `merchant_order_number` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户订单号',
  `user_identifier` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户标识',
  `transaction_type` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '交易类型',
  `transaction_status` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '交易状态',
  `payment_bank` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '付款银行',
  `currency_type` varchar(50) COLLATE utf8mb4_general_ci NOT NULL COMMENT '货币种类',
  `should_pay_amount` decimal(10,2) NOT NULL COMMENT '应结订单金额',
  `coupon_amount` decimal(10,2) DEFAULT NULL COMMENT '代金券金额',
  `product_name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品名称',
  `merchant_data` text COLLATE utf8mb4_general_ci COMMENT '商户数据包',
  `service_charge` decimal(10,2) DEFAULT NULL COMMENT '手续费',
  `rate` decimal(5,4) DEFAULT NULL COMMENT '费率',
  `order_amount` decimal(10,2) DEFAULT NULL COMMENT '订单金额',
  `rate_remark` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '费率备注',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

生成代码

我将上边生成的mysql语句保存到transactions.txt中,并让comate根据该文件帮我生成对应的controller、service、mapper文件,并书写导入文件的逻辑。

在这里插入图片描述

我们只需要将生成的代码复制到项目中创建对应的文件即可,然后需要修改下导入的包名,这样一下子就减轻了我们创建文件的繁琐步骤。

另外我发现他给我写的导入逻辑只是简单地写了下注释,并没有实际的操作方法,因此在接下来的步骤中我还需要加强一下我的描述让他帮我再次生成下导入文件的逻辑。

我突然发现忘记生成实体类了,接着又让他帮我生成了对应的实体类。

在这里插入图片描述

同样我们也对他进行简单的修改即可,加上自增ID注解@TableId(type = IdType.AUTO),并在实体类上加上@Table(name = “transactions”)和@Data注解。

导入数据

因为上边生成的导入逻辑并不完美,于是我又重新描述了我的需求:帮我写一个导入 #transactions.txt 文件并保存为实体类的逻辑。
在这里插入图片描述

将生成的代码复制到项目中,并更换具体的路径CSV_FILE_PATH,接着将具体字段的映射进行简单的整理,然后将之前的Controller进行重写

@RestController
@RequestMapping("/transactions")
public class TransactionController {

    @Autowired
    private TransactionService transactionService;
   
    @PostMapping("/import")
    public ResponseEntity<?> importTransactions() {
        //最新的解析xlsx文件并映射为实体类的逻辑
        List<Transaction> transactions = TransactionImporter.importTransactions();
        // 调用Service的方法保存交易记录
        for (Transaction transaction : transactions) {
            transactionService.insertTransaction(transaction);
        }
        return ResponseEntity.ok("Transactions imported successfully.");
        
    }
    
}

最后我们来进行下测试,调用“localhost:8080/transactions/import”接口之后发现控制台并没有报错,然后查看数据库,发现数据已经存到表里了。

在这里插入图片描述

总结

通过这几天对Comate的体验,首先最直观的感受就是它的响应速度很快,通过对话框中提出需求得到的代码质量比较高,能很大程度上提升开发效率,不用我再去打开浏览器百度一下了。其中根据数据库sql语句生成一系列CRUD代码的功能甚得我的喜爱。

随着使用的加深,它暴漏出来的问题也随之产生,比如对输入的语句理解能力不够,需要不断调整我们的描述信息他才会理解到位给出解决方案。再比如它生成的代码不够完美,仍需要我们自己进行简单的调整,这就意味着目前程序员还不太会失业,毕竟代码小白是不会调整代码让程序运行通过的。

最后我要去优雅地看八股文了,你也来抓紧体验一下吧!点击下载:Baidu Comate 智能编码助手官网

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JS-03深入了解构造函数

目录 1 引入构造函数 2 通过构造函数创建对象-内置 3 自定义一个构造函数来创建对象 3.1 构造函数的概念 3.2关于new Object() 3.3 构造函数的执行过程 3.3.1构造函数的返回值 3.3.2 如何判断一个数据是否是复杂数据类型&#xff1f; 3.3.3为什么要理解构造函数的返回值&…

15、24年--信息系统管理——管理要点

1、数据管理 数据管理使指通过规划、控制与提供数据和信息资产的职能,包括开发、执行和监督有关数据的计划、策略、方案、项目、流程、方法和程序,以获取、控制、保护、交付和提高数据和信息资产价值。 DCMM定义了数据战略、数据治理、数据架构、数据应用、数据安全、…

如何官方查询论文分区,中科院及JCR

中科院分区 有一个小程序&#xff1a;中科院文献情报中心分区表 点2023升级版&#xff0c;输入期刊名 大类1区 JCR分区 进入官方网站 Journal Citation Reports 输入要查询的期刊名&#xff0c;点开 拼命往下拉 这就是根据影响因子的排名&#xff0c;在computer science&am…

柱状图中最大的矩形 - LeetCode 热题 73

大家好&#xff01;我是曾续缘&#x1f61b; 今天是《LeetCode 热题 100》系列 发车第 73 天 栈第 5 题 ❤️点赞 &#x1f44d; 收藏 ⭐再看&#xff0c;养成习惯 柱状图中最大的矩形 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xf…

使用docker-compose部署时序数据库InfluxDB1.8.4

背景 如今 InfluxDB 已经更新到了 2.x &#xff0c; InfluxDB 1.x 和 2.x 版本之间有几个主要的区别&#xff1a; 数据模型&#xff1a; 1.x&#xff1a;使用数据库和保留策略来组织数据。 2.x&#xff1a;引入了组织&#xff08;organizations&#xff09;和存储桶&#xff…

抖音极速版:抖音轻量精简版本,新人享大福利

和快手一样&#xff0c;抖音也有自己的极速版&#xff0c;可视作抖音的轻量精简版&#xff0c;更专注于刷视频看广告赚钱&#xff0c;收益比抖音要高&#xff0c;可玩性更佳。 抖音极速版简介 抖音极速版是一个提供短视频创业和收益任务的平台&#xff0c;用户可以通过观看广…

【LeetCode】【1】两数之和(1141字)

文章目录 [toc]题目描述样例输入输出与解释样例1样例2样例3 提示进阶Python实现哈希表 个人主页&#xff1a;丷从心 系列专栏&#xff1a;LeetCode 刷题指南&#xff1a;LeetCode刷题指南 题目描述 给定一个整数数组nums和一个整数目标值target&#xff0c;请在该数组中找出…

【linux-kernel内核移植记录-踩坑以及注意事项】

目录 1. 环境介绍2.编译原厂的kernel2.1 通过tftp挂载原厂linux内核 3. 修改对应的驱动3.1 修改CPU频率3.2 修改MMC3.3 修改网络驱动 4. 总结 1. 环境介绍 ubuntu版本16.04I.MX6ULL开发板&#xff0c;阿尔法uboot正常启动&#xff0c;能ping通ubuntu&#xff0c;可通过tftpboo…

使用delphi11编写一个基于xls作为数据库的照片展示程序

1、创建xls文档可以参考前一篇博客&#xff0c;并使用wps将文档保存为2003格式xls后缀。 2、在form上面放置adoconnection、adotable、datasource、spinedit、timer、checkbox、image、4个button组件。 image的设置&#xff1a; Image1.Align : alClient; Image1.Center : Tr…

【全开源】答题考试系统源码(FastAdmin+ThinkPHP+Uniapp)

答题考试系统源码&#xff1a;构建高效、安全的在线考试平台 引言 在当今数字化时代&#xff0c;在线考试系统已成为教育机构和企业选拔人才的重要工具。一个稳定、高效、安全的答题考试系统源码是构建这样平台的核心。本文将深入探讨答题考试系统源码的关键要素&#xff0c;…

mysql binlog统一恢复误删数据库、表、数据(没有任何备份)

先将mysql文件夹中的my.ini进行设置 在 [mysqld]下边加上 # mysql-bin 是日志的基本名或前缀名&#xff0c;最后生成的日志文件是mysql-bin.000001类似&#xff0c;重启mysql数字会递增 log_binmysql-bin #binlog格式&#xff0c;statement&#xff0c;row&#xff0c;mixed可…

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第28课-avatar玩家3D形象

【WEB前端2024】开源智体世界&#xff1a;乔布斯3D纪念馆-第28课-avatar玩家3D形象 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界…

Python列表,元组,集合,字典详解一篇搞懂

目录 介绍 列表(List) 集合(Set) 字典(Dict) 元组(Tuple) 列表 列表定义 ​编辑 列表切片 列表常用方法 append extend ​编辑 insert ​编辑 remove pop ​编辑 clear ​编辑 列表修改元素 sort 升序 倒序 reverse count ​编辑 index 浅拷贝和深拷贝 …

CV之Nougat:Nougat(一种基于神经网络实现OCR功能的视觉转换器模型)的简介、安装和使用方法、案例应用之详细攻略

CV之Nougat&#xff1a;Nougat(一种基于神经网络实现OCR功能的视觉转换器模型)的简介、安装和使用方法、案例应用之详细攻略 目录 相关论文 《Nougat: Neural Optical Understanding for Academic Documents》的翻译与解读 Nougat的简介 Nougat的安装和使用方法 1、安装 …

成犬必备!福派斯鲜肉狗粮,亮毛祛泪痕的神奇功效!

对于成犬来说&#xff0c;选择一款合适且高质量的狗粮至关重要。成犬时期的狗狗正处于身体和生理机能逐渐稳定的阶段&#xff0c;因此&#xff0c;需要选择能够满足其日常营养需求、维持健康状态并有助于长寿的狗粮。理想的狗粮应当包含狗狗所需的各种营养物质&#xff0c;如高…

使用CyberRT写第一个代码, test ok

简介 计算框架是自动驾驶系统中的重中之重,也是整个系统得以高效稳定运行的基础。为了实时地完成感知、决策和执行,系统需要一系列的模块相互紧密配合,高效地执行任务流。由于各种原因,这些模块可能位于不同进程,也可能位于不同机器。这就要求计算框架中具有灵活的、高性…

uniapp+canvas实现逐字手写效果

在移动端使用 UniApp 进行逐字手写的功能。用户可以在一个 inputCanvas 上书写单个字&#xff0c;然后在特定时间后将这个字添加到 outputCanvas 上&#xff0c;形成一个逐字的手写效果。用户还可以保存整幅图像或者撤销上一个添加的字。 初始化 Canvas&#xff1a; 使用 uni.c…

SpringCloud系列(29)--准备使用Hystrix的前期工作,创建服务提供者模块

前言&#xff1a;在上一章节中我们简单的介绍了关于Hystrix的相关知识点&#xff0c;而本节内容则是关于如果去使用Hystrix构建一个支付微服务。 1、创建一个服务提供者模块&#xff0c;命名为cloud-provider-hystrix-payment8001 (1)在父工程下新建模块 (2)选择模块的项目类型…

香橙派华为昇腾CANN架构编译opencv4.9

香橙派华为升腾AI盒子 为啥要编译opencv4.9.0&#xff0c; 因为在4.9.0 中增加了华为昇腾CANN的外接开发库&#xff0c;下图为盒子外观&#xff0c;此次一接到这个盒子&#xff0c;立刻开始开箱操作&#xff0c;首先就是要编译opencv4.9&#xff0c;以前在香橙派3588 的盒子中…

台湾省军事演习路径规划:A*算法在复杂地形中的应用

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容&#xff0c;和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣&#xff01; 推荐&#xff1a;数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航&#xff1a; LeetCode解锁100…