|
|
@@ -92,7 +92,7 @@ class ProductController extends BaseController
|
|
|
$get = Yii::$app->request->get();
|
|
|
$id = $get['id'] ?? 0;
|
|
|
$clearStock = $get['clearStock'] ?? -1;
|
|
|
- if($clearStock == -1){
|
|
|
+ if ($clearStock == -1) {
|
|
|
util::fail('请选择是否清库存');
|
|
|
}
|
|
|
$info = ProductClass::getById($id, true);
|
|
|
@@ -127,7 +127,7 @@ class ProductController extends BaseController
|
|
|
$info = ProductClass::getById($id, true);
|
|
|
ProductClass::check($info, $this->mainId);
|
|
|
|
|
|
- try{
|
|
|
+ try {
|
|
|
$str = $post['date'] ?? '';
|
|
|
$presell = $post['presell'] ?? 0;
|
|
|
$newStr = '';
|
|
|
@@ -149,11 +149,11 @@ class ProductController extends BaseController
|
|
|
|
|
|
//使用redis缓存来保存某用户设置了某花材的预售
|
|
|
$redis = Yii::$app->redis;
|
|
|
- $redis->set('product_presell:'.$id, $new[0]);
|
|
|
+ $redis->set('product_presell:' . $id, $new[0]);
|
|
|
} else {
|
|
|
$redis = Yii::$app->redis;
|
|
|
- if ($redis->exists('product_presell:'.$id)) {
|
|
|
- $redis->del('product_presell:'.$id);
|
|
|
+ if ($redis->exists('product_presell:' . $id)) {
|
|
|
+ $redis->del('product_presell:' . $id);
|
|
|
}
|
|
|
}
|
|
|
$info->presell = $presell;
|
|
|
@@ -165,12 +165,12 @@ class ProductController extends BaseController
|
|
|
}
|
|
|
|
|
|
$info->save();
|
|
|
- }catch(\Exception $e){
|
|
|
+ } catch (\Exception $e) {
|
|
|
// 失败情况,要把缓存删除
|
|
|
if ($presell == 1) {
|
|
|
$redis = Yii::$app->redis;
|
|
|
- if ($redis->exists('product_presell:'.$id)) {
|
|
|
- $redis->del('product_presell:'.$id);
|
|
|
+ if ($redis->exists('product_presell:' . $id)) {
|
|
|
+ $redis->del('product_presell:' . $id);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -229,7 +229,7 @@ class ProductController extends BaseController
|
|
|
|
|
|
$name = $info->name ?? '';
|
|
|
$name = preg_replace('/\s{2,}/', ' ', $name ?? '');
|
|
|
-
|
|
|
+
|
|
|
$ptItemId = $info->itemId ?? 0;
|
|
|
$mainId = $info->mainId ?? 0;
|
|
|
$ext = $this->shopExt;
|
|
|
@@ -396,22 +396,22 @@ class ProductController extends BaseController
|
|
|
$itemInfoData = [];
|
|
|
$fieldMap = [
|
|
|
'hasStockList' => 'id,py,cover,name,classId,itemId,price,skPrice,hjPrice,stock,onStock,cost,avCost,addPrice,hjAddPrice,skMore,limitBuy',
|
|
|
- 'hideItem' => 'id,py,cover,name,classId,itemId,price,skPrice,hjPrice,stock,onStock,cost,avCost,addPrice,hjAddPrice,skMore,limitBuy',
|
|
|
- 'changePrice' => 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,hjPrice,discountPrice,hjDiscountPrice,skDiscountPrice,skMore,hjAddPrice,variety,price,stock,onStock,presell,frontHide,reachNum,reachNumDiscount,limitBuy',
|
|
|
- 'changeStock' => 'id,py,cover,name,cost,itemId,status,classId,addPrice,skPrice,discountPrice,skMore,variety,price,stock,frontHide,limitBuy',
|
|
|
- 'kd' => 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,hjPrice,hjDiscountPrice,skDiscountPrice,discountPrice,stock,weight,stockWarning,presell,ratioType,smallUnit,smallRatio,bigUnit,ratio,frontHide,reachNum,reachNumDiscount,limitBuy',
|
|
|
- 'book' => 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,hjPrice,hjDiscountPrice,skDiscountPrice,discountPrice,stock,weight,stockWarning,presell,ratioType,smallUnit,smallRatio,bigUnit,ratio,frontHide,limitBuy',
|
|
|
- 'itemList' => 'id,py,cover,name,cost,avCost,itemId,classId,skPrice,variety,price,hjPrice,discountPrice,hjDiscountPrice,skDiscountPrice,stock,onStock,actualSold,status,ratio,ratioType,presell,frontHide,auth,reachNum,reachNumDiscount,addPrice,hjAddPrice,skMore,limitBuy',
|
|
|
- 'cgStaffList' => 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,hjPrice,discountPrice,hjDiscountPrice,skDiscountPrice,stock,onStock,actualSold,status,ratio,ratioType,presell,frontHide,auth,reachNum,reachNumDiscount,cgStaffId,cgStaffName,limitBuy',
|
|
|
- 'outList' => 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,bigUnit,smallUnit,ratio,ratioType,discountPrice,skMore,variety,price,stock,presell,status,limitBuy',
|
|
|
- 'stopList' => 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,bigUnit,smallUnit,ratio,ratioType,discountPrice,skMore,variety,price,stock,presell,status,delStatus,limitBuy',
|
|
|
- 'removeList' => 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,bigUnit,smallUnit,ratio,ratioType,discountPrice,skMore,variety,price,stock,presell,status,limitBuy',
|
|
|
- 'check' => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,frontHide,limitBuy',
|
|
|
- 'break' => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,frontHide,limitBuy',
|
|
|
- 'part' => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,limitBuy',
|
|
|
- 'stockOut' => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,smallRatio,frontHide,limitBuy',
|
|
|
- 'cg' => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,presell,ratioType,smallUnit,bigUnit,ratio,weight,frontHide,limitBuy',
|
|
|
- 'warning' => 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,discountPrice,stock,onStock,actualSold,presell,bigUnit,stockWarning,status,frontHide,limitBuy',
|
|
|
+ 'hideItem' => 'id,py,cover,name,classId,itemId,price,skPrice,hjPrice,stock,onStock,cost,avCost,addPrice,hjAddPrice,skMore,limitBuy',
|
|
|
+ 'changePrice' => 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,hjPrice,discountPrice,hjDiscountPrice,skDiscountPrice,skMore,hjAddPrice,variety,price,stock,onStock,presell,frontHide,reachNum,reachNumDiscount,limitBuy',
|
|
|
+ 'changeStock' => 'id,py,cover,name,cost,itemId,status,classId,addPrice,skPrice,discountPrice,skMore,variety,price,stock,frontHide,limitBuy',
|
|
|
+ 'kd' => 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,hjPrice,hjDiscountPrice,skDiscountPrice,discountPrice,stock,weight,stockWarning,presell,ratioType,smallUnit,smallRatio,bigUnit,ratio,frontHide,reachNum,reachNumDiscount,limitBuy',
|
|
|
+ 'book' => 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,hjPrice,hjDiscountPrice,skDiscountPrice,discountPrice,stock,weight,stockWarning,presell,ratioType,smallUnit,smallRatio,bigUnit,ratio,frontHide,limitBuy',
|
|
|
+ 'itemList' => 'id,py,cover,name,cost,avCost,itemId,classId,skPrice,variety,price,hjPrice,discountPrice,hjDiscountPrice,skDiscountPrice,stock,onStock,actualSold,status,ratio,ratioType,presell,frontHide,auth,reachNum,reachNumDiscount,addPrice,hjAddPrice,skMore,limitBuy',
|
|
|
+ 'cgStaffList' => 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,hjPrice,discountPrice,hjDiscountPrice,skDiscountPrice,stock,onStock,actualSold,status,ratio,ratioType,presell,frontHide,auth,reachNum,reachNumDiscount,cgStaffId,cgStaffName,limitBuy',
|
|
|
+ 'outList' => 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,bigUnit,smallUnit,ratio,ratioType,discountPrice,skMore,variety,price,stock,presell,status,limitBuy',
|
|
|
+ 'stopList' => 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,bigUnit,smallUnit,ratio,ratioType,discountPrice,skMore,variety,price,stock,presell,status,delStatus,limitBuy',
|
|
|
+ 'removeList' => 'id,py,cover,name,cost,itemId,classId,addPrice,skPrice,bigUnit,smallUnit,ratio,ratioType,discountPrice,skMore,variety,price,stock,presell,status,limitBuy',
|
|
|
+ 'check' => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,frontHide,limitBuy',
|
|
|
+ 'break' => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,frontHide,limitBuy',
|
|
|
+ 'part' => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,limitBuy',
|
|
|
+ 'stockOut' => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,stockWarning,presell,ratioType,smallUnit,bigUnit,ratio,smallRatio,frontHide,limitBuy',
|
|
|
+ 'cg' => 'id,py,cover,name,itemId,classId,variety,price,discountPrice,stock,presell,ratioType,smallUnit,bigUnit,ratio,weight,frontHide,limitBuy',
|
|
|
+ 'warning' => 'id,py,cover,name,cost,itemId,classId,skPrice,variety,price,discountPrice,stock,onStock,actualSold,presell,bigUnit,stockWarning,status,frontHide,limitBuy',
|
|
|
];
|
|
|
|
|
|
if (!isset($fieldMap[$requestType])) {
|
|
|
@@ -1219,6 +1219,15 @@ class ProductController extends BaseController
|
|
|
$post['images'] = implode(',', $post['images']);
|
|
|
}
|
|
|
|
|
|
+ //如果开启限购则必须升级应用
|
|
|
+ $limitBuy = $post['limitBuy'] ?? 0;
|
|
|
+ if ($limitBuy > 0) {
|
|
|
+ $appVersion = $post['appVersion'] ?? 0;
|
|
|
+ if ($appVersion < 2) {
|
|
|
+ util::fail('请先升级,才能使用限购');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
$connection = Yii::$app->db;
|
|
|
$transaction = $connection->beginTransaction();
|
|
|
try {
|
|
|
@@ -1334,7 +1343,7 @@ class ProductController extends BaseController
|
|
|
$limitBuyClearInfo = [];
|
|
|
}
|
|
|
// foreach ($limitBuyClearInfo as $key => $value) {
|
|
|
- // $respond[$key] = $value;
|
|
|
+ // $respond[$key] = $value;
|
|
|
// }
|
|
|
$respond['limitBuyClearInfo'] = $limitBuyClearInfo;
|
|
|
$ptItemId = $respond['itemId'] ?? 0;
|