StreamController.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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 华润银联卡余额 ", 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. if($v->mold == 10 && $v->type == 23 ){
  46. $wa_withdraw = Db::table('wa_withdraw')->where('id',$v->source_id)->first();
  47. if($wa_withdraw->status==2){
  48. $data['data'][$k]->remarks = '审核通过、打款中';
  49. }else{
  50. $data['data'][$k]->remarks = '审核中';
  51. }
  52. }else{
  53. $data['data'][$k]->remarks = '';
  54. }
  55. }
  56. } catch (\Throwable $exception) {
  57. Db::rollBack();
  58. return error($exception->getMessage());
  59. }
  60. Db::commit();
  61. return success($data);
  62. }
  63. #[Apidoc\Title("钱包类型")]
  64. #[Apidoc\Url("api/stream/mold_type.html")]
  65. #[Apidoc\Method("POST")]
  66. #[Apidoc\Returned(name: "value", type: "int", require: true, desc: '钱包ID', default: '1')]
  67. #[Apidoc\Returned(name: "name", type: "string", require: true, desc: '钱包名称', default: '收益余额')]
  68. public function moldType(Request $request)
  69. {
  70. $data = moldType();
  71. return success($data);
  72. }
  73. }