Merge branch 'feature/purchase_record' into dev
This commit is contained in:
commit
845a94616b
@ -2564,32 +2564,45 @@ class StoreOrderRepository extends BaseRepository
|
||||
|
||||
/**
|
||||
* 采购订单列表
|
||||
* @param $merId
|
||||
* @param $uid
|
||||
* @param $keyword
|
||||
* @param $page
|
||||
* @param $limit
|
||||
* @return \think\Collection
|
||||
* @return array
|
||||
* @throws DataNotFoundException
|
||||
* @throws DbException
|
||||
* @throws ModelNotFoundException
|
||||
*/
|
||||
public function purchaseOrder($merId, $keyword, $page, $limit)
|
||||
public function purchaseOrder($uid, $keyword, $page, $limit)
|
||||
{
|
||||
$orders = StoreOrder::where('mer_id', $merId)
|
||||
->where('pay_type', StoreGroupOrder::PAY_TYPE_CREDIT_BUY)
|
||||
->where('status', StoreOrder::STATUS_WAIT_COMMENT)
|
||||
$orders = StoreOrder::where('uid', $uid)
|
||||
->where('activity_type', 98)
|
||||
->whereIn('status', [StoreOrder::STATUS_WAIT_COMMENT, StoreOrder::STATUS_FINISH])
|
||||
->where('is_del', 0)
|
||||
->where('is_system_del', 0)
|
||||
->when($keyword !== '', function ($query) use ($keyword) {
|
||||
$query->where('order_sn|user_phone', 'like', "%$keyword%");
|
||||
})
|
||||
->page($page, $limit)
|
||||
->order('order_id', 'desc')
|
||||
->select();
|
||||
$return = [];
|
||||
foreach ($orders as $order) {
|
||||
$products = $order->orderProduct;
|
||||
foreach ($products as &$product) {
|
||||
$purchaseRecord = PurchaseRecord::where(['order_id' => $product['order_id'], 'order_product_id' => $product['product_id'], 'order_unique' => $product['product_sku']])->field('sales_volume')->find();
|
||||
$product['sales_volume'] = empty($purchaseRecord) ? 0 : $purchaseRecord->sales_volume;
|
||||
$currentOrder = $order->toArray();
|
||||
foreach ($products as $k => $product) {
|
||||
$purchaseRecord = PurchaseRecord::where(['order_id' => $product['order_id'], 'order_product_id' => $product['product_id'], 'order_unique' => $product['product_sku']])->field('mer_id,product_id,unique,number,sales_volume')->find();
|
||||
if (!empty($purchaseRecord)) {
|
||||
$currentOrder['orderProduct'][$k]['sales_volume'] = $purchaseRecord->sales_volume;
|
||||
$currentOrder['orderProduct'][$k]['purchase_record'] = $purchaseRecord->toArray();
|
||||
} else {
|
||||
$currentOrder['orderProduct'][$k]['sales_volume'] = 0;
|
||||
$currentOrder['orderProduct'][$k]['purchase_record'] = [];
|
||||
}
|
||||
}
|
||||
$return[] = $currentOrder;
|
||||
}
|
||||
return $orders;
|
||||
return $return;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2286,12 +2286,12 @@ class ProductRepository extends BaseRepository
|
||||
if (!$unique) {
|
||||
throw new \Exception('商品规格导入出错', 500);
|
||||
}
|
||||
$attrValue = ProductAttrValue::where('mer_id', $merId)->where('product_id', $product['product_id'])->where('unique', $unique)->find();
|
||||
} else {
|
||||
$productId = $this->import($params['order_product_id'], request()->userInfo(), $params['order_unique']);
|
||||
$productId = $this->import($params['order_product_id'], request()->userInfo());
|
||||
$product = $this->get($productId);
|
||||
$attrValue = ProductAttrValue::where('mer_id', $merId)->where('product_id', $productId)->find();
|
||||
}
|
||||
$sku = ProductAttrValue::where('product_id', $params['order_product_id'])->where('unique', $params['order_unique'])->value('sku');
|
||||
$attrValue = ProductAttrValue::where('mer_id', $merId)->where('product_id', $product['product_id'])->where('sku', $sku)->find();
|
||||
} else {
|
||||
//有商品有规格
|
||||
$product = $this->get($params['product_id']);
|
||||
@ -2355,7 +2355,7 @@ class ProductRepository extends BaseRepository
|
||||
* @return bool
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function import($product_id, $user, $unique = null)
|
||||
public function import($product_id, $user)
|
||||
{
|
||||
$mer_id = Db::name('store_service')->where('uid', $user['uid'])->where('status', 1)->value('mer_id');
|
||||
if ($mer_id == 0) {
|
||||
@ -2374,8 +2374,7 @@ class ProductRepository extends BaseRepository
|
||||
foreach ($attr as $item) {
|
||||
$find['attr'][] = ['attr_name' => $item['attr_name'], 'detail' => explode('-!-', $item['attr_values'])];
|
||||
}
|
||||
$where = empty($unique) ? ['product_id' => $find['product_id']] : ['product_id' => $find['product_id'], 'unique' => $unique];
|
||||
$find['attrValue'] = Db::name('store_product_attr_value')->where($where)->field('image,price,cost,ot_price,svip_price,0 as stock,bar_code,weight,volume,detail')->select()->each(function ($item) {
|
||||
$find['attrValue'] = Db::name('store_product_attr_value')->where(['product_id' => $find['product_id']])->field('image,price,cost,ot_price,svip_price,0 as stock,bar_code,weight,volume,detail')->select()->each(function ($item) {
|
||||
$item['detail'] = empty($item['detail']) ? [] : json_decode($item['detail'], true);
|
||||
return $item;
|
||||
})->toArray();
|
||||
@ -2407,16 +2406,19 @@ class ProductRepository extends BaseRepository
|
||||
* @param $oldProductId
|
||||
* @param $product
|
||||
* @param $unique
|
||||
* @return false
|
||||
* @return bool
|
||||
*/
|
||||
public function importAttrValue($oldProductId, $product, $unique)
|
||||
{
|
||||
$product['attrValue'] = ProductAttrValue::where(['product_id' => $oldProductId, 'unique' => $unique])->field('image,price,cost,ot_price,svip_price,0 as stock,bar_code,weight,volume,detail')->select();
|
||||
$product['attrValue'] = ProductAttrValue::where(['product_id' => $oldProductId])->field('image,price,cost,ot_price,svip_price,0 as stock,bar_code,weight,volume,detail')->select();
|
||||
$settleParams = $this->setAttrValue($product, $product['product_id'], 0, 0, $product['mer_id']);
|
||||
if (!empty($settleParams['attrValue'])) {
|
||||
if (ProductAttrValue::getInstance()->insert($settleParams['attrValue'][0]) !== false) {
|
||||
return $settleParams['attrValue'][0]['unique'];
|
||||
foreach ($settleParams['attrValue'] as $item) {
|
||||
if (!ProductAttrValue::getInstance()->insert($item)) {
|
||||
throw new ValidateException('商品规格保存出错');
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -388,7 +388,7 @@ class StoreOrder extends BaseController
|
||||
{
|
||||
[$page, $limit] = $this->getPage();
|
||||
$keyword = $this->request->param('keyword');
|
||||
$list = $orderRepository->purchaseOrder($merId, $keyword, $page, $limit);
|
||||
$list = $orderRepository->purchaseOrder($this->request->uid(), $keyword, $page, $limit);
|
||||
return app('json')->success($list);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user