|
|
@@ -117,65 +117,32 @@ class DeclarationLoopForm extends Model
|
|
|
foreach ($this->data as $value){
|
|
|
|
|
|
/**
|
|
|
- * 2022-04-29
|
|
|
- * York
|
|
|
- * 获取商品套餐信息
|
|
|
- */
|
|
|
- if (isset($value['packageId']) && $value['packageId']){
|
|
|
-
|
|
|
-
|
|
|
- $packagedata = DeclarationPackage::findOneAsArray('ID=:ID', [':ID' => $value['packageId']]);
|
|
|
- //var_dump($packagedata['ID']);
|
|
|
- if($packagedata['STORE_NUMS']>0){
|
|
|
- $data = DeclarationPackage::find()->where(['ID'=> $packagedata['ID'] ])->one();
|
|
|
- $goods_store_nums = $data->STORE_NUMS - 1;
|
|
|
- $data->STORE_NUMS = $goods_store_nums;
|
|
|
- $data->update();
|
|
|
- // var_dump('输出一下数量');
|
|
|
- // var_dump($goods_store_nums);
|
|
|
- //库存为0下架套餐
|
|
|
- if ($goods_store_nums <= 0){
|
|
|
- $data->STATUS = 0;
|
|
|
- $data->UPDATED_AT = Date::nowTime();
|
|
|
- // var_dump('购买后套餐库存为0 下架拉');
|
|
|
- }
|
|
|
-
|
|
|
- }else{
|
|
|
- throw new Exception($packagedata['PACKAGE_NAME'].'Insufficient inventory');// 库存不足
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if (count($value['goodsId']) > 0 && (count($value['goodsId']) == count($value['goodsNum']))){
|
|
|
- for ($i=0;$i<count($value['goodsId']);$i++){
|
|
|
- $goods = ShopGoods::findOneAsArray('ID=:ID',[':ID'=> $value['goodsId'][$i]]);
|
|
|
- if ($goods['STATUS'] == 1 ){
|
|
|
- if($goods['STORE_NUMS'] >= $value['goodsNum'][$i]){
|
|
|
- $data = ShopGoods::find()->where(['ID' => $value['goodsId'][$i]])->one();
|
|
|
- $goods_store_nums = $data->STORE_NUMS - $value['goodsNum'][$i];
|
|
|
- $data->STORE_NUMS = $goods_store_nums;
|
|
|
- $data->update();
|
|
|
- if($goods_store_nums <= 0){
|
|
|
- $data->STATUS = 0;
|
|
|
- $data->UPDATED_AT = Date::nowTime();
|
|
|
- $data->update();
|
|
|
- }
|
|
|
- }else{
|
|
|
- throw new Exception($goods['GOODS_NAME'].'Insufficient inventory');// 商品库存不足
|
|
|
- }
|
|
|
-
|
|
|
- }else{
|
|
|
- throw new Exception($goods['GOODS_NAME'].'Sold out');// 商品已下架
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ * 2022-04-29
|
|
|
+ * York
|
|
|
+ * 获取商品套餐信息
|
|
|
+ */
|
|
|
+ if (isset($value['packageId']) && $value['packageId']){
|
|
|
+
|
|
|
+ $packagedata = DeclarationPackage::findOneAsArray('ID=:ID', [':ID' => $value['packageId']]);
|
|
|
+ //var_dump($packagedata['ID']);
|
|
|
+ if($packagedata['STORE_NUMS']<=0){
|
|
|
+ throw new Exception($packagedata['PACKAGE_NAME'].'Insufficient inventory');// 库存不足
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (count($value['goodsId']) > 0 && (count($value['goodsId']) == count($value['goodsNum']))){
|
|
|
+ for ($i=0;$i<count($value['goodsId']);$i++){
|
|
|
+ $goods = ShopGoods::findOneAsArray('ID=:ID',[':ID'=> $value['goodsId'][$i]]);
|
|
|
+ if ($goods['STATUS'] == 1 ){
|
|
|
+ if($goods['STORE_NUMS'] < $value['goodsNum'][$i]){
|
|
|
+ throw new Exception($goods['GOODS_NAME'].'Insufficient inventory');// 商品库存不足
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ throw new Exception($goods['GOODS_NAME'].'Sold out');// 商品已下架
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if(is_array($value)){
|
|
|
foreach($value as $key=>$decFormData){
|
|
|
$model->$key = $decFormData;
|
|
|
@@ -194,26 +161,11 @@ class DeclarationLoopForm extends Model
|
|
|
if(!$model->add($this->data)){
|
|
|
throw new Exception(Form::formatErrorsForApi($model->getErrors()));
|
|
|
}
|
|
|
-// $model->type = null;
|
|
|
-// $model->decSn = null;
|
|
|
-// $model->userId = null;
|
|
|
-// $model->toUserId = null;
|
|
|
-// $model->decPv = null;
|
|
|
-// $model->insertUserName = null;
|
|
|
-// $model->insertUserIdCard = null;
|
|
|
-// $model->conUserName = null;
|
|
|
-// $model->recUserName = null;
|
|
|
-// $model->location = null;
|
|
|
} else {
|
|
|
throw new Exception('The format of the report data is incorrect');// 报单数据格式错误
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 把这几个首购单的注册用户点位绑定到一起
|
|
|
-// UserBind::zcBind($allZcUserIds, $zcUserIdCard);
|
|
|
-// if((microtime(true) - $startTime) >= 20) {
|
|
|
-// throw new Exception('服务端报单超时');
|
|
|
-// }
|
|
|
$transaction->commit();
|
|
|
} catch (\Exception $e){
|
|
|
$transaction->rollBack();
|