alias('g')->field('g.id,g.name') ->join('cy_gameinfo cgi', 'g.id=cgi.game_id') ->where(['platform' => 1])->order('id desc')->select(); $selfGameList = array(); foreach ($tmpSelfGameList as $game) { $selfGameList[$game['id']] = $game; } $game_list = array(array('id' => 0, 'name' => '')); $game_list = array_merge($game_list, $selfGameList); $this->assign('game_list', $game_list); } public function signatureList() { $game_id = input('request.game_id', 0, 'intval'); $start_time = input('request.start', '', 'trim'); $end_time = input('request.end', '', 'trim'); $where = []; //用户ID if ($game_id) { $where['game_id'] = $game_id; } // 获取查询日期 if (!empty($start_time) || !empty($end_time)) { $where['end_date'] = getDateTimeCondition($start_time, $end_time, false); } $list = model("Signature")->alias('m') ->field("m.id,m.game_id,m.start_date,m.end_date,m.contact,m.remarks,m.update_time,cg.name") ->join('cy_game cg', 'cg.id=m.game_id', 'left') ->where($where) ->where('end_date','>',date('Y-m-d',strtotime("-30 day"))) ->order('m.end_date asc') ->paginate(10, false, ['query' => input('get.')]); $data = $list->toArray()['data']; foreach ($data as $k => $v) { $day = (int)((strtotime($v['end_date']) - strtotime(date('Y-m-d')))/86400); if($day>0){ $data[$k]['day'] = ''.$day.'天后到期'; }else{ $data[$k]['day'] = '已到期'; } } $this->assign('list', $data); $this->assign('total', $list->total()); //总条数 $this->assign('page', $list->render()); $this->assign('start_time', $start_time); $this->assign('end_time', $end_time); return $this->fetch(); } /** * 编辑 */ public function signatureEdit() { $id = input('id', 0, 'intval'); $signatureModel = new \app\common\model\Signature(); if ($id) { $info = $signatureModel->where(['id' => $id])->find(); } else { $info = []; } if (request()->isPost()) { $data = [ 'game_id' => input('post.game_id', '', 'intval'), 'start_date' => input('post.start_date'), 'end_date' => input('post.end_date'), 'contact' => input('post.contact'), 'remarks' => input('post.remarks', ''), ]; $result = $this->validate($data, [ ['game_id', 'require|integer|gt:0', '请选择游戏|游戏ID必须为整型|请选择游戏'], ['start_date', 'require|date', '开始时间必填|时间格式错误'], ['end_date', 'require|date', '结束时间必填|时间格式错误'], ['contact', 'require', '联系方式必填'], ]); if (true !== $result) { $this->error($result); } //检查是否已存在记录 if ($id > 0) { if ($signatureModel->where(['id' => ['neq', $id], 'game_id' => $data['game_id']])->find()) { $this->error('记录已存在'); } }else{ if ($signatureModel->where([ 'game_id' => $data['game_id']])->find()) { $this->error('记录已存在'); } } $data['update_time'] = time(); if ($info) { if ($signatureModel->where(['id' => $id])->update($data)) { $this->success('编辑成功', 'signature/signatureList'); } else { $this->error('编辑失败'); } } else { if ($signatureModel->insert($data)) { $this->success('编辑成功', 'signature/signatureList'); } else { $this->error('编辑失败'); } } } $this->assign('data', $info); return $this->fetch('signature_edit'); } }