qifengquan 1 年之前
父節點
當前提交
e2516be73a
共有 2 個文件被更改,包括 50 次插入1 次删除
  1. 6 1
      app/admin/view/merchant/config.html
  2. 44 0
      app/data/controller/api/Timedtask.php

+ 6 - 1
app/admin/view/merchant/config.html

@@ -9,7 +9,7 @@
     }
 </style>
 <div id="newForm">
-    <el-form :model="form" label-width="140px" ref="form">
+    <el-form :model="form" label-width="180px" ref="form">
         <el-form-item label="包装形式">
             <div style="width: 300px;">
                 <el-tag disable-transitions style="margin-left: 10px;" closable v-for="(item,idx) in form.packing" :key="idx" @close="delPack(idx)">{{item}}</el-tag>
@@ -28,6 +28,11 @@
             <el-input placeholder="" size="mini" style="width: 150px;margin-left: 10px;" v-model="form.cancellation_time"></el-input>
             分钟
         </el-form-item>
+        </el-form-item>
+        <el-form-item label="自动确认收货时间">
+            <el-input placeholder="" size="mini" style="width: 150px;margin-left: 10px;" v-model="form.order_timeout_end_time"></el-input>
+            天
+        </el-form-item>
     </el-form>
     <div class="layui-form-item text-center">
         <el-button class="layui-btn" type="primary" @click="save" :loading="saving">保存数据</el-button>

+ 44 - 0
app/data/controller/api/Timedtask.php

@@ -9,9 +9,14 @@ use app\data\model\DataNewsXCollect;
 use app\data\model\DataUser;
 use app\data\model\ShopOrder;
 use app\data\model\ShopOrderPay;
+use app\data\model\ShopOrderSend;
+use app\data\model\SystemUser;
+use app\data\model\SystemUserAmount;
 use app\data\service\NewsService;
 use think\admin\Controller;
 use think\admin\model\SystemConfig;
+use think\exception\ErrorException;
+use think\facade\Db;
 
 /**
  * 定时脚本
@@ -82,4 +87,43 @@ class Timedtask extends Controller
             }
         });
     }
+
+    /**
+     * 订单自动确认收货
+     */
+    public function order_timeout_end(){
+        $order_timeout_end_time = SystemConfig('merchant_config.order_timeout_end_time');
+        $outtime = date('Y-m-d H:i:s',time()-($order_timeout_end_time*60*60*24));
+        $where = [
+            'deleted'=>0,
+            'status'=>1,
+        ];
+        $list = ShopOrderSend::mk()->whereExists('select * from shop_order where shop_order.order_no=shop_order_send.order_no and shop_order.status=5')->where($where)->where('create_at','<',$outtime)->select();
+        foreach ($list as $k=>$v){
+            Db::startTrans();
+            try {
+                $order_info =ShopOrder::mk()->where(array('order_no'=>$v['order_no']))->field('amount_total,admin_id')->find();
+                $user_money = SystemUser::mk()->where('id',$order_info['admin_id'])->value('money');
+                ShopOrder::mk()->where(array('order_no'=>$v['order_no']))->save(['status'=>6]);
+                $result = $user_money+$order_info['amount_total'];
+                SystemUser::mk()->where('id',$order_info['admin_id'])->save(['money'=>$result]);
+                $record = [
+                    'admin_id' => $order_info['admin_id'],
+                    'before' => $user_money,
+                    'after' => $result,
+                    'type' => 1,
+                    'amount' => $order_info['amount_total'],
+                    'form' => '商品订单',
+                    'create_time' => date('y-m-d h:i:s')
+                ];
+                SystemUserAmount::mk()->insert($record);
+                Db::commit();
+                $this->success("确认收货");
+            } catch (ErrorException $e) {
+                // 回滚事务
+                Db::rollback();
+                $this->error($e);
+            }
+        }
+    }
 }