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 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制