|
@@ -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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|