JerryZhou_ 2016-12-16 10:02 采纳率: 100%
浏览 6506
已采纳

讨论下关于APP钱包充值提现功能

公司APP近期希望内置一个钱包功能、相当于微信零钱一样、
可以充值,提现,软件内部支付

另外会涉及充值送钱的功能,但是充值送的钱在提现和消费方面都有限制;
比如充值1000送200,账户里面有1200;提现的时候只能提现(提现额-200),
当(提现额-200)小于0的时候不能提现。比如还剩150就不能提现,但是150还能
继续支付使用;此时又有充值500送100的活动,如果提现的话,就只能提现500元;
但是你再次消费的时候,会先消费上次剩余的150元;

主要是想请教下各位这个在设计的时候应该注意啥?
初步是想设计成 主账户(充值的钱)和副账户(送的钱)
优先使用主账户的钱;但还是会有一些其他的矛盾,希望各位
大拿们能说说自己的看法、谢谢....

  • 写回答

5条回答 默认 最新

  • nanjun520 2016-12-20 02:08
    关注

    给你一个简单的 实现 例子吧,命名上我用中文说明,这样好说明点
    数据库:
    moneytb:金钱的表名称 costtb:消费记录表
    mid:钱表的id uid:用户账号id cid:消费记录id
    mtm:时间 ctm:消费时间
    mnum:金钱数量
    mtype:金钱的类型(这个你可以自己定义,可以定义一个二进制的规则也可以是简单是数字,来标示是否能体现和消费等)
    mclevel:这个就是花费的等级,这个值一直往上加。
    表 moneytb(mid,uid,mnum,mrule,mclevel,mtm)
    costtb(cid,uid,mid,cnum,ctm)
    mclevel这个值的更新需要注意一点,例如第一次充值的设置为1,第一次送的设置为2,第二次充值的设置为3,第二次送的设置为4
    新添加的钱的mid也是增加的,这个会和uid绑定,所以不会乱。
    接下来就是上层 怎么处理这个问题了,在消费的时候 你根据uid可以查询moneytb 里面的 mnum>0 的数量出来,并且按照mclevel排序。
    这样你拿到的数据就是你需要消费的 钱的优先级了。 数据的更新也不难,因为有mid你可以直接更新,记住在costtb里面添加消费记录,以便以后查询交易记录使用,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 一道python难题2
  • ¥15 一道python难题
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备