OaMchLogic.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. * OaMchLogic.php UTF-8
  4. * huosdk_mini_program
  5. *
  6. * @date : 2018/9/17 11:36
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : chenbingling <cbl@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huomp\logic\game;
  13. use huolib\constant\MpConfConst;
  14. use huomp\model\common\CommonModel;
  15. use huomp\model\weixin\MpConfModel;
  16. use huomp\model\weixin\OaMchModel;
  17. class OaMchLogic extends CommonModel {
  18. /**
  19. * 获取商户号关联的公众号信息
  20. *
  21. * @param $mch_id
  22. *
  23. * @return array
  24. */
  25. public function getWxByMchId($mch_id) {
  26. $_rdata = [
  27. 'wx_id' => '',
  28. 'wx_name' => '',
  29. 'wx_logo' => '',
  30. 'qr_code' => ''
  31. ];
  32. $_map = ['mch_id' => $mch_id, 'is_default' => MpConfConst::MP_OA_MCH_DEFAULT_2];
  33. $_data = (new OaMchModel())->with('mc')->where($_map)->find();
  34. if (is_object($_data)) {
  35. $_data = $_data->toArray();
  36. }
  37. if (empty($_data)) {
  38. return $_rdata;
  39. }
  40. $_rdata['wx_id'] = $_data['oa_id'];
  41. $_rdata['wx_name'] = empty($_data['mc']) ? '' : $_data['mc']['wx_name'];
  42. $_rdata['wx_logo'] = empty($_data['mc']) ? '' : $_data['mc']['wx_logo'];
  43. $_rdata['qr_code'] = empty($_data['mc']) ? '' : $_data['mc']['qr_code'];
  44. return $_rdata;
  45. }
  46. /**
  47. * 获取微信公众号默认绑定的支付商户配置
  48. *
  49. * @param string $oa_id 公众号AppId
  50. *
  51. * @return array|bool
  52. */
  53. public function getDefaultMchConf($oa_id) {
  54. $_map = ['oa_id' => $oa_id, 'is_default' => MpConfConst::MP_OA_MCH_DEFAULT_2];
  55. $_oa_mch_data = (new OaMchModel())->where($_map)->find();
  56. if (is_object($_oa_mch_data)) {
  57. $_oa_mch_data = $_oa_mch_data->toArray();
  58. }
  59. if (empty($_oa_mch_data)) {
  60. return false;
  61. }
  62. $_mch_data = (new MpConfModel())->getDataByMpId($_oa_mch_data['mch_id']);
  63. if (empty($_mch_data)) {
  64. return false;
  65. }
  66. $_wx_data = (new MpConfModel())->getDataByMpId($_oa_mch_data['oa_id']);
  67. if (empty($_wx_data)) {
  68. return false;
  69. }
  70. $_config
  71. = [
  72. 'app_id' => $_wx_data['mp_id'], /* 绑定支付的APPID(必须配置,开户邮件中可查看)*/
  73. 'mch_id' => $_mch_data['mp_id'], /* 商户号(必须配置,开户邮件中可查看) */
  74. 'key' => $_mch_data['app_secret'], /* 商户支付密钥,参考开户邮件设置(必须配置,登录商户平台自行设置) */
  75. 'app_secret' => $_wx_data['app_secret'], /* 公众帐号secert */
  76. 'sslcert_path' => $_mch_data['ext_info']['sslcert_path'],
  77. 'sslkey_path' => $_mch_data['ext_info']['sslkey_path']
  78. ];
  79. return $_config;
  80. }
  81. }