KefuTime.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace app\admin\model;
  3. use app\BaseModel;
  4. class KefuTime extends BaseModel
  5. {
  6. protected $autoWriteTimestamp = true;
  7. protected $createTime = 'created_at';
  8. protected $updateTime = 'updated_at';
  9. public static function addData($admin_id, $type) {
  10. return self::create([
  11. 'admin_id' => $admin_id,
  12. 'type' => $type,
  13. 'start_time' => time(),
  14. 'status' => 0,
  15. ]);
  16. }
  17. //结束服务时间
  18. public static function endData($admin_id, $type) {
  19. $exits = KefuTime::where('admin_id', $admin_id)->where('type', $type)->where("created_at", '>=', date("Y-m-d"))->orderBy('id', 'desc')->find();
  20. if ($exits && $exits->status == 0) {
  21. $exits->status = 1;
  22. $exits->end_time = time();
  23. $exits->save();
  24. $info = KefuWork::where('admin_id', $admin_id)->where("created_at", '>=', date("Y-m-d"))->find();
  25. if ($type == 1) {
  26. $info->busy_time += $exits->end_time - $exits->start_time;
  27. $info->save();
  28. } elseif ($type == 2) {
  29. $info->online_time += $exits->end_time - $exits->start_time;
  30. $info->save();
  31. } elseif ($type == 3) {
  32. $info->chat_time += $exits->end_time - $exits->start_time;
  33. $info->save();
  34. } elseif ($type == 4) {
  35. $info->service_time += $exits->end_time - $exits->start_time;
  36. $info->save();
  37. }
  38. return true;
  39. }
  40. return false;
  41. }
  42. }