FeedbackController.php
2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
namespace App\Http\Controllers\Api\Customers;
use App\Common\Utils;
use App\Http\Requests\Feedback\Api\StoreFeedbackRequest;
use App\Http\Requests\Feedback\Api\TencentAuthRequest;
use App\Repositories\Customers\FeedbackRepository;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
class FeedbackController extends Controller
{
/**
* @var FeedbackRepository
*/
private $feedbacks;
/**
* FeedbackController constructor.
* @param FeedbackRepository $feedbacks
*/
public function __construct(FeedbackRepository $feedbacks)
{
$this->feedbacks = $feedbacks;
}
/**
* Display a listing of the resource.
* @param $request
* @return \Illuminate\Http\Response
*/
public function tencentUploadAuthorization(TencentAuthRequest $request)
{
// 获取个人 API 密钥 https://console.qcloud.com/capi
$appId = config('constants.tencent.APP_ID');
$bucket = config('constants.tencent.BUCKET');
$secretId = config('constants.tencent.SECRET_ID');
$secretKey = config('constants.tencent.SECRET_KEY');
$filename = Utils::guid().'.'.$request->get('postfix');
$pathname = '/'.$appId.'/'.$bucket.'/img/'.$filename;
$now = time();
$random = rand();
$expired = time() + 300;
$plainText = "a=$appId&b=$bucket&k=$secretId&e=$expired&t=$now&r=$random&f=$pathname";
$bin = hash_hmac('SHA1', $plainText, $secretKey, true);
$bin = $bin.$plainText;
$signature = base64_encode($bin);
return $this->responseSuccess(['auth' => $signature, 'filename' => $pathname]);
}
/**
* Show the form for creating a new resource.
*
* @param StoreFeedbackRequest $request
* @return \Illuminate\Http\Response
*/
public function create(StoreFeedbackRequest $request)
{
//
$customer_id = Auth::user()->id;
$input = $request->all();
$input['customer_id'] = $customer_id;
$this->feedbacks->create($input);
return $this->responseSuccess();
}
/**
* @return mixed
*/
public function getReplay()
{
$customer_id = Auth::user()->id;
$datas = $this->feedbacks->getReplay($customer_id);
foreach ($datas as $key => $data){
if($data->status == 0){
$data->status = '未处理';
}else{
$data->status = '已处理';
}
if($data->reply == null){
$data->reply = '暂无回复';
}
$data->urls = explode(',', $data->urls);
}
$da['data'] = json_decode($datas, true);
return $this->responseSuccess($da);
}
}