StreamController.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. })->where('source_id','!=',999888111)
  40. ->orderByDesc('id')
  41. ->paginate(Arr::get($param,'limit',10),['*'],'page',Arr::get($param,'page'))
  42. ->toArray();
  43. foreach ($data['data'] as $k => $v) {
  44. $data['data'][$k]->type_name = streamType($v->type);
  45. $data['data'][$k]->mold_name = moldType($v->mold);
  46. if($v->mold == 10 && $v->type == 23 ){
  47. $wa_withdraw = Db::table('wa_withdraw')->where('id',$v->source_id)->first();
  48. if($wa_withdraw->status==2){
  49. $data['data'][$k]->remarks = '审核通过、打款中';
  50. }elseif ($wa_withdraw->status==10){
  51. $data['data'][$k]->remarks = '打款中';
  52. }else{
  53. $data['data'][$k]->remarks = '审核中';
  54. }
  55. }else{
  56. $data['data'][$k]->remarks = '';
  57. }
  58. }
  59. } catch (\Throwable $exception) {
  60. Db::rollBack();
  61. return error($exception->getMessage());
  62. }
  63. Db::commit();
  64. return success($data);
  65. }
  66. #[Apidoc\Title("钱包类型")]
  67. #[Apidoc\Url("api/stream/mold_type.html")]
  68. #[Apidoc\Method("POST")]
  69. #[Apidoc\Returned(name: "value", type: "int", require: true, desc: '钱包ID', default: '1')]
  70. #[Apidoc\Returned(name: "name", type: "string", require: true, desc: '钱包名称', default: '收益余额')]
  71. public function moldType(Request $request)
  72. {
  73. $data = moldType();
  74. return success($data);
  75. }
  76. }