384 lines
16 KiB
PHP
384 lines
16 KiB
PHP
<?php
|
|
|
|
namespace app\admin\model;
|
|
|
|
use think\Db;
|
|
use think\Model;
|
|
|
|
class Sprite extends Model
|
|
{
|
|
//列表
|
|
public function get_monster_list($order, $sort, $page = 1, $limit = 20)
|
|
{
|
|
|
|
$list = db::name('Sprite')->order($order, $sort)->page($page, $limit)->select();
|
|
$total_num = db::name('Sprite')->sum('num');
|
|
foreach ($list as $k => &$v) {
|
|
$v['rate'] = round($v['num']/$total_num, 6)*100;
|
|
$v['rate'] = $v['rate'].'%';
|
|
$gift_info = db::name('gift')->where('gid', $v['gid'])->find();
|
|
$v['gift_name'] = $gift_info['gift_name'];
|
|
$v['base_image'] = localpath_to_netpath($gift_info['base_image']);
|
|
$v['gift_price'] = $gift_info['gift_price'];
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('Sprite')->count();
|
|
$data['list'] = $list;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
//编辑
|
|
public function edit_monster($data)
|
|
{
|
|
if (empty($data)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
|
|
$monster_info = db::name('Sprite')->find($data['id']);
|
|
if (empty($monster_info)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
|
|
Db::startTrans();
|
|
try {
|
|
|
|
$update_data = [];
|
|
// $update_data['multiple'] = $data['multiple'];
|
|
$update_data['gid'] = $data['gid'];
|
|
$update_data['num'] = $data['num'];
|
|
$update_data['update_time'] = time();
|
|
$reslut = db::name('Sprite')->where(['id' => $data['id']])->update($update_data);
|
|
if (!$reslut) {
|
|
Db::rollback();
|
|
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
|
|
}
|
|
|
|
Db::commit();
|
|
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
|
|
} catch (\Exception $e) {
|
|
// 回滚事务
|
|
dump($e);
|
|
Db::rollback();
|
|
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
|
|
}
|
|
|
|
|
|
}
|
|
|
|
//获取信息
|
|
public function get_monster_info($id)
|
|
{
|
|
if (empty($id)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$monster_info = db::name('Sprite')->where(['id' => $id])->find();
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $monster_info];
|
|
}
|
|
|
|
|
|
//列表
|
|
public function get_monster_multiple_list($order, $sort, $page = 1, $limit = 20)
|
|
{
|
|
|
|
$list = db::name('sprite_multiple')->order($order, $sort)->page($page, $limit)->select();
|
|
foreach ($list as $k => &$v) {
|
|
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('sprite_multiple')->count();
|
|
$data['list'] = $list;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
//编辑
|
|
public function edit_monster_multiple($data)
|
|
{
|
|
if (empty($data)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
|
|
$monster_info = db::name('sprite_multiple')->find($data['id']);
|
|
if (empty($monster_info)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
|
|
Db::startTrans();
|
|
try {
|
|
|
|
$update_data = [];
|
|
$update_data['multiple'] = $data['multiple'];
|
|
$update_data['update_time'] = time();
|
|
$reslut = db::name('sprite_multiple')->where(['id' => $data['id']])->update($update_data);
|
|
if (!$reslut) {
|
|
Db::rollback();
|
|
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
|
|
}
|
|
|
|
Db::commit();
|
|
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
|
|
} catch (\Exception $e) {
|
|
// 回滚事务
|
|
dump($e);
|
|
Db::rollback();
|
|
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
|
|
}
|
|
|
|
|
|
}
|
|
|
|
//获取信息
|
|
public function get_monster_multiple_info($id)
|
|
{
|
|
if (empty($id)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$monster_info = db::name('sprite_multiple')->where(['id' => $id])->find();
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $monster_info];
|
|
}
|
|
|
|
|
|
//列表
|
|
public function get_monster_log($order, $sort, $page = 1, $limit = 20)
|
|
{
|
|
|
|
$list = db::name('sprite_log')->order($order, $sort)->page($page, $limit)->select();
|
|
foreach ($list as $k => &$v) {
|
|
$v['type_name'] = '暂未开奖';
|
|
$v['gid'] = 0;
|
|
$v['gift_name'] = '';
|
|
$v['base_image'] = '';
|
|
$v['gift_price'] = 0;
|
|
if($v['is_delete'] == 2){
|
|
if($v['is_evil_wind'] == 2){
|
|
$v['type_name'] = db::name('sprite')->where('id', $v['win_type'])->value('type_name');
|
|
$v['wind_type_name'] = '单号';
|
|
}else{
|
|
if($v['win_type'] == 1){
|
|
$where = [];
|
|
$where[] = ['id', 'in', [1,2]];
|
|
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
|
|
$type_name_arr = implode(',', $type_name_arr);
|
|
$v['type_name'] = $type_name_arr;
|
|
$v['wind_type_name'] = '双号';
|
|
}else if($v['win_type'] == 2){
|
|
$where = [];
|
|
$where[] = ['id', 'in', [1,3]];
|
|
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
|
|
$type_name_arr = implode(',', $type_name_arr);
|
|
$v['type_name'] = $type_name_arr;
|
|
$v['wind_type_name'] = '双号';
|
|
}else if($v['win_type'] == 3){
|
|
$where = [];
|
|
$where[] = ['id', 'in', [1,4]];
|
|
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
|
|
$type_name_arr = implode(',', $type_name_arr);
|
|
$v['type_name'] = $type_name_arr;
|
|
$v['wind_type_name'] = '双号';
|
|
}else if($v['win_type'] == 4){
|
|
$where = [];
|
|
$where[] = ['id', 'in', [1,5]];
|
|
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
|
|
$type_name_arr = implode(',', $type_name_arr);
|
|
$v['type_name'] = $type_name_arr;
|
|
$v['wind_type_name'] = '双号';
|
|
}else if($v['win_type'] == 5){
|
|
$where = [];
|
|
$where[] = ['id', 'in', [2,3]];
|
|
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
|
|
$type_name_arr = implode(',', $type_name_arr);
|
|
$v['type_name'] = $type_name_arr;
|
|
$v['wind_type_name'] = '双号';
|
|
}else if($v['win_type'] == 6){
|
|
$where = [];
|
|
$where[] = ['id', 'in', [2,4]];
|
|
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
|
|
$type_name_arr = implode(',', $type_name_arr);
|
|
$v['type_name'] = $type_name_arr;
|
|
$v['wind_type_name'] = '双号';
|
|
}else if($v['win_type'] == 7){
|
|
$where = [];
|
|
$where[] = ['id', 'in', [2,5]];
|
|
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
|
|
$type_name_arr = implode(',', $type_name_arr);
|
|
$v['type_name'] = $type_name_arr;
|
|
$v['wind_type_name'] = '双号';
|
|
}else if($v['win_type'] == 8){
|
|
$where = [];
|
|
$where[] = ['id', 'in', [3,4]];
|
|
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
|
|
$type_name_arr = implode(',', $type_name_arr);
|
|
$v['type_name'] = $type_name_arr;
|
|
$v['wind_type_name'] = '双号';
|
|
}else if($v['win_type'] == 9){
|
|
$where = [];
|
|
$where[] = ['id', 'in', [3,5]];
|
|
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
|
|
$type_name_arr = implode(',', $type_name_arr);
|
|
$v['type_name'] = $type_name_arr;
|
|
$v['wind_type_name'] = '双号';
|
|
}else{
|
|
$where = [];
|
|
$where[] = ['id', 'in', [4,5]];
|
|
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
|
|
$type_name_arr = implode(',', $type_name_arr);
|
|
$v['type_name'] = $type_name_arr;
|
|
$v['wind_type_name'] = '双号';
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('sprite_log')->count();
|
|
$data['list'] = $list;
|
|
$totalRowData = db::name('sprite_log')->field('count(1) as count,SUM(out_amount) as out_amount,SUM(in_amount) as in_amount')->find();
|
|
unset($totalRowData['count']);
|
|
$data['totalRow'] = $totalRowData;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
//列表
|
|
public function get_user_monster_log($mid, $order, $sort, $page = 1, $limit = 20)
|
|
{
|
|
|
|
$list = db::name('user_sprite_log')->where('mid', $mid)->where('is_close', 1)->order($order, $sort)->page($page, $limit)->select();
|
|
foreach ($list as $k => &$v) {
|
|
$user_info = db::name('user')->where('uid', $v['uid'])->field('uid,nick_name,base64_nick_name,head_pic')->find();
|
|
$v['nick_name'] = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8');
|
|
$v['head_pic'] = localpath_to_netpath($user_info['head_pic']);
|
|
$v['type_name'] = db::name('sprite')->where('type', $v['type'])->value('type_name');
|
|
}
|
|
|
|
$data = [];
|
|
$data['count'] = db::name('user_sprite_log')->where('mid', $mid)->count();
|
|
$data['list'] = $list;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
//列表
|
|
public function get_user_monster_win_log($mid, $order, $sort, $page = 1, $limit = 20)
|
|
{
|
|
$list = db::name('user_sprite_win_log')->where('mid', $mid)->order($order, $sort)->page($page, $limit)->select();
|
|
foreach ($list as $k => &$v) {
|
|
$user_info = db::name('user')->where('uid', $v['uid'])->field('uid,nick_name,base64_nick_name,head_pic')->find();
|
|
$v['nick_name'] = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8');
|
|
$v['head_pic'] = localpath_to_netpath($user_info['head_pic']);
|
|
// $v['type_name'] = db::name('sprite')->where('type', $v['win_type'])->value('type_name');
|
|
// $v['multiple'] = db::name('sprite')->where('type', $v['win_type'])->value('multiple');
|
|
$gift_info = db::name('gift')->where('gid', $v['win_gid'])->field('gid,gift_name,base_image,gift_price')->find();
|
|
$v['gift_name'] = $gift_info['gift_name'];
|
|
$v['base_image'] = localpath_to_netpath($gift_info['base_image']);
|
|
$v['gift_price'] = $gift_info['gift_price'];
|
|
// $v['multiple_price'] = $v['multiple'] * $v['price'];
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('user_sprite_win_log')->where('mid', $mid)->count();
|
|
$data['list'] = $list;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
//列表
|
|
public function get_monster_gift_list($order, $sort, $page = 1, $limit = 20)
|
|
{
|
|
$list = db::name('sprite_gift')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->field('a.id, a.gid, b.gift_name, b.base_image, b.gift_price, a.update_time')->order($order, $sort)->page($page, $limit)->select();
|
|
foreach ($list as $k => &$v) {
|
|
$v['base_image'] = localpath_to_netpath($v['base_image']);
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('sprite_gift')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->count();
|
|
$data['list'] = $list;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
|
|
//获取信息
|
|
public function get_monster_gift_info($id)
|
|
{
|
|
if (empty($id)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$monster_info = db::name('sprite_gift')->where(['id' => $id])->find();
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $monster_info];
|
|
}
|
|
|
|
//编辑
|
|
public function edit_monster_gift($data){
|
|
if (empty($data)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
|
|
$monster_gift_info = db::name('sprite_gift')->find($data['id']);
|
|
if (empty($monster_gift_info)) {
|
|
return ['code' => 201, 'msg' => '参数异常1', 'data' => null];
|
|
}
|
|
|
|
Db::startTrans();
|
|
try {
|
|
|
|
$update_data = [];
|
|
// $update_data['multiple'] = $data['multiple'];
|
|
// $update_data['gid'] = $data['gid'];
|
|
$update_data['gid'] = $data['gid'];
|
|
$update_data['update_time'] = time();
|
|
$reslut = db::name('sprite_gift')->where(['id' => $data['id']])->update($update_data);
|
|
if (!$reslut) {
|
|
Db::rollback();
|
|
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
|
|
}
|
|
|
|
Db::commit();
|
|
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
|
|
} catch (\Exception $e) {
|
|
// 回滚事务
|
|
dump($e);
|
|
Db::rollback();
|
|
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
|
|
}
|
|
|
|
}
|
|
|
|
//列表
|
|
public function get_exchange_sprite_list($uid, $order, $sort, $page = 1, $limit = 20, $room_number, $start, $end)
|
|
{
|
|
$map = [];
|
|
if(!empty($uid)){
|
|
$map[] = ['a.uid', '=', $uid];
|
|
}
|
|
|
|
if(!empty($room_number)){
|
|
$rid = db::name('room')->where('room_number', $room_number)->value('rid');
|
|
if(!empty($rid)){
|
|
$map[] = ['a.rid', '=', $rid];
|
|
}
|
|
}
|
|
|
|
if (!empty($start)) {
|
|
$map[] = ['a.add_time', '>=', strtotime($start)];
|
|
}
|
|
if (!empty($end)) {
|
|
$map[] = ['a.add_time', '<=', strtotime($end)];
|
|
}
|
|
|
|
$list = db::name('user_exchange_sprite_log')->alias('a')->join('yy_user b', 'a.uid = b.uid')->where($map)->field('a.id, a.uid, a.rid, b.base64_nick_name, b.head_pic, a.airship, a.add_time')->order($order, $sort)->page($page, $limit)->select();
|
|
// $gift_info = db::name('gift')->where('gid', 40)->find();
|
|
foreach ($list as $k => &$v) {
|
|
$base64_room_name = db::name('room')->where('rid', $v['rid'])->value('base64_room_name');
|
|
$v['room_name'] = mb_convert_encoding(base64_decode($base64_room_name), 'UTF-8', 'UTF-8');
|
|
$v['nick_name'] = mb_convert_encoding(base64_decode($v['base64_nick_name']), 'UTF-8', 'UTF-8');
|
|
$v['head_pic'] = localpath_to_netpath($v['head_pic']);
|
|
// $v['gift_name'] = $gift_info['gift_name'];
|
|
// $v['base_image'] = localpath_to_netpath($gift_info['base_image']);
|
|
// $v['gift_price'] = $gift_info['gift_price'];
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('user_exchange_sprite_log')->alias('a')->join('yy_user b', 'a.uid = b.uid')->where($map)->count();
|
|
$data['list'] = $list;
|
|
$totalRowData = db::name('user_exchange_sprite_log')->alias('a')->join('yy_user b', 'a.uid = b.uid')->where($map)->field('SUM(a.airship) as airship')->find();
|
|
$data['totalRow'] = $totalRowData;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
|
|
|
|
}
|