init: import production code mss.nahaichuan.com (exclude Runtime/Uploads/backups/logs)
这个提交包含在:
@@ -0,0 +1,360 @@
|
||||
<?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);
|
||||
}*/
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户