360 行
15 KiB
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);
|
|
}*/
|
|
} |