《仿盒马》app开发技术分享-- 订单提交逻辑完善(74)

鸿蒙小林
• 阅读 5

## 技术栈

Appgallery connect

开发准备

上一节我们实现了兑换订单的提交功能,并且成功的把数据提交到云端,但是我们的业务逻辑并没有完全实现,我们只是把数据提交到了云端,但我们的积分还存在,我们回到积分数据查看的页面也没有消费积分的记录,这一节我们要实现的就是完善订单提交的业务逻辑

功能分析

首先我们要在兑换完成后把用户信息的积分给扣除掉,点击按钮后进行云端交互修改用户信息表,然后我们在兑换成功时新增一条积分消费记录。

代码实现

我们先在订单提交的时候修改用户信息表的内容

 if (num>0) {
                  showToast("兑换成功")

                  let userData=new user_info()
                  userData.id=this.userInfo!.id
                  userData.user_id=this.userInfo!.user_id
                  userData.sex=this.userInfo!.sex
                  userData.bind_phone=this.userInfo!.bind_phone
                  userData.create_time=this.userInfo!.create_time
                  userData.nickname=this.userInfo!.nickname
                  userData.head_img=this.userInfo!.head_img
                  userData.money=this.userInfo!.money
                  userData.points=this.userInfo!.points-this.pointsProduct!.points
                  let s= await databaseZone.upsert(userData);
                }

修改完用户信息之后,我们同时还需要新增一条积分收支记录,在收支记录添加前,还需要实现一个时间获取的方法


@State year:string=''
  @State month:string=''
  @State day:string=''
  @State time:string=''
  formatCurrent() {
    const now = new Date();

    const years = now.getFullYear();
    const months = String(now.getMonth() + 1).padStart(2, '0');
    const days = String(now.getDate()).padStart(2, '0');
    const m_hours = String(now.getHours()).padStart(2, '0');
    const m_minutes = String(now.getMinutes()).padStart(2, '0');
    const m_seconds = String(now.getSeconds()).padStart(2, '0');
    this.year=String(years)
    this.month=months
    this.day=days
    this.time=m_hours+":"+m_minutes+":"+m_seconds
  }

记录生成

 let points=new points_info()
                  points.id=Math.floor(Math.random() * 1000000)
                  points.user_id=this.user!.user_id
                  points.points=String(this.pointsProduct?.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 points_nums =  await databaseZone.upsert(points);

到这里我们的订单提交逻辑就彻底完善了

点赞
收藏
评论区
推荐文章
鸿蒙小林 鸿蒙小林
12小时前
《仿盒马》app开发技术分享-- 订单地址修改(31)
技术栈Appgalleryconnect开发准备上一节我们实现了订单备注弹窗,订单商品列表的提交,订单列表的提交,提交之后的业务逻辑我们并没有去处理,那么订单提交之后我们需要进入到什么页面呢?这时候我们需要一个过渡页面,它能给我们提供更多的订单相关的入口,
鸿蒙小林 鸿蒙小林
12小时前
《仿盒马》app开发技术分享-- 旧物回收订单列表(43)
技术栈Appgalleryconnect开发准备上一节我们实现了订单的创建,并且成功吧数据提交到云数据库中,这一节我们实现的内容是展示我们提交的订单列表功能分析要实现订单列表的展示,首先我们要查询对应用户下的订单列表,查询出对应的订单列表后,展示出对应的数
鸿蒙小林 鸿蒙小林
12小时前
《仿盒马》app开发技术分享-- 回收金提现安全锁校验(55)
技术栈Appgalleryconnect开发准备上一节我们实现了回收金提现记录的展示功能,我们回收金相关的内容更加的丰富了,在之前的业务逻辑中我们添加了一个设置安全锁的功能,虽然我们成功设置了安全锁,也把对应的表信息提交到云端,但是我们并没有在提现的流程中
鸿蒙小林 鸿蒙小林
12小时前
《仿盒马》app开发技术分享-- 个人中心页优化(62)
技术栈Appgalleryconnect开发准备上一节我们实现了订单逻辑的优化,现在我们的app功能更加的完善了,并且随着我们的迭代逻辑疏漏越来越少,现在我们继续进行优化,在之前的业务逻辑中我们的个人中心页面展示了用户的余额以及积分商城入口,这里我们要展示
鸿蒙小林 鸿蒙小林
12小时前
《仿盒马》app开发技术分享-- 我的积分页(63)
技术栈Appgalleryconnect开发准备上一节我们实现了个人中心页面的业务逻辑优化,成功的在用户登陆退出状态下展示对应的组件内容,这一节我们来实现app中另外一个比较重要的模块积分模块。功能分析因为我们的回收订单是跟回收金积分是绑定的,我们在完成回
鸿蒙小林 鸿蒙小林
12小时前
《仿盒马》app开发技术分享-- 兑换商品数据插入(67)
技术栈Appgalleryconnect开发准备上一节我们实现了积分列表的展示,我们可以更直观的查看当前用户积分的收支情况,但是现在我们只有积分收入并没有消费的地方,所以现在我们开始着手积分兑换相关的内容。这一节我们来实现积分兑换商品的内容功能分析首先我们
鸿蒙小林 鸿蒙小林
12小时前
《仿盒马》app开发技术分享-- 兑换提交准备(72)
技术栈Appgalleryconnect开发准备上一节我们实现了地址的选择,商品数据的展示,我们页面中需要的提交的内容还有所欠缺,我们还需要新增一些展示兑换细节的组件,同时在提交之前还需要实现备注功能,我们还要在页面中展示一些积分相关的内容,告知用户积分的
鸿蒙小林 鸿蒙小林
12小时前
《仿盒马》app开发技术分享-- 兑换订单提交(73)
技术栈Appgalleryconnect开发准备上一节我们实现了兑换提交前的准备页面,向用户展示了兑换相关的所有信息,这一节我们就可以实现兑换订单的提交了功能分析订单提交我们需要创建对应的兑换商品订单提交信息表,我们需要把地址,商品信息,积分,备注,订单状
鸿蒙小林 鸿蒙小林
12小时前
《仿盒马》app开发技术分享-- 兑换订单列表框架(75)
技术栈Appgalleryconnect开发准备上一节我们针对订单兑换的业务逻辑进行了完善,成功的在兑换物品之后修改了用户信息的修改,新增了积分消费的记录。这一节我们实现订单创建之后进入的列表展示页框架。功能分析兑换商品的订单列表框架我们选择使用tabs,
鸿蒙小林 鸿蒙小林
12小时前
《仿盒马》app开发技术分享-- 逻辑优化第二弹(82)
技术栈Appgalleryconnect开发准备这一节我们继续对我们已有的业务逻辑进行优化,在积分兑换完商品后我们回到积分展示页面发现积分的数量并没有减少,而是重新进入才会发生变化,上一节我们实现商城订单的确认揽收之后继续在待收货页面实现确认揽收按钮的业务