SocialApi.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. namespace addons\AvoidTax\common\jdk\socialwork;
  3. use yii\base\BaseObject;
  4. class SocialApi extends BaseObject
  5. {
  6. const ORDER_SUCCESS = "s"; // 成功
  7. const ORDER_FAIL = "f"; // 失败
  8. /**
  9. * 创建订单
  10. * @param $name 订单名称
  11. * @param $service_contract_no 服务合同编号
  12. * @param $settlement_org_id 结算地编号
  13. * @param $payer_object_type 付款方类型
  14. * @param $bill_month 费用所属月
  15. */
  16. public function createOrder(string $order_name){
  17. $param['items'] = [
  18. 'bussiness_code' => 'CREATEORDER',
  19. 'settlement_org_id' => '509188477296840704',
  20. 'service_contract_no'=> '江水API测试合同',
  21. 'payer_object_type' => 'customer',
  22. 'bill_month' => strtotime(date("Y-m")),
  23. 'callback' => \Yii::$app->services->setting->platform->get('system.api_url')."/avoid-tax/notify/social-order",
  24. 'name' => $order_name
  25. ];
  26. $sign = new Sign();
  27. $resp = $sign->sendEncodeData($param,Sign::BUS_CODE_CREATE_ORDER);
  28. if(!isset($resp['id'])){
  29. return $this->_error($resp['message'] ?? "创建税务订单失败");
  30. }
  31. return $this->_success($resp['id']);
  32. }
  33. public function createOrderDetail($job_id,$user_items){
  34. foreach ($user_items as &$item) {
  35. $item['job_type'] = "销售";
  36. $item['salary_unit'] = "order";
  37. }
  38. $data['id'] = $job_id;
  39. $data['items'] = $user_items;
  40. $sign = new Sign();
  41. $resp = $sign->sendEncodeData($data,Sign::BUS_CODE_CREATE_ORDER_DETAIL);
  42. return $resp;
  43. }
  44. public function orderDetailQuery($job_detail_id){
  45. $data['id'] = $job_detail_id;
  46. $sign = new Sign();
  47. $resp = $sign->sendEncodeData($data,Sign::BUS_CODE_ORDER_DETAIL_QUERY);
  48. return $resp;
  49. }
  50. public function orderQuery($job_id){
  51. $data['id'] = $job_id;
  52. $sign = new Sign();
  53. $resp = $sign->sendEncodeData($data,Sign::BUS_CODE_ORDER_DETAIL_QUERY);
  54. return $resp;
  55. }
  56. /**
  57. * 获取用户实名链接
  58. * @param $user_mobile
  59. * @param $user_name
  60. *
  61. * @return array
  62. */
  63. public function userAuth($user_mobile,$user_name,$callback = ""){
  64. $callback = empty($callback)
  65. ? \Yii::$app->services->setting->platform->get('system.api_url')."/avoid-tax/notify/user-auth"
  66. : $callback;
  67. $param = [
  68. 'state' => "client_credential",
  69. 'client_id' => "751219023890354176",
  70. 'redirect_uri' => "http://dev3.workai.com.cn/wso-workai?state=socialwork_strait_certification_list",
  71. 'scope' => "global_access:end_user,tenant:122371433052508160",
  72. "bussiness_code"=> "AUTHORIZE",
  73. "certification" => "0",
  74. 'user_mobile' => $user_mobile,
  75. 'user_name' => $user_name,
  76. // 实名认证回调
  77. 'callback' => urlencode($callback),
  78. ];
  79. $sign = new Sign();
  80. $resp = $sign->sendEncodeData($param,Sign::BUS_CODE_AUTH);
  81. if(isset($resp['redirect_uri'])){
  82. return $this->_success($resp['redirect_uri']);
  83. }
  84. \Yii::debug($resp);
  85. return $this->_error("生成实名认证链接失败");
  86. }
  87. private function _error($msg){
  88. return [false,$msg];
  89. }
  90. private function _success($data){
  91. return [true,$data];
  92. }
  93. }