hrjy 3 年之前
父節點
當前提交
dbc9790b7c

+ 12 - 0
app/admin/view/auction/auction_order/index.php

@@ -180,6 +180,17 @@
                             <img style="cursor: pointer" lay-event="open_upload_image" src="{{d.upload_image}}" style="cursor: pointer">
                         {{#  } }}
                     </script>
+                    <script type="text/html" id="appeal">
+                        {{#  if(d.appeal  <  1){ }}
+                        <button type="button" name="status" class="layui-btn layui-btn-xs" id="">
+                            未申诉
+                        </button>
+                        {{#  } else { }}
+                        <button type="button" name="status" class="layui-btn layui-btn-xs" id=""style="background: red;">
+                            申诉中
+                        </button>
+                        {{#  } }}
+                    </script>
                     <script type="text/html" id="act">
                         <button type="button" class="layui-btn layui-btn-xs layui-btn-danger" lay-event='qd' id="">
                             通过
@@ -215,6 +226,7 @@
             {field: 'price', title: '购买价格', templet: '#price',  align: 'center', style : 'color: #DC143C;'},
             {field: 'upload_image', title: '打款凭证', templet: '#upload_image',  align: 'center',width: '5%'},
             {field: 'status', title: '状态', templet: '#status', align: 'center'},
+            {field: 'appeal', title: '申诉状态', templet: '#appeal', align: 'center'},
             {field: 'create_time', title: '预约时间', templet: '#date', align: 'center'},
             {field: 'right', title: '操作', align: 'center', toolbar: '#act'},
         ];

+ 12 - 0
app/admin/view/auction/auction_product/index.php

@@ -98,6 +98,17 @@
                     <script type="text/html" id="is_show">
                         <input type='checkbox' name='id' lay-skin='switch' value="{{d.id}}" lay-filter='is_show' lay-text='上架|下架'  {{ d.is_show  == 1 ? 'checked' : '' }}>
                     </script>
+                    <script type="text/html" id="frozen">
+                        {{#  if(d.frozen  <  1){ }}
+                        <button type="button" name="status" class="layui-btn layui-btn-xs" id="">
+                            正常
+                        </button>
+                        {{#  } else { }}
+                        <button type="button" name="status" class="layui-btn layui-btn-xs" id=""style="background: red;">
+                            冻结
+                        </button>
+                        {{#  } }}
+                    </script>
                     <script type="text/html" id="act">
                         <button type="button" class="layui-btn layui-btn-xs layui-btn-normal" lay-event='edit'>
                             编辑
@@ -134,6 +145,7 @@
             {field: 'deduct', title: '扣除%', templet: '#deduct', align: 'center'},
             {field: 'sort', title: '排序', templet: '#sort', align: 'center'},
             {field: 'time', title: '挂售时间', templet: '#time', align: 'center'},
+            {field: 'frozen', title: '冻结状态', templet: '#frozen', align: 'center'},
             {field: 'create_time', title: '创建时间', templet: '#create_time', align: 'center'},
             {field: 'right', title: '操作', align: 'center', toolbar: '#act'},
         ];

+ 1 - 1
app/api/controller/auction/AuctionController.php

@@ -108,7 +108,7 @@ class AuctionController
         if (!$data['id']) return app('json')->fail('数据传入错误');
         $auction = Auction::find($data['id']);
         $booking = AuctionBooking::where([['auction_id', '=',$auction['id']], ['frequency', '=', $auction['frequency']]])->find();
-        $radd_time = strtotime($auction['radd_time']) - 300; // 提前五分钟进场
+        $radd_time = strtotime($auction['radd_time']) - 1800; // 提前五分钟进场
 
         if (!$booking){
             return app('json')->fail('未预约');

+ 94 - 0
app/api/controller/auction/AuctionOrderController.php

@@ -0,0 +1,94 @@
+<?php
+
+namespace app\api\controller\auction;
+
+
+use app\models\auction\Auction;
+use app\models\auction\AuctionApply;
+use app\models\auction\AuctionBooking;
+use app\models\auction\AuctionGu;
+use app\models\auction\AuctionOrder;
+use app\models\auction\AuctionPay;
+use app\models\auction\AuctionProduct;
+use app\models\auction\AuctionTime;
+use app\models\user\User;
+use app\models\user\UserBill;
+use app\Request;
+use Monolog\Handler\Curl\Util;
+use think\facade\Cache;
+use crmeb\services\{
+    CacheService,
+    ExpressService,
+    SystemConfigService
+};
+use crmeb\services\UtilService;
+use crmeb\repositories\OrderRepository;
+use think\facade\Db;
+use think\facade\Validate;
+
+
+class AuctionOrderController
+{
+    /**
+     * 申诉
+     * @param Request $request
+     * @return mixed
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+    public function plead(Request $request)
+    {
+        $data = UtilService::postMore([
+            'order_id'
+        ]);
+        $order = AuctionOrder::where([['order_id', '=', $data['order_id']], ['uid', '=', $request->uid()]])->find();
+        if ($order['appeal'] == 1) return app('json')->fail('该订单已在申诉中');// 失败
+        if (!$order) return app('json')->fail('没有订单');// 失败
+        $product = AuctionProduct::where('id', $order['product_id'])->find();
+
+        $product['is_show'] = 0;//下架
+        $product['frozen'] = 1; // 冻结
+        $order['appeal'] = 1;// 申诉
+        $order['is_gs'] = 0;
+        $order->save();
+        $product->save();
+        AuctionTime::where([ ['product_id', '=', $product['id']], ['uid', '=', $request->uid()]])->delete();
+        return app('json')->success('申诉成功');// 失败
+    }
+
+    /**
+     * 撤销申诉
+     * @param Request $request
+     * @return mixed
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+    public function revoke(Request $request)
+    {
+        $data = UtilService::postMore([
+            'order_id'
+        ]);
+        $order = AuctionOrder::where([['order_id', '=', $data['order_id']], ['uid', '=', $request->uid()]])->find();
+        if ($order['appeal'] == 0) return app('json')->fail('该订单未申诉');// 失败
+        if (!$order) return app('json')->fail('没有订单');// 失败
+        $product = AuctionProduct::where('id', $order['product_id'])->find();
+
+        $product['frozen'] = 0;
+        $order['appeal'] = 0;// 撤销申诉
+        $order->save();
+        $product->save();
+        return app('json')->success('撤销申诉成功');// 失败
+
+
+    }
+
+
+
+
+
+
+
+
+}

+ 1 - 0
app/api/controller/auction/AuctionProductController.php

@@ -337,6 +337,7 @@ class AuctionProductController
         $product = AuctionProduct::where('id', $data['id'])->where('uid', $request->uid())->find();
         $user = User::where('uid', $request->uid())->find();
         if (!$product) return app('json')->fail('商品不存在');
+        if ($product['frozen'] == 1) return app('json')->fail('商品已冻结,无法挂售');
 
         if ($product['is_show'] == 1) return app('json')->fail('商品已挂售');
 

+ 1 - 1
public/index/index.html

@@ -1,2 +1,2 @@
 <!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>商城</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
-            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.d618d095.js></script><script src=/index/static/js/index.44f7a18f.js></script></body></html>
+            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.d618d095.js></script><script src=/index/static/js/index.15893d0b.js></script></body></html>

文件差異過大導致無法顯示
+ 0 - 0
public/index/static/js/index.15893d0b.js


文件差異過大導致無法顯示
+ 0 - 0
public/index/static/js/pages-hall-gsell.082e6cd3.js


文件差異過大導致無法顯示
+ 0 - 0
public/index/static/js/pages-index-sign.2a4b1cd1.js


文件差異過大導致無法顯示
+ 0 - 0
public/index/static/js/pages-order-order.97ff6b1a.js


+ 3 - 0
route/api/route.php

@@ -194,6 +194,9 @@ Route::group(function () {
     Route::get('auction/untreated', 'auction.auctionProductController/untreated')->name('untreated');// 订单数量
     Route::get('auction/count_down', 'auction.auctionController/count_down')->name('count_down');// 倒计时
 
+    Route::post('auction/plead', 'auction.auctionOrderController/plead')->name('plead');// 申诉
+    Route::post('auction/revoke', 'auction.auctionOrderController/revoke')->name('revoke');// 撤销申诉
+
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, true);
 //未授权接口
 Route::group(function () {

部分文件因文件數量過多而無法顯示