StreamController.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace app\controller;
  3. use app\business\LoginBusiness;
  4. use Illuminate\Support\Arr;
  5. use Respect\Validation\Validator;
  6. use support\Db;
  7. use support\Redis;
  8. use support\Request;
  9. use hg\apidoc\annotation as Apidoc;
  10. use Webman\Captcha\CaptchaBuilder;
  11. use Webman\Captcha\PhraseBuilder;
  12. #[Apidoc\Title("资金明细")]
  13. #[Apidoc\Group("Stream")]
  14. #[Apidoc\Sort(5)]
  15. class StreamController
  16. {
  17. #[Apidoc\Title("资金明细")]
  18. #[Apidoc\Url("api/stream.html")]
  19. #[Apidoc\Method("POST")]
  20. #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")]
  21. #[Apidoc\Param("page", type: "int", desc: "", mock: 1)]
  22. #[Apidoc\Param("limit", type: "int", desc: "输出条数", mock: 10)]
  23. #[Apidoc\Param("mold", type: "int", require: true, desc: "钱包类型 不传查所有 1 我的资产 2 推荐奖 3 持股数量 4=持股总价值 5=股权分红 ", mock: 1)]
  24. public function data(Request $request)
  25. {
  26. Db::beginTransaction();
  27. try {
  28. $param = Arr::only($request->param_data, ['page', 'limit', 'mold']);
  29. $param['user_data'] = $request->user_data;
  30. Validator::input($param, [
  31. 'page' => Validator::notEmpty()->intType()->setName('页面'),
  32. 'limit' => Validator::notEmpty()->intType()->setName('输出条数'),
  33. ]);
  34. $data = Db::table('wa_stream')->where(function ($query) use ($param) {
  35. $query->where('user_id', $param['user_data']['id']);
  36. if (Arr::get($param, 'mold')) {
  37. $query->where('mold', $param['mold']);
  38. }
  39. })->orderByDesc('id')
  40. ->paginate(Arr::get($param,'limit',10),['*'],'page',Arr::get($param,'page'))
  41. ->toArray();
  42. foreach ($data['data'] as $k => $v) {
  43. $data['data'][$k]->type_name = streamType($v->type);
  44. $data['data'][$k]->mold_name = moldType($v->mold);
  45. }
  46. } catch (\Throwable $exception) {
  47. Db::rollBack();
  48. return error($exception->getMessage());
  49. }
  50. Db::commit();
  51. return success($data);
  52. }
  53. #[Apidoc\Title("钱包类型")]
  54. #[Apidoc\Url("api/stream/mold_type.html")]
  55. #[Apidoc\Method("POST")]
  56. #[Apidoc\Returned(name: "value", type: "int", require: true, desc: '钱包ID', default: '1')]
  57. #[Apidoc\Returned(name: "name", type: "string", require: true, desc: '钱包名称', default: '收益余额')]
  58. public function moldType(Request $request)
  59. {
  60. $data = moldType();
  61. return success($data);
  62. }
  63. }