医保接口对接费用(chatGPT助力医保接口开发)chatgpt 这样也行?

 

互联网无处没有在,影响着我们的生活方方面面。从最近的新闻中,我们可以看到互联网正以1种令人难以置信的速度发展,让我们1起看看有哪些令人兴奋的故事。

上面的文章中,用到反射来设计医保接口,因为国内的医保接口有1个特点,就是接口基本是统1的,接中传的数据是有1定规律的,这样方便对接后营业级的升级扩展,所以在对接医保接口时,就很容易用OOP来设计1个微框架来对应。

用反射开发医保接口桂素伟,公众号:桂迹.NET架构小技巧(3)——反射,架构人员法宝I当设计完微框架后,剩下的就是累活儿了,就是把几十个接口的输入和输出实体类,把微框架的要求定义出来,这种工作费时费力,还容易眼花。

chatGPT登场了,这也是chatGPT最擅长的领域了,做1些基本的,重复的工作还是用例子说明吧,上面1个读卡接口的1部分,我们看看用chatGPT怎么实现本例chatGPT生成是用visual chatGPT studio在visual studio 2022中生成的。

首先从医保接口文档中,把实体类复制出来,然后给出提示:把上面数据生成C#实体类,名称是BaseInfo,并保留原来的名称,加上注释 //1 psn_no 人员编号 字符型 30 Y //2 psn_cert_type 人员证件类型 字符型 6 Y Y

//3 certno 证件号码 字符型 50 Y //4 psn_name 人员姓名 字符型 50 Y //5 gend 性别 字符型 6 Y Y //6 naty 民族 字符型 3 Y

//7 brdy 出生日期 日期型yyyy-MM-dd //8 age 年龄 数值型 4,1 Y //9 expContent 字段扩展 字符型 4000 //把上面数据生成C#实体类,名称是BaseInfo,并保留原来的名称,加上注释

上面是就生成的代码: /// /// BaseInfo /// public class BaseInfo { ///

/// 人员编号 /// public string psn_no { get; set; } ///

/// 人员证件类型 /// public string psn_cert_type { get; set; } ///

/// 证件号码 /// public string certno { get; set; } ///

/// 人员姓名 /// public string psn_name { get; set; } ///

/// 性别 /// public string gend { get; set; } /// /// 民族

/// public string naty { get; set; } /// /// 出生日期 ///

public DateTime brdy { get; set; } /// /// 年龄 /// public decimal age { get; set; }

/// /// 字段扩展 /// public string expContent { get; set; }

}下1步如果chatGPT的收费便宜了,可以把1个文档扔进去,让它自动生成全部实体类没有过现在还是需要把文档中的输入输出数据复制进来,生成对应的实体类还有1类工作比较繁琐,显示医保返回的数据到窗体上,表格相对好处理,单项数据就得定义控件11个处理了,这个工作也可以让chatGPT帮我个实现。

还是用人员接口为例,上面的BaseInfo就是读卡后返回的其中1项人员基本信息,我们可以先给chatGPT做个事例,在窗体上定义1个属性的显示样例:人员编号。

因为窗体的可视化操作,都会在自动生成对应的代码,我们只需要告诉chatGPT,按照人员编号属性的样子生成其他属性就行了首先要生成定义所有属性的Lable,提示如下:参照psn_no_display_Lab和psn_no_Lab两个Labe,生成上面数据的Label定义。

private Label psn_no_display_Lab;private Label psn_no_Lab;//1 psn_no 人员编号 字符型 30 Y//2 psn_cert_type 人员证件类型 字符型 6 Y Y

//3 certno 证件号码 字符型 50 Y//4 psn_name 人员姓名 字符型 50 Y//5 gend 性别 字符型 6 Y Y//6 naty 民族 字符型 3 Y//7 brdy 出生日期 日期型yyyy-MM-dd

//8 age 年龄 数值型 4,1 Y//9 expContent 字段扩展 字符型 4000//参照psn_no_display_Lab和psn_no_Lab两个Labe,生成上面数据的Label定义

