<?php
|
|
namespace app\api\model\plus\bonus;
|
|
use app\common\model\plus\bonus\User as UserModel;
|
use app\common\model\plus\bonus\Order as OrderModel;
|
use app\common\service\order\OrderService;
|
use app\common\enum\order\OrderTypeEnum;
|
use app\common\library\helper;
|
|
/**
|
* 分销商订单模型
|
*/
|
class Order extends OrderModel
|
{
|
/**
|
* 隐藏字段
|
*/
|
protected $hidden = [
|
'update_time',
|
];
|
|
/**
|
* 获取分销商订单列表
|
*/
|
public function getList($user_id, $is_settled = -1)
|
{
|
$model = $this;
|
$is_settled > -1 && $model = $model->where('is_settled', '=', !!$is_settled);
|
$data = $model->with(['user'])
|
->where('first_user_id|second_user_id|subsidy_user_id', '=', $user_id)
|
->order(['create_time' => 'desc'])
|
->paginate(15);
|
if ($data->isEmpty()) {
|
return $data;
|
}
|
// 整理订单信息
|
$with = ['product' => ['image', 'refund'], 'address', 'user'];
|
return OrderService::getOrderList($data, 'order_master', $with);
|
}
|
|
/**
|
* 分红订单
|
*/
|
public static function createBonusOrder($order)
|
{
|
// 验证是否设置
|
$config = Setting::getItem('basic', $order['app_id']);
|
if (empty($config['become__buy_product_ids'])) {
|
return false;
|
}
|
/*// 整理商品id集
|
$productIds = helper::getArrayColumn($order['product'], 'product_id');
|
// 判断商品是否在设置范围内
|
$intersect = array_intersect($productIds, $config['become__buy_product_ids']);
|
if (empty($intersect)) {
|
return false;
|
}*/
|
// 每买一个指定商品就生成一个分红订单
|
foreach ($order['product'] as $product) {
|
// 检查商品是否是指定的分红商品
|
if (in_array($product['product_id'], $config['become__buy_product_ids'])||$product['is_vip']==1) {
|
// 获取商品数量
|
$quantity = $product['total_num'];
|
if ($product['is_gift_pack']){
|
$quantity = $product['total_num']*$product['vip_order_num'];
|
}
|
// 为每个商品生成分红订单
|
for ($i = 0; $i < $quantity; $i++) {
|
// 创建单个商品的订单数据
|
$singleProductOrder = $order;
|
$singleProductOrder['product_id'] = $product['product_id'];
|
// 创建分红订单
|
OrderModel::createOrder($singleProductOrder);
|
}
|
}
|
}
|
}
|
|
}
|