技术栈
Appgallery connect
开发准备
随着上一节我们兑换商品订单相关逻辑的实现,我们的app功能已经更加的完善了,接下来我们开始对整个app缺失的小功能以及对已有的功能bug进行优化和逻辑的新增,这一节我们新增的功能是,商城订单的揽收 功能,兑换订单的取消后积分退回功能,如果不实现积分退回,就会出现用户兑换后取消订单,但是积分已经消耗的情况
功能分析
要实现商城订单的揽收功能,首先需要在待发货列表里新增确认揽收按钮,并新增修改订单状态的功能,然后我们在兑换订单点击取消按钮后把扣除掉用户的积分返还给用户。
代码实现
首先我们在列表中新增确认揽收按钮,实现相关的逻辑
Row({space:10}){
Text()
Blank()
Text("确认揽收")
.fontColor(Color.Black)
.fontSize(12)
.padding(5)
.borderRadius(10)
.backgroundColor(Color.Pink)
.onClick(async ()=>{
let orderPush=new order_list()
orderPush.id=item.id
orderPush.user_id=this.user!.user_id
orderPush.order_product_id=item.order_product_id
orderPush.order_code=item.order_code
orderPush.order_status=1
orderPush.order_remark=item.order_remark
orderPush.address=item.address
orderPush.nickname=item.nickname
orderPush.phone=item.phone
orderPush.order_create_time=item.order_create_time
orderPush.order_pay_time=this.formatCurrentDate()
orderPush.order_delivery_time=this.formatCurrentDate()
let num = await databaseZone.upsert(orderPush);
if (num>0) {
this.onRefresh()
showToast("揽收成功")
}
})
}
.width('100%')
然后我们实现积分兑换订单取消后把积分返还给用户
if (num>0) {
showToast("兑换取消成功")
let points=new points_info()
points.id=Math.floor(Math.random() * 1000000)
points.user_id=this.user!.user_id
points.points=String(item.points)
points.points_type='0'
points.address='客户端下单奖励'
points.year=this.year
points.month=this.month
points.day=this.day
points.time=this.time
points.create_time=this.year+"-"+this.month+"-"+this.day+" "+this.time
let nums1 = await databaseZone.upsert(points);
this.onRefresh()
}
现在我们就不会出现用户退单后积分已经消费的问题了