food_server/FlyCube/MpApi/Controller/AdminController.class.php
air 8866bf7420 【类 型】:fix
【原  因】:字段名多写了一个.
【过  程】:
【影  响】:
2025-01-15 17:40:47 +08:00

845 lines
31 KiB
PHP

<?php
namespace MpApi\Controller;
class AdminController extends PublicController
{
public function index()
{
echo "hello wolrd";
}
/**
* @description: 获取商铺列表
*/
public function getShopList()
{
if ($this->tokenShop_id != C('powerId')) {
$where['shop_id'] = $this->tokenShop_id; //非总管理员 只返回自己的账户信息
}
$shopDb = D('shop');
if ($shopList = $shopDb->where($where)->select()) {
echo json_encode(array('status' => 1, 'msg' => '访问成功', "shopList" => $shopList));
} else {
echo json_encode(array('status' => 0, 'msg' => '暂无商铺数据'));
}
}
/**
* @description: 商铺添加
*/
public function addShop()
{
//非总管理员 直接打断 退出
if ($this->tokenShop_id != C('powerId')) { //非总管理员
echo json_encode(array('status' => 0, 'msg' => '没有权限'));
exit;
}
if ($_REQUEST['name'] && $_REQUEST['price_min'] && $_REQUEST['weight_max'] && $_REQUEST['default_transport_price'] && $_REQUEST['default_pack_price']) {
//生成shop_id随机值
$arr = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
$shop_id = "";
for ($i = 0; $i < 16; $i++) {
$rand = rand(0, 36);
$shop_id = $shop_id . $arr[$rand];
}
//如果有上传图片得操作 执行如下
if ($_REQUEST['upFile']) { //有新图上传 则把图片从temp目录 复制到目标目录
if (!(copy("Data/UploadFiles/temp/" . $_REQUEST['upFile'], "Data/UploadFiles/photo/" . $_REQUEST['upFile']))) {
echo json_encode(array('status' => 0, 'msg' => '图片复制失败'));
exit;
}
$data['logo'] = json_encode(array($_REQUEST['upFile'])); //序列化储存
}
//data数据
$data['shop_id'] = $shop_id;
$data['name'] = $_REQUEST['name'];
$data['waiter'] = $_REQUEST['waiter'];
$data['service_wx'] = $_REQUEST['service_wx'];
$data['tel'] = $_REQUEST['tel'];
$data['email'] = $_REQUEST['email'];
$data['price_min'] = $_REQUEST['price_min'];
$data['weight_max'] = $_REQUEST['weight_max'];
$data['default_transport_price'] = $_REQUEST['default_transport_price'];
$data['default_pack_price'] = $_REQUEST['default_pack_price'];
$data['remark_presup'] = $_REQUEST['remark_presup'];
$data['refund_remark_presup'] = $_REQUEST['refund_remark_presup'];
$data['describe'] = $_REQUEST['desc'];
$data['opening_time'] = $_REQUEST['opening_time'];
$data['closeing_time'] = $_REQUEST['closeing_time'];
//录入数据库
$shopDb = D('shop');
if ($shopDb->data($data)->add()) {
echo json_encode(array('status' => 1, 'msg' => '创建成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '创建失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 商铺更新
*/
public function saveShop()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['shop_id'] && $_REQUEST['name'] && $_REQUEST['price_min'] && $_REQUEST['weight_max'] && $_REQUEST['default_transport_price'] && $_REQUEST['default_pack_price']) {
//data数据
$data['name'] = $_REQUEST['name'];
$data['waiter'] = $_REQUEST['waiter'];
$data['service_wx'] = $_REQUEST['service_wx'];
$data['tel'] = $_REQUEST['tel'];
$data['email'] = $_REQUEST['email'];
$data['price_min'] = $_REQUEST['price_min'];
$data['weight_max'] = $_REQUEST['weight_max'];
$data['default_transport_price'] = $_REQUEST['default_transport_price'];
$data['default_pack_price'] = $_REQUEST['default_pack_price'];
$data['remark_presup'] = $_REQUEST['remark_presup'];
$data['refund_remark_presup'] = $_REQUEST['refund_remark_presup'];
$data['describe'] = $_REQUEST['desc'];
$data['opening_time'] = $_REQUEST['opening_time'];
$data['closeing_time'] = $_REQUEST['closeing_time'];
//如果有上传图片得操作 执行如下
if ($_REQUEST['upFile']) { //有新图上传 则把图片从temp目录 复制到目标目录
if (!(copy("Data/UploadFiles/temp/" . $_REQUEST['upFile'], "Data/UploadFiles/logo/" . $_REQUEST['upFile']))) {
echo json_encode(array('status' => 0, 'msg' => '图片复制失败'));
exit;
}
if ($_REQUEST['oldFile']) { //存在老图 既删掉老图 没有成功的话 将刚才复制到此目录得新图也一并删除
if (!(unlink("Data/UploadFiles/logo/" . basename($_REQUEST['oldFile'])))) {
unlink("Data/UploadFiles/logo/" . $_REQUEST['upFile']);
echo json_encode(array('status' => 0, 'msg' => '原图删除失败'));
exit;
}
}
$data['logo'] = json_encode(array($_REQUEST['upFile'])); //序列化储存
}
//where条件
$where['shop_id'] = $_REQUEST['shop_id'];
//录入数据库
$shopDb = D('shop');
if ($shopDb->where($where)->save($data)) {
echo json_encode(array('status' => 1, 'msg' => '更新成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '更新失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 获取管理员列表
*/
public function getAdminList()
{
if ($this->tokenShop_id != C('powerId')) {
$where['shop_id'] = $this->tokenShop_id; //非总管理员 只返回自己的账户信息
}
$where['del'] = '0';
$adminuserDb = D('adminuser');
if ($adminList = $adminuserDb->where($where)->field("id,name,uname,shop_id,photo,addtime,lasttime")->select()) {
echo json_encode(array('status' => 1, 'msg' => '访问成功', "adminList" => $adminList));
} else {
echo json_encode(array('status' => 0, 'msg' => '暂无管理员数据'));
}
}
/**
* @description: 管理员&商家会员的添加
*/
public function addAdmin()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['name'] && $_REQUEST['uname'] && $_REQUEST['pwd']) {
//如果有上传图片得操作 执行如下
if ($_REQUEST['upFile']) { //有新图上传 则把图片从temp目录 复制到目标目录
if (!(copy("Data/UploadFiles/temp/" . $_REQUEST['upFile'], "Data/UploadFiles/photo/" . $_REQUEST['upFile']))) {
echo json_encode(array('status' => 0, 'msg' => '图片复制失败'));
exit;
}
$data['photo'] = json_encode(array($_REQUEST['upFile'])); //序列化储存
}
//data数据
$data['name'] = $_REQUEST['name'];
$data['uname'] = $_REQUEST['uname'];
$data['pwd'] = MD5(MD5($_REQUEST['pwd']));
$data['shop_id'] = $_REQUEST['shop_id'];
$data['addtime'] = time();
$data['qx'] = 5;
//录入数据库
$adminDb = D('adminuser');
if ($adminDb->data($data)->add()) {
echo json_encode(array('status' => 1, 'msg' => '创建成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '创建失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 管理员&商家会员的更新
*/
public function saveAdmin()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['id'] && $_REQUEST['uname'] && $_REQUEST['shop_id']) {
//data数据
$data['uname'] = $_REQUEST['uname'];
if ($_REQUEST['pwd']) {
$data['pwd'] = MD5(MD5($_REQUEST['pwd']));
}
//如果有上传图片得操作 执行如下
if ($_REQUEST['upFile']) { //有新图上传 则把图片从temp目录 复制到目标目录
if (!(copy("Data/UploadFiles/temp/" . $_REQUEST['upFile'], "Data/UploadFiles/photo/" . $_REQUEST['upFile']))) {
echo json_encode(array('status' => 0, 'msg' => '图片复制失败'));
exit;
}
if ($_REQUEST['oldFile']) { //存在老图 既删掉老图 没有成功的话 将刚才复制到此目录得新图也一并删除
if (!(unlink("Data/UploadFiles/photo/" . basename($_REQUEST['oldFile'])))) {
unlink("Data/UploadFiles/photo/" . $_REQUEST['upFile']);
echo json_encode(array('status' => 0, 'msg' => '原图删除失败'));
exit;
}
}
$data['photo'] = json_encode(array($_REQUEST['upFile'])); //序列化储存
}
//where条件
$where['id'] = $_REQUEST['id'];
$where['shop_id'] = $_REQUEST['shop_id'];
//录入数据库
$adminDb = D('adminuser');
if ($adminDb->where($where)->data($data)->save()) {
echo json_encode(array('status' => 1, 'msg' => '更新成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '更新失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 管理员账号删除 ps:只改 del字段标识 并非真正删除
*/
public function deleteAdmin()
{
//非总管理员 直接打断 退出
if ($this->tokenShop_id != C('powerId')) { //非总管理员
echo json_encode(array('status' => 0, 'msg' => '没有权限'));
exit;
}
if ($_REQUEST['idArr']) {
// 获取要删除的航线ID数组
$idArr = explode(',', strval($_REQUEST['idArr']));
$where['id'] = array("in", $_REQUEST['idArr']);
//data数据
$data['del'] = '1';
//录入数据库
$adminDb = D('adminuser');
if ($adminDb->where($where)->save($data)) {
echo json_encode(array('status' => 1, 'msg' => '删除成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '删除失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 分类列表
*/
public function getCategoryList()
{
if ($this->tokenShop_id != C('powerId')) {
$where['shop_id'] = $this->tokenShop_id; //非总管理员 只返回自己的账户信息
}
$order['sort'] = 'desc';
$field = array('id', 'pid', 'path', 'name', 'shop_id', 'sort', 'show', 'describe', 'photo');
$categoryDb = D('category');
if ($categoryList = $categoryDb->where($where)->order($order)->field($field)->select()) {
echo json_encode(array('status' => 1, 'msg' => '访问成功', "categoryList" => $categoryList));
} else {
echo json_encode(array('status' => 0, 'msg' => '暂无分类数据'));
}
}
/**
* @description: 添加分类
*/
public function addCategory()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['name'] && $_REQUEST['shop_id']) {
//data数据
$data['pid'] = $_REQUEST['id'];
$data['shop_id'] = $_REQUEST['shop_id'];
$data['name'] = $_REQUEST['name'];
$data['sort'] = $_REQUEST['sort'];
$data['show'] = $_REQUEST['show'] == 'true' ? '1' : '0';
$data['describe'] = $_REQUEST['desc'];
//如果有上传图片得操作 执行如下
if ($_REQUEST['upFile']) { //有新图上传 则把图片从temp目录 复制到目标目录
if (!(copy("Data/UploadFiles/temp/" . $_REQUEST['upFile'], "Data/UploadFiles/category/" . $_REQUEST['upFile']))) {
echo json_encode(array('status' => 0, 'msg' => '图片复制失败'));
exit;
}
$data['photo'] = json_encode(array($_REQUEST['upFile'])); //序列化储存
}
//录入数据库
$categoryDb = D('category');
if ($id = $categoryDb->data($data)->add()) { //先添加一条新纪录
$where['id'] = $id;
if ($_REQUEST['path']) { //重新组合path
$saveData['path'] = $_REQUEST['path'] . '-' . $id;
} else {
$saveData['path'] = $id;
}
if ($categoryDb->where($where)->data($saveData)->save()) { //再更新记录的path字段
echo json_encode(array('status' => 1, 'msg' => '添加成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '添加失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '添加失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 更新分类
*/
public function saveCategory()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['id'] && $_REQUEST['name'] && $_REQUEST['shop_id']) {
//data数据
$data['name'] = $_REQUEST['name'];
$data['sort'] = $_REQUEST['sort'];
$data['show'] = $_REQUEST['show'] == 'true' ? '1' : '0';
$data['describe'] = $_REQUEST['desc'];
//如果有上传图片得操作 执行如下
if ($_REQUEST['upFile']) { //有新图上传 则把图片从temp目录 复制到目标目录
if (!(copy("Data/UploadFiles/temp/" . $_REQUEST['upFile'], "Data/UploadFiles/category/" . $_REQUEST['upFile']))) {
echo json_encode(array('status' => 0, 'msg' => '图片复制失败'));
exit;
}
if ($_REQUEST['oldFile']) { //存在老图 既删掉老图 没有成功的话 将刚才复制到此目录得新图也一并删除
if (!(unlink("Data/UploadFiles/category/" . basename($_REQUEST['oldFile'])))) {
unlink("Data/UploadFiles/category/" . $_REQUEST['upFile']);
echo json_encode(array('status' => 0, 'msg' => '原图删除失败'));
exit;
}
}
$data['photo'] = json_encode(array($_REQUEST['upFile'])); //序列化储存
}
//where条件
$where['id'] = $_REQUEST['id'];
$where['shop_id'] = $_REQUEST['shop_id'];
//录入数据库
$categoryDb = D('category');
if ($categoryDb->where($where)->data($data)->save()) {
echo json_encode(array('status' => 1, 'msg' => '更新成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '更新失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
public function deleteCategory()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['delIdArr'] && $_REQUEST['shop_id']) {
//where条件
$where['shop_id'] = $_REQUEST['shop_id'];
$where['id'] = array("in", $_REQUEST['delIdArr']);
$categoryDb = D('category');
if ($categoryDb->where($where)->delete()) {
echo json_encode(array('status' => 1, 'msg' => '删除成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '删除失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 获取spu列表
*/
public function getSpuList()
{
if ($this->tokenShop_id != C('powerId')) {
$where['shop_id'] = $this->tokenShop_id; //非总管理员 只返回自己的账户信息
}
$where['del'] = '0';
$order['sort'] = 'desc';
$order['id'] = 'desc';
$spuDb = D('spu');
if ($spuList = $spuDb->where($where)->order($order)->select()) {
echo json_encode(array('status' => 1, 'msg' => '访问成功', "spuList" => $spuList));
} else {
echo json_encode(array('status' => 0, 'msg' => '暂无商品数据'));
}
}
/**
* @description: 修改商品spu的排序字段
*/
public function orderSpu()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['id'] && $_REQUEST['sort'] != '' && $_REQUEST['shop_id']) {
$data['sort'] = (int)$_REQUEST['sort'];
//where条件
$where['id'] = $_REQUEST['id'];
$where['shop_id'] = $_REQUEST['shop_id'];
//录入数据库
$spuDb = D('spu');
if ($spuDb->where($where)->save($data)) {
echo json_encode(array('status' => 1, 'msg' => '更新成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '更新失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 修改商品spu的显示隐藏字段
*/
public function showSpu()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['id'] && $_REQUEST['show'] != '' && $_REQUEST['shop_id']) {
$data['show'] = $_REQUEST['show'];
//where条件
$where['id'] = $_REQUEST['id'];
$where['shop_id'] = $_REQUEST['shop_id'];
//录入数据库
$spuDb = D('spu');
if ($spuDb->where($where)->save($data)) {
echo json_encode(array('status' => 1, 'msg' => '更新成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '更新失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 修改商品spu的推荐位字段
*/
public function recommendSpu()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['id'] && $_REQUEST['recommend'] != '' && $_REQUEST['shop_id']) {
$data['recommend'] = $_REQUEST['recommend'];
//where条件
$where['id'] = $_REQUEST['id'];
$where['shop_id'] = $_REQUEST['shop_id'];
//录入数据库
$spuDb = D('spu');
if ($spuDb->where($where)->save($data)) {
echo json_encode(array('status' => 1, 'msg' => '更新成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '更新失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 添加商品spu
*/
public function addSpu()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['name'] && $_REQUEST['shop_id']) {
//如果有上传图片得操作 执行如下
if ($_REQUEST['upFile']) { //有新图上传 则把图片从temp目录 复制到目标目录
if (!(copy("Data/UploadFiles/temp/" . $_REQUEST['upFile'], "Data/UploadFiles/spu/" . $_REQUEST['upFile']))) {
echo json_encode(array('status' => 0, 'msg' => '图片复制失败'));
exit;
}
$data['photo'] = json_encode(array($_REQUEST['upFile'])); //序列化储存
}
//data数据
$data['shop_id'] = $_REQUEST['shop_id'];
$data['path'] = $_REQUEST['path'];
$data['name'] = $_REQUEST['name'];
$data['spu_number'] = $_REQUEST['spu_number'];
$data['sort'] = $_REQUEST['sort'];
$data['hot'] = $_REQUEST['hot'];
$data['pro_tag'] = $_REQUEST['pro_tag'];
$data['bind_sku'] = $_REQUEST['bind_sku'];
$data['recommend'] = $_REQUEST['recommend'];
$data['show'] = $_REQUEST['show'];
$data['addtime'] = time();
//录入数据库
$spuDb = D('spu');
if ($spuDb->data($data)->add()) {
echo json_encode(array('status' => 1, 'msg' => '创建成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '创建失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 更新商品 spu
*/
public function saveSpu()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['name'] && $_REQUEST['id'] && $_REQUEST['shop_id']) {
//如果有上传图片得操作 执行如下
if ($_REQUEST['upFile']) { //有新图上传 则把图片从temp目录 复制到目标目录
if (!(copy("Data/UploadFiles/temp/" . $_REQUEST['upFile'], "Data/UploadFiles/spu/" . $_REQUEST['upFile']))) {
echo json_encode(array('status' => 0, 'msg' => '图片复制失败'));
exit;
}
if ($_REQUEST['oldFile']) { //存在老图 既删掉老图 没有成功的话 将刚才复制到此目录得新图也一并删除
if (!(unlink("Data/UploadFiles/spu/" . basename($_REQUEST['oldFile'])))) {
unlink("Data/UploadFiles/spu/" . $_REQUEST['upFile']);
echo json_encode(array('status' => 0, 'msg' => '原图删除失败'));
exit;
}
}
$data['photo'] = json_encode(array($_REQUEST['upFile'])); //序列化储存
}
//data数据
$data['path'] = $_REQUEST['path'];
$data['name'] = $_REQUEST['name'];
$data['spu_number'] = $_REQUEST['spu_number'];
$data['sort'] = $_REQUEST['sort'];
$data['hot'] = $_REQUEST['hot'];
$data['pro_tag'] = $_REQUEST['pro_tag'];
$data['bind_sku'] = $_REQUEST['bind_sku'];
$data['recommend'] = $_REQUEST['recommend'];
$data['show'] = $_REQUEST['show'];
$data['shop_id'] = $_REQUEST['shop_id'];
//where条件
$where['id'] = $_REQUEST['id'];
//录入数据库
$spuDb = D('spu');
if ($spuDb->where($where)->data($data)->save()) {
echo json_encode(array('status' => 1, 'msg' => '更新成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '更新失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: spu删除 ps:只改 del字段标识 并非真正删除
*/
public function deleteSpu()
{
if ($this->tokenShop_id != C('powerId')) {
$where['shop_id'] = $this->tokenShop_id; //非总管理员 只返回自己的账户信息
}
if ($_REQUEST['idArr']) {
// 获取要删除的航线ID数组
$where['id'] = array("in", $_REQUEST['idArr']);
//data数据
$data['del'] = '1';
//录入数据库
$spuDb = D('spu');
if ($spuDb->where($where)->save($data)) {
echo json_encode(array('status' => 1, 'msg' => '删除成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '删除失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 获取sku列表
*/
public function getSkuList()
{
if ($this->tokenShop_id != C('powerId')) {
$where['shop_id'] = $this->tokenShop_id; //非总管理员 只返回自己的账户信息
}
$where['del'] = '0';
$order['id'] = 'desc';
$skuDb = D('sku');
if ($skuList = $skuDb->where($where)->order($order)->select()) {
echo json_encode(array('status' => 1, 'msg' => '访问成功', "skuList" => $skuList));
} else {
echo json_encode(array('status' => 0, 'msg' => '暂无商品数据'));
}
}
/**
* @description: 添加商品sku
*/
public function addSku()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['name'] && $_REQUEST['shop_id']) {
//如果有上传图片得操作 执行如下
if ($_REQUEST['upFile']) { //有新图上传 则把图片从temp目录 复制到目标目录
if (!(copy("Data/UploadFiles/temp/" . $_REQUEST['upFile'], "Data/UploadFiles/sku/" . $_REQUEST['upFile']))) {
echo json_encode(array('status' => 0, 'msg' => '图片复制失败'));
exit;
}
$data['photo'] = json_encode(array($_REQUEST['upFile'])); //序列化储存
}
//data数据
$data['shop_id'] = $_REQUEST['shop_id'];
$data['name'] = $_REQUEST['name'];
$data['sku_number'] = $_REQUEST['sku_number'];
$data['price'] = (float)$_REQUEST['price'];
$data['unit'] = $_REQUEST['unit'];
$data['weight'] = $_REQUEST['weight'];
if ($_REQUEST['stock'] != "") {
$data['stock'] = $_REQUEST['stock'];
}
$data['purchase_channel'] = $_REQUEST['purchase_channel'];
$data['addtime'] = time(); //插入记录时 调用当前系统时间值 插入
//录入数据库
$skuDb = D('sku');
if ($skuDb->data($data)->add()) {
echo json_encode(array('status' => 1, 'msg' => '创建成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '创建失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 更新商品 sku
*/
public function saveSku()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
if ($_REQUEST['name'] && $_REQUEST['id'] && $_REQUEST['shop_id']) {
//如果有上传图片得操作 执行如下
if ($_REQUEST['upFile']) { //有新图上传 则把图片从temp目录 复制到目标目录
if (!(copy("Data/UploadFiles/temp/" . $_REQUEST['upFile'], "Data/UploadFiles/sku/" . $_REQUEST['upFile']))) {
echo json_encode(array('status' => 0, 'msg' => '图片复制失败'));
exit;
}
if ($_REQUEST['oldFile']) { //存在老图 既删掉老图 没有成功的话 将刚才复制到此目录得新图也一并删除
if (!(unlink("Data/UploadFiles/sku/" . $_REQUEST['oldFile']))) {
if (unlink("Data/UploadFiles/temp/" . $_REQUEST['upFile'])) {
echo json_encode(array('status' => 0, 'msg' => '成功'));
exit;
} else {
echo json_encode(array('status' => 0, 'msg' => '失败'));
exit;
}
echo json_encode(array('status' => 0, 'msg' => '原图删除失败'));
exit;
}
}
$data['photo'] = json_encode(array($_REQUEST['upFile'])); //序列化储存
}
//data数据
$data['shop_id'] = $_REQUEST['shop_id'];
$data['name'] = $_REQUEST['name'];
$data['sku_number'] = $_REQUEST['sku_number'];
$data['price'] = (float)$_REQUEST['price'];
$data['unit'] = $_REQUEST['unit'];
$data['weight'] = $_REQUEST['weight'];
$data['stock'] = $_REQUEST['stock'];
$data['purchase_channel'] = $_REQUEST['purchase_channel'];
//where条件
$where['id'] = $_REQUEST['id'];
//录入数据库
$skuDb = D('sku');
if ($skuDb->where($where)->data($data)->save()) {
echo json_encode(array('status' => 1, 'msg' => '更新成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '更新失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: sku删除 ps:只改 del字段标识 并非真正删除
*/
public function deleteSku()
{
if ($this->tokenShop_id != C('powerId')) {
$where['shop_id'] = $this->tokenShop_id; //非总管理员 只返回自己的账户信息
}
if ($_REQUEST['idArr']) {
// 获取要删除的航线ID数组
$where['id'] = array("in", $_REQUEST['idArr']);
//data数据
$data['del'] = '1';
//录入数据库
$skuDb = D('sku');
if ($skuDb->where($where)->save($data)) {
echo json_encode(array('status' => 1, 'msg' => '删除成功'));
} else {
echo json_encode(array('status' => 0, 'msg' => '删除失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
/**
* @description: 获取订单列表(只拿已付款 和已退款但是发货状态为 已发货 订单列表) 链表查询还有关联的站点列表的 bind_route runing字段一并取出
*/
public function getPaidOrderList()
{
if ($this->tokenShop_id != C('powerId')) {
$where['o.shop_id'] = $this->tokenShop_id; // 非总管理员只返回自己的账户信息
}
$orderDb = D('order');
// 构建查询条件
$where['_complex'] = array(
'_logic' => 'or',
array('o.main_status' => '已付款'),
array(
'o.main_status' => '已退款',
'o.shipment_status' => '已发货'
)
);
$paidOrderList = $orderDb
->alias('o') // 别名为 o
->join('lr_receive_site rs ON o.receive_site_id = rs.id') // 关联 lr_receive_site 表
->field('o.id,o.
shop_id,o.order_sn,o.food_sn,o.total_weight,o.total_num,o.total_price,transport_price,pack_price,o.apply_price,o.receiver,o.tel,o.by_plane_id,o.receive_site_id,o.receive_site_name,o.remark,o.product_snapshot,o.main_status,o.shipment_status,o.refund_status,o.refund_remark,o.order_time,o.paid_time,o.refundapply_time,o.received_time,o.shipped_time, rs.bind_route, rs.runing') // 选择字段,包括 bind_route 和 runing
->where($where)
->select();
if ($paidOrderList) {
echo json_encode(array('status' => 1, 'msg' => '成功获取待处理', 'paidOrderList' => $paidOrderList));
} else {
echo json_encode(array('status' => 0, 'msg' => '暂无订单数据'));
}
}
/**
* @description: 获取订单列表
*/
public function getOrderList()
{
//总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
$this->isPower();
// 添加 shop_id 条件
if ($_REQUEST['shop_id'] != '') {
$where['shop_id'] = $_REQUEST['shop_id'];
}
// 添加 start_time 和 end_time 条件
if (isset($_REQUEST['start_time']) && isset($_REQUEST['end_time'])) {
$where['order_time'] = array('between', array($_REQUEST['start_time'], $_REQUEST['end_time']));
}
// 添加 main_status 条件
if (isset($_REQUEST['main_status']) && !empty($_REQUEST['main_status'])) {
$main_status_array = explode(',', $_REQUEST['main_status']);
$where['main_status'] = array('in', $main_status_array);
}
// 添加 shipment_status 条件
if (isset($_REQUEST['shipment_status']) && !empty($_REQUEST['shipment_status'])) {
$shipment_status_array = explode(',', $_REQUEST['shipment_status']);
$where['shipment_status'] = array('in', $shipment_status_array);
}
// 添加 refund_status 条件
if (isset($_REQUEST['refund_status']) && !empty($_REQUEST['refund_status'])) {
$refund_status_array = explode(',', $_REQUEST['refund_status']);
$where['refund_status'] = array('in', $refund_status_array);
}
// 添加搜索条件
if (isset($_REQUEST['search']) && !empty($_REQUEST['search'])) {
$search = explode(',', $_REQUEST['search']);
if (count($search) == 2) {
list($field, $value) = $search;
if (!empty($field)) {
$fieldMap = [
'orderSn' => 'order_sn',
'name' => 'receiver',
'tel' => 'tel',
'remark' => 'remark',
'byPlaneId' => 'by_plane_id',
'desc' => 'describe'
];
if (array_key_exists($field, $fieldMap) && !empty($value)) {
if ($field === 'byPlaneId') {
// 对于 byPlaneId 字段,使用精确匹配
$where[$fieldMap[$field]] = $value;
} else {
// 对于其他字段,使用模糊查询
$where[$fieldMap[$field]] = array('like', '%' . $value . '%');
}
}
}
}
}
$field = array('id', 'order_sn', 'tel', 'total_price', 'transport_price', 'pack_price', 'refund_price', 'main_status', 'shipment_status', 'refund_status', 'order_time');
$orderDb = D('order');
$orderList = $orderDb->where($where)->field($field)->select();
echo json_encode(array('status' => 1, 'msg' => '访问成功', 'orderList' => $orderList));
}
/**
* @description:获取订单详情
*/
public function getOrderDetails()
{
if ($this->tokenShop_id != C('powerId')) {
$where['shop_id'] = $this->tokenShop_id; //非总管理员 只返回自己的账户信息
}
if ($_REQUEST['id']) {
$where['id'] = $_REQUEST['id'];
$orderDb = D('order');
$field = array('id', 'order_sn', 'food_sn', 'total_weight', 'total_num', 'total_price', 'transport_price', 'pack_price', 'refund_price', 'apply_price', 'receiver', 'tel', 'by_plane_id', 'receive_site_id', 'receive_site_name', 'remark', 'product_snapshot', 'main_status', 'shipment_status', 'refund_status', 'refund_remark', 'canceled_time', 'order_time', 'paid_time', 'refunded_time', 'completed_time', 'received_time', 'shipped_time', 'delivered_time', 'refundapply_time', 'rejected_time', 'describe');
if ($orderDetails = $orderDb->where($where)->field($field)->find()) {
echo json_encode(array('status' => 1, 'msg' => '访问成功', 'orderDetails' => $orderDetails));
} else {
echo json_encode(array('status' => 0, 'msg' => '访问失败'));
}
} else {
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
}
}
}