cards_helper.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php declare(strict_types=1);
  2. namespace mtopcard;
  3. use trans_wapper;
  4. use Exception;
  5. use Log;
  6. class cards_helper
  7. {
  8. static public function reserve($card_type, $amount, $userid, $user_card_no, $user_card_type,$order_id = 0)
  9. {
  10. try {
  11. $model = Model('card_key');
  12. $trans = new trans_wapper($model, __METHOD__);
  13. $info = $model->getUsable($card_type, $amount);
  14. if (empty($info)) {
  15. Log::record("cards_helper::reserve 找不到可用的卡了", Log::ERR);
  16. return false;
  17. }
  18. $card = new CardPaper($info);
  19. $card_id = $card->card_id();
  20. $model->reserve($card_id);
  21. $ret = $model->where(['card_id' => $card_id])
  22. ->update(['member_id' => $userid,
  23. 'order_id' => $order_id,
  24. 'receive_card_no' => $user_card_no,
  25. 'receive_card_type' => $user_card_type,
  26. 'reserved_time' => time()]);
  27. $rows = $model->affected_rows();
  28. $trans->commit();
  29. return ($ret && $rows > 0);
  30. } catch (Exception $e) {
  31. $trans->rollback();
  32. Log::record("cards_helper::reserve exception {$e}", Log::ERR);
  33. return false;
  34. }
  35. }
  36. static public function assign($card_id, $oper_name)
  37. {
  38. try {
  39. $model = Model('card_key');
  40. $trans = new trans_wapper($model, __METHOD__);
  41. $ret = $model->assign($card_id, $oper_name);
  42. $rows = $model->affected_rows();
  43. $trans->commit();
  44. return ($ret && $rows > 0);
  45. } catch (Exception $e) {
  46. $trans->rollback();
  47. Log::record("cards_helper::assign exception {$e}", Log::ERR);
  48. return false;
  49. }
  50. }
  51. static public function reuse($card_id)
  52. {
  53. try {
  54. $model = Model('card_key');
  55. $trans = new trans_wapper($model, __METHOD__);
  56. $ret = $model->reuse($card_id);
  57. $rows = $model->affected_rows();
  58. $trans->commit();
  59. return ($ret && $rows > 0);
  60. } catch (Exception $e) {
  61. $trans->rollback();
  62. Log::record("cards_helper::reuse exception {$e}", Log::ERR);
  63. return false;
  64. }
  65. }
  66. static public function freeze($card_id)
  67. {
  68. try {
  69. $model = Model('card_key');
  70. $trans = new trans_wapper($model, __METHOD__);
  71. $ret = $model->freeze($card_id);
  72. $rows = $model->affected_rows();
  73. $trans->commit();
  74. return ($ret && $rows > 0);
  75. } catch (Exception $e) {
  76. $trans->rollback();
  77. Log::record("cards_helper::freeze exception {$e}", Log::ERR);
  78. return false;
  79. }
  80. }
  81. static public function unfreeze($card_id)
  82. {
  83. try {
  84. $model = Model('card_key');
  85. $trans = new trans_wapper($model, __METHOD__);
  86. $ret = $model->unfreeze($card_id);
  87. $rows = $model->affected_rows();
  88. $trans->commit();
  89. return ($ret && $rows > 0);
  90. } catch (Exception $e) {
  91. $trans->rollback();
  92. Log::record("cards_helper::unfreeze exception {$e}", Log::ERR);
  93. return false;
  94. }
  95. }
  96. }