Browse Source

style: 代码调整

wechat_public_accounts
travis 5 years ago
parent
commit
b235255687
  1. 42
      backend/modules/shop/logic/delivery/DeliveryManager.php
  2. 2
      backend/modules/shop/migrations/m191206_024047_create_table_delivery_goods.php
  3. 6
      backend/modules/shop/models/ars/DeliveryGoods.php
  4. 14
      backend/modules/shop/views/order/delivery_goods.php

42
backend/modules/shop/logic/delivery/DeliveryManager.php

@ -43,8 +43,8 @@ class DeliveryManager
$model->order_goods_id = $value->id;
$model->goods_id = $value->goods_id;
$model->goods_name = $value->goods_name;
$model->goods_number = $value->goods_number;
if ($model->goods_number < $value->lack_number) {
$model->goods_count = $value->goods_count;
if ($model->goods_count < $value->lack_number) {
$order->status = Order::STATUS_SHIPMENT_PORTION;
}
if (!$model->save()) {
@ -89,12 +89,12 @@ class DeliveryManager
for ($i = 0; $i < count($deliveryGoods); $i++) {
$orderGoodsId = $deliveryGoods[$i]['order_goods_id'];
//以orderGoods的id为键名,以orderGoods的数量为键值,先保存到filter数组中
$filter[$orderGoodsId] = $deliveryGoods[$i]['goods_number'];
$filter[$orderGoodsId] = $deliveryGoods[$i]['goods_count'];
for ($j = 0; $j < count($deliveryGoods); $j++) {
//如果发货商品中有其他相同orderGoods的商品
if ($orderGoodsId == $deliveryGoods[$j]['order_goods_id'] && $i !== $j) {
//商品数量叠加起来并保存
$filter[$orderGoodsId] += $deliveryGoods[$j]['goods_number'];
$filter[$orderGoodsId] += $deliveryGoods[$j]['goods_count'];
}
}
}
@ -108,7 +108,7 @@ class DeliveryManager
* @return array
* 首次发货直接获取orderGoods的内容
*/
public static function firstDelivery($order_id)
private static function firstDelivery($order_id)
{
$unShippedGoods = [];
$orderGoods = OrderGoods::find()->where(['order_id' => $order_id])->all();
@ -118,9 +118,7 @@ class DeliveryManager
'goods_id' => $v->goods_id,
'goods_img' => $v->goods_img,
'goods_name' => $v->goods_name,
'price' => $v->price,
'market_price' => $v->market_price,
'goods_number' => $v->goods_count,
'goods_count' => $v->goods_count,
'lack_number' => $v->goods_count,
'sku_value' => $v->sku_value,
];
@ -135,15 +133,15 @@ class DeliveryManager
* @throws Exception
* 获取订单已发的商品和未发的商品
*/
public static function getDeliveryGoodsInfo($filter,$order_id)
public static function getDeliveryGoodsInfo($filter, $order_id)
{
$unShipped = []; //未发货商品
foreach ($filter as $k => $value) { //键名为ordergoods_id,键值为对应的已发货数量
foreach ($filter as $k => $value) { //键名为order_goods_id,键值为对应的已发货数量
$goodsData = self::getOrderGoodsInfo($k);
if ($value < $goodsData['goods_number']) { //如果已发货数量未达到order_goods里的数量
$lack_number = $goodsData['goods_number'] - $value;
if ($value < $goodsData['goods_count']) { //如果已发货数量未达到order_goods里的数量
$lack_number = $goodsData['goods_count'] - $value;
$goodsData['lack_number'] = $lack_number;
$goodsData['goods_number'] = $lack_number;
$goodsData['goods_count'] = $lack_number;
$unShipped[] = $goodsData;
}
}
@ -155,7 +153,7 @@ class DeliveryManager
* @param $order_id
* @return array
* @throws Exception
* 通过订单获取发货信息
* 通过订单id获取发货信息
*/
public static function getDeliveryInfo($order_id)
{
@ -184,31 +182,33 @@ class DeliveryManager
public static function getDeliverGoodsInfo($delivery_id)
{
$goodsInfo = [];
$deliveryGoods = DeliveryGoods::find()->where(['delivery_id'=>$delivery_id])->andWhere(['>','goods_number',0])->all();
$deliveryGoods = DeliveryGoods::find()
->where(['delivery_id' => $delivery_id])
->andWhere(['>', 'goods_count', 0])
->all();
foreach ($deliveryGoods as $value) {
$goodsData = self::getOrderGoodsInfo($value->order_goods_id);
$goodsData['delivery_number'] = $value->goods_number;
$goodsData['delivery_number'] = $value->goods_count;
$goodsInfo[] = $goodsData;
}
return $goodsInfo;
}
/**
* @param $orderGoodsId
* @param $order_goods_id
* @return array
* @throws Exception
* 获取订单商品信息
*/
private static function getOrderGoodsInfo($orderGoodsId)
private static function getOrderGoodsInfo($order_goods_id)
{
$orderGoods = OrderGoods::findOne($orderGoodsId); //通过orderGoods_id找到订单商品
$orderGoods = OrderGoods::findOne($order_goods_id); //通过orderGoods_id找到订单商品
if ($orderGoods) {
$goodsData = [
'id' => $orderGoods->id,
'goods_id' => $orderGoods->goods_id,
'goods_name' => $orderGoods->goods_name,
'shop_price' => $orderGoods->price,
'goods_number' => $orderGoods->goods_count,
'goods_count' => $orderGoods->goods_count,
'goods_img' => $orderGoods->goods_img,
'sku_value' => $orderGoods->sku_value,
];

2
backend/modules/shop/migrations/m191206_024047_create_table_delivery_goods.php

@ -19,7 +19,7 @@ class m191206_024047_create_table_delivery_goods extends Migration
'order_goods_id' => $this->integer()->notNull()->defaultValue(0)->comment('订单商品id'),
'goods_id' => $this->integer()->notNull()->defaultValue(0)->comment('商品id'),
'goods_name' => $this->string()->notNull()->defaultValue('')->comment('商品名称'),
'goods_number' => $this->integer()->notNull()->defaultValue(0)->comment('商品数量'),
'goods_count' => $this->integer()->notNull()->defaultValue(0)->comment('商品数量'),
'created_at' => $this->integer()->notNull()->defaultValue(0)->comment('创建时间'),
'updated_at' => $this->integer()->notNull()->defaultValue(0)->comment('更新时间'),
], $tableOptions);

6
backend/modules/shop/models/ars/DeliveryGoods.php

@ -13,7 +13,7 @@ use yii\behaviors\TimestampBehavior;
* @property int $order_goods_id 订单商品id
* @property int $goods_id 商品id
* @property int $goods_name 商品名称
* @property int $goods_number 商品数量
* @property int $goods_count 商品数量
* @property int $created_at 创建时间
* @property int $updated_at 更新时间
*/
@ -33,7 +33,7 @@ class DeliveryGoods extends \yii\db\ActiveRecord
public function rules()
{
return [
[['delivery_id', 'order_goods_id', 'goods_id', 'goods_number'], 'integer'],
[['delivery_id', 'order_goods_id', 'goods_id', 'goods_count'], 'integer'],
[['goods_name'], 'string'],
];
}
@ -49,7 +49,7 @@ class DeliveryGoods extends \yii\db\ActiveRecord
'order_goods_id' => '订单商品id',
'goods_id' => '商品id',
'goods_name' => '商品名称',
'goods_number' => '商品数量',
'goods_count' => '商品数量',
'created_at' => '创建时间',
'updated_at' => '更新时间',
];

14
backend/modules/shop/views/order/delivery_goods.php

@ -64,7 +64,7 @@
"<td class='goods_name'>" + item.goods_name + "</td>" +
"<td class='goods_sku'>" + item.sku_value + "</td>" +
"<td class='lack_number'>" + item.lack_number + "</td>" +
"<td><input type='text' class='goods_number' value='"+item.lack_number+"' disabled/></td>" +
"<td><input type='text' class='goods_count' value='"+item.lack_number+"' disabled/></td>" +
"<td>" +
"<input type='button' class='btn btn-primary' value='编辑' onclick='updateGoods(this)'/>" +
"<input type='button' class='btn btn-primary' value='保存' onclick='saveGoods(this)' style='display: none' />" +
@ -93,7 +93,7 @@
var tr = "<tr data-index='" + index +"'>" +
"<td class='goods_name'>" + item.goods_name + "</td>" +
"<td class='goods_sku'>" + item.sku_value + "</td>" +
"<td class='goods_number'>" + item.delivery_number + "</td>" +
"<td class='goods_count'>" + item.delivery_number + "</td>" +
"</tr>";
$(table).append(tr);
});
@ -104,7 +104,7 @@
function updateGoods(ref){
$(ref).hide();
$(ref).next().show();
$(ref).parent().parent().find('.goods_number').removeAttr('disabled')
$(ref).parent().parent().find('.goods_count').removeAttr('disabled')
}
//保存编辑
@ -113,15 +113,15 @@
unShipped = JSON.parse(unShipped)
}
var tr = $(ref).parent().parent();
tr.find('.goods_number').attr('disabled','disabled');
tr.find('.goods_count').attr('disabled','disabled');
var index = tr.attr('data-index');
var number = tr.find('.goods_number').val();
var number = tr.find('.goods_count').val();
if (number < 0) {
alert('发货数量不能低于0');
tr.find('.goods_number').val(0);
tr.find('.goods_count').val(0);
return false;
}
unShipped[index].goods_number = number;
unShipped[index].goods_count = number;
unShipped = JSON.stringify(unShipped);
$('#deliveryGoods').val(unShipped);
$(ref).hide();

Loading…
Cancel
Save