700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 全国职业院校技能大赛“区块链技术应用”赛项赛卷—“航班延误险案例”

全国职业院校技能大赛“区块链技术应用”赛项赛卷—“航班延误险案例”

时间:2022-10-28 01:12:31

相关推荐

全国职业院校技能大赛“区块链技术应用”赛项赛卷—“航班延误险案例”

1.案例分析

1.1 需求描述

在航班延误险场景中,乘机人A在机票销售平台S中向航空公司V购买了一张机票后,在0.5小时内可以在S中上购买保险公司C的航班延误险,在S中预存10元保费。如果未预存保费,交易失败;如果在0.5小时内预存了10元保费,交易成功。C需要2小时内在S上预存相应的赔偿金1000元;默认C会预存1000元赔偿金,不考虑其他情况。如果C没有在2小时内预存赔偿金,S就直接将保费退还给用户;如果C预存了赔偿金,C为A在S中生成电子保单。默认V会在S中上传航班信息,不考虑其他情况,S会进行延误时间的判断,若航班没有延误或者延误时间少于4小时,无需理赔,S自动将A预存的保费转账给C,并退还C预存的赔偿金,保险交易结束。如果航班延误超过4小时,S也会将保费转账给C,但是会将C预存的赔偿金赔偿给A,理赔结束。本案例默认账户金额足够,不考虑其他情况。

1.2 用例分析

购买机票用例图

购买机票用例图

2.使用Solidity语言进行智能合约开发

见代码文件

3.使用vue3开发可视化界面

环境版本准备

3.1 使用vite快速创建vue项目

npm init viteNeed to install the following packages:create-viteOk to proceed? (y) ynpm WARN EBADENGINE Unsupported engine {npm WARN EBADENGINE package: 'create-vite@4.4.1',npm WARN EBADENGINE required: { node: '^14.18.0 || >=16.0.0' },npm WARN EBADENGINE current: { node: 'v15.14.0', npm: '7.7.6' }npm WARN EBADENGINE }√ Project name: ... avition-project√ Select a framework: » Vue√ Select a variant: » JavaScriptScaffolding project in E:\school\区块链\code\vue\avition-project...Done. Now run:cd avition-projectnpm installnpm run dev

3.2 创建vue项目方式二

在命令窗口输入指令vue create 项目名称

3.3 打包部署vue项目

在项目中执行命令进行打包

npm run build

3.3.1 在Ubuntu中安装nginx服务

apt install nginx #安装nginx -v #查看安装版本service nginx start #启动nginx

3.3.2 nginx文件安装完成之后的文件位置

3.3.3 打包vue项目

npm run build:prod#将生成的dist文件夹压缩上传到nginx web服务器中/usr/share/nginx/html中unzip dist.zip #解压

3.3.4 更改nginx配置文件

3.3.5 重启nginx

nginx -s reload

3.2 在服务器中安装mysql

4.使用Java开发后端

在idea中创建springboot项目,并在pom.xml中引入以下依赖

<dependencies><!-- /artifact/org.springframework.boot/spring-boot-starter-web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.3.RELEASE</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web-services</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- JDBC连接池、监控组件 Druid --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version></dependency><!-- JDBC连接池、监控组件 Druid --><!-- 添加 log4j 依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j</artifactId><version>1.3.8.RELEASE</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.43</version></dependency><dependency><groupId>org.web3j</groupId><artifactId>core</artifactId><version>4.3.0</version></dependency></dependencies>

后端代码见群文件

后端开发完成后打包部署到服务器

先clean再package或直接install

然后把jar包上传到服务器

nohup java -jar educhainx_flight_dapp-0.0.1-SNAPSHOT.jar > ./log.file 2>&1 &

nohup可以使项目持续运行

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。