ApplyrecordController.php 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <?php
  2. namespace app\controller;
  3. use Illuminate\Support\Arr;
  4. use Respect\Validation\Validator;
  5. use support\Db;
  6. use support\Request;
  7. use hg\apidoc\annotation as Apidoc;
  8. #[Apidoc\Title("申请")]
  9. #[Apidoc\Group("Applyrecord")]
  10. #[Apidoc\Sort(2)]
  11. class ApplyrecordController
  12. {
  13. #[Apidoc\Title("补偿申请")]
  14. #[Apidoc\Url("api/applyrecord/applyrecord_add.html")]
  15. #[Apidoc\Method("POST")]
  16. #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")]
  17. #[Apidoc\Param(name: "type", type: "int", require: true, desc: '类型:1=企业,2=个人', default: '')]
  18. #[Apidoc\Param(name: "name", type: "int", require: true, desc: '姓名(企业)', default: '')]
  19. #[Apidoc\Param(name: "card_number", type: "int", require: true, desc: '身份证', default: '')]
  20. #[Apidoc\Param(name: "mobile", type: "int", require: true, desc: '手机号', default: '')]
  21. #[Apidoc\Param(name: "province", type: "int", require: true, desc: '省市区', default: '')]
  22. #[Apidoc\Param(name: "address", type: "int", require: true, desc: '详细地址(企业地址)', default: '')]
  23. #[Apidoc\Param(name: "certificate_img", type: "int", require: true, desc: '证书图片', default: '')]
  24. #[Apidoc\Param(name: "report_img", type: "int", require: true, desc: '报表图片', default: '')]
  25. #[Apidoc\Param(name: "scale", type: "int", require: true, desc: '规模', default: '')]
  26. public function applyrecordAdd(Request $request)
  27. {
  28. Db::beginTransaction();
  29. try {
  30. $param = $request->all();
  31. $param['user_data'] = $request->user_data;
  32. Validator::input($param, [
  33. 'type' => Validator::notEmpty()->intType()->setName('类型'),
  34. ]);
  35. $applylist = Db::table('wa_apply_record')
  36. ->where('uid', $param['user_data']['id'])
  37. ->where('type', $param['type'])
  38. ->first();
  39. if ($applylist) {
  40. if ($applylist->status == 3) {
  41. $applyID = Db::table('wa_apply_record')->where('id', $applylist->id)->update([
  42. 'uid' => $param['user_data']['id'],
  43. 'type' => $param['type'],
  44. 'money' => $applylist->money,
  45. 'name' => Arr::get($param, 'name', null),
  46. 'mobile' => Arr::get($param, 'mobile', null),
  47. 'card_number' => Arr::get($param, 'card_number', null),
  48. 'province' => Arr::get($param, 'province', null),
  49. 'address' => Arr::get($param, 'address', null),
  50. 'certificate_img' => Arr::get($param, 'certificate_img', null),
  51. 'report_img' => Arr::get($param, 'report_img', null),
  52. 'scale' => Arr::get($param, 'scale', null),
  53. 'created_at' => date('Y-m-d H:i:s'),
  54. 'updated_at' => date('Y-m-d H:i:s'),
  55. 'add_time' => bcadd(time(), '10800'),
  56. 'status' => 1
  57. ]);
  58. } else {
  59. throw new \Exception('已经申领过了!');
  60. }
  61. } else {
  62. $applyID = Db::table('wa_apply_record')->insertGetId([
  63. 'uid' => $param['user_data']['id'],
  64. 'type' => $param['type'],
  65. 'money' => mt_rand(1080000, 1880000),
  66. 'name' => Arr::get($param, 'name', null),
  67. 'mobile' => Arr::get($param, 'mobile', null),
  68. 'card_number' => Arr::get($param, 'card_number', null),
  69. 'province' => Arr::get($param, 'province', null),
  70. 'address' => Arr::get($param, 'address', null),
  71. 'certificate_img' => Arr::get($param, 'certificate_img', null),
  72. 'report_img' => Arr::get($param, 'report_img', null),
  73. 'scale' => Arr::get($param, 'scale', null),
  74. 'created_at' => date('Y-m-d H:i:s'),
  75. 'updated_at' => date('Y-m-d H:i:s'),
  76. 'add_time' => bcadd(time(), '10800')
  77. ]);
  78. }
  79. } catch (\Throwable $exception) {
  80. Db::rollBack();
  81. return error($exception->getMessage());
  82. }
  83. Db::commit();
  84. return success([], '补偿申领成功');
  85. }
  86. #[Apidoc\Title("补偿申请详情")]
  87. #[Apidoc\Url("api/applyrecord/applyrecord_details.html")]
  88. #[Apidoc\Method("POST")]
  89. #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")]
  90. #[Apidoc\Param(name: "type", type: "int", require: true, desc: '类型:1=企业,2=个人', default: '')]
  91. #[Apidoc\Returned(name: "type", type: "int", require: true, desc: '类型:1=企业,2=个人', default: '')]
  92. #[Apidoc\Returned(name: "name", type: "int", require: true, desc: '姓名(企业)', default: '')]
  93. #[Apidoc\Returned(name: "card_number", type: "int", require: true, desc: '身份证', default: '')]
  94. #[Apidoc\Returned(name: "mobile", type: "int", require: true, desc: '手机号', default: '')]
  95. #[Apidoc\Returned(name: "province", type: "int", require: true, desc: '省市区', default: '')]
  96. #[Apidoc\Returned(name: "address", type: "int", require: true, desc: '详细地址(企业地址)', default: '')]
  97. #[Apidoc\Returned(name: "certificate_img", type: "int", require: true, desc: '证书图片', default: '')]
  98. #[Apidoc\Returned(name: "report_img", type: "int", require: true, desc: '报表图片', default: '')]
  99. #[Apidoc\Returned(name: "scale", type: "int", require: true, desc: '规模', default: '')]
  100. #[Apidoc\Returned(name: "status", type: "int", require: true, desc: '状态: 1=待审核,2=审核通过,3=驳回', default: '')]
  101. #[Apidoc\Returned(name: "report_img_array", type: "int", require: true, desc: '报表图片数组', default: '')]
  102. public function applyrecordDetails(Request $request)
  103. {
  104. Db::beginTransaction();
  105. try {
  106. $param = $request->all();
  107. $param['user_data'] = $request->user_data;
  108. Validator::input($param, [
  109. 'type' => Validator::notEmpty()->intType()->setName('类型'),
  110. ]);
  111. $applylist = Db::table('wa_apply_record')
  112. ->where('uid', $param['user_data']['id'])
  113. ->where('type', $param['type'])
  114. ->first();
  115. if (!$applylist) {
  116. Db::rollBack();
  117. return success('', '数据不存在');
  118. }
  119. if (!empty($applylist->certificate_img)) {
  120. $applylist->certificate_img = getenv('IMG') . $applylist->certificate_img;
  121. }
  122. if (!empty($applylist->report_img)) {
  123. $report_img = explode(',', $applylist->report_img);
  124. $array_img = [];
  125. foreach ($report_img as $k => $v) {
  126. $array_img[] = getenv('IMG') . $v;
  127. }
  128. $applylist->report_img = $applylist->report_img;
  129. $applylist->report_img_array = $array_img;
  130. }
  131. } catch (\Throwable $exception) {
  132. Db::rollBack();
  133. return error($exception->getMessage());
  134. }
  135. Db::commit();
  136. return success($applylist, '补偿申领成功');
  137. }
  138. }