Browse Source

feat: show gateway payment id in admin/invoice

M1Screw 2 years ago
parent
commit
a8041b6cc0

+ 0 - 26
.github/workflows/docker.yml

@@ -1,26 +0,0 @@
-name: Build Docker
-on:
-  push:
-    branches:
-      - dev
-
-jobs:
-  build:
-    name: Docker
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v1
-
-    - name: Login to docker hub
-      uses: actions-hub/docker/login@master
-      env:
-        DOCKER_USERNAME: ${{ secrets.DOCKER_HUB_USERNAME }}
-        DOCKER_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
-
-    - name: Build :latest
-      run: docker build -t sspaneluim/panel .
-
-    - name: Push to docker hub :latest
-      uses: actions-hub/docker@master
-      with:
-        args: push sspaneluim/panel:latest

+ 0 - 28
Dockerfile

@@ -1,28 +0,0 @@
-FROM indexyz/php
-LABEL maintainer="Indexyz <[email protected]>"
-
-COPY . /var/www
-WORKDIR /var/www
-
-RUN cp config/.config.example.php "config/.config.php" && \
-    cp config/appprofile.example.php config/appprofile.php && \
-    chmod -R 755 storage && \
-    chmod -R 777 /var/www/storage/framework/smarty/compile/ && \
-    mv db/migrations/20000101000000_init_database.php.new db/migrations/20000101000000_init_database.php && \
-    curl -SL https://getcomposer.org/installer -o composer.phar && \
-    php composer.phar && \
-    php composer.phar config --no-plugins allow-plugins.dealerdirect/phpcodesniffer-composer-installer true && \
-    php composer.phar install && \
-    php xcat ClientDownload && \
-    crontab -l | { cat; echo "30 23 * * * php /var/www/xcat SendDiaryMail"; } | crontab - && \
-    crontab -l | { cat; echo "0 0 * * * php /var/www/xcat Job DailyJob"; } | crontab - && \
-    crontab -l | { cat; echo "*/1 * * * * php /var/www/xcat Job CheckJob"; } | crontab - && \
-    crontab -l | { cat; echo "0 */1 * * * php /var/www/xcat Job UserJob"; } | crontab - && \
-    { \
-        echo '[program:crond]'; \
-        echo 'command=cron -f'; \
-        echo 'autostart=true'; \
-        echo 'autorestart=true'; \
-        echo 'killasgroup=true'; \
-        echo 'stopasgroup=true'; \
-    } | tee /etc/supervisor/crond.conf

+ 5 - 1
README.md

@@ -37,10 +37,14 @@ SSPanel UIM 是一款专为 Shadowsocks / V2Ray / Trojan 协议设计的多用
 SSPanel UIM 的需要以下程序才能正常的安装和运行:
 
 - Git
-- Nginx
+- Nginx(with HTTPS configured)
 - PHP 8.0+
 - MariaDB 10.6+
 
+我们推荐用户在开始使用之前至少有一定程度的 PHP 和 Linux 使用知识,能够至少正确识别使用中所出现的问题并在 issue 中提供所需的信息。
+
+对于拒绝阅读文档且拒绝提供任何反馈的,我们建议其使用其他非开源的方案。
+
 ## 文档
 
 > 我们安装,我们更新,我们开发

+ 0 - 26
docker-compose.yml

@@ -1,26 +0,0 @@
-version: '3'
-
-services:
-    sspanel:
-        image: sspaneluim/panel
-        container_name: sspanel
-        restart: always
-        ports:
-            - "80:80"
-        volumes:
-            - ./config/.config.php:/var/www/config/.config.php
-    mariadb:
-        image: mariadb:10.11
-        container_name: mariadb
-        restart: always
-        environment:
-          MYSQL_ROOT_PASSWORD: sspanel
-
-    phpmyadmin:
-        image: phpmyadmin
-        container_name: phpmyadmin
-        restart: always
-        ports:
-          - "8080:80"
-        environment:
-          - PMA_ARBITRARY=1

