Signature.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?php
  2. /**
  3. * 后台的公共控制器类
  4. *
  5. */
  6. namespace app\admin\controller;
  7. use app\common\controller\Base;
  8. use app\common\model\Admin as AdminModel;
  9. use think\Db;
  10. class Signature extends Base
  11. {
  12. public function __construct()
  13. {
  14. parent::__construct();
  15. $tmpSelfGameList = model('Common/Game')->alias('g')->field('g.id,g.name')
  16. ->join('cy_gameinfo cgi', 'g.id=cgi.game_id')
  17. ->where(['platform' => 1])->order('id desc')->select();
  18. $selfGameList = array();
  19. foreach ($tmpSelfGameList as $game) {
  20. $selfGameList[$game['id']] = $game;
  21. }
  22. $game_list = array(array('id' => 0, 'name' => ''));
  23. $game_list = array_merge($game_list, $selfGameList);
  24. $this->assign('game_list', $game_list);
  25. }
  26. public function signatureList()
  27. {
  28. $game_id = input('request.game_id', 0, 'intval');
  29. $start_time = input('request.start', '', 'trim');
  30. $end_time = input('request.end', '', 'trim');
  31. $where = [];
  32. //用户ID
  33. if ($game_id) {
  34. $where['game_id'] = $game_id;
  35. }
  36. // 获取查询日期
  37. if (!empty($start_time) || !empty($end_time)) {
  38. $where['end_date'] = getDateTimeCondition($start_time, $end_time, false);
  39. }
  40. $list = model("Signature")->alias('m')
  41. ->field("m.id,m.game_id,m.start_date,m.end_date,m.contact,m.remarks,m.update_time,cg.name")
  42. ->join('cy_game cg', 'cg.id=m.game_id', 'left')
  43. ->where($where)
  44. ->where('end_date','>',date('Y-m-d',strtotime("-30 day")))
  45. ->order('m.end_date asc')
  46. ->paginate(10, false, ['query' => input('get.')]);
  47. $data = $list->toArray()['data'];
  48. foreach ($data as $k => $v) {
  49. $day = (int)((strtotime($v['end_date']) - strtotime(date('Y-m-d')))/86400);
  50. if($day>0){
  51. $data[$k]['day'] = '<span style="color:green">'.$day.'天后到期</span>';
  52. }else{
  53. $data[$k]['day'] = '<span style="color:red">已到期</span>';
  54. }
  55. }
  56. $this->assign('list', $data);
  57. $this->assign('total', $list->total()); //总条数
  58. $this->assign('page', $list->render());
  59. $this->assign('start_time', $start_time);
  60. $this->assign('end_time', $end_time);
  61. return $this->fetch();
  62. }
  63. /**
  64. * 编辑
  65. */
  66. public function signatureEdit()
  67. {
  68. $id = input('id', 0, 'intval');
  69. $signatureModel = new \app\common\model\Signature();
  70. if ($id) {
  71. $info = $signatureModel->where(['id' => $id])->find();
  72. } else {
  73. $info = [];
  74. }
  75. if (request()->isPost()) {
  76. $data = [
  77. 'game_id' => input('post.game_id', '', 'intval'),
  78. 'start_date' => input('post.start_date'),
  79. 'end_date' => input('post.end_date'),
  80. 'contact' => input('post.contact'),
  81. 'remarks' => input('post.remarks', ''),
  82. ];
  83. $result = $this->validate($data, [
  84. ['game_id', 'require|integer|gt:0', '请选择游戏|游戏ID必须为整型|请选择游戏'],
  85. ['start_date', 'require|date', '开始时间必填|时间格式错误'],
  86. ['end_date', 'require|date', '结束时间必填|时间格式错误'],
  87. ['contact', 'require', '联系方式必填'],
  88. ]);
  89. if (true !== $result) {
  90. $this->error($result);
  91. }
  92. //检查是否已存在记录
  93. if ($id > 0) {
  94. if ($signatureModel->where(['id' => ['neq', $id], 'game_id' => $data['game_id']])->find()) {
  95. $this->error('记录已存在');
  96. }
  97. }else{
  98. if ($signatureModel->where([ 'game_id' => $data['game_id']])->find()) {
  99. $this->error('记录已存在');
  100. }
  101. }
  102. $data['update_time'] = time();
  103. if ($info) {
  104. if ($signatureModel->where(['id' => $id])->update($data)) {
  105. $this->success('编辑成功', 'signature/signatureList');
  106. } else {
  107. $this->error('编辑失败');
  108. }
  109. } else {
  110. if ($signatureModel->insert($data)) {
  111. $this->success('编辑成功', 'signature/signatureList');
  112. } else {
  113. $this->error('编辑失败');
  114. }
  115. }
  116. }
  117. $this->assign('data', $info);
  118. return $this->fetch('signature_edit');
  119. }
  120. }