Merge branch 'dev' of https://gitea.lihaink.cn/mkm/shop-php into dev
This commit is contained in:
commit
cc6e274214
@ -682,35 +682,39 @@ class CommunityRepository extends BaseRepository
|
|||||||
$entrustInfo->update($value);
|
$entrustInfo->update($value);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$purchaseRecord = PurchaseRecord::where('unique', $value['product_attr_unique'])->find();
|
|
||||||
$totalNumber = PurchaseRecord::where('unique', $value['product_attr_unique'])->sum('number');
|
// $purchaseRecord = PurchaseRecord::where('unique', $value['product_attr_unique'])->find();
|
||||||
$totalSalesVolume = PurchaseRecord::where('unique', $value['product_attr_unique'])->sum('sales_volume');
|
// $totalNumber = PurchaseRecord::where('unique', $value['product_attr_unique'])->sum('number');
|
||||||
if (empty($purchaseRecord) || ($totalNumber - $totalSalesVolume) <= 0) {
|
// $totalSalesVolume = PurchaseRecord::where('unique', $value['product_attr_unique'])->sum('sales_volume');
|
||||||
throw new ValidateException('进货记录不存在或已售罄');
|
// if (empty($purchaseRecord) || ($totalNumber - $totalSalesVolume) <= 0) {
|
||||||
}
|
// throw new ValidateException('进货记录不存在或已售罄');
|
||||||
if (($totalNumber - $totalSalesVolume) < $value['number']) {
|
// }
|
||||||
throw new ValidateException('库存不足');
|
// if (($totalNumber - $totalSalesVolume) < $value['number']) {
|
||||||
}
|
// throw new ValidateException('库存不足');
|
||||||
|
// }
|
||||||
|
|
||||||
if ($value) {
|
if ($value) {
|
||||||
$insert[] = [
|
$attrValue = ProductAttrValue::where('unique', $value['product_attr_unique'])->find();
|
||||||
'community_id' => $id,
|
if($attrValue){
|
||||||
'purchase_record_id' => $purchaseRecord['id'],
|
$insert[] = [
|
||||||
'product_id' => $purchaseRecord['product_id'],
|
'community_id' => $id,
|
||||||
'product_attr_unique' => $purchaseRecord['unique'],
|
'purchase_record_id' => 0,//$purchaseRecord['id'],
|
||||||
'mer_id' => $purchaseRecord['mer_id'],
|
'product_id' => $attrValue['product_id'],
|
||||||
'entrust_mer_id' => $entrustMerId,
|
'product_attr_unique' => $attrValue['unique'],
|
||||||
'entrust_day' => $entrustDay,
|
'mer_id' => $attrValue['mer_id'],
|
||||||
'number' => $value['number'],
|
'entrust_mer_id' => $entrustMerId,
|
||||||
'price' => $value['price'],
|
'entrust_day' => $entrustDay,
|
||||||
'update_time' => date('Y-m-d H:i:s'),
|
'number' => $value['number'],
|
||||||
];
|
'price' => $value['price'],
|
||||||
|
'update_time' => date('Y-m-d H:i:s'),
|
||||||
|
];
|
||||||
|
$attrValue->stock -= $value['number'];
|
||||||
|
$attrValue->save();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$purchaseRecord->product->stock -= $value['number'];
|
// $purchaseRecord->product->stock -= $value['number'];
|
||||||
$purchaseRecord->product->save();
|
// $purchaseRecord->product->save();
|
||||||
$attrValue = ProductAttrValue::where('product_id', $purchaseRecord['product_id'])->where('unique', $purchaseRecord['unique'])->find();
|
|
||||||
$attrValue->stock -= $value['number'];
|
|
||||||
$attrValue->save();
|
|
||||||
}
|
}
|
||||||
if ($insert) {
|
if ($insert) {
|
||||||
Entrust::getInstance()->insertAll($insert);
|
Entrust::getInstance()->insertAll($insert);
|
||||||
|
@ -2325,23 +2325,65 @@ class ProductRepository extends BaseRepository
|
|||||||
*/
|
*/
|
||||||
public function stockIn($merId, $params)
|
public function stockIn($merId, $params)
|
||||||
{
|
{
|
||||||
|
/**感觉有问题 最好在优化一下结构 */
|
||||||
Db::startTrans();
|
Db::startTrans();
|
||||||
try {
|
try {
|
||||||
$supplierMerId = 0;
|
$supplierMerId = 0;
|
||||||
|
$model = new PurchaseRecord();
|
||||||
if (empty($params['product_id']) && !empty($params['order_product_id'])) {
|
if (empty($params['product_id']) && !empty($params['order_product_id'])) {
|
||||||
//有商品无规格或者无商品无规格,导入商品和规格
|
//有商品无规格或者无商品无规格,导入商品和规格
|
||||||
$product = $this->getWhere(['source_product_id' => $params['order_product_id'], 'mer_id' => $merId]);
|
$product = $this->getWhere(['source_product_id' => $params['order_product_id'], 'mer_id' => $merId]);
|
||||||
|
$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();
|
||||||
if (!empty($product)) {
|
if (!empty($product)) {
|
||||||
$unique = $this->importAttrValue($params['order_product_id'], $product->toArray(), $params['order_unique']);
|
$stockIn = $params['number'] ?? 0;
|
||||||
if (!$unique) {
|
$price = $params['price'] ?? 0;
|
||||||
throw new \Exception('商品规格导入出错', 500);
|
if (!empty($params['order_id'])) {
|
||||||
|
//采购、委托订单导入
|
||||||
|
$orderMerId = StoreOrder::where('order_id', $params['order_id'])->value('mer_id');
|
||||||
|
$orderProduct = StoreOrderProduct::where('order_id', $params['order_id'])->where('product_id', $params['order_product_id'])->where('product_sku', $params['order_unique'])->find();
|
||||||
|
if (empty($orderProduct)) {
|
||||||
|
$unique = $this->importAttrValue($params['order_product_id'], $product->toArray(), $params['order_unique']);
|
||||||
|
if (!$unique) {
|
||||||
|
throw new \Exception('商品规格导入出错', 500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( $orderProduct->is_imported == 1){
|
||||||
|
if($stockIn==0){
|
||||||
|
$stockIn=1;
|
||||||
|
}
|
||||||
|
ProductAttrValue::where('mer_id', $merId)
|
||||||
|
->where('product_id', $product['product_id'])
|
||||||
|
->update(['stock'=>$attrValue->stock + $stockIn]);
|
||||||
|
$data = [
|
||||||
|
'order_id' => $params['order_id'] ?? 0,
|
||||||
|
'order_product_id' => $params['order_product_id'] ?? 0,
|
||||||
|
'product_id' => $product->product_id,
|
||||||
|
'number' => $stockIn,
|
||||||
|
'order_unique' => $params['order_unique'] ?? '',
|
||||||
|
'unique' => $attrValue['unique'],
|
||||||
|
'price' => $price,
|
||||||
|
'mer_id' => $product->mer_id,
|
||||||
|
'supplier_mer_id' => $orderMerId??0,
|
||||||
|
];
|
||||||
|
if (!$model->save($data)) {
|
||||||
|
throw new \Exception('入库失败', 500);
|
||||||
|
}
|
||||||
|
Db::commit();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
$stockIn = $orderProduct['product_num'] ?? 0;
|
||||||
|
$price = $orderProduct['product_price'] ?? 0;
|
||||||
|
$supplierMerId = $orderMerId ?? 0;
|
||||||
|
// 如果是委托商品入库后就成为供应链商家的采购类型商品
|
||||||
|
if ($orderProduct['product_type'] == 99) {
|
||||||
|
$product->product_type = 98;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$productId = $this->import($params['order_product_id'], request()->userInfo());
|
$productId = $this->import($params['order_product_id'], request()->userInfo());
|
||||||
$product = $this->get($productId);
|
$product = $this->get($productId);
|
||||||
}
|
}
|
||||||
$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 {
|
} else {
|
||||||
//有商品有规格
|
//有商品有规格
|
||||||
$product = $this->get($params['product_id']);
|
$product = $this->get($params['product_id']);
|
||||||
@ -2350,23 +2392,6 @@ class ProductRepository extends BaseRepository
|
|||||||
if (!$product || !$attrValue) {
|
if (!$product || !$attrValue) {
|
||||||
throw new DataNotFoundException('商品或规格不存在');
|
throw new DataNotFoundException('商品或规格不存在');
|
||||||
}
|
}
|
||||||
$stockIn = $params['number'] ?? 0;
|
|
||||||
$price = $params['price'] ?? 0;
|
|
||||||
if (!empty($params['order_id'])) {
|
|
||||||
//采购、委托订单导入
|
|
||||||
$orderMerId = StoreOrder::where('order_id', $params['order_id'])->value('mer_id');
|
|
||||||
$orderProduct = StoreOrderProduct::where('order_id', $params['order_id'])->where('product_id', $params['order_product_id'])->where('product_sku', $params['order_unique'])->find();
|
|
||||||
if (empty($orderProduct) || $orderProduct->is_imported == 1) {
|
|
||||||
throw new ValidateException('订单商品不存在或已入库');
|
|
||||||
}
|
|
||||||
$stockIn = $orderProduct['product_num'] ?? 0;
|
|
||||||
$price = $orderProduct['product_price'] ?? 0;
|
|
||||||
$supplierMerId = $orderMerId ?? 0;
|
|
||||||
// 如果是委托商品入库后就成为供应链商家的采购类型商品
|
|
||||||
if ($orderProduct['product_type'] == 99) {
|
|
||||||
$product->product_type = 98;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($stockIn <= 0) {
|
if ($stockIn <= 0) {
|
||||||
throw new ValidateException('入库数量不能小于等于0');
|
throw new ValidateException('入库数量不能小于等于0');
|
||||||
}
|
}
|
||||||
@ -2376,7 +2401,6 @@ class ProductRepository extends BaseRepository
|
|||||||
if (!$product->save()) {
|
if (!$product->save()) {
|
||||||
throw new \Exception('商品库存保存失败', 500);
|
throw new \Exception('商品库存保存失败', 500);
|
||||||
}
|
}
|
||||||
$model = new PurchaseRecord();
|
|
||||||
$data = [
|
$data = [
|
||||||
'order_id' => $params['order_id'] ?? 0,
|
'order_id' => $params['order_id'] ?? 0,
|
||||||
'order_product_id' => $params['order_product_id'] ?? 0,
|
'order_product_id' => $params['order_product_id'] ?? 0,
|
||||||
|
@ -202,7 +202,6 @@ class SpuRepository extends BaseRepository
|
|||||||
}
|
}
|
||||||
$where['product_id'] = $randPidList;
|
$where['product_id'] = $randPidList;
|
||||||
unset($where['mer_rand_id'], $where['page']);
|
unset($where['mer_rand_id'], $where['page']);
|
||||||
$page = 1;
|
|
||||||
}
|
}
|
||||||
$entryMerId = $where['entry_mer_id'] ?? '';
|
$entryMerId = $where['entry_mer_id'] ?? '';
|
||||||
unset($where['entry_mer_id']);
|
unset($where['entry_mer_id']);
|
||||||
|
@ -195,7 +195,7 @@ class MerchantIntention extends BaseController
|
|||||||
'city' => $areaInfo['city_code'] ?? '',
|
'city' => $areaInfo['city_code'] ?? '',
|
||||||
'area' => $merInfo['area_id'] ?? '',
|
'area' => $merInfo['area_id'] ?? '',
|
||||||
'street' => $merInfo['street_id'] ?? '',
|
'street' => $merInfo['street_id'] ?? '',
|
||||||
'address' => $merInfo['address'] ?? '',
|
'address' => $intenInfo['address'] ?? '',
|
||||||
'bank_username' => $data['bank_username'] ?? '',
|
'bank_username' => $data['bank_username'] ?? '',
|
||||||
'bank_opening' => $data['bank_opening'] ?? '',
|
'bank_opening' => $data['bank_opening'] ?? '',
|
||||||
'bank_front' => $data['bank_front'] ?? '',
|
'bank_front' => $data['bank_front'] ?? '',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user