会员管理系统实战开发教程07-会员消费

简介: 会员管理系统实战开发教程07-会员消费

上一篇我们讲解了会员的充值,会员消费和充值的逻辑类似,也是先记录消费金额,然后给会员卡余额减去消费金额,有个逻辑是如果余额不足需要提示信息。

1 创建消费记录表

我们先需要创建表来保存会员的消费记录信息,打开控制台,点击数据模型,点击+

输入数据源的名称消费记录

点击编辑按钮进入添加字段视图

添加字段,输入消费金额,类型选择数字

添加字段,输入消费日期,类型选择日期时间

添加字段,输入所属会员卡,类型选择关联关系,数据模型选择会员卡

2 生成模型页面

数据源添加好之后,打开我们的模型应用,点击新建页面

选择表格与表单页,数据模型选择消费记录

平台会根据数据源的字段自动生成相关页面

3 搭建消费记录新增页面

平台生成的页面是方便我们查询数据,真正的业务我们是在会员列表页面完成。切换到会员列表页面,在页面下边增加一个普通容器,下边增加一个表单容器

当我们点击更多图标时,会弹出功能菜单,这个时候点击消费就需要显示我们的普通容器

控制容器是否显示是通过组件的条件展示属性来决定的,在微搭中变量类型如果是布尔值就比较适合。布尔值有两个取值,要么为true,要么为false。条件展示如果绑定变量,我们根据变量的值来决定是否要显示组件。

在代码区创建一个布尔值变量

然后给普通容器绑定条件展示

为了让页面居中显示,我们需要设置一下样式,选择绝对定位

当我们点击消费按钮的时候,让我们的变量赋值为true

页面可以正常弹出后,我们需要增加一个关闭按钮,我们用图标来替代关闭按钮。找到表单容器的标题,在下边添加一个图标组件

设置普通容器的样式为两端对齐

self {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
}

点击图标的时候我们把变量赋值为false,实现页面的关闭

4 配置所属会员卡

目前表单容器生成的所属会员卡下拉字段,列出了所有的会员卡,实际的规则是当选择哪个会员的时候应该显示该会员下的会员卡。我们需要给下拉选择设置筛选条件

4 实现消费的业务逻辑

我们消费的逻辑是先判断余额是否充足,如果充足我们就增加消费记录并且更新会员卡的余额,如果不足提示信息。首先我们需要得到需要给哪张会员卡添加消费记录,给下拉选择定义一个值改变事件

让我们的选中值赋值给我们的变量

得到卡的ID后,我们要自己实现提交的逻辑,在代码区定义一个自定义方法

输入如下代码

export default async function({event, data}) {
   const money =Number( $w.inputNumber4.value)
   console.log("消费金额",money)
   const currentDay = $w.date4.value
   console.log("消费日期",currentDay)
   const cardid = $w.select4.value
   console.log("卡ID",cardid)
   const card = await $w.cloud.callDataSource({
      dataSourceName: "hykxx_gmcze7h",
      methodName: "wedaGetItemV2",
      params: {
        // 筛选内容,筛选内容推荐使用编辑器数据筛选器生成
        filter: {
          where: {
            $and: [
              {
                _id: {
                  $eq:cardid, // 获取单条时,推荐传入_id数据标识进行操作
                },
              },
            ],
          },
        },
        select: {
          $master: true, // 常见的配置,返回主表
        },
      },
    });
    console.log("卡信息",card)
    const currentCardYue = card.ye
    console.log("当前余额",currentCardYue)
    if((currentCardYue-money)>=0){
      await $w.cloud.callDataSource({
      dataSourceName: "xfjl_vcdjkih",
      methodName: "wedaCreateV2",
      params: {
        data: {
          xfje: money,
          xfrq: currentDay,
          sshyk:cardid
        },
      },
    });
      await $w.cloud.callDataSource({
      dataSourceName: "hykxx_gmcze7h",
      methodName: "wedaUpdateV2",
      params: {
        // 更新数据
        data: {
          ye: currentCardYue-money,
        },
        // 筛选内容,筛选内容推荐使用编辑器数据筛选器生成
        filter: {
          where: {
            $and: [
              {
                _id: {
                  $eq: cardid, // 更新单条时,推荐传入_id数据标识进行操作
                },
              },
            ],
          },
        },
      },
    });
    }else{
      $w.utils.showToast({
        title:'余额不足',
        icon:'error'
      })
    }
}

