Beispiel #1
0
 public function generateUserWaitingTransferTable($request)
 {
     $userModel = new User();
     $datatables = new DataTables();
     $orderDetailModel = new orderDetailModel();
     $commissionService = new commissionService();
     $columns = array(array('db' => 'users.id', 'dt' => 0), array('db' => 'users.name', 'dt' => 1), array('db' => 'users.phone', 'dt' => 2), array('db' => 'orders.order_code AS product_quantity', 'dt' => 3), array('db' => 'orders.discount AS commission_total', 'dt' => 4), array('db' => 'users.created', 'dt' => 5), array('db' => 'users.updated_at', 'dt' => 6));
     $return = $userModel->generateUserWaitingTransferTable($request, $columns);
     if (count($return['data'])) {
         foreach ($return['data'] as &$res) {
             $validCommission = $orderDetailModel->validCommission($res->id);
             $trimCommission = $commissionService->trimCommission($validCommission);
             $res->product_quantity = count($validCommission);
             $res->commission_total = formatMoney($trimCommission['total']);
         }
     }
     $return['data'] = $datatables::data_output($columns, $return['data']);
     return $return;
 }
Beispiel #2
0
 /**
  * @param $id
  * @param $data
  * @return \Illuminate\Support\Collection|null|static
  */
 public function updateOrderDetail($id, $data)
 {
     $this->where('id', $id)->update($data);
     return orderDetailModel::find($id);
 }
 public function transferPayment($orderDetailIds, $userId, $ref, $note)
 {
     $orderDetailModel = new orderDetailModel();
     $partnerPaymentModel = new partnerPaymentModel();
     $partnerPaymentDetailModel = new partnerPaymentDetailModel();
     $total = 0;
     $dataPartnerPayment = ['user_id' => $userId, 'ref' => $ref, 'note' => $note, 'total' => $total];
     $payment = $partnerPaymentModel->createItem($dataPartnerPayment);
     $validCommission = $orderDetailModel->validCommission($userId);
     foreach ($validCommission as $commission) {
         if (in_array($commission->id, $orderDetailIds)) {
             $price = $commission->subtotal * PARTNER_DISCOUNT_PERCENT_LEVEL_1 / 100;
             $dataPartnerPaymentDetail = ['payment_id' => $payment->id, 'order_detail_id' => $commission->id, 'total' => $price];
             $total += $price;
             $partnerPaymentDetailModel->createItem($dataPartnerPaymentDetail);
         }
     }
     return $partnerPaymentModel->updateItem($payment->id, ['total' => $total]);
 }
Beispiel #4
0
 /**
  * @param $request
  * @param $userId
  * @param $addressReceiveId
  * @return array
  */
 public function generateAllOrderDetailByUserTable($request, $userId)
 {
     $orderDetailModel = new orderDetailModel();
     $datatables = new DataTables();
     $commissionService = new commissionService();
     $columns = array(array('db' => 'orders.order_code', 'dt' => 0), array('db' => 'order_detail.name AS order_detail_name', 'dt' => 1), array('db' => 'order_detail.image AS order_detail_image', 'dt' => 2), array('db' => 'order_detail.order_service_status AS order_detail_status', 'dt' => 3), array('db' => 'order_detail.subtotal', 'dt' => 4), array('db' => 'order_detail.updated', 'dt' => 5), array('db' => 'shipping.status AS shipping_status', 'dt' => 6), array('db' => 'partner_payment_detail.payment_id', 'dt' => 7), array('db' => 'order_detail.shipping_service_code', 'dt' => 8), array('db' => 'partner_payments.ref AS payment_code', 'dt' => 9), array('db' => 'orders.id AS order_id', 'dt' => 10));
     $return = $orderDetailModel->generateAllOrderDetailByUserTable($request, $columns, $userId);
     if (count($return['data'])) {
         foreach ($return['data'] as &$orderDetail) {
             $orderDetail->order_detail_status = $commissionService::getStatusOrderDetail($orderDetail);
             $orderDetail->subtotal = formatMoney($orderDetail->subtotal);
         }
     }
     $return['data'] = $datatables::data_output($columns, $return['data']);
     return $return;
 }