Commit bd90acb0 by LiuJunYi

新需求

parent 3b7aeda1
...@@ -542,6 +542,20 @@ class Project extends AuthBase ...@@ -542,6 +542,20 @@ class Project extends AuthBase
} }
} }
//设置置顶排序
public function setTransfer()
{
$is_transfer = input('post.is_transfer');
$id = input('post.id');
$res = model('project')->save(['is_transfer' => $is_transfer], ['id' => $id]);
if ($res) {
$this->success('开启成功');
} else {
$this->success('开启失败');
}
}
//设置排序 //设置排序
public function setSort() public function setSort()
{ {
......
...@@ -5,23 +5,37 @@ namespace app\admin\controller; ...@@ -5,23 +5,37 @@ namespace app\admin\controller;
use cocolait\extend\Excel; use cocolait\extend\Excel;
use think\Db;
use think\Exception; use think\Exception;
use app\common\model\VipRelation as VipRelationModel; use app\common\model\VipRelation as VipRelationModel;
class VipRelation extends AuthBase class VipRelation extends AuthBase
{ {
/** /**
* 导入列表 * 关联列表
*/ */
public function index() public function index()
{ {
$list = VipRelationModel::order('id','desc')->paginate(); $list = VipRelationModel::where(function ($query) {
return $this->fetch('',compact('list')); if (input('mobile')) {
$query->where('mobile',input('mobile'));
}
})->order('id', 'desc')
->paginate();
return $this->fetch('', compact('list'));
} }
/**
* excel关联会员
* @return \think\response\Json
* @throws \PHPExcel_Exception
*/
public function excel() public function excel()
{ {
try { try {
Db::startTrans();
$model = new VipRelationModel();
$file = request()->file('file')->getInfo(); $file = request()->file('file')->getInfo();
//获取导入的数据 //获取导入的数据
$data = Excel::excelFileToArray($file['tmp_name'], pathinfo($file['name'], PATHINFO_EXTENSION)); $data = Excel::excelFileToArray($file['tmp_name'], pathinfo($file['name'], PATHINFO_EXTENSION));
...@@ -32,15 +46,17 @@ class VipRelation extends AuthBase ...@@ -32,15 +46,17 @@ class VipRelation extends AuthBase
'nickname' => $v[0], 'nickname' => $v[0],
'mobile' => $v[1], 'mobile' => $v[1],
'wx_number' => $v[2], 'wx_number' => $v[2],
'vip_expire' => str_replace('_','/',$v[3]), 'vip_expire' => $v[3],
'address' => $v[4], 'address' => $v[4],
]; ];
$model->relationVip($arr);
array_push($params, $arr); array_push($params, $arr);
} }
$model = new VipRelationModel();
$model->saveAll($params); $model->saveAll($params);
Db::commit();
return json(['code' => 0, 'msg' => '导入成功']); return json(['code' => 0, 'msg' => '导入成功']);
} catch (Exception $e) { } catch (Exception $e) {
Db::rollback();
return json(['code' => 1, 'msg' => $e->getMessage()]); return json(['code' => 1, 'msg' => $e->getMessage()]);
} }
} }
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
} }
</style> </style>
<section class="wrapper"> <section class="wrapper">
<h3><i class="fa fa-angle-right"></i> 活动商家列表</h3> <h3 style="margin-top: 15px"><i class="fa fa-angle-right"></i> 活动商家列表</h3>
<!-- 分割线 --> <!-- 分割线 -->
<hr> <hr>
...@@ -97,6 +97,7 @@ ...@@ -97,6 +97,7 @@
<th>活动/商家信息</th> <th>活动/商家信息</th>
<th>状态</th> <th>状态</th>
<th>推荐置顶</th> <th>推荐置顶</th>
<th>转让专区</th>
<th>排序</th> <th>排序</th>
<th>操作</th> <th>操作</th>
</tr> </tr>
...@@ -158,12 +159,18 @@ ...@@ -158,12 +159,18 @@
</td> </td>
<td>{$vo.sign_endtime_str}</td> <td>{$vo.sign_endtime_str}</td>
<td> <td>
<div data-id="{$vo.id}" class="switch" checked data-on-label="开启" data-off-label="关闭" <div data-id="{$vo.id}" class="switch heat" checked data-on-label="开启" data-off-label="关闭"
data-off="success"> data-off="success">
<input type="checkbox" name="heat" {$vo.heat? 'checked' : '' ;}/> <input type="checkbox" name="heat" {$vo.heat? 'checked' : '' ;}/>
</div> </div>
</td> </td>
<td> <td>
<div data-id="{$vo.id}" class="switch transfer" checked data-on-label="开启" data-off-label="关闭"
data-off="success">
<input type="checkbox" name="is_transfer" {$vo.is_transfer? 'checked' : '' ;}/>
</div>
</td>
<td>
<input type="number" size="4" style="width:50px" onchange="setSort(this.value,{$vo.id})" <input type="number" size="4" style="width:50px" onchange="setSort(this.value,{$vo.id})"
value="{$vo.sort}"> value="{$vo.sort}">
</td> </td>
...@@ -189,7 +196,7 @@ ...@@ -189,7 +196,7 @@
</section> </section>
<script type="text/javascript"> <script type="text/javascript">
$('.switch').on('switch-change', function (e, data) { $('.heat').on('switch-change', function (e, data) {
var heat = data.value ? 1 : 0; var heat = data.value ? 1 : 0;
var id = $(this).attr('data-id'); var id = $(this).attr('data-id');
$.post("{:url('setHeat')}", {id: id, heat: heat}, function (res) { $.post("{:url('setHeat')}", {id: id, heat: heat}, function (res) {
...@@ -197,6 +204,14 @@ ...@@ -197,6 +204,14 @@
}); });
}); });
$('.transfer').on('switch-change', function (e, data) {
var is_transfer = data.value ? 1 : 0;
var id = $(this).attr('data-id');
$.post("{:url('setTransfer')}", {id: id, is_transfer: is_transfer}, function (res) {
location.reload();
});
});
//设置排序 //设置排序
function setSort(sort, id) { function setSort(sort, id) {
$.post("{:url('setSort')}", {id: id, sort: sort}, function () { $.post("{:url('setSort')}", {id: id, sort: sort}, function () {
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</a> </a>
</li> </li>
<li class="sub-menu"> <li class="sub-menu">
<a <?php if(in_array(CONTROLLER_NAME, array('User'))){echo 'class="active"';}?> href="javascript:void(0);" > <a <?php if(in_array(CONTROLLER_NAME, array('User','VipRelation'))){echo 'class="active"';}?> href="javascript:void(0);" >
<i class="fa fa-user"></i> <i class="fa fa-user"></i>
<span>用户管理</span> <span>用户管理</span>
</a> </a>
...@@ -22,6 +22,9 @@ ...@@ -22,6 +22,9 @@
<li <?php if(CONTROLLER_NAME == 'User'&&ACTION_NAME=='index'){echo 'class="active"';}?>> <li <?php if(CONTROLLER_NAME == 'User'&&ACTION_NAME=='index'){echo 'class="active"';}?>>
<a href="<?php echo url("@admin/User/index")?>">用户列表</a> <a href="<?php echo url("@admin/User/index")?>">用户列表</a>
</li> </li>
<li <?php if(CONTROLLER_NAME == 'VipRelation'&&ACTION_NAME=='index'){echo 'class="active"';}?>>
<a href="<?php echo url("admin/VipRelation/index")?>">关联会员</a>
</li>
</ul> </ul>
</li> </li>
<li class="sub-menu"> <li class="sub-menu">
......
{layout name="public/layout_main"} {layout name="public/layout_main"}
<link rel="stylesheet" href="/static/layui/css/layui.css"> <link rel="stylesheet" href="/static/layui/css/layui.css">
<section class="wrapper" > <section class="wrapper" >
<h3 style="margin-top: 15px;"><i class="fa fa-angle-right"></i> 用户管理</h3> <h3 style="margin-top: 15px;"><i class="fa fa-angle-right"></i> 关联会员</h3>
<!-- 分割线 --> <!-- 分割线 -->
<hr> <hr>
<div class="row margin-bottom"> <div class="row margin-bottom">
<div class="col-md-12"> <div class="col-md-12">
<!--<form class="form-inline pull-left" method="GET" action="{:url('admin/user/index')}" >--> <form class="form-inline pull-left" method="GET" action="" >
<!--<div class="form-group margin-right">--> <div class="form-group margin-right">
<!--<input class="form-control" type="text" name="phone" id="phone" value="{:input('phone')}" placeholder="手机号"/>--> <input class="form-control" type="text" name="mobile" value="{:input('mobile')}" placeholder="手机号"/>
<!--</div>--> </div>
<!--<div class="form-group margin-right">--> <button type="submit" class="btn btn-primary">搜索</button>
<!--<input class="form-control" type="text" name="nickname" id="nickname" value="{:input('nickname')}" placeholder="昵称"/>--> </form>
<!--</div>-->
<!--<div class="form-group margin-right">-->
<!--<select name="is_vip" id="is_vip" class="form-control">-->
<!--<option value="">是否会员</option>-->
<!--<option value="1" {if condition="input('is_vip')==1"}selected{/if}>会员</option>-->
<!--<option value="0" {if condition="input('is_vip')==='0'"}selected{/if}>非会员</option>-->
<!--</select>-->
<!--</div>-->
<!--<div class="form-group margin-right">-->
<!--<label for="">注册时间:</label>-->
<!--<input class="form-control" type="date" name="start_time" id="start_time" value="{:input('start_time')}" placeholder="起始"/>-->
<!--&#45;&#45;-->
<!--<input class="form-control" type="date" name="end_time" id="end_time" value="{:input('end_time')}" placeholder="结束"/>-->
<!--</div>-->
<!--<button type="submit" class="btn btn-primary">搜索</button>-->
<!--</form>-->
<button type="button" class="layui-btn pull-right" id="excel"><i class="layui-icon"></i>导入会员列表</button> <button type="button" class="layui-btn pull-right" id="excel"><i class="layui-icon"></i>导入会员列表</button>
</div> </div>
</div> </div>
...@@ -84,7 +68,10 @@ ...@@ -84,7 +68,10 @@
,url: "{:url('excel')}" ,url: "{:url('excel')}"
,accept: 'file' //普通文件 ,accept: 'file' //普通文件
,done: function(res){ ,done: function(res){
console.log(res) layer.msg(res.msg);
if(res.code===0){
location.reload();
}
} }
}); });
}); });
......
...@@ -67,30 +67,35 @@ class Project extends Base ...@@ -67,30 +67,35 @@ class Project extends Base
} }
} }
$project = ProjectModel::all(function ($query) use ($map, $p, $page) { $project = ProjectModel::all(function ($query) use ($map, $p, $page) {
$query->where($map) $query->where($map)->where('is_transfer', input('is_transfer', 0));
->where(function ($query) { //地域
//地域 if (input('level_1')) {
if (input('level_1')) { $query->where('level_1', input('level_1'));
$query->where('level_1', input('level_1')); }
} if (input('level_2')) {
if (input('level_2')) { $query->where('level_2', input('level_2'));
$query->where('level_2', input('level_2')); }
} if (input('level_3')) {
if (input('level_3')) { $query->where('level_3', input('level_3'));
$query->where('level_3', input('level_3')); }
} // if (input('sort') == 'id') {
if (input('sort') == 'id') { // $query->order('id', 'desc');
$query->order('id', 'desc'); // } elseif (input('price') == 'price') {
} elseif (input('price') == 'price') { // $query->order('price');
$query->order('price'); // } else {
} else { // $query->order('sort', 'desc')->order('id', 'desc');
$query->order('sort', 'desc')->order('id', 'desc'); // }
} //排序
}) if (input('order', 'default') === 'default') {
->order('sort', 'desc') $query->order('sort', 'desc');
->page($p, $page); } elseif (input('order', 'default') === 'new') {
}); $query->order('id', 'desc');
} elseif (input('order', 'default') === 'price') {
$query->order('price', 'asc');
}
$query->page($p, $page);
});
$project = $project ? collection($project)->visible(['id', 'title', 'poster', 'sign_limits', 'night_num', 'tags', 'price', 'vip_price', 'type', 'location', 'latitude', 'longitude'])->append(['sign_endtime_str'])->toArray() : []; $project = $project ? collection($project)->visible(['id', 'title', 'poster', 'sign_limits', 'night_num', 'tags', 'price', 'vip_price', 'type', 'location', 'latitude', 'longitude'])->append(['sign_endtime_str'])->toArray() : [];
if (!$project) return ['code' => 1, 'msg' => '没有更多']; if (!$project) return ['code' => 1, 'msg' => '没有更多'];
return ['code' => 0, 'msg' => 'success', 'data' => $project]; return ['code' => 0, 'msg' => 'success', 'data' => $project];
...@@ -106,6 +111,19 @@ class Project extends Base ...@@ -106,6 +111,19 @@ class Project extends Base
//最新活动-只显示3个 //最新活动-只显示3个
$newProjects = ProjectModel::all(function ($query) { $newProjects = ProjectModel::all(function ($query) {
$query->where('type', 1) $query->where('type', 1)
->where('is_transfer', 0)
->where(function ($query) {
//地域
if (input('level_1')) {
$query->where('level_1', input('level_1'));
}
if (input('level_2')) {
$query->where('level_2', input('level_2'));
}
if (input('level_3')) {
$query->where('level_3', input('level_3'));
}
})
->order('sort', 'desc') ->order('sort', 'desc')
->order('id', 'desc') ->order('id', 'desc')
->limit(6); ->limit(6);
...@@ -115,6 +133,19 @@ class Project extends Base ...@@ -115,6 +133,19 @@ class Project extends Base
//爆款专区-只显示3个 //爆款专区-只显示3个
$heatProjects = ProjectModel::all(function ($query) { $heatProjects = ProjectModel::all(function ($query) {
$query->where('type', 2) $query->where('type', 2)
->where('is_transfer', 0)
->where(function ($query) {
//地域
if (input('level_1')) {
$query->where('level_1', input('level_1'));
}
if (input('level_2')) {
$query->where('level_2', input('level_2'));
}
if (input('level_3')) {
$query->where('level_3', input('level_3'));
}
})
->where('heat', 'neq', 0) ->where('heat', 'neq', 0)
->order('sort', 'desc') ->order('sort', 'desc')
->order('id', 'desc') ->order('id', 'desc')
...@@ -126,6 +157,19 @@ class Project extends Base ...@@ -126,6 +157,19 @@ class Project extends Base
$businessProjects = ProjectModel::all(function ($query) { $businessProjects = ProjectModel::all(function ($query) {
$query->where('catalog_id', 5) $query->where('catalog_id', 5)
->where('type', 2) ->where('type', 2)
->where(function ($query) {
//地域
if (input('level_1')) {
$query->where('level_1', input('level_1'));
}
if (input('level_2')) {
$query->where('level_2', input('level_2'));
}
if (input('level_3')) {
$query->where('level_3', input('level_3'));
}
})
->where('is_transfer', 0)
->order('sort', 'desc') ->order('sort', 'desc')
->order('id', 'desc') ->order('id', 'desc')
->limit(8); ->limit(8);
...@@ -159,6 +203,19 @@ class Project extends Base ...@@ -159,6 +203,19 @@ class Project extends Base
if ($type == 1) { if ($type == 1) {
$newProjects = ProjectModel::all(function ($query) use ($p, $page) { $newProjects = ProjectModel::all(function ($query) use ($p, $page) {
$query->where('type', 1) $query->where('type', 1)
->where('is_transfer', 0)
->where(function ($query) {
//地域
if (input('level_1')) {
$query->where('level_1', input('level_1'));
}
if (input('level_2')) {
$query->where('level_2', input('level_2'));
}
if (input('level_3')) {
$query->where('level_3', input('level_3'));
}
})
->order('sort', 'desc') ->order('sort', 'desc')
->order('id', 'desc') ->order('id', 'desc')
->page($p, $page); ->page($p, $page);
...@@ -166,6 +223,19 @@ class Project extends Base ...@@ -166,6 +223,19 @@ class Project extends Base
} elseif ($type == 2) { } elseif ($type == 2) {
$newProjects = ProjectModel::all(function ($query) use ($p, $page) { $newProjects = ProjectModel::all(function ($query) use ($p, $page) {
$query->where('type', 2) $query->where('type', 2)
->where('is_transfer', 0)
->where(function ($query) {
//地域
if (input('level_1')) {
$query->where('level_1', input('level_1'));
}
if (input('level_2')) {
$query->where('level_2', input('level_2'));
}
if (input('level_3')) {
$query->where('level_3', input('level_3'));
}
})
->where('heat', 'neq', 0) ->where('heat', 'neq', 0)
->order('sort', 'desc') ->order('sort', 'desc')
->order('id', 'desc') ->order('id', 'desc')
...@@ -212,6 +282,19 @@ class Project extends Base ...@@ -212,6 +282,19 @@ class Project extends Base
$businessProjects = ProjectModel::all(function ($query) use ($p, $page) { $businessProjects = ProjectModel::all(function ($query) use ($p, $page) {
$query->where('catalog_id', 5) $query->where('catalog_id', 5)
->where('type', 2) ->where('type', 2)
->where(function ($query) {
//地域
if (input('level_1')) {
$query->where('level_1', input('level_1'));
}
if (input('level_2')) {
$query->where('level_2', input('level_2'));
}
if (input('level_3')) {
$query->where('level_3', input('level_3'));
}
})
->where('is_transfer', 0)
->order('sort', 'desc') ->order('sort', 'desc')
->order('id', 'desc') ->order('id', 'desc')
->page($p, $page); ->page($p, $page);
...@@ -231,8 +314,8 @@ class Project extends Base ...@@ -231,8 +314,8 @@ class Project extends Base
public function guides($p = 1, $page = 8) public function guides($p = 1, $page = 8)
{ {
$guides = GuideModel::all(function ($query) use ($p, $page) { $guides = GuideModel::all(function ($query) use ($p, $page) {
if(input('title')){ if (input('title')) {
$query->where('title','like','%'.input('title').'%'); $query->where('title', 'like', '%' . input('title') . '%');
} }
$query->order('sort', 'desc')->order('id', 'desc') $query->order('sort', 'desc')->order('id', 'desc')
->page($p, $page); ->page($p, $page);
...@@ -248,7 +331,7 @@ class Project extends Base ...@@ -248,7 +331,7 @@ class Project extends Base
* @param int pid 活动/商家id * @param int pid 活动/商家id
* @return json * @return json
*/ */
public function collect($pid = 0) public function collect($pid = 0)
{ {
if (empty($pid)) return ['code' => 1, 'msg' => '缺少参数pid']; if (empty($pid)) return ['code' => 1, 'msg' => '缺少参数pid'];
$uid = $this->userinfo[0]; $uid = $this->userinfo[0];
......
...@@ -141,6 +141,10 @@ class User extends Base ...@@ -141,6 +141,10 @@ class User extends Base
$hidephone = substr_replace($phone, '****', 3, 4); $hidephone = substr_replace($phone, '****', 3, 4);
$user = UserModel::get($this->userinfo[0]); $user = UserModel::get($this->userinfo[0]);
$onlyPhone = UserModel::get(['id'=>['neq',$this->userinfo[0]],'phone'=>$phone]);
if($onlyPhone){
return ["code" => 1, "msg" => "该手机号已注册"];
}
$user->phone = $phone; $user->phone = $phone;
$user->save(); $user->save();
......
...@@ -18,4 +18,22 @@ class VipRelation extends BaseModel ...@@ -18,4 +18,22 @@ class VipRelation extends BaseModel
$arr = ['未关联','已关联']; $arr = ['未关联','已关联'];
return $arr[$data['is_relation']]; return $arr[$data['is_relation']];
} }
/**
* 检测是否可以关联
* @param $data
* @throws \think\exception\DbException
*/
public function relationVip(&$data)
{
//先查询数据库手机号,如果没有直接略过
$user = User::get(['phone'=>$data['mobile']]);
if($user){
//直接把到期时间替换了
$user->vip_endtime = $data['vip_expire'];
$user->save();
$data['is_relation'] = 1;
}
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment