DoingService.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: sdf_sky
  5. * Date: 2017/4/24
  6. * Time: 下午5:29
  7. */
  8. namespace App\Services;
  9. use App\Models\Doing;
  10. use Carbon\Carbon;
  11. use Illuminate\Support\Facades\Log;
  12. class DoingService
  13. {
  14. /**添加动态记录信息
  15. * @param $user_id
  16. * @param $action
  17. * @param $source_type
  18. * @param $source_id
  19. * @param $subject
  20. * @param string $content
  21. * @param int $refer_id
  22. * @param int $refer_user_id
  23. * @param null $refer_content
  24. * @return bool|static
  25. */
  26. public static function create($user_id,$action,$source_type,$source_id,$subject,$content='',$refer_id=0,$refer_user_id=0,$refer_content=null){
  27. //避免重复动态
  28. $doings = Doing::where("user_id",'=',$user_id)->where("action",'=',$action)->where("source_id","=",$source_id)->where("source_type","=",$source_type)->count();
  29. if( $doings > 0 ) {
  30. return false;
  31. }
  32. try{
  33. return Doing::create([
  34. 'user_id' => $user_id,
  35. 'action' => $action,
  36. 'source_id' => $source_id,
  37. 'source_type' => $source_type,
  38. 'subject' => $subject,
  39. 'content' => strip_tags($content),
  40. 'refer_id' => $refer_id,
  41. 'refer_user_id' => $refer_user_id,
  42. 'refer_content' => strip_tags($refer_content),
  43. 'created_at' => Carbon::now()
  44. ]);
  45. }catch (\Exception $e){
  46. Log::error('doing_service_error:'.$e->getMessage());
  47. return false;
  48. }
  49. }
  50. }