<?php
namespace app\admin\controller;
use think\Controller;
use think\Request;
use app\admin\model\PrizeModel;
class PrizeController extends Controller
{
// 添加奖品
public function addPrize(Request $request)
{
$prizeData = $request->post();
$prizeModel = new PrizeModel();
$result = $prizeModel->addPrize($prizeData);
if ($result) {
return json(['message' => 'Prize added successfully']);
} else {
return json(['message' => 'Failed to add prize']);
}
}
// 获取奖品列表
public function getPrizes()
{
$prizes = PrizeModel::all();
return json($prizes);
}
}
3.3 admin/models/PrizeModel.php – 奖品模型
<?php
namespace app\admin\model;
use think\Model;
class PrizeModel extends Model
{
protected $table = 'prizes'; // 数据表名称
public function addPrize($data)
{
return $this->insert($data);
}
public function getAllPrizes()
{
return $this->select();
}
}
数据库设计 以下是与奖品管理相关的表结构:
CREATE TABLE `lottery_prizes` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`probability` DECIMAL(5,2) NOT NULL, -- 奖品中奖概率
`type` VARCHAR(255) NOT NULL -- 奖品类型
);
-- 示例数据
INSERT INTO `lottery_prizes` (`name`, `probability`, `type`)
VALUES ('一等奖', 5, '实物'),
('二等奖', 10, '实物'),
('三等奖', 20
CREATE TABLE `orders` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`user_id` INT NOT NULL,
`prize_id` INT NOT NULL,
`status` ENUM('paid', 'unpaid') NOT NULL,
`payment_method` VARCHAR(255) NOT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
<?php
namespace app\admin\model;
use think\Model;
class SubSiteModel extends Model
{
protected $table = 'sub_sites'; // 数据表名称
public function addSubSite($data)
{
return $this->insert($data);
}
public function getAllSubSites()
{
return $this->select();
}
public function updateSubSite($data)
{
return $this->update($data);
}
public function deleteSubSite($id)
{
return $this->destroy($id);
}
}
1.3 database.sql – 分站表结构
CREATE TABLE `sub_sites` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL, -- 分站名称
`owner_name` VARCHAR(255) NOT NULL, -- 站长姓名
`owner_user_id` INT NOT NULL, -- 站长用户ID
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
<?php
require_once 'vendor/autoload.php';
use Endroid\QrCode\QrCode;
if (isset($_GET['data'])) {
$qrCode = new QrCode($_GET['data']);
header('Content-Type: image/png');
echo $qrCode->writeString();
}
?>
数据库设计:分站和海报相关表
-- 创建分站表
CREATE TABLE `sub_sites` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`owner_name` VARCHAR(255) NOT NULL,
`owner_user_id` INT NOT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 创建海报记录表
CREATE TABLE `posters` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`user_id` INT NOT NULL,
`prize` VARCHAR(255) NOT NULL,
`poster_url` VARCHAR(255) NOT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
<?php
namespace app\admin\controller;
use think\Controller;
use think\Request;
use app\admin\model\UserModel;
class UserController extends Controller
{
// 获取所有用户
public function getUsers()
{
$users = UserModel::all();
return json($users);
}
// 获取单个用户
public function getUser($id)
{
$user = UserModel::find($id);
return json($user);
}
// 更新用户信息
public function updateUser(Request $request, $id)
{
$data = $request->post();
$userModel = UserModel::find($id);
if ($userModel) {
$userModel->update($data);
return json(['message' => 'User updated successfully']);
} else {
return json(['message' => 'User not found']);
}
}
// 删除用户
public function deleteUser($id)
{
$userModel = UserModel::find($id);
if ($userModel) {
$userModel->delete();
return json(['message' => 'User deleted successfully']);
} else {
return json(['message' => 'User not found']);
}
}
}
1.2 admin/models/UserModel.php – 用户模型
<?php
namespace app\admin\model;
use think\Model;
class UserModel extends Model
{
protected $table = 'users'; // 用户表
public function getAllUsers()
{
return $this->select();
}
public function updateUser($data)
{
return $this->update($data);
}
public function deleteUser($id)
{
return $this->destroy($id);
}
}
1.3 database.sql – 用户表结构
CREATE TABLE `users` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`username` VARCHAR(255) NOT NULL,
`avatar` VARCHAR(255) NOT NULL,
`balance` DECIMAL(10, 2) NOT NULL DEFAULT 0.00,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
<?php
namespace app\admin\model;
use think\Model;
class UserModel extends Model
{
protected $table = 'users'; // 用户表
public function getAllUsers()
{
return $this->select();
}
public function updateUser($data)
{
return $this->update($data);
}
public function deleteUser($id)
{
return $this->destroy($id);
}
}
<?php
namespace app\admin\controller;
use think\Controller;
use think\Request;
use app\admin\model\OrderModel;
use app\admin\model\PaymentModel;
class PaymentController extends Controller
{
// 获取支付记录
public function getPayments()
{
$payments = PaymentModel::all();
return json($payments);
}
// 更新支付状态
public function updatePaymentStatus(Request $request, $id)
{
$status = $request->post('status');
$paymentModel = PaymentModel::find($id);
if ($paymentModel) {
$paymentModel->status = $status;
$paymentModel->save();
return json(['message' => 'Payment status updated successfully']);
} else {
return json(['message' => 'Payment record not found']);
}
}
}
1.2 admin/models/PaymentModel.php – 支付模型
<?php
namespace app\admin\model;
use think\Model;
class PaymentModel extends Model
{
protected $table = 'payments'; // 支付记录表
public function createPayment($orderId, $paymentMethod, $transactionId, $amount)
{
return $this->insert([
'order_id' => $orderId,
'payment_method' => $paymentMethod,
'transaction_id' => $transactionId,
'amount' => $amount,
'status' => 'paid',
'payment_date' => date('Y-m-d H:i:s')
]);
}
public function getAllPayments()
{
return $this->select();
}
public function updatePayment($data)
{
return $this->update($data);
}
public function deletePayment($id)
{
return $this->destroy($id);
}
}
1.3 database.sql – 支付记录表结构
CREATE TABLE `payments` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`order_id` INT NOT NULL,
`payment_method` VARCHAR(255) NOT NULL,
`transaction_id` VARCHAR(255) NOT NULL,
`amount` DECIMAL(10, 2) NOT NULL,
`status` ENUM('paid', 'failed') NOT NULL,
`payment_date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
<?php
namespace app\admin\controller;
use think\Controller;
use think\Request;
use app\admin\model\SystemConfigModel;
class SystemConfigController extends Controller
{
// 获取系统配置
public function getSystemConfig()
{
$config = SystemConfigModel::get(1); // 假设只有一条配置记录
return json($config);
}
// 修改系统配置
public function updateSystemConfig(Request $request)
{
$data = $request->post();
$config = SystemConfigModel::find(1);
if ($config) {
$config->update($data);
return json(['message' => '配置更新成功']);
} else {
return json(['message' => '配置更新失败']);
}
}
}
1.2 admin/models/SystemConfigModel.php – 系统配置模型
<?php
namespace app\admin\model;
use think\Model;
class SystemConfigModel extends Model
{
protected $table = 'system_config'; // 配置表
// 获取系统配置
public function getConfig()
{
return $this->find(1); // 获取唯一的配置记录
}
}
1.3 database.sql – 系统配置表结构
CREATE TABLE `system_config` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`key` VARCHAR(255) NOT NULL,
`value` TEXT NOT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
暂无评论内容