MyGoodsController.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. namespace app\controller;
  3. use app\business\GoodsBusiness;
  4. use app\business\LoginBusiness;
  5. use Illuminate\Support\Arr;
  6. use Respect\Validation\Validator;
  7. use support\Db;
  8. use support\Redis;
  9. use support\Request;
  10. use hg\apidoc\annotation as Apidoc;
  11. use Webman\Captcha\CaptchaBuilder;
  12. use Webman\Captcha\PhraseBuilder;
  13. #[Apidoc\Title("投资记录")]
  14. #[Apidoc\Group("Goods")]
  15. #[Apidoc\Sort(3)]
  16. class MyGoodsController
  17. {
  18. #[Apidoc\Title("投资记录列表")]
  19. #[Apidoc\Url("api/user/mygoods.html")]
  20. #[Apidoc\Method("POST")]
  21. #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")]
  22. #[Apidoc\Param("page", type: "int", require: true, desc: "页面", mock: 1)]
  23. #[Apidoc\Param("limit", type: "int", require: true, desc: "输出条数", mock: 10)]
  24. #[Apidoc\Returned(name: "good_name", type: "string", require: true, desc: '商品名称', default: '')]
  25. #[Apidoc\Returned(name: "pay_price", type: "string", require: true, desc: '商品单价', default: '')]
  26. #[Apidoc\Returned(name: "money", type: "string", require: true, desc: '支付金额', default: '')]
  27. #[Apidoc\Returned(name: "bonus", type: "string", require: true, desc: '日收益', default: '')]
  28. #[Apidoc\Returned(name: "balance", type: "string", require: true, desc: '关税宝余额', default: '')]
  29. #[Apidoc\Returned(name: "bl", type: "string", require: true, desc: '比例', default: '')]
  30. #[Apidoc\Returned(name: "created_at", type: "string", require: true, desc: '购买时间', default: '')]
  31. #[Apidoc\Returned(name: "status", type: "string", require: true, desc: '状态 1正常 2失效 3终止', default: '')]
  32. public function index(Request $request)
  33. {
  34. $param = $request->param_data;
  35. try {
  36. Validator::input($param, [
  37. 'page' => Validator::notEmpty()->intType()->setName('页面'),
  38. 'limit' => Validator::notEmpty()->intType()->setName('输出条数'),
  39. ]);
  40. $data = Db::table('wa_my_goods')
  41. ->where('user_id', $request->user_data['id'])
  42. ->where(function ($query) use ($param) {
  43. if (Arr::get($param, 'type')) {
  44. $query->where('type', $param['type']);
  45. }
  46. })
  47. ->orderByDesc('id')
  48. ->paginate(Arr::get($param, 'limit', 10), ['*'], 'page', Arr::get($param, 'page'))
  49. ->toArray();
  50. $arr = [];
  51. foreach ($data['data'] as $k => $v) {
  52. $wa_goods = Db::table('wa_goods')->where('id', $v->goods_id)->first();
  53. $ent_time = '1764345540';
  54. $event_time = '1764518340';
  55. if ($wa_goods->type == 1) {
  56. if (strtotime($v->created_at) > $ent_time && strtotime($v->created_at) <= $event_time) {
  57. $bonus = $wa_goods->bonus;
  58. $balance = $wa_goods->balance;
  59. } else {
  60. $bonus = $wa_goods->original_bonus;
  61. $balance = $wa_goods->original_balancs;
  62. }
  63. } else {
  64. $bonus = $wa_goods->bonus;
  65. $balance = $wa_goods->balance;
  66. }
  67. $arr[] = [
  68. 'good_name' => $wa_goods->name,
  69. 'pay_price' => $wa_goods->pay_price,
  70. 'bonus' => $bonus,
  71. 'balance' => $balance,
  72. 'original_balancs' => $wa_goods->original_balancs,
  73. 'original_bonus' => $wa_goods->original_bonus,
  74. 'original_price' => $wa_goods->original_price,
  75. 'deduction_price' => $wa_goods->deduction_price,
  76. 'payment_usd' => $wa_goods->payment_usd,
  77. 'rebate' => $wa_goods->rebate,
  78. 'rebate_one' => $wa_goods->rebate_one,
  79. 'rebate_two' => $wa_goods->rebate_two,
  80. 'bl' => $wa_goods->bl,
  81. 'trial_bonus' => $wa_goods->trial_bonus,
  82. 'remarks' => $wa_goods->remarks,
  83. 'usd_quota' => $wa_goods->usd_quota,
  84. 'original_usd_quota' => $wa_goods->original_usd_quota,
  85. 'day' => $wa_goods->day,
  86. 'mailing_date' => $wa_goods->mailing_date,
  87. 'total_bl' => $wa_goods->total_bl,
  88. 'img' => imageToBase64($wa_goods->img),
  89. 'img_two' => imageToBase64($wa_goods->img_two),
  90. 'created_at' => date('Y-m-d H:i:s', strtotime($v->created_at)),
  91. 'id' => $v->id,
  92. 'num' => $v->num,
  93. 'money' => $v->money,
  94. 'status' => $v->status,
  95. 'name' => $v->name,
  96. 'mobile' => $v->mobile,
  97. 'address' => $v->address,
  98. 'send_status' => $v->send_status,
  99. 'pass' => $v->pass,
  100. 'type' => $v->type,
  101. 'ranking' => $v->ranking,
  102. 'card_money' => $v->balance,
  103. 'card_number' => $v->card_number,
  104. ];
  105. }
  106. } catch (\Throwable $exception) {
  107. return error($exception->getMessage());
  108. }
  109. return success($arr, '成功', 200, $data['total']);
  110. }
  111. }