提交方法写好之后,我们要把表单容器默认的方法改成我们的自定义方法

提交成功后我们要把页面关闭,再给变量赋一下值即可

总结

我们用7篇的篇幅介绍了会员管理系统的管理端如何开发,分别开发了会员的注册、开卡、充值、消费等几个基本功能。微搭是使用模型应用来开发管理端的,像基本的增删改查这些操作是由平台自动生成的,但是一些业务操作,比如我们本篇介绍的消费功能还是要自己通过写代码的方式完成业务逻辑的编制。

感兴趣的同学照着做一遍吧,马上你也可以拥有自己的会员管理软件了。

相关文章
|
前端开发 数据安全/隐私保护
web前端----------网页中的输入框
web前端----------网页中的输入框
|
16天前
|
机器学习/深度学习 人工智能 JSON
构建AI智能体:二十八、大语言模型BERT:原理、应用结合日常场景实践全面解析
BERT是谷歌2018年推出的革命性自然语言处理模型,采用Transformer编码器架构和预训练-微调范式。其核心创新在于双向上下文理解和掩码语言建模,能有效处理一词多义和复杂语义关系。BERT通过多层自注意力机制构建深度表示,输入融合词嵌入、位置嵌入和段落嵌入,输出包含丰富上下文信息的向量。主要应用包括文本分类、命名实体识别、问答系统等,在搜索优化、智能客服、内容推荐等领域发挥重要作用。
442 10
|
SQL 存储 安全
Web 常见攻击方式及防御方法
【10月更文挑战第25天】Web 安全是一个复杂而重要的领域,攻击者不断寻找新的攻击方法,我们需要不断加强防御措施,提高安全意识,以保障 Web 应用的安全运行。通过采取多种防御手段的综合运用,我们可以有效地降低 Web 攻击的风险,保护用户的信息和财产安全。同时,随着技术的不断发展,我们也需要持续关注和研究新的安全威胁和防御方法,以应对不断变化的安全形势。
1485 56
会员管理系统实战开发教程06-会员充值
会员管理系统实战开发教程06-会员充值
|
存储 弹性计算 数据库
阿里云服务器租用收费价格参考,弹性裸金属服务器架构云服务器收费价格表
弹性裸金属服务器架构阿里云服务器有计算型弹性裸金属服务器ebmc7、内存型弹性裸金属服务器ebmr7、AMD计算型弹性裸金属服务器ebmc7a、通用型弹性裸金属服务器ebmg6等实例规格可选,不同实例规格的租用收费价格是不一样的,本文为大家汇总了目前基于弹性裸金属服务器架构下的各个实例规格的阿里云服务器收费标准,以供参考。
阿里云服务器租用收费价格参考,弹性裸金属服务器架构云服务器收费价格表
|
关系型数据库 MySQL 数据处理
针对MySQL亿级数据的高效插入策略与性能优化技巧
在处理MySQL亿级数据的高效插入和性能优化时,以上提到的策略和技巧可以显著提升数据处理速度,减少系统负担,并保持数据的稳定性和一致性。正确实施这些策略需要深入理解MySQL的工作原理和业务需求,以便做出最适合的配置调整。
1522 6
会员管理系统实战开发教程03-会员管理功能
会员管理系统实战开发教程03-会员管理功能
|
缓存 Android开发 开发者
安卓系统优化:提升手机性能的秘诀
【5月更文挑战第31天】本文将探讨如何通过一系列简单的步骤和技巧,对安卓系统进行优化,以提升手机的性能。我们将从清理无用文件、管理后台应用、调整系统设置等方面入手,帮助你的安卓设备运行更加流畅。
|
前端开发
会员系统02--,后台管理系统,包含网站运营,统计分析,用户中心,财务管理,资金明细,系统管理,参数配置,后台管理系统可以观看配置资料,广告位的相关资料,客服工单最主要是客户反馈给我们的问题,登录统计
会员系统02--,后台管理系统,包含网站运营,统计分析,用户中心,财务管理,资金明细,系统管理,参数配置,后台管理系统可以观看配置资料,广告位的相关资料,客服工单最主要是客户反馈给我们的问题,登录统计
|
Java 关系型数据库 MySQL
基于SpringBoot+Vue的会员管理系统 (源码+部署说明+演示视频+源码介绍)(1)
基于SpringBoot+Vue的会员管理系统 (源码+部署说明+演示视频+源码介绍)
383 0