Transfer.php 1.5 KB

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