12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- namespace app\sys\controller;
- use app\logics\ClueLogic;
- use app\model\CustomerClue;
- use think\facade\View;
- use app\model\Footprints;
- class Data
- {
- /**
- * 面板
- */
- public function statistics()
- {
- return View::fetch();
- }
- /**
- * 抽奖大转盘
- */
- public function member()
- {
- return View::fetch();
- }
- ///////////
- public function cluedata(){
- $request = request();
- $id = $request->param('id');
- $type = $request->param('type');
- if (!$request->isAjax()) {
- View::assign('type', $type);
- View::assign('id', $id);
- return View::fetch();
- }
- $param = $request->param();
- $condition = [];
- $order = isset($param['order']) ? $param['order'] : 'id desc';
- setCondition($param, ['org', 'org_id'], '=', $condition);
- setCondition($param, ['employee', 'employee_id'], '=', $condition);
- setCondition($param, 'state', '=', $condition);
- setCondition($param, ['type', 'pipe_type'], '=', $condition);
- setCondition($param, ['id', 'pipe_id'], '=', $condition);
- $data = ClueLogic::list($condition, $param['page'], $param['limit'], $order);
- $count = ClueLogic::count($condition);
- //浏览时长
- if ($data) {
- $uids = array_column($data->toArray(), 'uid');
- $where[] = ['uid','in',$uids];
- $where[] = ['pipe_type','=',$type];
- $foots = Footprints::where($where)->whereRaw('reg_info->"$.id" = '. $param['id'])->order('id desc')->field('visit_due_time,uid,addtime')->select()->toArray();
- $uids = [];
- foreach ($foots as $v) {
- $uids[$v['uid']] = $v;
- }
- foreach ($data as $k => &$v) {
- if (isset($uids[$v['uid']])) {
- $v['visit_due_time'] = $uids[$v['uid']]['visit_due_time'] ?: 0;
- $v['addtime'] = $uids[$v['uid']]['addtime'];
- }else{
- $v['visit_due_time'] = 0;
- $v['addtime'] = '';
- }
- }
- }
- return json(['code' => 0, 'data' => $data, 'count'=>$count]);
- }
- }
|