|
@@ -4,9 +4,13 @@ namespace App\Http\Resources;
|
|
|
|
|
|
|
|
use Illuminate\Http\Resources\Json\JsonResource;
|
|
use Illuminate\Http\Resources\Json\JsonResource;
|
|
|
use Illuminate\Support\Facades\Log;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
-use App\Http\Api\UserApi;
|
|
|
|
|
|
|
+
|
|
|
use App\Models\SentPr;
|
|
use App\Models\SentPr;
|
|
|
|
|
+use App\Models\Wbw;
|
|
|
|
|
+use App\Models\Discussion;
|
|
|
use App\Models\Sentence;
|
|
use App\Models\Sentence;
|
|
|
|
|
+
|
|
|
|
|
+use App\Http\Api\UserApi;
|
|
|
use App\Http\Api\PaliTextApi;
|
|
use App\Http\Api\PaliTextApi;
|
|
|
use App\Http\Api\ChannelApi;
|
|
use App\Http\Api\ChannelApi;
|
|
|
|
|
|
|
@@ -33,10 +37,9 @@ class NotificationResource extends JsonResource
|
|
|
"created_at"=> $this->created_at,
|
|
"created_at"=> $this->created_at,
|
|
|
"updated_at"=> $this->updated_at,
|
|
"updated_at"=> $this->updated_at,
|
|
|
];
|
|
];
|
|
|
-
|
|
|
|
|
|
|
+ $data['channel'] = ChannelApi::getById($this->channel);
|
|
|
switch ($this->res_type) {
|
|
switch ($this->res_type) {
|
|
|
case 'suggestion':
|
|
case 'suggestion':
|
|
|
- $data['channel'] = ChannelApi::getById($this->channel);
|
|
|
|
|
$prData = SentPr::where('uid',$this->res_id)->first();
|
|
$prData = SentPr::where('uid',$this->res_id)->first();
|
|
|
if($prData){
|
|
if($prData){
|
|
|
$link = config('mint.server.dashboard_base_path')."/article/para/{$prData->book_id}-{$prData->paragraph}";
|
|
$link = config('mint.server.dashboard_base_path')."/article/para/{$prData->book_id}-{$prData->paragraph}";
|
|
@@ -65,6 +68,57 @@ class NotificationResource extends JsonResource
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
|
|
+ case 'discussion':
|
|
|
|
|
+ $discussion = Discussion::where('id',$this->res_id)->first();
|
|
|
|
|
+ if($discussion->parent){
|
|
|
|
|
+ $topic = Discussion::where('id',$discussion->parent)->first();
|
|
|
|
|
+ }
|
|
|
|
|
+ if($discussion){
|
|
|
|
|
+ $link = config('mint.server.dashboard_base_path').'/discussion/topic/';
|
|
|
|
|
+ if(isset($topic)){
|
|
|
|
|
+ $link .= "{$topic->id}#{$discussion->id}";
|
|
|
|
|
+ }else{
|
|
|
|
|
+ $link .= "{$discussion->id}";
|
|
|
|
|
+ }
|
|
|
|
|
+ $data['url'] = $link;
|
|
|
|
|
+ //标题
|
|
|
|
|
+ switch ($discussion->res_type) {
|
|
|
|
|
+ case 'sentence':
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 'wbw':
|
|
|
|
|
+ $wbw = Wbw::where('uid',$discussion->res_id)->first();
|
|
|
|
|
+ if($wbw){
|
|
|
|
|
+ $data['title'] = $wbw->word;
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ /*
|
|
|
|
|
+ {
|
|
|
|
|
+ $path = json_decode(PaliTextApi::getChapterPath($prData->book_id,$prData->paragraph));
|
|
|
|
|
+ if(count($path)>0){
|
|
|
|
|
+ $data['title'] = end($path)->title;
|
|
|
|
|
+ $data['book_title'] = $path[0]->title;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ Log::error('no path data',['pr data'=>$prData]);
|
|
|
|
|
+ }
|
|
|
|
|
+ //内容
|
|
|
|
|
+ $orgContent = Sentence::where('book_id',$prData->book_id)
|
|
|
|
|
+ ->where('paragraph',$prData->paragraph)
|
|
|
|
|
+ ->where('word_start',$prData->word_start)
|
|
|
|
|
+ ->where('word_end',$prData->word_end)
|
|
|
|
|
+ ->where('channel_uid',$prData->channel_uid)
|
|
|
|
|
+ ->value('content');
|
|
|
|
|
+ $content = '>'. mb_substr($orgContent,0,70,"UTF-8")."\n\n";
|
|
|
|
|
+ $content .= mb_substr($prData->content,0,140,"UTF-8");
|
|
|
|
|
+ $data['content'] = $content;
|
|
|
|
|
+ }
|
|
|
|
|
+ */
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
default:
|
|
default:
|
|
|
# code...
|
|
# code...
|
|
|
break;
|
|
break;
|