request->get(); if(empty($get['page'])) { $get['page'] = 1; } if(empty($get['limit'])) { $get['limit'] = 20; } $db = Db::connect(get_slave_connect_name()); $count = $db->name('disc_spinning_amount')->where('type', $get['type'])->count(); // 构建查询条件 $res = $db->name('disc_spinning_amount') ->where('type', $get['type']) ->order('status', 'desc') ->order('num', 'asc') ->order('random', 'asc') ->order('max_amount', 'asc') ->limit(page($get['page'], $get['limit'])) ->select() ->toArray(); foreach ($res as $k => &$v) { $scaleFactor = 100; $intValue = (int)round($v['max_amount'] * $scaleFactor, 0); $v['max_amount'] = $intValue / $scaleFactor; $intValue = (int)round($v['random'] * $scaleFactor, 0); $v['random'] = $intValue / $scaleFactor; } // 转换为前端需要的格式 $data = [ 'totalCount' => $count, 'pageSize' => $get['limit'], 'totalPage' => ceil($count / $get['limit']), 'currPage' => $get['page'], 'list' => null, 'records' => $res ]; $this->n_success(['data' => $data]); } // 添加现金红包 抽奖配置 public function insertDiscSpinningAmount() { $post = $this->request->post(); // 保存数据到数据库 $result = Db::name('disc_spinning_amount')->insert([ 'name' => $post['name'], 'random' => $post['random'], 'max_amount' => $post['maxAmount'], 'type' => $post['type'], 'status' => $post['status'], 'num' => $post['num'] ?? 0, ]); if (!$result) { $this->error("保存转盘金额配置失败"); } // 删除Redis缓存(使用Cache门面) $cacheKey = "spinning:amount:{$post['type']}"; Cache::delete($cacheKey); $this->success(); } // 修改现金红包 抽奖配置 public function updateDiscSpinningAmount() { $post = $this->request->post(); // 保存数据到数据库 Db::name('disc_spinning_amount')->where(['id' => $post['id']])->update([ 'name' => $post['name'], 'random' => $post['random'], 'max_amount' => $post['maxAmount'], 'type' => $post['type'], 'status' => $post['status'], 'num' => $post['num'], ]); // if (!$result) { // $this->error("保存转盘金额配置失败"); // } // 删除Redis缓存(使用Cache门面) $cacheKey = "spinning:amount:{$post['type']}"; Cache::delete($cacheKey); $this->success(); } public function deleteDiscSpinningAmount() { $post = $this->request->param(); // 保存数据到数据库 $result = Db::name('disc_spinning_amount')->where(['id' => $post['id']])->delete(); if (!$result) { $this->error("保存转盘金额配置失败"); } // 删除Redis缓存(使用Cache门面) $cacheKey = "spinning:amount"; Cache::delete($cacheKey); $this->success(); } }