浏览代码

Merge branch 'master' of http://git.ds-bay.com/project/kmall-pt

csk 6 年之前
父节点
当前提交
a64a52e1d6
共有 100 个文件被更改,包括 7159 次插入199 次删除
  1. 24 6
      kmall-admin/src/main/java/com/kmall/admin/controller/CategoryController.java
  2. 1 1
      kmall-admin/src/main/java/com/kmall/admin/controller/ExportExceptionDataController.java
  3. 1 1
      kmall-admin/src/main/java/com/kmall/admin/controller/FreightItemController.java
  4. 4 4
      kmall-admin/src/main/java/com/kmall/admin/controller/GoodsController.java
  5. 3 3
      kmall-admin/src/main/java/com/kmall/admin/controller/MerchController.java
  6. 1 1
      kmall-admin/src/main/java/com/kmall/admin/controller/MngChangeController.java
  7. 1 1
      kmall-admin/src/main/java/com/kmall/admin/controller/OfflineCartController.java
  8. 62 15
      kmall-admin/src/main/java/com/kmall/admin/controller/OrderController.java
  9. 1 1
      kmall-admin/src/main/java/com/kmall/admin/controller/OrderProcessRecordController.java
  10. 1 1
      kmall-admin/src/main/java/com/kmall/admin/controller/OrderRefundController.java
  11. 3 66
      kmall-admin/src/main/java/com/kmall/admin/controller/StoreController.java
  12. 1 1
      kmall-admin/src/main/java/com/kmall/admin/controller/StoreMngChangeController.java
  13. 1 1
      kmall-admin/src/main/java/com/kmall/admin/controller/SupplierController.java
  14. 1 1
      kmall-admin/src/main/java/com/kmall/admin/controller/SysCusNationCodeController.java
  15. 1 1
      kmall-admin/src/main/java/com/kmall/admin/controller/SysCusUnitCodeController.java
  16. 123 0
      kmall-admin/src/main/java/com/kmall/admin/controller/ThirdMerchExpressController.java
  17. 3 3
      kmall-admin/src/main/java/com/kmall/admin/controller/ThirdMerchantBizController.java
  18. 114 0
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/MkCenterMenuController.java
  19. 128 0
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/dist/MkDistChnlController.java
  20. 173 0
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/dist/MkDistController.java
  21. 304 0
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/dist/MkDistHierController.java
  22. 138 0
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/dist/MkDistSellAllocationController.java
  23. 203 0
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/dist/MkDistSellStatisController.java
  24. 109 0
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/store/MkStorePromChnlController.java
  25. 259 0
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/store/MkStorePromController.java
  26. 107 0
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/store/MkStorePromStatController.java
  27. 106 0
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/store/MkStorePromTypeController.java
  28. 109 0
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/store/StoreTopicController.java
  29. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/ExportExceptionDataDao.java
  30. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/FreightDao.java
  31. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/FreightItemDao.java
  32. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/GoodsDao.java
  33. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/MerchDao.java
  34. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/MngChangeDao.java
  35. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/OfflineCartDao.java
  36. 2 0
      kmall-admin/src/main/java/com/kmall/admin/dao/OrderDao.java
  37. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/OrderExceptionRecordDao.java
  38. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/OrderProcessRecordDao.java
  39. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/PinganPayOrderDao.java
  40. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/PinganResponseDao.java
  41. 2 1
      kmall-admin/src/main/java/com/kmall/admin/dao/ShippingDao.java
  42. 3 0
      kmall-admin/src/main/java/com/kmall/admin/dao/StoreDao.java
  43. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/StoreMngChangeDao.java
  44. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/SupplierDao.java
  45. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/SysCusNationCodeDao.java
  46. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/SysCusUnitCodeDao.java
  47. 16 0
      kmall-admin/src/main/java/com/kmall/admin/dao/ThirdMerchExpressDao.java
  48. 1 1
      kmall-admin/src/main/java/com/kmall/admin/dao/ThirdMerchantBizDao.java
  49. 15 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/MkCenterMenuDao.java
  50. 16 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/dist/MkDistChnlDao.java
  51. 25 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/dist/MkDistDao.java
  52. 77 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/dist/MkDistHierDao.java
  53. 18 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/dist/MkDistSellAllocationDao.java
  54. 16 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/dist/MkDistSellAllocationHistoryDao.java
  55. 18 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/dist/MkDistSellStatisDao.java
  56. 15 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/MkStorePromChnlDao.java
  57. 16 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/MkStorePromDao.java
  58. 15 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/MkStorePromStatDao.java
  59. 15 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/MkStorePromTypeDao.java
  60. 15 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/StoreTopicDao.java
  61. 53 0
      kmall-admin/src/main/java/com/kmall/admin/dto/ExpendDistDto.java
  62. 52 0
      kmall-admin/src/main/java/com/kmall/admin/dto/OrderExpressDto.java
  63. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/ExportExceptionDataEntity.java
  64. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/FreightEntity.java
  65. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/FreightItemEntity.java
  66. 25 3
      kmall-admin/src/main/java/com/kmall/admin/entity/GoodsEntity.java
  67. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/MerchEntity.java
  68. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/MngChangeEntity.java
  69. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/OfflineCartEntity.java
  70. 107 0
      kmall-admin/src/main/java/com/kmall/admin/entity/OrderEntity.java
  71. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/OrderExceptionRecordEntity.java
  72. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/OrderProcessRecordEntity.java
  73. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/OrderRefundEntity.java
  74. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/OrderWXPayRecordEntity.java
  75. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/ProductStoreRelaEntity.java
  76. 9 0
      kmall-admin/src/main/java/com/kmall/admin/entity/StoreEntity.java
  77. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/StoreMngChangeEntity.java
  78. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/SupplierEntity.java
  79. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/SysCusNationCodeEntity.java
  80. 1 1
      kmall-admin/src/main/java/com/kmall/admin/entity/SysCusUnitCodeEntity.java
  81. 215 0
      kmall-admin/src/main/java/com/kmall/admin/entity/ThirdMerchExpressEntity.java
  82. 21 2
      kmall-admin/src/main/java/com/kmall/admin/entity/ThirdMerchantBizEntity.java
  83. 202 53
      kmall-admin/src/main/java/com/kmall/admin/entity/TopicEntity.java
  84. 274 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/MkCenterMenuEntity.java
  85. 258 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistChnlEntity.java
  86. 292 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistEntity.java
  87. 371 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistHierEntity.java
  88. 31 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistHierLvlEntity.java
  89. 390 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistSellAllocationEntity.java
  90. 324 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistSellAllocationHistoryEntity.java
  91. 491 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistSellStatisEntity.java
  92. 188 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/store/MkStorePromChnlEntity.java
  93. 507 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/store/MkStorePromEntity.java
  94. 512 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/store/MkStorePromStatEntity.java
  95. 205 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/store/MkStorePromTypeEntity.java
  96. 287 0
      kmall-admin/src/main/java/com/kmall/admin/entity/mk/store/StoreTopicEntity.java
  97. 28 1
      kmall-admin/src/main/java/com/kmall/admin/fromcomm/controller/SysMenuController.java
  98. 9 0
      kmall-admin/src/main/java/com/kmall/admin/fromcomm/entity/SysConfigEntity.java
  99. 10 0
      kmall-admin/src/main/java/com/kmall/admin/fromcomm/entity/SysUserEntity.java
  100. 1 1
      kmall-admin/src/main/java/com/kmall/admin/service/ExportExceptionDataService.java

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

