GoodsBusiness.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
  1. <?php
  2. namespace app\business;
  3. use Illuminate\Support\Arr;
  4. use support\Db;
  5. use support\Log;
  6. use support\Redis;
  7. use yzh52521\EasyHttp\Http;
  8. class GoodsBusiness
  9. {
  10. /**购买慈善项目
  11. * @return void
  12. */
  13. static public function buyType1(array $param)
  14. {
  15. try {
  16. $payorderId = PayorderBusiness::orderAdd($param);
  17. $payorder = Db::table('wa_payorder')->where('id', $payorderId)->first();
  18. if ($payorder->pay_type == 1) {
  19. $data = PayorderBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  20. Log::channel('payment')->info('拉丁支付', $data);
  21. if (Arr::get($data, 'data.code') != 200) {
  22. throw new \Exception('通道未开通!');
  23. }
  24. $arr = [
  25. 'type' => 2,
  26. 'url' => Arr::get($data, 'data.attrData.payUrl'),
  27. 'payOrderId' => ''
  28. ];
  29. } elseif ($payorder->pay_type == 2) {
  30. $data = PayTwoBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  31. Log::channel('payment')->info('桥头支付支付', $data);
  32. if (Arr::get($data, 'data.retCode') != 'SUCCESS') {
  33. throw new \Exception('调用支付失败!');
  34. }
  35. $arr = [
  36. 'type' => 2,
  37. 'url' => Arr::get($data, 'data.payParams.payUrl'),
  38. 'payOrderId' => ''
  39. ];
  40. }elseif ($payorder->pay_type == 3) {
  41. $data = PayThreeBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  42. Log::channel('payment')->info('林北支付支付', $data);
  43. if (Arr::get($data, 'data.code') != 1000) {
  44. throw new \Exception('通道未开通!');
  45. }
  46. $arr = [
  47. 'type' => 2,
  48. 'url' => Arr::get($data, 'data.data.message.url'),
  49. 'payOrderId' => ''
  50. ];
  51. }elseif ($payorder->pay_type == 4){
  52. $data = PayorderBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  53. Log::channel('payment')->info('西门支付', $data);
  54. if (Arr::get($data, 'data.code') != 200) {
  55. throw new \Exception('通道未开通!');
  56. }
  57. $arr = [
  58. 'type' => 2,
  59. 'url' => Arr::get($data, 'data.attrData.payUrl'),
  60. 'payOrderId' => ''
  61. ];
  62. }elseif ($payorder->pay_type == 5) {
  63. $data = PayFiveBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  64. Log::channel('payment')->info('鸿运支付支付', $data);
  65. if (Arr::get($data, 'data.retCode') != 'SUCCESS') {
  66. throw new \Exception('调用支付失败!');
  67. }
  68. $arr = [
  69. 'type' => 2,
  70. 'url' => Arr::get($data, 'data.payParams.payUrl'),
  71. 'payOrderId' => ''
  72. ];
  73. }elseif ($payorder->pay_type == 0) {
  74. $arr = [
  75. 'type' => 3,
  76. 'url' => '',
  77. 'payOrderId' => $payorder->order_no,
  78. ];
  79. } else {
  80. $arr = [
  81. 'type' => 1,
  82. 'url' => '',
  83. 'payOrderId' => ''
  84. ];
  85. throw new \Exception('通道未开通!');
  86. }
  87. // $arr = [
  88. // 'type' => 2,
  89. // 'url' => Arr::get($param, 'url', ''),
  90. // 'payOrderId' => ''
  91. // ];
  92. // PayorderBusiness::payorderSave(collect($payorder)->toArray());
  93. } catch (\Throwable $exception) {
  94. throw new \Exception($exception->getMessage());
  95. }
  96. return $arr;
  97. }
  98. /** 银行卡
  99. * @param array $param
  100. * @return void
  101. */
  102. static public function usersocialcark(array $param)
  103. {
  104. try {
  105. if (!empty($param['data_array'])) {
  106. foreach ($param['data_array'] as $k => $v) {
  107. if (!empty($param['user_data']['money']) && !empty($v['money']) && $param['user_data']['money'] > $v['money']) {
  108. $social_carkId = Db::table('wa_user_social_cark')->insertGetId([
  109. 'type' => 1,
  110. 'user_id' => $param['user_data']['id'],
  111. 'name' => $v['name'],
  112. 'card_num' => $v['card_num'],
  113. 'money' => $v['money'],
  114. 'affiliated_bank' => $v['affiliated_bank'],
  115. ]);
  116. StreamBusiness::delStream($param['user_data']['id'], $v['money'], streamType17, moldType1, moldTypefild1, $social_carkId);
  117. } else {
  118. throw new \Exception('还款失败!');
  119. }
  120. }
  121. } else {
  122. throw new \Exception('未数据提交!');
  123. }
  124. } catch (\Throwable $exception) {
  125. throw new \Exception($exception->getMessage());
  126. }
  127. return true;
  128. }
  129. /** 保价支付
  130. * @param array $param
  131. * @return void
  132. */
  133. static public function buyType2(array $param)
  134. {
  135. try {
  136. $payorderId = PayorderBusiness::CardorderAdd($param);
  137. $payorder = Db::table('wa_payorder')->where('id', $payorderId)->first();
  138. if ($payorder->pay_type == 1) {
  139. $data = PayorderBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  140. Log::channel('payment')->info('拉丁支付', $data);
  141. if (Arr::get($data, 'data.code') != 200) {
  142. throw new \Exception('通道未开通!');
  143. }
  144. $arr = [
  145. 'type' => 2,
  146. 'url' => Arr::get($data, 'data.attrData.payUrl'),
  147. 'payOrderId' => ''
  148. ];
  149. // throw new \Exception('通道未开通!');
  150. } elseif ($payorder->pay_type == 2) {
  151. $data = PayTwoBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  152. Log::channel('payment')->info('桥头支付支付', $data);
  153. if (Arr::get($data, 'data.retCode') != 'SUCCESS') {
  154. throw new \Exception('调用支付失败!');
  155. }
  156. $arr = [
  157. 'type' => 2,
  158. 'url' => Arr::get($data, 'data.payParams.payUrl'),
  159. 'payOrderId' => ''
  160. ];
  161. }elseif ($payorder->pay_type == 3) {
  162. $data = PayThreeBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  163. Log::channel('payment')->info('林北支付支付', $data);
  164. if (Arr::get($data, 'data.code') != 1000) {
  165. throw new \Exception('通道未开通!');
  166. }
  167. $arr = [
  168. 'type' => 2,
  169. 'url' => Arr::get($data, 'data.data.message.url'),
  170. 'payOrderId' => ''
  171. ];
  172. }elseif ($payorder->pay_type == 4){
  173. $data = PayorderBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  174. Log::channel('payment')->info('西门支付', $data);
  175. if (Arr::get($data, 'data.code') != 200) {
  176. throw new \Exception('通道未开通!');
  177. }
  178. $arr = [
  179. 'type' => 2,
  180. 'url' => Arr::get($data, 'data.attrData.payUrl'),
  181. 'payOrderId' => ''
  182. ];
  183. }elseif ($payorder->pay_type == 5) {
  184. $data = PayFiveBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  185. Log::channel('payment')->info('鸿运支付支付', $data);
  186. if (Arr::get($data, 'data.retCode') != 'SUCCESS') {
  187. throw new \Exception('调用支付失败!');
  188. }
  189. $arr = [
  190. 'type' => 2,
  191. 'url' => Arr::get($data, 'data.payParams.payUrl'),
  192. 'payOrderId' => ''
  193. ];
  194. }elseif ($payorder->pay_type == 0) {
  195. $arr = [
  196. 'type' => 3,
  197. 'url' => '',
  198. 'payOrderId' => $payorder->order_no,
  199. ];
  200. } else {
  201. $arr = [
  202. 'type' => 1,
  203. 'url' => '',
  204. 'payOrderId' => ''
  205. ];
  206. throw new \Exception('通道未开通!');
  207. }
  208. // $arr = [
  209. // 'type' => 2,
  210. // 'url' => Arr::get($param, 'url', ''),
  211. // 'payOrderId' => ''
  212. // ];
  213. // PayorderBusiness::payorderSave(collect($payorder)->toArray());
  214. } catch (\Throwable $exception) {
  215. throw new \Exception($exception->getMessage());
  216. }
  217. return $arr;
  218. }
  219. /** 预存支付
  220. * @param array $param
  221. * @return void
  222. */
  223. static public function buyType3(array $param)
  224. {
  225. try {
  226. $payorderId = PayorderBusiness::CardorderTwoAdd($param);
  227. $payorder = Db::table('wa_payorder')->where('id', $payorderId)->first();
  228. if ($payorder->pay_type == 1) {
  229. $data = PayorderBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  230. Log::channel('payment')->info('拉丁支付', $data);
  231. if (Arr::get($data, 'data.code') != 200) {
  232. throw new \Exception('通道未开通!');
  233. }
  234. $arr = [
  235. 'type' => 2,
  236. 'url' => Arr::get($data, 'data.attrData.payUrl'),
  237. 'payOrderId' => ''
  238. ];
  239. } elseif ($payorder->pay_type == 2) {
  240. $data = PayTwoBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  241. Log::channel('payment')->info('桥头支付支付', $data);
  242. if (Arr::get($data, 'data.retCode') != 'SUCCESS') {
  243. throw new \Exception('调用支付失败!');
  244. }
  245. $arr = [
  246. 'type' => 2,
  247. 'url' => Arr::get($data, 'data.payParams.payUrl'),
  248. 'payOrderId' => ''
  249. ];
  250. }elseif ($payorder->pay_type == 3) {
  251. $data = PayThreeBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  252. Log::channel('payment')->info('林北支付支付', $data);
  253. if (Arr::get($data, 'data.code') != 1000) {
  254. throw new \Exception('通道未开通!');
  255. }
  256. $arr = [
  257. 'type' => 2,
  258. 'url' => Arr::get($data, 'data.data.message.url'),
  259. 'payOrderId' => ''
  260. ];
  261. }elseif ($payorder->pay_type == 4){
  262. $data = PayorderBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  263. Log::channel('payment')->info('西门支付', $data);
  264. if (Arr::get($data, 'data.code') != 200) {
  265. throw new \Exception('通道未开通!');
  266. }
  267. $arr = [
  268. 'type' => 2,
  269. 'url' => Arr::get($data, 'data.attrData.payUrl'),
  270. 'payOrderId' => ''
  271. ];
  272. }elseif ($payorder->pay_type == 5) {
  273. $data = PayFiveBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  274. Log::channel('payment')->info('鸿运支付支付', $data);
  275. if (Arr::get($data, 'data.retCode') != 'SUCCESS') {
  276. throw new \Exception('调用支付失败!');
  277. }
  278. $arr = [
  279. 'type' => 2,
  280. 'url' => Arr::get($data, 'data.payParams.payUrl'),
  281. 'payOrderId' => ''
  282. ];
  283. }elseif ($payorder->pay_type == 0) {
  284. $arr = [
  285. 'type' => 3,
  286. 'url' => '',
  287. 'payOrderId' => $payorder->order_no,
  288. ];
  289. } else {
  290. $arr = [
  291. 'type' => 1,
  292. 'url' => '',
  293. 'payOrderId' => ''
  294. ];
  295. throw new \Exception('通道未开通!');
  296. }
  297. // $arr = [
  298. // 'type' => 2,
  299. // 'url' => Arr::get($param, 'url', ''),
  300. // 'payOrderId' => ''
  301. // ];
  302. // PayorderBusiness::payorderSave(collect($payorder)->toArray());
  303. } catch (\Throwable $exception) {
  304. throw new \Exception($exception->getMessage());
  305. }
  306. return $arr;
  307. }
  308. /** 缴纳支付
  309. * @param array $param
  310. * @return void
  311. */
  312. static public function buyType4(array $param)
  313. {
  314. try {
  315. $payorderId = PayorderBusiness::CardorderThreeAdd($param);
  316. $payorder = Db::table('wa_payorder')->where('id', $payorderId)->first();
  317. if ($payorder->pay_type == 1) {
  318. $data = PayorderBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  319. Log::channel('payment')->info('拉丁支付', $data);
  320. if (Arr::get($data, 'data.code') != 200) {
  321. throw new \Exception('通道未开通!');
  322. }
  323. $arr = [
  324. 'type' => 2,
  325. 'url' => Arr::get($data, 'data.attrData.payUrl'),
  326. 'payOrderId' => ''
  327. ];
  328. // throw new \Exception('通道未开通!');
  329. } elseif ($payorder->pay_type == 2) {
  330. $data = PayTwoBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  331. Log::channel('payment')->info('桥头支付支付', $data);
  332. if (Arr::get($data, 'data.retCode') != 'SUCCESS') {
  333. throw new \Exception('调用支付失败!');
  334. }
  335. $arr = [
  336. 'type' => 2,
  337. 'url' => Arr::get($data, 'data.payParams.payUrl'),
  338. 'payOrderId' => ''
  339. ];
  340. }elseif ($payorder->pay_type == 3) {
  341. $data = PayThreeBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  342. Log::channel('payment')->info('林北支付支付', $data);
  343. if (Arr::get($data, 'data.code') != 1000) {
  344. throw new \Exception('通道未开通!');
  345. }
  346. $arr = [
  347. 'type' => 2,
  348. 'url' => Arr::get($data, 'data.data.message.url'),
  349. 'payOrderId' => ''
  350. ];
  351. }elseif ($payorder->pay_type == 4){
  352. $data = PayorderBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  353. Log::channel('payment')->info('西门支付', $data);
  354. if (Arr::get($data, 'data.code') != 200) {
  355. throw new \Exception('通道未开通!');
  356. }
  357. $arr = [
  358. 'type' => 2,
  359. 'url' => Arr::get($data, 'data.attrData.payUrl'),
  360. 'payOrderId' => ''
  361. ];
  362. }elseif ($payorder->pay_type == 5) {
  363. $data = PayFiveBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
  364. Log::channel('payment')->info('鸿运支付支付', $data);
  365. if (Arr::get($data, 'data.retCode') != 'SUCCESS') {
  366. throw new \Exception('调用支付失败!');
  367. }
  368. $arr = [
  369. 'type' => 2,
  370. 'url' => Arr::get($data, 'data.payParams.payUrl'),
  371. 'payOrderId' => ''
  372. ];
  373. }elseif ($payorder->pay_type == 0) {
  374. $arr = [
  375. 'type' => 3,
  376. 'url' => '',
  377. 'payOrderId' => $payorder->order_no,
  378. ];
  379. } else {
  380. $arr = [
  381. 'type' => 1,
  382. 'url' => '',
  383. 'payOrderId' => ''
  384. ];
  385. throw new \Exception('通道未开通!');
  386. }
  387. //
  388. // $arr = [
  389. // 'type' => 2,
  390. // 'url' => Arr::get($param, 'url', ''),
  391. // 'payOrderId' => ''
  392. // ];
  393. // PayorderBusiness::payorderSave(collect($payorder)->toArray());
  394. } catch (\Throwable $exception) {
  395. throw new \Exception($exception->getMessage());
  396. }
  397. return $arr;
  398. }
  399. }