Bläddra i källkod

商品分类修改

zcb 4 år sedan
förälder
incheckning
e48d4e3d70

+ 2 - 2
kmall-admin/src/main/java/com/kmall/admin/controller/AttributeController.java

@@ -68,7 +68,7 @@ public class AttributeController {
         builder.put("name", "名称");
         builder.put("attributeCategoryId", "所属分类");
         builder.put("merchSn", "商户");
-        builder.put("storeId", "门店");
+//        builder.put("storeId", "门店");
         R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
         if (Integer.valueOf(r.get("code").toString()) != 0) {
             throw new RRException(r.get("msg").toString());
@@ -89,7 +89,7 @@ public class AttributeController {
         builder.put("name", "名称");
         builder.put("attributeCategoryId", "所属分类");
         builder.put("merchSn", "商户");
-        builder.put("storeId", "门店");
+//        builder.put("storeId", "门店");
         R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
         if (Integer.valueOf(r.get("code").toString()) != 0) {
             throw new RRException(r.get("msg").toString());

+ 2 - 2
kmall-admin/src/main/java/com/kmall/admin/controller/BrandController.java

@@ -68,7 +68,7 @@ public class BrandController {
         Map<String, Object> valideDate = MapBeanUtil.fromObject(brand);
         ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
         builder.put("merchSn", "商户");
-        builder.put("storeId", "门店");
+//        builder.put("storeId", "门店");
         builder.put("categoryId", "分类");
         R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
         if (Integer.valueOf(r.get("code").toString()) != 0) {
@@ -90,7 +90,7 @@ public class BrandController {
         Map<String, Object> valideDate = MapBeanUtil.fromObject(brand);
         ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
         builder.put("merchSn", "商户");
-        builder.put("storeId", "门店");
+//        builder.put("storeId", "门店");
         builder.put("categoryId", "分类");
         R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
         if (Integer.valueOf(r.get("code").toString()) != 0) {

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/controller/CategoryController.java

@@ -143,7 +143,7 @@ public class CategoryController {
      */
     @RequestMapping("/getCategorySelect")
     public R getCategorySelect(@RequestParam Map<String, Object> map) {
-        map.put("parentId", "0");
+//        map.put("parentId", "0");
         ParamUtils.setQueryPowerByRoleType(map, "storeId", "merchSn", "thirdPartyMerchCode");
         List<CategoryEntity> list = categoryService.queryList(map);
         return R.ok().put("list", list);

+ 25 - 8
kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

@@ -1788,6 +1788,10 @@ public class OrderServiceImpl implements OrderService {
 
 
 
+            // 根据活动形式来查询
+
+
+
             // 优惠金额
             BigDecimal disCountAmount = new BigDecimal(0);
             // 活动id
@@ -1899,7 +1903,7 @@ public class OrderServiceImpl implements OrderService {
             // 微信支付
 //            wxPay(user, parCode, resultObj, order, processRecordEntity, orderWXPayRecordCurrent, store);
             // 支付宝支付
-//            AliPay(user, parCode , order, processRecordEntity, orderWXPayRecordCurrent, store);
+            AliPay(user, parCode , order, processRecordEntity, orderWXPayRecordCurrent, store);
             resultObj.put("shopName",store.getStoreName()); // 根据门店编号查询
             resultObj.put("userName",user.getUsername());
 
@@ -2041,21 +2045,34 @@ public class OrderServiceImpl implements OrderService {
         if(mkStoreTicketDiscountEntities.size() > 0){
             // 上一次所需金额,用于取最大的优惠力度
             BigDecimal lastAmount = new BigDecimal(0);
+            BigDecimal lastRadio = new BigDecimal(0);
             for (int i = 0 ; i < mkStoreTicketDiscountEntities.size() ; i++){
                 MkStoreTicketDiscountEntity mkStoreTicketDiscountEntity = mkStoreTicketDiscountEntities.get(i);
                 // 代金券所需金额
                 // TODO 20200610还有折扣券的,逻辑较为复杂,下次在开发
-                BigDecimal discCond = mkStoreTicketDiscountEntity.getVoucherCond();
 
-                // 判断这次金额是否大于上次金额,如果不大于,直接continue
-                if(discCond.compareTo(lastAmount) > 0){
-                    // 如果总金额大于所需金额,则可以使用该优惠券,记录该优惠券的角标,金额跟优惠的钱
+                if("00".equals(mkStoreTicketDiscountEntity.getApplyType())){
+                    BigDecimal discCond = mkStoreTicketDiscountEntity.getVoucherCond();
+                    // 判断这次金额是否大于上次金额,如果不大于,直接continue
+                    if(discCond.compareTo(lastAmount) > 0){
+                        // 如果总金额大于所需金额,则可以使用该优惠券,记录该优惠券的角标,金额跟优惠的钱
+                        if(totalPrice.compareTo(discCond) > 0){
+                            // 记录上一次金额
+                            lastAmount = discCond;
+                            ticketDisCountAmount = mkStoreTicketDiscountEntity.getVoucherMoney();
+                        }
+                    }
+                }else if("01".equals(mkStoreTicketDiscountEntity.getApplyType())){
+                    BigDecimal discCond = mkStoreTicketDiscountEntity.getDiscCond();
                     if(totalPrice.compareTo(discCond) > 0){
-                        // 记录上一次金额
-                        lastAmount = discCond;
-                        ticketDisCountAmount = mkStoreTicketDiscountEntity.getVoucherMoney();
+                        // 打的折扣
+                        lastRadio = mkStoreTicketDiscountEntity.getDiscRatio();
                     }
+
+
                 }
+
+
             }
         }
 

+ 0 - 5
kmall-admin/src/main/resources/mybatis/mapper/BrandDao.xml

@@ -125,12 +125,10 @@
         b.is_new,
         `new_pic_url`,
         b.new_sort_order,
-        s.store_name storeName,
         m.merch_name merchName,
         cg.name categoryName,
         b.category_id
         from mall_brand b
-        left join mall_store s on b.store_id = s.id
         left join mall_merch m on b.merch_sn = m.merch_sn
         LEFT JOIN mall_category cg ON b.category_id = cg.id
         WHERE 1=1
@@ -143,9 +141,6 @@
         <if test="merchSn != null and merchSn.trim() != ''">
             AND b.merch_sn = #{merchSn}
         </if>
-        <if test="thirdPartyMerchCode != null and thirdPartyMerchCode.trim() != ''">
-            AND s.third_party_merch_code = #{thirdPartyMerchCode}
-        </if>
         <if test="name != null and name.trim() != ''">
             AND b.name LIKE concat('%',#{name},'%')
         </if>

+ 4 - 4
kmall-admin/src/main/webapp/WEB-INF/page/mk/mkstoreticketdiscount.html

@@ -195,9 +195,9 @@
                             <Radio label="00">
                                 <span>代金券</span>
                             </Radio>
-                           <!-- TODO req_hidden_20200610 <Radio label="01">
+                           <Radio label="01">
                                 <span>折扣券</span>
-                            </Radio>-->
+                            </Radio>
                             <!--<Radio label="02">-->
                                 <!--<span>兑换券</span>-->
                             <!--</Radio>-->
@@ -206,9 +206,9 @@
                             <Radio label="00" disabled>
                                 <span>代金券</span>
                             </Radio>
-                            <!-- TODO req_hidden_20200610<Radio label="01" disabled>
+                             <Radio label="01" disabled>
                                 <span>折扣券</span>
-                            </Radio>-->
+                            </Radio>
                             <!--<Radio label="02" disabled>-->
                                 <!--<span>兑换券</span>-->
                             <!--</Radio>-->

+ 6 - 12
kmall-admin/src/main/webapp/WEB-INF/page/shop/attribute.html

@@ -37,23 +37,17 @@
         <p slot="title">{{title}}</p>
         <i-form ref="formValidate" :model="attribute" :rules="ruleValidate" :label-width="80">
             <Form-item label="商户" prop="merchSn">
-                <i-select v-model="attribute.merchSn" filterable placeholder="商户" @on-change="getStoresByMerch" label-in-value>
+                <i-select v-model="attribute.merchSn" filterable placeholder="商户" @on-change="getCategorysByMerch" label-in-value>
                     <i-option v-for="merch in merchList" :value="merch.merchSn" :key="merch.merchSn">{{merch.merchName}}</i-option>
                 </i-select>
             </Form-item>
-            <Form-item label="门店" prop="storeId">
-                <i-select v-model="attribute.storeId" filterable placeholder="门店" label-in-value @on-change="getDataChangeStore">
-                    <i-option v-for="store in storeList" :value="store.id" :key="store.id">{{store.storeName}}</i-option>
-                </i-select>
-            </Form-item>
             <Form-item label="名称" prop="name">
                 <i-input v-model="attribute.name" placeholder="名称"/>
             </Form-item>
-            <Form-item label="所属分类" prop="attributeCategoryId">
-                <i-select v-model="attribute.attributeCategoryId" filterable>
-                    <i-option v-for="category in categories" :value="category.id" :key="category.id">{{category.name}}
-                    </i-option>
-                </i-select>
+            <Form-item label="商品类型数">
+                <div style="overflow-y: auto; max-height: 250px; border: 1px solid #cccccc;">
+                    <ul id="categoryTree" class="ztree"></ul>
+                </div>
             </Form-item>
             <!--<Form-item label="类型" prop="inputType">
             <i-input v-model="attribute.inputType" placeholder="类型"/>
@@ -76,4 +70,4 @@
 
 <script src="${rc.contextPath}/js/shop/attribute.js?_${date.systemTime}"></script>
 </body>
-</html>
+</html>

+ 8 - 13
kmall-admin/src/main/webapp/WEB-INF/page/shop/brand.html

@@ -41,22 +41,17 @@
         <p slot="title">{{title}}</p>
         <i-form ref="formValidate" :model="brand" :rules="ruleValidate" :label-width="100">
             <Form-item label="商户" prop="merchSn">
-                <i-select v-model="brand.merchSn" filterable placeholder="商户" @on-change="getStoresByMerch" label-in-value>
+                <i-select v-model="brand.merchSn" filterable placeholder="商户" @on-change="getCategorysByMerch" label-in-value>
                     <i-option v-for="merch in merchList" :value="merch.merchSn" :key="merch.merchSn">{{merch.merchName}}</i-option>
                 </i-select>
             </Form-item>
-            <Form-item label="门店" prop="storeId">
-                <i-select v-model="brand.storeId" filterable placeholder="门店" @on-change="getCategoryByStore" label-in-value>
-                    <i-option v-for="store in storeList" :value="store.id" :key="store.id">{{store.storeName}}</i-option>
-                </i-select>
-            </Form-item><Form-item label="商品类型" prop="categoryId" style="height: 30px;">
-            <i-select v-model="brand.categoryId" placeholder="商品分类"
-                      label-in-value style="width: 268px;height: 30px;">
-                <i-option v-for="category in categories" :value="category.id"
-                          :key="category.id">{{category.name}}
-                </i-option>
-            </i-select>
-        </Form-item>
+
+            <Form-item label="商品类型数">
+                <div style="overflow-y: auto; max-height: 250px; border: 1px solid #cccccc;">
+                    <ul id="categoryTree" class="ztree"></ul>
+                </div>
+            </Form-item>
+
             <Form-item label="品牌名称" prop="name">
                 <i-input v-model="brand.name" placeholder="品牌名称"/>
             </Form-item>

+ 1 - 15
kmall-admin/src/main/webapp/WEB-INF/page/shop/category.html

@@ -47,21 +47,7 @@
                     <i-option v-for="merch in merchList" :value="merch.merchSn" :key="merch.merchSn">{{merch.merchName}}</i-option>
                 </i-select>
             </Form-item>
-            <Form-item label="是否共享类别" prop="level">
-                <Radio-group v-model="category.share">
-                    <Radio label="1">
-                        <span>是</span>
-                    </Radio>
-                    <Radio label="2">
-                        <span>否</span>
-                    </Radio>
-                </Radio-group>
-            </Form-item>
-            <Form-item  v-if="category.share == '2'"  label="门店" prop="storeId">
-                <i-select v-model="category.storeId" placeholder="门店" label-in-value  @on-change="getCategory">
-                    <i-option v-for="store in storeList" :value="store.id" :key="store.id">{{store.storeName}}</i-option>
-                </i-select>
-            </Form-item>
+
             <Form-item label="分类名称" prop="name">
                 <i-input v-model="category.name" placeholder="分类名称"/>
             </Form-item>

+ 12 - 12
kmall-admin/src/main/webapp/WEB-INF/page/shop/storeProductStock.html

@@ -128,18 +128,18 @@
                 #if($shiro.hasPermission("productstorerela:delete"))
                 <i-button type="error" @click="del"><i class="fa fa-trash-o"></i>&nbsp;删除</i-button>
                 #end
-                #if($shiro.hasPermission("productstorerela:productStoreRelaUpload"))
-                <i-col style="display: inline-grid;">
-                    <Upload :show-upload-list="false" :on-success="uploadExcelSuccess" :on-error="uploadExcelError" :on-format-error="uploadExcelFormatError"
-                            :format="['xls','xlsx']"
-                            action="../productstorerela/productStoreRelaUpload">
-                        <i-button type="ghost" icon="ios-cloud-upload-outline">门店商品导入</i-button>
-                    </Upload>
-                </i-col>
-                #end
-                #if($shiro.hasPermission("productstorerela:down"))
-                &nbsp;&nbsp;&nbsp;<a href="../statics/file/store_goods_export_yyyy_mm_dd_v1.0.0.xls">门店商品模板下载</a>&nbsp;&nbsp;&nbsp;&nbsp;
-                #end
+<!--                #if($shiro.hasPermission("productstorerela:productStoreRelaUpload"))-->
+<!--                <i-col style="display: inline-grid;">-->
+<!--                    <Upload :show-upload-list="false" :on-success="uploadExcelSuccess" :on-error="uploadExcelError" :on-format-error="uploadExcelFormatError"-->
+<!--                            :format="['xls','xlsx']"-->
+<!--                            action="../productstorerela/productStoreRelaUpload">-->
+<!--                        <i-button type="ghost" icon="ios-cloud-upload-outline">门店商品导入</i-button>-->
+<!--                    </Upload>-->
+<!--                </i-col>-->
+<!--                #end-->
+<!--                #if($shiro.hasPermission("productstorerela:down"))-->
+<!--                &nbsp;&nbsp;&nbsp;<a href="../statics/file/store_goods_export_yyyy_mm_dd_v1.0.0.xls">门店商品模板下载</a>&nbsp;&nbsp;&nbsp;&nbsp;-->
+<!--                #end-->
             </div>
         </Row>
         <table id="jqGrid"></table>

+ 34 - 15
kmall-admin/src/main/webapp/js/shop/attribute.js

@@ -41,6 +41,32 @@ $(function () {
     });
 });
 
+
+var category_ztree;
+var category_setting = {
+    data: {
+        simpleData: {
+            enable: true,
+            idKey: "id",
+            pIdKey: "parentId",
+            rootPId: -1
+        },
+        key: {
+            url: "nourl"
+        }
+    },
+    check: {
+        enable: false,
+        nocheckInherit: true
+    },
+    callback:{
+        onClick:function(event, treeId, treeNode){
+            console.log("点我干啥:"+event+","+treeId+","+treeNode.name+","+treeNode.id);
+            vm.attribute.attributeCategoryId = treeNode.id;
+        }
+    }
+};
+
 var vm = new Vue({
     el: '#rrapp',
     data: {
@@ -70,7 +96,7 @@ var vm = new Vue({
             vm.attribute = {};
             vm.attribute = { sortOrder: '' };
             vm.categories = [];
-            this.getCategories();
+            // this.getCategories();
             vm.storeList = [];
             vm.merchList = [];
             vm.getMerchList();
@@ -138,10 +164,13 @@ var vm = new Vue({
                 vm.attribute = r.attribute;
             });
         },
-        getStoresByMerch: function (opt) {
+        getCategorysByMerch: function (opt) {
             var value = opt.value;
-            $.get("../store/getStoresByMerch?merchSn=" + value, function (r) {
-                vm.storeList = r.list;
+            //加载菜单树
+            $.get("../category/getCategorySelect?isShow=1&merchSn=" + value, function (r) {
+                category_ztree = $.fn.zTree.init($("#categoryTree"), category_setting, r.list);
+                //展开所有节点
+                category_ztree.expandAll(true);
             });
         },
         getMerchList: function() {
@@ -158,16 +187,6 @@ var vm = new Vue({
             }).trigger("reloadGrid");
             vm.handleReset('formValidate');
         },
-        getDataChangeStore: function (opt) {
-            var storeId = opt.value;
-            vm.getCategories(storeId);
-
-        },
-        getCategories: function (storeId) {
-            $.get("../category/getCategory?isL2=0&isShow=1&storeId=" + storeId, function (r) {
-                vm.categories = r.list;
-            });
-        },
         handleSubmit: function (name) {
             vm.saveOrUpdate();
         },
@@ -175,4 +194,4 @@ var vm = new Vue({
             handleResetForm(this, name);
         }
     }
-});
+});

+ 44 - 14
kmall-admin/src/main/webapp/js/shop/brand.js

@@ -6,7 +6,7 @@ $(function () {
             label: 'id', name: 'id', index: 'id', key: true, width: 140,align: 'center'
         },
             {label: '所属商户', name: 'merchName', index: 'merchName', width: 180, align: 'center'},
-            {label: '所属门店', name: 'storeName', index: 'storeName', width: 180, align: 'center'},
+            // {label: '所属门店', name: 'storeName', index: 'storeName', width: 180, align: 'center'},
             {label: '所属分类', name: 'categoryName', index: 'categoryName', width: 180, align: 'center'},
             {
             label: '品牌名称', name: 'name', index: 'name', width: 300
@@ -82,6 +82,32 @@ $(function () {
     });
 });
 
+
+var category_ztree;
+var category_setting = {
+    data: {
+        simpleData: {
+            enable: true,
+            idKey: "id",
+            pIdKey: "parentId",
+            rootPId: -1
+        },
+        key: {
+            url: "nourl"
+        }
+    },
+    check: {
+        enable: false,
+        nocheckInherit: true
+    },
+    callback:{
+        onClick:function(event, treeId, treeNode){
+            console.log("点我干啥:"+event+","+treeId+","+treeNode.name+","+treeNode.id);
+            vm.brand.categoryId = treeNode.id;
+        }
+    }
+};
+
 var vm = new Vue({
     el: '#rrapp',
     data: {
@@ -217,7 +243,7 @@ var vm = new Vue({
 
             vm.getInfo(id);
             vm.getMerchList();
-            vm.getStoresByMerch();
+            // vm.getStoresByMerch();
         },
         saveOrUpdate: function (event) {
             var url = vm.brand.id == null ? "../brand/save" : "../brand/update";
@@ -266,26 +292,30 @@ var vm = new Vue({
                 vm.brand = r.brand;
             });
         },
-        getStoresByMerch: function (opt) {
+        getCategorysByMerch: function (opt) {
             var value = opt.value;
-            $.get("../store/getStoresByMerch?merchSn=" + value, function (r) {
-                vm.storeList = r.list;
+            $.get("../category/getCategorySelect?isShow=1&merchSn=" + value, function (r) {
+                vm.categories = r.list;
             });
+
+
+            //加载菜单树
+            $.get("../category/getCategorySelect?isShow=1&merchSn=" + value, function (r) {
+                category_ztree = $.fn.zTree.init($("#categoryTree"), category_setting, r.list);
+                //展开所有节点
+                category_ztree.expandAll(true);
+
+
+            });
+
         },
-        getCategoryByStore: function (opt) {
-            var value = opt.value;
-            vm.getCategories(value);
-        },
+
         getMerchList: function() {
             $.get("../merch/queryAll", function (r) {
                 vm.merchList = r.list;
             });
         },
-        getCategories: function (storeId) {
-            $.get("../category/getCategorySelect?isShow=1&storeId=" + storeId, function (r) {
-                vm.categories = r.list;
-            });
-        },
+
         reload: function (event) {
             vm.showViewList = false;
             vm.showList = true;

+ 1 - 1
kmall-admin/src/main/webapp/js/shop/category.js

@@ -46,7 +46,7 @@ TreeGrid.initColumn = function () {
         }},
         {title: '分类名称', field: 'name', align: 'center', valign: 'middle', width: '60px'},
         {title: '所属商户', field: 'merchName',  width: '100px', align: 'center'},
-        {title: '所属门店', field: 'storeName', width: '80px', align: 'center'},
+        // {title: '所属门店', field: 'storeName', width: '80px', align: 'center'},
         {title: '描述', field: 'frontDesc', align: 'center', valign: 'middle', width: '150px'},
         {title: '首页排序', field: 'sortOrder', align: 'center', valign: 'middle', width: '50px'},
         {

+ 2 - 2
kmall-admin/src/main/webapp/js/shop/storeProductStock.js

@@ -571,7 +571,7 @@ var vm = new Vue({
         },
         getCategories: function (storeId) {
 
-            $.get("../category/getCategorySelect?isShow=1&merchSn=" + vm.merchSn, function (r) {
+            $.get("../category/getCategorySelect?isShow=1&parentId=0&merchSn=" + vm.merchSn, function (r) {
                 vm.categories = r.list;
             });
             // $.get("../category/getCategorySelect?isShow=1&storeId=" + storeId, function (r) {
@@ -586,7 +586,7 @@ var vm = new Vue({
         getAttributes: function (opt) {
             var value = opt.value;
             if(value){
-                $.get("../attribute/query?attributeCategoryId=" + value + "&storeId="+vm.storeId, function (r) {
+                $.get("../attribute/query?attributeCategoryId=" + value , function (r) {
                     vm.attributes = r.list;
                 });
 

+ 9 - 9
kmall-manager/src/main/java/com/kmall/manager/manager/redis/JedisProperties.java

@@ -14,15 +14,15 @@ public class JedisProperties implements Serializable {
     private String host;
     private String port;
     private Pool pool;
-    private String password;
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
+//    private String password;
+
+//    public String getPassword() {
+//        return password;
+//    }
+//
+//    public void setPassword(String password) {
+//        this.password = password;
+//    }
 
     public String getKeyPrefix() {
         return keyPrefix;

+ 1 - 1
kmall-manager/src/main/resources/conf/redis.properties

@@ -15,7 +15,7 @@ redis.dev.pool.testOnBorrow=true
 
 # \u4E2D\u7F51\u751F\u4EA7\u73AF\u5883
 redis.prod.keyPrefix=platform
-redis.prod.host=183.62.225.124
+redis.prod.host=183.3.221.144
 redis.prod.port=6379
 redis.prod.password=Abc-123#*.-
 redis.prod.pool.maxIdle=200