diff --git a/backend/modules/goods/controllers/GoodsController.php b/backend/modules/goods/controllers/GoodsController.php index ee91963..91d07c6 100755 --- a/backend/modules/goods/controllers/GoodsController.php +++ b/backend/modules/goods/controllers/GoodsController.php @@ -101,9 +101,6 @@ class GoodsController extends Controller $model->is_express = Goods::IS_EXPRESS_YES; $model->express_type = Goods::EXPRESS_TYPE_EXPRESS_TEMPLATE; if ($model->load(Yii::$app->request->post()) && $model->validate()) { - if ($model->uniform_postage) { - $model->uniform_postage *= 100; - } //商品封面图和商品详情图上传保存处理 $res = GoodsManager::updateGoods(Yii::$app->request->post(), $model); if ($res['status']) { @@ -133,9 +130,6 @@ class GoodsController extends Controller $cover_image_old_id_str = $model->image; $detail_image_old_id_str = $model->detailImageId; if ($model->load(Yii::$app->request->post()) && $model->validate()) { - if ($model->uniform_postage) { - $model->uniform_postage *= 100; - } //商品封面图和商品详情图上传保存处理 $res = GoodsManager::updateGoods(Yii::$app->request->post(), $model, $cover_image_old_id_str, $detail_image_old_id_str); if ($res['status']) { @@ -143,6 +137,8 @@ class GoodsController extends Controller } } $model->uniform_postage /= 100; + $model->market_price /= 100; + $model->price /= 100; $attributeModel = GoodsManager::getAttribute($id); $checkAttr = GoodsManager::getSkuInfo($id); $filterAttributeModel = GoodsManager::getFilterAttribute($id); diff --git a/backend/modules/goods/logic/goods/GoodsManager.php b/backend/modules/goods/logic/goods/GoodsManager.php index eb0de2f..ea4d990 100755 --- a/backend/modules/goods/logic/goods/GoodsManager.php +++ b/backend/modules/goods/logic/goods/GoodsManager.php @@ -73,6 +73,9 @@ class GoodsManager { $attribute = $data['attribute']; $filterAttribute = $data['filterattribute']; + $model->uniform_postage *= 100; + $model->market_price *= 100; + $model->price *= 100; $tra = Yii::$app->db->beginTransaction(); try { if (!$model->save()) { @@ -300,7 +303,7 @@ class GoodsManager $data['id'] = $sku->id; $data['price'] = $sku->price; $data['stock'] = $sku->stock; - $data['weight'] = $sku->weight; + $data['weight'] = $sku->weight/1000; return $data; } @@ -395,7 +398,7 @@ class GoodsManager $goodsSku->goods_id = $goodsId; $goodsSku->price = $sku['price']; $goodsSku->stock = $sku['stock']; - $goodsSku->weight = $sku['weight']; + $goodsSku->weight = $sku['weight']*1000; $goodsSku->goods_sn = $goodsModel->sn; if (!$goodsSku->save()) { throw new \Exception('保存失败,请检查是否有重复规格'); @@ -405,6 +408,7 @@ class GoodsManager if (!$goods->save()) { throw new \Exception('商品sku类型修改失败'); } + $tra->commit(); } catch (\Exception $e) { $tra->rollBack(); throw new \Exception($e->getMessage()); diff --git a/backend/modules/goods/migrations/m191209_091129_update_columns_in_table_atg_goods.php b/backend/modules/goods/migrations/m191209_091129_update_columns_in_table_atg_goods.php new file mode 100644 index 0000000..c13bf75 --- /dev/null +++ b/backend/modules/goods/migrations/m191209_091129_update_columns_in_table_atg_goods.php @@ -0,0 +1,23 @@ +execute($sql); + } + + /** + * {@inheritdoc} + */ + public function down() + { + return true; + } +} diff --git a/backend/modules/goods/migrations/m191209_091524_add_column_weight_in_table_atg_goods_sku.php b/backend/modules/goods/migrations/m191209_091524_add_column_weight_in_table_atg_goods_sku.php new file mode 100644 index 0000000..73eb933 --- /dev/null +++ b/backend/modules/goods/migrations/m191209_091524_add_column_weight_in_table_atg_goods_sku.php @@ -0,0 +1,20 @@ +addColumn('atg_goods_sku', 'weight', $this->integer(8)->defaultValue("0")->unsigned()->comment('重量')); + } + + public function down() + { + $this->dropColumn('atg_goods_sku', 'weight'); + return true; + } +} diff --git a/backend/modules/goods/migrations/sql/update_goods.sql b/backend/modules/goods/migrations/sql/update_goods.sql new file mode 100644 index 0000000..04b4213 --- /dev/null +++ b/backend/modules/goods/migrations/sql/update_goods.sql @@ -0,0 +1,17 @@ +ALTER TABLE `atg_goods` DROP `weight`; +ALTER TABLE `atg_goods` DROP `length`; +ALTER TABLE `atg_goods` DROP `width`; +ALTER TABLE `atg_goods` DROP `height`; +ALTER TABLE `atg_goods` DROP `diameter`; +ALTER TABLE `atg_goods` DROP `sold_count`; +ALTER TABLE `atg_goods` DROP `market_price`; +ALTER TABLE `atg_goods` DROP `price`; + +ALTER TABLE `atg_goods` ADD COLUMN `weight` mediumint(8) UNSIGNED DEFAULT NULL COMMENT '重量'; +ALTER TABLE `atg_goods` ADD COLUMN `length` mediumint(8) UNSIGNED DEFAULT NULL COMMENT '长度'; +ALTER TABLE `atg_goods` ADD COLUMN `width` mediumint(8) UNSIGNED DEFAULT NULL COMMENT '宽度'; +ALTER TABLE `atg_goods` ADD COLUMN `height` mediumint(8) UNSIGNED DEFAULT NULL COMMENT '高度'; +ALTER TABLE `atg_goods` ADD COLUMN `diameter` mediumint(8) UNSIGNED DEFAULT NULL COMMENT '直径'; +ALTER TABLE `atg_goods` ADD COLUMN `sold_count` int(10) UNSIGNED DEFAULT NULL COMMENT '已售数量'; +ALTER TABLE `atg_goods` ADD COLUMN `market_price` int(20) UNSIGNED DEFAULT NULL COMMENT '市场价'; +ALTER TABLE `atg_goods` ADD COLUMN `price` int(20) UNSIGNED DEFAULT NULL COMMENT '销售价'; \ No newline at end of file diff --git a/backend/modules/goods/models/ars/GoodsSku.php b/backend/modules/goods/models/ars/GoodsSku.php index ab0b17d..68bf7e9 100755 --- a/backend/modules/goods/models/ars/GoodsSku.php +++ b/backend/modules/goods/models/ars/GoodsSku.php @@ -24,6 +24,7 @@ use yii\behaviors\TimestampBehavior; * @property int $created_at 创建时间 * @property int $updated_at 更新时间 * @property int $is_manaul 是否手动 + * @property int $weight 重量 */ class GoodsSku extends \yii\db\ActiveRecord { @@ -48,9 +49,10 @@ class GoodsSku extends \yii\db\ActiveRecord { return [ [['goods_id', 'goods_sn'], 'required'], - [['goods_id', 'diameter', 'sold_count', 'stock', 'market_price', 'price', 'model_id', 'is_sale', 'sort_order', 'is_delete', 'is_manaul'], 'integer'], + [['goods_id', 'sold_count', 'stock', 'market_price', 'price', 'model_id', 'is_sale', 'sort_order', 'is_delete', 'is_manaul'], 'integer'], [['goods_code'], 'string', 'max' => 50], [['goods_sn', 'goods_attr'], 'string', 'max' => 60], + [['weight'], 'safe'] ]; } @@ -75,6 +77,7 @@ class GoodsSku extends \yii\db\ActiveRecord 'is_delete' => '是否删除,1为已删除', 'created_at' => '创建时间', 'updated_at' => '更新时间', + 'weight' => '重量', ]; } diff --git a/backend/modules/goods/views/goods/express.php b/backend/modules/goods/views/goods/express.php index df9ecb9..66682cb 100755 --- a/backend/modules/goods/views/goods/express.php +++ b/backend/modules/goods/views/goods/express.php @@ -28,6 +28,12 @@ use backend\modules\shop\models\ars\ExpressTemplate; registerJs($js); diff --git a/backend/modules/goods/views/goods/goods.php b/backend/modules/goods/views/goods/goods.php index 1f9bf09..c94a5f4 100755 --- a/backend/modules/goods/views/goods/goods.php +++ b/backend/modules/goods/views/goods/goods.php @@ -64,24 +64,39 @@ use backend\modules\goods\models\ars\Goods; registerJs($js); diff --git a/backend/modules/shop/controllers/ExpressTemplateController.php b/backend/modules/shop/controllers/ExpressTemplateController.php index 7b712cb..454bbb5 100755 --- a/backend/modules/shop/controllers/ExpressTemplateController.php +++ b/backend/modules/shop/controllers/ExpressTemplateController.php @@ -210,8 +210,8 @@ class ExpressTemplateController extends Controller $model->basic_price *= 100; $model->extra_price *= 100; if ($expressTemplateModel->calculation_type == ExpressTemplate::CALCULATION_TYPE_WEIGHT) { - $model->basic_count *= 10; - $model->extra_count *= 10; + $model->basic_count *= 1000; + $model->extra_count *= 1000; } else { $model->basic_count *= 1; $model->extra_count *= 1; @@ -279,8 +279,8 @@ class ExpressTemplateController extends Controller $model->basic_price *= 100; $model->extra_price *= 100; if ($expressTemplateModel->calculation_type == ExpressTemplate::CALCULATION_TYPE_WEIGHT) { - $model->basic_count *= 10; - $model->extra_count *= 10; + $model->basic_count *= 1000; + $model->extra_count *= 1000; } else { $model->basic_count *= 1; $model->extra_count *= 1;