首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >《仿盒马》app开发技术分享-- 兑换订单提交(73)

《仿盒马》app开发技术分享-- 兑换订单提交(73)

原创
作者头像
用户10696402
发布2025-06-28 14:16:44
发布2025-06-28 14:16:44
1590
举报

## 技术栈

Appgallery connect

## 开发准备

上一节我们实现了兑换提交前的准备页面,向用户展示了兑换相关的所有信息,这一节我们就可以实现兑换订单的提交了

## 功能分析

订单提交我们需要创建对应的兑换商品订单提交信息表,我们需要把地址,商品信息,积分,备注,订单状态,订单创建时间,订单取消时间,订完完成时间等信息都进行存储

## 代码实现

首先我们创建兑换订单表

```css

{

"objectTypeName": "points_order_info",

"fields": [

{"fieldName": "id", "fieldType": "Integer", "notNull": true, "belongPrimaryKey": true},

{"fieldName": "user_id", "fieldType": "String"},

{"fieldName": "order_code", "fieldType": "String"},

{"fieldName": "name", "fieldType": "String"},

{"fieldName": "points", "fieldType": "Double"},

{"fieldName": "msg", "fieldType": "String"},

{"fieldName": "amount", "fieldType": "Integer"},

{"fieldName": "nike_name", "fieldType": "String"},

{"fieldName": "address", "fieldType": "String"},

{"fieldName": "phone", "fieldType": "String"},

{"fieldName": "crete_time", "fieldType": "String"},

{"fieldName": "cancel_time", "fieldType": "String"},

{"fieldName": "over_time", "fieldType": "String"},

{"fieldName": "success_time", "fieldType": "String"},

{"fieldName": "order_type", "fieldType": "Integer"}

],

"indexes": [

{"indexName": "field1Index", "indexList": [{"fieldName":"id","sortType":"ASC"}]}

],

"permissions": [

{"role": "World", "rights": ["Read", "Upsert", "Delete"]},

{"role": "Authenticated", "rights": ["Read", "Upsert", "Delete"]},

{"role": "Creator", "rights": ["Read", "Upsert", "Delete"]},

{"role": "Administrator", "rights": ["Read", "Upsert", "Delete"]}

]

}

```

实体

```css

class PointsOrderInfo {

id: number;

user_id: string;

order_code: string;

name: string;

points: number;

msg: string;

amount: number;

nike_name: string;

address: string;

phone: string;

crete_time: string;

cancel_time: string;

over_time: string;

success_time: string;

order_type: number;

constructor() {

}

setId(id: number): void {

this.id = id;

}

getId(): number {

return this.id;

}

setUser_id(user_id: string): void {

this.user_id = user_id;

}

getUser_id(): string {

return this.user_id;

}

setOrder_code(order_code: string): void {

this.order_code = order_code;

}

getOrder_code(): string {

return this.order_code;

}

setName(name: string): void {

this.name = name;

}

getName(): string {

return this.name;

}

setPoints(points: number): void {

this.points = points;

}

getPoints(): number {

return this.points;

}

setMsg(msg: string): void {

this.msg = msg;

}

getMsg(): string {

return this.msg;

}

setAmount(amount: number): void {

this.amount = amount;

}

getAmount(): number {

return this.amount;

}

setNike_name(nike_name: string): void {

this.nike_name = nike_name;

}

getNike_name(): string {

return this.nike_name;

}

setAddress(address: string): void {

this.address = address;

}

getAddress(): string {

return this.address;

}

setPhone(phone: string): void {

this.phone = phone;

}

getPhone(): string {

return this.phone;

}

setCrete_time(crete_time: string): void {

this.crete_time = crete_time;

}

getCrete_time(): string {

return this.crete_time;

}

setCancel_time(cancel_time: string): void {

this.cancel_time = cancel_time;

}

getCancel_time(): string {

return this.cancel_time;

}

setOver_time(over_time: string): void {

this.over_time = over_time;

}

getOver_time(): string {

return this.over_time;

}

setSuccess_time(success_time: string): void {

this.success_time = success_time;

}

getSuccess_time(): string {

return this.success_time;

}

setOrder_type(order_type: number): void {

this.order_type = order_type;

}

getOrder_type(): number {

return this.order_type;

}

}

export { PointsOrderInfo };

```

db类

```css

import { cloudDatabase } from '@kit.CloudFoundationKit';

class points_order_info extends cloudDatabase.DatabaseObject {

public id: number;

public user_id: string;

public order_code: string;

public name: string;

public points: number;

public msg: string;

public amount: number;

public nike_name: string;

public address: string;

public phone: string;

public crete_time: string;

public cancel_time: string;

public over_time: string;

public success_time: string;

public order_type: number;

public naturalbase_ClassName(): string {

return 'points_order_info';

}

}

export { points_order_info };

```

然后我们开始提交数据

```css

Text("确认兑换")

.fontColor(Color.White)

.padding(10)

.borderRadius(10)

.backgroundColor("#d81e06")

.fontSize(14)

.onClick(async ()=>{

if (this.addressInfo!=null) {

let order=new points_order_info()

order.id=Math.floor(Math.random() * 1000000)

order.user_id=String(this.user!.user_id)

order.order_code=Math.floor(Math.random() * 1000000)+"1013"

order.url=this.pointsProduct!.url

order.name=this.pointsProduct!.name

order.points=this.pointsProduct!.points

if (this.remark!='') {

order.msg=this.remark

}else {

order.msg="无"

}

order.amount=1

order.nike_name=this.addressInfo.nikeName

order.address=this.addressInfo.address

order.phone=this.addressInfo.phone

order.crete_time=this.thisTime()

let num = await databaseZone.upsert(order);

if (num>0) {

showToast("兑换成功")

}

}else {

showToast("请选择地址")

}

})

```

到这里我们的兑换订单提交就完成了

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档