mtopcard.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. namespace mtopcard;
  3. #用户卡的类型
  4. const UnknownCard = 0;
  5. const PetroChinaCard = 1; //中石油
  6. const SinopecCard = 2; //中石化
  7. const PhoneCard = 3; //手机卡
  8. #卡的状态
  9. const CardNormal = 1;
  10. const CardDeled = 2;
  11. #限制参数
  12. const UserMaxCards = 10;
  13. const CardMaxUsers = 5;
  14. #card_key参数设置
  15. const UnusedCard = 0;
  16. const ReserveCard = 1;
  17. const AssignedCard = 2;
  18. #充值卡类型
  19. const OilCardPaper = 1;
  20. const PhoneCardPaper = 2;
  21. function month_stamp() : int {
  22. $date = getdate();
  23. $stamp = $date['year'] * 100 + $date['mon'];
  24. return $stamp;
  25. }
  26. function topcard_type($str_type)
  27. {
  28. if(empty($str_type)) {
  29. return UnknownCard;
  30. }
  31. $str_type = trim(strtolower($str_type));
  32. if($str_type == 'petrochina') { //中石油
  33. return PetroChinaCard;
  34. }
  35. elseif ($str_type == 'sinopec') { //中石化
  36. return SinopecCard;
  37. }
  38. elseif($str_type == 'phone') { //手机卡
  39. return PhoneCard;
  40. }
  41. else {
  42. return UnknownCard;
  43. }
  44. }
  45. function scard_type($card_type)
  46. {
  47. if($card_type == PetroChinaCard) { //中石油
  48. return 'petrochina';
  49. }
  50. elseif ($card_type == SinopecCard) { //中石化
  51. return 'sinopec';
  52. }
  53. elseif($card_type == PhoneCard) { //手机卡
  54. return 'phone';
  55. }
  56. else {
  57. return 'unknown';
  58. }
  59. }
  60. require_once(BASE_HELPER_PATH . '/mtopcard/topcard.php');
  61. require_once(BASE_HELPER_PATH . '/mtopcard/user_topcards.php');
  62. require_once(BASE_HELPER_PATH . '/mtopcard/CardPaper.php');
  63. require_once(BASE_HELPER_PATH . '/mtopcard/cards_helper.php');
  64. function priority_cards($member_id, $page_type = '')
  65. {
  66. if($page_type == 'oil') {
  67. $types = [PetroChinaCard,SinopecCard];
  68. }
  69. elseif($page_type == 'phone') {
  70. $types = [PhoneCard];
  71. }
  72. else {
  73. $types = [PetroChinaCard,SinopecCard,PhoneCard];
  74. }
  75. $user_cards = new user_topcards($member_id);
  76. return $user_cards->priority_cards($types);
  77. }
  78. function topcard_format($card_list)
  79. {
  80. $ret = [];
  81. foreach ($card_list as $item) {
  82. $card = new topcard($item);
  83. $item = $card->format();
  84. $item['card_type'] = scard_type($item['card_type']);
  85. $ret[] = $item;
  86. }
  87. return $ret;
  88. }