GlobalInvoke.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <?php
  2. namespace common\globals;
  3. use common\enums\GlobalFuncEnum;
  4. use common\enums\StatusEnum;
  5. use common\models\mall\MallAddons;
  6. class GlobalInvoke
  7. {
  8. const INVOKE_GET_PAYMENT_LIST=1; //获取支付方式
  9. const INVOKE_GET_WITHDRAW_LIMIT_COND=2; //全局获取提现条件限制
  10. const INVOKE_GET_POSTER=4; //全局获取分享海报
  11. const GOODS_MODEL=5; //全局获取商品模式
  12. const GOODS_MODEL_LEVEL=6; //全局获取商品模式身份等级
  13. const PROMOTION=7; //全局获取推广中心
  14. const ORDER_LIST = GlobalFuncEnum::ORDER_LIST; // 订单列表
  15. const RAND_FEE = GlobalFuncEnum::RAND_FEE; // 随机减
  16. const ORDER_DETAIL = GlobalFuncEnum::ORDER_DETAIL; // 订单详情
  17. const INVOKE_GET_BANKCARD_LIST = 8; // 获取银行卡列表
  18. const INVOKE_PAYMENT = 9; // 支付
  19. const INVOKE_GET_WITHDRAW_EXTENSION_WAY=15; //全局获取扩展提现方式
  20. const CURRENCY = GlobalFuncEnum::CURRENCY; //币种
  21. const INVOKE_WITHDRAW_EXTENSION_PAY=16; //提现转账
  22. const CART_ADD = GlobalFuncEnum::CART_ADD; // 添加购物车
  23. const ORDER_REFUND_SUBMIT = GlobalFuncEnum::ORDER_REFUND_SUBMIT; // 订单售后
  24. const GOODS_DETAIL_EDIT = GlobalFuncEnum::GOODS_DETAIL_EDIT; // 商品详情编辑
  25. const REAL_AUTH = GlobalFuncEnum::REAL_AUTH; // 实名认证
  26. const INVOKE_WITHDRAW_ALITOPAY_PAY = GlobalFuncEnum::INVOKE_WITHDRAW_ALITOPAY_PAY; //支付宝代付
  27. const INVOKE_WITHDRAW_AVOIDTAX_PAY = GlobalFuncEnum::INVOKE_WITHDRAW_AVOIDTAX_PAY; //支付宝代付
  28. const INVOKE_WITHDRAW_WITHDRAWAL_CHANNEL = GlobalFuncEnum::INVOKE_WITHDRAW_WITHDRAWAL_CHANNEL; //获取提现渠道
  29. const CAPITAL_LOG_LIST = GlobalFuncEnum::CAPITAL_LOG_LIST; // CapitalLog列表
  30. const CONSOLE_ORDER_DETAIL = GlobalFuncEnum::CONSOLE_ORDER_DETAIL;//控制台具体订单调用
  31. const DIY_EDIT_FORM = GlobalFuncEnum::DIY_EDIT_FORM; // 自定义装修编辑
  32. const DIY_COPY_FORM = GlobalFuncEnum::DIY_COPY_FORM; // 自定义装修复制
  33. const DIY_DELETE_FORM = GlobalFuncEnum::DIY_DELETE_FORM; // 自定义装修删除
  34. const BACKEND_ORDER_LIST_FROM = GlobalFuncEnum::BACKEND_ORDER_LIST; // 后台订单列表调用
  35. const GOODS_NEED_SMARTFORM = GlobalFuncEnum::GOODS_NEED_SMARTFORM ; //商品关联智能表单
  36. const WITHDRAW_RISK = GlobalFuncEnum::INVOKE_WITHDRAW_RISK ; //提现风控
  37. const WITHDRAW_RISK_CAPTCHA = GlobalFuncEnum::INVOKE_WITHDRAW_RISK_CAPTCHA ; //提现风控:审核验证码
  38. const INVOKE_COMMISSION_TYPE = GlobalFuncEnum::INVOKE_COMMISSION_TYPE; //分佣资金类型
  39. const ONE_CAPITAL_LOG_LIST = GlobalFuncEnum::ONE_CAPITAL_LOG_LIST;//获取某一账户的资金列表
  40. const ORDERC_CHECK = GlobalFuncEnum::DO_ORDER_CHECK ; //下单检测
  41. const GET_INSTALL_ADDONS_LIST = GlobalFuncEnum::GET_INSTALL_ADDONS_LIST ; //获取收益需要自定义命名的且已安装的插件
  42. const CATEGORY_LIST_FILTER_GOODS_ID = GlobalFuncEnum::CATEGORY_LIST_FILTER_GOODS_ID; //商品分类过滤商品ID
  43. const ORDER_PREVIEW_APPEND_FILEDS = GlobalFuncEnum::ORDER_PREVIEW_APPEND_FILEDS; //前端订单预览追加字段
  44. const CART_LIST_APPEND_FILEDS = GlobalFuncEnum::CART_LIST_APPEND_FILEDS; //购物车增加字段
  45. const ADDONS_FIELDS_DECORATION = GlobalFuncEnum::ADDONS_FIELDS_DECORATION; //插件字段装修显示
  46. const APPEND_FIELDS_GOODS_DATA = GlobalFuncEnum::APPEND_FIELDS_GOODS_DATA; //商品详情或列表添加额外字段
  47. const INVOKE_WITHDRAW_OPERATE = GlobalFuncEnum::INVOKE_WITHDRAW_OPERATE ; //提现操作[申请,同意,拒绝]
  48. const API_GOODS_DETAIL = GlobalFuncEnum::API_GOODS_DETAIL ; //提现操作[申请,同意,拒绝]
  49. const REAL_AUTH_BUSINESS = GlobalFuncEnum::REAL_AUTH_BUSINESS; // 企业实名认证
  50. const GOODS_LIST_EXTRA = GlobalFuncEnum::GOODS_LIST_EXTRA; // 商品列表额外字段
  51. const INVOKE_WITHDRAW_YUNFAST_PAY = GlobalFuncEnum::INVOKE_WITHDRAW_YUNFAST_PAY; //支付宝代付
  52. const INVOKE_ORDER_REFUND = GlobalFuncEnum::INVOKE_ORDER_REFUND; // 订单退款
  53. const INVOKE_GET_BANKCARD_INFO = GlobalFuncEnum::INVOKE_GET_BANKCARD_INFO; // 银行卡详情
  54. const INVOKE_GET_PAYMENT_TYPE = GlobalFuncEnum::PAYMENT_TYPE; //获取支付方式
  55. const INVOKE_DELETE_BANKCARD = GlobalFuncEnum::INVOKE_DELETE_BANKCARD; // 删除银行卡
  56. const INVOKE_WITHDRAW_BANKTAX_PAY = GlobalFuncEnum::INVOKE_WITHDRAW_BANKTAX_PAY; // 银行卡合规打款
  57. const INVOKE_WITHDRAW_LINGGONG_PAY = GlobalFuncEnum::INVOKE_WITHDRAW_LINGGONG_PAY; // 点薪灵工
  58. const INVOKE_PROMOTION_CENTER = GlobalFuncEnum::INVOKE_PROMOTION_CENTER; //推广中心佣金统计数据
  59. const INVOKE_CLERK = GlobalFuncEnum::INVOKE_CLERK; //公共核销入口
  60. const INVOKE_CLERK_DETAIL = GlobalFuncEnum::INVOKE_CLERK_DETAIL; //公共核销记录详情
  61. const INVOKE_ORDER_DETAILS_ITEM = GlobalFuncEnum::INVOKE_ORDER_DETAILS_ITEM; // 订单详情
  62. const INVOKE_FILTER_PAYMENT_LIST = GlobalFuncEnum::INVOKE_FILTER_PAYMENT_LIST; // 支付方式过滤(如果多个插件使用此公共调用只会保存最后一次执行的结果)
  63. // 全局调用与类的映射关系
  64. const INVOKE_MAP = [
  65. self::INVOKE_GET_PAYMENT_LIST => ['class'=>'common\globals\GetPaymentGlobal','method'=>'getPaymentList','validateInvokeMethod'=>'validateGetPayment'],//获取支付方式
  66. self::INVOKE_GET_WITHDRAW_LIMIT_COND => ['class'=>'common\globals\WithdrawGlobal','method'=>'getWithDrawLimitCond','validateInvokeMethod'=>'validateWithDrawLimitCond'],//提现条件
  67. self::INVOKE_GET_WITHDRAW_EXTENSION_WAY => ['class'=>'common\globals\WithdrawWayGlobal','method'=>'getExtensionWithdrawWay','validateInvokeMethod'=>'validateGetExtensionWithdrawWay'],//提现方式
  68. self::INVOKE_WITHDRAW_EXTENSION_PAY => ['class'=>'common\globals\WithdrawWayGlobal','method'=>'extensionWithdrawPay','validateInvokeMethod'=>'validateExtensionWithdrawPay'],//提现转账
  69. self::INVOKE_GET_POSTER => ['class'=>'common\globals\PosterGlobal','method'=>'getPoster','validateInvokeMethod'=>'validateGetPosterCond'],//分享海报
  70. self::GOODS_MODEL => ['class'=>'common\globals\GoodsModel','method'=>'getGoodsModel','validateInvokeMethod'=>'validateGetGoodsModel'],//商品模式
  71. self::GOODS_MODEL_LEVEL => ['class'=>'common\globals\GoodsModelLevel','method'=>'getGoodsModelLevel','validateInvokeMethod'=>'validateGetGoodsModelLevel'],//商品模式身份等级
  72. self::PROMOTION => ['class'=>'common\globals\Promotion','method'=>'getPromotion','validateInvokeMethod'=>'validateGetPromotion'],//推广中心
  73. self::RAND_FEE => ['class'=>'common\globals\RandFee','method'=>'getRandFee','validateInvokeMethod'=>'validateGetRandFee'],//随机减
  74. self::ORDER_DETAIL => ['class'=>'common\globals\OrderDetail','method'=>'getOrderDetail','validateInvokeMethod'=>'validateGetOrderDetail'],//订单详情
  75. self::ORDER_LIST => ['class'=>'common\globals\OrderList','method'=>'getOrderList','validateInvokeMethod'=>'validateGetOrderList'],//订单列表
  76. self::INVOKE_GET_BANKCARD_LIST => [
  77. 'class' => 'common\globals\GetBankcardGlobal',
  78. 'method' => 'getBankcardList',
  79. 'validateInvokeMethod' => 'validateGetBankCard',
  80. ],
  81. self::INVOKE_PAYMENT => ['class'=>'common\globals\PaymentGlobal','method'=>'pay','validateInvokeMethod'=>'validatePay'],//支付
  82. self::CART_ADD => ['class'=>'common\globals\CartAdd', 'method'=>'chackAdd', 'validateInvokeMethod'=>'validatechackAdd'], // 添加购物车
  83. self::ORDER_REFUND_SUBMIT => ['class'=>'common\globals\OrderRefundSubmit', 'method'=>'getOrderRefundSubmit','validateInvokeMethod'=>'validateGetOrderRefundSubmit'],//订单详情
  84. self::GOODS_DETAIL_EDIT => ['class'=>'common\globals\GoodsDetailEdit', 'method'=>'getGoodsDetail','validateInvokeMethod'=>'validateGetGoodsDetailEdit'],//商品详情编辑
  85. self::REAL_AUTH => ['class'=>'common\globals\RealAuth','method'=>'getRealAuth','validateInvokeMethod'=>'validateRealAuth'],//实名认证
  86. self::INVOKE_WITHDRAW_ALITOPAY_PAY => ['class'=>'common\globals\AlitopayGlobal', 'method'=>'topay','validateInvokeMethod'=>'validateInvokeMethod'],//支付宝提现
  87. self::INVOKE_WITHDRAW_AVOIDTAX_PAY => ['class'=>'common\globals\AvoidTaxGlobal', 'method'=>'topay','validateInvokeMethod'=>'validateInvokeMethod'],//代税宝提现
  88. self::INVOKE_WITHDRAW_WITHDRAWAL_CHANNEL => ['class'=>'common\globals\AlipayWithdrawalChannel', 'method'=>'channel','validateInvokeMethod'=>'validateInvokeMethod'],//支付宝代付方式
  89. self::CAPITAL_LOG_LIST => ['class'=>'common\globals\CapitalLogList','method'=>'getList','validateInvokeMethod'=>'validateGetList'],//CapitalLog列表
  90. self::CONSOLE_ORDER_DETAIL => ['class'=>'common\globals\ConsoleOrderDetail','method'=>'getInvokeResult','validateInvokeMethod'=>'validateInvokeResult'],//控制台具体订单
  91. self::DIY_EDIT_FORM => ['class'=>'common\globals\DiyGlobal','method'=>'resetForm','validateInvokeMethod'=>'validateGetPromotion'],//自定义装修编辑
  92. self::DIY_COPY_FORM => ['class'=>'common\globals\DiyGlobal','method'=>'copyForm','validateInvokeMethod'=>'validateGetPromotion'],//自定义装修复制
  93. self::DIY_DELETE_FORM => ['class'=>'common\globals\DiyGlobal','method'=>'deleteForm','validateInvokeMethod'=>'validateGetPromotion'],//自定义装修删除
  94. self::BACKEND_ORDER_LIST_FROM => ['class'=>'common\globals\BackendOrderList','method'=>'getOrderList','validateInvokeMethod'=>'validateGetOrderList'],//后台订单列表调用
  95. self::CURRENCY => ['class'=>'common\globals\CurrencyGlobal','method'=>'getCurrencyConfig','validateInvokeMethod'=>'validateGetCurrencyConfig'],//装修个人中心资产
  96. self::GOODS_NEED_SMARTFORM => ['class'=>'common\globals\GoodsSmartForm','method'=>'getGoodsTemplate','validateInvokeMethod'=>'validateGoodsTemplate'],//商品关联智能表单
  97. self::WITHDRAW_RISK => ['class'=>'common\globals\CashRisk','method'=>'getNeedCaptcha','validateInvokeMethod'=>'validateNeedCaptcha'],//检测提现审核是否需要验证码
  98. self::WITHDRAW_RISK_CAPTCHA => ['class'=>'common\globals\CashRisk','method'=>'checkCaptcha','validateInvokeMethod'=>'validateNeedCaptcha'],//检测提现审核是否需要验证码
  99. self::INVOKE_COMMISSION_TYPE => ['class'=>'common\globals\funds\CommissionTypeGlobal','method'=>'getCommissionType','validateInvokeMethod'=>'validateDataFormat'],
  100. self::ONE_CAPITAL_LOG_LIST => ['class'=>'common\globals\funds\OneCapitalLogList','method'=>'getList','validateInvokeMethod'=>'validateGetList'],//获取某一账户的资金列表
  101. self::ORDERC_CHECK => ['class'=>'common\globals\OrderCheck','method'=>'check','validateInvokeMethod'=>'validateCheck'],//下单检测
  102. self::INVOKE_WITHDRAW_YUNFAST_PAY => [
  103. 'class' => \common\globals\YunFastAgent::class,
  104. 'method' => 'agent',
  105. 'validateInvokeMethod' => 'validateCheck'
  106. ],
  107. // 订单退款
  108. self::INVOKE_ORDER_REFUND => [
  109. 'class' => \common\globals\OrderRefund::class,
  110. 'method' => 'refund',
  111. 'validateInvokeMethod' => 'validateCheck'
  112. ],
  113. self::GET_INSTALL_ADDONS_LIST => ['class'=>'common\globals\GetAddonsList','method'=>'getList','validateInvokeMethod'=>'validateGetList'],//获取收益需要自定义命名的且已安装的插件
  114. self::CATEGORY_LIST_FILTER_GOODS_ID => ['class' => 'common\globals\goods\GoodsIdFilter', 'method' => 'handleGoodsIdFilter', 'validateInvokeMethod' => 'validateDataFormat'], //商品分类过滤商品ID
  115. self::ORDER_PREVIEW_APPEND_FILEDS => ['class' => 'common\globals\order\OrderPreviewAppendFields', 'method' => 'handleAppendFields', 'validateInvokeMethod' => 'validateDataFormat'], //前端订单预览追加字段
  116. self::CART_LIST_APPEND_FILEDS => ['class' => 'common\globals\goods\CartListAppendFields', 'method' => 'handleAppendFields', 'validateInvokeMethod' => 'validateDataFormat'], //购物车增加字段
  117. self::ADDONS_FIELDS_DECORATION => ['class'=>'common\globals\decoration\AddonsFieldsDecoration','method'=>'getFieldList','validateInvokeMethod'=>'validateGetFieldList'],//插件字段装修显示
  118. self::APPEND_FIELDS_GOODS_DATA => ['class'=>'common\globals\goods\AppendFieldsGoodsData','method'=>'appendFields2GoodsData','validateInvokeMethod'=>'validateFieldsResult'],//向商品数据添加额外字段
  119. self::INVOKE_WITHDRAW_OPERATE => ['class'=>'common\globals\WithdrawOperate','method'=>'operate','validateInvokeMethod'=>'validateOperate'],//获取收益需要自定义命名的且已安装的插件
  120. self::API_GOODS_DETAIL => ['class'=>'common\globals\ApiGoodsDetail','method'=>'goodsDetail','validateInvokeMethod'=>'validateGoodsDetail'],//API修改商品详情页接口内容
  121. self::REAL_AUTH_BUSINESS => ['class'=>'common\globals\RealAuth','method'=>'getRealAuthBusiness','validateInvokeMethod'=>'validateRealAuth'],//实名认证
  122. self::GOODS_LIST_EXTRA => ['class'=>'common\globals\GoodsListExtra','method'=>'getGoodsListExtra','validateInvokeMethod'=>'validateGetGoodsListExtra'],//商品列表额字段
  123. self::INVOKE_GET_PAYMENT_TYPE => ['class'=>'common\globals\GetPaymentGlobal','method'=>'getPaymentType','validateInvokeMethod'=>'validateGetPayment'],//获取支付方式
  124. self::INVOKE_GET_BANKCARD_INFO => ['class' => 'common\globals\GetBankcardInfoGlobal', 'method' => 'getBankcardInfo', 'validateInvokeMethod' => 'validateGetBankCardInfo',],
  125. self::INVOKE_DELETE_BANKCARD => ['class' => 'common\globals\DeleteBankcardGlobal', 'method' => 'del', 'validateInvokeMethod' => 'validateDel',],
  126. // 银行卡合规打款
  127. self::INVOKE_WITHDRAW_BANKTAX_PAY => [
  128. 'class' => \common\globals\BankTax::class,
  129. 'method' => 'pay',
  130. 'validateInvokeMethod' => 'validateCheck'
  131. ],
  132. self::INVOKE_WITHDRAW_LINGGONG_PAY => [
  133. 'class' => \common\globals\Linggong::class,
  134. 'method' => 'toPay',
  135. 'validateInvokeMethod' => 'validateCheck'
  136. ],
  137. self::INVOKE_PROMOTION_CENTER => [
  138. 'class' => \common\globals\funds\PromotionCenterGlobal::class,
  139. 'method' => 'getData',
  140. 'validateInvokeMethod' => 'validateData'
  141. ],
  142. self::INVOKE_CLERK => ['class' => 'common\globals\ClerkGlobal', 'method' => 'clerk', 'validateInvokeMethod' => 'validateClerk',],
  143. self::INVOKE_CLERK_DETAIL => ['class' => 'common\globals\ClerkDetailGlobal', 'method' => 'clerkDetail', 'validateInvokeMethod' => 'validateClerkDetail',],
  144. self::INVOKE_ORDER_DETAILS_ITEM => ['class' => 'common\globals\OrderDetailItem', 'method' => 'getOrderDetail', 'validateInvokeMethod' => 'validateClerkDetail',],
  145. self::INVOKE_FILTER_PAYMENT_LIST => ['class' => 'common\globals\FilterPaymentGlobal', 'method' => 'filter', 'validateInvokeMethod' => 'validatePaymentType',],
  146. ];
  147. /**
  148. * 执行全局类相关方法
  149. * @param [type] $invoke_id
  150. * @param integer $mall_id
  151. * @param array $params
  152. * @return array
  153. */
  154. public static function exec($invoke_id,$mall_id=0,$params=[]){
  155. $class = self::INVOKE_MAP[$invoke_id]['class'];
  156. if (!class_exists($class)) {
  157. // throw new \Exception('公共调用适配类不存在,class:' . $class . ', invoke_id => ' . $invoke_id . ', params => ' . json_encode($params));
  158. return [];
  159. }
  160. $obj = new $class();
  161. //获取商城已安装插件列表
  162. $params['invoke_id'] = $invoke_id;
  163. $install_addons = MallAddons::getValidAddons($mall_id);
  164. if (empty($install_addons)) {
  165. $install_addons = MallAddons::find()->select('addons_name')->where(['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED])->asArray()->column();
  166. }
  167. return $obj->handle($invoke_id,$install_addons,$params);
  168. }
  169. }