Transfer.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App\Module\Fund\Service;
  3. use App\Module\Fund\Models\FundTransferModel;
  4. use UCore\Trace;
  5. /**
  6. * Class Transfer 转账的服务层
  7. *
  8. * @package logic\user\fund\Service
  9. */
  10. class Transfer
  11. {
  12. /**
  13. * 日志信息
  14. *
  15. * @param $id
  16. */
  17. public static function logInfo($id)
  18. {
  19. $info = fundTransfer::findFirstById($id)->toArray();;
  20. $info['user_id_info'] = \logic\user\User::user_info($info['user_id']);
  21. return $info;
  22. }
  23. /**
  24. * 转账给别人
  25. *
  26. * @param $user_id
  27. * @param $to_user_id
  28. * @param $amount
  29. * @param $remark
  30. * @return bool|\Phalcon\Mvc\Model\Resultset|\Phalcon\Mvc\Phalcon\Mvc\Model|string
  31. */
  32. public static function to_user(
  33. $user_id,
  34. $fund_id,
  35. $to_user_id,
  36. $amount,
  37. $remark)
  38. {
  39. Trace::addData('info', func_get_args());
  40. $data = [
  41. 'fund_id' => $fund_id,
  42. 'user_id' => $user_id,
  43. 'to_user_id' => $to_user_id,
  44. 'remark' => $remark,
  45. 'amount' => $amount
  46. ];
  47. # 进行验证
  48. $va = new \App\Module\Fund\Validations\Transfer($data);
  49. $va->validate();
  50. if ($va->isFail()) {
  51. return $va->firstError();
  52. }
  53. $Model = new FundTransferModel();
  54. $Model->setData($data);
  55. if ($Model->save() === false) {
  56. return $Model->getMessage();
  57. }
  58. return (int)$Model->id;
  59. }
  60. }