第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

《仿盒馬》app開發(fā)技術(shù)分享-- 邏輯優(yōu)化第一彈(81)

標(biāo)簽:
鴻蒙 HarmonyOS

技术栈

Appgallery connect

开发准备

随着上一节我们兑换商品订单相关逻辑的实现,我们的app功能已经更加的完善了,接下来我们开始对整个app缺失的小功能以及对已有的功能bug进行优化和逻辑的新增,这一节我们新增的功能是,商城订单的揽收
功能,兑换订单的取消后积分退回功能,如果不实现积分退回,就会出现用户兑换后取消订单,但是积分已经消耗的情况,这时我们的业务逻辑就产生了一个bug,造成了一个比较抽象的情况。

功能分析

要实现商城订单的揽收功能,首先需要在待发货列表里新增确认揽收按钮,并新增修改订单状态的功能,在实现确认揽收时,我们要注意的是id的问题,在这里我们实现了upsert方法去修改数据源,在修改之前我们就拿到了数据,所以在修改的时候我们需要的id是我们查询出来的id,不是我们新增的id,如果我们新增id,就会在后端创建一跳出了id以外一摸一样的数据,造成数据错乱,然后我们在兑换订单点击取消按钮后把扣除掉用户的积分返还给用户,在积分返还的时候我们也要注意id的问题,只要是修改数据,我们的id都要是查询出来的id,不需要去实现一个随机数id

代码实现

首先我们在列表中新增确认揽收按钮,实现相关的逻辑,在确认揽收中我们提交了若干参数,在创建当前时间戳的时候我们还需要生成对应的时间戳方法。

 formatCurrentDate(): string {
    const now = new Date();

    const year = now.getFullYear();
    const month = String(now.getMonth() + 1).padStart(2, '0');
    const day = String(now.getDate()).padStart(2, '0');

    return `${year}-${month}-${day}`;
  }

接下来我们实现确认揽收相关的方法

 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()
                    }

现在我们就不会出现用户退单后积分已经消费的问题了

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消