915 lines
34 KiB
PHP
Executable File
915 lines
34 KiB
PHP
Executable File
<?php
|
|
|
|
namespace app\admin\controller;
|
|
|
|
use app\admin\controller\Base;
|
|
use app\common\model\CardLevel;
|
|
use app\common\model\Category;
|
|
use app\common\model\OrderList;
|
|
use \think\Request;
|
|
use think\facade\View;
|
|
use app\common\model\Goods as GoodsModel;
|
|
use app\common\model\GoodsList;
|
|
use think\facade\Db;
|
|
use app\common\model\Shang;
|
|
|
|
class Cardextractor extends Base
|
|
{
|
|
|
|
/**
|
|
* 分类列表
|
|
*/
|
|
public function category(Request $request)
|
|
{
|
|
$field = "*";
|
|
$order = "id asc";
|
|
$data = Category::getList([], $field, $order, 100);
|
|
View::assign('list', $data['list']);
|
|
View::assign('count', $data['count']);
|
|
View::assign('page', $data['page']);
|
|
return View::fetch("Cardextractor/category");
|
|
|
|
}
|
|
|
|
/**
|
|
* 分类添加
|
|
*/
|
|
public function category_add(Request $request)
|
|
{
|
|
if (!$request->isPost()) {
|
|
return View::fetch("Cardextractor/category_add");
|
|
} else {
|
|
$data = input('post.');
|
|
if (empty($data['title'])) {
|
|
return $this->renderError("请输入分类名称");
|
|
}
|
|
if (RegZero($data['sort'])) {
|
|
return $this->renderError("排序输入不规范,请输入整数");
|
|
}
|
|
$data['addtime'] = time();
|
|
$dd = Category::insert($data);
|
|
if ($dd) {
|
|
return $this->renderSuccess("添加成功");
|
|
} else {
|
|
return $this->renderError("网络繁忙,请稍后");
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 分类编辑
|
|
*/
|
|
public function category_edit(Request $request)
|
|
{
|
|
if (!$request->isPost()) {
|
|
$id = $request->param('id/d', 0);
|
|
$info = Category::where(['id' => $id])->find();
|
|
if (!$info) {
|
|
return $this->renderError("请求参数错误");
|
|
}
|
|
$type = $info['type'];
|
|
View::assign('type', $type);
|
|
View::assign('info', $info);
|
|
return View::fetch("Cardextractor/category_edit");
|
|
} else {
|
|
$data = input('post.');
|
|
if (empty($data['id'])) {
|
|
return $this->renderError("请求参数错误");
|
|
}
|
|
$info = Category::where(['id' => $data['id']])->find();
|
|
if (!$info) {
|
|
return $this->renderError("请求参数错误1");
|
|
}
|
|
if (empty($data['title'])) {
|
|
return $this->renderError("请输入分类名称");
|
|
}
|
|
if (RegZero($data['sort'])) {
|
|
return $this->renderError("排序输入不规范,请输入整数");
|
|
}
|
|
$data['update_time'] = time();
|
|
Db::startTrans();
|
|
$res[] = $info->allowField([])->update($data);
|
|
if (resCheck($res)) {
|
|
Db::commit();
|
|
return $this->renderSuccess("编辑成功");
|
|
} else {
|
|
Db::rollback();
|
|
return $this->renderError("网络繁忙,请稍后");
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 分类删除
|
|
*/
|
|
public function category_del(Request $request)
|
|
{
|
|
$id = $request->post('id/d');
|
|
$data = Category::where(['id' => $id])->field('id')->find();
|
|
if (!$data) {
|
|
return $this->renderError("数据不存在");
|
|
}
|
|
$result = Category::where(['id' => $id])->delete();
|
|
if ($result) {
|
|
return $this->renderSuccess("操作成功");
|
|
} else {
|
|
return $this->renderError("网络繁忙,请稍后");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 盒子列表
|
|
*/
|
|
public function card_goods(Request $request)
|
|
{
|
|
$title = trim(input('get.title'));
|
|
$status = trim(input('get.status'));
|
|
$whe = array();
|
|
$whe[] = ['type', '=', 4];
|
|
if ($title) {
|
|
$whe[] = ['title', 'like', '%' . $title . '%'];
|
|
}
|
|
if ($status) {
|
|
$whe[] = ['status', '=', $status];
|
|
}
|
|
$field = "*";
|
|
$order = "id desc";
|
|
$data = GoodsModel::getList($whe, $field, $order, $this->page);
|
|
foreach ($data['list'] as &$value) {
|
|
$category_name = Category::field('title')->where('id', '=', $value['category_id'])->value('title');
|
|
$value['category_name'] = $category_name;
|
|
#盒子等级列表
|
|
$all_sale_stock = 0;
|
|
$all_special_stock = 0;
|
|
$shang = Shang::field('id,title,pro')->where('goods_id', '=', $value['id'])->select();
|
|
foreach ($shang as &$shang_value) {
|
|
#赏等级奖品
|
|
$goodslist_count = GoodsList::field('id')
|
|
->where('goods_id', '=', $value['id'])
|
|
->where('shang_id', '=', $shang_value['id'])
|
|
->count();
|
|
$shang_value['goodslist_count'] = $goodslist_count;
|
|
#库存
|
|
$special_stock = GoodsList::field('special_stock')
|
|
->where('goods_id', '=', $value['id'])
|
|
->where('shang_id', '=', $shang_value['id'])
|
|
->where('special_stock', '>', 0)
|
|
->sum('special_stock');
|
|
$shang_value['special_stock'] = $special_stock;
|
|
$all_special_stock += $special_stock;
|
|
#销量
|
|
$sale_stock = OrderList::field('id')
|
|
->where('goods_id', '=', $value['id'])
|
|
->where('shang_id', '=', $shang_value['id'])
|
|
->count();
|
|
$shang_value['sale_stock'] = $sale_stock;
|
|
$all_sale_stock += $sale_stock;
|
|
}
|
|
$value['shang'] = $shang;
|
|
$value['all_sale_stock'] = $all_sale_stock;
|
|
$value['all_special_stock'] = $all_special_stock;
|
|
}
|
|
|
|
|
|
View::assign('list', $data['list']);
|
|
View::assign('count', $data['count']);
|
|
View::assign('page', $data['page']);
|
|
return View::fetch("Cardextractor/card_goods");
|
|
|
|
}
|
|
|
|
/**
|
|
* 添加盒子
|
|
*/
|
|
public function card_goods_add(Request $request)
|
|
{
|
|
if (!$request->isPost()) {
|
|
$category = Category::field('id,title')->select();
|
|
View::assign('category', $category);
|
|
return View::fetch("Cardextractor/card_goods_add");
|
|
} else {
|
|
$data = input('post.');
|
|
if (empty($data['title'])) {
|
|
return $this->renderError("请输入盒子名称");
|
|
}
|
|
if (RegMoney($data['price'])) {
|
|
return $this->renderError("盒子价格输入不规范,最多保留两位小数");
|
|
}
|
|
if (RegZero($data['sort'])) {
|
|
return $this->renderError("排序输入不规范,请输入整数");
|
|
}
|
|
$data['stock'] = 0;
|
|
$data['lock_is'] = 0;
|
|
$data['lock_time'] = 0;
|
|
$data['prize_num'] = 0;
|
|
if (empty($data['category_id'])) {
|
|
return $this->renderError("请选择分类");
|
|
}
|
|
if ($data['coupon_is'] == 1) {
|
|
if (RegInt($data['coupon_pro'])) {
|
|
return $this->renderError("发券概率请设置大于0的整数");
|
|
}
|
|
} elseif ($data['coupon_is'] == 0) {
|
|
$data['coupon_pro'] = 0;
|
|
} else {
|
|
return $this->renderError("发券开关选择错误");
|
|
}
|
|
if ($data['integral_is'] != 0 && $data['integral_is'] != 1) {
|
|
return $this->renderError("发积分开关选择错误");
|
|
}
|
|
if (empty($data['imgurl'])) {
|
|
return $this->renderError("请上传盒子封面图");
|
|
}
|
|
if (empty($data['imgurl_detail'])) {
|
|
return $this->renderError("请上传盒子详情封面图");
|
|
}
|
|
if (empty($data['prize_imgurl'])) {
|
|
return $this->renderError("请上传卡牌背面图");
|
|
}
|
|
if (empty($data['card_banner'])) {
|
|
return $this->renderError("请上传卡册banner");
|
|
}
|
|
$data['type'] = 4;
|
|
$data['status'] = 2;
|
|
$data['addtime'] = time();
|
|
$card_set = getConfig('card_set');
|
|
unset($card_set['update_time']);
|
|
$data['card_set'] = json_encode($card_set);
|
|
$dd = GoodsModel::insert($data);
|
|
if ($dd) {
|
|
return $this->renderSuccess("添加成功");
|
|
} else {
|
|
return $this->renderError("网络繁忙,请稍后");
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 编辑盒子
|
|
*/
|
|
public function card_goods_edit(Request $request)
|
|
{
|
|
if (!$request->isPost()) {
|
|
$id = $request->param('id/d', 0);
|
|
$info = GoodsModel::where(['id' => $id])->find();
|
|
if (!$info) {
|
|
return $this->renderError("请求参数错误");
|
|
}
|
|
$type = $info['type'];
|
|
$category = Category::field('id,title')->select();
|
|
View::assign('category', $category);
|
|
View::assign('type', $type);
|
|
View::assign('info', $info);
|
|
return View::fetch("Cardextractor/card_goods_edit");
|
|
} else {
|
|
$data = input('post.');
|
|
if (empty($data['id'])) {
|
|
return $this->renderError("请求参数错误");
|
|
}
|
|
$info = GoodsModel::where(['id' => $data['id']])->find();
|
|
if (!$info) {
|
|
return $this->renderError("请求参数错误1");
|
|
}
|
|
if (empty($data['title'])) {
|
|
return $this->renderError("请输入盒子名称");
|
|
}
|
|
if (RegMoney($data['price'])) {
|
|
return $this->renderError("盒子价格输入不规范,最多保留两位小数");
|
|
}
|
|
if (RegZero($data['sort'])) {
|
|
return $this->renderError("排序输入不规范,请输入整数");
|
|
}
|
|
$data['stock'] = 0;
|
|
$data['lock_is'] = 0;
|
|
$data['lock_time'] = 0;
|
|
$data['prize_num'] = 0;
|
|
if (empty($data['category_id'])) {
|
|
return $this->renderError("请选择分类");
|
|
}
|
|
if ($data['coupon_is'] == 1) {
|
|
if (RegInt($data['coupon_pro'])) {
|
|
return $this->renderError("发券概率请设置大于0的整数");
|
|
}
|
|
} elseif ($data['coupon_is'] == 0) {
|
|
$data['coupon_pro'] = 0;
|
|
} else {
|
|
return $this->renderError("发券开关选择错误");
|
|
}
|
|
if ($data['integral_is'] != 0 && $data['integral_is'] != 1) {
|
|
return $this->renderError("发积分开关选择错误");
|
|
}
|
|
if (empty($data['imgurl'])) {
|
|
return $this->renderError("请上传盒子封面图");
|
|
}
|
|
if (empty($data['imgurl_detail'])) {
|
|
return $this->renderError("请上传盒子封面图");
|
|
}
|
|
if (empty($data['prize_imgurl'])) {
|
|
return $this->renderError("请上传卡牌背面图");
|
|
}
|
|
if (empty($data['card_banner'])) {
|
|
return $this->renderError("请上传卡册banner");
|
|
}
|
|
$data['update_time'] = time();
|
|
Db::startTrans();
|
|
$res = [];
|
|
$res[] = $info->allowField([])->update($data);
|
|
if (resCheck($res)) {
|
|
Db::commit();
|
|
return $this->renderSuccess("编辑成功");
|
|
} else {
|
|
Db::rollback();
|
|
return $this->renderError("网络繁忙,请稍后");
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 编辑抽数
|
|
*/
|
|
public function card_goods_edit_number(Request $request)
|
|
{
|
|
if (!$request->isPost()) {
|
|
$id = $request->param('id/d', 0);
|
|
$info = GoodsModel::where(['id' => $id])->find();
|
|
if (!$info) {
|
|
return $this->renderError("请求参数错误");
|
|
}
|
|
$card_set = json_decode($info['card_set'], true);
|
|
#卡牌赏等级
|
|
$shang = Shang::field('id,title')
|
|
->where('goods_id', '=', $id)
|
|
->order('sort desc,id asc')
|
|
->select()->toArray();
|
|
View::assign('info', $info);
|
|
View::assign('shang', $shang);
|
|
View::assign('card_set', $card_set);
|
|
return View::fetch("Cardextractor/card_goods_edit_number");
|
|
} else {
|
|
$data = input('post.');
|
|
if (empty($data['id'])) {
|
|
return $this->renderError("请求参数错误");
|
|
}
|
|
$info = GoodsModel::where(['id' => $data['id']])->find();
|
|
if (!$info) {
|
|
return $this->renderError("请求参数错误1");
|
|
}
|
|
if (RegInt($data['left_count'])) {
|
|
return $this->renderError("左按钮抽数设置错误,请设置大于0的整数");
|
|
}
|
|
if (empty($data['left_title'])) {
|
|
return $this->renderError("请输入左按钮标题");
|
|
}
|
|
if (isset($data['left_shang_id'])) {
|
|
foreach ($data['left_shang_id'] as $left_value) {
|
|
if (empty($left_value)) {
|
|
return $this->renderError("左按钮必出卡等级,有空选项");
|
|
}
|
|
}
|
|
foreach ($data['left_shang_count'] as $left_count) {
|
|
if (RegInt($left_count)) {
|
|
return $this->renderError("左按钮必出卡等级数量设置错误,请设置大于0的整数");
|
|
}
|
|
}
|
|
}
|
|
if (RegInt($data['center_count'])) {
|
|
return $this->renderError("中间按钮抽数设置错误,请设置大于0的整数");
|
|
}
|
|
if (empty($data['center_title'])) {
|
|
return $this->renderError("请输入中间按钮标题");
|
|
}
|
|
if (isset($data['center_shang_id'])) {
|
|
foreach ($data['center_shang_id'] as $center_value) {
|
|
if (empty($center_value)) {
|
|
return $this->renderError("中间按钮必出卡等级,有空选项");
|
|
}
|
|
}
|
|
foreach ($data['center_shang_count'] as $center_count) {
|
|
if (RegInt($center_count)) {
|
|
return $this->renderError("中间按钮必出卡等级数量设置错误,请设置大于0的整数");
|
|
}
|
|
}
|
|
}
|
|
if (RegInt($data['right_count'])) {
|
|
return $this->renderError("右按钮抽数设置错误,请设置大于0的整数");
|
|
}
|
|
if (empty($data['right_title'])) {
|
|
return $this->renderError("请输入右按钮标题");
|
|
}
|
|
if (isset($data['right_shang_id'])) {
|
|
foreach ($data['right_shang_id'] as $right_value) {
|
|
if (empty($right_value)) {
|
|
return $this->renderError("右按钮必出卡等级,有空选项");
|
|
}
|
|
}
|
|
foreach ($data['right_shang_count'] as $right_count) {
|
|
if (RegInt($right_count)) {
|
|
return $this->renderError("右按钮必出卡等级数量设置错误,请设置大于0的整数");
|
|
}
|
|
}
|
|
}
|
|
unset($data['id']);
|
|
$save_data = [
|
|
'card_set' => json_encode($data),
|
|
'update_time' => time(),
|
|
];
|
|
Db::startTrans();
|
|
$res = [];
|
|
$res[] = GoodsModel::where('id', $info['id'])->update($save_data);
|
|
if (resCheck($res)) {
|
|
Db::commit();
|
|
return $this->renderSuccess("编辑成功");
|
|
} else {
|
|
Db::rollback();
|
|
return $this->renderError("网络繁忙,请稍后");
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 上、下架,删除盒子
|
|
*/
|
|
public function card_goods_del(Request $request)
|
|
{
|
|
$id = $request->post('id/d');
|
|
$status = $request->post('type/d');
|
|
$data = GoodsModel::where(['id' => $id])->field('id')->find();
|
|
if (!$data) {
|
|
return $this->renderError("数据不存在");
|
|
}
|
|
if ($status == 1 || $status == 2) {
|
|
$result = GoodsModel::where(['id' => $id])->update(['status' => $status]);
|
|
} elseif ($status == 3) {
|
|
$result = GoodsModel::where(['id' => $id])->update(['delete_time' => time(), 'status' => 2]);
|
|
// #卡等级
|
|
// $shang = Shang::field('id')->where('goods_id', '=', $id)->find();
|
|
// if ($shang) {
|
|
// Shang::field('id')->where('goods_id', '=', $id)->delete();
|
|
// }
|
|
// #奖品
|
|
// $goods = GoodsList::field('id')->where(['goods_id' => $id])->find();
|
|
// if ($goods) {
|
|
// GoodsList::field('id')->where(['goods_id' => $id])->delete();
|
|
// }
|
|
} else {
|
|
return $this->renderError("请求参数错误");
|
|
}
|
|
if ($result) {
|
|
return $this->renderSuccess("操作成功");
|
|
} else {
|
|
return $this->renderError("网络繁忙,请稍后");
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* 卡等级
|
|
*/
|
|
public function card_shang(Request $request)
|
|
{
|
|
$goods_id = request()->param('goods_id/d', 0);
|
|
// if ($goods_id <= 0) {
|
|
// return $this->renderError("非法请求");
|
|
// }
|
|
$goods = GoodsModel::where(['id' => $goods_id])->find();
|
|
// if (!$goods) {
|
|
// return $this->renderError("请求参数错误");
|
|
// }
|
|
$data = Shang::where('id','<',39)->whereOr('id','>',113) ->order('id desc')
|
|
->select()->toArray();
|
|
#概率
|
|
$pro = array_sum(array_column($data, 'pro'));
|
|
View::assign('goods_id', $goods_id);
|
|
View::assign('pro', $pro);
|
|
View::assign('list', $data);
|
|
View::assign('count', count($data));
|
|
return View::fetch("Cardextractor/card_shang");
|
|
}
|
|
|
|
/**
|
|
* 添加卡等级
|
|
*/
|
|
public function card_shang_add(Request $request)
|
|
{
|
|
if (!$request->isPost()) {
|
|
// $goods_id = request()->param('goods_id/d', 0);
|
|
// $goods = GoodsModel::where(['id' => $goods_id])->find();
|
|
// if (!$goods) {
|
|
// return $this->renderError("请求参数错误");
|
|
// }
|
|
// if ($goods['type'] != 4) {
|
|
// return $this->renderError("请求参数错误1");
|
|
// }
|
|
View::assign('goods_id', 0);
|
|
return View::fetch("Cardextractor/card_shang_add");
|
|
} else {
|
|
$data = input('post.');
|
|
// if (empty($data['goods_id'])) {
|
|
// return $this->renderError("请求参数错误");
|
|
// }
|
|
// $goods = GoodsModel::where(['id' => $data['goods_id']])->find();
|
|
// if (!$goods) {
|
|
// return $this->renderError("请求参数错误1");
|
|
// }
|
|
if (empty($data['title'])) {
|
|
return $this->renderError("请输入等级名称");
|
|
}
|
|
if (RegMoney($data['pro'])) {
|
|
return $this->renderError("概率输入不规范,最多保留两位小数");
|
|
}
|
|
if (RegZero($data['sort'])) {
|
|
return $this->renderError("排序输入不规范,请输入整数");
|
|
}
|
|
// if (empty($data['imgurl'])) {
|
|
// return $this->renderError("请上传等级图标");
|
|
// }
|
|
$data['update_time'] = time();
|
|
$dd = Shang::insert($data);
|
|
if ($dd) {
|
|
return $this->renderSuccess("添加成功");
|
|
} else {
|
|
return $this->renderError("网络繁忙,请稍后");
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 编辑卡等级
|
|
*/
|
|
public function card_shang_edit(Request $request)
|
|
{
|
|
if (!$request->isPost()) {
|
|
$id = $request->param('id/d', 0);
|
|
$info = Shang::where(['id' => $id])->find();
|
|
if (!$info) {
|
|
return $this->renderError("请求参数错误");
|
|
}
|
|
View::assign('info', $info);
|
|
return View::fetch("Cardextractor/card_shang_edit");
|
|
} else {
|
|
$data = input('post.');
|
|
if (empty($data['id'])) {
|
|
return $this->renderError("请求参数错误");
|
|
}
|
|
$info = Shang::where(['id' => $data['id']])->find();
|
|
if (!$info) {
|
|
return $this->renderError("请求参数错误1");
|
|
}
|
|
if (empty($data['title'])) {
|
|
return $this->renderError("请输入等级名称");
|
|
}
|
|
if (RegMoney($data['pro'])) {
|
|
return $this->renderError("概率输入不规范,最多保留两位小数");
|
|
}
|
|
if (RegZero($data['sort'])) {
|
|
return $this->renderError("排序输入不规范,请输入整数");
|
|
}
|
|
// if (empty($data['imgurl'])) {
|
|
// return $this->renderError("请上传等级图标");
|
|
// }
|
|
$data['update_time'] = time();
|
|
Db::startTrans();
|
|
$res[] = $info->allowField([])->update($data);
|
|
if (resCheck($res)) {
|
|
Db::commit();
|
|
return $this->renderSuccess("编辑成功");
|
|
} else {
|
|
Db::rollback();
|
|
return $this->renderError("网络繁忙,请稍后");
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 删除卡等级
|
|
*/
|
|
public function card_shang_del(Request $request)
|
|
{
|
|
$id = $request->post('id/d');
|
|
$info = Shang::field('id')->where(['id' => $id])->where('id', '>', 38)->find();
|
|
if (!$info) {
|
|
return $this->renderError("数据不存在");
|
|
}
|
|
#卡等级
|
|
$goodslist = GoodsList::field('id')->where('shang_id', '=', $id)->find();
|
|
if ($goodslist) {
|
|
return $this->renderError("当前卡等级关联还有奖品不可删除");
|
|
}
|
|
$orderlist = OrderList::field('id')->where('shang_id', '=', $id)->find();
|
|
if ($orderlist) {
|
|
return $this->renderError("当前卡等级已被抽奖不可删除");
|
|
}
|
|
$result = Shang::where(['id' => $id])->delete();
|
|
if ($result) {
|
|
return $this->renderSuccess("操作成功");
|
|
} else {
|
|
return $this->renderError("网络繁忙,请稍后");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 卡等级奖品
|
|
*/
|
|
public function card_goodslist(Request $request)
|
|
{
|
|
$shang_id = $request->param('shang_id/d', 0);
|
|
|
|
// $info = GoodsModel::where(['id' => $shang_id])->find();
|
|
//// dd($info);
|
|
// if (!$info) {
|
|
// return $this->renderError('请求参数错误');
|
|
// }
|
|
// $goods = GoodsModel::where(['id' => $info['goods_id']])->find();
|
|
// if (!$goods) {
|
|
// return $this->renderError("请求参数错误");
|
|
// }
|
|
$title = trim(input('get.title'));
|
|
$whe = array();
|
|
$whe[] = ['goods_id', '=', $shang_id];
|
|
|
|
$whe[] = ['num', '=', 0];
|
|
if (!empty($title)) {
|
|
$whe[] = ['title', 'like', '%' . $title . '%'];
|
|
}
|
|
$field = "*";
|
|
$order = "sort desc,shang_id asc,id asc";
|
|
$data = GoodsList::getList($whe, $field, $order, 150);
|
|
$real_pro = 0;
|
|
foreach ($data['list'] as &$value) {
|
|
|
|
$shang_title = CardLevel::where(['id' => $value['shang_id']])->value('title');
|
|
if ($shang_title){
|
|
$value['shang'] = $shang_title;
|
|
}else{
|
|
$value['shang'] = '无';
|
|
}
|
|
if ($value['goods_type'] == 2) {
|
|
$value['sale_time'] = date('Y-m-d', $value['sale_time']);
|
|
} else {
|
|
$value['sale_time'] = '';
|
|
}
|
|
$real_pro += $value['real_pro'];
|
|
}
|
|
|
|
View::assign('list', $data['list']);
|
|
View::assign('count', $data['count']);
|
|
View::assign('page', $data['page']);
|
|
View::assign('real_pro', $real_pro);
|
|
View::assign('shang_id', $shang_id);
|
|
return View::fetch("Cardextractor/card_goodslist");
|
|
|
|
}
|
|
|
|
/**
|
|
* 添加卡等级奖品
|
|
*/
|
|
public function card_goodslist_add(Request $request)
|
|
{
|
|
if (!$request->isPost()) {
|
|
$card_id = $request->param('card_id/d', 0);
|
|
//
|
|
// $info = Goods::where(['id' => $shang_id])->find();
|
|
// if (!$info) {
|
|
// return $this->renderError('请求参数错误');
|
|
// }
|
|
$info = GoodsModel::where(['id' => $card_id])->find();
|
|
if (!$info) {
|
|
return $this->renderError("请求参数错误");
|
|
}
|
|
#卡牌赏等级
|
|
$shang = CardLevel::field('id,title')
|
|
->order('sort desc,id asc')
|
|
->select()->toArray();
|
|
View::assign('info', $info);
|
|
View::assign('shang', $shang);
|
|
return View::fetch('Cardextractor/card_goodslist_add');
|
|
} else {
|
|
$data = input('post.');
|
|
|
|
if (empty($data['shang_id'])) {
|
|
return $this->renderError('请求参数错误');
|
|
}
|
|
|
|
$goods = GoodsModel::where(['id' => $data['card_id']])->find();
|
|
if (!$goods) {
|
|
return $this->renderError('请求参数错误2');
|
|
}
|
|
// if (empty($data['card_no'])) {
|
|
// return $this->renderError('请输入赠送编号');
|
|
// }
|
|
// $card_no_info = GoodsList::field('id')->where('card_no', '=', $data['card_no'])->find();
|
|
// if ($card_no_info) {
|
|
// return $this->renderError('赠送编号已存在');
|
|
// }
|
|
if (empty($data['title'])) {
|
|
return $this->renderError('请输入卡名称');
|
|
}
|
|
if (empty($data['shang_id'])) {
|
|
return $this->renderError('请选择卡等级');
|
|
}
|
|
if (RegMoney($data['price'])) {
|
|
return $this->renderError('奖品售价设置错误,最多保留两位小数');
|
|
}
|
|
if (RegMoney($data['money'])) {
|
|
return $this->renderError('兑换价格设置错误,最多保留两位小数');
|
|
}
|
|
if ($data['goods_type'] == 1) {
|
|
$data['sale_time'] = 0;
|
|
} else if ($data['goods_type'] == 2) {
|
|
if (empty($data['sale_time'])) {
|
|
return $this->renderError('请选择预售时间');
|
|
}
|
|
$today_time = strtotime(date('Y-m-d', time()));
|
|
$data['sale_time'] = strtotime($data['sale_time']);
|
|
if ($today_time >= $data['sale_time']) {
|
|
return $this->renderError('预售时间请在今天之后');
|
|
}
|
|
} else {
|
|
return $this->err('奖品类型选择错误');
|
|
}
|
|
if ($data['special_stock'] != -100) {
|
|
if (RegZero($data['special_stock'])) {
|
|
return $this->renderError('奖品数量设置错误,请设置整数');
|
|
}
|
|
}
|
|
if (RegMoney($data['real_pro'])) {
|
|
return $this->renderError('等级内概率设置错误,最多保留两位小数');
|
|
}
|
|
if (RegZero($data['sort'])) {
|
|
return $this->renderError('排序请输入整数');
|
|
}
|
|
if (empty($data['imgurl'])) {
|
|
return $this->renderError('请上传图片');
|
|
}
|
|
$data['addtime'] = time();
|
|
$data['prize_code'] = getPrizeCode() . '_' . time();
|
|
$data['goods_id'] = $goods['card_id'];
|
|
$res = GoodsList::insert($data);
|
|
if ($res) {
|
|
return $this->renderSuccess('添加成功');
|
|
} else {
|
|
return $this->renderError('添加失败');
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 编辑卡等级奖品
|
|
*/
|
|
public function card_goodslist_edit(Request $request)
|
|
{
|
|
if (!$request->isPost()) {
|
|
$id = $request->param('id/d', 0);
|
|
$goods = GoodsList::where(['id' => $id])->find();
|
|
if (!$goods) {
|
|
return $this->renderError('请求参数错误');
|
|
}
|
|
if ($goods['goods_type'] == 2) {
|
|
$goods['sale_time'] = date('Y-m-d', $goods['sale_time']);
|
|
} else {
|
|
$goods['sale_time'] = '';
|
|
}
|
|
$info = GoodsModel::where(['id' => $goods['goods_id']])->find();
|
|
if (!$info) {
|
|
return $this->renderError('请求参数错误1');
|
|
}
|
|
$card_list = GoodsModel::where('id', '=', $goods['goods_id'])->find();
|
|
if (!$card_list) {
|
|
return $this->renderError('请求参数错误2');
|
|
}
|
|
#卡牌赏等级
|
|
$shang = CardLevel::field('id,title')
|
|
->order('sort desc,id asc')
|
|
->select()->toArray();
|
|
View::assign('goods', $goods);
|
|
View::assign('shang_title', $card_list['title']);
|
|
View::assign('shang', $shang);
|
|
return View::fetch('Cardextractor/card_goodslist_edit');
|
|
} else {
|
|
$data = input('post.');
|
|
if (empty($data['id'])) {
|
|
return $this->renderError('请求参数错误1');
|
|
}
|
|
$goods = GoodsList::where(['id' => $data['id']])->find();
|
|
if (!$goods) {
|
|
return $this->renderError('请求参数错误2');
|
|
}
|
|
$info = GoodsModel::where(['id' => $goods['goods_id']])->find();
|
|
if (!$info) {
|
|
return $this->renderError('请求参数错误3');
|
|
}
|
|
$shang = Shang::where('id', '=', $goods['shang_id'])->find();
|
|
if (!$shang) {
|
|
return $this->renderError('请求参数错误4');
|
|
}
|
|
// if (empty($data['card_no'])) {
|
|
// return $this->renderError('请输入赠送编号');
|
|
// }
|
|
// $card_no_info = GoodsList::field('id')
|
|
// ->where('prize_code', '<>', $goods['prize_code'])
|
|
// ->where('card_no', '=', $data['card_no'])
|
|
// ->find();
|
|
// if ($card_no_info) {
|
|
// return $this->renderError('赠送编号已存在');
|
|
// }
|
|
if (empty($data['title'])) {
|
|
return $this->renderError('请输入奖品名称');
|
|
}
|
|
if (RegMoney($data['price'])) {
|
|
return $this->renderError('奖品售价设置错误,最多保留两位小数');
|
|
}
|
|
if (RegMoney($data['money'])) {
|
|
return $this->renderError('兑换价格设置错误,最多保留两位小数');
|
|
}
|
|
if ($data['goods_type'] == 1) {
|
|
$data['sale_time'] = 0;
|
|
} else if ($data['goods_type'] == 2) {
|
|
if (empty($data['sale_time'])) {
|
|
return $this->renderError('请选择预售时间');
|
|
}
|
|
$today_time = strtotime(date('Y - m - d', time()));
|
|
$data['sale_time'] = strtotime($data['sale_time']);
|
|
if ($today_time >= $data['sale_time']) {
|
|
return $this->renderError('预售时间请在今天之后');
|
|
}
|
|
} else {
|
|
return $this->err('奖品类型选择错误');
|
|
}
|
|
if ($data['special_stock'] != -100) {
|
|
if (RegZero($data['special_stock'])) {
|
|
return $this->renderError('奖品数量设置错误,请设置整数');
|
|
}
|
|
}
|
|
if (RegMoney($data['real_pro'])) {
|
|
return $this->renderError('等级内概率设置错误,最多保留两位小数');
|
|
}
|
|
if (RegZero($data['sort'])) {
|
|
return $this->renderError('排序请输入整数');
|
|
}
|
|
if (empty($data['imgurl'])) {
|
|
return $this->renderError('请上传图片');
|
|
}
|
|
$data['update_time'] = time();
|
|
unset($data['id']);
|
|
$res = GoodsList::where(['prize_code' => $goods['prize_code']])->update($data);
|
|
if ($res) {
|
|
return $this->renderSuccess('编辑成功');
|
|
} else {
|
|
return $this->renderError('编辑失败');
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* 奖品卡等级删除
|
|
*/
|
|
public function card_goodslist_del(Request $request)
|
|
{
|
|
$id = \request()->param('id/d', 0);
|
|
$prize_code = GoodsList::field('prize_code')
|
|
->where(['id' => $id])
|
|
->value('prize_code');
|
|
if (!$prize_code) {
|
|
return $this->renderError("请勿重复操作");
|
|
}
|
|
#删除奖品
|
|
$res = GoodsList::field('id')
|
|
->where(['prize_code' => $prize_code])
|
|
->delete();
|
|
if ($res) {
|
|
return $this->renderSuccess("操作成功");
|
|
} else {
|
|
return $this->renderError("操作失败");
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* 抽卡机默认抽数配置
|
|
*/
|
|
public function card_set()
|
|
{
|
|
if (request()->isGet()) {
|
|
$info = getConfig('card_set');
|
|
View::assign("info", $info);
|
|
return View::fetch('Cardextractor/card_set');
|
|
} else {
|
|
$data = input("post.");
|
|
$data['update_time'] = time();
|
|
$result = setConfig('card_set', $data);
|
|
if ($result) {
|
|
return $this->renderSuccess('修改成功');
|
|
} else {
|
|
return $this->renderError('修改失败');
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|