1173 lines
39 KiB
PHP
1173 lines
39 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'] || !$_REQUEST['admin_name'] || !$_REQUEST['pwd']
|
||
) {
|
||
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
|
||
exit;
|
||
}
|
||
|
||
// 随机生成 shop_id
|
||
$arr = str_split('abcdefghijklmnopqrstuvwxyz0123456789');
|
||
$shop_id = '';
|
||
for ($i = 0; $i < 16; $i++) {
|
||
$shop_id .= $arr[rand(0, count($arr) - 1)];
|
||
}
|
||
|
||
// 准备店铺数据
|
||
$data = array();
|
||
$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'];
|
||
|
||
// 处理 logo 上传
|
||
if (!empty($_REQUEST['upFile'])) {
|
||
$from = "Data/UploadFiles/temp/" . $_REQUEST['upFile'];
|
||
$to = "Data/UploadFiles/photo/" . $_REQUEST['upFile'];
|
||
if (!file_exists($from) || !copy($from, $to)) {
|
||
echo json_encode(array('status' => 0, 'msg' => '图片复制失败'));
|
||
exit;
|
||
}
|
||
$data['logo'] = json_encode(array($_REQUEST['upFile']));
|
||
}
|
||
|
||
$shopDb = D('shop');
|
||
$adminuserDb = D('adminuser');
|
||
|
||
// 开启事务
|
||
$shopDb->startTrans();
|
||
|
||
// 添加店铺
|
||
$shopAddResult = $shopDb->data($data)->add();
|
||
if (!$shopAddResult) {
|
||
$shopDb->rollback();
|
||
echo json_encode(array('status' => 0, 'msg' => '店铺创建失败'));
|
||
return;
|
||
}
|
||
|
||
// 检查管理员用户名是否已存在
|
||
$exists = $adminuserDb->where(array('name' => $_REQUEST['admin_name']))->find();
|
||
if ($exists) {
|
||
$shopDb->rollback();
|
||
echo json_encode(array('status' => 0, 'msg' => '管理员用户名已存在,已回滚'));
|
||
return;
|
||
}
|
||
|
||
// 添加管理员
|
||
$adminData = array();
|
||
$adminData['name'] = $_REQUEST['admin_name'];
|
||
$adminData['pwd'] = md5(md5($_REQUEST['pwd']));
|
||
$adminData['shop_id'] = $shop_id;
|
||
$adminData['addtime'] = time();
|
||
$adminData['role'] = 5;
|
||
$adminData['unique'] = 1;
|
||
|
||
$adminAddResult = $adminuserDb->data($adminData)->add();
|
||
if (!$adminAddResult) {
|
||
$shopDb->rollback();
|
||
echo json_encode(array('status' => 0, 'msg' => '管理员创建失败,已回滚'));
|
||
return;
|
||
}
|
||
|
||
// 一切正常,提交事务
|
||
$shopDb->commit();
|
||
echo json_encode(array('status' => 1, '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,role,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();
|
||
if (isset($_REQUEST['role'])) {
|
||
$validRoles = [5, 6]; //5:商家管理员 6:商家编辑
|
||
if (!in_array($_REQUEST['role'], $validRoles)) {
|
||
echo json_encode(array('status' => 0, 'msg' => '无效的角色'));
|
||
exit;
|
||
}
|
||
$data['role'] = $_REQUEST['role'];
|
||
}
|
||
//录入数据库
|
||
$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']) {
|
||
$adminDb = D('adminuser');
|
||
|
||
// 查询当前管理员数据(用以比对 role 和判断 unique)
|
||
$currentAdmin = $adminDb->where([
|
||
'id' => $_REQUEST['id'],
|
||
'shop_id' => $_REQUEST['shop_id']
|
||
])->find();
|
||
|
||
if (!$currentAdmin) {
|
||
echo json_encode(['status' => 0, 'msg' => '用户不存在']);
|
||
exit;
|
||
}
|
||
|
||
$data['uname'] = $_REQUEST['uname'];
|
||
|
||
if ($_REQUEST['pwd']) {
|
||
$data['pwd'] = MD5(MD5($_REQUEST['pwd']));
|
||
}
|
||
|
||
// 上传头像处理
|
||
if ($_REQUEST['upFile']) {
|
||
$tempPath = "Data/UploadFiles/temp/" . $_REQUEST['upFile'];
|
||
$targetPath = "Data/UploadFiles/photo/" . $_REQUEST['upFile'];
|
||
|
||
if (!copy($tempPath, $targetPath)) {
|
||
echo json_encode(['status' => 0, 'msg' => '图片复制失败']);
|
||
exit;
|
||
}
|
||
|
||
if ($_REQUEST['oldFile']) {
|
||
$oldFilePath = "Data/UploadFiles/photo/" . basename($_REQUEST['oldFile']);
|
||
if (!unlink($oldFilePath)) {
|
||
unlink($targetPath); // 删除新图
|
||
echo json_encode(['status' => 0, 'msg' => '原图删除失败']);
|
||
exit;
|
||
}
|
||
}
|
||
|
||
$data['photo'] = json_encode([$_REQUEST['upFile']]);
|
||
}
|
||
|
||
// 如果提交的 role 与数据库中的 role 不一致,视为试图变更角色
|
||
if (isset($_REQUEST['role']) && $_REQUEST['role'] != $currentAdmin['role']) {
|
||
if ($currentAdmin['unique'] == 1) {
|
||
echo json_encode(['status' => 0, 'msg' => '总管理员权限不允许更改角色']);
|
||
exit;
|
||
}
|
||
|
||
$validRoles = [5, 6]; // 商家管理员、商家编辑
|
||
if (!in_array($_REQUEST['role'], $validRoles)) {
|
||
echo json_encode(['status' => 0, 'msg' => '无效的角色']);
|
||
exit;
|
||
}
|
||
|
||
$data['role'] = $_REQUEST['role'];
|
||
}
|
||
|
||
// where 条件
|
||
$where = [
|
||
'id' => $_REQUEST['id'],
|
||
'shop_id' => $_REQUEST['shop_id']
|
||
];
|
||
|
||
if ($adminDb->where($where)->data($data)->save()) {
|
||
echo json_encode(['status' => 1, 'msg' => '更新成功']);
|
||
} else {
|
||
echo json_encode(['status' => 0, 'msg' => '更新失败']);
|
||
}
|
||
} else {
|
||
echo json_encode(['status' => 0, 'msg' => '参数有误']);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description: 管理员账号删除 ps:只改 del字段标识 并非真正删除
|
||
*/
|
||
public function deleteAdmin()
|
||
{
|
||
if ($this->tokenShop_id != C('powerId')) {
|
||
$where['shop_id'] = $this->tokenShop_id; //非总管理员
|
||
}
|
||
|
||
if ($_REQUEST['idArr']) {
|
||
// 解构 id 组
|
||
$idArr = is_array($_REQUEST['idArr'])
|
||
? $_REQUEST['idArr']
|
||
: explode(',', strval($_REQUEST['idArr']));
|
||
|
||
// 判断是否包含自身 ID
|
||
if (in_array($this->admin_id, $idArr)) {
|
||
echo json_encode(['status' => 0, 'msg' => '不能删除自身']);
|
||
exit;
|
||
}
|
||
|
||
// 查询是否包含 unique = 1 的管理员(总管理员)
|
||
$adminDb = D('adminuser');
|
||
$checkMap['id'] = ['in', $idArr];
|
||
if ($this->tokenShop_id != C('powerId')) {
|
||
$checkMap['shop_id'] = $this->tokenShop_id;
|
||
}
|
||
|
||
$admins = $adminDb->where($checkMap)->select();
|
||
foreach ($admins as $admin) {
|
||
if ($admin['unique'] == 1) {
|
||
echo json_encode(['status' => 0, 'msg' => '不能删除总管理员']);
|
||
exit;
|
||
}
|
||
}
|
||
|
||
// 执行逻辑删除
|
||
$where['id'] = ['in', $idArr];
|
||
$data['del'] = '1';
|
||
|
||
if ($adminDb->where($where)->save($data)) {
|
||
echo json_encode(['status' => 1, 'msg' => '删除成功']);
|
||
} else {
|
||
echo json_encode(['status' => 0, 'msg' => '删除失败']);
|
||
}
|
||
} else {
|
||
echo json_encode(['status' => 0, 'msg' => '参数有误']);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description: 向管理员用户发布公告
|
||
*/
|
||
public function pubMessage()
|
||
{
|
||
if ($this->tokenShop_id != C('powerId')) {
|
||
$shop_id = $this->tokenShop_id; //非总管理员
|
||
} else {
|
||
$shop_id = $_REQUEST['shop_id'];
|
||
}
|
||
|
||
// 参数校验
|
||
if (!isset($_REQUEST['idArr']) || !isset($_REQUEST['tit']) || !isset($_REQUEST['message']) || !isset($_REQUEST['endTime']) || !isset($_REQUEST['message']) || !isset($_REQUEST['shop_id'])) {
|
||
echo json_encode(array('status' => 0, 'msg' => '参数不完整'));
|
||
exit;
|
||
}
|
||
|
||
// 参数处理
|
||
$tit = trim($_REQUEST['tit']);
|
||
$message = trim($_REQUEST['message']);
|
||
$endTime = intval($_REQUEST['endTime']);
|
||
$idArr = is_array($_REQUEST['idArr']) ? $_REQUEST['idArr'] : explode(',', $_REQUEST['idArr']);
|
||
|
||
// 构建插入数据数组
|
||
$dataList = array();
|
||
foreach ($idArr as $admin_id) {
|
||
$dataList[] = array(
|
||
'shop_id' => $shop_id,
|
||
'by_admin_id' => $this->admin_id,
|
||
'admin_id' => intval($admin_id),
|
||
'message' => $message,
|
||
'tit' => $tit,
|
||
'end_time' => $endTime,
|
||
'add_time' => time(),
|
||
);
|
||
}
|
||
|
||
// 插入数据库
|
||
$messageDb = D('message');
|
||
|
||
if ($messageDb->addAll($dataList)) {
|
||
echo json_encode(array('status' => 1, 'msg' => '公告已成功发布'));
|
||
} else {
|
||
echo json_encode(array('status' => 0, 'msg' => '公告发布失败'));
|
||
}
|
||
}
|
||
/**
|
||
* @description 获取公告列表(未过期),连表获取 发送者管理员信息
|
||
*/
|
||
public function getMessageList()
|
||
{
|
||
// 权限判断
|
||
if ($this->tokenShop_id != C('powerId')) {
|
||
$where['m.shop_id'] = $this->tokenShop_id; // 非总管理员 只返回自己的账户信息
|
||
}
|
||
|
||
$adminId = $this->admin_id; //当前管理员
|
||
$now = time();
|
||
|
||
// 构造查询条件
|
||
$where = array(
|
||
'admin_id' => $adminId,
|
||
'end_time' => array('gt', $now) // 未过期
|
||
);
|
||
|
||
// 查询字段,注意字段前加表别名
|
||
$fields = array(
|
||
'm.id',
|
||
'm.admin_id',
|
||
'm.by_admin_id',
|
||
'm.tit',
|
||
'm.message',
|
||
'm.end_time',
|
||
'm.add_time',
|
||
'a.name' => 'admin_name',
|
||
'a.uname' => 'admin_uname'
|
||
);
|
||
|
||
// 数据库查询
|
||
$messageDb = M('message');
|
||
$messageList = $messageDb
|
||
->alias('m')
|
||
->join('__ADMINUSER__ a ON m.by_admin_id = a.id', 'LEFT')
|
||
->where($where)
|
||
->field($fields)
|
||
->order('m.add_time DESC')
|
||
->select();
|
||
|
||
if ($messageList !== false) {
|
||
echo json_encode(array(
|
||
'status' => 1,
|
||
'msg' => '获取成功',
|
||
'messageList' => $messageList
|
||
));
|
||
} else {
|
||
echo json_encode(array(
|
||
'status' => 0,
|
||
'msg' => '获取失败'
|
||
));
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @description 获取全部公告 不只 和自己admin_id相关的 且不考虑过期
|
||
*/
|
||
public function getAllMessageList()
|
||
{
|
||
// 权限判断
|
||
if ($this->tokenShop_id != C('powerId')) {
|
||
$where['m.shop_id'] = $this->tokenShop_id;
|
||
}
|
||
|
||
$messageDb = M('message');
|
||
|
||
// 查询message数据,不关联adminuser,先拿全部字段
|
||
$messageList = $messageDb
|
||
->alias('m')
|
||
->where($where)
|
||
->field('m.*')
|
||
->order('m.add_time DESC')
|
||
->select();
|
||
|
||
if ($messageList === false) {
|
||
echo json_encode(['status' => 0, 'msg' => '获取失败']);
|
||
return;
|
||
}
|
||
|
||
// 取出所有admin_id和by_admin_id,去重
|
||
$adminIds = [];
|
||
$byAdminIds = [];
|
||
foreach ($messageList as &$msg) {
|
||
if ($msg['admin_id']) $adminIds[$msg['admin_id']] = true;
|
||
if ($msg['by_admin_id']) $byAdminIds[$msg['by_admin_id']] = true;
|
||
}
|
||
$adminIds = array_keys($adminIds);
|
||
$byAdminIds = array_keys($byAdminIds);
|
||
|
||
// 查 admin_id 对应的用户信息(加非空判断)
|
||
$adminUserDb = M('adminuser');
|
||
$adminUsers = [];
|
||
if (!empty($adminIds)) {
|
||
$adminUsers = $adminUserDb->where(['id' => ['IN', $adminIds]])->field('id,name,uname')->select();
|
||
}
|
||
$adminUserMap = [];
|
||
foreach ($adminUsers as $u) {
|
||
$adminUserMap[$u['id']] = $u;
|
||
}
|
||
|
||
// 查 by_admin_id 对应的用户信息(加非空判断)
|
||
$byAdminUsers = [];
|
||
if (!empty($byAdminIds)) {
|
||
$byAdminUsers = $adminUserDb->where(['id' => ['IN', $byAdminIds]])->field('id,name,uname')->select();
|
||
}
|
||
$byAdminUserMap = [];
|
||
foreach ($byAdminUsers as $u) {
|
||
$byAdminUserMap[$u['id']] = $u;
|
||
}
|
||
|
||
// 合并用户信息回message列表
|
||
foreach ($messageList as &$msg) {
|
||
$msg['admin_name'] = isset($adminUserMap[$msg['admin_id']]) ? $adminUserMap[$msg['admin_id']]['name'] : '';
|
||
$msg['admin_uname'] = isset($adminUserMap[$msg['admin_id']]) ? $adminUserMap[$msg['admin_id']]['uname'] : '';
|
||
$msg['by_admin_name'] = isset($byAdminUserMap[$msg['by_admin_id']]) ? $byAdminUserMap[$msg['by_admin_id']]['name'] : '';
|
||
$msg['by_admin_uname'] = isset($byAdminUserMap[$msg['by_admin_id']]) ? $byAdminUserMap[$msg['by_admin_id']]['uname'] : '';
|
||
}
|
||
|
||
echo json_encode([
|
||
'status' => 1,
|
||
'msg' => '获取成功',
|
||
'messageList' => $messageList
|
||
]);
|
||
}
|
||
|
||
|
||
/**
|
||
* @description 删除公告
|
||
*/
|
||
public function deleteMessage()
|
||
{
|
||
// 权限判断(总管理员可操作所有单位)
|
||
if ($this->tokenShop_id != C('powerId')) {
|
||
$where['shop_id'] = $this->tokenShop_id;
|
||
}
|
||
|
||
// 接收参数并校验
|
||
$delIdArrRaw = isset($_REQUEST['delIdArr']) ? $_REQUEST['delIdArr'] : '';
|
||
if (!empty($delIdArrRaw)) {
|
||
// 确保 $delIdArr 是数组(前端传逗号分隔字符串)
|
||
if (is_string($delIdArrRaw)) {
|
||
$delIdArr = explode(',', $delIdArrRaw);
|
||
} elseif (is_array($delIdArrRaw)) {
|
||
$delIdArr = $delIdArrRaw;
|
||
} else {
|
||
echo json_encode(['status' => 0, 'msg' => '参数格式不正确']);
|
||
return;
|
||
}
|
||
|
||
$where['id'] = ['in', $delIdArr];
|
||
|
||
$messageDb = D('message');
|
||
if ($messageDb->where($where)->delete()) {
|
||
echo json_encode(['status' => 1, 'msg' => '删除成功']);
|
||
} else {
|
||
echo json_encode(['status' => 0, 'msg' => '删除失败']);
|
||
}
|
||
} else {
|
||
echo json_encode(['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: 获取订单列表(只拿已付款和已退款但发货状态为已发货的订单),并联查 receive_site 表 bind_route、runing 字段
|
||
*/
|
||
public function getPaidOrderList()
|
||
{
|
||
if ($this->tokenShop_id != C('powerId')) {
|
||
$where['o.shop_id'] = $this->tokenShop_id; // 非总管理员只返回自己的订单
|
||
}
|
||
|
||
$orderDb = D('order');
|
||
$prefix = C('DB_PREFIX'); // 获取表前缀
|
||
|
||
// 构建复合查询条件
|
||
$where['_complex'] = array(
|
||
'_logic' => 'or',
|
||
array('o.main_status' => '已付款'),
|
||
array(
|
||
'o.main_status' => '已退款',
|
||
'o.shipment_status' => '已发货'
|
||
)
|
||
);
|
||
|
||
// 执行查询
|
||
$paidOrderList = $orderDb
|
||
->alias('o')
|
||
->join("{$prefix}receive_site rs ON o.receive_site_id = rs.id") // 动态表前缀
|
||
->field("o.id,o.shop_id,o.order_sn,o.food_sn,o.total_weight,o.total_num,o.total_price,o.transport_price,o.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.refundagree_time,o.received_time,o.shipped_time, rs.bind_route, rs.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', 'refundagree_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' => '参数有误'));
|
||
}
|
||
}
|
||
}
|