BalancePaymentService.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. namespace app\data\service\payment;
  3. use app\data\model\DataUser;
  4. use app\data\model\DataUserBalance;
  5. use app\data\model\DataUserVipOrder;
  6. use app\data\model\ShopOrder;
  7. use app\data\service\PaymentService;
  8. use app\data\service\UserBalanceService;
  9. use think\admin\Exception;
  10. use think\admin\extend\CodeExtend;
  11. /**
  12. * 账号余额支付参数处理
  13. * Class BalancePaymentService
  14. * @package app\data\service\payment
  15. */
  16. class BalancePaymentService extends PaymentService
  17. {
  18. /**
  19. * 订单信息查询
  20. * @param string $orderNo
  21. * @return array
  22. */
  23. public function query(string $orderNo): array
  24. {
  25. return [];
  26. }
  27. /**
  28. * 支付通知处理
  29. * @return string
  30. */
  31. public function notify(): string
  32. {
  33. return 'SUCCESS';
  34. }
  35. /**
  36. * 创建订单支付参数
  37. * @param string $openid 用户OPENID
  38. * @param string $orderNo 交易订单单号
  39. * @param string $payAmount 交易订单金额(元)
  40. * @param string $payTitle 交易订单名称
  41. * @param string $payRemark 订单订单描述
  42. * @param string $payReturn 完成回跳地址
  43. * @param string $payImage 支付凭证图片
  44. * @return array
  45. * @throws \think\admin\Exception
  46. * @throws \think\db\exception\DataNotFoundException
  47. * @throws \think\db\exception\DbException
  48. * @throws \think\db\exception\ModelNotFoundException
  49. */
  50. public function create(string $openid, string $orderNo, string $payAmount, string $payTitle, string $payRemark, string $payReturn = '', string $payImage = '',string $notify_url = '',array $parm = []): array
  51. {
  52. $user = DataUser::mk()->where('id',$parm['uuid'])->findOrEmpty();
  53. //余额支付
  54. userMoneyChange($payAmount,1,$parm['uuid'],$payTitle,0,$parm['order_id']);
  55. DataUser::mk()->where('id',$parm['uuid'])->update(
  56. [
  57. 'is_vip'=>1,
  58. 'vip_name'=>'船白知会员',
  59. 'vip_order'=>$parm['order_id'],
  60. 'vip_datetime'=> $user->is_vip ? date('Y-m-d H:i:s',strtotime($user->vip_datetime)+(365*24*60*60)) : date('Y-m-d H:i:s',time()+(365*24*60*60))
  61. ]
  62. );
  63. DataUserVipOrder::mk()->where('id',$parm['order_id'])->update(
  64. [
  65. 'status'=>1,
  66. 'pay_at'=>date('Y-m-d H:i:s')
  67. ]
  68. );
  69. return ['result'=>'success'];
  70. }
  71. /**
  72. * 支付结果处理
  73. * @return string
  74. * @throws \WeChat\Exceptions\InvalidResponseException
  75. */
  76. public function opvip(): string
  77. {
  78. }
  79. /**
  80. * 支付结果处理
  81. * @return string
  82. * @throws \WeChat\Exceptions\InvalidResponseException
  83. */
  84. public function payorder(): string
  85. {
  86. }
  87. }