order($order, $sort)->page($page, $limit)->select(); $total_num = db::name('Monster')->sum('num'); foreach ($list as $k => &$v) { $gift_info = db::name('vs_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'] .= '%'; $v['createtime'] = date('Y-m-d H:i:s', $v['createtime']); $v['updatetime'] = date('Y-m-d H:i:s', $v['updatetime']); } $data = []; $data['count'] = db::name('Monster')->count(); $data['list'] = $list; return ['code' => 1, 'msg' => '获取成功', 'data' => $data]; } //获取礼物列表 public function get_gift_list(){ $map = []; // $map[] = ['gid', 'not in', [36,37,38]]; $map['type'] = ['=', 2]; // $map['label'] = ['=', 18]; $map['is_show'] = ['=',1]; $map['delete_time'] = ['=', 0]; $list = db::name('vs_gift')->where($map)->order('gift_price asc')->select(); $data = []; $data['count'] = db::name('vs_gift')->where($map)->count(); $data['list'] = $list; return ['code' => 1, 'msg' => '获取成功', 'data' => $data]; } //编辑 public function edit_monster($data) { if (empty($data)) { return ['code' => 0, 'msg' => '参数异常', 'data' => null]; } $monster_info = db::name('Monster')->find($data['id']); if (empty($monster_info)) { return ['code' => 0, 'msg' => '参数异常', 'data' => null]; } $map = []; $map['gid'] = ['=', $data['gid']]; // $map['type'] = ['=', 1]; $map['is_show'] = ['=',1]; $map['delete_time'] = ['=', 0]; $gift_info = db::name('vs_gift')->where($map)->find(); if(!$gift_info){ return ['code' => 0, 'msg' => '配置礼物不存在', 'data' => null]; } if($monster_info['multiple'] * 10 != $gift_info['gift_price']){ return ['code' => 0, 'msg' => '配置礼物的价格必须为倍数的10倍', 'data' => null]; } Db::startTrans(); try { $update_data = []; $update_data['type_name'] = $data['type_name']; if($data['multiple']){ $update_data['multiple'] = $data['multiple']; } $update_data['gid'] = $data['gid']; $update_data['num'] = $data['num']; $update_data['updatetime'] = time(); $reslut = db::name('Monster')->where(['id' => $data['id']])->update($update_data); if (!$reslut) { Db::rollback(); return ['code' => 0, 'msg' => '修改失败', 'data' => null]; } Db::commit(); return ['code' => 1, 'msg' => '修改成功', 'data' => null]; } catch (\Exception $e) { // 回滚事务 dump($e); Db::rollback(); return ['code' => 0, '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' => 1, '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' => 1, '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['updatetime'] = time(); $reslut = db::name('monster_multiple')->where(['id' => $data['id']])->update($update_data); if (!$reslut) { Db::rollback(); return ['code' => 0, 'msg' => '修改失败', 'data' => null]; } Db::commit(); return ['code' => 1, 'msg' => '修改成功', 'data' => null]; } catch (\Exception $e) { // 回滚事务 dump($e); Db::rollback(); return ['code' => 0, 'msg' => '修改失败', 'data' => null]; } } //获取信息 public function get_monster_multiple_info($id) { if (empty($id)) { return ['code' => 0, 'msg' => '参数异常', 'data' => null]; } $monster_info = db::name('monster_multiple')->where(['id' => $id])->find(); return ['code' => 1, '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('vs_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']; $v['createtime'] = date('Y-m-d H:i:s', $v['createtime']); $v['updatetime'] = date('Y-m-d H:i:s', $v['updatetime']); $v['end_time'] = date('Y-m-d H:i:s', $v['end_time']); } } $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' => 1, '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('id', $v['uid'])->field('id,nickname,avatar')->find(); $v['nickname'] = $user_info['nickname']; $v['avatar'] = localpath_to_netpath($user_info['avatar']); $v['type_name'] = db::name('Monster')->where('type', $v['type'])->value('type_name'); $v['createtime'] = date('Y-m-d H:i:s', $v['createtime']); $v['updatetime'] = date('Y-m-d H:i:s', $v['updatetime']); } $data = []; $data['count'] = db::name('user_monster_log')->where('mid', $mid)->count(); $data['list'] = $list; return ['code' => 1, '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('id', $v['uid'])->field('id,nickname,avatar')->find(); $v['nickname'] = $user_info['nickname']; $v['avatar'] = localpath_to_netpath($user_info['avatar']); $v['type_name'] = db::name('Monster')->where('type', $v['win_type'])->value('type_name'); $gift_info = db::name('vs_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['createtime'] = date('Y-m-d H:i:s', $v['createtime']); $v['updatetime'] = date('Y-m-d H:i:s', $v['updatetime']); } $data = []; $data['count'] = db::name('user_monster_win_log')->where('mid', $mid)->count(); $data['list'] = $list; return ['code' => 1, 'msg' => '获取成功', 'data' => $data]; } }