6 mesi fa
parent
commit
b35569c145

+ 5 - 5
08.src/Xingxi/xingxi-admin/src/main/java/com/xingxi/web/controller/business/prodInventory/controller/ProdInventoryOrderController.java

@@ -33,7 +33,7 @@ public class ProdInventoryOrderController extends BaseController {
     @Resource
     private IProdInventoryOrderVoService prodInventoryOrderVoService;
 
-    @RequiresPermissions("business:product:inventory:view")
+    @RequiresPermissions("business:prodInventory:order:view")
     @GetMapping("/inventoryOrder")
     public String prodInventoryOrder() {
         return prefix + "/prodInventoryOrder";
@@ -42,7 +42,7 @@ public class ProdInventoryOrderController extends BaseController {
     /**
      * 查询商品出入库单列表
      */
-    @RequiresPermissions("business:prodInventory:list")
+    @RequiresPermissions("business:prodInventory:order:list")
     @PostMapping("/inventoryOrder/list")
     @ResponseBody
     public TableDataInfo inventoryOrderList(ProdInventoryOrderVo prodInventoryOrderVo) {
@@ -62,7 +62,7 @@ public class ProdInventoryOrderController extends BaseController {
     /**
      * 新增保存商品出入库单
      */
-    @RequiresPermissions("business:prodInventory:add")
+    @RequiresPermissions("business:prodInventory:order:add")
     @Log(title = "商品入出库单", businessType = BusinessType.INSERT)
     @PostMapping("/inventoryOrder/add")
     @ResponseBody
@@ -73,7 +73,7 @@ public class ProdInventoryOrderController extends BaseController {
     /**
      * 修改商户
      */
-    @RequiresPermissions("business:prodInventory:edit")
+    @RequiresPermissions("business:prodInventory:order:edit")
     @GetMapping("/inventoryOrder/edit/{inventoryOrderId}")
     public String edit(@PathVariable("inventoryOrderId") Long inventoryOrderId, ModelMap mMap) {
         ProdInventoryOrderVo prodInventoryOrderVo = prodInventoryOrderVoService.selectProdInventoryOrderVoById(inventoryOrderId);
@@ -84,7 +84,7 @@ public class ProdInventoryOrderController extends BaseController {
     /**
      * 修改保存商户
      */
-    @RequiresPermissions("business:prodInventory:edit")
+    @RequiresPermissions("business:prodInventory:order:edit")
     @Log(title = "商品入出库单", businessType = BusinessType.UPDATE)
     @PostMapping("/inventoryOrder/edit")
     @ResponseBody

+ 8 - 0
08.src/Xingxi/xingxi-admin/src/main/java/com/xingxi/web/controller/master/merchant/mapper/MerchantProdVoMapper.java

@@ -15,6 +15,14 @@ import java.util.List;
 @Repository
 public interface MerchantProdVoMapper extends MerchantProdMapper {
     /**
+     * 查询店铺商品
+     *
+     * @param mercProdId 店铺商品ID
+     * @return 店铺商品
+     */
+    MerchantProdVo selectMerchantProdVoById(Long mercProdId);
+
+    /**
      * 查询店铺商品列表
      *
      * @param mercId 店铺ID

+ 8 - 0
08.src/Xingxi/xingxi-admin/src/main/java/com/xingxi/web/controller/master/merchant/service/IMerchantProdVoService.java

@@ -12,6 +12,14 @@ import java.util.List;
  */
 public interface IMerchantProdVoService {
     /**
+     * 查询店铺商品
+     *
+     * @param mercProdId 店铺商品ID
+     * @return 店铺商品
+     */
+    MerchantProdVo selectMerchantProdVoById(Long mercProdId);
+
+    /**
      * 查询店铺商品列表
      *
      * @param mercId 店铺ID

+ 11 - 0
08.src/Xingxi/xingxi-admin/src/main/java/com/xingxi/web/controller/master/merchant/service/impl/MerchantProdVoServiceImpl.java

@@ -28,6 +28,17 @@ public class MerchantProdVoServiceImpl implements IMerchantProdVoService {
     private MerchantProdVoMapper merchantProdVoMapper;
 
     /**
+     * 查询店铺商品
+     *
+     * @param mercProdId 店铺商品ID
+     * @return 店铺商品
+     */
+    @Override
+    public MerchantProdVo selectMerchantProdVoById(Long mercProdId) {
+        return merchantProdVoMapper.selectMerchantProdVoById(mercProdId);
+    }
+
+    /**
      * 查询店铺商品列表
      *
      * @param mercId 店铺ID

+ 20 - 10
08.src/Xingxi/xingxi-admin/src/main/java/com/xingxi/web/controller/master/product/controller/ProdAttrPriceController.java

@@ -5,7 +5,11 @@ import com.xingxi.common.core.controller.BaseController;
 import com.xingxi.common.core.domain.AjaxResult;
 import com.xingxi.common.enums.BusinessType;
 import com.xingxi.common.enums.ERoleKey;
+import com.xingxi.master.merchant.domain.Merchant;
+import com.xingxi.master.merchant.service.IMerchantService;
 import com.xingxi.master.product.domain.ProdAttrPrice;
+import com.xingxi.web.controller.master.merchant.domain.MerchantProdVo;
+import com.xingxi.web.controller.master.merchant.service.IMerchantProdVoService;
 import com.xingxi.web.controller.master.product.domain.ProdAttrPriceVo;
 import com.xingxi.web.controller.master.product.service.IProdAttrPriceVoService;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -27,26 +31,32 @@ public class ProdAttrPriceController extends BaseController {
     private final String prefix = "master/product/prodAttrprice";
 
     @Resource
+    private IMerchantService merchantService;
+    @Resource
+    private IMerchantProdVoService merchantProdVoService;
+    @Resource
     private IProdAttrPriceVoService prodAttrPriceVoService;
 
     @RequiresPermissions("master:product:prodAttrPrice:viewPrice")
     @GetMapping()
-    public String price(@RequestParam("prodId") Long prodId,@RequestParam("prodAttrId") Long prodAttrId, ModelMap mMap) {
+    public String price(@RequestParam("mercProdId") Long mercProdId, ModelMap mMap) {
+        MerchantProdVo merchantProdVo = merchantProdVoService.selectMerchantProdVoById(mercProdId);
+        Merchant merchant = merchantService.selectMerchantByMercId(merchantProdVo.getMercId());
         ProdAttrPriceVo cond = new ProdAttrPriceVo();
-        cond.setProdId(prodId);
-        cond.setProdAttrId(prodAttrId);
+        cond.setProdId(merchantProdVo.getProdId());
+        cond.setProdAttrId(merchantProdVo.getProdAttrId());
         ProdAttrPriceVo prodAttrPriceVo = prodAttrPriceVoService.selectProdAttrPriceVo(cond);
         if (prodAttrPriceVo == null) {
             prodAttrPriceVo = new ProdAttrPriceVo();
-            prodAttrPriceVo.setProdId(prodId);
-            prodAttrPriceVo.setProdAttrId(prodAttrId);
+            prodAttrPriceVo.setProdId(merchantProdVo.getProdId());
+            prodAttrPriceVo.setProdAttrId(merchantProdVo.getProdAttrId());
         }
-        prodAttrPriceVo.setSellerId(0L);
-        prodAttrPriceVo.setSellerName("用户");
-        prodAttrPriceVo.setSellerRoleKey(ERoleKey.PLATFORM.getCode());
-        prodAttrPriceVo.setSellerRoleName(ERoleKey.PLATFORM.getDesc());
+        prodAttrPriceVo.setSellerId(merchantProdVo.getMercId());
+        prodAttrPriceVo.setSellerName(merchant.getMercName());
+        prodAttrPriceVo.setSellerRoleKey(ERoleKey.MERCHANT.getCode());
+        prodAttrPriceVo.setSellerRoleName(ERoleKey.MERCHANT.getDesc());
         prodAttrPriceVo.setBuyerId(100L);
-        prodAttrPriceVo.setBuyerName("平台");
+        prodAttrPriceVo.setBuyerName(ERoleKey.CUSTOMER.getDesc());
         prodAttrPriceVo.setBuyerRoleKey(ERoleKey.CUSTOMER.getCode());
         prodAttrPriceVo.setBuyerRoleName(ERoleKey.CUSTOMER.getDesc());
         mMap.put("prodAttrPriceVo", prodAttrPriceVo);

+ 3 - 1
08.src/Xingxi/xingxi-admin/src/main/java/com/xingxi/web/controller/master/product/domain/ProdAttrJointVo.java

@@ -19,7 +19,9 @@ import java.util.List;
 public class ProdAttrJointVo extends ProdAttrJoint {
     private static final long serialVersionUID = 1L;
     //检索用商品属性标签名称
-    private String prodAttrName;
+    private String attrName;
+    //检索用商品属性类型名称
+    private String attrType;
     //选中的商品属性集合
     private List<ProdAttrJoint> prodAttrJoints;
 }

+ 8 - 0
08.src/Xingxi/xingxi-admin/src/main/resources/mapper/MerchantProdVoMapper.xml

@@ -34,6 +34,14 @@
         inner join m_prod_attr on m_prod_attr.prodAttrId = m_merchant_prod.prodAttrId
     </sql>
 
+    <select id="selectMerchantProdVoById" parameterType="Long" resultMap="MerchantProdResult">
+        <include refid="selectMerchantProdVo"/>
+        <where>
+            and m_merchant_prod.delFlag = 0
+            and m_merchant_prod.mercProdId = #{mercProdId}
+        </where>
+    </select>
+
     <select id="selectMerchantProdVoByMercId" parameterType="Long" resultMap="MerchantProdResult">
         <include refid="selectMerchantProdVo"/>
         <where>

+ 2 - 2
08.src/Xingxi/xingxi-admin/src/main/resources/templates/business/prodInventory/prodInventoryOrder.html

@@ -38,7 +38,7 @@
             </div>
 
             <div class="btn-group-sm" id="toolbar" role="group">
-                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="master:merchant:add">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="business:prodInventory:order:add">
                     <i class="fa fa-plus"></i> 添加
                 </a>
             </div>
@@ -81,7 +81,7 @@
         </div>
     </script>
     <script th:inline="javascript">
-        var editFlag = [[${@permission.hasPermi('business:prodInventory:edit')}]];
+        var editFlag = [[${@permission.hasPermi('business:prodInventory:order:edit')}]];
         var prefix = ctx + "business/prodInventory";
         var shelfFlags = [[${@dict.getType('shelf_flag')}]];
         var billTypeFlags = [[${@dict.getType('inventory_bill_type')}]];

+ 22 - 0
08.src/Xingxi/xingxi-admin/src/main/resources/templates/master/merchant/prod/merchantProd.html

@@ -58,6 +58,7 @@
     <script th:inline="javascript">
         var prefix = ctx + "master/merchant/prod";
         var removeFlag = [[${@permission.hasPermi('master:merchant:prod:remove')}]];
+        var editPriceFlag = [[${@permission.hasPermi('master:merchant:prod:editPrice')}]];
         var shelfFlags = [[${@dict.getType('shelf_flag')}]];
 
         $(function() {
@@ -99,6 +100,7 @@
                             var actions = [];
                             if (row.shelfFlag !== "1") {
                                 actions.push('<a class="btn btn-success btn-xs ' + shelfFlags + '" href="javascript:void(0)" onclick="shelf(\'' + row.mercProdId + '\', \'1\')"><i class="fa fa-uplevel"></i>上架</a> ');
+                                actions.push('<a class="btn btn-info btn-xs ' + editPriceFlag + '" href="javascript:void(0)" onclick="showEditPrice(\'' + row.mercProdId + '\')"><i class="fa fa-money"></i>编辑价格</a> ');
                             } else {
                                 actions.push('<a class="btn btn-success btn-xs ' + shelfFlags + '" href="javascript:void(0)" onclick="shelf(\'' + row.mercProdId + '\', \'0\')"><i class="fa fa-uplevel"></i>下架</a> ');
                             }
@@ -121,6 +123,26 @@
                 $.operate.post(prefix + "/shelf", {"mercProdId": mercProdId, "shelfFlag": shelfFlag});
             });
         }
+
+        function showEditPrice(mercProdId) {
+            layer.open({
+                type: 2,
+                area: ['800px', '600px'],
+                fix: false,
+                //不固定
+                maxmin: true,
+                shade: 0.3,
+                title: "设定商品价格",
+                content: `${ctx}master/product/prodAttrPrice?mercProdId=${mercProdId}`,
+                btn: ['确定', '关闭'],
+                // 弹层外区域关闭
+                shadeClose: true,
+                yes: function(index, layero) {
+                    var iframeWin = layero.find('iframe')[0];
+                    iframeWin.contentWindow.submitHandler(index, layero);
+                }
+            });
+        }
     </script>
 </body>
 </html>

+ 17 - 2
08.src/Xingxi/xingxi-admin/src/main/resources/templates/master/product/prodAttr/add.html

@@ -51,6 +51,7 @@
             showColumns: false,
             showToggle: false,
             showExport: false,
+            clickToSelect: true,
             queryParams: queryParams,
             columns: [
                 {
@@ -103,7 +104,21 @@
             if ($.validate.form()) {
                 var attrType = $("input[name='attrType']:checked").val();
                 if (attrType === "attr") {
-                    $.operate.save(prefix + "/addAttr", $('#form-prodAttr-add').serialize());
+                    var data = {
+                        "prodId" : $("#prodId").val(),
+                        "attrName" : $("input[name='attrName']").val(),
+                        "attrType" : attrType,
+                    }
+                    $.ajax({
+                        url: prefix + "/addAttr",
+                        contentType: 'application/json',
+                        data: JSON.stringify(data),
+                        type: "post",
+                        processData: false,
+                        success: function(result) {
+                            $.operate.successCallback(result);
+                        }
+                    });
                 } else {
                     var prodAttrJoints = [];
                     var selectedRows = $("#prodAttr-table").bootstrapTable('getSelections');
@@ -123,7 +138,7 @@
                         "prodAttrJoints" : prodAttrJoints
                     }
                     $.ajax({
-                        url: prefix + "/addAttrs",
+                        url: prefix + "/addAttr",
                         contentType: 'application/json',
                         data: JSON.stringify(data),
                         type: "post",

+ 0 - 23
08.src/Xingxi/xingxi-admin/src/main/resources/templates/master/product/prodAttr/prodAttr.html

@@ -21,7 +21,6 @@
     var datas = [[${@dict.getType('prod_attr_type')}]];
     var editFlag = [[${@permission.hasPermi('master:product:prodAttr:edit')}]];
     var removeFlag = [[${@permission.hasPermi('master:product:prodAttr:remove')}]];
-    var editPriceFlag = [[${@permission.hasPermi('master:product:prodAttrPrice:viewPrice')}]];
 
     $("#form-prod-edit").validate({
         focusCleanup: true
@@ -60,7 +59,6 @@
                     formatter: function(value, row, index) {
                         var actions = [];
                         actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.prodAttrId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
-                        actions.push('<a class="btn btn-info btn-xs ' + editPriceFlag + '" href="javascript:void(0)" onclick="showEditPrice(\'' + row.prodAttrId + '\')"><i class="fa fa-money"></i>设定价格</a> ');
                         actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.prodAttrId + '\')"><i class="fa fa-remove"></i>删除</a> ');
                         return actions.join('');
                     }
@@ -93,27 +91,6 @@
     function addAttr() {
         $.operate.add($("#prodId").val());
     }
-
-    function showEditPrice(prodAttrId) {
-        var prodId = $("#prodId").val();
-        layer.open({
-            type: 2,
-            area: ['800px', '600px'],
-            fix: false,
-            //不固定
-            maxmin: true,
-            shade: 0.3,
-            title: "设定商品价格",
-            content: `${ctx}master/product/prodAttrPrice?prodId=${prodId}&prodAttrId=${prodAttrId}`,
-            btn: ['确定', '关闭'],
-            // 弹层外区域关闭
-            shadeClose: true,
-            yes: function(index, layero) {
-                var iframeWin = layero.find('iframe')[0];
-                iframeWin.contentWindow.submitHandler(index, layero);
-            }
-        });
-    }
 </script>
 </body>
 </html>