123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- /**
- * Created by PhpStorm.
- * User: wuzhenke
- * Date: 2018/12/6
- * Time: 11:22
- */
- namespace App\Repositories;
- use App\Models\Order;
- use Prettus\Repository\Criteria\RequestCriteria;
- use Prettus\Repository\Eloquent\BaseRepository;
- class OrderRepository extends BaseRepository
- {
- public function model()
- {
- return Order::class;
- }
- public function boot()
- {
- $this->pushCriteria(app(RequestCriteria::class));
- }
- /**创建订单
- * @param $user
- * @param $order_type
- * @param $amount
- * @param $pay_amount
- * @param $pay_points
- * @param $service_name
- * @param $payment
- * @param $payment_cn
- * @param $description
- * @param int $is_paid
- * @param float $points
- * @param int $setmeal
- * @param int $payment_time
- * @param string $params
- * @param string $discount
- * @param string $notes
- * @return Order
- */
- public function addOrder($user, $order_type, $amount, $pay_amount, $pay_points, $service_name, $payment, $payment_cn, $description, $is_paid = 1, $points = 0, $setmeal = 0, $payment_time = 0, $params = '', $discount = '', $notes = '')
- {
- $data = new Order();
- $uid = $user->id;
- $data->uid = $uid;
- $data->utype = $user->utype;
- $data->order_type = $order_type;
- if ($pay_amount>0 && $pay_points>0) {
- $data->pay_type =3;
- } elseif ($pay_amount>0) {
- $data->pay_type =2;
- } else {
- $data->pay_type =1;
- }
- $data->is_pay =$is_paid;
- $data->amount =$amount;
- $data->pay_amount =$pay_amount;
- $data->pay_points =$pay_points;
- $data->payment =$payment;
- $data->payment_cn =$payment_cn;
- $data->description =$description;
- $data->service_name =$service_name;
- $data->points =$points;
- $data->setmeal =$setmeal;
- $data->params =$params;
- $data->notes =$notes;
- $data->payment_time =$payment_time;
- $data->discount =$discount;
- if ($payment == 'points') {
- $data->fee = 0;
- } else {
- $data->fee =$pay_amount*config("aix.system.pay.$payment.fee")/100;
- }
- $data->save();
- return $data;
- }
- /**
- * @param $oid
- * @return mixed
- */
- public function getOneOder($oid)
- {
- return $this->model->where('oid', $oid)->first();
- }
- public function getOrder($where){
- return $this->model->where($where)->first();
- }
- public function updateStatus($oid, $data)
- {
- return $this->model->where('oid', $oid)->update($data);
- }
- public function orderList($map, $where)
- {
- return $this->model->where($map)->whereIn('order_type', $where)->orderBy('created_at', 'desc')->paginate(10);
- }
- public function canselOrder()
- {
- return $this->model->where(['is_pay'=>1])->where('created_at','<',date('Y-m-d H:i:s',time()-300))->get()->toArray();
- }
- }
|