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]; } }