154 lines
5.6 KiB
PHP
154 lines
5.6 KiB
PHP
<?php
|
|
|
|
namespace app\admin\model;
|
|
|
|
use think\Model;
|
|
use think\Db;
|
|
|
|
class NewBox extends Model
|
|
{
|
|
|
|
public function get_new_box_list(){
|
|
$map = [];
|
|
$map[] = ['a.is_delete', '=', 1];
|
|
$list = db::name('new_box')
|
|
->alias('a')
|
|
->join('yy_gift b', 'a.gid = b.gid')
|
|
->field('a.*,b.gift_name,b.gift_price,b.base_image')
|
|
->where($map)
|
|
->order('a.id', 'desc')->select();
|
|
foreach($list as &$val) {
|
|
$val['base_image'] = localpath_to_netpath($val['base_image']);
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('new_box')->alias('a')->where($map)->count();
|
|
$data['list'] = $list;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
|
|
|
|
|
|
public function edit_new_box($data)
|
|
{
|
|
if(empty($data['total_amount'])) {
|
|
return ['code' => 201, 'msg' => '请输入金额', 'data' => ''];
|
|
}
|
|
if(ceil($data['total_amount']) != $data['total_amount']) {
|
|
return ['code' => 201, 'msg' => '总金额必须是整数', 'data' => ''];
|
|
}
|
|
$total_amount = $data['total_amount'];
|
|
if(ceil($total_amount/10) != ($total_amount/10)) {
|
|
return ['code' => 201, 'msg' => '总金额必须是10的倍数', 'data' => ''];
|
|
}
|
|
$gid = $data['gid'];
|
|
if(empty($gid)) {
|
|
return ['code' => 201, 'msg' => '请选择礼物', 'data' => ''];
|
|
}
|
|
$count = Db::name('new_box')->where(['gid' => $gid, 'is_delete' => 1])->where('id','neq', $data['id'])->find();
|
|
if($count) {
|
|
return ['code' => 201, 'msg' => '该礼物已配置奖池,请重新选择礼物', 'data' => ''];
|
|
}
|
|
$gift_price = Db::name('gift')->where('gid', $gid)->value('gift_price');
|
|
if($data['total_amount'] < $gift_price) {
|
|
// return ['code' => 201, 'msg' => '总金额小于礼物价值', 'data' => ''];
|
|
}
|
|
$reslut = model('new_box')->isUpdate(true)->save($data);
|
|
if (!$reslut) {
|
|
return ['code' => 201, 'msg' => '编辑失败', 'data' => ''];
|
|
} else {
|
|
return ['code' => 200, 'msg' => '编辑成功', 'data' => ''];
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//获取房间信息
|
|
public function get_new_box_info($tid)
|
|
{
|
|
$box_type_info = db::name('new_box')->where(['id' => $tid])->find();
|
|
if(empty($box_type_info)) {
|
|
return ['code' => 201, 'msg' => '数据不存在', 'data' => null];
|
|
}
|
|
$gift_info = Db::name('gift')->find($box_type_info['gid']);
|
|
if(empty($gift_info)) {
|
|
return ['code' => 201, 'msg' => '礼物数据不存在', 'data' => null];
|
|
}
|
|
$box_type_info['gift_name'] = $gift_info['gift_name'];
|
|
$box_type_info['gift_price'] = $gift_info['gift_price'];
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $box_type_info];
|
|
}
|
|
|
|
//开奖期数
|
|
public function get_new_box_log($nb_id, $status, $page, $page_limit)
|
|
{
|
|
$map = [];
|
|
if($nb_id) {
|
|
$map[] = ['nb_id', '=', $nb_id];
|
|
}
|
|
if($status) {
|
|
$map[] = ['status', '=', $status];
|
|
}
|
|
$list = db::name('new_box_log')
|
|
->alias('a')
|
|
->join('yy_gift b', 'a.gid = b.gid')
|
|
->join('yy_user c', 'a.win_uid = c.uid', 'left')
|
|
->field('a.*,b.gift_name,b.gift_price,b.base_image,c.base64_nick_name')
|
|
->where($map)
|
|
->page($page, $page_limit)
|
|
->order('a.id', 'desc')->select();
|
|
foreach($list as &$val) {
|
|
if($val['base64_nick_name']) {
|
|
$val['nick_name'] = mb_convert_encoding(base64_decode($val['base64_nick_name']), 'UTF-8', 'UTF-8');
|
|
} else {
|
|
$val['nick_name'] = '未中奖';
|
|
}
|
|
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('new_box_log')->alias('a')->where($map)->count();
|
|
$data['list'] = $list;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
//开奖记录
|
|
public function get_user_new_box_log($uid, $nbl_id, $start_time, $end_time, $page, $page_limit)
|
|
{
|
|
$map = [];
|
|
if($nbl_id) {
|
|
$map[] = ['a.nbl_id', '=', $nbl_id];
|
|
}
|
|
if($uid) {
|
|
$map[] = ['a.uid', '=', $uid];
|
|
}
|
|
if($start_time) {
|
|
$map[] = ['a.add_time', '>=', strtotime($start_time)];
|
|
}
|
|
if($end_time) {
|
|
$map[] = ['a.add_time', '<', strtotime($end_time)];
|
|
}
|
|
$list = db::name('user_new_box_log')
|
|
->alias('a')
|
|
->join('yy_new_box_log b', 'a.nbl_id = b.id')
|
|
->join('yy_user c', 'a.uid = c.uid', 'left')
|
|
->join('yy_gift d', 'b.gid = d.gid', 'left')
|
|
->field('a.*,d.gift_name,d.base_image,c.base64_nick_name,c.head_pic')
|
|
->where($map)
|
|
->page($page, $page_limit)
|
|
->order('a.id', 'desc')->select();
|
|
foreach($list as &$val) {
|
|
$val['nick_name'] = mb_convert_encoding(base64_decode($val['base64_nick_name']), 'UTF-8', 'UTF-8');
|
|
$val['head_pic'] = localpath_to_netpath($val['head_pic']);
|
|
$val['base_image'] = localpath_to_netpath($val['base_image']);
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('user_new_box_log')->alias('a')->where($map)->count();
|
|
$total_pay_amount = db::name('user_new_box_log')->alias('a')->where($map)->sum('pay_amount');
|
|
$totalRowData['pay_amount'] = $total_pay_amount;
|
|
$data['totalData'] = $totalRowData;
|
|
$data['list'] = $list;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
}
|