TestController.php 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534
  1. <?php
  2. namespace addons\AvoidTax\api\controllers;
  3. use addons\Alitopay\common\services\OrderService;
  4. use addons\AvoidTax\common\jdk\alipay\Sign;
  5. use addons\AvoidTax\common\jdk\socialwork\AES;
  6. use addons\AvoidTax\common\jdk\socialwork\AES1;
  7. use addons\AvoidTax\common\jdk\socialwork\SocialApi;
  8. use addons\AvoidTax\common\listeners\BatchWithdrawListener;
  9. use addons\AvoidTax\common\models\TaxOrder;
  10. use addons\AvoidTax\common\service\SocialService;
  11. use addons\CloudStock\common\listeners\goods\GoodsEditListener;
  12. use addons\JuheShop\common\listeners\NoticeListener;
  13. use addons\Sicpay\common\models\SicpayConfig;
  14. use addons\Sicpay\common\sdk\config\AlipayWapStruct;
  15. use addons\Sicpay\common\sdk\config\CloudH5Struct;
  16. use addons\Sicpay\common\sdk\config\QueryStruct;
  17. use addons\Sicpay\common\sdk\config\WechatGZHStruct;
  18. use addons\Sicpay\common\sdk\config\WechatWapStruct;
  19. use addons\Sicpay\common\sdk\PayCore;
  20. use addons\Sicpay\common\sdk\PaySign;
  21. use addons\Sicpay\common\services\ConfigService;
  22. use addons\Workwx\common\apiservice\StaffApi;
  23. use addons\Workwx\common\enums\WachatEnum;
  24. use addons\Workwx\common\event\CustomerDeleteEvent;
  25. use addons\Workwx\common\event\LiveCodeEvent;
  26. use addons\Workwx\common\handlers\LiveCodeHandler;
  27. use addons\Workwx\common\logic\EasyWeChat;
  28. use addons\Workwx\common\logic\InitApp;
  29. use addons\Workwx\common\logic\MiddleApiLogic;
  30. use addons\Workwx\common\models\Livecode;
  31. use addons\Workwx\common\models\Staff;
  32. use addons\Workwx\common\queue\CustomerJob;
  33. use addons\Workwx\common\queue\GroupchatJob;
  34. use addons\Workwx\common\queue\JobBase;
  35. use addons\Workwx\common\queue\LiveCodeJob;
  36. use addons\Workwx\common\queue\TagsJob;
  37. use addons\Workwx\common\service\CorpTagsService;
  38. use addons\Workwx\common\service\CustomerService;
  39. use addons\Workwx\common\service\GroupchatService;
  40. use addons\Workwx\common\service\LiveCodeService;
  41. use addons\Workwx\common\service\SendWelcomeService;
  42. use addons\Workwx\common\service\StaffService;
  43. use common\enums\EventNameEnum;
  44. use common\enums\RabbitMqEnum;
  45. use common\events\goods\GoodsEditEvent;
  46. use common\helpers\Url;
  47. use common\listeners\goods\GoodsListener;
  48. use common\models\common\MiddleMch;
  49. use common\models\common\PlatformSetting;
  50. use GuzzleHttp\Client;
  51. use yii\helpers\Json;
  52. use yii\web\Controller;
  53. use yii\base\Event;
  54. use function addons\AvoidTax\common\jdk\socialwork\encrypt;
  55. class TestController extends Controller
  56. {
  57. public $enableCsrfValidation = false;
  58. public $mall_id = 151;
  59. public $app_id = 235;
  60. // 加密
  61. function encrypt($input, $key, $iv){
  62. $encrypted = openssl_encrypt($input, 'aes-128-CBC', ($key), OPENSSL_RAW_DATA, ($iv));
  63. // $encrypt = openssl_encrypt($data, 'AES-128-CBC', $key, 0,'0f6ce46636264d66');
  64. return base64_encode($encrypted);
  65. }
  66. // 解密
  67. function decrypt($input, $key, $iv){
  68. return openssl_decrypt(base64_decode($input), 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
  69. }
  70. public function addPKCS7Padding($source)
  71. {
  72. $source = trim($source);
  73. $block = 16;
  74. $pad = $block - (strlen($source) % $block);
  75. if ($pad <= $block) {
  76. $char = chr($pad);
  77. $source .= str_repeat($char, $pad);
  78. }
  79. return $source;
  80. }
  81. function pkcs5pad($text,$blocksize) {
  82. $pad = $blocksize - (strlen($text) % $blocksize);
  83. return $text.str_repeat(chr($pad), $pad);
  84. }
  85. function encrypt2($data, $key,$iv = "")
  86. {
  87. $method = "aes-192-cbc";
  88. $encrypted = openssl_encrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);
  89. return base64_encode($encrypted);
  90. }
  91. public function encrypt1($key, $iv, $data) {
  92. if (strlen($key) < 16) {
  93. $key = str_pad("$key", 16, "0"); //0 pad to len 16
  94. } else if (strlen($key) > 16) {
  95. $key = substr($key, 0, 16); //truncate to 16 bytes
  96. }
  97. $encodedEncryptedData = base64_encode(openssl_encrypt($data, 'aes-128-cbc', $key, OPENSSL_RAW_DATA, $iv));
  98. $encodedIV = base64_encode($iv);
  99. $encryptedPayload = $encodedEncryptedData.":".$encodedIV;
  100. return bin2hex($encodedEncryptedData);
  101. }
  102. public function actionTest1(){
  103. $str = '{"out_trade_no":"QM2022053117423054484562383","pay_fee":"0.01"}';
  104. $data = json_decode($str,true);
  105. $key = "fbb416bfd0a242419e6528f2";
  106. $iv = "0f6ce46636264d66";
  107. $data= '{"items":{"payer_object_type":"customer","settlement_org_id":"635981601368444928","bill_month":1638288000,"name":"格式网络1","service_contract_no":"新服务合同543534543"}}';
  108. $method = "aes-192-cbc";
  109. $encrypted = openssl_encrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);
  110. var_dump(base64_encode($encrypted));exit;
  111. var_dump($this->encrypt2($data,$key,$iv));exit;
  112. $str_padded = $data;
  113. if (strlen($str_padded) % 16) {
  114. $str_padded = str_pad($str_padded,strlen($str_padded) + 16 - strlen($str_padded) % 16, "\0");
  115. }
  116. $encrypted = openssl_encrypt($str_padded, 'aes-128-cbc', $key, OPENSSL_NO_PADDING , $iv);
  117. $encrypted = openssl_encrypt($data, 'aes-128-cbc', $key, OPENSSL_RAW_DATA, $iv);
  118. var_dump( base64_encode($encrypted));
  119. die;
  120. // $iv = base64_encode(openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-128-cbc')));
  121. // $encodedEncryptedData = base64_encode(openssl_encrypt($data, "AES-128-CBC", $key, OPENSSL_RAW_DATA, base64_decode($iv)));
  122. //
  123. // var_dump($encodedEncryptedData);exit;
  124. // $decryptedData = openssl_decrypt(base64_decode($encodedEncryptedData), "AES-128-CBC", $key, OPENSSL_RAW_DATA, base64_decode($iv));
  125. var_dump((new AES())->encrypt($data,$key,$iv));exit;
  126. var_dump(base64_decode("I57teNEZdfbM8Ed9893eHg=="));
  127. var_dump( openssl_decrypt(base64_decode("I57teNEZdfbM8Ed9893eHg=="), 'AES-128-CBC', $key, OPENSSL_RAW_DATA,$iv));exit;
  128. $key = "fbb416bfd0a242419e6528f2";
  129. $iv = "0f6ce46636264d66";
  130. $data= '123456';
  131. $encrypted = base64_encode(openssl_encrypt($data,
  132. 'AES-128-CBC',
  133. $key, OPENSSL_RAW_DATA));
  134. var_dump($encrypted);exit;
  135. // $encrypted = base64_encode(openssl_encrypt($data,
  136. // 'AES-128-CBC',
  137. // $key, OPENSSL_RAW_DATA,
  138. // $iv));
  139. // var_dump($encrypted);exit;
  140. $res = AES1::encrypt($key,$iv,"123456");
  141. var_dump($res);exit;
  142. $str = '123456';
  143. echo "加密结果: ".$this->encrypt($str, $key, $iv);
  144. die;
  145. $encrypt = '6H5HIbnvlq/7fnhNNNw6yg==';
  146. echo "解密结果: ".$this->decrypt($encrypt, $key, $iv);
  147. die;
  148. }
  149. public function actionTest(){
  150. $listener = new BatchWithdrawListener();
  151. $res = $listener->handleSync([
  152. 'id'=>321,
  153. 'mall_id'=>5
  154. ]);
  155. var_dump($res);exit;
  156. //
  157. // $mobile = $this->request->get("mobile");
  158. // $service = new SocialService(['mall_id'=>$this->mall_id]);
  159. // $url = $service->goToAuth(10044,$mobile,"杨金城");
  160. // var_dump($url);exit;
  161. $api = new SocialService();
  162. // $api = new SocialApi();
  163. // $res = $api->userAuth("13923698555","杨金城");
  164. $res = $api->createOrder("no_20220526150956371");
  165. // $res = $api->createOrderDetail("751929425578168320","收益提现");
  166. var_dump($api->error);
  167. var_dump($res);exit;
  168. //
  169. // $encrypt = 'Q8vvLcCSXjkFcUa/gzBi0k5FfeYA4rtvl3H84+Me8Qces3B12spCK/mHiXCNpPPv7l/k6iRMzHmmNRdJyMP+fj7PnfsXfQWljsAr/xIK3/+zIp4DSmsBbJixrvJPyqDuEydldlcZY0A5iaNIQ8TlOobjIY/pt40TuWxo3Mitsk5DUJj2yR7WM38rRlcOZpdi';
  170. //
  171. // $key = "fbb416bfd0a242419e6528f2";
  172. // $iv = "0f6ce46636264d66";
  173. // $encrypt = base64_decode($encrypt);
  174. // $method = "aes-192-cbc";
  175. // $encrypted = openssl_decrypt($encrypt, $method, $key, OPENSSL_RAW_DATA, $iv);
  176. // var_dump(($encrypted));exit;
  177. $config = [
  178. 'url'=>'http://47.110.250.177:20000/socialwork/v1/external/atandard',
  179. 'aes_key'=>'fbb416bfd0a242419e6528f2',
  180. 'aes_iv'=>'0f6ce46636264d66',
  181. 'ptcode'=>'454299384209739776',
  182. 'mer_rsa_private_key'=>"MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJqL4y6nTInItK4R" .
  183. "6roXIChNdAJFE7ZH8ZMtGj7AQj++XjPktRN0C8MuBNVBqtVrKSWw3e4dtZCQbrwa" .
  184. "hfZYdSLWLbjYYwssvfD34VnNRd6kYQyuCnTc1AtNFr+MDyY7DDYkS2v65fBWFA9E" .
  185. "Laa32ruJnVdMDvkTXZzrvjf2HkJXAgMBAAECgYBKQ/Ce6awhBf61K0z1sck1NMsL" .
  186. "kDBBxt6yj9jt0KvFP/C61SuitoA0gbe21wCF4CH8x7pOA57NYmqkH8bCM43NuZy2" .
  187. "TmqNqlEjXaimVzexQUjKvraGAGEubZBp15YpXOT01M9z4q3GqrPIaLbKshNNYZBW" .
  188. "4eNU4eGr7lFJvXQxWQJBAMgb42EnrZBWOT2ijR5z2eYQRgDMYk9MF/7BpLKizxiM" .
  189. "//cj8rIeNgUNh/y3D6hH88rMQo/v5Kp4ls6g0oeLtn0CQQDFtjTv9jrJzEPpAII1" .
  190. "PvTsy6q50MZrXUBedhSAL3CcJETZyogaHZTObs28R8wklhfU0MS6vN6agh1BqPu8" .
  191. "QHBjAkBWlBJd36/tihC8BQ9vhIpbSuEuyT8jtfWPyLJ8g4p8wcyhXhFMVVvj9cXH" .
  192. "ZmDE21S0gomuAwn5Y7FD9zr/YEh1AkAXYhhatQ145m61tPixYXPIOcJEXbvJ4OqH" .
  193. "AYIlMvcnkGaQN5LnO85op9QvS3KKdTH2WoaZ61KMhYz+QgUb26cvAkA+xYiBbVan" .
  194. "yeDYoDn5WSb3xCr9Yv5AXIW0g7knxQM+74HYl0Y0XrM3uGaj2yEQ6gEcOBPv68AO" .
  195. "vfv4zYF2jI2J",
  196. 'mer_rsa_public_key'=>"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtwz3PqU9D8sDZMeyViSzOuv2q".
  197. "aFExAFFv1u7jmW629PexmFIk2NCQ5xcOoVAgiRMsEjHwEL1GORj9mnQhruUs8ORe".
  198. "KphNNtHVdRMsKkRMBpbVjW4XCzQ7yubhxsYJPm/URO0qxwYfpc4jhBI7fIuWDnsw".
  199. "cv3uK1i2uRC8I/+lkwIDAQAB",
  200. ];
  201. $data = [
  202. "state" => "client_credential",
  203. "scope" => "global_access:end_user,tenant:122371433052508160",
  204. "redirect_uri"=> "http://dev3.workai.com.cn/wso-workai?state=socialwork_strait_certification_list",
  205. "client_id" => "751219023890354176",
  206. "user_mobile" => "15820232749",
  207. "user_name" => "陆福佳",
  208. "bussiness_code" => "AUTHORIZE",
  209. "certification" => "0",
  210. ];
  211. $sign = new \addons\AvoidTax\common\jdk\socialwork\Sign();
  212. $res = $sign->sendEncodeData($data);
  213. var_dump($res);exit;
  214. $service = new LiveCodeService(['mall_id'=>$this->mall_id,'app_id'=>$this->app_id]);
  215. $res = $service->channel_live_handle(90,1673,29963);
  216. var_dump($res);exit;
  217. $res = JobBase::push(LiveCodeJob::class, LiveCodeJob::LIVE_CODE_CREATE, [
  218. 'mall_id' => $this->mall_id,
  219. 'app_id' => 0,
  220. 'data' => ['live_code_id'=>90],
  221. ]);
  222. var_dump(11111111);exit;
  223. $obj = new SendWelcomeService(['mall_id'=>$this->mall_id,'app_id'=>$this->app_id,'welcomeCode'=>'Je1muqR-rR5rkCSpjdxmtxgQ2izE4Mgv42M7JQgBJw4']);
  224. $res = $obj->send(39564);
  225. var_dump($res);exit;
  226. $str = '{"app_id":235,"mall_id":151,"customer_id":"29963","staff_id":"1673","tags":[{"group_name":"客户等级","tag_name":"一般","type":1,"tag_id":"etGOCYBwAAWqo2-XESYN2zy2IBG0Iw5Q"}]}';
  227. $data = json_decode($str,true);
  228. $service = new CustomerService(['mall_id'=>$this->mall_id,'app_id'=>$this->app_id]);
  229. $result = $service->chang_tag($data['customer_id'],$data['staff_id'],$data['tags']);
  230. var_dump($result);exit;
  231. // $obj = new ConfigService();
  232. $struct = new AlipayWapStruct([
  233. 'mall_id'=>5,
  234. 'order_no'=>"P158202327491".rand(1000,9999),
  235. 'amount'=>1,
  236. 'product_name'=>"你好",
  237. 'user_name'=>'陆福佳',
  238. 'user_cert_type'=>'01',
  239. 'user_cert_no'=>'450121199206190092',
  240. 'user_bank_card_no'=>'6212263602070285796',
  241. 'user_mobile'=>'15820232749',
  242. ]);
  243. // echo "<pre>";
  244. // var_dump($struct);
  245. // $struct = new QueryStruct(['mall_id'=>5,'order_no'=>'P15820232749']);
  246. $res = $struct->pay();
  247. // var_dump($struct->error);
  248. // var_dump($res);
  249. $res = $struct->returnData();
  250. var_dump($res['url']); ;exit;
  251. echo $res;exit;
  252. var_dump($struct->error);
  253. var_dump($res);
  254. echo $res['form'];
  255. dd($res);exit;
  256. dd($res);exit;
  257. $data = ($pay_core->send([
  258. 'order_no'=>"P".time(),
  259. 'amount'=>0.1,
  260. 'notify_url'=>"www.baidu.com",
  261. 'return_url'=>"www.baidu.com",
  262. 'product_name'=>"你好",
  263. 'client_ip'=>'127.0.0.1',
  264. 'user_name'=>'陆福佳',
  265. 'user_cert_type'=>'01',
  266. 'user_cert_no'=>'450121199206190092',
  267. 'user_bank_card_no'=>'6212263602070285796',
  268. 'user_mobile'=>'15820232749',
  269. ]));
  270. $data = json_decode($data,true);
  271. echo $data['mweb_form'];
  272. exit;
  273. $content = json_decode($content,true);
  274. if(stripos($content['out_batch_no'],"MM") !== false){
  275. // 中台订单,转发中台
  276. $post_data = \Yii::$app->request->post();
  277. $url = "http://middle-api.msyit.vip/alitopay/notify/payCallback";
  278. $client = new Client();
  279. $response = $client->post($url, [
  280. 'form_params' => $post_data,
  281. ]);
  282. $content = $response->getBody()->getContents();
  283. return $content;
  284. }
  285. $order = "MM".time();
  286. var_dump(stripos($order,"MM") !== false);exit;
  287. $param = http_build_query(\Yii::$app->request->get());
  288. $this->redirect("https://middle-api.qijianshirjcs.com/alitopay/notify/authCallback?".$param);
  289. $event = new LiveCodeEvent();
  290. $event->mall_id = $this->mall_id;
  291. $event->action = "live_code_create";
  292. $res = \Yii::$app->services->events->dispatch($event,[
  293. 'live_code_id'=>89
  294. ],$event->listeners);
  295. var_dump($res);exit;
  296. // $app = new InitApp(['app_id'=>235,'mall_id'=>151]);
  297. // $res = $app->begin();
  298. // var_dump($res);exit;
  299. // $app = new InitApp(['mall_id'=>$this->mall_id,'app_id'=>$this->app_id]);
  300. // $res = $app->begin();
  301. // var_dump($res);exit;
  302. // $app = new InitApp(['mall_id'=>1,'app_id'=>235]);
  303. // $res = $app->begin();
  304. // var_dump($res);exit;
  305. $str = '{"app_id":235,"mall_id":1,"data":[{"chat_id":"wrGOCYBwAAEq4nMoUXi3lqK3AHaKBh7Q","status":0,"need_name":1},{"chat_id":"wrGOCYBwAAZQcNmSq2LPda02B-T69GKg","status":0,"need_name":1},{"chat_id":"wrGOCYBwAA88arkaJtAhYlx0PYNw0PvA","status":0,"need_name":1},{"chat_id":"wrGOCYBwAApuS4bkhPlJayomagKKCGWg","status":0,"need_name":1},{"chat_id":"wrGOCYBwAAGUBOu2fnQEzzCTgPsdQJPg","status":0,"need_name":1},{"chat_id":"wrGOCYBwAALh4pHFI9GDgDg9jkkOlr1Q","status":0,"need_name":1},{"chat_id":"wrGOCYBwAAX0K_ze_78oJuEByeQV6sKA","status":1,"need_name":1},{"chat_id":"wrGOCYBwAAPR4P0MGuQLUB4KE-lhq-kw","status":0,"need_name":1},{"chat_id":"wrGOCYBwAAUoKgYGfznYJSV_-v5IvJ4Q","status":1,"need_name":1},{"chat_id":"wrGOCYBwAAb6TAh72gHeLlZWc8Cxk0TQ","status":0,"need_name":1},{"chat_id":"wrGOCYBwAAMSqxilR0qtMkBvquv06EzA","status":0,"need_name":1}]}';
  306. $str = '[{"userid":"LuFuJia"},{"userid":"HuXin"},{"userid":"HuoYanYanYi"},{"userid":"AiPinCaiHuiYing"},{"userid":"ManTianXingXing"},{"userid":"tia"}]';
  307. $data = json_decode($str,true);
  308. $str = '[{"external_userid":"woGOCYBwAAa8XeioErU7EuWEDbkAT_tw"},{"external_userid":"woGOCYBwAArAqDd7xFS6s1MTO4ITCsmg"},{"external_userid":"woGOCYBwAA8C_TKNymQ0kqw6Wn2YkBgA"},{"external_userid":"woGOCYBwAAe5xENa16JkNh9PMlE49hTQ"},{"external_userid":"woGOCYBwAAodJnoI8aKrenVnnCfRr4sg"},{"external_userid":"woGOCYBwAAHmSraxJMrogPq4FyBsll4A"},{"external_userid":"woGOCYBwAA5W-J0cR1qJGF4XsQgymSqQ"},{"external_userid":"woGOCYBwAAayf8aLkFzchkF5SUkeTNvg"},{"external_userid":"woGOCYBwAAB2F-5whWsdglRP2ymVcyPA"},{"external_userid":"woGOCYBwAAk-c7QcUBPow2-x2-sD2r0Q"},{"external_userid":"woGOCYBwAADZxNbivthJvjDJcCMC5nOQ"},{"external_userid":"woGOCYBwAAqxbOFV3I2DN2iTWS2rrXmA"},{"external_userid":"woGOCYBwAAm-Ueuou8OLgGtmxyXu5ejA"},{"external_userid":"woGOCYBwAAdlIHCmUnIVIr3FqbnibXzA"},{"external_userid":"woGOCYBwAAWhKTgvOdeaXUmUprgYt6OA"},{"external_userid":"woGOCYBwAAxGGhzBDn22-UWBmYaIZ6sw"},{"external_userid":"woGOCYBwAAe6CmD3krrjAgbgC0gqE2Jw"},{"external_userid":"woGOCYBwAA8hAktPabNnOIVVx8EuoJOQ"},{"external_userid":"wmGOCYBwAAm5SJabka_jJ6OttLXApcMw"},{"external_userid":"wmGOCYBwAA3o0rneKoeD4waQJDKmVfaQ"},{"external_userid":"wmGOCYBwAASFWtvzEgPMxUOWb6Hw3TLQ"},{"external_userid":"wmGOCYBwAAjZmKEn2X3gOndJMG9CBg2Q"},{"external_userid":"wmGOCYBwAANaJiAzrsQDFZa5wA7Db2mw"},{"external_userid":"wmGOCYBwAAWIWIvrZxcYY-PDg4iYLjLw"},{"external_userid":"wmGOCYBwAAfxI9u9H8yA3hQGxZaPVykA"},{"external_userid":"wmGOCYBwAA7O8vqPnSCAZ0C5QfdFr-qA"},{"external_userid":"wmGOCYBwAAsPOZZmbp_0jWFqFqnchynA"},{"external_userid":"wmGOCYBwAAneWaW4WVVBHT4JO9-3nmdA"},{"external_userid":"woGOCYBwAA4-lG3wQeXVz-2LAswvwMbw"},{"external_userid":"wmGOCYBwAAyryHhT-A4YsdzYOM9kN7og"},{"external_userid":"wmGOCYBwAA1EECuY0uVsmdh55GQwQMhA"},{"external_userid":"wmGOCYBwAAKRKmcXX3gwRVmSoS-XVFXw"},{"external_userid":"wmGOCYBwAAGXjEkyww956ZOmWwuAM_kQ"}]';
  309. // \Yii::$app->db->beginTransaction();
  310. // $str = '{"app_id":235,"mall_id":151,"customer_id":"29607","staff_id":"1624","tags":[{"group_name":"客户等级","tag_name":"重要","type":1,"tag_id":"etGOCYBwAA2aXDEqbxyHyR7rXsBUPpWg"},{"group_name":"客户等级","tag_name":"核心","type":1,"tag_id":"etGOCYBwAA53UKqJ-FPBLbFrsoTkme-w"}]}';
  311. // $str = '{"app_id":235,"mall_id":151,"customer_id":"29707","staff_id":"1624","tags":[{"group_name":"颜色","tag_name":"黄色","type":1,"tag_id":"etGOCYBwAAjwcizJIN_jlGLrsbQFIrlw"},{"group_name":"颜色","tag_name":"红色1","type":1,"tag_id":"etGOCYBwAAsd7y5MzIASIjl-TIGyMuxw"}]}';
  312. $data = Json::decode($str);
  313. // \Yii::$app->db->beginTransaction();
  314. $service = new CustomerService(['mall_id'=>$this->mall_id,'app_id'=>$this->app_id]);
  315. $res = $service->get_customer_list($data);
  316. var_dump($res);exit;
  317. $user_logic = new StaffApi(['mall_id'=>$this->mall_id,'app_id'=>$this->app_id]);
  318. $res = $user_logic->get_customer($data,$this->mall_id);
  319. var_dump($res);exit;
  320. $res = JobBase::push(GroupchatJob::class,GroupchatJob::UPDATE_GROUP,$data);
  321. var_dump($res);exit;
  322. $service = new CorpTagsService(['mall_id'=>1,'app_id'=>235]);
  323. $res = $service->initTags();
  324. $res = JobBase::push(TagsJob::class,TagsJob::INIT_TAGS,[
  325. 'app_id'=>235,'mall_id'=>1
  326. ]);
  327. var_dump($res);exit;
  328. $text = '{"class":"addons\Workwx\common\queue\TagsQueue","method":"test","data":{"a":1},"init_data":[]}';
  329. // $data = Json::decode($text);
  330. $data['class'] = \addons\Workwx\common\queue\TagsJob::class;
  331. $data['method'] = "test";
  332. $data['data'] = ['name'=>"lufuhia",'age'=>18,'bug'=>1];
  333. $base = new JobBase();
  334. $res = $base->execute($data);exit;
  335. var_dump($res);
  336. $res = JobBase::push(TagsJob::class,'test',['name'=>"lufuhia",'age'=>18,'bug'=>1]);
  337. var_dump($res);exit;
  338. $app = new InitApp(['mall_id'=>235]);
  339. $res = $app->begin();
  340. var_dump($res);exit;
  341. $res = EasyWeChat::getWork(235);
  342. $list= $res->department->list();
  343. $mch = MiddleMch::findOne(['mid'=>10121]);
  344. $api = new MiddleApiLogic($mch);
  345. $res = $api->getCorpToken(234);
  346. var_dump($res);exit;
  347. $json = '{"id":"20220512142531754155835692","type":"goods.alter","datas":{"goodsIds":[1421796,623163,109174,1391204,651501,543161,623260,1403638,23980,3441036]},"mall_id":1,"handler":"goods_alter","push_time":""}';
  348. // $data = Json::decode($json);
  349. $event = new GoodsEditEvent(1);
  350. $data['goods_id'] = 11588;
  351. $data['wait_del_attr_id_arr'] = [13704];
  352. \Yii::$app->services->events->dispatch($event, $data, $event->listeners);
  353. Event::offAll();
  354. $event = new GoodsEditEvent(1);
  355. $data['goods_id'] = 3676;
  356. $data['wait_del_attr_id_arr'] = [4254];
  357. \Yii::$app->services->events->dispatch($event, $data, $event->listeners);
  358. $event = new GoodsEditEvent(1);
  359. $data['goods_id'] = 3676;
  360. $data['wait_del_attr_id_arr'] = [4254];
  361. \Yii::$app->services->events->dispatch($event, $data, $event->listeners);
  362. return true;
  363. // $res = \Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE,
  364. // $data, NoticeListener::class, 'async_handle');
  365. // $res = NoticeListener::async_handle($data);
  366. $event = new GoodsEditEvent(1);
  367. $data['goods_id'] = 1;
  368. $data['mall_id'] = 1;
  369. $data['wait_del_attr_id_arr'] = 1;
  370. \Yii::$app->on("test",function (){
  371. echo "is test1<br>";
  372. });
  373. \Yii::$app->on("test",function (){
  374. echo "is test2<br>";
  375. });
  376. \Yii::$app->on("test",function (){
  377. echo "is test3<br>";
  378. });
  379. \Yii::$app->on("test",function (){
  380. echo "is test4<br>";
  381. });
  382. \Yii::$app->on("test",function (){
  383. echo "is test5<br>";
  384. });
  385. \Yii::$app->on("test",function (){
  386. echo "is test6<br>";
  387. });
  388. \Yii::$app->on("test",function (){
  389. echo "is test7<br>";
  390. });
  391. \Yii::$app->on("test",function (){
  392. echo "is test9<br>";
  393. });
  394. \Yii::$app->on("test",function (){
  395. echo "is test9<br>";
  396. });\Yii::$app->on("test",function (){
  397. echo "is test10<br>";
  398. });
  399. \Yii::$app->on("test",function (){
  400. echo "is test11<br>";
  401. });
  402. \Yii::$app->on("test",function (){
  403. echo "is test12<br>";
  404. });
  405. \Yii::$app->on("test",function (){
  406. echo "is test13<br>";
  407. });
  408. \Yii::$app->on("test",function (){
  409. echo "is test14<br>";
  410. });
  411. \Yii::$app->on("test",function (){
  412. echo "is test15<br>";
  413. });
  414. \Yii::$app->on("test",function (){
  415. echo "is test16<br>";
  416. });
  417. \yii\base\Event::offAll();
  418. \Yii::$app->trigger("test");exit;
  419. var_dump(1);
  420. }
  421. public function actionIndex(){
  422. $data = (debug_backtrace());
  423. $str = "";
  424. foreach ($data as $datum) {
  425. $str .= $datum['function'] ."\r\n";
  426. $str .= $datum['file'] ."\r\n";
  427. $str .= $datum['class'] ."\r\n";
  428. // $str .= $datum['object'] ."\t";
  429. }
  430. $str .= "\r\n\r\n";
  431. file_put_contents(\Yii::getAlias("@api").'/runtime/logs/debug_backtrace.log',$str,FILE_APPEND);
  432. echo ($str);exit;
  433. var_export(debug_backtrace());
  434. $data['data'] =[
  435. 'goods_id'=>11588,
  436. 'mall_id'=>1,
  437. 'wait_del_attr_id_arr'=>[13704],
  438. ];
  439. $data['handler_class'] = 'addons\CloudStock\common\listeners\goods\GoodsEditListener';
  440. $data['method'] = 'handleSync';
  441. // echo (json_encode($data));exit;
  442. // $str = '{"data":{"goods_id":11588,"mall_id":11588,"wait_del_attr_id_arr":[13704]},"handler_class":"addons\\CloudStock\\common\\listeners\\goods\\GoodsEditListener","method":"handleSync"}';
  443. // $data = json_decode($str,true);
  444. // var_export($data);exit;
  445. GoodsEditListener::handleSync($data['data']);
  446. }
  447. }