* @version : HUOSDK 8.0 */ namespace huomp\logic\game; use huolib\constant\MpConfConst; use huomp\model\common\CommonModel; use huomp\model\weixin\MpConfModel; use huomp\model\weixin\OaMchModel; class OaMchLogic extends CommonModel { /** * 获取商户号关联的公众号信息 * * @param $mch_id * * @return array */ public function getWxByMchId($mch_id) { $_rdata = [ 'wx_id' => '', 'wx_name' => '', 'wx_logo' => '', 'qr_code' => '' ]; $_map = ['mch_id' => $mch_id, 'is_default' => MpConfConst::MP_OA_MCH_DEFAULT_2]; $_data = (new OaMchModel())->with('mc')->where($_map)->find(); if (is_object($_data)) { $_data = $_data->toArray(); } if (empty($_data)) { return $_rdata; } $_rdata['wx_id'] = $_data['oa_id']; $_rdata['wx_name'] = empty($_data['mc']) ? '' : $_data['mc']['wx_name']; $_rdata['wx_logo'] = empty($_data['mc']) ? '' : $_data['mc']['wx_logo']; $_rdata['qr_code'] = empty($_data['mc']) ? '' : $_data['mc']['qr_code']; return $_rdata; } /** * 获取微信公众号默认绑定的支付商户配置 * * @param string $oa_id 公众号AppId * * @return array|bool */ public function getDefaultMchConf($oa_id) { $_map = ['oa_id' => $oa_id, 'is_default' => MpConfConst::MP_OA_MCH_DEFAULT_2]; $_oa_mch_data = (new OaMchModel())->where($_map)->find(); if (is_object($_oa_mch_data)) { $_oa_mch_data = $_oa_mch_data->toArray(); } if (empty($_oa_mch_data)) { return false; } $_mch_data = (new MpConfModel())->getDataByMpId($_oa_mch_data['mch_id']); if (empty($_mch_data)) { return false; } $_wx_data = (new MpConfModel())->getDataByMpId($_oa_mch_data['oa_id']); if (empty($_wx_data)) { return false; } $_config = [ 'app_id' => $_wx_data['mp_id'], /* 绑定支付的APPID(必须配置,开户邮件中可查看)*/ 'mch_id' => $_mch_data['mp_id'], /* 商户号(必须配置,开户邮件中可查看) */ 'key' => $_mch_data['app_secret'], /* 商户支付密钥,参考开户邮件设置(必须配置,登录商户平台自行设置) */ 'app_secret' => $_wx_data['app_secret'], /* 公众帐号secert */ 'sslcert_path' => $_mch_data['ext_info']['sslcert_path'], 'sslkey_path' => $_mch_data['ext_info']['sslkey_path'] ]; return $_config; } }