KfjkLogic.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019/7/6
  6. * Time: 16:59
  7. */
  8. namespace App\common;
  9. use app\admin\model\Kfonlline;
  10. use app\admin\model\Users;
  11. use think\Db;
  12. /**
  13. * [
  14. * 用户名:
  15. * 会话量:今日客服累计的的会话量 hyl
  16. * 接待量:当前客服正在接待的会话数 jdl
  17. * 平均会话时长:今日客服的平均会话时长,即访客进入到会话结束时时间间隔的平均值 pjhusc
  18. * 参评率:今日客服的累计参评率,即参加评价的数量和接入会话数量的比值 cpl
  19. * 满意度率:今日客服的累计满意度率,即满意的数量和评价会话数量的比值 mydl
  20. * 平均响应时长:今日客服的平均响应时长,即访客访问和客服回复时间间隔的平均值。 pjxysc
  21. * 今日休息时长:今日客服的休息时长的累计值 jrxxsc
  22. * ]
  23. */
  24. class KfjkLogic
  25. {
  26. public function getAllData($uidarray)
  27. {
  28. if (empty($uidarray)) {
  29. return false;
  30. }
  31. $todayall = $this->getTodayServiceData($uidarray);
  32. if (!$todayall){
  33. return false ;
  34. }
  35. }
  36. public function getValiKF($groupid, $onlinestatus)
  37. {
  38. $groupusers = [];
  39. $kfgroup = (new Users)->getByGroup($groupid);
  40. if (!$kfgroup) {
  41. return [];
  42. }
  43. foreach ($kfgroup as $val) {
  44. $groupusers[] = $val['id'];
  45. }
  46. if ($onlinestatus) {
  47. $m = (new Kfonlline())->getOnlineAll();
  48. if (!$m) {
  49. return [];
  50. }
  51. $statuukfs = [];
  52. foreach ($m as $sval) {
  53. if (($sval['status']) == $onlinestatus) {
  54. $statuukfs[] = $sval['uid'];
  55. }
  56. }
  57. if (!$statuukfs) {
  58. return [];
  59. }
  60. return $statuukfs;
  61. }
  62. return $groupusers;
  63. }
  64. public function hyl($kfuid)
  65. {
  66. }
  67. public function jdl($kfuid)
  68. {
  69. }
  70. public function pjhusc($kfuid)
  71. {
  72. }
  73. public function cpl($kfuid)
  74. {
  75. }
  76. public function mydl($kfuid)
  77. {
  78. }
  79. public function pjxysc($kfuid)
  80. {
  81. }
  82. public function jrxxsc($kfuid)
  83. {
  84. }
  85. public function getTodayServiceData($kfuidArray = [])
  86. {
  87. $today_begin = strtotime(date("Y-m-d"));
  88. $today_end = $today_begin + 86400;
  89. $filds = "group_id,kf_id,user_id,status,start_time,intime,end_time,evaluate_id" ;
  90. if ($kfuidArray) {
  91. $ret = Db::name('service_log')->field($filds)->where(['start_time' => ['>=', $today_begin], 'kf_id' => ['IN', $kfuidArray]])->where(['start_time' => ['<', $today_end]])->select();
  92. } else {
  93. $ret = Db::name('service_log')->field($filds)->where(['start_time' => ['>=', $today_begin]])->where(['start_time' => ['<', $today_end]])->select();
  94. }
  95. return $ret;
  96. }
  97. }