self::status_on, ); $order = 'id desc'; $limit = ($page_num - 1) * $page_size . ' ,' . $page_size; $field = '*'; $list = $this->where($where)->order($order)->field($field)->limit($limit)->select(); $admin_id_arr = array(); foreach ($list as $k => $v) { if (strpos($v['url'], '?') === false) { $list[$k]['ad_url'] = $v['url'] . '?' . self::ad_code_name . '=' . $v['code']; } else { $list[$k]['ad_url'] = $v['url'] . '&' . self::ad_code_name . '=' . $v['code']; } $admin_id_arr[] = $v['admin_id']; } //管理员数据 if (!empty($admin_id_arr)) { $admin_model = M('admin'); $admin_temp = $admin_model->where(array('admin_id' => array('in', $admin_id_arr)))->field('admin_id,admin_username')->select(); $admin_data = array(); foreach ($admin_temp as $k => $v) { $admin_data[$v['admin_id']] = $v; } } //整合数据 foreach ($list as $k => $v) { if (!empty($admin_data[$v['admin_id']])) { $list[$k]['admin_username'] = trim($admin_data[$v['admin_id']]['admin_username']); } } $count = $this->where($where)->count(); $page = $this->x_show($count, $page_size, array()); $data = array( 'list' => $list, 'pager' => $page, ); return $data; } /** * 验证保存数据 * @author: linch * @param $data * @return array */ protected function check_edit_data($data) { if (empty($data['name'])) { return array('code' => false, 'msg' => '名称不能为空'); } if (empty($data['url'])) { return array('code' => false, 'msg' => 'url不能为空'); } return array('code' => true, 'msg' => '数据符合'); } /** * 新增数据 * @author: linch * @param $data * @return array */ public function data_add($data) { $time = date('Y-m-d H:i:s'); $save_data = array( 'name' => trim($data['name']), 'url' => trim($data['url']), 'tt_code' => trim($data['tt_code']), 'admin_id' => intval($data['admin_id']), 'c_time' => $time, ); $result = $this->check_edit_data($save_data); if ($result['code'] == false) { //验证的数据不合格 return array('code' => false, 'msg' => $result['msg']); } //生成code do { $code = substr(md5(microtime() . ''), 16); $temp = $this->where(array('code' => $code))->find(); } while (!empty($temp)); $save_data['code'] = $code; $id = $this->data($save_data)->add(); if ($result == false) { //录入数据库失败 return array('code' => false, 'msg' => '系统出错,请重试'); } return array('code' => true, 'msg' => '操作成功', 'id' => $id); } /** * 设置删除状态 * @author: linch * @param $id * @return bool */ public function data_del($id) { $result = $this->where(array('id' => $id))->setField(array('status' => self::status_off)); return $result; } }