Bill.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace app\api\controller\card\number;
  3. use app\api\controller\Api;
  4. /**
  5. * 账单
  6. */
  7. class Bill extends Api{
  8. protected $CardNumberBill = null;
  9. protected function init(){
  10. parent::init();
  11. $this->CardNumberBill = model('card.number.bill');
  12. }
  13. public function add(){
  14. $no = input('param.cardNo');
  15. if (empty($no)) {
  16. $this->output(1,'卡号不能为空');
  17. }
  18. $member_id = input('param.memberId');
  19. $CardNumber = model('card.Number');
  20. $number = $CardNumber->where(['no'=>$no,'member_id'=>$member_id])->find();
  21. if (!$number) {
  22. $this->output(1,'未找到该卡');
  23. }
  24. $amount = input('param.amount');
  25. $amount = floatval($amount);
  26. if ($amount > 0) {
  27. if ($number['balance'] < $amount) {
  28. $this->output(1,'卡余额不足');
  29. }
  30. }
  31. $this->CardNumberBill->startTrans();
  32. $number['balance'] -= $amount;
  33. $result = $number->save();
  34. if (!$result) {
  35. $this->CardNumberBill->rollback();
  36. $this->output(1,'保存失败');
  37. }
  38. $this->CardNumberBill->card_id = $number['card_id'];
  39. $this->CardNumberBill->number_id = $number['id'];
  40. $this->CardNumberBill->member_id = $member_id;
  41. $this->CardNumberBill->amount = $amount * -1;
  42. $this->CardNumberBill->order_no = input('param.orderNo');
  43. $this->CardNumberBill->is_vir = input('param.is_vir');
  44. $result = $this->CardNumberBill->save();
  45. if (!$result) {
  46. $this->CardNumberBill->rollback();
  47. $this->output(1,'保存失败');
  48. }
  49. $this->CardNumberBill->commit();
  50. $this->output(0,'保存成功');
  51. }
  52. }