@@ -33,6 +33,15 @@ public class CategoryController {
     @RequiresPermissions("category:list")
     public R list(@RequestParam Map<String, Object> params) {
         ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        String categoryName = (String) params.get("categoryName");
+        if(org.apache.commons.lang3.StringUtils.isNotEmpty(categoryName)){
+            try{
+                categoryName = new String(categoryName.getBytes("iso-8859-1"),"utf-8");
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+            params.put("categoryName", categoryName);
+        }
         //查询列表数据
         Query query = new Query(params);
 
@@ -95,15 +104,24 @@ public class CategoryController {
     public R queryAll(@RequestParam Map<String, Object> params) {
 
         ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        String categoryName = (String) params.get("categoryName");
+        if(org.apache.commons.lang3.StringUtils.isNotEmpty(categoryName)){
+            try{
+                categoryName = new String(categoryName.getBytes("iso-8859-1"),"utf-8");
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+            params.put("categoryName", categoryName);
+        }
 
         List<CategoryEntity> list = categoryService.queryList(params);
         //添加顶级菜单
-        CategoryEntity root = new CategoryEntity();
-        root.setId(0);
-        root.setName("一级分类");
-        root.setParentId(-1);
-        root.setOpen(true);
-        list.add(root);
+//        CategoryEntity root = new CategoryEntity();
+//        root.setId(0);
+//        root.setName("一级分类");
+//        root.setParentId(-1);
+//        root.setOpen(true);
+//        list.add(root);
         return R.ok().put("list", list);
     }
 

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

@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * 数据导入异常数据记录Controller
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-12-07 09:41:15
  */

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

@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * Controller
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-10-22 15:18:16
  */

+ 4 - 4
kmall-admin/src/main/java/com/kmall/admin/controller/GoodsController.java

@@ -50,7 +50,7 @@ public class GoodsController {
     @RequestMapping("/list")
     @RequiresPermissions("goods:list")
     public R list(@RequestParam Map<String, Object> params) {
-        ParamUtils.setQueryPowerByRoleType(params, null, "merchSn", "thirdPartyMerchCode");
+        ParamUtils.setQueryPowerByRoleType(params, "storeKey", "merchSn", "thirdPartyMerchCode");
         String goodsName = (String) params.get("name");
         if(org.apache.commons.lang3.StringUtils.isNotEmpty(goodsName)){
             try{
@@ -126,7 +126,7 @@ public class GoodsController {
      */
     @RequestMapping("/queryAll")
     public R queryAll(@RequestParam Map<String, Object> params) {
-        ParamUtils.setQueryPowerByRoleType(params, null, "merchSn", "thirdPartyMerchCode");
+        ParamUtils.setQueryPowerByRoleType(params, "storeKey", "merchSn", "thirdPartyMerchCode");
         params.put("isDelete", Integer.parseInt(Dict.isDelete.item_0.getItem()));
         params.put("isOnSale", Integer.parseInt(Dict.isOnSale.item_1.getItem()));
         List<GoodsEntity> list = goodsService.queryList(params);
@@ -142,7 +142,7 @@ public class GoodsController {
      */
     @RequestMapping("/historyList")
     public R historyList(@RequestParam Map<String, Object> params) {
-        ParamUtils.setQueryPowerByRoleType(params, null, "merchSn", "thirdPartyMerchCode");
+        ParamUtils.setQueryPowerByRoleType(params, "storeKey", "merchSn", "thirdPartyMerchCode");
         //查询列表数据
         Query query = new Query(params);
 
@@ -171,7 +171,7 @@ public class GoodsController {
      */
     @RequestMapping("/queryTotal")
     public R queryTotal(@RequestParam Map<String, Object> params) {
-        ParamUtils.setQueryPowerByRoleType(params, null, "merchSn", "thirdPartyMerchCode");
+        ParamUtils.setQueryPowerByRoleType(params, "storeKey", "merchSn", "thirdPartyMerchCode");
         params.put("isDelete", 0);
         int sum = goodsService.queryTotal(params);
         return R.ok().put("goodsSum", sum);

+ 3 - 3
kmall-admin/src/main/java/com/kmall/admin/controller/MerchController.java

@@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * Controller
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-12-06 09:41:34
  */
@@ -34,7 +34,7 @@ public class MerchController {
     @RequiresPermissions("merch:list")
     @ResponseBody
     public R list(@RequestParam Map<String, Object> params) {
-        ParamUtils.setQueryPowerByRoleType(params, null, "roleMerchSn", null);
+        ParamUtils.setQueryPowerByRoleType(params, "storeKey", "roleMerchSn", null);
 
         //查询列表数据
         Query query = new Query(params);
@@ -102,7 +102,7 @@ public class MerchController {
     @ResponseBody
     public R queryAll(@RequestParam Map<String, Object> params) {
 
-        ParamUtils.setQueryPowerByRoleType(params, null, "roleMerchSn", null);
+        ParamUtils.setQueryPowerByRoleType(params, "storeKey", "roleMerchSn", null);
 
         List<MerchEntity> list = merchService.queryList(params);
 

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

@@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * 库存变化表Controller
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2019-03-11 10:29:49
  */

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

@@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * Controller
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-29 15:14:59
  */

+ 62 - 15
kmall-admin/src/main/java/com/kmall/admin/controller/OrderController.java

@@ -1,6 +1,9 @@
 package com.kmall.admin.controller;
 
+import com.kmall.admin.dto.OrderExpressDto;
 import com.kmall.admin.entity.*;
+import com.kmall.common.constant.JxlsXmlTemplateName;
+import com.kmall.common.utils.excel.ExcelUtil;
 import com.kmall.manager.manager.wechat.WechatUtil;
 import com.kmall.manager.manager.wechat.WechatGlobalUtil;
 import com.kmall.manager.manager.wechat.wxglobal.dto.WechatGlobalRefundApiResult;
@@ -27,6 +30,7 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -59,6 +63,8 @@ public class OrderController {
     private OrderWXPayRecordService orderWXPayRecordService;
     @Autowired
     private PinganResponseService pinganResponseService;
+    @Autowired
+    private ExcelUtil excelUtil;
 
     /**
      * 列表
@@ -78,7 +84,7 @@ public class OrderController {
             } catch (Exception e) {
                 e.printStackTrace();
             }
-            startTime = getDate(startTime);
+            startTime = DateUtils.getDate(startTime);
             query.put("startTime", startTime + " 00:00:00");
         }
         if(org.apache.commons.lang.StringUtils.isNotEmpty(endTime)) {
@@ -87,7 +93,7 @@ public class OrderController {
             } catch (Exception e) {
                 e.printStackTrace();
             }
-            endTime = getDate(endTime);
+            endTime = DateUtils.getDate(endTime);
             query.put("endTime", endTime + " 59:59:59");
         }
         List<OrderEntity> orderList = orderService.queryList(query);
@@ -714,7 +720,7 @@ public class OrderController {
             } catch (Exception e) {
                 e.printStackTrace();
             }
-            startTime = getDate(startTime);
+            startTime = DateUtils.getDate(startTime);
             params.put("startTime", startTime + " 00:00:00");
         }
         if(org.apache.commons.lang.StringUtils.isNotEmpty(endTime)) {
@@ -723,7 +729,7 @@ public class OrderController {
             } catch (Exception e) {
                 e.printStackTrace();
             }
-            endTime = getDate(endTime);
+            endTime = DateUtils.getDate(endTime);
             params.put("endTime", endTime + " 59:59:59");
         }
 
@@ -731,7 +737,8 @@ public class OrderController {
 
         ExcelExport ee = new ExcelExport("订单信息");
 
-        String[] header = new String[]{"订单编号","商户订单编号", "订单状态", "SKU", "商品名称", "数量", "销售价", "实际支付金额", "保税模式", "快递公司名称", "快递单编号", "海关清单编号", "收货人姓名", "收件人手机", "收件人省份", "收件人城市", "收件人区县", "收件人地址", "下单时间", "支付流水号"};
+        String[] header = new String[]{"订单编号","商户订单编号", "所属门店", "订单状态", "SKU", "商品名称", "数量", "销售价", "实际支付金额", "保税模式", "快递公司名称", "快递单编号", "海关清单编号", "收货人姓名", "收件人手机", "收件人省份", "收件人城市", "收件人区县", "收件人地址", "下单时间", "支付流水号","身份证号"
+                ,"原产国","规格型号","品牌","单位","毛重(kg)","净重"};
 
         List<Map<String, Object>> list = new ArrayList<>();
         if (orderList != null && orderList.size() != 0) {
@@ -742,6 +749,7 @@ public class OrderController {
 
                 map.put("OrderSn", orderEntity.getOrderSn());
                 map.put("MerchOrderSn", orderEntity.getMerchOrderSn());
+                map.put("StoreName", orderEntity.getStoreName());
                 map.put("OrderStatus", StringUtils.isEmpty(orderStatus.toString())? "":Dict.orderStatus.valueOf("item_"+ orderStatus).getItemName());
                 map.put("SKU", orderEntity.getSku());
                 map.put("GoodsName", orderEntity.getGoodsName());
@@ -762,6 +770,13 @@ public class OrderController {
 
                 map.put("OrderStartTime", orderEntity.getOrderProcessRecord()==null?"":DateUtils.format(orderEntity.getOrderProcessRecord().getAddOrderStartTime(),"yyyy-MM-dd HH:mm:ss"));
                 map.put("PayId", orderEntity.getPayTransactionId());
+                map.put("IdNo", orderEntity.getIdNo());
+                map.put("OriCntCode", orderEntity.getOriCntCode());
+                map.put("CiqProdModel", orderEntity.getCiqProdModel());
+                map.put("Brand", orderEntity.getBrand());
+                map.put("UnitCode", orderEntity.getUnitCode());
+                map.put("GrossWeight", orderEntity.getGrossWeight());
+                map.put("NetWeight", orderEntity.getNetWeight());
 
                 list.add(map);
             }
@@ -772,18 +787,50 @@ public class OrderController {
         return R.ok();
     }
 
-    private String getDate(String datdString){
-        datdString = datdString.replace("GMT", "").replaceAll("\\(.*\\)", "");
-        //将字符串转化为date类型,格式2016-10-12
-        SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss z", Locale.ENGLISH);
-        Date dateTrans = null;
+    /**
+     * 订单修改已发货的快递信息
+     */
+    @RequestMapping("/updateExpressInfo")
+    @RequiresPermissions("order:updateExpressInfo")
+    public Object updateExpressInfo(@RequestBody OrderEntity orderEntity) {
+        OrderEntity orderInfo = orderService.queryObject(orderEntity.getId());
+        if (orderInfo != null){
+            if(orderInfo.getShippingStatus() == Integer.parseInt(Dict.shippingStatus.item_1.getItem())) {
+                OrderEntity order = new OrderEntity();
+                order.setId(orderInfo.getId());
+                order.setShippingName(orderEntity.getShippingName());
+                order.setShippingCode(orderEntity.getShippingCode());
+                order.setShippingNo(orderEntity.getShippingNo());
+                order.setModerSn(ShiroUtils.getUserEntity().getUsername());
+                order.setModTime(new Date());
+                orderService.update(order);
+            }else{
+                throw new RRException("此订单"+Dict.shippingStatus.valueOf("item_"+orderInfo.getShippingStatus()).getItemName()+"!不能操作");
+            }
+        }
+        return R.ok();
+    }
+
+
+    /**
+     * 上传文件
+     */
+    @RequestMapping("/expressUpload")
+    public R expressUpload(@RequestParam("file") MultipartFile file) {
+        List<OrderExpressDto> orderExpressList = new ArrayList<>();//快递信息
         try {
-            dateTrans = format.parse(datdString);
-            return new SimpleDateFormat("yyyy-MM-dd").format(dateTrans);
-        } catch (ParseException e) {
+            Map<String, Object> beans = new HashMap<String, Object>();
+            beans.put("OrderExpressList", orderExpressList);
+            if (file.isEmpty()) {
+                return R.error("文件不能为空!");
+            }
+            excelUtil.readExcel(JxlsXmlTemplateName.ORDER_EXPRESS_LIST, beans, file.getInputStream());
+        } catch (Exception e) {
             e.printStackTrace();
+            return R.error("导入失败!");
         }
-        return datdString;
+        orderService.uploadExcel(orderExpressList);
+        //上传文件
+        return R.ok();
     }
-
 }

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

@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * 订单流转过程记录表Controller
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-10-27 16:38:50
  */

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

@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * 订单退款记录表Controller
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-01 10:16:41
  */

+ 3 - 66
kmall-admin/src/main/java/com/kmall/admin/controller/StoreController.java

@@ -5,6 +5,7 @@ import com.kmall.admin.entity.StoreEntity;
 import com.kmall.admin.service.StoreService;
 import com.kmall.admin.utils.ParamUtils;
 import com.kmall.admin.utils.ShiroUtils;
+import com.kmall.common.utils.file.FileUploadUtil;
 import com.kmall.manager.manager.pay.wxpay.WxPayPropertiesBuilder;
 import com.kmall.admin.fromcomm.entity.SysUserEntity;
 import com.kmall.common.fileserver.util.FileManager;
@@ -229,71 +230,7 @@ public class StoreController {
         params.put("width", 430);
         String mapToXml = JSON.toJSONString(params);
 
-        try {
-            CloseableHttpClient httpClient = HttpClientBuilder.create().build();
-
-            HttpPost httpPost = new HttpPost("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="+token);
-            httpPost.addHeader(HTTP.CONTENT_TYPE, "application/json");
-            StringEntity entity = new StringEntity(mapToXml);
-            entity.setContentType("image/png");
-
-            httpPost.setEntity(entity);
-            HttpResponse response = httpClient.execute(httpPost);
-            InputStream inputStream = response.getEntity().getContent();
-
-            String fileName = System.currentTimeMillis()+"_"+storeId+".png";
-            String dirName = "\\upload";
-            File dirFile = new File(dirName);
-            //删除之前的图片文件夹
-            deleteFile(dirFile);
-            if(!dirFile.exists()){
-                dirFile.mkdirs();
-            }
-
-            File file = new File(dirName, fileName);// 可以是任何图片格式.jpg,.png等
-            FileOutputStream fos = new FileOutputStream(file);
-            if (inputStream != null) {
-                try {
-                    byte[] b = new byte[1024];
-                    int nRead = 0;
-                    while ((nRead = inputStream.read(b)) != -1) {
-                        fos.write(b, 0, nRead);
-                    }
-                } catch (Exception e) {
-                    e.printStackTrace();
-                } finally {
-
-                    try {
-                        fos.flush();
-                        fos.close();
-                    } catch (IOException e) {
-                        e.printStackTrace();
-                    }
-                }
-            }
-            FileItem fileItem = new DiskFileItem("mainFile", Files.probeContentType(file.toPath()), false,
-                    file.getName(), (int) file.length(), file.getParentFile());
-            try (InputStream input = new FileInputStream(file); OutputStream os = fileItem.getOutputStream();) {
-                IOUtils.copy(input, os);
-                MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
-                String url = FileManager.upload(multipartFile);
-                return R.ok().put("url", url);
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-        }
-        return R.ok().put("url", "");
-    }
-
-    private void deleteFile(File dirFile){
-        if(dirFile.exists()){
-            if(dirFile.isFile()){
-                dirFile.delete();
-            }else {
-                for(File file:dirFile.listFiles()){
-                    deleteFile(file);
-                }
-            }
-        }
+        String url = FileUploadUtil.getUploadUrl(mapToXml, token, storeId);
+        return R.ok().put("url", url);
     }
 }

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

@@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * 门店库存变化表Controller
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2019-03-11 10:29:49
  */

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

@@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * Controller
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-26 15:14:24
  */

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

@@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * 国别地区代码Controller
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-10 15:26:44
  */

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

@@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * 计量单位代码Controller
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-10 15:34:36
  */

+ 123 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/ThirdMerchExpressController.java

@@ -0,0 +1,123 @@
+package com.kmall.admin.controller;
+
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.ImmutableBiMap;
+import com.kmall.admin.entity.ThirdMerchExpressEntity;
+import com.kmall.admin.service.ThirdMerchExpressService;
+import com.kmall.admin.utils.ParamUtils;
+import com.kmall.admin.utils.ShiroUtils;
+import com.kmall.common.utils.*;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 第三方商户快递账号表Controller
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-03 16:52:21
+ */
+@Controller
+@RequestMapping("thirdmerchexpress")
+public class ThirdMerchExpressController {
+    @Autowired
+    private ThirdMerchExpressService thirdMerchExpressService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("thirdmerchexpress:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        //查询列表数据
+        Query query = new Query(params);
+
+        List<ThirdMerchExpressEntity> thirdMerchExpressList = thirdMerchExpressService.queryList(query);
+        int total = thirdMerchExpressService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(thirdMerchExpressList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{id}")
+    @RequiresPermissions("thirdmerchexpress:info")
+    @ResponseBody
+    public R info(@PathVariable("id") Integer id) {
+        ThirdMerchExpressEntity thirdMerchExpress = thirdMerchExpressService.queryObject(id);
+
+        return R.ok().put("thirdMerchExpress", thirdMerchExpress);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("thirdmerchexpress:save")
+    @ResponseBody
+    public R save(@RequestBody ThirdMerchExpressEntity thirdMerchExpress) {
+        Map<String, Object> valideDate = MapBeanUtil.fromObject(thirdMerchExpress);
+        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
+        builder.put("expressAccount", "商户快递账号");
+        builder.put("expressPwd", "商户快递密码");
+        builder.put("expressCusId", "商户快递月结账号");
+        builder.put("thirdPartyMerchCode", "第三方商户代码");
+        R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        thirdMerchExpressService.save(thirdMerchExpress);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("thirdmerchexpress:update")
+    @ResponseBody
+    public R update(@RequestBody ThirdMerchExpressEntity thirdMerchExpress) {
+        Map<String, Object> valideDate = MapBeanUtil.fromObject(thirdMerchExpress);
+        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
+        builder.put("expressAccount", "商户快递账号");
+        builder.put("expressPwd", "商户快递密码");
+        builder.put("expressCusId", "商户快递月结账号");
+        builder.put("thirdPartyMerchCode", "第三方商户代码");
+        R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        thirdMerchExpressService.update(thirdMerchExpress);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("thirdmerchexpress:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]ids) {
+        thirdMerchExpressService.deleteBatch(ids);
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+
+        List<ThirdMerchExpressEntity> list = thirdMerchExpressService.queryList(params);
+
+        return R.ok().put("list", list);
+    }
+}

+ 3 - 3
kmall-admin/src/main/java/com/kmall/admin/controller/ThirdMerchantBizController.java

@@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.*;
 /**
  * 第三方商户表Controller
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2019-02-15 11:43:32
  */
@@ -43,7 +43,7 @@ public class ThirdMerchantBizController {
     @RequiresPermissions("thirdmerchantbiz:list")
     @ResponseBody
     public R list(@RequestParam Map<String, Object> params) {
-        ParamUtils.setQueryPowerByRoleType(params, null, "merchSn", "thirdPartyMerchCode");
+        ParamUtils.setQueryPowerByRoleType(params, "storeKey", "merchSn", "thirdPartyMerchCode");
 
         String thirdPartyName = (String) params.get("name");
         if(org.apache.commons.lang3.StringUtils.isNotEmpty(thirdPartyName)){
@@ -166,7 +166,7 @@ public class ThirdMerchantBizController {
     @RequestMapping("/queryAll")
     @ResponseBody
     public R queryAll(@RequestParam Map<String, Object> params) {
-        ParamUtils.setQueryPowerByRoleType(params, null, "merchSn", "thirdPartyMerchCode");
+        ParamUtils.setQueryPowerByRoleType(params, "storeKey", "merchSn", "thirdPartyMerchCode");
         List<ThirdMerchantBizEntity> list = thirdMerchantBizService.queryList(params);
 
         return R.ok().put("list", list);

+ 114 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/mk/MkCenterMenuController.java

@@ -0,0 +1,114 @@
+package com.kmall.admin.controller.mk;
+
+import java.util.List;
+import java.util.Map;
+
+import com.kmall.admin.entity.mk.MkCenterMenuEntity;
+import com.kmall.admin.service.mk.MkCenterMenuService;
+import com.kmall.common.utils.PageUtils;
+import com.kmall.common.utils.Query;
+import com.kmall.common.utils.R;
+import com.kmall.common.utils.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 营销中心菜单表Controller
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-15 11:23:38
+ */
+@Controller
+@RequestMapping("mkcentermenu")
+public class MkCenterMenuController {
+    @Autowired
+    private MkCenterMenuService mkCenterMenuService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("mkcentermenu:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        //查询列表数据
+        Query query = new Query(params);
+
+        List<MkCenterMenuEntity> mkCenterMenuList = mkCenterMenuService.queryList(query);
+        int total = mkCenterMenuService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(mkCenterMenuList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{id}")
+    @RequiresPermissions("mkcentermenu:info")
+    @ResponseBody
+    public R info(@PathVariable("id") Integer id) {
+        MkCenterMenuEntity mkCenterMenu = mkCenterMenuService.queryObject(id);
+
+        return R.ok().put("mkCenterMenu", mkCenterMenu);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("mkcentermenu:save")
+    @ResponseBody
+    public R save(@RequestBody MkCenterMenuEntity mkCenterMenu) {
+        mkCenterMenuService.save(mkCenterMenu);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("mkcentermenu:update")
+    @ResponseBody
+    public R update(@RequestBody MkCenterMenuEntity mkCenterMenu) {
+        mkCenterMenuService.update(mkCenterMenu);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("mkcentermenu:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[] ids) {
+        mkCenterMenuService.deleteBatch(ids);
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params,HttpServletRequest request) {
+        String requestPath = request.getRequestURL().toString().replaceAll("mkcentermenu/queryAll","");
+        List<MkCenterMenuEntity> list = mkCenterMenuService.queryList(params);
+        for (MkCenterMenuEntity mkCenterMenuEntity: list) {
+            if(StringUtils.isNotEmpty(mkCenterMenuEntity.getMenuUrl())) {
+                mkCenterMenuEntity.setMenuUrl(requestPath + mkCenterMenuEntity.getMenuUrl());
+            }
+        }
+
+        return R.ok().put("list", list);
+    }
+}

+ 128 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/mk/dist/MkDistChnlController.java

@@ -0,0 +1,128 @@
+package com.kmall.admin.controller.mk.dist;
+
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.ImmutableBiMap;
+import com.kmall.admin.entity.mk.dist.MkDistChnlEntity;
+import com.kmall.admin.service.mk.dist.MkDistChnlService;
+import com.kmall.admin.utils.ParamUtils;
+import com.kmall.common.utils.*;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 分销渠道Controller
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:47
+ */
+@Controller
+@RequestMapping("mkdistchnl")
+public class MkDistChnlController {
+    @Autowired
+    private MkDistChnlService mkDistChnlService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("mkdistchnl:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        //查询列表数据
+        Query query = new Query(params);
+
+        List<MkDistChnlEntity> mkDistChnlList = mkDistChnlService.queryList(query);
+        int total = mkDistChnlService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(mkDistChnlList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{distChnlId}")
+    @RequiresPermissions("mkdistchnl:info")
+    @ResponseBody
+    public R info(@PathVariable("distChnlId") Integer distChnlId) {
+        MkDistChnlEntity mkDistChnl = mkDistChnlService.queryObject(distChnlId);
+
+        return R.ok().put("mkDistChnl", mkDistChnl);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("mkdistchnl:save")
+    @ResponseBody
+    public R save(@RequestBody MkDistChnlEntity mkDistChnl) {
+        Map<String, Object> valideDate = MapBeanUtil.fromObject(mkDistChnl);
+        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
+        builder.put("distFlag", "分销渠道名称");
+//        builder.put("partType", "所属分类");
+        builder.put("thirdMerchSn", "所属第三方商户");
+        builder.put("supplierId", "所属供货商");
+        R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        if (Integer.valueOf(r.get("code").toString()) != 0) {
+            throw new RRException(r.get("msg").toString());
+        }
+        mkDistChnlService.save(mkDistChnl);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("mkdistchnl:update")
+    @ResponseBody
+    public R update(@RequestBody MkDistChnlEntity mkDistChnl) {
+        Map<String, Object> valideDate = MapBeanUtil.fromObject(mkDistChnl);
+        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
+        builder.put("distFlag", "分销渠道名称");
+//        builder.put("partType", "所属分类");
+        builder.put("thirdMerchSn", "所属第三方商户");
+        builder.put("supplierId", "所属供货商");
+        R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        if (Integer.valueOf(r.get("code").toString()) != 0) {
+            throw new RRException(r.get("msg").toString());
+        }
+        mkDistChnlService.update(mkDistChnl);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("mkdistchnl:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]distChnlIds) {
+        mkDistChnlService.deleteBatch(distChnlIds);
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+
+        List<MkDistChnlEntity> list = mkDistChnlService.queryList(params);
+
+        return R.ok().put("list", list);
+    }
+}

+ 173 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/mk/dist/MkDistController.java

@@ -0,0 +1,173 @@
+package com.kmall.admin.controller.mk.dist;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.ImmutableBiMap;
+import com.kmall.admin.entity.mk.dist.MkDistEntity;
+import com.kmall.admin.service.mk.dist.MkDistService;
+import com.kmall.admin.utils.ParamUtils;
+import com.kmall.common.utils.*;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 分销商,distributorController
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:47
+ */
+@Controller
+@RequestMapping("mkdist")
+public class MkDistController {
+    @Autowired
+    private MkDistService mkDistService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("mkdist:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        String distName = (String) params.get("distName");
+        if(org.apache.commons.lang3.StringUtils.isNotEmpty(distName)){
+            try{
+                distName = new String(distName.getBytes("iso-8859-1"),"utf-8");
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+            params.put("distName", distName);
+        }
+        //查询列表数据
+        Query query = new Query(params);
+        List<MkDistEntity> mkDistList = mkDistService.queryList(query);
+        int total = mkDistService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(mkDistList, total, query.getLimit(), query.getPage());
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{distId}")
+    @RequiresPermissions("mkdist:info")
+    @ResponseBody
+    public R info(@PathVariable("distId") Integer distId) {
+        MkDistEntity mkDist = mkDistService.queryObject(distId);
+        return R.ok().put("mkDist", mkDist);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("mkdist:save")
+    @ResponseBody
+    public R save(@RequestBody MkDistEntity mkDist) {
+        Map<String, Object> valideDate = MapBeanUtil.fromObject(mkDist);
+        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
+        builder.put("distName", "分销商名称");
+        builder.put("distEname", "分销商英文名");
+        builder.put("distFlag", "分销商标识");
+        builder.put("thirdMerchSn", "所属第三方商户");
+        builder.put("storeId", "所属门店");
+        builder.put("supplierId", "所属供货商");
+        R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        if (Integer.valueOf(r.get("code").toString()) != 0) {
+            throw new RRException(r.get("msg").toString());
+        }
+        mkDistService.save(mkDist);
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("mkdist:update")
+    @ResponseBody
+    public R update(@RequestBody MkDistEntity mkDist) {
+        Map<String, Object> valideDate = MapBeanUtil.fromObject(mkDist);
+        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
+        builder.put("distName", "分销商名称");
+        builder.put("distEname", "分销商英文名");
+        builder.put("distFlag", "分销商标识");
+        builder.put("thirdMerchSn", "所属第三方商户");
+        builder.put("storeId", "所属门店");
+        builder.put("supplierId", "所属供货商");
+        R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        if (Integer.valueOf(r.get("code").toString()) != 0) {
+            throw new RRException(r.get("msg").toString());
+        }
+        mkDistService.update(mkDist);
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("mkdist:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]distIds) {
+        mkDistService.deleteBatch(distIds);
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        List<MkDistEntity> list = mkDistService.queryList(params);
+        return R.ok().put("list", list);
+    }
+
+    /**
+     * 修改层级时查看上级分销商
+     * @param params
+     * @return
+     */
+    @RequestMapping("/queryAllById")
+    @ResponseBody
+    public R queryAllById(@RequestParam Map<String, Object> params) {
+        List<MkDistEntity> list = new ArrayList<>();
+        String distId = (String)params.get("distId");
+        if(StringUtils.isNotEmpty(distId)){
+            MkDistEntity mkDistEntity = mkDistService.queryObject(Integer.parseInt(distId));
+            list.add(mkDistEntity);
+        }
+        return R.ok().put("list", list);
+    }
+
+    /**
+     * 根据商品id查询分销商
+     * @param params
+     * @return
+     */
+    @RequestMapping("/queryDistByGoodsId")
+    @ResponseBody
+    public R queryDistByGoodsId(@RequestParam Map<String, Object> params) {
+        MkDistEntity mkDistEntity = mkDistService.queryDistByGoodsId(params);
+        return R.ok().put("mkDistEntity", mkDistEntity);
+    }
+
+    @RequestMapping("/queryAllByHier")
+    @ResponseBody
+    public R queryAllByHier(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeKey", "merchSn", "thirdPartyMerchCode");
+        params.put("hierLvl", "1");
+        List<MkDistEntity> list = mkDistService.queryAllByHier(params);
+        return R.ok().put("list", list);
+    }
+
+}

+ 304 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/mk/dist/MkDistHierController.java

@@ -0,0 +1,304 @@
+package com.kmall.admin.controller.mk.dist;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.ImmutableBiMap;
+import com.kmall.admin.dto.ExpendDistDto;
+import com.kmall.admin.entity.mk.dist.MkDistEntity;
+import com.kmall.admin.entity.mk.dist.MkDistHierEntity;
+import com.kmall.admin.entity.mk.dist.MkDistHierLvlEntity;
+import com.kmall.admin.entity.mk.dist.MkDistSellAllocationEntity;
+import com.kmall.admin.fromcomm.entity.SysUserEntity;
+import com.kmall.admin.service.mk.dist.MkDistHierService;
+import com.kmall.admin.service.mk.dist.MkDistSellAllocationService;
+import com.kmall.admin.service.mk.dist.MkDistService;
+import com.kmall.admin.utils.ParamUtils;
+import com.kmall.admin.utils.ShiroUtils;
+import com.kmall.common.utils.*;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+
+/**
+ * 分销层级,树状层级,每个子级只有唯一一个父级,一个父级可以多个子级Controller
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:46
+ */
+@Controller
+@RequestMapping("mkdisthier")
+public class MkDistHierController {
+    @Autowired
+    private MkDistHierService mkDistHierService;
+    @Autowired
+    private MkDistService mkDistService;
+    @Autowired
+    private MkDistSellAllocationService mkDistSellAllocationService;
+
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("mkdisthier:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        String distHierName = (String) params.get("distHierName");
+        if(org.apache.commons.lang3.StringUtils.isNotEmpty(distHierName)){
+            try{
+                distHierName = new String(distHierName.getBytes("iso-8859-1"),"utf-8");
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+            params.put("distHierName", distHierName);
+        }
+        //查询列表数据
+        Query query = new Query(params);
+
+        List<MkDistHierEntity> mkDistHierList = mkDistHierService.queryList(query);
+        int total = mkDistHierService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(mkDistHierList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{distHierId}")
+    @RequiresPermissions("mkdisthier:info")
+    @ResponseBody
+    public R info(@PathVariable("distHierId") Integer distHierId) {
+        MkDistHierEntity mkDistHier = mkDistHierService.queryObject(distHierId);
+
+        return R.ok().put("mkDistHier", mkDistHier);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("mkdisthier:save")
+    @ResponseBody
+    public R save(@RequestBody MkDistHierEntity mkDistHier) {
+        Map<String, Object> valideDate = MapBeanUtil.fromObject(mkDistHier);
+        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
+        builder.put("distChnlId", "分销渠道id");
+        builder.put("pdistId", "上级分销商id");
+        builder.put("distId", "分销商id");
+        builder.put("hierLvl", "层级级别");
+        builder.put("distHierName", "分销商层级名称");
+        builder.put("supplierId", "所属供货商");
+        R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        if (Integer.valueOf(r.get("code").toString()) != 0) {
+            throw new RRException(r.get("msg").toString());
+        }
+        mkDistHierService.save(mkDistHier);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("mkdisthier:update")
+    @ResponseBody
+    public R update(@RequestBody MkDistHierEntity mkDistHier) {
+        Map<String, Object> valideDate = MapBeanUtil.fromObject(mkDistHier);
+        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
+        builder.put("distChnlId", "分销渠道id");
+        builder.put("pdistId", "上级分销商id");
+        builder.put("distId", "分销商id");
+        builder.put("hierLvl", "层级级别");
+        builder.put("distHierName", "分销商层级名称");
+        builder.put("supplierId", "所属供货商");
+        R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        if (Integer.valueOf(r.get("code").toString()) != 0) {
+            throw new RRException(r.get("msg").toString());
+        }
+        mkDistHierService.update(mkDistHier);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("mkdisthier:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]distHierIds) {
+        mkDistHierService.deleteBatch(distHierIds);
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        String distHierName = (String) params.get("distHierName");
+        if(org.apache.commons.lang3.StringUtils.isNotEmpty(distHierName)){
+            try{
+                distHierName = new String(distHierName.getBytes("iso-8859-1"),"utf-8");
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+            params.put("distHierName", distHierName);
+        }
+        List<MkDistHierEntity> list = mkDistHierService.queryList(params);
+        for (MkDistHierEntity distHierEntity: list) {
+//            distHierEntity.setName(distHierEntity.getDistName());
+//            distHierEntity.setParentName(distHierEntity.getPdDistName());
+            if(distHierEntity.getHierLvl().equalsIgnoreCase("1")){
+                distHierEntity.setParentId(0L);
+            }
+        }
+        //添加顶级菜单
+//        MkDistHierEntity root = new MkDistHierEntity();
+//        root.setDistHierId(0);
+//        root.setDistHierName("一级分销");
+//        root.setPdistId(-1);
+//        root.setOpen(true);
+//        list.add(null);
+
+
+        return R.ok().put("list", list);
+    }
+
+    @RequestMapping("/queryAllConfig")
+    @ResponseBody
+    public R queryAllConfig(@RequestParam Map<String, Object> params) {
+
+        Map configMap = mkDistHierService.querySysConfigByKey();
+        String value = MapUtils.getString("value", configMap);
+        List<MkDistHierLvlEntity> lvlEntitieyList = new ArrayList<>();
+        Integer hierLvl = Integer.parseInt(value);
+
+        for (int i=0;i < hierLvl;i++){
+            MkDistHierLvlEntity mkDistHierLvlEntity = new MkDistHierLvlEntity();
+            mkDistHierLvlEntity.setHierLvl(String.valueOf(i+1));
+            mkDistHierLvlEntity.setHierKey(String.valueOf(i+1));
+            lvlEntitieyList.add(mkDistHierLvlEntity);
+        }
+
+        return R.ok().put("lvlEntitieyList", lvlEntitieyList);
+    }
+
+    /**
+     * 查看树
+     */
+    @RequestMapping("/queryAll/tree")
+    @ResponseBody
+    public R queryAllByTree(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        String distId = (String) params.get("distId");
+        List<MkDistHierEntity> treeList = new ArrayList<>();
+
+        MkDistHierEntity mkDistHierEntity = mkDistHierService.queryObjectByDistMap(params);
+        if(mkDistHierEntity != null){
+            String lvl = mkDistHierEntity.getHierLvl();
+            Integer hierLvl = Integer.parseInt(lvl);
+
+            Map<String, Object> distMap = new HashMap<>();
+            distMap.put("distId", distId);
+            List<MkDistHierEntity> list = mkDistHierService.queryListByTree(distMap);
+
+            treeList.add(list.get(0));
+            Integer pdistId = 0;
+            if(list != null && list.size() > 0){
+                pdistId = list.get(0).getPdistId();
+            }
+            for (int i = 0; i< hierLvl-1; i++){
+                Map<String, Object> lvlMap = new HashMap<>();
+                lvlMap.put("distId", pdistId);
+                lvlMap.put("hierLvl", hierLvl-1-i);
+                List<MkDistHierEntity> lvlList = mkDistHierService.queryListByTree(lvlMap);
+                treeList.add(lvlList.get(0));
+                pdistId = lvlList.get(0).getPdistId();
+            }
+        }
+        List<ExpendDistDto> expendDistDtoList = new ArrayList<>();
+
+        String goodsId = (String) params.get("goodsId");
+        Integer storeId = (Integer) params.get("storeId");
+        Map<String, Object> allocationMap = new HashMap<>();
+        allocationMap.put("goodsId", goodsId);
+        allocationMap.put("storeId", storeId);
+        String expendDistLines = "";
+        List<MkDistSellAllocationEntity> allocationEntityList =  mkDistSellAllocationService.queryAllocationByMap(allocationMap);
+        if(allocationEntityList.size() == 0){
+            SysUserEntity user = ShiroUtils.getUserEntity();
+            Map<String, Object> distHierMap = new HashMap<>();
+            if(StringUtils.isNotEmpty(user.getMerchSn())) {
+                distHierMap.put("merchSn", user.getMerchSn());
+            }
+            if(StringUtils.isNotEmpty(String.valueOf(storeId))) {
+                distHierMap.put("storeId", storeId);
+            }
+            if(StringUtils.isNotEmpty(user.getThirdPartyMerchCode())) {
+                distHierMap.put("thirdPartyMerchCode", user.getThirdPartyMerchCode());
+            }
+            List<MkDistHierEntity> distHierEntityList = mkDistHierService.queryList(distHierMap);
+            for (int i=0; i < distHierEntityList.size(); i++) {
+                MkDistHierEntity distHier = distHierEntityList.get(i);
+                MkDistEntity mkDistEntity = mkDistService.queryObject(distHier.getDistId());
+                ExpendDistDto expendDistDto = new ExpendDistDto();
+                expendDistDto.setExpendDistId(distHier.getDistId());
+                expendDistDto.setExpendDistName(mkDistEntity.getDistName());
+                expendDistDto.setExpendDistLvl(distHier.getHierLvl());
+                expendDistDtoList.add(expendDistDto);
+            }
+        }else{
+            expendDistLines = allocationEntityList.get(0).getExpendDistLines();
+            String[] lines = null;
+            if(StringUtils.isNotEmpty(expendDistLines)){
+                lines = expendDistLines.split(",");
+            }
+            for (int i=0; i < treeList.size(); i++) {
+                MkDistHierEntity distHier = treeList.get(i);
+                MkDistEntity mkDistEntity = mkDistService.queryObject(distHier.getDistId());
+                ExpendDistDto expendDistDto = new ExpendDistDto();
+                expendDistDto.setExpendDistId(distHier.getDistId());
+                expendDistDto.setExpendDistName(mkDistEntity.getDistName());
+                expendDistDto.setExpendDistLvl(distHier.getHierLvl());
+
+                if(treeList.size() == lines.length){
+                    expendDistDto.setExpendDistLine(BigDecimal.valueOf(Double.parseDouble(lines[i])));
+                }
+                expendDistDtoList.add(expendDistDto);
+            }
+        }
+        return R.ok().put("list", expendDistDtoList);
+    }
+
+    @RequestMapping("/queryNextLvlByDistId")
+    @ResponseBody
+    public R queryNextLvlByDistId(@RequestParam Map<String, Object> params) {
+        MkDistHierEntity mkDistHierEntity = mkDistHierService.queryObjectByDistMap(params);
+        List<MkDistHierLvlEntity> lvlEntitieyList = new ArrayList<>();
+        if (mkDistHierEntity != null) {
+            String hierLvl = "";
+            Integer lvl = Integer.parseInt(mkDistHierEntity.getHierLvl());
+            hierLvl = String.valueOf(lvl);
+            MkDistHierLvlEntity lvlEntity = new MkDistHierLvlEntity();
+            lvlEntity.setHierKey(hierLvl);
+            lvlEntity.setHierLvl(hierLvl);
+            lvlEntitieyList.add(lvlEntity);
+        }
+        return R.ok().put("lvlEntitieyList", lvlEntitieyList);
+    }
+}

+ 138 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/mk/dist/MkDistSellAllocationController.java

@@ -0,0 +1,138 @@
+package com.kmall.admin.controller.mk.dist;
+
+import java.util.*;
+
+import com.google.common.collect.ImmutableBiMap;
+import com.kmall.admin.entity.mk.dist.MkDistSellAllocationEntity;
+import com.kmall.admin.service.mk.dist.MkDistSellAllocationService;
+import com.kmall.admin.utils.ParamUtils;
+import com.kmall.common.utils.*;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 渠道销售分配,分销商针对某个商品sku的销售分配Controller
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:46
+ */
+@Controller
+@RequestMapping("mkdistsellallocation")
+public class MkDistSellAllocationController {
+    @Autowired
+    private MkDistSellAllocationService mkDistSellAllocationService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("mkdistsellallocation:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        //查询列表数据
+        Query query = new Query(params);
+
+        List<MkDistSellAllocationEntity> mkDistSellAllocationList = mkDistSellAllocationService.queryList(query);
+        int total = mkDistSellAllocationService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(mkDistSellAllocationList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{sellAllocId}")
+    @RequiresPermissions("mkdistsellallocation:info")
+    @ResponseBody
+    public R info(@PathVariable("sellAllocId") Integer sellAllocId) {
+        MkDistSellAllocationEntity mkDistSellAllocation = mkDistSellAllocationService.queryObject(sellAllocId);
+        String expendDistId = mkDistSellAllocation.getExpendDistIds();
+        String[] expendDistIds = expendDistId.split(",");
+        List<Integer> expendDistIdList = new ArrayList<>();
+        for (int i=0; i< expendDistIds.length;i++){
+            expendDistIdList.add(Integer.valueOf(expendDistIds[i]));
+        }
+        mkDistSellAllocation.setExpendDistIdList(expendDistIdList);
+
+        return R.ok().put("mkDistSellAllocation", mkDistSellAllocation);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("mkdistsellallocation:save")
+    @ResponseBody
+    public R save(@RequestBody MkDistSellAllocationEntity mkDistSellAllocation) {
+        Map<String, Object> valideDate = MapBeanUtil.fromObject(mkDistSellAllocation);
+        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
+//        builder.put("distChnlId", "分销渠道id");
+        builder.put("thirdMerchSn", "所属三方商户");
+        builder.put("supplierId", "所属供货商");
+        builder.put("storeId", "所属门店");
+        builder.put("goodsId", "商品id");
+        builder.put("distId", "商品所属分销商id");
+        builder.put("allocType", "分配方式");
+//        builder.put("expendDistLines", "支出提成额度");
+        R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        if (Integer.valueOf(r.get("code").toString()) != 0) {
+            throw new RRException(r.get("msg").toString());
+        }
+        mkDistSellAllocationService.save(mkDistSellAllocation);
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("mkdistsellallocation:update")
+    @ResponseBody
+    public R update(@RequestBody MkDistSellAllocationEntity mkDistSellAllocation) {
+        Map<String, Object> valideDate = MapBeanUtil.fromObject(mkDistSellAllocation);
+        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
+//        builder.put("distChnlId", "分销渠道id");
+        builder.put("thirdMerchSn", "所属三方商户");
+        builder.put("supplierId", "所属供货商");
+        builder.put("storeId", "所属门店");
+        builder.put("goodsId", "商品id");
+        builder.put("distId", "商品所属分销商id");
+        builder.put("allocType", "分配方式");
+//        builder.put("expendDistLines", "支出提成额度");
+        R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        if (Integer.valueOf(r.get("code").toString()) != 0) {
+            throw new RRException(r.get("msg").toString());
+        }
+        mkDistSellAllocationService.update(mkDistSellAllocation);
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("mkdistsellallocation:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]sellAllocIds) {
+        mkDistSellAllocationService.deleteBatch(sellAllocIds);
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        List<MkDistSellAllocationEntity> list = mkDistSellAllocationService.queryList(params);
+        return R.ok().put("list", list);
+    }
+}

+ 203 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/mk/dist/MkDistSellStatisController.java

@@ -0,0 +1,203 @@
+package com.kmall.admin.controller.mk.dist;
+
+import java.util.*;
+
+import com.kmall.admin.entity.mk.dist.MkDistEntity;
+import com.kmall.admin.entity.mk.dist.MkDistSellStatisEntity;
+import com.kmall.admin.service.mk.dist.MkDistSellStatisService;
+import com.kmall.admin.service.mk.dist.MkDistService;
+import com.kmall.admin.utils.ParamUtils;
+import com.kmall.common.constant.Dict;
+import com.kmall.common.utils.DateUtils;
+import com.kmall.common.utils.PageUtils;
+import com.kmall.common.utils.Query;
+import com.kmall.common.utils.R;
+import com.kmall.common.utils.excel.ExcelExport;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 购买商品生成销售分配记录统计,渠道销售统计Controller
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:46
+ */
+@Controller
+@RequestMapping("mkdistsellstatis")
+public class MkDistSellStatisController {
+    @Autowired
+    private MkDistSellStatisService mkDistSellStatisService;
+    @Autowired
+    private MkDistService mkDistService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("mkdistsellstatis:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        params = setTimeMap(params);
+        //查询列表数据
+        Query query = new Query(params);
+
+        List<MkDistSellStatisEntity> mkDistSellStatisList = mkDistSellStatisService.queryList(query);
+        int total = mkDistSellStatisService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(mkDistSellStatisList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{id}")
+    @RequiresPermissions("mkdistsellstatis:info")
+    @ResponseBody
+    public R info(@PathVariable("id") Integer id) {
+        MkDistSellStatisEntity mkDistSellStatis = mkDistSellStatisService.queryObject(id);
+
+        return R.ok().put("mkDistSellStatis", mkDistSellStatis);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("mkdistsellstatis:save")
+    @ResponseBody
+    public R save(@RequestBody MkDistSellStatisEntity mkDistSellStatis) {
+        mkDistSellStatisService.save(mkDistSellStatis);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("mkdistsellstatis:update")
+    @ResponseBody
+    public R update(@RequestBody MkDistSellStatisEntity mkDistSellStatis) {
+        mkDistSellStatisService.update(mkDistSellStatis);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("mkdistsellstatis:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]ids) {
+        mkDistSellStatisService.deleteBatch(ids);
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        params = setTimeMap(params);
+
+        List<MkDistSellStatisEntity> list = mkDistSellStatisService.queryList(params);
+
+        return R.ok().put("list", list);
+    }
+
+    /**
+     * 订单导出请求
+     */
+    @RequiresPermissions(value = {"order:export"})
+    @RequestMapping(value = "export")
+    public Object export(@RequestParam Map<String, Object> params, HttpServletResponse response, HttpServletRequest request) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        params = setTimeMap(params);
+
+        List<MkDistSellStatisEntity> orderList = mkDistSellStatisService.queryStatisExportList(params);
+
+        ExcelExport ee = new ExcelExport("渠道销售统计");
+
+//        String[] header = new String[]{"分销渠道名称","所属三方商户", "所属门店", "订单编号", "商品所属分销商", "商品名称", "商品销售价", "实际支付金额",
+//                "分销分配方式", "支出分销规则(分销商:分配额度)", "支出分销商", "支出分销商额度", "支出分销商等级"};
+        String[] header = new String[]{ "订单编号", "商品名称", "商品所属分销商-门店","上级分销商-门店","上级分销商等级", "上级分销商分摊金额","商品销售价", "实际支付金额",
+                "分销分配方式", "支出分销规则(分销商:分配额度)", "所属三方商户", "分销渠道名称"};
+
+        List<Map<String, Object>> list = new ArrayList<>();
+        if (orderList != null && orderList.size() != 0) {
+            for (MkDistSellStatisEntity mkDistSellStatisEntity : orderList) {
+                LinkedHashMap<String, Object> map = new LinkedHashMap<>();
+                StringBuffer lines = new StringBuffer();
+                String distIds = mkDistSellStatisEntity.getExpendDistIds();
+                String distLines = mkDistSellStatisEntity.getExpendDistLines();
+                String[] idsArray = distIds.split(",");
+                String[] distLinesArray = distLines.split(",");
+                for (int i = 0; i < idsArray.length; i++){
+                    MkDistEntity distEntity = mkDistService.queryObject(Integer.parseInt(idsArray[i]));
+                    lines = lines.append(distEntity.getDistName() +":"+ distLinesArray[i]+",");
+                }
+
+                map.put("orderSn", mkDistSellStatisEntity.getOrderSn());
+                map.put("goodsName", mkDistSellStatisEntity.getGoodsName());
+                map.put("goodsDistName", mkDistSellStatisEntity.getGoodsDistName()+"-"+mkDistSellStatisEntity.getStoreName());
+                map.put("expendDistName", mkDistSellStatisEntity.getExpendDistName()+"-"+mkDistSellStatisEntity.getChildStoreName());
+                map.put("expendDistLevel", mkDistSellStatisEntity.getExpendDistLevel());
+                map.put("expendDistPrice", mkDistSellStatisEntity.getExpendDistPrice());
+                map.put("goodsPrice", mkDistSellStatisEntity.getGoodsPrice());
+                map.put("autprice", StringUtils.isNotEmpty(String.valueOf(mkDistSellStatisEntity.getActualPrice())) ? mkDistSellStatisEntity.getActualPrice().doubleValue() : 0);
+                map.put("allocType", StringUtils.isEmpty(mkDistSellStatisEntity.getAllocType())? "":
+                        Dict.allocType.valueOf("item_"+mkDistSellStatisEntity.getAllocType()).getItemName());
+                map.put("expendDistLines", lines.substring(0,lines.length()-1));
+                map.put("thirdPartyMerchName", mkDistSellStatisEntity.getThirdPartyMerchName());
+//                map.put("storeName", mkDistSellStatisEntity.getStoreName());
+//                map.put("childSupplierName", mkDistSellStatisEntity.getChildSupplierName());
+                map.put("distFlag", mkDistSellStatisEntity.getDistFlag());
+
+                list.add(map);
+            }
+        }
+
+        ee.addSheetByMap("渠道销售统计", list, header);
+        ee.export(response);
+        return R.ok();
+    }
+    private Map<String, Object> setTimeMap(Map<String, Object> params){
+        String startTime = (String) params.get("startTime");
+        String endTime = (String) params.get("endTime");
+        if(org.apache.commons.lang.StringUtils.isNotEmpty(startTime)) {
+            try {
+                startTime = new String(startTime.getBytes("iso-8859-1"), "utf-8");
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+            startTime = DateUtils.getDate(startTime);
+            params.put("startTime", startTime + " 00:00:00");
+        }
+        if(org.apache.commons.lang.StringUtils.isNotEmpty(endTime)) {
+            try {
+                endTime = new String(endTime.getBytes("iso-8859-1"), "utf-8");
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+            endTime = DateUtils.getDate(endTime);
+            params.put("endTime", endTime + " 59:59:59");
+        }
+        return params;
+    }
+
+
+}

+ 109 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/mk/store/MkStorePromChnlController.java

@@ -0,0 +1,109 @@
+package com.kmall.admin.controller.mk.store;
+
+import java.util.List;
+import java.util.Map;
+
+import com.kmall.admin.entity.mk.store.MkStorePromChnlEntity;
+import com.kmall.admin.service.mk.store.MkStorePromChnlService;
+import com.kmall.admin.utils.ParamUtils;
+import com.kmall.common.utils.PageUtils;
+import com.kmall.common.utils.Query;
+import com.kmall.common.utils.R;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 门店推广渠道Controller
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 15:52:20
+ */
+@Controller
+@RequestMapping("mkstorepromchnl")
+public class MkStorePromChnlController {
+    @Autowired
+    private MkStorePromChnlService mkStorePromChnlService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("mkstorepromchnl:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        //查询列表数据
+        Query query = new Query(params);
+
+        List<MkStorePromChnlEntity> mkStorePromChnlList = mkStorePromChnlService.queryList(query);
+        int total = mkStorePromChnlService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(mkStorePromChnlList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{promChnlId}")
+    @RequiresPermissions("mkstorepromchnl:info")
+    @ResponseBody
+    public R info(@PathVariable("promChnlId") Integer promChnlId) {
+        MkStorePromChnlEntity mkStorePromChnl = mkStorePromChnlService.queryObject(promChnlId);
+
+        return R.ok().put("mkStorePromChnl", mkStorePromChnl);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("mkstorepromchnl:save")
+    @ResponseBody
+    public R save(@RequestBody MkStorePromChnlEntity mkStorePromChnl) {
+        mkStorePromChnlService.save(mkStorePromChnl);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("mkstorepromchnl:update")
+    @ResponseBody
+    public R update(@RequestBody MkStorePromChnlEntity mkStorePromChnl) {
+        mkStorePromChnlService.update(mkStorePromChnl);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("mkstorepromchnl:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]promChnlIds) {
+        mkStorePromChnlService.deleteBatch(promChnlIds);
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+
+        List<MkStorePromChnlEntity> list = mkStorePromChnlService.queryList(params);
+
+        return R.ok().put("list", list);
+    }
+}

+ 259 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/mk/store/MkStorePromController.java

@@ -0,0 +1,259 @@
+package com.kmall.admin.controller.mk.store;
+
+import java.io.*;
+import java.nio.file.Files;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.alibaba.fastjson.JSON;
+import com.google.common.collect.ImmutableBiMap;
+import com.kmall.admin.entity.mk.store.MkStorePromChnlEntity;
+import com.kmall.admin.entity.mk.store.MkStorePromEntity;
+import com.kmall.admin.service.mk.store.MkStorePromService;
+import com.kmall.common.constant.Dict;
+import com.kmall.common.fileserver.util.FileManager;
+import com.kmall.common.utils.*;
+import com.kmall.common.utils.file.FileUploadUtil;
+import com.kmall.common.utils.wechat.AccessToken;
+import com.kmall.manager.manager.pay.wxpay.WxPayPropertiesBuilder;
+import com.kmall.manager.manager.wechat.wxtemplate.WxTemplateUtil;
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.disk.DiskFileItem;
+import org.apache.commons.io.IOUtils;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.protocol.HTTP;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.commons.CommonsMultipartFile;
+
+/**
+ * 门店推广Controller
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 15:52:20
+ */
+@Controller
+@RequestMapping("mkstoreprom")
+public class MkStorePromController {
+    @Autowired
+    private MkStorePromService mkStorePromService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("mkstoreprom:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        //查询列表数据
+        Query query = new Query(params);
+
+        List<MkStorePromEntity> mkStorePromList = mkStorePromService.queryList(query);
+        for (MkStorePromEntity mkStorePromEntity : mkStorePromList) {
+            String promStat = "";
+            String promInfo = "";
+            String promPicUrl = "";
+
+            String browseNum = StringUtils.isNotEmpty(String.valueOf(mkStorePromEntity.getBrowseNum())) ? String.valueOf(mkStorePromEntity.getBrowseNum()) : "0";
+            String payOrderNum = StringUtils.isNotEmpty(String.valueOf(mkStorePromEntity.getPayOrderNum())) ? String.valueOf(mkStorePromEntity.getPayOrderNum()) : "0";
+            String receivMoney = StringUtils.isNotEmpty(String.valueOf(mkStorePromEntity.getReceivMoney())) ? String.valueOf(mkStorePromEntity.getReceivMoney()) : "0";
+            String startDate = DateUtils.format(mkStorePromEntity.getPromBegTime(), DateUtils.DATE_TIME_PATTERN);
+            String endDate = DateUtils.format(mkStorePromEntity.getPromEndTime(), DateUtils.DATE_TIME_PATTERN);
+            String inValidDate = startDate + " - " + endDate;
+            if(mkStorePromEntity.getPromType().equalsIgnoreCase(Dict.promType.item_00.getItem())){
+                promStat = "浏览量:" + browseNum;
+                promInfo = "<span style=\"font-weight: bolder\">" + mkStorePromEntity.getPromName() + "</span>\n"
+                        + mkStorePromEntity.getTopicTitle() + "\n推广有效期:"
+                        + inValidDate ;
+
+                if(mkStorePromEntity.getIsFinished().equalsIgnoreCase(Dict.isFinished.item_1.getItem())){
+                    promInfo = promInfo + "&nbsp;&nbsp;&nbsp;&nbsp;<button class='btn btn-outline'style=\"margin-top: -3px;\" onclick='vm.updateFinished(" + mkStorePromEntity.getPromId() + ")'>立即结束</button>";
+                }
+                promPicUrl = mkStorePromEntity.getItemPicUrl();
+            }
+            if(mkStorePromEntity.getPromType().equalsIgnoreCase(Dict.promType.item_10.getItem())){
+                promStat = "浏览量:" + browseNum + "\n支付单数:" + payOrderNum + "\n应收金额:" + receivMoney;
+                promInfo = "<span style=\"font-weight: bolder\">" + mkStorePromEntity.getPromName() + "</span>\n"
+                        + mkStorePromEntity.getGoodsName() + "\n推广有效期:"
+                        + inValidDate;
+                if(mkStorePromEntity.getIsFinished().equalsIgnoreCase(Dict.isFinished.item_1.getItem())){
+                    promInfo = promInfo + "&nbsp;&nbsp;&nbsp;&nbsp;<button class='btn btn-outline'style=\"margin-top: -3px;\" onclick='vm.updateFinished(" + mkStorePromEntity.getPromId() + ")'>立即结束</button>";
+                }
+                promPicUrl = mkStorePromEntity.getListPicUrl();
+            }
+            mkStorePromEntity.setPromStat(promStat);
+            mkStorePromEntity.setPromInfo(promInfo);
+            mkStorePromEntity.setPromPicUrl(promPicUrl);
+        }
+        int total = mkStorePromService.queryTotal(query);
+        PageUtils pageUtil = new PageUtils(mkStorePromList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{promId}")
+    @RequiresPermissions("mkstoreprom:info")
+    @ResponseBody
+    public R info(@PathVariable("promId") Integer promId) {
+        MkStorePromEntity mkStoreProm = mkStorePromService.queryObject(promId);
+
+        return R.ok().put("mkStoreProm", mkStoreProm);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("mkstoreprom:save")
+    @ResponseBody
+    public R save(@RequestBody MkStorePromEntity mkStoreProm) {
+        Map<String, Object> valideDate = MapBeanUtil.fromObject(mkStoreProm);
+        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
+        builder.put("promName", "推广名称");
+        builder.put("thirdMerchSn", "所属三方商户");
+        builder.put("storeId", "所属门店");
+        builder.put("promBegTime", "推广起始时间");
+        builder.put("promEndTime", "推广结束时间");
+        builder.put("promType", "推广分类");
+        builder.put("promChnlId", "推广渠道");
+        R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        if (Integer.valueOf(r.get("code").toString()) != 0) {
+            throw new RRException(r.get("msg").toString());
+        }
+        if(mkStoreProm.getPromType().equalsIgnoreCase("00")){
+            builder.put("storeTopicId", "推广活动");
+        }
+        if(mkStoreProm.getPromType().equalsIgnoreCase("10")){
+            builder.put("goodsId", "推广商品");
+        }
+        r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        if (Integer.valueOf(r.get("code").toString()) != 0) {
+            throw new RRException(r.get("msg").toString());
+        }
+
+        mkStorePromService.save(mkStoreProm);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("mkstoreprom:update")
+    @ResponseBody
+    public R update(@RequestBody MkStorePromEntity mkStoreProm) {
+        Map<String, Object> valideDate = MapBeanUtil.fromObject(mkStoreProm);
+        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
+        builder.put("promName", "推广名称");
+        builder.put("thirdMerchSn", "所属三方商户");
+        builder.put("storeId", "所属门店");
+        builder.put("promBegTime", "推广起始时间");
+        builder.put("promEndTime", "推广结束时间");
+        builder.put("promType", "推广分类");
+        builder.put("promChnlId", "推广渠道");
+        R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        if (Integer.valueOf(r.get("code").toString()) != 0) {
+            throw new RRException(r.get("msg").toString());
+        }
+        if(mkStoreProm.getPromType().equalsIgnoreCase("00")){
+            builder.put("storeTopicId", "推广活动");
+        }
+        if(mkStoreProm.getPromType().equalsIgnoreCase("10")){
+            builder.put("goodsId", "推广商品");
+        }
+        r = ValidatorUtil.isEmpty(builder.build(), valideDate);
+        if (Integer.valueOf(r.get("code").toString()) != 0) {
+            throw new RRException(r.get("msg").toString());
+        }
+        mkStorePromService.update(mkStoreProm);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("mkstoreprom:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]promIds) {
+        mkStorePromService.deleteBatch(promIds);
+
+        return R.ok();
+    }
+
+    @RequestMapping("/updateFinished")
+    @RequiresPermissions("mkstoreprom:update")
+    @ResponseBody
+    public R updateFinished(@RequestBody Integer promId) {
+        MkStorePromEntity mkStorePromEntity = mkStorePromService.queryObject(promId);
+        if(mkStorePromEntity != null){
+            if(mkStorePromEntity.getIsFinished().equalsIgnoreCase(Dict.isFinished.item_0.getItem())){
+                throw new RRException("该推广信息已结束,不能再次操作!");
+            }else{
+                MkStorePromEntity promEntity = new MkStorePromEntity();
+                promEntity.setPromId(promId);
+                promEntity.setIsFinished(Dict.isFinished.item_0.getItem());
+                mkStorePromService.update(promEntity);
+            }
+        }
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+
+        List<MkStorePromEntity> list = mkStorePromService.queryList(params);
+
+        return R.ok().put("list", list);
+    }
+
+    @RequestMapping("/qrcodeCanvas/{promId}")
+//    @RequiresPermissions("mkstoreprom:qrcodeCanvas")
+    @ResponseBody
+    public R qrcodeCanvas(@PathVariable("promId") Integer promId) {
+        MkStorePromEntity storePromEntity = mkStorePromService.queryObject(promId);
+        if(storePromEntity==null){
+            throw new RRException("门店渠道推广信息不存在");
+        }
+        AccessToken accessToken = WxTemplateUtil.getAccessToken(WxPayPropertiesBuilder.instance().getAppId(),WxPayPropertiesBuilder.instance().getSecret());
+        if(accessToken == null){
+            throw new RRException("token获取失败");
+        }
+        String token = accessToken.getToken();
+
+        //构建请求参数
+        Map<Object, Object> params = new HashMap<Object, Object>();
+        if(storePromEntity.getPromType().equalsIgnoreCase(Dict.promType.item_10.getItem())){
+            params.put("scene", storePromEntity.getGoodsId()+"&"+storePromEntity.getStoreId()+"&"+storePromEntity.getPromId());//参数
+            params.put("page", "pages/goods/goods");//商品详情页面
+        }
+        if(storePromEntity.getPromType().equalsIgnoreCase(Dict.promType.item_00.getItem())){
+            params.put("scene", storePromEntity.getStoreTopicId()+"&"+storePromEntity.getStoreId()+"&"+storePromEntity.getPromId());//参数
+            params.put("page", "pages/goods/goods");//活动详情页面
+        }
+        params.put("width", 430);
+        String mapToXml = JSON.toJSONString(params);
+
+        String url = FileUploadUtil.getUploadUrl(mapToXml, token, promId);
+        return R.ok().put("url", url);
+    }
+}

+ 107 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/mk/store/MkStorePromStatController.java

@@ -0,0 +1,107 @@
+package com.kmall.admin.controller.mk.store;
+
+import java.util.List;
+import java.util.Map;
+
+import com.kmall.admin.entity.mk.store.MkStorePromStatEntity;
+import com.kmall.admin.service.mk.store.MkStorePromStatService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import com.kmall.common.utils.PageUtils;
+import com.kmall.common.utils.Query;
+import com.kmall.common.utils.R;
+
+/**
+ * 门店推广统计Controller
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 15:52:20
+ */
+@Controller
+@RequestMapping("mkstorepromstat")
+public class MkStorePromStatController {
+    @Autowired
+    private MkStorePromStatService mkStorePromStatService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("mkstorepromstat:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        //查询列表数据
+        Query query = new Query(params);
+
+        List<MkStorePromStatEntity> mkStorePromStatList = mkStorePromStatService.queryList(query);
+        int total = mkStorePromStatService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(mkStorePromStatList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{promStatId}")
+    @RequiresPermissions("mkstorepromstat:info")
+    @ResponseBody
+    public R info(@PathVariable("promStatId") Integer promStatId) {
+        MkStorePromStatEntity mkStorePromStat = mkStorePromStatService.queryObject(promStatId);
+
+        return R.ok().put("mkStorePromStat", mkStorePromStat);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("mkstorepromstat:save")
+    @ResponseBody
+    public R save(@RequestBody MkStorePromStatEntity mkStorePromStat) {
+        mkStorePromStatService.save(mkStorePromStat);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("mkstorepromstat:update")
+    @ResponseBody
+    public R update(@RequestBody MkStorePromStatEntity mkStorePromStat) {
+        mkStorePromStatService.update(mkStorePromStat);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("mkstorepromstat:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]promStatIds) {
+        mkStorePromStatService.deleteBatch(promStatIds);
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+
+        List<MkStorePromStatEntity> list = mkStorePromStatService.queryList(params);
+
+        return R.ok().put("list", list);
+    }
+}

+ 106 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/mk/store/MkStorePromTypeController.java

@@ -0,0 +1,106 @@
+package com.kmall.admin.controller.mk.store;
+
+import java.util.List;
+import java.util.Map;
+
+import com.kmall.admin.entity.mk.store.MkStorePromTypeEntity;
+import com.kmall.admin.service.mk.store.MkStorePromTypeService;
+import com.kmall.common.utils.PageUtils;
+import com.kmall.common.utils.Query;
+import com.kmall.common.utils.R;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 门店活动分类表,store promotionController
+ *
+ * @author emato
+ * @email admin@qhdswl.com
+ * @date 2019-04-28 14:15:21
+ */
+@Controller
+@RequestMapping("mkstorepromtype")
+public class MkStorePromTypeController {
+    @Autowired
+    private MkStorePromTypeService mkStorePromTypeService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("mkstorepromtype:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        //查询列表数据
+        Query query = new Query(params);
+
+        List<MkStorePromTypeEntity> mkStorePromTypeList = mkStorePromTypeService.queryList(query);
+        int total = mkStorePromTypeService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(mkStorePromTypeList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{promTypeId}")
+    @RequiresPermissions("mkstorepromtype:info")
+    @ResponseBody
+    public R info(@PathVariable("promTypeId") Integer promTypeId) {
+        MkStorePromTypeEntity mkStorePromType = mkStorePromTypeService.queryObject(promTypeId);
+
+        return R.ok().put("mkStorePromType", mkStorePromType);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("mkstorepromtype:save")
+    @ResponseBody
+    public R save(@RequestBody MkStorePromTypeEntity mkStorePromType) {
+        mkStorePromTypeService.save(mkStorePromType);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("mkstorepromtype:update")
+    @ResponseBody
+    public R update(@RequestBody MkStorePromTypeEntity mkStorePromType) {
+        mkStorePromTypeService.update(mkStorePromType);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("mkstorepromtype:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]promTypeIds) {
+        mkStorePromTypeService.deleteBatch(promTypeIds);
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+
+        List<MkStorePromTypeEntity> list = mkStorePromTypeService.queryList(params);
+
+        return R.ok().put("list", list);
+    }
+}

+ 109 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/mk/store/StoreTopicController.java

@@ -0,0 +1,109 @@
+package com.kmall.admin.controller.mk.store;
+
+import java.util.List;
+import java.util.Map;
+
+import com.kmall.admin.entity.mk.store.StoreTopicEntity;
+import com.kmall.admin.service.mk.store.StoreTopicService;
+import com.kmall.admin.utils.ParamUtils;
+import com.kmall.common.utils.PageUtils;
+import com.kmall.common.utils.Query;
+import com.kmall.common.utils.R;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 门店活动表Controller
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 16:50:46
+ */
+@Controller
+@RequestMapping("storetopic")
+public class StoreTopicController {
+    @Autowired
+    private StoreTopicService storeTopicService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("storetopic:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        //查询列表数据
+        Query query = new Query(params);
+
+        List<StoreTopicEntity> storeTopicList = storeTopicService.queryList(query);
+        int total = storeTopicService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(storeTopicList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{id}")
+    @RequiresPermissions("storetopic:info")
+    @ResponseBody
+    public R info(@PathVariable("id") Integer id) {
+        StoreTopicEntity storeTopic = storeTopicService.queryObject(id);
+
+        return R.ok().put("storeTopic", storeTopic);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("storetopic:save")
+    @ResponseBody
+    public R save(@RequestBody StoreTopicEntity storeTopic) {
+        storeTopicService.save(storeTopic);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("storetopic:update")
+    @ResponseBody
+    public R update(@RequestBody StoreTopicEntity storeTopic) {
+        storeTopicService.update(storeTopic);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("storetopic:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]ids) {
+        storeTopicService.deleteBatch(ids);
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+
+        List<StoreTopicEntity> list = storeTopicService.queryList(params);
+
+        return R.ok().put("list", list);
+    }
+}

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/ExportExceptionDataDao.java

@@ -8,7 +8,7 @@ import org.springframework.stereotype.Component;
 /**
  * 数据导入异常数据记录Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-12-07 09:41:15
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/FreightDao.java

@@ -11,7 +11,7 @@ import java.util.Map;
 /**
  * Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-10-22 15:18:16
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/FreightItemDao.java

@@ -6,7 +6,7 @@ import com.kmall.manager.dao.BaseDao;
 /**
  * Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-10-22 15:18:16
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/GoodsDao.java

@@ -23,5 +23,5 @@ public interface GoodsDao extends BaseDao<GoodsEntity> {
 
     List<GoodsEntity> querySame(Map<String, Object> map);
 
-    GoodsEntity queryObjectByProdBarcode(@Param("prodBarcode") String prodBarcode, @Param("merchSn") String merchSn,@Param("goodsId")Long id);
+    List<GoodsEntity> queryObjectByProdBarcode(@Param("prodBarcode") String prodBarcode, @Param("merchSn") String merchSn,@Param("goodsId")Long id);
 }

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/MerchDao.java

@@ -6,7 +6,7 @@ import com.kmall.manager.dao.BaseDao;
 /**
  * Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-12-06 09:41:34
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/MngChangeDao.java

@@ -7,7 +7,7 @@ import org.apache.ibatis.annotations.Param;
 /**
  * 库存变化表Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2019-03-11 10:29:49
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/OfflineCartDao.java

@@ -11,7 +11,7 @@ import java.util.Map;
 /**
  * Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-29 15:14:59
  */

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/OrderDao.java

@@ -72,4 +72,6 @@ public interface OrderDao extends BaseDao<OrderEntity> {
     List<OrderEntity> queryObjectByMerchOrderSn(@Param("merchOrderSn")String merchOrderSn);
 
     List<OrderEntity> queryExportList(Map<String, Object> map);
+
+    OrderEntity queryObjectByOrderSn(@Param("orderSn")String orderSn);
 }

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/OrderExceptionRecordDao.java

@@ -6,7 +6,7 @@ import com.kmall.manager.dao.BaseDao;
 /**
  * 订单异常记录表Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-10-31 17:15:22
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/OrderProcessRecordDao.java

@@ -6,7 +6,7 @@ import com.kmall.manager.dao.BaseDao;
 /**
  * 订单流转过程记录表Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-10-27 16:38:50
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/PinganPayOrderDao.java

@@ -6,7 +6,7 @@ import com.kmall.manager.manager.pingan.dto.PinganPayOrderDto;
 /**
  * Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-12-06 15:29:43
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/PinganResponseDao.java

@@ -7,7 +7,7 @@ import com.kmall.manager.manager.pingan.dto.PinganResponseDto;
 /**
  * Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-12-06 15:29:43
  */

+ 2 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/ShippingDao.java

@@ -2,6 +2,7 @@ package com.kmall.admin.dao;
 
 import com.kmall.admin.entity.ShippingEntity;
 import com.kmall.manager.dao.BaseDao;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * Dao
@@ -11,5 +12,5 @@ import com.kmall.manager.dao.BaseDao;
  * @date 2017-09-04 21:42:24
  */
 public interface ShippingDao extends BaseDao<ShippingEntity> {
-
+    ShippingEntity queryObjectByCode(@Param("code")String code);
 }

+ 3 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/StoreDao.java

@@ -14,4 +14,7 @@ import com.kmall.manager.dao.BaseDao;
 public interface StoreDao extends BaseDao<StoreEntity> {
 
     StoreEntity queryObjectByName(@Param("storeName") String storeName);
+
+//    StoreEntity queryObjectByDistId(@Param("distId") Integer distId);
+
 }

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/StoreMngChangeDao.java

@@ -7,7 +7,7 @@ import org.apache.ibatis.annotations.Param;
 /**
  * 门店库存变化表Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2019-03-11 10:29:49
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/SupplierDao.java

@@ -7,7 +7,7 @@ import org.apache.ibatis.annotations.Param;
 /**
  * Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-26 15:14:24
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/SysCusNationCodeDao.java

@@ -7,7 +7,7 @@ import org.apache.ibatis.annotations.Param;
 /**
  * 国别地区代码Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-10 15:26:44
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/SysCusUnitCodeDao.java

@@ -7,7 +7,7 @@ import org.apache.ibatis.annotations.Param;
 /**
  * 计量单位代码Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-10 15:34:36
  */

+ 16 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/ThirdMerchExpressDao.java

@@ -0,0 +1,16 @@
+package com.kmall.admin.dao;
+
+
+import com.kmall.admin.entity.ThirdMerchExpressEntity;
+import com.kmall.manager.dao.BaseDao;
+
+/**
+ * 第三方商户快递账号表Dao
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-03 16:52:21
+ */
+public interface ThirdMerchExpressDao extends BaseDao<ThirdMerchExpressEntity> {
+    ThirdMerchExpressEntity getThirdMerchExpressByThirdCode(String thirdPartyMerchCode);
+}

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/dao/ThirdMerchantBizDao.java

@@ -9,7 +9,7 @@ import java.util.List;
 /**
  * 第三方商户表Dao
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2019-02-15 11:43:32
  */

+ 15 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/MkCenterMenuDao.java

@@ -0,0 +1,15 @@
+package com.kmall.admin.dao.mk;
+
+import com.kmall.admin.entity.mk.MkCenterMenuEntity;
+import com.kmall.manager.dao.BaseDao;
+
+/**
+ * 营销中心菜单表Dao
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-15 11:23:38
+ */
+public interface MkCenterMenuDao extends BaseDao<MkCenterMenuEntity> {
+
+}

+ 16 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/dist/MkDistChnlDao.java

@@ -0,0 +1,16 @@
+package com.kmall.admin.dao.mk.dist;
+
+import com.kmall.admin.entity.mk.dist.MkDistChnlEntity;
+import com.kmall.manager.dao.BaseDao;
+
+/**
+ * 分销渠道Dao
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:47
+ */
+public interface MkDistChnlDao extends BaseDao<MkDistChnlEntity> {
+    MkDistChnlEntity queryObjectByDistFlag(String distFlag);
+
+}

+ 25 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/dist/MkDistDao.java

@@ -0,0 +1,25 @@
+package com.kmall.admin.dao.mk.dist;
+
+import com.kmall.admin.entity.mk.dist.MkDistEntity;
+import com.kmall.manager.dao.BaseDao;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 分销商,distributorDao
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:47
+ */
+public interface MkDistDao extends BaseDao<MkDistEntity> {
+    MkDistEntity queryObjectByDistName(String distName);
+
+    MkDistEntity queryDistByGoodsId(Map<String, Object> map);
+
+    MkDistEntity queryDistByStoreId(Integer storeId);
+
+    List<MkDistEntity> queryAllByHier(Map<String, Object> map);
+
+}

+ 77 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/dist/MkDistHierDao.java

@@ -0,0 +1,77 @@
+package com.kmall.admin.dao.mk.dist;
+
+import com.kmall.admin.entity.mk.dist.MkDistHierEntity;
+import com.kmall.manager.dao.BaseDao;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 分销层级,树状层级,每个子级只有唯一一个父级,一个父级可以多个子级Dao
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:46
+ */
+public interface MkDistHierDao extends BaseDao<MkDistHierEntity> {
+
+    MkDistHierEntity queryObjectByName(String distHierName);
+
+    /**
+     * 根据上级分销商和渠道分销查询层级关系
+     * @param pdistId
+     * @param distChnlId
+     * @return
+     */
+    List<MkDistHierEntity> queryObjectByPdistIdAndChnlId(@Param("pdistId") Integer pdistId, @Param("distChnlId")Integer distChnlId);
+
+    /**
+     * 查询层级关系树形结构
+     * @param map
+     * @return
+     */
+    List<MkDistHierEntity> queryListByTree(Map<String, Object> map);
+
+    /**
+     * 根据父级分销商和子级分销商和分销渠道查询层级关系
+     * @param map
+     * @return
+     */
+    List<MkDistHierEntity> queryListByPdistIdAndChnlIdAndDistId(Map<String, Object> map);
+
+    /**
+     * 查询当前上下级分销商的层级关系
+     * @param map
+     * @return
+     */
+    List<MkDistHierEntity> queryObjectByDistIdAndPdistId(Map<String, Object> map);
+
+    /**
+     * 查询配置信息
+     * @param key
+     * @return
+     */
+    Map querySysConfigByKey(String key);
+
+    /**
+     * 查询上级分销商与分销渠道与层级级别的层级关系
+     * @param map
+     * @return
+     */
+    MkDistHierEntity queryObjectByHierMap(Map<String, Object> map);
+
+    /**
+     * 根据分销渠道查询层级级别为1级的层级关系信息
+     * @param distChnlId
+     * @return
+     */
+    MkDistHierEntity selectDistHierByChnlIdAndOneLvl(@Param("distChnlId") Integer distChnlId, @Param("distHierId")Integer distHierId);
+
+    /**
+     * 根据子级分销商查询层级关系
+     * @param distId
+     * @return
+     */
+    MkDistHierEntity selectDistHierByDistId(@Param("distId")Integer distId);
+}

+ 18 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/dist/MkDistSellAllocationDao.java

@@ -0,0 +1,18 @@
+package com.kmall.admin.dao.mk.dist;
+
+import com.kmall.admin.entity.mk.dist.MkDistSellAllocationEntity;
+import com.kmall.manager.dao.BaseDao;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 渠道销售分配,分销商针对某个商品sku的销售分配Dao
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:46
+ */
+public interface MkDistSellAllocationDao extends BaseDao<MkDistSellAllocationEntity> {
+    List<MkDistSellAllocationEntity> queryAllocationByMap(Map<String, Object> map);
+}

+ 16 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/dist/MkDistSellAllocationHistoryDao.java

@@ -0,0 +1,16 @@
+package com.kmall.admin.dao.mk.dist;
+
+
+import com.kmall.admin.entity.mk.dist.MkDistSellAllocationHistoryEntity;
+import com.kmall.manager.dao.BaseDao;
+
+/**
+ * 渠道销售分配,分销商针对某个商品sku的销售分配Dao
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-15 13:55:16
+ */
+public interface MkDistSellAllocationHistoryDao extends BaseDao<MkDistSellAllocationHistoryEntity> {
+
+}

+ 18 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/dist/MkDistSellStatisDao.java

@@ -0,0 +1,18 @@
+package com.kmall.admin.dao.mk.dist;
+
+import com.kmall.admin.entity.mk.dist.MkDistSellStatisEntity;
+import com.kmall.manager.dao.BaseDao;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 购买商品生成销售分配记录统计,渠道销售统计Dao
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:46
+ */
+public interface MkDistSellStatisDao extends BaseDao<MkDistSellStatisEntity> {
+    List<MkDistSellStatisEntity> queryStatisExportList(Map<String, Object> map);
+}

+ 15 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/MkStorePromChnlDao.java

@@ -0,0 +1,15 @@
+package com.kmall.admin.dao.mk.store;
+
+import com.kmall.admin.entity.mk.store.MkStorePromChnlEntity;
+import com.kmall.manager.dao.BaseDao;
+
+/**
+ * 门店推广渠道Dao
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 15:52:20
+ */
+public interface MkStorePromChnlDao extends BaseDao<MkStorePromChnlEntity> {
+
+}

+ 16 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/MkStorePromDao.java

@@ -0,0 +1,16 @@
+package com.kmall.admin.dao.mk.store;
+
+import com.kmall.admin.entity.mk.store.MkStorePromEntity;
+import com.kmall.manager.dao.BaseDao;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 门店推广Dao
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 15:52:20
+ */
+public interface MkStorePromDao extends BaseDao<MkStorePromEntity> {
+    MkStorePromEntity queryObjectByName(@Param("promName") String promName);
+}

+ 15 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/MkStorePromStatDao.java

@@ -0,0 +1,15 @@
+package com.kmall.admin.dao.mk.store;
+
+import com.kmall.admin.entity.mk.store.MkStorePromStatEntity;
+import com.kmall.manager.dao.BaseDao;
+
+/**
+ * 门店推广统计Dao
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 15:52:20
+ */
+public interface MkStorePromStatDao extends BaseDao<MkStorePromStatEntity> {
+
+}

+ 15 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/MkStorePromTypeDao.java

@@ -0,0 +1,15 @@
+package com.kmall.admin.dao.mk.store;
+
+import com.kmall.admin.entity.mk.store.MkStorePromTypeEntity;
+import com.kmall.manager.dao.BaseDao;
+
+/**
+ * 门店活动分类表,store promotionDao
+ *
+ * @author emato
+ * @email admin@qhdswl.com
+ * @date 2019-04-28 14:15:21
+ */
+public interface MkStorePromTypeDao extends BaseDao<MkStorePromTypeEntity> {
+
+}

+ 15 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/StoreTopicDao.java

@@ -0,0 +1,15 @@
+package com.kmall.admin.dao.mk.store;
+
+import com.kmall.admin.entity.mk.store.StoreTopicEntity;
+import com.kmall.manager.dao.BaseDao;
+
+/**
+ * 门店活动表Dao
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 16:50:46
+ */
+public interface StoreTopicDao extends BaseDao<StoreTopicEntity> {
+
+}

+ 53 - 0
kmall-admin/src/main/java/com/kmall/admin/dto/ExpendDistDto.java

@@ -0,0 +1,53 @@
+package com.kmall.admin.dto;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author huangyq
+ * @version 1.0
+ * 2019-04-19 14:07
+ */
+public class ExpendDistDto  implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private Integer expendDistId;
+
+    private String expendDistName;
+
+    private BigDecimal expendDistLine;
+
+    private String expendDistLvl;
+
+    public String getExpendDistLvl() {
+        return expendDistLvl;
+    }
+
+    public void setExpendDistLvl(String expendDistLvl) {
+        this.expendDistLvl = expendDistLvl;
+    }
+
+    public String getExpendDistName() {
+        return expendDistName;
+    }
+
+    public void setExpendDistName(String expendDistName) {
+        this.expendDistName = expendDistName;
+    }
+
+    public Integer getExpendDistId() {
+        return expendDistId;
+    }
+
+    public void setExpendDistId(Integer expendDistId) {
+        this.expendDistId = expendDistId;
+    }
+
+    public BigDecimal getExpendDistLine() {
+        return expendDistLine;
+    }
+
+    public void setExpendDistLine(BigDecimal expendDistLine) {
+        this.expendDistLine = expendDistLine;
+    }
+}

+ 52 - 0
kmall-admin/src/main/java/com/kmall/admin/dto/OrderExpressDto.java

@@ -0,0 +1,52 @@
+package com.kmall.admin.dto;
+
+import java.io.Serializable;
+
+/**
+ * @author huangyq
+ * @version 1.0
+ * 2019-04-26 10:32
+ */
+public class OrderExpressDto  implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String orderSn;
+
+    private String shippingNo;
+
+    private String shippingName;
+
+    private String shippingCode;
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    public String getShippingNo() {
+        return shippingNo;
+    }
+
+    public void setShippingNo(String shippingNo) {
+        this.shippingNo = shippingNo;
+    }
+
+    public String getShippingName() {
+        return shippingName;
+    }
+
+    public void setShippingName(String shippingName) {
+        this.shippingName = shippingName;
+    }
+
+    public String getShippingCode() {
+        return shippingCode;
+    }
+
+    public void setShippingCode(String shippingCode) {
+        this.shippingCode = shippingCode;
+    }
+}

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/ExportExceptionDataEntity.java

@@ -7,7 +7,7 @@ import java.util.Date;
  * 数据导入异常数据记录实体
  * 表名 mall_export_exception_data
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-12-07 09:41:15
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/FreightEntity.java

@@ -9,7 +9,7 @@ import java.util.List;
  * 实体
  * 表名 mall_freight
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-10-22 15:18:16
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/FreightItemEntity.java

@@ -8,7 +8,7 @@ import java.util.Date;
  * 实体
  * 表名 mall_freight_item
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-10-22 15:18:16
  */

+ 25 - 3
kmall-admin/src/main/java/com/kmall/admin/entity/GoodsEntity.java

@@ -147,11 +147,11 @@ public class GoodsEntity implements Serializable {
     // 商品类型
     private Integer goodsType = 0; // 0普通 1 2团购
 
-    List<GoodsAttributeEntity> attributeEntityList = new ArrayList<>();
+    private List<GoodsAttributeEntity> attributeEntityList = new ArrayList<>();
 
-    List<GoodsGalleryEntity> goodsImgList = new ArrayList<>();
+    private List<GoodsGalleryEntity> goodsImgList = new ArrayList<>();
 
-    List<ProductEntity> productEntityList = new ArrayList<>();
+    private List<ProductEntity> productEntityList = new ArrayList<>();
     /**
      * 翻译用字段
      */
@@ -182,6 +182,28 @@ public class GoodsEntity implements Serializable {
     private String thirdPartyMerchCode;
     private String isStockShare;
 
+    //毛重,kg
+    private BigDecimal grossWeight;
+
+    //净重,kg
+    private BigDecimal netWeight;
+
+    public BigDecimal getGrossWeight() {
+        return grossWeight;
+    }
+
+    public void setGrossWeight(BigDecimal grossWeight) {
+        this.grossWeight = grossWeight;
+    }
+
+    public BigDecimal getNetWeight() {
+        return netWeight;
+    }
+
+    public void setNetWeight(BigDecimal netWeight) {
+        this.netWeight = netWeight;
+    }
+
     public String getIsStockShare() {
         return isStockShare;
     }

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/MerchEntity.java

@@ -7,7 +7,7 @@ import java.util.Date;
  * 实体
  * 表名 mall_merch
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-12-06 09:41:34
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/MngChangeEntity.java

@@ -7,7 +7,7 @@ import java.util.Date;
  * 库存变化表实体
  * 表名 mall_mng_change
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2019-03-11 10:29:49
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/OfflineCartEntity.java

@@ -8,7 +8,7 @@ import java.util.Date;
  * 实体
  * 表名 offline_cart
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-29 15:14:59
  */

+ 107 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/OrderEntity.java

@@ -143,6 +143,113 @@ public class OrderEntity implements Serializable {
 
     private String payTransactionId;
 
+    private String storeName;
+
+    private String moderSn;
+
+    private String createrSn;
+
+    private String idNo;
+    //毛重,kg
+    private BigDecimal grossWeight;
+
+    //净重,kg
+    private BigDecimal netWeight;
+    //品牌
+    private String brand;
+    /**
+     * 国检规格型号
+     */
+    private String ciqProdModel;
+    /**
+     * 原产国代码,海关编码
+     */
+    private String oriCntCode;
+    /**
+     * 计量单位代码,参见海关编码
+     */
+    private String unitCode;
+
+    public String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand;
+    }
+
+    public String getCiqProdModel() {
+        return ciqProdModel;
+    }
+
+    public void setCiqProdModel(String ciqProdModel) {
+        this.ciqProdModel = ciqProdModel;
+    }
+
+    public String getOriCntCode() {
+        return oriCntCode;
+    }
+
+    public void setOriCntCode(String oriCntCode) {
+        this.oriCntCode = oriCntCode;
+    }
+
+    public String getUnitCode() {
+        return unitCode;
+    }
+
+    public void setUnitCode(String unitCode) {
+        this.unitCode = unitCode;
+    }
+
+    public BigDecimal getGrossWeight() {
+        return grossWeight;
+    }
+
+    public void setGrossWeight(BigDecimal grossWeight) {
+        this.grossWeight = grossWeight;
+    }
+
+    public BigDecimal getNetWeight() {
+        return netWeight;
+    }
+
+    public void setNetWeight(BigDecimal netWeight) {
+        this.netWeight = netWeight;
+    }
+
+    public String getIdNo() {
+        return idNo;
+    }
+
+    public void setIdNo(String idNo) {
+        this.idNo = idNo;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    public String getStoreName() {
+        return storeName;
+    }
+
+    public void setStoreName(String storeName) {
+        this.storeName = storeName;
+    }
+
     public String getPayTransactionId() {
         return payTransactionId;
     }

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/OrderExceptionRecordEntity.java

@@ -7,7 +7,7 @@ import java.util.Date;
  * 订单异常记录表实体
  * 表名 mall_order_exception_record
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-10-31 17:15:22
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/OrderProcessRecordEntity.java

@@ -7,7 +7,7 @@ import java.util.Date;
  * 订单流转过程记录表实体
  * 表名 mall_order_process_record
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-10-30 17:05:03
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/OrderRefundEntity.java

@@ -8,7 +8,7 @@ import java.util.Date;
  * 订单退款记录表实体
  * 表名 mall_order_refund
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-01 10:16:41
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/OrderWXPayRecordEntity.java

@@ -7,7 +7,7 @@ import java.util.Date;
  * 订单异常记录表实体
  * 表名 mall_order_exception_record
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-10-31 17:15:22
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/ProductStoreRelaEntity.java

@@ -109,7 +109,7 @@ public class ProductStoreRelaEntity implements Serializable {
 
     private Integer goodsSellVolume;
 
-    List<GoodsAttributeEntity> attributeEntityList = new ArrayList<>();
+    private List<GoodsAttributeEntity> attributeEntityList = new ArrayList<>();
 
     public Integer getGoodsSellVolume() {
         return goodsSellVolume;

+ 9 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/StoreEntity.java

@@ -77,6 +77,15 @@ public class StoreEntity implements Serializable {
     private String thirdPartyMerchCode;
     private String thirdPartyMerchName;
     private String exprAgreementType;
+    private String isValid;
+
+    public String getIsValid() {
+        return isValid;
+    }
+
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
 
     public String getExprAgreementType() {
         return exprAgreementType;

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/StoreMngChangeEntity.java

@@ -7,7 +7,7 @@ import java.util.Date;
  * 门店库存变化表实体
  * 表名 mall_store_mng_change
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2019-03-11 10:29:49
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/SupplierEntity.java

@@ -7,7 +7,7 @@ import java.util.Date;
  * 实体
  * 表名 mall_supplier
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-26 15:14:24
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/SysCusNationCodeEntity.java

@@ -7,7 +7,7 @@ import java.util.Date;
  * 国别地区代码实体
  * 表名 sys_cus_nation_code
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-10 15:26:44
  */

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/entity/SysCusUnitCodeEntity.java

@@ -7,7 +7,7 @@ import java.util.Date;
  * 计量单位代码实体
  * 表名 sys_cus_unit_code
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-11-10 15:34:36
  */

+ 215 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/ThirdMerchExpressEntity.java

@@ -0,0 +1,215 @@
+package com.kmall.admin.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 第三方商户快递账号表实体
+ * 表名 third_merch_express
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-03 16:52:21
+ */
+public class ThirdMerchExpressEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private Integer id;
+    /**
+     * 商户快递账号
+     */
+    private String expressAccount;
+    /**
+     * 商户快递密码
+     */
+    private String expressPwd;
+    /**
+     * 商户快递月结账号
+     */
+    private String expressCusId;
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    private String thirdPartyMerchName;
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName;
+    }
+
+    /**
+     * 设置:主键
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * 获取:主键
+     */
+    public Integer getId() {
+        return id;
+    }
+    /**
+     * 设置:商户快递账号
+     */
+    public void setExpressAccount(String expressAccount) {
+        this.expressAccount = expressAccount;
+    }
+
+    /**
+     * 获取:商户快递账号
+     */
+    public String getExpressAccount() {
+        return expressAccount;
+    }
+    /**
+     * 设置:商户快递密码
+     */
+    public void setExpressPwd(String expressPwd) {
+        this.expressPwd = expressPwd;
+    }
+
+    /**
+     * 获取:商户快递密码
+     */
+    public String getExpressPwd() {
+        return expressPwd;
+    }
+    /**
+     * 设置:商户快递月结账号
+     */
+    public void setExpressCusId(String expressCusId) {
+        this.expressCusId = expressCusId;
+    }
+
+    /**
+     * 获取:商户快递月结账号
+     */
+    public String getExpressCusId() {
+        return expressCusId;
+    }
+    /**
+     * 设置:第三方商户代码
+     */
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode;
+    }
+
+    /**
+     * 获取:第三方商户代码
+     */
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getRemark() {
+        return remark;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 21 - 2
kmall-admin/src/main/java/com/kmall/admin/entity/ThirdMerchantBizEntity.java

@@ -7,7 +7,7 @@ import java.util.Date;
  * 第三方商户表实体
  * 表名 third_merchant_biz
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2019-02-15 11:43:32
  */
@@ -33,7 +33,6 @@ public class ThirdMerchantBizEntity implements Serializable {
 
     private String isStoreUserShare;
 
-
     /**
      * 是否有效,0:有效,1:无效
      */
@@ -59,6 +58,26 @@ public class ThirdMerchantBizEntity implements Serializable {
      */
     private Date tstm;
 
+    private String isMapShow;
+
+    private String isDistSellStart;
+
+    public String getIsDistSellStart() {
+        return isDistSellStart;
+    }
+
+    public void setIsDistSellStart(String isDistSellStart) {
+        this.isDistSellStart = isDistSellStart;
+    }
+
+    public String getIsMapShow() {
+        return isMapShow;
+    }
+
+    public void setIsMapShow(String isMapShow) {
+        this.isMapShow = isMapShow;
+    }
+
     public String getIsStoreUserShare() {
         return isStoreUserShare;
     }

+ 202 - 53
kmall-admin/src/main/java/com/kmall/admin/entity/TopicEntity.java

@@ -2,43 +2,99 @@ package com.kmall.admin.entity;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
-
+import java.util.Date;
 
 /**
  * 实体
  * 表名 mall_topic
  *
- * @author Scott
- * @email
- * @date 2017-08-20 14:10:08
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 15:52:20
  */
 public class TopicEntity implements Serializable {
     private static final long serialVersionUID = 1L;
 
-    //主键
+    /**
+     * 主键
+     */
     private Integer id;
-    //活动主题
+    /**
+     * 活动主题
+     */
     private String title;
-    //活动内容
+    /**
+     * 活动内容
+     */
     private String content;
-    //化名
-    private String avatar;
-    //活动条例图片
+    /**
+     * 活动图片
+     */
     private String itemPicUrl;
-    //子标题
+    /**
+     * 子标题
+     */
     private String subtitle;
-    //活动类别
-    private Integer topicCategoryId;
-    //活动价格
+    /**
+     * 活动类别
+     */
+    private Integer promTypeId;
+    /**
+     * 活动价格
+     */
     private BigDecimal priceInfo;
-    //
-    private String readCount;
-    //场景图片链接
+    /**
+     * 浏览次数
+     */
+    private Integer readCount;
+    /**
+     * 场景图片链接
+     */
     private String scenePicUrl;
-    //活动模板Id
+    /**
+     * 活动模板Id
+     */
     private Integer topicTemplateId;
-    //活动标签Id
+    /**
+     * 活动标签Id
+     */
     private Integer topicTagId;
+    /**
+     * 门店id
+     */
+    private Integer storeId;
+    /**
+     * 第三方商户id
+     */
+    private Integer thirdMerchSn;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
 
     /**
      * 设置:主键
@@ -53,7 +109,6 @@ public class TopicEntity implements Serializable {
     public Integer getId() {
         return id;
     }
-
     /**
      * 设置:活动主题
      */
@@ -67,7 +122,6 @@ public class TopicEntity implements Serializable {
     public String getTitle() {
         return title;
     }
-
     /**
      * 设置:活动内容
      */
@@ -81,35 +135,19 @@ public class TopicEntity implements Serializable {
     public String getContent() {
         return content;
     }
-
-    /**
-     * 设置:化名
-     */
-    public void setAvatar(String avatar) {
-        this.avatar = avatar;
-    }
-
-    /**
-     * 获取:化名
-     */
-    public String getAvatar() {
-        return avatar;
-    }
-
     /**
-     * 设置:活动条例图片
+     * 设置:活动图片
      */
     public void setItemPicUrl(String itemPicUrl) {
         this.itemPicUrl = itemPicUrl;
     }
 
     /**
-     * 获取:活动条例图片
+     * 获取:活动图片
      */
     public String getItemPicUrl() {
         return itemPicUrl;
     }
-
     /**
      * 设置:子标题
      */
@@ -123,21 +161,19 @@ public class TopicEntity implements Serializable {
     public String getSubtitle() {
         return subtitle;
     }
-
     /**
      * 设置:活动类别
      */
-    public void setTopicCategoryId(Integer topicCategoryId) {
-        this.topicCategoryId = topicCategoryId;
+    public void setPromTypeId(Integer promTypeId) {
+        this.promTypeId = promTypeId;
     }
 
     /**
      * 获取:活动类别
      */
-    public Integer getTopicCategoryId() {
-        return topicCategoryId;
+    public Integer getPromTypeId() {
+        return promTypeId;
     }
-
     /**
      * 设置:活动价格
      */
@@ -151,21 +187,19 @@ public class TopicEntity implements Serializable {
     public BigDecimal getPriceInfo() {
         return priceInfo;
     }
-
     /**
-     * 设置:
+     * 设置:浏览次数
      */
-    public void setReadCount(String readCount) {
+    public void setReadCount(Integer readCount) {
         this.readCount = readCount;
     }
 
     /**
-     * 获取:
+     * 获取:浏览次数
      */
-    public String getReadCount() {
+    public Integer getReadCount() {
         return readCount;
     }
-
     /**
      * 设置:场景图片链接
      */
@@ -179,7 +213,6 @@ public class TopicEntity implements Serializable {
     public String getScenePicUrl() {
         return scenePicUrl;
     }
-
     /**
      * 设置:活动模板Id
      */
@@ -193,7 +226,6 @@ public class TopicEntity implements Serializable {
     public Integer getTopicTemplateId() {
         return topicTemplateId;
     }
-
     /**
      * 设置:活动标签Id
      */
@@ -207,4 +239,121 @@ public class TopicEntity implements Serializable {
     public Integer getTopicTagId() {
         return topicTagId;
     }
+    /**
+     * 设置:门店id
+     */
+    public void setStoreId(Integer storeId) {
+        this.storeId = storeId;
+    }
+
+    /**
+     * 获取:门店id
+     */
+    public Integer getStoreId() {
+        return storeId;
+    }
+    /**
+     * 设置:第三方商户id
+     */
+    public void setThirdMerchSn(Integer thirdMerchSn) {
+        this.thirdMerchSn = thirdMerchSn;
+    }
+
+    /**
+     * 获取:第三方商户id
+     */
+    public Integer getThirdMerchSn() {
+        return thirdMerchSn;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
 }

+ 274 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/MkCenterMenuEntity.java

@@ -0,0 +1,274 @@
+package com.kmall.admin.entity.mk;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 营销中心菜单表实体
+ * 表名 mk_center_menu
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-15 11:23:38
+ */
+public class MkCenterMenuEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 编号
+     */
+    private Integer id;
+    /**
+     * 菜单名称
+     */
+    private String menuName;
+    /**
+     * 菜单描述
+     */
+    private String menuDetail;
+    /**
+     * 菜单图片链接
+     */
+    private String picUrl;
+    /**
+     * 菜单跳转url
+     */
+    private String menuUrl;
+    /**
+     * 门店id
+     */
+    private Integer storeId;
+    /**
+     * 第三方商户id
+     */
+    private Integer thirdMerchSn;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+    private String storeName;
+    private String thirdPartyMerchName;
+
+    public String getStoreName() {
+        return storeName;
+    }
+
+    public void setStoreName(String storeName) {
+        this.storeName = storeName;
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName;
+    }
+
+    /**
+     * 设置:编号
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * 获取:编号
+     */
+    public Integer getId() {
+        return id;
+    }
+    /**
+     * 设置:菜单名称
+     */
+    public void setMenuName(String menuName) {
+        this.menuName = menuName;
+    }
+
+    /**
+     * 获取:菜单名称
+     */
+    public String getMenuName() {
+        return menuName;
+    }
+    /**
+     * 设置:菜单描述
+     */
+    public void setMenuDetail(String menuDetail) {
+        this.menuDetail = menuDetail;
+    }
+
+    /**
+     * 获取:菜单描述
+     */
+    public String getMenuDetail() {
+        return menuDetail;
+    }
+    /**
+     * 设置:菜单图片链接
+     */
+    public void setPicUrl(String picUrl) {
+        this.picUrl = picUrl;
+    }
+
+    /**
+     * 获取:菜单图片链接
+     */
+    public String getPicUrl() {
+        return picUrl;
+    }
+    /**
+     * 设置:菜单跳转url
+     */
+    public void setMenuUrl(String menuUrl) {
+        this.menuUrl = menuUrl;
+    }
+
+    /**
+     * 获取:菜单跳转url
+     */
+    public String getMenuUrl() {
+        return menuUrl;
+    }
+    /**
+     * 设置:门店id
+     */
+    public void setStoreId(Integer storeId) {
+        this.storeId = storeId;
+    }
+
+    /**
+     * 获取:门店id
+     */
+    public Integer getStoreId() {
+        return storeId;
+    }
+    /**
+     * 设置:第三方商户id
+     */
+    public void setThirdMerchSn(Integer thirdMerchSn) {
+        this.thirdMerchSn = thirdMerchSn;
+    }
+
+    /**
+     * 获取:第三方商户id
+     */
+    public Integer getThirdMerchSn() {
+        return thirdMerchSn;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 258 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistChnlEntity.java

@@ -0,0 +1,258 @@
+package com.kmall.admin.entity.mk.dist;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 分销渠道实体
+ * 表名 mk_dist_chnl
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:47
+ */
+public class MkDistChnlEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 分销渠道id
+     */
+    private Integer distChnlId;
+    /**
+     * 分销渠道名称
+     */
+    private String distFlag;
+    /**
+     * 所属分类,【part_type,00:三方商户,10:供应商,20::三方商户及供货商】
+     */
+    private String partType;
+    /**
+     * 所属三方商户
+     */
+    private Integer thirdMerchSn;
+    /**
+     * 所属供应商
+     */
+    private Integer supplierId;
+    /**
+     * 排序
+     */
+    private Integer sortOrder;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+    private String thirdPartyMerchName;
+    private String childSupplierName;
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName;
+    }
+
+    public String getChildSupplierName() {
+        return childSupplierName;
+    }
+
+    public void setChildSupplierName(String childSupplierName) {
+        this.childSupplierName = childSupplierName;
+    }
+
+
+    /**
+     * 设置:分销渠道id
+     */
+    public void setDistChnlId(Integer distChnlId) {
+        this.distChnlId = distChnlId;
+    }
+
+    /**
+     * 获取:分销渠道id
+     */
+    public Integer getDistChnlId() {
+        return distChnlId;
+    }
+    /**
+     * 设置:分销渠道名称
+     */
+    public void setDistFlag(String distFlag) {
+        this.distFlag = distFlag;
+    }
+
+    /**
+     * 获取:分销渠道名称
+     */
+    public String getDistFlag() {
+        return distFlag;
+    }
+    /**
+     * 设置:所属分类,【part_type,00:三方商户,10:供应商,20::三方商户及供货商】
+     */
+    public void setPartType(String partType) {
+        this.partType = partType;
+    }
+
+    /**
+     * 获取:所属分类,【part_type,00:三方商户,10:供应商,20::三方商户及供货商】
+     */
+    public String getPartType() {
+        return partType;
+    }
+    /**
+     * 设置:所属三方商户
+     */
+    public void setThirdMerchSn(Integer thirdMerchSn) {
+        this.thirdMerchSn = thirdMerchSn;
+    }
+
+    /**
+     * 获取:所属三方商户
+     */
+    public Integer getThirdMerchSn() {
+        return thirdMerchSn;
+    }
+    /**
+     * 设置:所属供应商
+     */
+    public void setSupplierId(Integer supplierId) {
+        this.supplierId = supplierId;
+    }
+
+    /**
+     * 获取:所属供应商
+     */
+    public Integer getSupplierId() {
+        return supplierId;
+    }
+    /**
+     * 设置:排序
+     */
+    public void setSortOrder(Integer sortOrder) {
+        this.sortOrder = sortOrder;
+    }
+
+    /**
+     * 获取:排序
+     */
+    public Integer getSortOrder() {
+        return sortOrder;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 292 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistEntity.java

@@ -0,0 +1,292 @@
+package com.kmall.admin.entity.mk.dist;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 分销商,distributor实体
+ * 表名 mk_dist
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:47
+ */
+public class MkDistEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 分销商id
+     */
+    private Integer distId;
+    /**
+     * 分销商名称
+     */
+    private String distName;
+    /**
+     * 分销商英文名
+     */
+    private String distEname;
+    /**
+     * 分销商标识
+     */
+    private String distFlag;
+    /**
+     * 所属三方商户
+     */
+    private Integer thirdMerchSn;
+    /**
+     * 所属供应商
+     */
+    private Integer supplierId;
+    /**
+     * 排序
+     */
+    private Integer sortOrder;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+    private String thirdPartyMerchName;
+    private String childSupplierName;
+    private Integer storeId;
+    private String storeName;
+
+    public Integer getStoreId() {
+        return storeId;
+    }
+
+    public void setStoreId(Integer storeId) {
+        this.storeId = storeId;
+    }
+
+    public String getStoreName() {
+        return storeName;
+    }
+
+    public void setStoreName(String storeName) {
+        this.storeName = storeName;
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName;
+    }
+
+    public String getChildSupplierName() {
+        return childSupplierName;
+    }
+
+    public void setChildSupplierName(String childSupplierName) {
+        this.childSupplierName = childSupplierName;
+    }
+
+    /**
+     * 设置:分销商id
+     */
+    public void setDistId(Integer distId) {
+        this.distId = distId;
+    }
+
+    /**
+     * 获取:分销商id
+     */
+    public Integer getDistId() {
+        return distId;
+    }
+    /**
+     * 设置:分销商名称
+     */
+    public void setDistName(String distName) {
+        this.distName = distName;
+    }
+
+    /**
+     * 获取:分销商名称
+     */
+    public String getDistName() {
+        return distName;
+    }
+    /**
+     * 设置:分销商英文名
+     */
+    public void setDistEname(String distEname) {
+        this.distEname = distEname;
+    }
+
+    /**
+     * 获取:分销商英文名
+     */
+    public String getDistEname() {
+        return distEname;
+    }
+    /**
+     * 设置:分销商标识
+     */
+    public void setDistFlag(String distFlag) {
+        this.distFlag = distFlag;
+    }
+
+    /**
+     * 获取:分销商标识
+     */
+    public String getDistFlag() {
+        return distFlag;
+    }
+    /**
+     * 设置:所属三方商户
+     */
+    public void setThirdMerchSn(Integer thirdMerchSn) {
+        this.thirdMerchSn = thirdMerchSn;
+    }
+
+    /**
+     * 获取:所属三方商户
+     */
+    public Integer getThirdMerchSn() {
+        return thirdMerchSn;
+    }
+    /**
+     * 设置:所属供应商
+     */
+    public void setSupplierId(Integer supplierId) {
+        this.supplierId = supplierId;
+    }
+
+    /**
+     * 获取:所属供应商
+     */
+    public Integer getSupplierId() {
+        return supplierId;
+    }
+    /**
+     * 设置:排序
+     */
+    public void setSortOrder(Integer sortOrder) {
+        this.sortOrder = sortOrder;
+    }
+
+    /**
+     * 获取:排序
+     */
+    public Integer getSortOrder() {
+        return sortOrder;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 371 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistHierEntity.java

@@ -0,0 +1,371 @@
+package com.kmall.admin.entity.mk.dist;
+
+import com.kmall.manager.entity.Tree;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 分销层级,树状层级,每个子级只有唯一一个父级,一个父级可以多个子级实体
+ * 表名 mk_dist_hier
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:46
+ */
+public class MkDistHierEntity extends Tree {
+
+    /**
+     * 分销层级id
+     */
+    private Integer distHierId;
+    /**
+     * 分销渠道id
+     */
+    private Integer distChnlId;
+    /**
+     * 上级分销商id
+     */
+    private Integer pdistId;
+    /**
+     * 分销商id
+     */
+    private Integer distId;
+    /**
+     * 分销层级名称
+     */
+    private String distHierName;
+    /**
+     * 分销层级昵称
+     */
+    private String distHierNname;
+    /**
+     * 层级级别,最大支持99级,【hier_lvl,01:01,02:02,......,99:99】
+     */
+    private String hierLvl;
+    /**
+     * 所属供应商
+     */
+    private Integer supplierId;
+    /**
+     * 排序
+     */
+    private Integer sortOrder;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    private String pdDistName;
+
+    private String distName;
+
+    private String distFlag;
+
+    private String childSupplierName;
+
+    private String parentName;
+
+    private String name;
+
+    private Long parentId;
+
+    public Long getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Long parentId) {
+        this.parentId = parentId;
+    }
+
+    private List<MkDistHierLvlEntity> lvlEntitieyList;
+
+    public List<MkDistHierLvlEntity> getLvlEntitieyList() {
+        return lvlEntitieyList;
+    }
+
+    public void setLvlEntitieyList(List<MkDistHierLvlEntity> lvlEntitieyList) {
+        this.lvlEntitieyList = lvlEntitieyList;
+    }
+
+    public String getParentName() {
+        return parentName;
+    }
+
+    public void setParentName(String parentName) {
+        this.parentName = parentName;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getPdDistName() {
+        return pdDistName;
+    }
+
+    public void setPdDistName(String pdDistName) {
+        this.pdDistName = pdDistName;
+    }
+
+    public String getDistName() {
+        return distName;
+    }
+
+    public void setDistName(String distName) {
+        this.distName = distName;
+    }
+
+    public String getDistFlag() {
+        return distFlag;
+    }
+
+    public void setDistFlag(String distFlag) {
+        this.distFlag = distFlag;
+    }
+
+    public String getChildSupplierName() {
+        return childSupplierName;
+    }
+
+    public void setChildSupplierName(String childSupplierName) {
+        this.childSupplierName = childSupplierName;
+    }
+
+    /**
+     * 设置:分销层级id
+     */
+    public void setDistHierId(Integer distHierId) {
+        this.distHierId = distHierId;
+    }
+
+    /**
+     * 获取:分销层级id
+     */
+    public Integer getDistHierId() {
+        return distHierId;
+    }
+    /**
+     * 设置:分销渠道id
+     */
+    public void setDistChnlId(Integer distChnlId) {
+        this.distChnlId = distChnlId;
+    }
+
+    /**
+     * 获取:分销渠道id
+     */
+    public Integer getDistChnlId() {
+        return distChnlId;
+    }
+    /**
+     * 设置:上级分销商id
+     */
+    public void setPdistId(Integer pdistId) {
+        this.pdistId = pdistId;
+    }
+
+    /**
+     * 获取:上级分销商id
+     */
+    public Integer getPdistId() {
+        return pdistId;
+    }
+    /**
+     * 设置:分销商id
+     */
+    public void setDistId(Integer distId) {
+        this.distId = distId;
+    }
+
+    /**
+     * 获取:分销商id
+     */
+    public Integer getDistId() {
+        return distId;
+    }
+    /**
+     * 设置:分销层级名称
+     */
+    public void setDistHierName(String distHierName) {
+        this.distHierName = distHierName;
+    }
+
+    /**
+     * 获取:分销层级名称
+     */
+    public String getDistHierName() {
+        return distHierName;
+    }
+    /**
+     * 设置:分销层级昵称
+     */
+    public void setDistHierNname(String distHierNname) {
+        this.distHierNname = distHierNname;
+    }
+
+    /**
+     * 获取:分销层级昵称
+     */
+    public String getDistHierNname() {
+        return distHierNname;
+    }
+    /**
+     * 设置:层级级别,最大支持99级,【hier_lvl,01:01,02:02,......,99:99】
+     */
+    public void setHierLvl(String hierLvl) {
+        this.hierLvl = hierLvl;
+    }
+
+    /**
+     * 获取:层级级别,最大支持99级,【hier_lvl,01:01,02:02,......,99:99】
+     */
+    public String getHierLvl() {
+        return hierLvl;
+    }
+    /**
+     * 设置:所属供应商
+     */
+    public void setSupplierId(Integer supplierId) {
+        this.supplierId = supplierId;
+    }
+
+    /**
+     * 获取:所属供应商
+     */
+    public Integer getSupplierId() {
+        return supplierId;
+    }
+    /**
+     * 设置:排序
+     */
+    public void setSortOrder(Integer sortOrder) {
+        this.sortOrder = sortOrder;
+    }
+
+    /**
+     * 获取:排序
+     */
+    public Integer getSortOrder() {
+        return sortOrder;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 31 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistHierLvlEntity.java

@@ -0,0 +1,31 @@
+package com.kmall.admin.entity.mk.dist;
+
+import java.io.Serializable;
+
+/**
+ * @author huangyq
+ * @version 1.0
+ * 2019-04-16 17:23
+ */
+public class MkDistHierLvlEntity  implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String hierLvl;
+    private String hierKey;
+
+    public String getHierLvl() {
+        return hierLvl;
+    }
+
+    public void setHierLvl(String hierLvl) {
+        this.hierLvl = hierLvl;
+    }
+
+    public String getHierKey() {
+        return hierKey;
+    }
+
+    public void setHierKey(String hierKey) {
+        this.hierKey = hierKey;
+    }
+}

+ 390 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistSellAllocationEntity.java

@@ -0,0 +1,390 @@
+package com.kmall.admin.entity.mk.dist;
+
+import com.kmall.admin.dto.ExpendDistDto;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 渠道销售分配,分销商针对某个商品sku的销售分配实体
+ * 表名 mk_dist_sell_allocation
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:46
+ */
+public class MkDistSellAllocationEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 销售分配id
+     */
+    private Integer sellAllocId;
+    /**
+     * 分销渠道名称
+     */
+    private String distFlag;
+    /**
+     * 所属三方商户
+     */
+    private Integer thirdMerchSn;
+    /**
+     * 所属供应商
+     */
+    private Integer supplierId;
+    /**
+     * 商品所属分销商id
+     */
+    private Integer distId;
+    /**
+     * 商品id
+     */
+    private Integer goodsId;
+    /**
+     * 分配方式,【alloc_type,00:比例,10:金额】
+     */
+    private String allocType;
+    /**
+     * 支出分销商id,格式为【一级经销商id,二级经销商id,三级经销商id...】,a,b,c...,n,m
+     */
+    private String expendDistIds;
+    /**
+     * 支出提成额度(点数/金额),格式为【一级提成额度,二级提成额度,三级提成额度...】,3,2,1...,n,m
+     */
+    private String expendDistLines;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    private List<Integer> expendDistIdList;
+
+    private Integer storeId;
+
+    private Integer distChnlId;
+
+    private Integer sellAllocHistoryId;
+
+    private String distName;
+    private String storeName;
+    private String goodsName;
+    private String thirdPartyMerchName;
+    private String childSupplierName;
+
+    private List<ExpendDistDto> expendDistDtoList;
+
+    public List<ExpendDistDto> getExpendDistDtoList() {
+        return expendDistDtoList;
+    }
+
+    public void setExpendDistDtoList(List<ExpendDistDto> expendDistDtoList) {
+        this.expendDistDtoList = expendDistDtoList;
+    }
+
+    public Integer getSellAllocHistoryId() {
+        return sellAllocHistoryId;
+    }
+
+    public void setSellAllocHistoryId(Integer sellAllocHistoryId) {
+        this.sellAllocHistoryId = sellAllocHistoryId;
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName;
+    }
+
+    public String getChildSupplierName() {
+        return childSupplierName;
+    }
+
+    public void setChildSupplierName(String childSupplierName) {
+        this.childSupplierName = childSupplierName;
+    }
+
+
+    public String getDistName() {
+        return distName;
+    }
+
+    public void setDistName(String distName) {
+        this.distName = distName;
+    }
+
+    public String getStoreName() {
+        return storeName;
+    }
+
+    public void setStoreName(String storeName) {
+        this.storeName = storeName;
+    }
+
+    public String getGoodsName() {
+        return goodsName;
+    }
+
+    public void setGoodsName(String goodsName) {
+        this.goodsName = goodsName;
+    }
+
+    public Integer getDistChnlId() {
+        return distChnlId;
+    }
+
+    public void setDistChnlId(Integer distChnlId) {
+        this.distChnlId = distChnlId;
+    }
+
+    public Integer getStoreId() {
+        return storeId;
+    }
+
+    public void setStoreId(Integer storeId) {
+        this.storeId = storeId;
+    }
+
+    public List<Integer> getExpendDistIdList() {
+        return expendDistIdList;
+    }
+
+    public void setExpendDistIdList(List<Integer> expendDistIdList) {
+        this.expendDistIdList = expendDistIdList;
+    }
+
+    /**
+     * 设置:销售分配id
+     */
+    public void setSellAllocId(Integer sellAllocId) {
+        this.sellAllocId = sellAllocId;
+    }
+
+    /**
+     * 获取:销售分配id
+     */
+    public Integer getSellAllocId() {
+        return sellAllocId;
+    }
+    /**
+     * 设置:分销渠道名称
+     */
+    public void setDistFlag(String distFlag) {
+        this.distFlag = distFlag;
+    }
+
+    /**
+     * 获取:分销渠道名称
+     */
+    public String getDistFlag() {
+        return distFlag;
+    }
+    /**
+     * 设置:所属三方商户
+     */
+    public void setThirdMerchSn(Integer thirdMerchSn) {
+        this.thirdMerchSn = thirdMerchSn;
+    }
+
+    /**
+     * 获取:所属三方商户
+     */
+    public Integer getThirdMerchSn() {
+        return thirdMerchSn;
+    }
+    /**
+     * 设置:所属供应商
+     */
+    public void setSupplierId(Integer supplierId) {
+        this.supplierId = supplierId;
+    }
+
+    /**
+     * 获取:所属供应商
+     */
+    public Integer getSupplierId() {
+        return supplierId;
+    }
+    /**
+     * 设置:商品所属分销商id
+     */
+    public void setDistId(Integer distId) {
+        this.distId = distId;
+    }
+
+    /**
+     * 获取:商品所属分销商id
+     */
+    public Integer getDistId() {
+        return distId;
+    }
+    /**
+     * 设置:商品id
+     */
+    public void setGoodsId(Integer goodsId) {
+        this.goodsId = goodsId;
+    }
+
+    /**
+     * 获取:商品id
+     */
+    public Integer getGoodsId() {
+        return goodsId;
+    }
+    /**
+     * 设置:分配方式,【alloc_type,00:比例,10:金额】
+     */
+    public void setAllocType(String allocType) {
+        this.allocType = allocType;
+    }
+
+    /**
+     * 获取:分配方式,【alloc_type,00:比例,10:金额】
+     */
+    public String getAllocType() {
+        return allocType;
+    }
+    /**
+     * 设置:支出分销商id,格式为【一级经销商id,二级经销商id,三级经销商id...】,a,b,c...,n,m
+     */
+    public void setExpendDistIds(String expendDistIds) {
+        this.expendDistIds = expendDistIds;
+    }
+
+    /**
+     * 获取:支出分销商id,格式为【一级经销商id,二级经销商id,三级经销商id...】,a,b,c...,n,m
+     */
+    public String getExpendDistIds() {
+        return expendDistIds;
+    }
+    /**
+     * 设置:支出提成额度(点数/金额),格式为【一级提成额度,二级提成额度,三级提成额度...】,3,2,1...,n,m
+     */
+    public void setExpendDistLines(String expendDistLines) {
+        this.expendDistLines = expendDistLines;
+    }
+
+    /**
+     * 获取:支出提成额度(点数/金额),格式为【一级提成额度,二级提成额度,三级提成额度...】,3,2,1...,n,m
+     */
+    public String getExpendDistLines() {
+        return expendDistLines;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 324 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistSellAllocationHistoryEntity.java

@@ -0,0 +1,324 @@
+package com.kmall.admin.entity.mk.dist;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 渠道销售分配,分销商针对某个商品sku的销售分配实体
+ * 表名 mk_dist_sell_allocation_history
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-15 13:55:16
+ */
+public class MkDistSellAllocationHistoryEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 销售分配历史记录id
+     */
+    private Integer sellAllocHistoryId;
+    /**
+     * 分销渠道id
+     */
+    private Integer distChnlId;
+    /**
+     * 分销渠道名称
+     */
+    private String distFlag;
+    /**
+     * 所属三方商户
+     */
+    private Integer thirdMerchSn;
+    /**
+     * 所属供应商
+     */
+    private Integer supplierId;
+    /**
+     * 商品所属分销商id
+     */
+    private Integer distId;
+    /**
+     * 门店id
+     */
+    private Integer storeId;
+    /**
+     * 商品id
+     */
+    private Integer goodsId;
+    /**
+     * 分配方式,【alloc_type,00:比例,10:金额】
+     */
+    private String allocType;
+    /**
+     * 支出分销商id,格式为【一级经销商id,二级经销商id,三级经销商id...】,a,b,c...,n,m
+     */
+    private String expendDistIds;
+    /**
+     * 支出分销商金额【比例/金额】,格式为【一级提成额度,二级提成额度,三级提成额度...】,3,2,1...,n,m
+     */
+    private String expendDistLines;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    /**
+     * 设置:销售分配历史记录id
+     */
+    public void setSellAllocHistoryId(Integer sellAllocHistoryId) {
+        this.sellAllocHistoryId = sellAllocHistoryId;
+    }
+
+    /**
+     * 获取:销售分配历史记录id
+     */
+    public Integer getSellAllocHistoryId() {
+        return sellAllocHistoryId;
+    }
+    /**
+     * 设置:分销渠道id
+     */
+    public void setDistChnlId(Integer distChnlId) {
+        this.distChnlId = distChnlId;
+    }
+
+    /**
+     * 获取:分销渠道id
+     */
+    public Integer getDistChnlId() {
+        return distChnlId;
+    }
+    /**
+     * 设置:分销渠道名称
+     */
+    public void setDistFlag(String distFlag) {
+        this.distFlag = distFlag;
+    }
+
+    /**
+     * 获取:分销渠道名称
+     */
+    public String getDistFlag() {
+        return distFlag;
+    }
+    /**
+     * 设置:所属三方商户
+     */
+    public void setThirdMerchSn(Integer thirdMerchSn) {
+        this.thirdMerchSn = thirdMerchSn;
+    }
+
+    /**
+     * 获取:所属三方商户
+     */
+    public Integer getThirdMerchSn() {
+        return thirdMerchSn;
+    }
+    /**
+     * 设置:所属供应商
+     */
+    public void setSupplierId(Integer supplierId) {
+        this.supplierId = supplierId;
+    }
+
+    /**
+     * 获取:所属供应商
+     */
+    public Integer getSupplierId() {
+        return supplierId;
+    }
+    /**
+     * 设置:商品所属分销商id
+     */
+    public void setDistId(Integer distId) {
+        this.distId = distId;
+    }
+
+    /**
+     * 获取:商品所属分销商id
+     */
+    public Integer getDistId() {
+        return distId;
+    }
+    /**
+     * 设置:门店id
+     */
+    public void setStoreId(Integer storeId) {
+        this.storeId = storeId;
+    }
+
+    /**
+     * 获取:门店id
+     */
+    public Integer getStoreId() {
+        return storeId;
+    }
+    /**
+     * 设置:商品id
+     */
+    public void setGoodsId(Integer goodsId) {
+        this.goodsId = goodsId;
+    }
+
+    /**
+     * 获取:商品id
+     */
+    public Integer getGoodsId() {
+        return goodsId;
+    }
+    /**
+     * 设置:分配方式,【alloc_type,00:比例,10:金额】
+     */
+    public void setAllocType(String allocType) {
+        this.allocType = allocType;
+    }
+
+    /**
+     * 获取:分配方式,【alloc_type,00:比例,10:金额】
+     */
+    public String getAllocType() {
+        return allocType;
+    }
+    /**
+     * 设置:支出分销商id,格式为【一级经销商id,二级经销商id,三级经销商id...】,a,b,c...,n,m
+     */
+    public void setExpendDistIds(String expendDistIds) {
+        this.expendDistIds = expendDistIds;
+    }
+
+    /**
+     * 获取:支出分销商id,格式为【一级经销商id,二级经销商id,三级经销商id...】,a,b,c...,n,m
+     */
+    public String getExpendDistIds() {
+        return expendDistIds;
+    }
+    /**
+     * 设置:支出分销商金额【比例/金额】,格式为【一级提成额度,二级提成额度,三级提成额度...】,3,2,1...,n,m
+     */
+    public void setExpendDistLines(String expendDistLines) {
+        this.expendDistLines = expendDistLines;
+    }
+
+    /**
+     * 获取:支出分销商金额【比例/金额】,格式为【一级提成额度,二级提成额度,三级提成额度...】,3,2,1...,n,m
+     */
+    public String getExpendDistLines() {
+        return expendDistLines;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 491 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/dist/MkDistSellStatisEntity.java

@@ -0,0 +1,491 @@
+package com.kmall.admin.entity.mk.dist;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 购买商品生成销售分配记录统计,渠道销售统计实体
+ * 表名 mk_dist_sell_statis
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-09 18:04:46
+ */
+public class MkDistSellStatisEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 编号
+     */
+    private Integer id;
+    /**
+     * 分销渠道名称
+     */
+    private String distFlag;
+    /**
+     * 所属三方商户
+     */
+    private Integer thirdMerchSn;
+    /**
+     * 所属供应商
+     */
+    private Integer supplierId;
+    /**
+     * 商品所属分销商id
+     */
+    private Integer distId;
+    /**
+     * 商品id
+     */
+    private String goodsId;
+    /**
+     * 商品价格
+     */
+    private BigDecimal goodsPrice;
+    /**
+     * 分配方式,【alloc_type,00:比例,10:金额】
+     */
+    private String allocType;
+    /**
+     * 支出分销商id
+     */
+    private Integer expendDistId;
+    /**
+     * 支出分销商金额【点数/金额】,公式:商品价格*设置点数/金额
+     */
+    private BigDecimal expendDistPrice;
+    /**
+     * 支出分销商等级 1 一级,2 二级,3 三级
+     */
+    private String expendDistLevel;
+    /**
+     * 来源
+     */
+    private String expendSource;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    private String orderSn;
+
+    private String distChnlId;
+
+    private Integer userId;
+
+    private Integer orderGoodsId;
+
+    private String goodsDistName;
+    private String storeName;
+    private String goodsName;
+    private String thirdPartyMerchName;
+    private String childSupplierName;
+    private String expendDistName;
+    private String userName;
+    private Integer sellAllocHistoryId;
+    private String expendDistIds;
+    private String expendDistLines;
+    private BigDecimal actualPrice;
+    private String childStoreName;
+
+    public String getChildStoreName() {
+        return childStoreName;
+    }
+
+    public void setChildStoreName(String childStoreName) {
+        this.childStoreName = childStoreName;
+    }
+
+    public BigDecimal getActualPrice() {
+        return actualPrice;
+    }
+
+    public void setActualPrice(BigDecimal actualPrice) {
+        this.actualPrice = actualPrice;
+    }
+
+    public Integer getSellAllocHistoryId() {
+        return sellAllocHistoryId;
+    }
+
+    public void setSellAllocHistoryId(Integer sellAllocHistoryId) {
+        this.sellAllocHistoryId = sellAllocHistoryId;
+    }
+
+    public String getExpendDistIds() {
+        return expendDistIds;
+    }
+
+    public void setExpendDistIds(String expendDistIds) {
+        this.expendDistIds = expendDistIds;
+    }
+
+    public String getExpendDistLines() {
+        return expendDistLines;
+    }
+
+    public void setExpendDistLines(String expendDistLines) {
+        this.expendDistLines = expendDistLines;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getGoodsDistName() {
+        return goodsDistName;
+    }
+
+    public void setGoodsDistName(String goodsDistName) {
+        this.goodsDistName = goodsDistName;
+    }
+
+    public String getStoreName() {
+        return storeName;
+    }
+
+    public void setStoreName(String storeName) {
+        this.storeName = storeName;
+    }
+
+    public String getGoodsName() {
+        return goodsName;
+    }
+
+    public void setGoodsName(String goodsName) {
+        this.goodsName = goodsName;
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName;
+    }
+
+    public String getChildSupplierName() {
+        return childSupplierName;
+    }
+
+    public void setChildSupplierName(String childSupplierName) {
+        this.childSupplierName = childSupplierName;
+    }
+
+    public String getExpendDistName() {
+        return expendDistName;
+    }
+
+    public void setExpendDistName(String expendDistName) {
+        this.expendDistName = expendDistName;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public Integer getOrderGoodsId() {
+        return orderGoodsId;
+    }
+
+    public void setOrderGoodsId(Integer orderGoodsId) {
+        this.orderGoodsId = orderGoodsId;
+    }
+
+    public String getDistChnlId() {
+        return distChnlId;
+    }
+
+    public void setDistChnlId(String distChnlId) {
+        this.distChnlId = distChnlId;
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    /**
+     * 设置:编号
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * 获取:编号
+     */
+    public Integer getId() {
+        return id;
+    }
+    /**
+     * 设置:分销渠道名称
+     */
+    public void setDistFlag(String distFlag) {
+        this.distFlag = distFlag;
+    }
+
+    /**
+     * 获取:分销渠道名称
+     */
+    public String getDistFlag() {
+        return distFlag;
+    }
+    /**
+     * 设置:所属三方商户
+     */
+    public void setThirdMerchSn(Integer thirdMerchSn) {
+        this.thirdMerchSn = thirdMerchSn;
+    }
+
+    /**
+     * 获取:所属三方商户
+     */
+    public Integer getThirdMerchSn() {
+        return thirdMerchSn;
+    }
+    /**
+     * 设置:所属供应商
+     */
+    public void setSupplierId(Integer supplierId) {
+        this.supplierId = supplierId;
+    }
+
+    /**
+     * 获取:所属供应商
+     */
+    public Integer getSupplierId() {
+        return supplierId;
+    }
+    /**
+     * 设置:商品所属分销商id
+     */
+    public void setDistId(Integer distId) {
+        this.distId = distId;
+    }
+
+    /**
+     * 获取:商品所属分销商id
+     */
+    public Integer getDistId() {
+        return distId;
+    }
+    /**
+     * 设置:商品id
+     */
+    public void setGoodsId(String goodsId) {
+        this.goodsId = goodsId;
+    }
+
+    /**
+     * 获取:商品id
+     */
+    public String getGoodsId() {
+        return goodsId;
+    }
+    /**
+     * 设置:商品价格
+     */
+    public void setGoodsPrice(BigDecimal goodsPrice) {
+        this.goodsPrice = goodsPrice;
+    }
+
+    /**
+     * 获取:商品价格
+     */
+    public BigDecimal getGoodsPrice() {
+        return goodsPrice;
+    }
+    /**
+     * 设置:分配方式,【alloc_type,00:比例,10:金额】
+     */
+    public void setAllocType(String allocType) {
+        this.allocType = allocType;
+    }
+
+    /**
+     * 获取:分配方式,【alloc_type,00:比例,10:金额】
+     */
+    public String getAllocType() {
+        return allocType;
+    }
+    /**
+     * 设置:支出分销商id
+     */
+    public void setExpendDistId(Integer expendDistId) {
+        this.expendDistId = expendDistId;
+    }
+
+    /**
+     * 获取:支出分销商id
+     */
+    public Integer getExpendDistId() {
+        return expendDistId;
+    }
+    /**
+     * 设置:支出分销商金额【点数/金额】,公式:商品价格*设置点数/金额
+     */
+    public void setExpendDistPrice(BigDecimal expendDistPrice) {
+        this.expendDistPrice = expendDistPrice;
+    }
+
+    /**
+     * 获取:支出分销商金额【点数/金额】,公式:商品价格*设置点数/金额
+     */
+    public BigDecimal getExpendDistPrice() {
+        return expendDistPrice;
+    }
+    /**
+     * 设置:支出分销商等级 1 一级,2 二级,3 三级
+     */
+    public void setExpendDistLevel(String expendDistLevel) {
+        this.expendDistLevel = expendDistLevel;
+    }
+
+    /**
+     * 获取:支出分销商等级 1 一级,2 二级,3 三级
+     */
+    public String getExpendDistLevel() {
+        return expendDistLevel;
+    }
+    /**
+     * 设置:来源
+     */
+    public void setExpendSource(String expendSource) {
+        this.expendSource = expendSource;
+    }
+
+    /**
+     * 获取:来源
+     */
+    public String getExpendSource() {
+        return expendSource;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 188 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/store/MkStorePromChnlEntity.java

@@ -0,0 +1,188 @@
+package com.kmall.admin.entity.mk.store;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 门店推广渠道实体
+ * 表名 mk_store_prom_chnl
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 15:52:20
+ */
+public class MkStorePromChnlEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 推广渠道ID
+     */
+    private Integer promChnlId;
+    /**
+     * 推广名称
+     */
+    private String promChnName;
+    /**
+     * 门店id
+     */
+    private Integer storeId;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    /**
+     * 设置:推广渠道ID
+     */
+    public void setPromChnlId(Integer promChnlId) {
+        this.promChnlId = promChnlId;
+    }
+
+    /**
+     * 获取:推广渠道ID
+     */
+    public Integer getPromChnlId() {
+        return promChnlId;
+    }
+    /**
+     * 设置:推广名称
+     */
+    public void setPromChnName(String promChnName) {
+        this.promChnName = promChnName;
+    }
+
+    /**
+     * 获取:推广名称
+     */
+    public String getPromChnName() {
+        return promChnName;
+    }
+    /**
+     * 设置:门店id
+     */
+    public void setStoreId(Integer storeId) {
+        this.storeId = storeId;
+    }
+
+    /**
+     * 获取:门店id
+     */
+    public Integer getStoreId() {
+        return storeId;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 507 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/store/MkStorePromEntity.java

@@ -0,0 +1,507 @@
+package com.kmall.admin.entity.mk.store;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 门店推广实体
+ * 表名 mk_store_prom
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 15:52:20
+ */
+public class MkStorePromEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 推广ID
+     */
+    private Integer promId;
+    /**
+     * 推广名称
+     */
+    private String promName;
+
+    private Integer thirdMerchSn;
+
+    /**
+     * 门店id
+     */
+    private Integer storeId;
+    /**
+     * 推广起始时间,yyyy-MM-dd HH:mi
+     */
+    private Date promBegTime;
+    /**
+     * 推广结束时间,yyyy-MM-dd HH:mi
+     */
+    private Date promEndTime;
+    /**
+     * 推广分类,【prom_type,00:活动,10:商品】
+     */
+    private String promType;
+    /**
+     * 活动分类
+     */
+    private Integer promTypeId;
+    /**
+     * 活动ID,不同活动对应的ID
+     */
+    private Integer storeTopicId;
+    /**
+     * 商品id
+     */
+    private Integer goodsId;
+    /**
+     * 推广url
+     */
+    private String promUrl;
+    /**
+     * 推广渠道ID
+     */
+    private Integer promChnlId;
+    /**
+     * 是否投放,0:是,1:否
+     */
+    private String isPut;
+    /**
+     * 是否结束,0:是,1:否
+     */
+    private String isFinished;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    private String promChnName;//渠道名称
+
+    private String storeName;//门店名称
+
+    private String goodsName;//商品名称
+
+    private BigDecimal browseNum;//浏览量,统计查询
+
+    private BigDecimal visitNum;//
+
+    private BigDecimal payOrderNum;//支付单数,统计查询
+
+    private BigDecimal receivMoney;//应收金额,统计查询
+
+    private String promStat;//统计信息,查询列表展示
+
+    private String inValidDate;//有效期,查询列表展示
+
+    private String promInfo;//推广拼接信息,查询列表展示
+
+    private String promPicUrl;//推广展示图片
+
+    private String topicTitle;//活动名称
+
+    private String itemPicUrl;//活动图片
+
+    private String listPicUrl;//商品图片
+
+    public String getPromPicUrl() {
+        return promPicUrl;
+    }
+
+    public void setPromPicUrl(String promPicUrl) {
+        this.promPicUrl = promPicUrl;
+    }
+
+    public String getItemPicUrl() {
+        return itemPicUrl;
+    }
+
+    public void setItemPicUrl(String itemPicUrl) {
+        this.itemPicUrl = itemPicUrl;
+    }
+
+    public String getListPicUrl() {
+        return listPicUrl;
+    }
+
+    public void setListPicUrl(String listPicUrl) {
+        this.listPicUrl = listPicUrl;
+    }
+
+    public String getTopicTitle() {
+        return topicTitle;
+    }
+
+    public void setTopicTitle(String topicTitle) {
+        this.topicTitle = topicTitle;
+    }
+
+    public String getPromInfo() {
+        return promInfo;
+    }
+
+    public void setPromInfo(String promInfo) {
+        this.promInfo = promInfo;
+    }
+
+    public String getInValidDate() {
+        return inValidDate;
+    }
+
+    public void setInValidDate(String inValidDate) {
+        this.inValidDate = inValidDate;
+    }
+
+    public String getPromStat() {
+        return promStat;
+    }
+
+    public void setPromStat(String promStat) {
+        this.promStat = promStat;
+    }
+
+    public String getPromChnName() {
+        return promChnName;
+    }
+
+    public void setPromChnName(String promChnName) {
+        this.promChnName = promChnName;
+    }
+
+    public String getStoreName() {
+        return storeName;
+    }
+
+    public void setStoreName(String storeName) {
+        this.storeName = storeName;
+    }
+
+    public String getGoodsName() {
+        return goodsName;
+    }
+
+    public void setGoodsName(String goodsName) {
+        this.goodsName = goodsName;
+    }
+
+    public BigDecimal getBrowseNum() {
+        return browseNum;
+    }
+
+    public void setBrowseNum(BigDecimal browseNum) {
+        this.browseNum = browseNum;
+    }
+
+    public BigDecimal getVisitNum() {
+        return visitNum;
+    }
+
+    public void setVisitNum(BigDecimal visitNum) {
+        this.visitNum = visitNum;
+    }
+
+    public BigDecimal getPayOrderNum() {
+        return payOrderNum;
+    }
+
+    public void setPayOrderNum(BigDecimal payOrderNum) {
+        this.payOrderNum = payOrderNum;
+    }
+
+    public BigDecimal getReceivMoney() {
+        return receivMoney;
+    }
+
+    public void setReceivMoney(BigDecimal receivMoney) {
+        this.receivMoney = receivMoney;
+    }
+
+    public Integer getThirdMerchSn() {
+        return thirdMerchSn;
+    }
+
+    public void setThirdMerchSn(Integer thirdMerchSn) {
+        this.thirdMerchSn = thirdMerchSn;
+    }
+
+    /**
+     * 设置:推广ID
+     */
+    public void setPromId(Integer promId) {
+        this.promId = promId;
+    }
+
+    /**
+     * 获取:推广ID
+     */
+    public Integer getPromId() {
+        return promId;
+    }
+    /**
+     * 设置:推广名称
+     */
+    public void setPromName(String promName) {
+        this.promName = promName;
+    }
+
+    /**
+     * 获取:推广名称
+     */
+    public String getPromName() {
+        return promName;
+    }
+    /**
+     * 设置:门店id
+     */
+    public void setStoreId(Integer storeId) {
+        this.storeId = storeId;
+    }
+
+    /**
+     * 获取:门店id
+     */
+    public Integer getStoreId() {
+        return storeId;
+    }
+    /**
+     * 设置:推广起始时间,yyyy-MM-dd HH:mi
+     */
+    public Date getPromBegTime() {
+        return promBegTime;
+    }
+
+    public void setPromBegTime(Date promBegTime) {
+        this.promBegTime = promBegTime;
+    }
+
+    /**
+     * 设置:推广结束时间,yyyy-MM-dd HH:mi
+     */
+    public void setPromEndTime(Date promEndTime) {
+        this.promEndTime = promEndTime;
+    }
+    /**
+     * 获取:推广结束时间,yyyy-MM-dd HH:mi
+     */
+    public Date getPromEndTime() {
+        return promEndTime;
+    }
+    /**
+     * 设置:推广分类,【prom_type,00:活动,10:商品】
+     */
+    public void setPromType(String promType) {
+        this.promType = promType;
+    }
+
+    /**
+     * 获取:推广分类,【prom_type,00:活动,10:商品】
+     */
+    public String getPromType() {
+        return promType;
+    }
+    /**
+     * 设置:活动分类
+     */
+    public void setPromTypeId(Integer promTypeId) {
+        this.promTypeId = promTypeId;
+    }
+
+    /**
+     * 获取:活动分类
+     */
+    public Integer getPromTypeId() {
+        return promTypeId;
+    }
+    /**
+     * 设置:活动ID,不同活动对应的ID
+     */
+    public void setStoreTopicId(Integer topicId) {
+        this.storeTopicId = topicId;
+    }
+
+    /**
+     * 获取:活动ID,不同活动对应的ID
+     */
+    public Integer getStoreTopicId() {
+        return storeTopicId;
+    }
+    /**
+     * 设置:商品id
+     */
+    public void setGoodsId(Integer goodsId) {
+        this.goodsId = goodsId;
+    }
+
+    /**
+     * 获取:商品id
+     */
+    public Integer getGoodsId() {
+        return goodsId;
+    }
+    /**
+     * 设置:推广url
+     */
+    public void setPromUrl(String promUrl) {
+        this.promUrl = promUrl;
+    }
+
+    /**
+     * 获取:推广url
+     */
+    public String getPromUrl() {
+        return promUrl;
+    }
+    /**
+     * 设置:推广渠道ID
+     */
+    public void setPromChnlId(Integer promChnlId) {
+        this.promChnlId = promChnlId;
+    }
+
+    /**
+     * 获取:推广渠道ID
+     */
+    public Integer getPromChnlId() {
+        return promChnlId;
+    }
+    /**
+     * 设置:是否投放,0:是,1:否
+     */
+    public void setIsPut(String isPut) {
+        this.isPut = isPut;
+    }
+
+    /**
+     * 获取:是否投放,0:是,1:否
+     */
+    public String getIsPut() {
+        return isPut;
+    }
+    /**
+     * 设置:是否结束,0:是,1:否
+     */
+    public void setIsFinished(String isFinished) {
+        this.isFinished = isFinished;
+    }
+
+    /**
+     * 获取:是否结束,0:是,1:否
+     */
+    public String getIsFinished() {
+        return isFinished;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 512 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/store/MkStorePromStatEntity.java

@@ -0,0 +1,512 @@
+package com.kmall.admin.entity.mk.store;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 门店推广统计实体
+ * 表名 mk_store_prom_stat
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 15:52:20
+ */
+public class MkStorePromStatEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 推广统计ID
+     */
+    private Integer promStatId;
+    /**
+     * 推广ID
+     */
+    private Integer promId;
+    /**
+     * 门店id
+     */
+    private Integer storeId;
+    /**
+     * 浏览数
+     */
+    private Integer browseNum;
+    /**
+     * 访客量
+     */
+    private Integer visitNum;
+    /**
+     * 连带浏览量
+     */
+    private Integer relaBrowseNum;
+    /**
+     * 连带访客量
+     */
+    private Integer relaVisitorNum;
+    /**
+     * 人均停留时长(秒)
+     */
+    private Integer aveStopTime;
+    /**
+     * 人均访问次数
+     */
+    private Integer aveVisitorNum;
+    /**
+     * 页面访问深度
+     */
+    private Integer visitPageDeep;
+    /**
+     * 转发访客量
+     */
+    private Integer transVisitorNum;
+    /**
+     * 转发次数
+     */
+    private Integer transNum;
+    /**
+     * 支付单数
+     */
+    private Integer payOrderNum;
+    /**
+     * 连带支付单数
+     */
+    private Integer relaPayOrderNum;
+    /**
+     * 支付人数
+     */
+    private Integer payerNum;
+    /**
+     * 连带支付人数
+     */
+    private Integer relaPayerNum;
+    /**
+     * 支付件数
+     */
+    private Integer payCaseNum;
+    /**
+     * 连带支付件数
+     */
+    private Integer relaPayCaseNum;
+    /**
+     * 应收金额
+     */
+    private BigDecimal receivMoney;
+    /**
+     * 连带应收金额
+     */
+    private BigDecimal relaReceivMoney;
+    /**
+     * 实收金额
+     */
+    private BigDecimal actMoney;
+    /**
+     * 连带实收金额
+     */
+    private BigDecimal relaActMoney;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    /**
+     * 设置:推广统计ID
+     */
+    public void setPromStatId(Integer promStatId) {
+        this.promStatId = promStatId;
+    }
+
+    /**
+     * 获取:推广统计ID
+     */
+    public Integer getPromStatId() {
+        return promStatId;
+    }
+    /**
+     * 设置:推广ID
+     */
+    public void setPromId(Integer promId) {
+        this.promId = promId;
+    }
+
+    /**
+     * 获取:推广ID
+     */
+    public Integer getPromId() {
+        return promId;
+    }
+    /**
+     * 设置:门店id
+     */
+    public void setStoreId(Integer storeId) {
+        this.storeId = storeId;
+    }
+
+    /**
+     * 获取:门店id
+     */
+    public Integer getStoreId() {
+        return storeId;
+    }
+    /**
+     * 设置:浏览数
+     */
+    public void setBrowseNum(Integer browseNum) {
+        this.browseNum = browseNum;
+    }
+
+    /**
+     * 获取:浏览数
+     */
+    public Integer getBrowseNum() {
+        return browseNum;
+    }
+    /**
+     * 设置:访客量
+     */
+    public void setVisitNum(Integer visitNum) {
+        this.visitNum = visitNum;
+    }
+
+    /**
+     * 获取:访客量
+     */
+    public Integer getVisitNum() {
+        return visitNum;
+    }
+    /**
+     * 设置:连带浏览量
+     */
+    public void setRelaBrowseNum(Integer relaBrowseNum) {
+        this.relaBrowseNum = relaBrowseNum;
+    }
+
+    /**
+     * 获取:连带浏览量
+     */
+    public Integer getRelaBrowseNum() {
+        return relaBrowseNum;
+    }
+    /**
+     * 设置:连带访客量
+     */
+    public void setRelaVisitorNum(Integer relaVisitorNum) {
+        this.relaVisitorNum = relaVisitorNum;
+    }
+
+    /**
+     * 获取:连带访客量
+     */
+    public Integer getRelaVisitorNum() {
+        return relaVisitorNum;
+    }
+    /**
+     * 设置:人均停留时长(秒)
+     */
+    public void setAveStopTime(Integer aveStopTime) {
+        this.aveStopTime = aveStopTime;
+    }
+
+    /**
+     * 获取:人均停留时长(秒)
+     */
+    public Integer getAveStopTime() {
+        return aveStopTime;
+    }
+    /**
+     * 设置:人均访问次数
+     */
+    public void setAveVisitorNum(Integer aveVisitorNum) {
+        this.aveVisitorNum = aveVisitorNum;
+    }
+
+    /**
+     * 获取:人均访问次数
+     */
+    public Integer getAveVisitorNum() {
+        return aveVisitorNum;
+    }
+    /**
+     * 设置:页面访问深度
+     */
+    public void setVisitPageDeep(Integer visitPageDeep) {
+        this.visitPageDeep = visitPageDeep;
+    }
+
+    /**
+     * 获取:页面访问深度
+     */
+    public Integer getVisitPageDeep() {
+        return visitPageDeep;
+    }
+    /**
+     * 设置:转发访客量
+     */
+    public void setTransVisitorNum(Integer transVisitorNum) {
+        this.transVisitorNum = transVisitorNum;
+    }
+
+    /**
+     * 获取:转发访客量
+     */
+    public Integer getTransVisitorNum() {
+        return transVisitorNum;
+    }
+    /**
+     * 设置:转发次数
+     */
+    public void setTransNum(Integer transNum) {
+        this.transNum = transNum;
+    }
+
+    /**
+     * 获取:转发次数
+     */
+    public Integer getTransNum() {
+        return transNum;
+    }
+    /**
+     * 设置:支付单数
+     */
+    public void setPayOrderNum(Integer payOrderNum) {
+        this.payOrderNum = payOrderNum;
+    }
+
+    /**
+     * 获取:支付单数
+     */
+    public Integer getPayOrderNum() {
+        return payOrderNum;
+    }
+    /**
+     * 设置:连带支付单数
+     */
+    public void setRelaPayOrderNum(Integer relaPayOrderNum) {
+        this.relaPayOrderNum = relaPayOrderNum;
+    }
+
+    /**
+     * 获取:连带支付单数
+     */
+    public Integer getRelaPayOrderNum() {
+        return relaPayOrderNum;
+    }
+    /**
+     * 设置:支付人数
+     */
+    public void setPayerNum(Integer payerNum) {
+        this.payerNum = payerNum;
+    }
+
+    /**
+     * 获取:支付人数
+     */
+    public Integer getPayerNum() {
+        return payerNum;
+    }
+    /**
+     * 设置:连带支付人数
+     */
+    public void setRelaPayerNum(Integer relaPayerNum) {
+        this.relaPayerNum = relaPayerNum;
+    }
+
+    /**
+     * 获取:连带支付人数
+     */
+    public Integer getRelaPayerNum() {
+        return relaPayerNum;
+    }
+    /**
+     * 设置:支付件数
+     */
+    public void setPayCaseNum(Integer payCaseNum) {
+        this.payCaseNum = payCaseNum;
+    }
+
+    /**
+     * 获取:支付件数
+     */
+    public Integer getPayCaseNum() {
+        return payCaseNum;
+    }
+    /**
+     * 设置:连带支付件数
+     */
+    public void setRelaPayCaseNum(Integer relaPayCaseNum) {
+        this.relaPayCaseNum = relaPayCaseNum;
+    }
+
+    /**
+     * 获取:连带支付件数
+     */
+    public Integer getRelaPayCaseNum() {
+        return relaPayCaseNum;
+    }
+    /**
+     * 设置:应收金额
+     */
+    public void setReceivMoney(BigDecimal receivMoney) {
+        this.receivMoney = receivMoney;
+    }
+
+    /**
+     * 获取:应收金额
+     */
+    public BigDecimal getReceivMoney() {
+        return receivMoney;
+    }
+    /**
+     * 设置:连带应收金额
+     */
+    public void setRelaReceivMoney(BigDecimal relaReceivMoney) {
+        this.relaReceivMoney = relaReceivMoney;
+    }
+
+    /**
+     * 获取:连带应收金额
+     */
+    public BigDecimal getRelaReceivMoney() {
+        return relaReceivMoney;
+    }
+    /**
+     * 设置:实收金额
+     */
+    public void setActMoney(BigDecimal actMoney) {
+        this.actMoney = actMoney;
+    }
+
+    /**
+     * 获取:实收金额
+     */
+    public BigDecimal getActMoney() {
+        return actMoney;
+    }
+    /**
+     * 设置:连带实收金额
+     */
+    public void setRelaActMoney(BigDecimal relaActMoney) {
+        this.relaActMoney = relaActMoney;
+    }
+
+    /**
+     * 获取:连带实收金额
+     */
+    public BigDecimal getRelaActMoney() {
+        return relaActMoney;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 205 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/store/MkStorePromTypeEntity.java

@@ -0,0 +1,205 @@
+package com.kmall.admin.entity.mk.store;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 门店活动分类表,store promotion实体
+ * 表名 mk_store_prom_type
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-28 14:15:21
+ */
+public class MkStorePromTypeEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 活动分类编号
+     */
+    private Integer promTypeId;
+    /**
+     * 活动类别主题
+     */
+    private String title;
+    /**
+     * 活动类别名称
+     */
+    private String promTypeName;
+    /**
+     * 活动类别图片链接
+     */
+    private String picUrl;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    /**
+     * 设置:活动分类编号
+     */
+    public void setPromTypeId(Integer promTypeId) {
+        this.promTypeId = promTypeId;
+    }
+
+    /**
+     * 获取:活动分类编号
+     */
+    public Integer getPromTypeId() {
+        return promTypeId;
+    }
+    /**
+     * 设置:活动类别主题
+     */
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    /**
+     * 获取:活动类别主题
+     */
+    public String getTitle() {
+        return title;
+    }
+    /**
+     * 设置:活动类别名称
+     */
+    public void setPromTypeName(String promTypeName) {
+        this.promTypeName = promTypeName;
+    }
+
+    /**
+     * 获取:活动类别名称
+     */
+    public String getPromTypeName() {
+        return promTypeName;
+    }
+    /**
+     * 设置:活动类别图片链接
+     */
+    public void setPicUrl(String picUrl) {
+        this.picUrl = picUrl;
+    }
+
+    /**
+     * 获取:活动类别图片链接
+     */
+    public String getPicUrl() {
+        return picUrl;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 287 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/mk/store/StoreTopicEntity.java

@@ -0,0 +1,287 @@
+package com.kmall.admin.entity.mk.store;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 门店活动表实体
+ * 表名 mall_store_topic
+ *
+ * @author huangyq
+ * @email admin@qhdswl.com
+ * @date 2019-04-26 16:50:46
+ */
+public class StoreTopicEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private Integer id;
+    /**
+     * 活动主题
+     */
+    private String title;
+    /**
+     * 活动内容
+     */
+    private String content;
+    /**
+     * 活动图片
+     */
+    private String itemPicUrl;
+    /**
+     * 子标题
+     */
+    private String subtitle;
+    /**
+     * 活动类别
+     */
+    private Integer promTypeId;
+    /**
+     * 活动价格
+     */
+    private BigDecimal topicPrice;
+    /**
+     * 门店id
+     */
+    private Integer storeId;
+    /**
+     * 第三方商户id
+     */
+    private Integer thirdMerchSn;
+    /**
+     * 是否有效,0:有效,1:无效
+     */
+    private String isValid;
+    /**
+     * 备注
+     */
+    private String note;
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+    /**
+     * 修改时间
+     */
+    private Date modTime;
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    /**
+     * 设置:主键
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * 获取:主键
+     */
+    public Integer getId() {
+        return id;
+    }
+    /**
+     * 设置:活动主题
+     */
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    /**
+     * 获取:活动主题
+     */
+    public String getTitle() {
+        return title;
+    }
+    /**
+     * 设置:活动内容
+     */
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    /**
+     * 获取:活动内容
+     */
+    public String getContent() {
+        return content;
+    }
+    /**
+     * 设置:活动图片
+     */
+    public void setItemPicUrl(String itemPicUrl) {
+        this.itemPicUrl = itemPicUrl;
+    }
+
+    /**
+     * 获取:活动图片
+     */
+    public String getItemPicUrl() {
+        return itemPicUrl;
+    }
+    /**
+     * 设置:子标题
+     */
+    public void setSubtitle(String subtitle) {
+        this.subtitle = subtitle;
+    }
+
+    /**
+     * 获取:子标题
+     */
+    public String getSubtitle() {
+        return subtitle;
+    }
+    /**
+     * 设置:活动类别
+     */
+    public void setPromTypeId(Integer promTypeId) {
+        this.promTypeId = promTypeId;
+    }
+
+    /**
+     * 获取:活动类别
+     */
+    public Integer getPromTypeId() {
+        return promTypeId;
+    }
+
+    public BigDecimal getTopicPrice() {
+        return topicPrice;
+    }
+
+    public void setTopicPrice(BigDecimal topicPrice) {
+        this.topicPrice = topicPrice;
+    }
+
+    /**
+     * 设置:门店id
+     */
+    public void setStoreId(Integer storeId) {
+        this.storeId = storeId;
+    }
+
+    /**
+     * 获取:门店id
+     */
+    public Integer getStoreId() {
+        return storeId;
+    }
+    /**
+     * 设置:第三方商户id
+     */
+    public void setThirdMerchSn(Integer thirdMerchSn) {
+        this.thirdMerchSn = thirdMerchSn;
+    }
+
+    /**
+     * 获取:第三方商户id
+     */
+    public Integer getThirdMerchSn() {
+        return thirdMerchSn;
+    }
+    /**
+     * 设置:是否有效,0:有效,1:无效
+     */
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    /**
+     * 获取:是否有效,0:有效,1:无效
+     */
+    public String getIsValid() {
+        return isValid;
+    }
+    /**
+     * 设置:备注
+     */
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    /**
+     * 获取:备注
+     */
+    public String getNote() {
+        return note;
+    }
+    /**
+     * 设置:创建人编号
+     */
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    /**
+     * 获取:创建人编号
+     */
+    public String getCreaterSn() {
+        return createrSn;
+    }
+    /**
+     * 设置:创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取:创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+    /**
+     * 设置:修改人编号
+     */
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn;
+    }
+
+    /**
+     * 获取:修改人编号
+     */
+    public String getModerSn() {
+        return moderSn;
+    }
+    /**
+     * 设置:修改时间
+     */
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    /**
+     * 获取:修改时间
+     */
+    public Date getModTime() {
+        return modTime;
+    }
+    /**
+     * 设置:时间戳
+     */
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    /**
+     * 获取:时间戳
+     */
+    public Date getTstm() {
+        return tstm;
+    }
+}

+ 28 - 1
kmall-admin/src/main/java/com/kmall/admin/fromcomm/controller/SysMenuController.java

@@ -1,14 +1,20 @@
 package com.kmall.admin.fromcomm.controller;
 
+import com.kmall.admin.entity.ThirdMerchantBizEntity;
+import com.kmall.admin.fromcomm.entity.SysUserEntity;
+import com.kmall.admin.service.ThirdMerchantBizService;
+import com.kmall.admin.utils.ShiroUtils;
 import com.kmall.common.annotation.SysLog;
 import com.kmall.admin.fromcomm.entity.SysMenuEntity;
 import com.kmall.admin.fromcomm.service.SysMenuService;
+import com.kmall.common.constant.Dict;
 import com.kmall.common.utils.*;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -25,6 +31,8 @@ import java.util.Map;
 public class SysMenuController extends AbstractController {
     @Autowired
     private SysMenuService sysMenuService;
+    @Autowired
+    private ThirdMerchantBizService thirdMerchantBizService;
 
     /**
      * 所有菜单列表
@@ -155,8 +163,27 @@ public class SysMenuController extends AbstractController {
     @RequestMapping("/user")
     public R user() {
         List<SysMenuEntity> menuList = sysMenuService.getUserMenuList(getUserId());
+        List<SysMenuEntity> sysMenuEntityList = new ArrayList<>();
+        SysUserEntity user = ShiroUtils.getUserEntity();
+        if(user != null) {
+            ThirdMerchantBizEntity entity = thirdMerchantBizService.getThirdMerchangByCode(user.getThirdPartyMerchCode());
+            if(entity != null){
+                for (SysMenuEntity sysMenuEntity: menuList) {
+                    if(Dict.status.item_0.getItem().equalsIgnoreCase(entity.getIsDistSellStart())){//不显示
+                        if(sysMenuEntity.getPerms() == null || !sysMenuEntity.getPerms().equalsIgnoreCase("mkPlatform")) {
+                            sysMenuEntityList.add(sysMenuEntity);
+                        }
+                    }
+                }
+                if(Dict.status.item_1.getItem().equalsIgnoreCase(entity.getIsDistSellStart())){
+                    sysMenuEntityList = menuList;
+                }
+            }else{
+                sysMenuEntityList = menuList;
+            }
+        }
 
-        return R.ok().put("menuList", menuList);
+        return R.ok().put("menuList", sysMenuEntityList);
     }
 
     /**

+ 9 - 0
kmall-admin/src/main/java/com/kmall/admin/fromcomm/entity/SysConfigEntity.java

@@ -16,8 +16,17 @@ public class SysConfigEntity {
     private String key;
     @NotBlank(message = "参数值不能为空")
     private String value;
+    private String status;
     private String remark;
 
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
     public Long getId() {
         return id;
     }

+ 10 - 0
kmall-admin/src/main/java/com/kmall/admin/fromcomm/entity/SysUserEntity.java

@@ -96,6 +96,16 @@ public class SysUserEntity
 
     private String roleName;
 
+    private String thirdPartyMerchName;
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName;
+    }
+
     public String getRoleName() {
         return roleName;
     }

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/service/ExportExceptionDataService.java

@@ -8,7 +8,7 @@ import java.util.Map;
 /**
  * 数据导入异常数据记录Service接口
  *
- * @author emato
+ * @author huangyq
  * @email admin@qhdswl.com
  * @date 2018-12-07 09:41:15
  */

部分文件因为文件数量过多而无法显示