120 lines
4.4 KiB
PHP
120 lines
4.4 KiB
PHP
<?php
|
|
|
|
namespace app\admin\model;
|
|
|
|
use think\Model;
|
|
use think\Db;
|
|
|
|
class BoxGiveGift extends Model
|
|
{
|
|
protected $pk = 'id';
|
|
protected $auto = ['update_time'];
|
|
protected $insert = [
|
|
'add_time',
|
|
];
|
|
protected $update = ['update_time'];
|
|
|
|
protected function setAddTimeAttr()
|
|
{
|
|
return time();
|
|
}
|
|
protected function setUpdateTimeAttr()
|
|
{
|
|
return time();
|
|
}
|
|
public function get_box_give_gift_list($uid, $gid, $gift_name, $give_status, $deduction_status, $start, $give, $deduction, $page = 1, $limit = 20)
|
|
{
|
|
$map = [];
|
|
if (!empty($uid)) {
|
|
$map[] = ['a.uid', '=', $uid];
|
|
}
|
|
if (!empty($gid)) {
|
|
$map[] = ['a.gid', '=', $gid];
|
|
}
|
|
if(!empty($gift_name)){
|
|
$map[] = ['b.gift_name', 'like', '%'.$gift_name.'%'];
|
|
}
|
|
if(!empty($give_status)){
|
|
$map[] = ['a.give_status', '=', $give_status];
|
|
}
|
|
if(!empty($deduction_status)){
|
|
$map[] = ['a.deduction_status', '=', $deduction_status];
|
|
}
|
|
if(!empty($start)){
|
|
$map[] = ['a.add_time', '>=', strtotime($start)];
|
|
}
|
|
if(!empty($give)){
|
|
$map[] = ['a.give_time', '>=',strtotime($give)];
|
|
}
|
|
if(!empty($deduction)){
|
|
$map[] = ['a.deduction_time', '>=', strtotime($deduction)];
|
|
}
|
|
|
|
$list = db::name('box_give_gift')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->field('a.*, b.gift_name, b.gift_price, b.base_image')->where($map)->order('id', 'desc')->page($page, $limit)->select();
|
|
foreach ($list as $k => &$v) {
|
|
$user_info = db::name('user')->field('uid,user_name,nick_name,base64_nick_name')->where('uid', $v['uid'])->find();
|
|
$box_type_info = db::name('box_type')->find($v['tid']);
|
|
$v['type_name'] = $box_type_info['type_name'];
|
|
$v['rid'] = db::name('room')->where('rid',$v['rid'])->value('room_number');
|
|
|
|
// $gift_info = db::name('gift')->find($v['gid']);
|
|
// if (!empty($gift_info)) {
|
|
// $v['gift_name'] = $gift_info['gift_name'];
|
|
// $v['gift_price'] = $gift_info['gift_price'];
|
|
// $v['base_image'] = localpath_to_netpath($gift_info['base_image']);
|
|
// } else {
|
|
// $v['gift_name'] = '';
|
|
// $v['gift_price'] = 0;
|
|
// }
|
|
$v['base_image'] = localpath_to_netpath($v['base_image']);
|
|
$v['user_name'] = $user_info['user_name'];
|
|
$v['nick_name'] = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8');
|
|
}
|
|
$data = [];
|
|
$data['list'] = $list;
|
|
$totalRowData = db::name('box_give_gift')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->field('count(1) as count,SUM(a.num) as num')->where($map)->find();
|
|
$data['count'] = $totalRowData['count'];
|
|
unset($totalRowData['count']);
|
|
//dump($totalRowData);
|
|
$data['totalRow'] = $totalRowData;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
public function add_give_gift($data)
|
|
{
|
|
$data['num'] = 1;
|
|
|
|
$validate = validate('admin/BoxGiveGift');
|
|
$reslut = $validate->scene('adminAdd')->check($data);
|
|
if ($reslut !== true) {
|
|
return ['code' => 201, 'msg' => $validate->getError(), 'data' => null];
|
|
}
|
|
$BoxGiveGift = model('admin/BoxGiveGift');
|
|
$reslut = $BoxGiveGift->save($data);
|
|
if ($reslut) {
|
|
return ['code' => 200, 'msg' => '添加成功', 'data' => ''];
|
|
} else {
|
|
return ['code' => 201, 'msg' => '添加失败', 'data' => ''];
|
|
}
|
|
}
|
|
public function cancel_give_gift($id)
|
|
{
|
|
$give_gift = db::name('box_give_gift')->find($id);
|
|
if($give_gift['is_admin'] == 2){
|
|
return ['code' => 201, 'msg' => '厅主发放不能删除', 'data' => ''];
|
|
}
|
|
|
|
$map = [];
|
|
$map[] = ['id', '=', $id];
|
|
$map[] = ['give_status', '=', 1];
|
|
$data = [];
|
|
$data['give_status'] = 3;
|
|
$data['canel_time'] = time();
|
|
$reslut = db::name('box_give_gift')->where($map)->update($data);
|
|
if (!$reslut) {
|
|
return ['code' => 201, 'msg' => '更新失败', 'data' => ''];
|
|
}
|
|
return ['code' => 200, 'msg' => '更新成功', 'data' => ''];
|
|
}
|
|
}
|