<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # app應用 系統相關的控制器,業務,中間件,以及事件等都會放在app目錄下面 ## app目錄 ``` ├─app │ api 基礎功能接口控制器 │ component 基礎模板組件控制器 │ cron 基礎任務控制器 │ event 基礎事件類 │ exception 異常處理類 │ index index控制器 │ install install控制器 │ job 消息隊列 │ lang 語言包 │ model 數據業務層 │ pay 支付回調控制器 │ shop 后臺管理端控制器 │ shopapi 后臺管理端api接口 │ common.php 公共函數 │ middleware.php 中間件配置 │ event.php 事件配置 │ Request.php 請求擴展 ``` **一,component目錄:主要指自定義模板組件后臺配置部分** ~~~ <?php namespace app\component\controller; /** * 文本·組件 */ class Text extends BaseDiyView { /** * 后臺編輯界面 */ public function design() { return $this->fetch("text/design.html"); } } ~~~ * * * **二,event目錄:主要指事件實現類** ~~~ use app\model\member\Member; use app\model\member\MemberAccount; use app\model\member\MemberLevel; use app\model\order\OrderCommon; /** * 訂單完成后 */ class OrderComplete { // 行為擴展的執行入口必須是run public function handle($data) { //訂單返還積分 $order_model = new OrderCommon(); $condition = array( ['order_id', '=', $data['order_id']] ); $order_info_result = $order_model->getOrderInfo($condition, 'order_money,order_status,site_id,member_id'); $order_info = $order_info_result['data']; //如果缺失已完成 if ($order_info['order_status'] == 10) { //會員等級 計算積分返還比率 $site_id = $order_info['site_id']; $member_id = $order_info['member_id']; $member_model = new Member(); $member_info_result = $member_model->getMemberInfo([['member_id', '=', $member_id], ['site_id', '=', $site_id]], 'member_level'); $member_info = $member_info_result['data']; if ($member_info['member_level'] > 0) { $member_level_model = new MemberLevel(); $member_level_info_result = $member_level_model->getMemberLevelInfo([['level_id', '=', $member_info['member_level']], ['site_id', '=', $site_id]], "point_feedback"); $member_level_info = $member_level_info_result['data']; if ($member_level_info['point_feedback'] > 0) { //計算返還的積分 $point = round($order_info['order_money'] * $member_level_info['point_feedback']); $member_account_model = new MemberAccount(); $result = $member_account_model->addMemberAccount($site_id, $member_id, 'point', $point, 'order', '會員消費回饋積分', '會員消費獎勵發放'); if ($result['code'] < 0) { return $result; } } } } return $order_model->success(); } } ~~~ * * * **三,job目錄:消息隊列執行目錄** 關于消息隊列的使用方式,之后的教程會進行說明,這里主要是指消息隊列的實現。 ~~~ <?php namespace app\job; use app\model\system\Cron; use think\facade\Log; use think\queue\Job; /** * 事件通過隊列異步調用 * Class Eventasync * @package app\job */ class Cronexecute { public function fire(Job $job, $data) { $job->delete(); try { $res = event($data[ 'event' ], [ 'relate_id' => $data[ 'relate_id' ] ]); $data_log = [ 'name' => $data[ 'name' ], 'event' => $data[ 'event' ], 'relate_id' => $data[ 'relate_id' ], 'message' => json_encode($res) ]; Log::write("計劃任務:{$data[ 'event' ]} relate_id: {$data[ 'relate_id' ]}執行結果:" . json_encode($res, JSON_UNESCAPED_UNICODE)); $cron_model = new Cron(); $cron_model->addCronLog($data_log); } catch (\Exception $e) { Log::write($e->getMessage()); $job->delete(); } } } ~~~ * * * **四,model目錄:數據業務層** 系統以及插件的model層主要用于實現對應的數據業務邏輯,控制器不能直接調用數據庫,要調用model層實現。 * * *
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看