篇幅所限,没有粘贴生成的代码,这里每个属性会生成两个Lable的定义接下来,把BaseInfo属性生成对应的Lable给实现了,然后提示:参照psn_no_display_Lab和psn_no_Lab两个Label,生成BaseInfo实体类中各属性对应的Label,其中注释作为每个**_display_Lab的Text值,生成硬编码,没有要使用反射。

psn_no_display_Lab = new Label();psn_no_Lab = new Label();SuspendLayout();// // psn_no_display_Lab//

psn_no_display_Lab.AutoSize = true;psn_no_display_Lab.Location = new Point(39, 48);psn_no_display_Lab.Name =

"psn_no_display_Lab";psn_no_display_Lab.Size = new Size(68, 17);psn_no_display_Lab.TabIndex = 0;psn_no_display_Lab.Text =

"人员编号:";// // psn_no_Lab// psn_no_Lab.AutoSize = true;psn_no_Lab.Location = new Point(114, 47);psn_no_Lab.Name =

"psn_no_Lab";psn_no_Lab.Size = new Size(49, 17);psn_no_Lab.TabIndex = 1;psn_no_Lab.Text = "psn_no";//

// Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new

Size(800, 450);Controls.Add(psn_no_Lab);Controls.Add(psn_no_display_Lab);Name = "Form1";Text = "Form1"

;Load += Form1_Load;ResumeLayout(false);PerformLayout();//1 psn_no 人员编号 字符型 30 Y//2 psn_cert_type 人员证件类型 字符型 6 Y Y

//3 certno 证件号码 字符型 50 Y//4 psn_name 人员姓名 字符型 50 Y//5 gend 性别 字符型 6 Y Y//6 naty 民族 字符型 3 Y//7 brdy 出生日期 日期型yyyy-MM-dd

//8 age 年龄 数值型 4,1 Y//9 expContent 字段扩展 字符型 4000//参照psn_no_display_Lab和psn_no_Lab两个Label,生成BaseInfo实体类中各属性对应的Label,其中注释作为每个**_display_Lab的Text值,生成硬编码,没有要使用反射

篇幅有限,没有把生成的代码粘上来,当然结果要人中编号的两个lable相同,这里可能没有同时刻生成的代码会有偏差,这时就要调整提示语句,反复尝试,以达到自己想要的结果这时,回到设计界面,就会看到各个属性的对应Lable已经存在,这时,只需要按自己的顺序和设计排版就可以了。

再有就是当读卡后,要把返回的数据反写到上面定义的控件中,这里,我是用GithubCopilot实现的,当把人员编号赋值后,其他属性就Tab,Enter就可以了,当然,也可以让visual chatGPT studio来生成,你可以试试哦!

var person = new BaseInfo() { psn_no = "psn_no", psn_cert_type = "psn_cert_type", certno =

"certno", psn_name = "psn_name", gend = "gend", naty = "naty", brdy = DateTime.Now, age =

1, expContent = "expContent" }; psn_no_Lab.Text = person.psn_no;//借助Github Copilot,实现赋值 psn_cert_type_Lab.Text = person.psn_cert_type;

certno_Lab.Text = person.certno; psn_name_Lab.Text = person.psn_name; gend_Lab.Text = person.gend; naty_Lab.Text = person.naty;

brdy_Lab.Text = person.brdy.ToString(); age_Lab.Text = person.age.ToString(); expContent_Lab.Text = person.expContent;

其实使用chatGPT最费时间的是,它生成的代码功能问题没有大,可能规范你期望的没有1样,这时就可给样例,完善提示,增加引导,来达到自己想要的了。

喜欢这篇文章的小伙伴记得关注收藏点赞哦!

为您推荐

医保接口对接费用(chatGPT助力医保接口开发)chatgpt 这样也行?

医保接口对接费用(chatGPT助力医保接口开发)chatgpt 这样也行?

在下面的文章中,用到反射来设计医保接口,因为国内的医保接口有一个特点,就是接口基本是统一的,接中传的数据是有...

2023-05-25 栏目:科技派

当前非电脑浏览器正常宽度,请使用移动设备访问本站!