SiteController.php 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. <?php
  2. namespace backend\controllers;
  3. use addons\CloudStock\common\logic\level_up\LevelUp;
  4. use addons\CloudStock\common\models\CloudStockAgent;
  5. use addons\ConsumeGift\common\listeners\ConsumeGiftListener;
  6. use addons\HandBouns\common\listeners\BounsListener;
  7. use addons\HandBouns\common\models\AddonsHandBounsLog;
  8. use addons\Rebate\common\logic\RewardLogic;
  9. use addons\ServeBonus\common\logic\CommissionLogLogic;
  10. use addons\ServeBonus\common\logic\RewardLogLogic;
  11. use addons\Store\common\listeners\addons\Area\CashierOrderPaidListener;
  12. use addons\UpgradeGift\common\listeners\UpgradeGiftListener;
  13. use common\components\export\CsvTool;
  14. use common\components\export\BaseExport;
  15. use common\enums\RabbitMqEnum;
  16. use common\enums\RedisKeyEnum;
  17. use common\enums\StatusEnum;
  18. use common\events\order\OrderCreateEvent;
  19. use common\helpers\sms\Sms;
  20. use common\listeners\order\OrderCreateListener;
  21. use common\listeners\order\OrderDeliveryListener;
  22. use common\listeners\order\OrderPaidListener;
  23. use common\models\common\AddonsEvent;
  24. use common\models\mall\MallAddons;
  25. use common\models\order\Order;
  26. use common\models\user\UserPartitionRelationship;
  27. use Exception;
  28. use Yii;
  29. use yii\helpers\Json;
  30. use yii\web\Controller;
  31. class SiteController extends Controller
  32. {
  33. public function actionIndex(){
  34. $csv = new CsvTool();
  35. $csv->export_mode = BaseExport::EXPORT_MODE_SYNC;
  36. $csv->filename = 'testcsv'.date('Ymdhis').rand(10000,99999);
  37. $csv->header = ['name','age','weight','height'];
  38. $csv->lables = '';
  39. $csv->extra = ['type'=>1];
  40. $csv->data = [['Wuji Zhang',18,140,70]];
  41. $csv->export();
  42. }
  43. /**
  44. * consul服务心跳检测勿动
  45. * @return void
  46. */
  47. public function actionTest(){
  48. echo 'ok';
  49. exit;
  50. }
  51. /**
  52. * consul服务心跳检测勿动
  53. * @Author bing
  54. * @DateTime 2021-11-10 18:22:59
  55. * @copyright: Copyright (c) 2020 广东七件事集团
  56. * @return void
  57. */
  58. public function actionHeartBeat(){
  59. echo 'ok';
  60. exit;
  61. }
  62. public function actionT(){
  63. // $download['mall_id'] = 5;
  64. // $download['hand_bouns_id'] = 14;
  65. // $download['download_id'] = 475;
  66. // AddonsHandBounsLog::exportHandle($download);
  67. // $data['id'] = 9;
  68. // BounsListener::async_handle($data);
  69. //Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, $data, self::class, 'async_handle');
  70. // (new CommissionLogLogic())->execute(5, true);
  71. // $order = Order::findOne(['id' => 6689]);
  72. // (new RewardLogLogic())->execute($order->toArray(), 1);
  73. // (new CommissionLogLogic())->execute(5, true);
  74. // $list = MallAddons::lists([['status' => StatusEnum::ENABLED]]);
  75. // foreach ($list as $item) {
  76. // Yii::$app->services->events->mallEventBind($item['addons_name'], $item['mall_id']);
  77. // }
  78. // RewardLogic::execute(6200, 1);
  79. // UpgradeGiftListener::async_handle(['mall_id' => 5, 'gift_type' => 'User', 'user_id' => 12215]);
  80. // ConsumeGiftListener::async_handle(['mall_id' => 5, 'gift_type' => 'FirstPay', 'user_id' => 12218]);
  81. // var_dump($res);
  82. // $e = new OrderCreateListener();
  83. // $e->async_handle(['order_ids' => [454,455]]);
  84. // $json = '[{"mall_id":5,"user_id":85,"is_frozen":false,"wallet_type":"balance","money":"990.00","desc":"订单售后退款","source_table":"{{%order_refund}}","source_table_id":80,"capital_type":"refund"}]';
  85. // $data = json_decode($json,true);
  86. // \services\common\UserWalletService::batchHandle($data);
  87. // $order = Order::findOne(['id' => 780]);
  88. // $data = $order->toArray();
  89. // $data['operator_id'] = 1;
  90. // OrderPaidListener::async_handle(['data' =>$data]);
  91. // echo OrderPaidListener::getStaticError();
  92. }
  93. public function actionSend(){
  94. $wechatModel = \Yii::$app->wechat;
  95. $totalPrice = 10;
  96. $min_price = 5;
  97. $send_data = [
  98. 'first' => '你发布的商品已经砍价成功',
  99. 'keyword1' => '砍掉'.$totalPrice."元",
  100. 'keyword2' => date("Y-m-d H:i:s"),
  101. 'keyword3' => $min_price,
  102. 'remark' => '已砍至最低价,快来买我吧!!'
  103. ];
  104. $pageUrl = '/plugins2/bargain/joinBargain?id=' . '1';
  105. $h5_url = 'https://h5.qijianshirjcs.com' . "/h5/#" . $pageUrl;
  106. $wechatModel->app->template_message->send([
  107. 'touser' => 'om8l85wE2mWUQ0jKvcNDdcBZgavE',
  108. 'template_id' => 'template-id',
  109. 'url' => $h5_url,
  110. 'data' => $send_data,
  111. ]);
  112. }
  113. public function actionAdd(){
  114. $config['mall_id'] = 5;
  115. $wechat = \Yii::$app->services->setting->mall->get($config['mall_id'], 'wechat');
  116. if ($wechat) {
  117. \Yii::$app->params['wechatConfig'] = [
  118. 'app_id' => $wechat['app_id'] ?? '',
  119. 'secret' => $wechat['secret'] ?? '',
  120. 'token' => $wechat['token'] ?? '',
  121. 'aes_key' => $wechat['aes_key'] ?? '',
  122. ];
  123. }
  124. $app = \Yii::$app->wechat->app;
  125. $return = $app->template_message->addTemplate('OPENTM418130463');
  126. dd($return);
  127. $item = $return['data'];
  128. $tempid = $item->tempid;
  129. $totalPrice = 10;
  130. $min_price = 5;
  131. $send_data = [
  132. 'first' => '你发布的商品已经砍价成功',
  133. 'keyword1' => '砍掉'.$totalPrice."元",
  134. 'keyword2' => date("Y-m-d H:i:s"),
  135. 'keyword3' => $min_price,
  136. 'remark' => '已砍至最低价,快来买我吧!!'
  137. ];
  138. $pageUrl = '/plugins2/bargain/joinBargain?id=' . '1';
  139. $h5_url = 'https://h5.qijianshirjcs.com' . "/h5/#" . $pageUrl;
  140. $app->template_message->send([
  141. 'touser' => 'om8l85wE2mWUQ0jKvcNDdcBZgavE',
  142. 'template_id' => $tempid,
  143. 'url' => $h5_url,
  144. 'data' => $send_data,
  145. ]);
  146. }
  147. /**
  148. * @notes:装修组件打包
  149. * @author: lun
  150. * @Time: 2022/11/10 11:30
  151. */
  152. public function actionDiyCopy()
  153. {
  154. // 需要复制的插件
  155. $addons = ['Bargain','Course','DepositPresale','GroupBuy','OperatingNote','ScoreMall','SmartForm','Store'];
  156. $basic_path = Yii::$app->basePath.'/../';
  157. $addons_path = '/backend/views/components';
  158. $basic_field = $basic_path.'diycopy';
  159. // 装修组件复制
  160. foreach ($addons as $field) {
  161. $source = $basic_path."addons/{$field}/".$addons_path;// 复制的源文件地址
  162. $dst = $basic_field."/addons/{$field}/".$addons_path;//
  163. \common\helpers\FileHelper::mkdirs($dst);
  164. $this->recurse_copy($source, $dst);
  165. }
  166. // 主商城文件复制
  167. \common\helpers\FileHelper::mkdirs($basic_field . '/backend/modules/mall/views/diy');
  168. copy($basic_path . '/backend/modules/mall/views/diy/edit.php',$basic_field . '/backend/modules/mall/views/diy/edit.php');
  169. \common\helpers\FileHelper::mkdirs($basic_field . '/backend/modules/mall/controllers');
  170. copy($basic_path . '/backend/modules/mall/controllers/DiyController.php',$basic_field . '/backend/modules/mall/controllers/DiyController.php');
  171. // 后台公共组件
  172. \common\helpers\FileHelper::mkdirs($basic_field.'/backend/views/components/common/diy');
  173. $this->recurse_copy($basic_path.'/backend/views/components/common/diy', $basic_field.'/backend/views/components/common/diy');
  174. echo '执行完成';exit;
  175. }
  176. // 原目录,复制到的目录
  177. public function recurse_copy($src, $dst) {
  178. $dir = opendir($src);
  179. @mkdir($dst);
  180. while(false !== ( $file = readdir($dir)) ) {
  181. if (( $file != '.' ) && ( $file != '..' )) {
  182. if ( is_dir($src . '/' . $file) ) {
  183. $this->recurse_copy($src . '/' . $file,$dst . '/' . $file);
  184. }
  185. else {
  186. copy($src . '/' . $file,$dst . '/' . $file);
  187. }
  188. }
  189. }
  190. closedir($dir);
  191. }
  192. /**
  193. * @return bool
  194. */
  195. public function actionQiError()
  196. {
  197. $statusCode = Yii::$app->response->statusCode;
  198. $request = Yii::$app->request;
  199. $is_ajax = $request->isAjax;
  200. if($statusCode == 404){
  201. $this->layout = '@backend/views/layouts/not-found';
  202. }else{
  203. $this->layout = '@backend/views/layouts/server-error';
  204. }
  205. if(!$is_ajax){
  206. return $this->render('index');
  207. }else{
  208. Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
  209. Yii::$app->response->data = ['code' => 1, 'msg' => 'Server Error Code: '. $statusCode];
  210. Yii::$app->response->send();
  211. return false;
  212. }
  213. }
  214. }