order($order, $sort)->page($page, $limit)->select(); $total_num = db::name('Monster')->sum('num'); foreach ($list as $k => &$v) { $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']; $v['rate'] = round(($v['num']/$total_num), 6) * 100; $v['rate'] .= '%'; } $data = []; $data['count'] = db::name('Monster')->count(); $data['list'] = $list; return ['code' => 200, 'msg' => '获取成功', 'data' => $data]; } //获取礼物列表 public function get_gift_list(){ $map = []; // $map[] = ['gid', 'not in', [36,37,38]]; $map[] = ['type', '=', 1]; $map[] = ['is_show','=',1]; $map[] = ['is_delete', '=', 1]; $list = db::name('gift')->where($map)->order('gift_price asc')->select(); foreach ($list as $k => &$v) { $v['base_image'] = localpath_to_netpath($v['base_image']); } $data = []; $data['count'] = db::name('gift')->where($map)->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('Monster')->find($data['id']); if (empty($monster_info)) { return ['code' => 201, 'msg' => '参数异常', 'data' => null]; } $map = []; $map[] = ['gid', '=', $data['gid']]; $map[] = ['type', '=', 1]; $map[] = ['is_show','=',1]; $map[] = ['is_delete', '=', 1]; $gift_info = db::name('gift')->where($map)->find(); if(!$gift_info){ return ['code' => 201, 'msg' => '配置礼物不存在', 'data' => null]; } if($monster_info['multiple'] * 10 != $gift_info['gift_price']){ return ['code' => 201, 'msg' => '配置礼物的价格必须为倍数的10倍', 'data' => null]; } Db::startTrans(); try { $update_data = []; $update_data['type_name'] = $data['type_name']; // $update_data['multiple'] = $data['multiple']; $update_data['gid'] = $data['gid']; $update_data['num'] = $data['num']; $update_data['update_time'] = time(); $reslut = db::name('Monster')->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('Monster')->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('monster_multiple')->order($order, $sort)->page($page, $limit)->select(); foreach ($list as $k => &$v) { } $data = []; $data['count'] = db::name('monster_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('monster_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('monster_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('monster_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('monster_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){ $gift_info = db::name('Monster')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->field('b.gid,b.gift_name,b.base_image,b.gift_price,a.type_name')->where('a.type', $v['win_type'])->find(); $v['gid'] = $gift_info['gid']; $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['type_name'] = $gift_info['type_name']; } } $data = []; $data['count'] = db::name('monster_log')->count(); $data['list'] = $list; $totalRowData = db::name('monster_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_monster_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('Monster')->where('type', $v['type'])->value('type_name'); } $data = []; $data['count'] = db::name('user_monster_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_monster_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('Monster')->where('type', $v['win_type'])->value('type_name'); $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']; } $data = []; $data['count'] = db::name('user_monster_win_log')->where('mid', $mid)->count(); $data['list'] = $list; return ['code' => 200, 'msg' => '获取成功', 'data' => $data]; } }