我们正处于为客户提供订阅的网络应用程序的规划阶段.订阅期有所不同,可以由我们的客户无限期延长,但始终至少一个月(30天).

当客户注册时,客户信息(账单地址,电话号码等)存储在客户表中,并在订阅表中创建订阅:

id | start_date | end_date | customer_id

--------------------------------------------------------

1 | 2010-12-31 | 2011-01-31 | 1

每个月我们都会遍历订阅表(最好是cronjob)并为过去的订阅期创建发票,这些发票存放在他们自己的表中 – 发票.根据客户的不同,发票可以手动打印出来并通过邮件发送,或者只是通过电子邮件发送给客户.

由于我们的客户和产品的性质,我们需要提供各种不同的付款方式,包括电汇和信用卡付款,因此一些发票可能需要手工处理并由我们的员工注册.

每月15日,发票表都会循环显示,如果没有为实际发票标记付款,则相应的订阅将被删除.如果已注册付款,则订阅表中的end_date将再增加30天(或现在我们的客户选择的时间段).

我们是通过增加日期向前和向后来处理非付费客户和扩展订阅来看待头痛吗?随着客户扩展订阅,添加新订阅会更好吗?

mysql之间互相订阅_mysql – 开票和订阅的应用程序逻辑?相关推荐

  1. mysql 查询可以编辑器_mysql编辑器选择查询和python程序选择查询结果的区别

    我正在执行从python程序到MySQL 5.2.39数据库的select查询.但是mysql编辑器select query和python程序select query的结果略有不同.数据库名是worl ...

  2. mysql同步binlog_利用MySQL的Binlog实现数据同步与订阅(下)

    利用MySQL的Binlog实现数据同步与订阅(下)​blog.yuanpei.me 终于到这个系列的最后一篇,在前两篇博客中,我们分别了介绍了Binlog的概念和事件总线(EventBus)的实现, ...

  3. mysql binlog 订阅_数据库binlog订阅和消费组件canal快速入门

    一.什么是canal 1.定位 Canal是阿里巴巴开源的一款基于mysql数据库binlog增量日志分析提供数据订阅和消费功能的组件 2.原理 Canal模拟MySQL Slave协议,将自己伪装成 ...

  4. iOS 自动续期订阅,订阅升级降级、订阅时间、退收费处理

    自动续期订阅群组设置概述 设置自动续期订阅与设置其他 App 内购买项目类型不同.每个自动续期订阅产品需创建为订阅群组的一部分并为其分配等级.您对订阅群组的设置将决 定顾客如何订阅您的内容或服务.如何 ...

  5. mysql获取当月最后一天_mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天

    mysql获取当月最后一天_mysql中获取本月第一天.本月最后一天.上月第一天.上月最后一天等等 转自: https://blog.csdn.net/min996358312/article/det ...

  6. 创建电子杂志订阅表MySQL_MySQL—电子杂志订阅表的实现

    实践需求 (1)在mydb数据库中创建一张电子杂志表格(subscribe) (2)电子杂志订阅表中要包含四个字段,分别为编号(id).订阅邮件的邮箱地址(email) .用户是否确认订阅(statu ...

  7. Redis 笔记(10)— 发布订阅模式(发布订阅单个信道、订阅信道后的返回值分类、发布订阅多个信道)

    1. 发布-订阅概念 发布-订阅 模式包含两种角色,分别为发布者和订阅者. 订阅者可以订阅一个或者若干个频道(channel): 而发布者可以向指定的频道发送消息,所有订阅此频道的订阅者都可以收到此消 ...

  8. oracle类型sql转为mysql_Oracle和MySql之间SQL区别(等效转换以及需要注意的问题)...

    >本篇博文是Oracle和MySQL之间的等效SQL转换和不同,目前市面上没有转换两种SQL的工具,小编觉得以后也不一定会有,于是在业余时间整理了一下,如果有什么错误之处请留言告知,小编也是刚 ...

  9. python redis订阅_python实现 redis订阅与发布

    订阅者可以订阅一个或多个频道,发布者向一个频道发送消息后,所有订阅这个频道的订阅者都将收到消息,而发布者也将收到一个数值,这个数值是收到消息的订阅者的数量.订阅者只能收到自它开始订阅后发布者所发布的消 ...

最新文章

  1. 2016已经过去,2017即将开始
  2. Java中读取某个目录下的所有文件和文件夹
  3. 专访阿里云MVP王俊杰:开发者的超能力是用技术让世界更美好
  4. spring mysql 注解_【Spring】SpringMVC之基于注解的实现SpringMVC+MySQL
  5. jgGrid获得的id值是主键的id而不是jqGrid的行号值
  6. java8中Predicate用法
  7. Apache Cassandra static column 介绍与实战
  8. 理论基础 —— 栈 —— 链栈
  9. 可实现“一台主机多人同用”的 Windows MultiPoint Server 2011 中文正式版
  10. Android 屏幕适配:最全面的解决方案
  11. Android 屏幕防偷窥,Android 8.1将发布:启用TLS加密防偷窥
  12. ssh相关命令Linux,Linux SSH常用命令 [长期更新]...
  13. habernet备份mysql_harbor 安装
  14. 打火机与公主裙剧中的爱心
  15. 为什么OpenCV4 “pkg-config --modversion opencv”显示“ No package ‘opencv‘ found”?解决方法!
  16. 【小知识】VScode格式化代码配置及插件
  17. 直接在云端服务器里面修改代码,深夜折腾:实现云端服务器代码与Git库同步
  18. 仿个人税务 app html5_假个税APP蹭热点窃信息防不胜防,你千万别下载错了!
  19. php防止灌水,如何防止网站论坛有效灌水
  20. Th4.6:模板全特化、偏特化(局部特化)详述

热门文章

  1. HTML的onclick的this指向
  2. PHP的Static与Global
  3. java如何把string转化E_java将string转为代码执行
  4. 计算机省赛教案,《计算机系统的组成》最新 参赛教案.doc
  5. linux ubuntu安装教程6,64位Ubuntu下安装IE6步骤
  6. 一直在构建工作空间_国际资讯Python与地理空间分析
  7. linux5支持32,Red Hat发布RHEL5.3 可支持32颗虚拟CPU
  8. 清空mysql一个库中的所有表_mysql怎样清空一个数据库中的所有表_MySQL
  9. 【若依(ruoyi)】Swagger 上传接口
  10. mysql group by join_mysql – GROUP BY之后的LEFT JOIN?