CashSend.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <?php
  2. /**
  3. * 下单行为类.
  4. * User: qissen
  5. * Date: 2018/2/19
  6. * Time: 13:59
  7. */
  8. namespace app\mobile_v_2_1\behavior;
  9. use app\core\model\Cash;
  10. use app\core\model\Cang;
  11. use app\core\model\Sms;
  12. use app\core\model\UserAccount;
  13. use app\core\service\Finance;
  14. use think\Db;
  15. use think\Exception;
  16. use think\Log;
  17. class CashSend
  18. {
  19. //下单成功
  20. public function run(&$params)
  21. {
  22. return true;
  23. Log::write('CashSend', 'behavior');
  24. //return true;
  25. // 行为逻辑
  26. $cang = $params['cang'];
  27. $user = $params['user'];
  28. if($cang['isForged'] == 1) {
  29. return true;
  30. }
  31. $money = 0;
  32. $moneySubject = (int)$cang['moneySubject'];
  33. if($cang->subject['subjectTypeID'] == 1) {
  34. return true;
  35. }
  36. else if($cang->subject['subjectTypeID'] == 2) {
  37. /*if($moneySubject >= 0) {
  38. $money = 1;
  39. }*/
  40. if($moneySubject >= 50000) {
  41. $money = 108;
  42. }
  43. if($moneySubject >= 100000) {
  44. $money = 228;
  45. }
  46. if($moneySubject >= 150000) {
  47. $money = 368;
  48. }
  49. }
  50. else if($cang->subject['subjectTypeID'] == 3) {
  51. if($moneySubject >= 50000) {
  52. $money = 268;
  53. }
  54. if($moneySubject >= 100000) {
  55. $money = 638;
  56. }
  57. if($moneySubject >= 150000) {
  58. $money = 1028;
  59. }
  60. }
  61. else if($cang->subject['subjectTypeID'] == 4) {
  62. if($moneySubject >= 50000) {
  63. $money = 418;
  64. }
  65. if($moneySubject >= 100000) {
  66. $money = 788;
  67. }
  68. if($moneySubject >= 150000) {
  69. $money = 1228;
  70. }
  71. }
  72. if($money == 0) {
  73. return true;
  74. }
  75. $fromUserAccount = '15825631526';
  76. Db::startTrans();
  77. try{
  78. //第一步
  79. $finance = new Finance();
  80. $trade = new \Trade();
  81. $trade->setPayment($fromUserAccount);
  82. $trade->setReceive($user['mobile']);
  83. $trade->setMoney($money);
  84. $trade->setRem('现金鼓励');
  85. $result = $finance->order($msg, $trade);
  86. if(!$result) {
  87. Db::rollback();
  88. return true;
  89. }
  90. //第二步
  91. $cash = Cash::create([
  92. 'mode'=>Cash::MODE_CANG,
  93. 'modeID'=>$cang['cangID'],
  94. 'outerNumber'=>$result,
  95. 'userID'=>$user['userID'],
  96. 'fromUser'=>$fromUserAccount,
  97. 'money'=>$money,
  98. 'status'=>1
  99. ]);
  100. //第三步
  101. $user->userAccount = $user->userAccount->MODE_cashsend_addMoney($cash, $user);
  102. //第四步,发送短信
  103. $value = '三重活动'.$money.'元现金';
  104. $phone = '400-005-8155';
  105. Sms::create([
  106. 'mobile'=>$user['mobile'],
  107. 'message'=>'【佳乾财富】亲爱的用户,'.$value.'已到账,赶快登录app查收哦!祝您新的一年工作顺利,事事顺心!'.$phone,
  108. 'note'=>'三重活动',
  109. 'sendTime'=>THINK_START_TIME
  110. ]);
  111. Db::commit();
  112. }
  113. catch (Exception $e) {
  114. Log::write($e->getMessage().'|'.$e->getLine().'|'.$e->getFile(), 'behavior');
  115. Db::rollback();
  116. }
  117. return true;
  118. }
  119. }