| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- namespace app\admin\model;
- use think\Model;
- /**
- * 客服状态改变时长模型
- */
- class Kfstatetimes extends Model
- {
- public function getDayData($dataArray, $uidArray = [])
- {
- $ret = $this->where(['sday' => ['IN', $dataArray]]);
- if ($uidArray) {
- $ret = $ret->where(['kfuid' => ['IN', $uidArray]]);
- }
- $ret = $ret->order(['kfuid' => 'asc'])->select();
- if (!$ret) {
- return false;
- }
- $return = $this->getOneUserData($ret);
- return $return;
- }
- private function getOneUserData($array)
- {
- $return = [];
- foreach ($array as $val) {
- $return[$val->sday][$val->kfuid][$val->kstatus] = $val->stime;
- }
- foreach ($return as $sday => $sval) {
- foreach ($sval as $kfuid => $tval) {
- if (!isset($tval['0'])) {
- $return[$sday][$kfuid]['0'] = 0;
- }
- if (!isset($tval['1'])) {
- $return[$sday][$kfuid]['1'] = 0;
- }
- if (!isset($tval['2'])) {
- $return[$sday][$kfuid]['2'] = 0;
- }
- if (!isset($tval['3'])) {
- $return[$sday][$kfuid]['3'] = 0;
- }
- $return[$sday][$kfuid]['all'] = $return[$sday][$kfuid]['1'] + $return[$sday][$kfuid]['2'] + $return[$sday][$kfuid]['3'];
- if ($return[$sday][$kfuid]['all']) {
- $return[$sday][$kfuid]['s1p'] = floatPointDigit($return[$sday][$kfuid]['1'] / $return[$sday][$kfuid]['all']);
- $return[$sday][$kfuid]['s2p'] = floatPointDigit($return[$sday][$kfuid]['2'] / $return[$sday][$kfuid]['all']);
- $return[$sday][$kfuid]['s3p'] = floatPointDigit($return[$sday][$kfuid]['3'] / $return[$sday][$kfuid]['all']);
- } else {
- $return[$sday][$kfuid]['s1p'] = 0;
- $return[$sday][$kfuid]['s2p'] = 0;
- $return[$sday][$kfuid]['s3p'] = 0;
- }
- }
- }
- return $return;
- }
- }
|