diff --git a/application/store/controller/Goods.php b/application/store/controller/Goods.php
index f9aa540e5..fb8d9b7c4 100644
--- a/application/store/controller/Goods.php
+++ b/application/store/controller/Goods.php
@@ -223,6 +223,45 @@ class Goods extends BasicAdmin
         return ['main' => $main, 'list' => $list];
     }
 
+    /**
+     * 商品库存信息更新
+     * @return string
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function stock()
+    {
+        if (!$this->request->post()) {
+            $goods_id = $this->request->get('id');
+            $goods = Db::name('StoreGoods')->where(['id' => $goods_id, 'is_deleted' => '0'])->find();
+            empty($goods) && $this->error('该商品无法操作入库操作!');
+            $where = ['goods_id' => $goods_id, 'status' => '1', 'is_deleted' => '0'];
+            $goods['list'] = Db::name('StoreGoodsList')->where($where)->select();
+            return $this->fetch('', ['vo' => $goods]);
+        }
+        // 入库保存
+        $goods_id = $this->request->post('id');
+        list($post, $data) = [$this->request->post(), []];
+        foreach ($post['spec'] as $key => $spec) {
+            if ($post['stock'][$key] > 0) {
+                $data[] = [
+                    'goods_stock' => $post['stock'][$key],
+                    'stock_desc'  => $this->request->post('desc'),
+                    'goods_spec'  => $spec, 'goods_id' => $goods_id,
+                ];
+            }
+        }
+        empty($data) && $this->error('无需入库的数据哦!');
+        if (Db::name('StoreGoodsStock')->insertAll($data) !== false) {
+            GoodsService::syncGoodsStock($goods_id);
+            $this->success('商品入库成功!', '');
+        }
+        $this->error('商品入库失败,请稍候再试!');
+    }
+
     /**
      * 删除商品
      * @throws \think\Exception
diff --git a/application/store/service/GoodsService.php b/application/store/service/GoodsService.php
index 75c5c07f9..7ef6c6a7f 100644
--- a/application/store/service/GoodsService.php
+++ b/application/store/service/GoodsService.php
@@ -99,7 +99,7 @@ class GoodsService
     {
         // 检查商品是否需要更新库存
         $map = ['id' => $goods_id, 'is_deleted' => '0'];
-        if (!($goods = Db::name('Goods')->where($map)->find())) {
+        if (!($goods = Db::name('StoreGoods')->where($map)->find())) {
             return ['code' => 0, 'msg' => '指定商品信息无法同步库存!'];
         }
         // 统计入库信息
@@ -109,7 +109,7 @@ class GoodsService
         // 统计销售信息
         $saleField = 'goods_id,goods_spec,ifnull(sum(number), 0) goods_sale';
         $saleWhere = ['status' => '1', 'is_deleted' => '0', 'goods_id' => $goods_id];
-        $saleList = (array)Db::name('StoreOrderList')->field($saleField)->where($saleWhere)->group('goods_id,goods_spec')->select();
+        $saleList = (array)Db::name('StoreOrderGoods')->field($saleField)->where($saleWhere)->group('goods_id,goods_spec')->select();
         // 库存置零
         list($where, $total_sale) = [['goods_id' => $goods_id], 0];
         Db::name('StoreGoodsList')->where($where)->update(['goods_stock' => 0, 'goods_sale' => 0]);
diff --git a/application/store/view/goods/index.html b/application/store/view/goods/index.html
index b47420777..6b33ced59 100644
--- a/application/store/view/goods/index.html
+++ b/application/store/view/goods/index.html
@@ -159,6 +159,11 @@
                 <a data-open='{:url("$classuri/edit")}?id={$vo.id}'>编辑</a>
                 <!--{/if}-->
 
+                <!--{if auth("$classuri/stock")}-->
+                <span class="text-explode">|</span>
+                <a data-title="商品入库" data-modal='{:url("$classuri/stock")}?id={$vo.id}'>入库</a>
+                <!--{/if}-->
+
                 <!--{if $vo.status eq 1 and auth("$classuri/forbid")}-->
                 <span class="text-explode">|</span>
                 <a data-update="{$vo.id}" data-field='status' data-value='0' data-action='{:url("$classuri/forbid")}'>下架</a>
diff --git a/application/store/view/goods/stock.html b/application/store/view/goods/stock.html
new file mode 100644
index 000000000..d712b1f9b
--- /dev/null
+++ b/application/store/view/goods/stock.html
@@ -0,0 +1,52 @@
+<form class="layui-form layui-box modal-form-box" action="{:request()->url()}" data-auto="true" method="post">
+
+    <div class="layui-form-item">
+        <label class="layui-form-label">商品名称</label>
+        <div class="layui-input-block">
+            <input value='{$vo.goods_title|default=""}' disabled="disabled" class="layui-input layui-bg-gray">
+        </div>
+    </div>
+
+    <div class="layui-form-item">
+        <label class="layui-form-label label-required">商品库存</label>
+        <div class="layui-input-block">
+            <table class="layui-table" lay-size="sm">
+                <thead>
+                <tr>
+                    <th>商品规格</th>
+                    <th class="text-right">入库数量</th>
+                </tr>
+                </thead>
+                {foreach $vo.list as $spec}
+                <tr>
+                    <td>
+                        {$spec.goods_spec|str_replace=['default:default',',',':'],['默认规格',',',':'],###}
+                    </td>
+                    <td style="padding:0">
+                        <input name="spec[]" value="{$spec.goods_spec}" type="hidden">
+                        <input name="stock[]" value="0" onblur="this.value=parseInt(this.value)||0"
+                               class="layui-input text-right padding-right-10 border-none">
+                    </td>
+                </tr>
+                {/foreach}
+            </table>
+        </div>
+    </div>
+
+    <div class="layui-form-item">
+        <label class="layui-form-label">入库描述</label>
+        <div class="layui-input-block">
+            <textarea placeholder="请输入入库描述" title="请输入入库描述" class="layui-textarea" name="desc"></textarea>
+        </div>
+    </div>
+
+    <div class="hr-line-dashed"></div>
+
+    <div class="layui-form-item text-center">
+        {if isset($vo['id'])}<input type='hidden' value='{$vo.id}' name='id'/>{/if}
+        <button class="layui-btn" type='submit'>保存数据</button>
+        <button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
+    </div>
+
+    <script>window.form.render();</script>
+</form>