Exemple #1
0
 public function postMark(Request $req)
 {
     $user = $req->user();
     $data = $req->input();
     $tags = $data['tags'];
     $insert = [];
     for ($i = 0; $i < count($tags); $i++) {
         $item = ['weixin_tag_id' => $data['id'], 'tag_id' => $tags[$i], 'weixin_tag_type' => 'App\\Weixin'];
         array_push($insert, $item);
     }
     DB::transaction(function () use($insert, $data, $user) {
         DB::table('weixin_tags')->where('weixin_tag_id', $data['id'])->delete();
         DB::table('weixin_tags')->insert($insert);
         DB::table('user_marked')->insert(['user_id' => $user->id, 'weixin_id' => $data['id'], 'valid' => 1]);
         // update
         Weixin::where('id', $data['id'])->update(['marking' => 1]);
     });
     // 更新统计
     $unmarked = Session::get('unmarked_wx_count');
     Session::set('unmarked_wx_count', $unmarked - 1);
     // 获取下一个
     $next = $this->next($user->last_wx);
     $user->last_wx = $next->id;
     $user->save();
     return ['code' => 0, 'next' => $next];
 }
Exemple #2
0
 public function getIndex(Request $req)
 {
     $user = $req->user();
     $marked = DB::table('user_marked')->where('user_id', $user->id)->count();
     $total = $unmarked = 0;
     if (!Session::get('total_wx_count')) {
         Session::set('total_wx_count', Weixin::count());
         Session::set('unmarked_wx_count', Weixin::whereNull('marking')->orWhere('marking', 0)->count());
     }
     $total = Session::get('total_wx_count');
     $unmarked = Session::get('unmarked_wx_count');
     return ['me' => $marked, 'total' => $total, 'unmarked' => $unmarked, 'marked' => $total - $unmarked, 'pending' => Weixin::where('marking', 0)->count()];
 }