Add MessageContact
1.Add MessageContact Model 2.Edit MessageController 3.Elegentalize TransactionController
This commit is contained in:
@@ -16,8 +16,8 @@ use App\Transaction;
|
||||
use App\TransactionLog;
|
||||
use App\Message;
|
||||
use App\User;
|
||||
use App\MessageContact;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Storage;
|
||||
|
||||
class MessageController extends Controller
|
||||
{
|
||||
@@ -25,8 +25,8 @@ class MessageController extends Controller
|
||||
{
|
||||
$data = [];
|
||||
$user_id = $request->session()->get('user_id');
|
||||
$data['informations'] = Message::with('receiver')->Orderby('id','desc')->where('receiver_id',$user_id)->paginate(15);
|
||||
return view::make('message.message')->with($data);
|
||||
$data['informations'] = Message::with('receiver')->Orderby('id', 'desc')->where('receiver_id', $user_id)->paginate(15);
|
||||
return View::make('message.message')->with($data);
|
||||
}
|
||||
|
||||
public function getUnreadMsgNum(Request $request)
|
||||
@@ -39,7 +39,7 @@ class MessageController extends Controller
|
||||
public function readMessage(Request $request, $id)
|
||||
{
|
||||
$data = Message::find($id);
|
||||
if($request->session()->get('user_id') != $data->receiver_id)
|
||||
if ($request->session()->get('user_id') != $data->receiver_id)
|
||||
return json_encode(['result' => false, 'msg' => 'Auth Failure.']);
|
||||
$data->is_read = true;
|
||||
$data->save();
|
||||
@@ -49,7 +49,7 @@ class MessageController extends Controller
|
||||
public function deleteMessage(Request $request, $id)
|
||||
{
|
||||
$data = Message::find($id);
|
||||
if($request->session()->get('user_id') != $data->receiver_id)
|
||||
if ($request->session()->get('user_id') != $data->receiver_id)
|
||||
return json_encode(['result' => false, 'msg' => 'Auth Failure.']);
|
||||
$data->delete();
|
||||
return json_encode(['result' => true, 'msg' => 'success']);
|
||||
@@ -58,22 +58,55 @@ class MessageController extends Controller
|
||||
public function sendMessage(SendMessageRequest $request)
|
||||
{
|
||||
$input = $request->all();
|
||||
if(!User::where('id', $input['receiver'])->count())
|
||||
if (!User::where('id', $input['receiver'])->count())
|
||||
return json_encode(['result' => false, 'msg' => 'no such receiver']);
|
||||
//Create Message
|
||||
$message = new Message;
|
||||
$user_id = $request->session()->get('user_id');
|
||||
$message->title = $input['title'];
|
||||
$message->content = $input['content'];
|
||||
$receiver = $input['receiver'];
|
||||
$message->sender_id = $user_id;
|
||||
$user = User::where('id', $receiver)->first();
|
||||
$message->receiver_id = $user->id;
|
||||
$message->receiver_id = $input['receiver'];
|
||||
$message->save();
|
||||
//Create or Update MessageContact
|
||||
//A->B
|
||||
$contact = MessageContact::firstOrNew([
|
||||
'user_id' => $user_id,
|
||||
'contact_id' => $input['receiver']
|
||||
]);
|
||||
$contact->last_contact_time = time();
|
||||
$contact->save();
|
||||
//B->A
|
||||
$contact = MessageContact::firstOrNew([
|
||||
'user_id' => $input['receiver'],
|
||||
'contact_id' => $user_id
|
||||
]);
|
||||
$contact->last_contact_time = time();
|
||||
$contact->save();
|
||||
return json_encode(['result' => true, 'msg' => 'success']);
|
||||
}
|
||||
|
||||
public function sendMessagepage(Request $request)
|
||||
{
|
||||
return view::make('message.sendMessage');
|
||||
return View::make('message.sendMessage');
|
||||
}
|
||||
|
||||
public function getMessageContact(Request $request)
|
||||
{
|
||||
$user_id = $request->session()->get('user_id');
|
||||
$contacts = MessageContact::where('user_id', $user_id)
|
||||
->orderBy('last_contact_time', 'desc')
|
||||
->with(['contact' => function ($query) {
|
||||
$query->select('id', 'nickname');
|
||||
}])
|
||||
->paginate(10);
|
||||
foreach ($contacts as $c) {
|
||||
$c->unread_message = Message::where('receiver_id', $user_id)
|
||||
->where('sender_id', $c->contact_id)
|
||||
->where('is_read', false)
|
||||
->count();
|
||||
}
|
||||
return json_encode($contacts);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -108,9 +108,7 @@ class TransactionController extends Controller
|
||||
$message = new Message();
|
||||
$message->sender_id = 0;
|
||||
$message->receiver_id = $good->user_id;
|
||||
if (!$buyer->nickname)
|
||||
$buyer->nickname = "一位先锋市场用户";
|
||||
$message->content = '您好!' . $buyer->nickname . '购买了你的' . $good->good_name . ',请及时前往确认。';
|
||||
$message->content = '您好!' . $buyer->not_null_nickname . '购买了你的' . $good->good_name . ',请及时前往确认。';
|
||||
$message->title = '您有一个新的交♂易订单';
|
||||
$message->save();
|
||||
return json_encode(['result' => true, 'msg' => 'success']);
|
||||
|
||||
@@ -65,6 +65,7 @@ Route::group(['middleware' => ['web']],function () {
|
||||
Route::get('/user/fav/edit', "UserController@editFavlist");
|
||||
Route::delete('/user/fav/del', "UserController@delFavlist");
|
||||
|
||||
Route::get('/message/contacts', "MessageController@getMessageContact");
|
||||
});
|
||||
|
||||
Route::get('/user/sell', "UserController@mygoods")->middleware('auth');
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class MessageContact extends Model
|
||||
{
|
||||
protected $fillable = ['user_id', 'contact_id'];
|
||||
public function contact()
|
||||
{
|
||||
return $this->belongsTo('App\User', 'contact_id');
|
||||
}
|
||||
}
|
||||
@@ -29,4 +29,9 @@ class User extends Model
|
||||
return $this->hasManyThrough('App\Transaction', 'App\GoodInfo', 'user_id', 'good_id', 'id');
|
||||
}
|
||||
|
||||
public function getNotNullNicknameAttribute()
|
||||
{
|
||||
return $this->nickname != "" ? $this->nickname : "一位先锋市场用户";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateMessageContactsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('message_contacts', function (Blueprint $table) {
|
||||
$table->increments('id');
|
||||
$table->integer('user_id');
|
||||
$table->integer('contact_id');
|
||||
$table->integer('last_contact_time');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('message_contacts');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user