+ 10 - 4
resources/views/tabler/admin/invoice/view.tpl

@@ -43,16 +43,16 @@
                             <div class="datagrid-content">{$invoice->user_id}</div>
                         </div>
                         <div class="datagrid-item">
-                            <div class="datagrid-title">订单ID</div>
+                            <div class="datagrid-title">关联订单 ID</div>
                             <div class="datagrid-content">{$invoice->order_id}</div>
                         </div>
                         <div class="datagrid-item">
-                            <div class="datagrid-title">单金额</div>
+                            <div class="datagrid-title">单金额</div>
                             <div class="datagrid-content">{$invoice->price}</div>
                         </div>
                         <div class="datagrid-item">
-                            <div class="datagrid-title">单状态</div>
-                            <div class="datagrid-content">{$invoice->status}</div>
+                            <div class="datagrid-title">单状态</div>
+                            <div class="datagrid-content">{$invoice->status_text}</div>
                         </div>
                         <div class="datagrid-item">
                             <div class="datagrid-title">创建时间</div>
@@ -66,6 +66,12 @@
                             <div class="datagrid-title">支付时间</div>
                             <div class="datagrid-content">{$invoice->pay_time}</div>
                         </div>
+                        {if $invoice->status === 'paid_gateway'}
+                        <div class="datagrid-item">
+                            <div class="datagrid-title">支付网关单号</div>
+                            <div class="datagrid-content">{$paylist->tradeno}</div>
+                        </div>
+                        {/if}
                     </div>
                 </div>
             </div>

+ 1 - 1
resources/views/tabler/admin/order/view.tpl

@@ -68,7 +68,7 @@
                         </div>
                         <div class="datagrid-item">
                             <div class="datagrid-title">订单状态</div>
-                            <div class="datagrid-content">{$order->status}</div>
+                            <div class="datagrid-content">{$order->status_text}</div>
                         </div>
                         <div class="datagrid-item">
                             <div class="datagrid-title">创建时间</div>

+ 9 - 2
src/Controllers/Admin/InvoiceController.php

@@ -7,6 +7,7 @@ namespace App\Controllers\Admin;
 use App\Controllers\BaseController;
 use App\Models\Invoice;
 use App\Models\Order;
+use App\Models\Paylist;
 use App\Utils\Tools;
 use Psr\Http\Message\ResponseInterface;
 use Slim\Http\Request;
@@ -40,9 +41,14 @@ final class InvoiceController extends BaseController
     public function detail(Request $request, Response $response, array $args): ResponseInterface
     {
         $id = $args['id'];
-
         $invoice = Invoice::find($id);
-        $invoice->status = Tools::getInvoiceStatus($invoice);
+        $paylist = [];
+
+        if ($invoice->status === 'paid_gateway') {
+            $paylist = Paylist::where('invoice_id', $invoice->id)->where('status', 1)->first();
+        }
+
+        $invoice->status_text = Tools::getInvoiceStatus($invoice);
         $invoice->create_time = Tools::toDateTime($invoice->create_time);
         $invoice->update_time = Tools::toDateTime($invoice->update_time);
         $invoice->pay_time = Tools::toDateTime($invoice->pay_time);
@@ -52,6 +58,7 @@ final class InvoiceController extends BaseController
             $this->view()
                 ->assign('invoice', $invoice)
                 ->assign('invoice_content', $invoice_content)
+                ->assign('paylist', $paylist)
                 ->fetch('admin/invoice/view.tpl')
         );
     }

+ 1 - 1
src/Controllers/Admin/OrderController.php

@@ -45,7 +45,7 @@ final class OrderController extends BaseController
 
         $order = Order::find($id);
         $order->product_type = Tools::getOrderProductType($order);
-        $order->status = Tools::getOrderStatus($order);
+        $order->status_text = Tools::getOrderStatus($order);
         $order->create_time = Tools::toDateTime($order->create_time);
         $order->update_time = Tools::toDateTime($order->update_time);