文件
mashangyoujiu/Application/Terminalapi/Controller/ApiController.class.php

360 行
15 KiB
PHP
可执行文件

<?php
namespace Terminalapi\Controller;
use Think\Controller;
//[1.7.90]
/**
* Class ApiController
* @package Terminalapi\Controller
*/
class ApiController extends BaseController
{
public $interfacearr = array(
"login",
"login_v1",
"sellcount",
"newsellcount",
"cashierlist",
"newcashierlist",
"goodscate",
"addSkuList",
"addSkuAttr",
"addgoods",
"addgoods_v1", //新版接口
"auto_number", //自动获取货号
"checkgoods",
"searchgoods",
"submitcheckgoods",
"goodsShow",
"getfloworderinfo",
"changefloworderitemnum",
"delflowordergoodsitem",
"dofloworderitemstock",
"submitfloworder",
"getsupplierlist",
"cashPay",
"cardpay",
"placeOrder",
"getvipinfo",
"vipIndex",
"queryMember",
"lineOrderTotal",
"getgrade",
"vipInfo",
"rechargemoney",
"getVipEsteatment",
"todayvipcardinfo",
"todayVipCardList",
"onlineorderInfo",
"distribution_zt",
"distribution_ps",
"checkgoodscode",
"checkgoodsnum",
"unreadshow",
"modifyUnread",
"newGoodsList_v1",
"dadadelivery",
'uploadFile',
'searchgoodstwo',
'submitchangegoodsprice',
'refund',
'verifyCode',
'getLogo',
'newPlaceOrderPay_v3',
'newPlaceOrderPay_v4',
'newPlaceOrderPay_v6',
"orderPay_v2", //收银支付接口 2019-09-30
"GoodsListShow", //盘点查询商品
"GoodsListShow_v1", //盘点查询商品
"InventoryScanCodeGoods", //盘点扫码查询商品
"InventorySbu",
"InventorySbu_v1", //新版盘点2020-11-10
"deleteGoodsRecord", //删除盘点记录信息
"InventoryConduct",
"InventoryList",
"InventoryInfo",
"vipLogin_v1",
"vipLogin_v2",
"newGoodsList_v3",
"getGoodsList_v1",
"skuInfo",
"quickCashier",
"vipSign",
"VipEdit", //会员编辑
"VipEdit_v1", //会员编辑2021-1-7
"VipRecharge", //会员充值
"getRechargeActivity", //获取充值的会员信息
"record", //交班数据
"submitWork", //交班
"printerRecordData_v1", //打印
"QuickRefund", //快捷收银退款
"QuickCashier", //快捷收银
"QuickCashier_v1", //新版快捷收银
"QuickRefund_v1", //新版快捷收银退款
"VipSign", //快捷收银会员登录
"QuickList", //快捷收银列表
"GetCode", //支付二维码
"getSellList", //商品销售记录
"cashierInfo", //收银员列表
"StoreOrderList", //店内经营订单
"payTypeShow", //组合支付详情
"storeInfo", //门店列表
"AllocateOrder", //商户出库单
"AllocateOrderList", //调拨单列表
"AllocateApply", //门店申请调拨单
"AllocateGoodsList", //商户出库选择的商品列表
"warehousingGoodsList", //门店调拨入库商品列表
"AllocateScanCodeGoods", //商户出库扫码查询
"AllocateConfirm", //商户确认调拨
"AllocateInfo", //商户出库单的详情
"WarehousingList", //商户调拨的门店入库详情
"WarehousingOutList", //门店调拨出库详情列表
"SEnterInfo", //门店入库可编辑
"goodsVerification", //门店入库商品信息验证
"stockOperation", //商户确认调拨出库
"batchSync", //门店同步商品信息
"SEnterOperation", //门店入库操作
'warehousingOperation', //门店调拨单入库
"SEnterOrderList", //门店入库列表
"SAllocateDetails", //调拨详情
"SEnterDetails", //入库详情
"SStockInfo", //门店出库的商品信息
"SStockOrderList", //门店出库单列表
"SStockGoods", //门店出库商品明细
"SStockScanCodeGoods_v1", //门店出库扫码查询商品
"SStockOperation", //门店出库操作
"SStockDetails", //出库详情
"SStockEnterDetails", //入库详情
"AllocationTube", //商户的门店间调拨列表
"ExamineAction", //门店间调拨审核操作
"AllocationDetails", //门店间调拨出库详情
"WarehousingDetails", //门店间调拨入库详情
"MerPurchaseOrder", //商户采购单列表
"MerWarehouseInfo", //商户采购仓与供货商
"MerPurGoods", //商户采购选择的商品
"MerPurGoods_v1", //商户采购选择的商品V1
'MerPurGoodsSerialVerify', //串号验证
"MerPurScanCodeGoods", //采购扫码查询
"MerPurchaseOperation", //商户采购操作
"MerPurDetails", //采购详情
'merPurDetailSerialList', //详情串号列表
"MerPurOrderEdit", //采购编辑提交
"MerWarehouseOperation", //商户采购入库到供给仓
"MerRetreatOrder", //商户采购退货
"MerRetreatDetails", //商户退货详情
'merRetreatDetailSerial', //采购退货详情的串号列表
'MerRetreatGoodsSerial', //采购退货可退串号
"MerRetreatGoods", //采购退货选择的商品
"MerRetreatScanCodeGoods", //采购退货扫码查询的商品
"MerRetreatAction", //商户采购退货提交操作
"StorePurchaseOrder", //门店采购单列表
"StoreWarehouseInfo", //门店采购仓与供货商
"StorePurGoods", //门店采购选择的商品
"StorePurGoods_v1", //门店采购选择的商品v1版
'StorePurGoodsSerialVerify', //采购串号验证
"StorePurScanCodeGoods", //门店采购扫码查询商品
"StorePurchaseOperation", //门店采购提交操作
"StorePurDetails", //门店采购单详情
'storePurDetailSerialList', //门店详情串号列表
"StorePurEdit", //门店编辑采购单提交操作
"StoreWarehouseOperation", //门店采购单入库到供给仓操作
"StoreRetreatOrder", //门店采购退货列表
"StoreRetreatDetails", //门店采购退货详情
'storeRetreatDetailSerial', //采购退货详情的串号列表
'StoreRetreatGoodsSerial', //门店采购退货串号列表
"StoreRetreatGoods", //门店采购退货的商品
"StoreRetreatScanCodeGoods", //门店采购退货扫码查询的商品
"StoreRetreatAction", //门店采购退货提交操作
"PriceModify", //新版改价
"searchgoods_v1", //改价查询
"StockQuery", //库存查询
"LossReportList", //商户报损列表
"LossGoodsList", //商户报损商品查询
'LossGoodsSerial', //商户与门店入库记录的商品的串号列表(用于报损,出库选择商品)
"LossGoodsList_v1", //商户与门店的报损商品查询v1版
"lossScanCodeGoods", //报损扫码查询
"LossOperation", //商户提交报损操作
"LossInfo", //商户报损详情
'lossInfoSerial', //商户报损详情串号列表
"StoreLossReportList", //门店报损列表
"StoreLossGoodsList", //门店报损商品列表
"StoreLossOperation", //门店提交报损操作
"StoreLossInfo", //门店报损详情
'storeLossInfoSerial', //门店报损详情串号列表
"MemberAnalyzeActive", //会员分析-活跃会员
"MemberAnalyzeActiveList", //会员分析-根据月份获取用户数据
"MemberAnalyzeBirth", //会员分析-会员生日统计
"MemberAnalyzeBirthList", //会员分析-根据月份获取用户数据
"storeRefuseWarehousing", //门店入库单拒绝入库操作
"refuse", //门店调拨入库单拒绝入库操作
"storeRefuseInfo", //门店拒收详情
'refuseSerial', //拒收详情的串号列表
"getStoreWarehousingInfo", //获取单个门店入库单信息
"vipRechargeRecord", //会员充值记录
'stockGoodsInfoSerial', //商户门店出库单的详情的串号列表
'storeDetailsSerial', //门店入库详情串号列表
'purchaseWarehouseSerial', //采购已经入库的串号列表
'purchaseRetreatSerial', //采购已经退货的串号列表
'serialModify', //串号修改
'inventorySerial', //盘点详情串号列表
'inventorySerialVerify', //盘点串号验证
'sellSerialList', //销售明细的串号列表
'sell_list', //订单商品信息
'addPurchaseOrderBasics', //采购修改售价初始化
'addStockOutInitial', //门店出库提交页面数据初始化
'SaleSerialList', //仓库的串号列表
);
public function index()
{
$interface = I('post.interface');
if (!$interface) {
$interface = I('get.interface');
}
if (!$interface) {
$rt['status'] = 0;
$rt['msg'] = '接口url缺失';
$this->ajaxReturn($rt);
} else {
if (in_array($interface, $this->interfacearr)) {
if(!I('post.store_id')) $_POST['store_id'] = I('post.storeid');
if(!I('post.merchant_id')) $_POST['merchant_id'] = I('post.merchantid');
self::$interface();
} else {
$rt['status'] = 0;
$rt['msg'] = '接口不存在';
$this->ajaxReturn($rt);
}
}
}
public function android()
{
$interface = I('get.interface');
if (!$interface) {
$rt['status'] = 0;
$rt['msg'] = '接口url缺失';
$this->ajaxReturn($rt);
} else {
self::$interface();
}
}
public function index2()
{
$interface = I('get.interface');
if (!$interface) {
$rt['status'] = 0;
$rt['msg'] = '接口url缺失';
$this->ajaxReturn($rt);
} else {
self::$interface();
}
}
public function xj()
{
self::cashPay();
}
public function vip()
{
self::cardpay();
}
public function wxzfb()
{
self::placeOrder();
}
// 文件上传
public function uploadFile()
{
$merchant_id = I('post.merchant_id');
$store_id = I('post.store_id');
$item = array(
'add_time' => time(),
'from_type_id' => 28,
'localUrl' => 'Store/Goods',
'user_type' => 4,
'merchant_id' => $merchant_id,
'store_id' => $store_id
);
$uploads = uploadFiles($item);//上传图片
if (!empty($uploads['file'])) {
$path['status'] = 1;
$path['goods_image_id'] = $uploads['file']['id']; //商品展示图片
$path['path'] = $uploads['file']['id']; //商品展示图片
} else {
$path['status'] = 0;
$path['path'] = '图片上传失败';
$path['status'] = 0;
}
$this->ajaxReturn($path);
}
/* public function getMyController(){
$m = I('get.m');
$m = $m?$m:I('post.m');
//根据thinkphp文件命名规则可以知道文件名和控制器的名称是一致的;
//根据thinkphp目录结构可以知道控制器目录的路径;
$controllers = $this->getControllers($_SERVER['DOCUMENT_ROOT']."/Application/{$m}/Controller");
//如果你的控制器目录不是tp的默认目录按照你项目的时间目录传递给getControllers函数
$this->ajaxReturn($controllers);
}
//获取某个目录下的php文件名的函数
protected function getControllers($dir) {
$pathList = glob($dir . '/*.php');
$res = [];
foreach($pathList as $key => $value) {
$res[] = basename($value, 'Controller.class.php');
}
return $res;
}
//获取某个控制器的方法名的函数
//此方法过滤父级Base控制器的方法,只保留自己的
protected function getActions($className,$basename="") {
$methods = get_class_methods(A($className));
if($className!=$basename && $basename){
$baseMethods = get_class_methods(A($basename));
$res = array_diff($methods, $baseMethods);
return $res;
}else{
return $methods;
}
}
public function getMyActions(){
$m = I('get.m');
$m = $m?$m:I('post.m');
$control = I('get.c');
$control = $control?$control:I('post.c');
//下面是获取Index控制中你定义的方法,在mobadmin的应用场景中$control由前端传入,
//这样就能够达到我选择某个一个控制器的时候,就会输出这个控制中定义的方法。
$actions = $this->getActions($control);
//系统中所有控制的方法怎么获取呢?遍历所有控制器就可以。
$controllers = $this->getControllers($_SERVER['DOCUMENT_ROOT']."/Application/{$m}/Controller");
$actionsAll = [];
$b = I('get.b');
$b = $b?$b:I('post.b');
foreach( $controllers as $key=>$value) {
if($b){
$actionsAll[$value] = $this->getActions($m.'/'.$value,$m.'/'.$b);
}else{
$actionsAll[$value] = $this->getActions($m.'/'.$value);
}
}
$rt['action'] = $actions;
$rt['actionAll'] = $actionsAll;
$this->ajaxReturn($rt);
}*/
}