From 5d43370b99a03391c9271d04d3f351f0fd734dae Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Thu, 18 Mar 2021 20:23:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/score_shop' into score_shop

---
 zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopRevenueFlowDao.java                         |    3 
 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-setting.html                       |   92 
 zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopSkuDao.xml                                    |   27 
 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html                        |  183 +-
 zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java                       |   69 
 zq-erp/src/main/resources/config/db/increment/推广员.sql                                              |   20 
 zq-erp/src/main/resources/templates/views/common/showprojException.html                            |   51 
 zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopRefundRecordAction.java                  |   21 
 zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopSku.java                                   |   19 
 zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java                |   14 
 zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java                      |    4 
 zq-erp/src/main/java/com/matrix/biz/bean/BizUser.java                                              |   10 
 zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanApplyVo.java                         |    8 
 zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java               |  123 +
 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html                 |   13 
 zq-erp/src/main/java/com/matrix/biz/dao/BizUserDao.java                                            |   16 
 zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java                       |    3 
 zq-erp/src/main/resources/config/system.properties                                                 |    4 
 zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-list.html                         |   36 
 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html                         |   86 
 zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadParamSettingDto.java                        |   25 
 zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopShoppingCartDao.xml                           |   20 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WXShopOrderAction.java                   |    2 
 zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java                    |   37 
 zq-erp/src/main/java/com/matrix/ZqErpApplication.java                                              |    3 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShoppingCartAction.java                |   60 
 zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopOrderDetailVo.java                           |    3 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesProductAction.java                |    6 
 zq-erp/src/main/java/com/matrix/biz/service/impl/BizUserServiceImpl.java                           |   11 
 zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderV2Dao.xml                                |    1 
 zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-form.html                         |  103 +
 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-apply.html                         |    2 
 zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml                                |   85 +
 zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new-bak.html            |  229 +++
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java                        |  262 ++-
 zq-erp/src/main/java/com/matrix/system/common/service/impl/InitBusParameterSettingService.java     |    4 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/ScoreProductDto.java                        |   18 
 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html                          |   58 
 zq-erp/.gitignore                                                                                  |    3 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/ShoppingCartService.java                |    4 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShareProductAction.java                |    2 
 zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopProduct.java                               |  404 -----
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopProduct.java                       |    2 
 zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanApplyCondition.java                      |   35 
 zq-erp/src/main/java/com/matrix/system/common/actions/ProjExceptionAction.java                     |   21 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopRefundRecordServiceImpl.java |   22 
 zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopShoppingCartDao.java                        |    6 
 zq-erp/src/main/java/com/matrix/biz/service/BizUserService.java                                    |   20 
 zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderV2Dao.java                             |    4 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxScoreProductAction.java                |   67 +
 zq-erp/src/main/resources/config/test/system.properties                                            |    4 
 zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java                            |    2 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java                    |   86 +
 zq-erp/src/main/resources/templates/views/admin/hive-erp/order/orderXq-form.html                   |   39 
 zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopBizUserScoreAction.java                  |   84 -
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java        |    2 
 zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderTask.java                          |  143 +-
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesWithdrawalAction.java             |    7 
 zq-erp/src/main/java/com/matrix/config/RabbitMqConfig.java                                         |    5 
 /dev/null                                                                                          |  141 --
 zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html            |  462 +++---
 zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopRevenueFlowDao.xml                            |    2 
 zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html                |  462 +++---
 zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadParamSettingBasicDto.java                   |   20 
 zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderRefundTask.java                    |   43 
 zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopShoppingCart.java                          |   27 
 zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/MQTaskRouting.java                           |    4 
 zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml                          |   36 
 68 files changed, 2,267 insertions(+), 1,623 deletions(-)

diff --git a/zq-erp/.gitignore b/zq-erp/.gitignore
index 7f64141..31966d8 100644
--- a/zq-erp/.gitignore
+++ b/zq-erp/.gitignore
@@ -76,4 +76,5 @@
 .project
 .classpath
 .settings
-.metadata
\ No newline at end of file
+.metadata
+.gitignore
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/ZqErpApplication.java b/zq-erp/src/main/java/com/matrix/ZqErpApplication.java
index 2941bcc..ff662ff 100644
--- a/zq-erp/src/main/java/com/matrix/ZqErpApplication.java
+++ b/zq-erp/src/main/java/com/matrix/ZqErpApplication.java
@@ -3,6 +3,7 @@
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.ComponentScan;
+import org.springframework.scheduling.annotation.EnableAsync;
 
 /**
  * spring boot入口
@@ -10,9 +11,7 @@
  * @author jiangyouyao
  */
 @SpringBootApplication
-
 @ComponentScan(basePackages = {"com.matrix.**"})
-
 public class ZqErpApplication {
 
     public static void main(String[] args) {
diff --git a/zq-erp/src/main/java/com/matrix/biz/bean/BizUser.java b/zq-erp/src/main/java/com/matrix/biz/bean/BizUser.java
index 8c94ca2..0fa5868 100644
--- a/zq-erp/src/main/java/com/matrix/biz/bean/BizUser.java
+++ b/zq-erp/src/main/java/com/matrix/biz/bean/BizUser.java
@@ -27,7 +27,7 @@
     /**
      * 主键
      */
-    private String  userId;
+    private Long  userId;
 
 
     /**
@@ -236,15 +236,13 @@
         this.companyId = companyId;
     }
 
-    public void setToken(String token) {
-        this.token=userId;
-    }
 
-    public String getUserId() {
+
+    public Long getUserId() {
         return userId;
     }
 
-    public void setUserId(String userId) {
+    public void setUserId(Long userId) {
         this.userId=userId;
     }
 
diff --git a/zq-erp/src/main/java/com/matrix/biz/dao/BizUserDao.java b/zq-erp/src/main/java/com/matrix/biz/dao/BizUserDao.java
index b87fbc8..40eeda0 100644
--- a/zq-erp/src/main/java/com/matrix/biz/dao/BizUserDao.java
+++ b/zq-erp/src/main/java/com/matrix/biz/dao/BizUserDao.java
@@ -22,9 +22,9 @@
 	
 	public int updateByModel(@Param("record") BizUser bizUser);
 	
-	public int deleteByIds(@Param("list") List<String> list);
+	public int deleteByIds(@Param("list") List<Long> list);
 	
-	public int deleteById(String userId);
+	public int deleteById(Long userId);
 
 	public int deleteByModel(@Param("record") BizUser bizUser);
 	
@@ -34,18 +34,12 @@
 	
 	public int selectTotalRecord(@Param("record") BizUser bizUser);
 	
-	public BizUser  selectById(String userId);
+	public BizUser  selectById(Long userId);
 	
-	public BizUser  selectForUpdate(String userId);
+	public BizUser  selectForUpdate(Long userId);
 
 	public BizUser findByOpenId(@Param("openId") String openId);
 
-	/**
-	 * 批量设置销售员
-	 * @param list
-	 * @param status
-	 * @return
-	 */
-	int  updateSalesByIds(@Param("list") List<String> list, @Param("status") Integer status);
+
 
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/biz/service/BizUserService.java b/zq-erp/src/main/java/com/matrix/biz/service/BizUserService.java
index 5f10819..7aa2b0f 100644
--- a/zq-erp/src/main/java/com/matrix/biz/service/BizUserService.java
+++ b/zq-erp/src/main/java/com/matrix/biz/service/BizUserService.java
@@ -2,7 +2,6 @@
 
 import com.matrix.biz.bean.BizUser;
 import com.matrix.core.pojo.PaginationVO;
-import com.matrix.core.web.BaseServices;
 
 import java.util.List;
 
@@ -11,7 +10,7 @@
  * @author jyy
  * @date 2019-05-31 10:03
  */
-public interface BizUserService extends BaseServices<BizUser> {
+public interface BizUserService  {
 	
 	/**
 	 * 新增
@@ -33,15 +32,12 @@
 	 */
 	public int modifyByModel(BizUser bizUser);
 	
-	/**
-	 * 批量删除
-	 */
-	public int remove(List<String> list);
+
 
 	/**
 	 * 根据id删除
 	 */
-	public int removeById(String userId);
+	public int removeById(Long userId);
 	
 	/**
 	 * 根据对象删除
@@ -62,11 +58,8 @@
 	 * 统计记录数
 	 */
 	public int  findTotal(BizUser bizUser);
-	
-	/**
-	 * 根据id查询
-	 */
-	public BizUser  findById(String userId);
+
+	public int remove(List<Long> list);
 
    	
 	/**
@@ -74,7 +67,8 @@
 	 */
 
 	public BizUser findByOpenId(String openId);
-	
+
+	public BizUser  findById(Long userId);
 	/**
 	 * 保存用户信息
 	 */
diff --git a/zq-erp/src/main/java/com/matrix/biz/service/impl/BizUserServiceImpl.java b/zq-erp/src/main/java/com/matrix/biz/service/impl/BizUserServiceImpl.java
index b9333da..f2d62d6 100644
--- a/zq-erp/src/main/java/com/matrix/biz/service/impl/BizUserServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/biz/service/impl/BizUserServiceImpl.java
@@ -36,7 +36,6 @@
 		bizUser.setUserIsAuthorize(AppConstance.IS_NOT_AUTHORIZE);
 		bizUser.setCreateBy(AppConstance.USER_TYPE_ADMIN);
 		bizUser.setUpdateBy(AppConstance.USER_TYPE_ADMIN);
-		bizUser.setUserId(UUIDUtil.getRandomID());
 		return bizUserDao.insert(bizUser);
 		
 	}
@@ -90,14 +89,14 @@
 	
 	
 	@Override
-	public int remove(List<String> list){
-	
+	public int remove(List<Long> list){
+
 		return bizUserDao.deleteByIds(list);
-	
+
 	}
 
 	@Override
-	public int removeById(String userId){
+	public int removeById(Long userId){
 	
 		return bizUserDao.deleteById(userId);
 	
@@ -133,7 +132,7 @@
 	}
 	
 	@Override
-	public BizUser  findById(String userId){
+	public BizUser  findById(Long userId){
 	
 		return bizUserDao.selectById(userId);
 	
diff --git a/zq-erp/src/main/java/com/matrix/config/RabbitMqConfig.java b/zq-erp/src/main/java/com/matrix/config/RabbitMqConfig.java
index ce1ff16..11f480b 100644
--- a/zq-erp/src/main/java/com/matrix/config/RabbitMqConfig.java
+++ b/zq-erp/src/main/java/com/matrix/config/RabbitMqConfig.java
@@ -51,6 +51,10 @@
     SalesOrderTask SalesOrderTask() {
         return new SalesOrderTask();
     }
+    @Bean
+    SalesOrderRefundTask SalesOrderRefundTask() {
+        return new SalesOrderRefundTask();
+    }
 
     @Bean
     TemplateMsgTask TemplateMsgTask(){
@@ -87,6 +91,7 @@
         taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.SEND_TEMPLATE_MSG + evn,MQTaskRouting.SEND_TEMPLATE_MSG + evn, TemplateMsgTask()));
         taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.ORDER_OUT_SOTORE + evn,MQTaskRouting.ORDER_OUT_SOTORE + evn, OrderOutSotoreTask()));
         taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG + evn,MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG + evn, UniformMsgSentTask()));
+        taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.SHOP_ORDER_REFUND + evn,MQTaskRouting.SHOP_ORDER_REFUND + evn, SalesOrderRefundTask()));
 
         //不同任务在不同的队列,但是routingKey一样则可以收到生产者消息
         taskList.add(new MqTask(MQ_EXCHANGE_TOPIC + evn, MQTaskRouting.CREATE_ORDER + evn,MQTaskRouting.CREATE_ORDER + evn,SalesOrderTask()));
diff --git a/zq-erp/src/main/java/com/matrix/system/common/actions/ProjExceptionAction.java b/zq-erp/src/main/java/com/matrix/system/common/actions/ProjExceptionAction.java
index 7229a15..19ed8a3 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/actions/ProjExceptionAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/actions/ProjExceptionAction.java
@@ -1,22 +1,16 @@
 package com.matrix.system.common.actions;
 
-import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.pojo.AjaxResult;
-import com.matrix.core.pojo.PaginationVO;
-import com.matrix.core.tools.WebUtil;
 import com.matrix.system.common.bean.ProjException;
-import com.matrix.system.common.bean.SysUsers;
-import com.matrix.system.common.constance.AppConstance;
 import com.matrix.system.common.dao.ProjExceptionDao;
-import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
 
 import java.util.Arrays;
-import java.util.List;
 
 /**
  * @author 姜友瑶
@@ -31,12 +25,19 @@
     ProjExceptionDao projExceptionDao;
 
     @RequestMapping(value = "/showException")
-    public @ResponseBody
-    AjaxResult showException(Long id) {
+    public
+    ModelAndView showException(Long id) {
         ProjException projException = projExceptionDao.selectById(id);
-        return AjaxResult.buildSuccessInstance(Arrays.asList(projException));
+        ModelAndView mv = new ModelAndView("common/showprojException");
+        mv.addObject("obj", projException);
+        return mv;
+
     }
 
+
+
+
+
     @RequestMapping(value = "/projException/del")
     public @ResponseBody
     AjaxResult del(@RequestBody ProjException projException) {
diff --git a/zq-erp/src/main/java/com/matrix/system/common/service/impl/InitBusParameterSettingService.java b/zq-erp/src/main/java/com/matrix/system/common/service/impl/InitBusParameterSettingService.java
index 52bc578..2e93055 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/service/impl/InitBusParameterSettingService.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/service/impl/InitBusParameterSettingService.java
@@ -48,13 +48,13 @@
     public void initBusParameterFenxiaoSetting(SysCompany sysCompany) {
         long companyId = sysCompany.getComId();
         List<BusParameterSettings> ruleSettings=new ArrayList<>();
-
         ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_SWITCH, companyId));
         ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_MODEL, companyId));
         ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_APPLY_WAY, companyId));
         ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_AUDIT_METHOD, companyId));
         ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_APPLY_CONDITION, companyId));
-
+        ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_TG_PLAN, companyId));
+        ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_TG_POSTER, companyId));
         busParameterSettingsDao.batchInsert(ruleSettings);
     }
 
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java
index 46cdaf9..5c511b7 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java
@@ -1,7 +1,6 @@
 package com.matrix.system.fenxiao.action;
 
 import com.matrix.core.pojo.AjaxResult;
-import com.matrix.system.fenxiao.dto.ChangeSaleManGradeDto;
 import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderBasicDto;
 import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderListDto;
 import com.matrix.system.fenxiao.dto.LoadSetOrderListDtoDto;
@@ -10,7 +9,6 @@
 import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderBasicVo;
 import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo;
 import com.matrix.system.fenxiao.vo.LoadSetOrderListDtoVo;
-
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
@@ -63,7 +61,7 @@
     /**
      * 结算记录
      */
-    @ApiOperation(value = "分销订单")
+    @ApiOperation(value = "结算记录")
     @ApiResponses({
     	@ApiResponse(code = 200, message = "OK",  response = LoadSetOrderListDtoVo.class)
     })
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java
index 98e2f77..2795142 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java
@@ -5,15 +5,19 @@
 import com.matrix.biz.dao.BizUserDao;
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.PaginationVO;
 import com.matrix.core.tools.WebUtil;
 import com.matrix.system.common.bean.BusParameterSettings;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.constance.AppConstance;
 import com.matrix.system.common.dao.BusParameterSettingsDao;
 import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
 import com.matrix.system.fenxiao.service.FenXiaoSettingService;
 import com.matrix.system.fenxiao.vo.FenXiaoSettingVo;
-import com.matrix.system.hive.bean.ShoppingGoods;
+import com.matrix.system.hive.action.util.QueryUtil;
 import com.matrix.system.hive.dao.ShoppingGoodsDao;
+import com.matrix.system.shopXcx.bean.ShopProduct;
+import com.matrix.system.shopXcx.dao.ShopProductDao;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -37,6 +41,9 @@
     
     @Autowired
     private BizUserDao bizUserDao;
+    
+    @Autowired
+    private ShopProductDao shopProductDao;
 	
 	/**
      *查询分销配置
@@ -87,16 +94,38 @@
     						   idsList.add(parseInt);
     					   }
     				   }
-    				   List<ShoppingGoods> list = shoppingGoodsDao.selectByIds(idsList);
-    				   result.putInMap("order", list);
+    				   //List<ShoppingGoods> list = shoppingGoodsDao.selectByIds(idsList);
+                       List<ShopProduct> shopProducts = shopProductDao.selectByIds(idsList);
+                       result.putInMap("order", shopProducts);
     			   }
-    		   }
+    		   }else{
+                   List<ShopProduct> shopProducts = new ArrayList<>();
+                   result.putInMap("order", shopProducts);
+               }
     	   }
        }
        return result;
     }
     
     /**
+     * 列表显示
+     */
+    @RequestMapping(value = "/selectProduct")
+    public @ResponseBody
+    	AjaxResult selectProduct(ShopProduct shopProduct, PaginationVO pageVo) {
+    	QueryUtil.setQueryLimitCom(shopProduct);
+		pageVo.setSort("createTime");
+		pageVo.setOrder("desc");
+		shopProduct.setDelFlag(AppConstance.DATA_USEABLE);
+		shopProduct.setCompanyId(shopProduct.getCompanyId());
+		List<ShopProduct> dataList = shopProductDao.selectInPage(shopProduct, pageVo);
+		AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList,
+				shopProductDao.selectTotalRecord(shopProduct));
+		return result;
+
+    }
+    
+    /**
      *获取对应的规则设置数据
      * @param ArrayCode
      * @param ArrayName
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
index f7ef70f..5ba6f89 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
@@ -55,32 +55,81 @@
     @ApiResponses({
             @ApiResponse(code = 200, message = "OK",  response = ShopSalesmanDetailVo.class)
     })
-    @PostMapping(value = "/findShopSalesmanDetail")
+    @PostMapping(value = "/loadParamSettingBasic")
     public @ResponseBody
-    AjaxResult findShopSalesmanDetail(@RequestBody ShopSalesmanDetailDto shopSalesmanDetailDto) {
+    AjaxResult findShopSalesmanDetail(@RequestBody LoadParamSettingBasicDto loadParamSettingBasicDto) {
     	//设置用户公司ID
-    	QueryUtil.setQueryLimitCom(shopSalesmanDetailDto);
+    	QueryUtil.setQueryLimitCom(loadParamSettingBasicDto);
     	AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
     	//根据OPENID查询基础信息
-    	String userId = shopSalesmanDetailDto.getUserId();
-    	String applyId = shopSalesmanDetailDto.getApplyId();
+    	String userId = loadParamSettingBasicDto.getUserId();
+    	String applyId = loadParamSettingBasicDto.getApplyId();
     	SalesmanBasicDetailVo salesmanBasicDetailVo = shopSalesmanApplyService.selectShopSalesmanDetailByOpenId(userId,Long.parseLong(applyId));
     	result.putInMap("basicdetail", salesmanBasicDetailVo);
+        return result;
+    }
+
+    /**
+     * 分销员详情页面绑定客户
+     */
+    @ApiOperation(value = "分销员详情页面绑定客户")
+    @PostMapping(value = "/loadParamSetting")
+    public @ResponseBody
+    AjaxResult loadParamSetting(@RequestBody LoadParamSettingDto loadParamSettingDto) {
+        //设置用户公司ID
+        QueryUtil.setQueryLimitCom(loadParamSettingDto);
+        AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
         //排序
-        if(StringUtils.isBlank(shopSalesmanDetailDto.getSort())){
-        	shopSalesmanDetailDto.setSort("create_time");
-        	shopSalesmanDetailDto.setOrder("desc");
+        if(StringUtils.isBlank(loadParamSettingDto.getSort())){
+        	loadParamSettingDto.setSort("create_time");
+        	loadParamSettingDto.setOrder("desc");
         }
         //查询绑定客户信息
-        Page<ShopCustomDetailVo> page = new Page(shopSalesmanDetailDto.getPageNum(), shopSalesmanDetailDto.getPageSize());
-        IPage<ShopCustomDetailVo> customDetailRows = shopSalesmanApplyService.findCustomDetail(page,shopSalesmanDetailDto);
+        Page<ShopCustomDetailVo> page = new Page(loadParamSettingDto.getPageNum(), loadParamSettingDto.getPageSize());
+        IPage<ShopCustomDetailVo> customDetailRows = shopSalesmanApplyService.findCustomDetail(page,loadParamSettingDto);
         result.putInMap("customDetailRecords", customDetailRows.getRecords());
         result.putInMap("customDetailTotal", customDetailRows.getTotal());
+        return result;
+    }
+
+    /**
+     * 分销员详情页面邀请下级
+     */
+    @ApiOperation(value = "分销员详情页面邀请下级")
+    @PostMapping(value = "/loadParamSettinglow")
+    public @ResponseBody
+    AjaxResult loadParamSettinglow(@RequestBody ShopSalesmanDetailDto shopSalesmanDetailDto) {
+        //设置用户公司ID
+        QueryUtil.setQueryLimitCom(shopSalesmanDetailDto);
+        AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
+        //排序
+        if(StringUtils.isBlank(shopSalesmanDetailDto.getSort())){
+            shopSalesmanDetailDto.setSort("create_time");
+            shopSalesmanDetailDto.setOrder("desc");
+        }
         //查询邀请下级信息
         Page<ShopCustomDetailVo> pageLow = new Page(shopSalesmanDetailDto.getPageNum(), shopSalesmanDetailDto.getPageSize());
         IPage<ShopCustomDetailVo> customLowRows = shopSalesmanApplyService.findCustomLow(pageLow,shopSalesmanDetailDto);
         result.putInMap("customLowRecords", customLowRows.getRecords());
         result.putInMap("customLowTotal", customLowRows.getTotal());
+        return result;
+    }
+
+    /**
+     * 分销员详情页面收益订单
+     */
+    @ApiOperation(value = "分销员详情页面收益订单")
+    @PostMapping(value = "/loadParamSettingOrder")
+    public @ResponseBody
+    AjaxResult loadParamSettingOrder(@RequestBody ShopSalesmanDetailDto shopSalesmanDetailDto) {
+        //设置用户公司ID
+        QueryUtil.setQueryLimitCom(shopSalesmanDetailDto);
+        AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
+        //排序
+        if(StringUtils.isBlank(shopSalesmanDetailDto.getSort())){
+            shopSalesmanDetailDto.setSort("create_time");
+            shopSalesmanDetailDto.setOrder("desc");
+        }
         //查询收益订单
         Page<ShopOrderDetailVo> pageOrder = new Page(shopSalesmanDetailDto.getPageNum(), shopSalesmanDetailDto.getPageSize());
         IPage<ShopOrderDetailVo> orderRows = shopSalesmanApplyService.findShopOrderDetail(pageOrder,shopSalesmanDetailDto);
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java
index 4faf796..de2bc10 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java
@@ -14,6 +14,14 @@
      */
     public final static String FX_APPLY_WAY = "FX_APPLY_WAY";
     /**
+     * 申请方式 1自动申请通过
+     */
+    public final static String FX_APPLY_WAY_AUTO = "1";
+    /**
+     * 申请方式 2需要主动申请
+     */
+    public final static String FX_APPLY_WAY_CUSTOMER = "2";
+    /**
      * 审核方式  1系统自动审核,2人工审核
      */
     public final static String FX_AUDIT_METHOD = "FX_AUDIT_METHOD";
@@ -26,15 +34,15 @@
      */
     public final static String FX_APPLY_CONDITION_WTJ = "1";
     /**
-     * 申请条件 1 消费任意产品
+     * 申请条件 2 消费任意产品
      */
     public final static String FX_APPLY_CONDITION_XFRYCP = "2";
     /**
-     * 申请条件 1 消费指定产品
+     * 申请条件 3 消费指定产品
      */
     public final static String FX_APPLY_CONDITION_XFZDCP = "3";
     /**
-     * 申请条件 1 消费指定金额
+     * 申请条件 4 消费指定金额
      */
     public final static String FX_APPLY_CONDITION_XCZDJE = "4";
     /**
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopRevenueFlowDao.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopRevenueFlowDao.java
index e4b1d83..d409465 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopRevenueFlowDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopRevenueFlowDao.java
@@ -5,7 +5,6 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.matrix.system.fenxiao.entity.ShopRevenueFlow;
 import com.matrix.system.shopXcx.api.dto.RevenueFlowDto;
-import com.matrix.system.shopXcx.vo.SalesOrderVo;
 import org.apache.ibatis.annotations.Param;
 
 /**
@@ -15,5 +14,5 @@
  */
 public interface ShopRevenueFlowDao extends BaseMapper<ShopRevenueFlow> {
 
-    IPage<SalesOrderVo> selectRevenuFlowList(Page<SalesOrderVo> page, @Param("record") RevenueFlowDto revenueFlowDto);
+    IPage<ShopRevenueFlow> selectRevenuFlowList(Page<ShopRevenueFlow> page, @Param("record") RevenueFlowDto revenueFlowDto);
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java
index 4b5aad7..e881f7a 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.matrix.system.fenxiao.dto.LoadParamSettingDto;
 import com.matrix.system.fenxiao.dto.ShopSalesmanAppliingDto;
 import com.matrix.system.fenxiao.dto.ShopSalesmanApplyDto;
 import com.matrix.system.fenxiao.dto.ShopSalesmanDetailDto;
@@ -42,7 +43,7 @@
 			@Param("companyId")Long companyId,@Param("applyId")long applyId);
 
 	IPage<ShopCustomDetailVo> findCustomDetail(Page<ShopCustomDetailVo> page,
-											   @Param("record")ShopSalesmanDetailDto shopSalesmanDetailDto);
+											   @Param("record")LoadParamSettingDto loadParamSettingDto);
 
 	IPage<ShopCustomDetailVo> findCustomLow(Page<ShopCustomDetailVo> pageLow,
 			@Param("record")ShopSalesmanDetailDto shopSalesmanDetailDto);
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadParamSettingBasicDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadParamSettingBasicDto.java
new file mode 100644
index 0000000..2255170
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadParamSettingBasicDto.java
@@ -0,0 +1,20 @@
+package com.matrix.system.fenxiao.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "LoadParamSettingBasicDto", description = "查询参数")
+public class LoadParamSettingBasicDto {
+	
+	@ApiModelProperty(value ="会员OPENID")
+	private String userId;
+
+	@ApiModelProperty(value ="申请记录ID")
+	private String applyId;
+	
+	@ApiModelProperty(hidden = true)
+	private Long companyId;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadParamSettingDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadParamSettingDto.java
new file mode 100644
index 0000000..65c479b
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadParamSettingDto.java
@@ -0,0 +1,25 @@
+package com.matrix.system.fenxiao.dto;
+
+import com.matrix.core.pojo.BasePageQueryDto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "LoadParamSettingDto", description = "查询参数")
+public class LoadParamSettingDto extends BasePageQueryDto {
+	
+	@ApiModelProperty(value ="会员姓名")
+	private String userName;
+	
+	@ApiModelProperty(value ="会员OPENID")
+	private String userId;
+
+	@ApiModelProperty(value ="申请记录ID")
+	private String applyId;
+	
+	@ApiModelProperty(hidden = true)
+	private Long companyId;
+	
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
index 9cf5e16..37e9b50 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
@@ -14,6 +14,7 @@
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.pojo.VerificationResult;
 import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.WebUtil;
 import com.matrix.system.common.bean.BusParameterSettings;
 import com.matrix.system.common.bean.SysUsers;
 import com.matrix.system.common.dao.BusParameterSettingsDao;
@@ -71,7 +72,7 @@
 
         BizUser loginUser=bizUserDao.findByOpenId(openId);
         //验证申请条件
-        VerificationResult verificationResult = isAbleToBeAnSalesman(openId);
+        VerificationResult verificationResult = isAbleToBeAnSalesman(openId,loginUser.getCompanyId());
         if(verificationResult.isJudgeResult()){
             //校验审核状态,和是否重复发起
             QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>();
@@ -135,42 +136,50 @@
     /**
      * 判断是否满足申请成为分销员的条件
      */
-    public VerificationResult isAbleToBeAnSalesman(String openId) {
-        BizUser bizUser = bizUserDao.findByOpenId(openId);
-        VerificationResult verificationResult=null;
-        //申请条件
-        BusParameterSettings applyCondition = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_CONDITION, bizUser.getCompanyId());
-        switch (applyCondition.getParamValue()){
-            case FenxiaoSettingConstant.FX_APPLY_CONDITION_WTJ:
-                VerificationResult.buildVerificationResult(true);
-            case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFZDCP:
-                VerificationResult.buildVerificationResult(true);
-                int buyZdcpCount= shopOrderV2Dao.countBuyZdcp(openId,applyCondition.getParamValue1());
-                if(buyZdcpCount>0){
-                    verificationResult= VerificationResult.buildVerificationResult(true);
-                }else{
-                    verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费指定产品后再申请!");
-                }
+    public VerificationResult isAbleToBeAnSalesman(String openId,Long companyId) {
 
-            case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFRYCP:
-                //判断用户是否有确认收货的产品
-                int receivedOrderCount= shopOrderV2Dao.selectReceivedOrderCount(openId);
-                if(receivedOrderCount>0){
+        VerificationResult verificationResult=null;
+
+        //申请模式
+        BusParameterSettings applyWay = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_WAY, companyId);
+        if (applyWay.getParamValue().equals(FenxiaoSettingConstant.FX_APPLY_WAY_AUTO)) {
+            verificationResult= VerificationResult.buildVerificationResult(true);
+        }else{
+            //申请条件
+            BusParameterSettings applyCondition = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_CONDITION, companyId);
+            switch (applyCondition.getParamValue()){
+                case FenxiaoSettingConstant.FX_APPLY_CONDITION_WTJ:
                     verificationResult= VerificationResult.buildVerificationResult(true);
-                }else{
-                    verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费任意产品后再申请!");
-                }
-            case FenxiaoSettingConstant.FX_APPLY_CONDITION_XCZDJE:
-                Double zdje=Double.parseDouble(applyCondition.getParamValue2());
-                Double yxfje=shopOrderV2Dao.countOrderAmount(openId);
-                if(zdje<yxfje){
-                    verificationResult=VerificationResult.buildVerificationResult(true);
-                }else{
-                    verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费满"+zdje+"元后再申请!");
-                }
-                VerificationResult.buildVerificationResult(true);
-            default:
-                VerificationResult.buildVerificationResult(true);
+                    break;
+                case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFZDCP:
+                    int buyZdcpCount= shopOrderV2Dao.countBuyZdcp(openId,applyCondition.getParamValue1());
+                    if(buyZdcpCount>0){
+                        verificationResult= VerificationResult.buildVerificationResult(true);
+                    }else{
+                        verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费指定产品后再申请!");
+                    }
+                    break;
+                case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFRYCP:
+                    //判断用户是否有确认收货的产品
+                    int receivedOrderCount= shopOrderV2Dao.selectReceivedOrderCount(openId);
+                    if(receivedOrderCount>0){
+                        verificationResult= VerificationResult.buildVerificationResult(true);
+                    }else{
+                        verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费任意产品后再申请!");
+                    }
+                    break;
+                case FenxiaoSettingConstant.FX_APPLY_CONDITION_XCZDJE:
+                    Double zdje=Double.parseDouble(applyCondition.getParamValue2());
+                    Double yxfje=shopOrderV2Dao.countOrderAmount(openId);
+                    if(zdje<yxfje){
+                        verificationResult=VerificationResult.buildVerificationResult(true);
+                    }else{
+                        verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费满"+zdje+"元后再申请!");
+                    }
+                    break;
+                default:
+                    verificationResult= VerificationResult.buildVerificationResult(true);
+            }
         }
         return verificationResult;
     }
@@ -232,9 +241,8 @@
 		return shopSalesmanApplyDao.selectShopSalesmanDetailByOpenId(userId,companyId,applyId);
 	}
 
-	public IPage<ShopCustomDetailVo> findCustomDetail(Page<ShopCustomDetailVo> page,
-                                                      ShopSalesmanDetailDto shopSalesmanDetailDto) {
-		return shopSalesmanApplyDao.findCustomDetail(page,shopSalesmanDetailDto);
+	public IPage<ShopCustomDetailVo> findCustomDetail(Page<ShopCustomDetailVo> page,LoadParamSettingDto loadParamSettingDto) {
+		return shopSalesmanApplyDao.findCustomDetail(page,loadParamSettingDto);
 	}
 
 	public IPage<ShopCustomDetailVo> findCustomLow(Page<ShopCustomDetailVo> pageLow,
@@ -286,7 +294,7 @@
         bizUserDao.updateByModel(findByOpenId);
         shopSalesmanApplyDao.updateById(shopSalesmanApply);
         
-        return AjaxResult.buildFailInstance("修改等级成功");
+        return AjaxResult.buildSuccessInstance("修改等级成功");
 	}
 
     @Transactional(rollbackFor = Exception.class)
@@ -301,7 +309,7 @@
         }
         findByOpenId.setParentOpenId("");
         bizUserDao.updateByModel(findByOpenId);
-        return AjaxResult.buildFailInstance("解绑成功");
+        return AjaxResult.buildSuccessInstance("解绑成功");
 	}
 
     @Transactional(rollbackFor = Exception.class)
@@ -322,7 +330,7 @@
         ShopSalesmanApply selectById = shopSalesmanApplyDao.selectById(applyid);
         selectById.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_XTQX);
         shopSalesmanApplyDao.updateById(selectById);
-		return AjaxResult.buildFailInstance("操作成功");
+		return AjaxResult.buildSuccessInstance("操作成功");
 	}
 
 	public IPage<FyfaManageVo> findFyfaManageList(Page<FyfaManageVo> page, FyfaManageDto fyfaManageDto) {
@@ -351,16 +359,14 @@
         	return AjaxResult.buildFailInstance("当前行数据不存在,请刷新页面");
         }
         shopSalesmanGradeDao.deleteById(gradeId);
-		return AjaxResult.buildFailInstance("操作成功");
+		return AjaxResult.buildSuccessInstance("操作成功");
 	}
 
     @Transactional(rollbackFor = Exception.class)
 	public AjaxResult updateFyfa(UpdateFyfaDto updateFyfaDto) {
-		
+        //设置用户公司ID
+        QueryUtil.setQueryLimitCom(updateFyfaDto);
         ShopSalesmanGrade selectById = shopSalesmanGradeDao.selectById(updateFyfaDto.getId());
-        if(ObjectUtil.isEmpty(selectById)) {
-        	return AjaxResult.buildFailInstance("当前行数据不存在,请刷新页面");
-        }
         String name = updateFyfaDto.getName();
         if(StrUtil.isEmpty(name)) {
         	return AjaxResult.buildFailInstance("请输入方案名称");
@@ -373,15 +379,30 @@
         if(ObjectUtil.isEmpty(invitationCommission)) {
         	return AjaxResult.buildFailInstance("请输入正确的邀请提成");
         }
-		//设置用户公司ID
-        QueryUtil.setQueryLimitCom(updateFyfaDto);
+        if(ObjectUtil.isEmpty(selectById)) {
+            SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+            ShopSalesmanGrade shopSalesmanGrade = new ShopSalesmanGrade();
+            shopSalesmanGrade.setCompanyId(updateFyfaDto.getCompanyId());
+            shopSalesmanGrade.setName(updateFyfaDto.getName());
+            shopSalesmanGrade.setSealesCommission(sealesCommission);
+            shopSalesmanGrade.setInvitationCommission(invitationCommission);
+            shopSalesmanGrade.setGradeCondition(updateFyfaDto.getGradeCondition());
+            shopSalesmanGrade.setIsDefault(2);
+            shopSalesmanGrade.setCreateBy(user.getSuName());
+            shopSalesmanGrade.setUpdateBy(user.getSuName());
+            shopSalesmanGrade.setCreateTime(new Date());
+            shopSalesmanGrade.setUpdateTime(new Date());
+            shopSalesmanGrade.setCompanyId(user.getCompanyId());
+            shopSalesmanGradeDao.insert(shopSalesmanGrade);
+            return AjaxResult.buildSuccessInstance("操作成功");
+        }
         selectById.setCompanyId(updateFyfaDto.getCompanyId());
         selectById.setName(updateFyfaDto.getName());
         selectById.setSealesCommission(sealesCommission);
         selectById.setInvitationCommission(invitationCommission);
         selectById.setGradeCondition(updateFyfaDto.getGradeCondition());
         shopSalesmanGradeDao.updateById(selectById);
-		return AjaxResult.buildFailInstance("操作成功");
+		return AjaxResult.buildSuccessInstance("操作成功");
 	}
     
     @Transactional(rollbackFor = Exception.class)
@@ -393,7 +414,7 @@
         BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_TG_PLAN, companyId);
         busParameterSettings.setParamValue3(updateTgjhDto.getTgfa());
         busParameterSettingsDao.updateByModel(busParameterSettings);
-		return AjaxResult.buildFailInstance("保存成功");
+		return AjaxResult.buildSuccessInstance("保存成功");
 	}
 
     @Transactional(rollbackFor = Exception.class)
@@ -405,7 +426,7 @@
         BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_TG_POSTER, companyId);
         busParameterSettings.setParamValue(updateTgtpDto.getImageUrl());
         busParameterSettingsDao.updateByModel(busParameterSettings);
-		return AjaxResult.buildFailInstance("保存成功");
+		return AjaxResult.buildSuccessInstance("保存成功");
 	}
 
     
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopOrderDetailVo.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopOrderDetailVo.java
index a922e46..6d04291 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopOrderDetailVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopOrderDetailVo.java
@@ -19,6 +19,9 @@
 
     @ApiModelProperty(value = "实付金额")
     private Double  orderMoney;
+
+    @ApiModelProperty(value = "订单状态")
+    private Integer orderState;
     
     @ApiModelProperty(value = "下单门店")
     private String storeName;
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanApplyVo.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanApplyVo.java
index 3a3af3c..79acde3 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanApplyVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/ShopSalesmanApplyVo.java
@@ -74,10 +74,14 @@
 	private String nickname;
 	@ApiModelProperty(value = "头像")
 	private String avatarUrl;
-	@ApiModelProperty(value = "邀请人")
+	@ApiModelProperty(value = "注册邀请人")
 	private String parentUser;
-	@ApiModelProperty(value = "下级客户数")
+	@ApiModelProperty(value = "当前上级")
+	private String parentUserNow;
+	@ApiModelProperty(value = "推广客户")
 	private Integer lowerLevelNum;
+	@ApiModelProperty(value = "邀请下级")
+	private Integer invitedNum;
 
 	@ApiModelProperty(value = "累计收益")
 	private BigDecimal totalRevenue;
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
index e1f1896..0b5c95a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -447,8 +447,10 @@
 
         if(orderVo.getId()!=null){
             WebUtil.getRequest().setAttribute("orderParam", orderVo.getId());
+            WebUtil.getRequest().setAttribute("orderId", orderVo.getId());
         }else if(StringUtils.isNotBlank(orderVo.getOrderNo())){
             WebUtil.getRequest().setAttribute("orderParam", orderVo.getOrderNo());
+            WebUtil.getRequest().setAttribute("orderNo", orderVo.getOrderNo());
         }
         return "admin/hive/beautySalon/orderXq-form";
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopBizUserScoreAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopBizUserScoreAction.java
index 186022e..3480da7 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopBizUserScoreAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopBizUserScoreAction.java
@@ -1,25 +1,10 @@
 package com.matrix.system.shopXcx.action;
 
-import com.matrix.biz.bean.BizUser;
 import com.matrix.biz.service.BizUserService;
-import com.matrix.core.anotations.RemoveRequestToken;
-import com.matrix.core.anotations.SaveRequestToken;
-import com.matrix.core.constance.MatrixConstance;
-import com.matrix.core.pojo.AjaxResult;
-import com.matrix.core.tools.StringUtils;
-import com.matrix.core.tools.WebUtil;
-import com.matrix.system.common.bean.SysUsers;
-import com.matrix.system.shopXcx.bean.ShopScoreExchange;
 import com.matrix.system.shopXcx.dao.ShopScoreExchangeDao;
-import com.matrix.system.shopXcx.pojo.ExchangeScorePOJO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-
-import java.util.Date;
 
 
 /**
@@ -40,75 +25,6 @@
      * 记录编辑前的值Before_Edit_Value
      */
     public static final String BEV = "ShopBizUserScore_BEV";
-
-
-    /**
-     * 进入积分兑换界面
-     */
-    @SaveRequestToken
-    @RequestMapping(value = "/intoExchangePage")
-    public ModelAndView exchangeScore(String userId) {
-        BizUser bizUser = new BizUser();
-        ModelAndView modelAndView = new ModelAndView("admin/shop/user-score-exchange");
-        if (StringUtils.isNotBlank(userId)) {
-            bizUser = bizUserService.findById(userId);
-            if (bizUser.getCurrentScore() == null) {
-                bizUser.setCurrentScore(0);
-            }
-        }
-        modelAndView.addObject("obj", bizUser);
-        return modelAndView;
-    }
-
-
-    /**
-     * 兑换积分
-     */
-    @Transactional(rollbackFor = Exception.class)
-    @RemoveRequestToken
-    @RequestMapping(value = "/exchangeScore")
-    public @ResponseBody
-    AjaxResult exchangeScore(ExchangeScorePOJO pojo) {
-        //校验参数中用户ID和用户兑换积分是否有效
-        if (pojo == null || StringUtils.isBlank(pojo.getUserId())
-                || pojo.getScore() == null || pojo.getScore() == 0) {
-            return new AjaxResult(AjaxResult.STATUS_FAIL, "提交参数有误!");
-        }
-        //兑换积分用户信息
-        BizUser bizUser = bizUserService.findById(pojo.getUserId());
-        if (bizUser == null) {
-            return new AjaxResult(AjaxResult.STATUS_FAIL, "没有查询到相应用户!");
-        }
-        if (bizUser.getCurrentScore() == null) {
-            bizUser.setCurrentScore(0);
-        }
-        //如果兑换积分大于用户当前积分
-        if (pojo.getScore() > bizUser.getCurrentScore()) {
-            return new AjaxResult(AjaxResult.STATUS_FAIL, "兑换积分大于用户当前积分!");
-        }
-        //剩余积分 = 当前积分 - 兑换积分
-        Integer remainScore = bizUser.getCurrentScore() - pojo.getScore();
-        //当前操作用户信息
-        SysUsers loginUser = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
-        //修改用户剩余积分
-        BizUser updateModel = new BizUser();
-        updateModel.setUserId(bizUser.getUserId());
-        updateModel.setCurrentScore(remainScore);
-        updateModel.setUpdateBy(loginUser.getSuName());
-        updateModel.setUpdateTime(new Date());
-        bizUserService.modifyByModel(updateModel);
-        //添加积分兑换记录
-        ShopScoreExchange insertExchange = new ShopScoreExchange();
-        insertExchange.setCreateBy(loginUser.getSuName());
-        insertExchange.setUpdateBy(loginUser.getSuName());
-        insertExchange.setUserId(bizUser.getOpenId());
-        insertExchange.setExchangeScore(pojo.getScore());
-        insertExchange.setOperateId(loginUser.getSuId());
-        insertExchange.setRemark(pojo.getRemarks());
-        shopScoreExchangeDao.insert(insertExchange);
-
-        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "兑换成功!");
-    }
 
 
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopRefundRecordAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopRefundRecordAction.java
index c790239..dd0c18a 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopRefundRecordAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopRefundRecordAction.java
@@ -1,6 +1,9 @@
 package com.matrix.system.shopXcx.action;
 
-import com.matrix.component.wechat.externalInterface.common.WechatConfigure;
+import com.matrix.component.rabbitmq.RabiitMqTemplate;
+import com.matrix.component.redis.RedisUserLoginUtils;
+import com.matrix.component.tools.WxTempLateMsgUtil;
+import com.matrix.component.wechat.externalInterface.weixinUtil.WeixinServiceUtil;
 import com.matrix.core.anotations.RemoveRequestToken;
 import com.matrix.core.anotations.SaveRequestToken;
 import com.matrix.core.constance.MatrixConstance;
@@ -10,20 +13,17 @@
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.pojo.PaginationVO;
 import com.matrix.core.tools.*;
-import com.matrix.component.redis.RedisUserLoginUtils;
 import com.matrix.system.common.bean.SysUsers;
 import com.matrix.system.common.constance.AppConstance;
-
-import com.matrix.component.wechat.externalInterface.weixinUtil.WeixinServiceUtil;
 import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.shopXcx.api.service.WXShopOrderService;
 import com.matrix.system.shopXcx.api.service.WxShopRefundRecordService;
 import com.matrix.system.shopXcx.bean.*;
 import com.matrix.system.shopXcx.dao.ShopCouponRecordDao;
 import com.matrix.system.shopXcx.dao.ShopDeliveryInfoDao;
 import com.matrix.system.shopXcx.dao.ShopOrderDao;
 import com.matrix.system.shopXcx.dao.ShopRefundRecordDao;
-import com.matrix.component.tools.WxTempLateMsgUtil;
-import com.matrix.system.shopXcx.api.service.WXShopOrderService;
+import com.matrix.system.shopXcx.mqTask.MQTaskRouting;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -73,6 +73,12 @@
 
 	@Value("${wx_pay_debug_onoff}")
 	private boolean isDebug;
+	@Value("${evn}")
+	private  String evn;
+
+	@Autowired
+	private RabiitMqTemplate rabiitMqTemplate;
+
 
 	/**
 	 * 列表显示
@@ -522,6 +528,9 @@
 				modifyMap.put("orderStatus", ShopOrder.ORDER_STATUS_MONEYBACK_SUCCESS);
 				modifyMap.put("refundCharge", shopRefundRecord.getRefundMoney());
 				shopOrderDao.updateByMap(modifyMap);
+
+				rabiitMqTemplate.sendMsg(MQTaskRouting.SHOP_ORDER_REFUND+evn,shopOrder.getId()+"");
+
 			}catch (Exception e){
 				LogUtil.debug("退款成功,修改退款表和订单表状态出错。。。", id);
 				e.printStackTrace();
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopShoppingCartAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopShoppingCartAction.java
deleted file mode 100644
index c7e50a8..0000000
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopShoppingCartAction.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package com.matrix.system.shopXcx.action;
-
-import com.matrix.core.constance.MatrixConstance;
-import com.matrix.core.constance.SystemMessageCode;
-import com.matrix.core.pojo.PaginationVO;
-import com.matrix.core.tools.ModelUtils;
-import com.matrix.core.tools.StringUtils;
-import com.matrix.core.constance.SystemErrorCode;
-import com.matrix.core.anotations.RemoveRequestToken;
-import com.matrix.system.common.bean.SysUsers;
-import com.matrix.system.hive.action.util.QueryUtil;
-import com.matrix.system.shopXcx.dao.ShopShoppingCartDao;
-import org.springframework.stereotype.Controller;
-import com.matrix.core.exception.GlobleException;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-import com.matrix.core.anotations.SaveRequestToken;
-import com.matrix.core.pojo.AjaxResult;
-import com.matrix.core.tools.WebUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.util.List;
-import java.util.Map;
-import com.matrix.system.shopXcx.bean.ShopShoppingCart;
-import org.springframework.web.servlet.ModelAndView;
-
-/**
- * @description 购物车
- * @author jiangyouyao
- * @date 2019-06-12 19:09
- */
-@Controller
-@RequestMapping(value = "admin/shopShoppingCart")
-public class ShopShoppingCartAction {
-
-	@Autowired
-	private ShopShoppingCartDao shopShoppingCartDao;
-	
-	//记录编辑前的值Before_Edit_Value
-	public static final String BEV="ShopShoppingCart_BEV";
-	
-	
-	/**
-	 * 列表显示
-	 */
-	@RequestMapping(value =  "/showList")
-	public @ResponseBody AjaxResult showList(ShopShoppingCart shopShoppingCart, PaginationVO pageVo) {
-		QueryUtil.setQueryLimitCom(shopShoppingCart);
-		List<ShopShoppingCart> dataList = shopShoppingCartDao.selectInPage(shopShoppingCart, pageVo);
-		AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList,
-				shopShoppingCartDao.selectTotalRecord(shopShoppingCart));
-		return result;
-	}
-   	
-	/**
-	 * 新增
-	 */
-	@RemoveRequestToken	
-   	@RequestMapping(value =  "/addShopShoppingCart")
-	public @ResponseBody AjaxResult addShopShoppingCart(ShopShoppingCart shopShoppingCart) {
-	    SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
-		shopShoppingCart.setCreateBy(user.getSuName());
-		shopShoppingCart.setUpdateBy(user.getSuName());
-		shopShoppingCart.setCompanyId(user.getCompanyId());
-	 	int i=shopShoppingCartDao.insert(shopShoppingCart);
-	 	if(i > 0){
-	 		return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.ADD_SUCCES, "购物车");
-	 	}else {
-			throw new GlobleException(SystemErrorCode.DATA_ADD_FAIL);
-		}
-	}
-	
-	
-	
-	
-	
-	/**
-	 * 修改
-	 */   
-	@RemoveRequestToken	
-   	@RequestMapping(value =  "/modifyShopShoppingCart")
-	public @ResponseBody AjaxResult modifyShopShoppingCart(ShopShoppingCart newShopShoppingCart) {
-	   	ShopShoppingCart oldShopShoppingCart = WebUtil.getSessionAttribute(BEV);
-		int i = 0;
-		Map<String, Object> modifyMap = null;
-		try {
-			if (!ModelUtils.isModified(oldShopShoppingCart, newShopShoppingCart)) {
-				i = MatrixConstance.DML_SUCCESSS;
-			}
-			modifyMap = ModelUtils.comparePojo2Map(oldShopShoppingCart, newShopShoppingCart);
-		} catch (Exception e) {
-			throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL, e, newShopShoppingCart);
-		}
-		if (modifyMap.size() > 0) {
-			modifyMap.put("cartId", oldShopShoppingCart.getCartId());
-			shopShoppingCartDao.updateByMap(modifyMap);
-		}
-		i = MatrixConstance.DML_SUCCESSS;
-		WebUtil.removeSessionAttribute(BEV);
-		if (i > 0) {
-			return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.UPDATE_SUCCES, "购物车");
-		} else {
-			throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL);
-		}
-	}
-	
-	
-	
-	
-   	/**
-	 * 进入修改界面
-	 */   
-	@SaveRequestToken
-   	@RequestMapping(value =  "/editForm")
-	public ModelAndView editForm(Integer id) {
-		ShopShoppingCart shopShoppingCart = new ShopShoppingCart();
-		ModelAndView modelAndView = new ModelAndView("admin/shopShoppingCart-form");
-		if (id != null) {
-			shopShoppingCart = shopShoppingCartDao.selectById(id);
-			WebUtil.setSessionAttribute(BEV, shopShoppingCart);
-		}
-		modelAndView.addObject("obj",shopShoppingCart);
-		return modelAndView;
-	}
-   	
-   	
-   	/**
-	 * 删除
-	 */  
- 	@RequestMapping(value = "/del")
-	public @ResponseBody AjaxResult del(String keys) {
-		List<String> ids = StringUtils.strToCollToString(keys, ",");
-		int i =  shopShoppingCartDao.deleteByIds(ids);
-		if (i > 0) {
-			return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.DELETE_SUCCES, i);
-		} else {
-			throw new GlobleException(SystemErrorCode.DATA_DELETE_FAIL);
-		}
-	}
-  
-}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WXShopOrderAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WXShopOrderAction.java
index 7c7577a..00e55eb 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WXShopOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WXShopOrderAction.java
@@ -97,7 +97,7 @@
     AjaxResult calculationCartOrder(@RequestBody AddShopOrderPOJO addShopOrderPOJO) throws Exception {
         BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class); //计算购物车中物品的优惠信息
 
-        List<ShopCartVo> cartList = shoppingCartService.findUserCartList(addShopOrderPOJO.getShopId());
+        List<ShopCartVo> cartList = shoppingCartService.findUserCartList(addShopOrderPOJO.getShopId(),ShopShoppingCart.CAR_TYPE_MICRO);
 
 
         //取出购物车中选中的产品
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesProductAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesProductAction.java
index b89cac9..611820b 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesProductAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesProductAction.java
@@ -5,7 +5,6 @@
 import com.matrix.system.common.interceptor.HostInterceptor;
 import com.matrix.system.shopXcx.api.dto.SaleProductDto;
 import com.matrix.system.shopXcx.bean.ShopProduct;
-import com.matrix.system.shopXcx.bean.ShopProductAttribute;
 import com.matrix.system.shopXcx.dao.ShopProductAttributeDao;
 import com.matrix.system.shopXcx.dao.ShopProductDao;
 import com.matrix.system.shopXcx.dao.ShopSkuDao;
@@ -47,14 +46,13 @@
     })
     public AjaxResult getShopProductShowList(@RequestBody @Validated SaleProductDto saleProductDto) {
         ShopProduct shopProduct=new ShopProduct();
-
-        ShopProductAttribute fxsc = shopProductAttributeDao.selectByCode("fxsc", HostInterceptor.getCompanyId());
         shopProduct.setLimit(saleProductDto.getPageSize());
         shopProduct.setOffset((saleProductDto.getPageNum()-1)* saleProductDto.getPageSize());
+        shopProduct.setCategoryId(saleProductDto.getCategoryId());
         shopProduct.setDelFlag(AppConstance.DATA_USEABLE);
         shopProduct.setStatus(AppConstance.IS_PUTAWAY);
+        shopProduct.setAbleSales(ShopProduct.ABLE_SALES);
         shopProduct.setCompanyId(HostInterceptor.getCompanyId());
-        shopProduct.setAttrs(fxsc.getAttrId()+"");
         List<ShopProduct> shopProducts = shopProductDao.selectByModelWx(shopProduct);
         shopProducts.forEach(item->item.setSkus(shopSkuDao.selectByPid(item.getId())));
         AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, shopProducts);
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesWithdrawalAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesWithdrawalAction.java
index 5256ec0..817d16c 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesWithdrawalAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesWithdrawalAction.java
@@ -14,7 +14,6 @@
 import com.matrix.system.hive.service.CodeService;
 import com.matrix.system.shopXcx.api.dto.RevenueFlowDto;
 import com.matrix.system.shopXcx.api.dto.WithdrawalCashDto;
-import com.matrix.system.shopXcx.vo.SalesOrderVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -58,15 +57,15 @@
     CodeService codeService;
 
     @ApiOperation(value = "获取收支明细", notes = "")
-    @PostMapping(value = "/getInvitationuserList")
+    @PostMapping(value = "/getRevenueFlow")
     @ApiResponses({
             @ApiResponse(code = 200, message = "ok", response = ShopRevenueFlow.class)
     })
     AjaxResult getInvitationuserList(@RequestBody @Validated RevenueFlowDto revenueFlowDto) {
         BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
-        Page<SalesOrderVo> page=new Page<>(revenueFlowDto.getPageNum(),revenueFlowDto.getPageSize());
+        Page<ShopRevenueFlow> page=new Page<>(revenueFlowDto.getPageNum(),revenueFlowDto.getPageSize());
         revenueFlowDto.setUserId(loginUser.getOpenId());
-        IPage<SalesOrderVo> shopSalesmanApplyIPage = revenueFlowDao.selectRevenuFlowList(page,  revenueFlowDto);
+        IPage<ShopRevenueFlow> shopSalesmanApplyIPage = revenueFlowDao.selectRevenuFlowList(page,  revenueFlowDto);
         AjaxResult result=AjaxResult.buildSuccessInstance(shopSalesmanApplyIPage.getRecords());
         return result;
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java
index ed74a5d..7e81a21 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java
@@ -10,6 +10,7 @@
 import com.matrix.component.tools.WxacodeUtil;
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.pojo.BasePageQueryDto;
+import com.matrix.core.pojo.VerificationResult;
 import com.matrix.core.tools.LogUtil;
 import com.matrix.core.tools.MD5Util;
 import com.matrix.core.tools.PropertiesUtil;
@@ -22,7 +23,10 @@
 import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao;
 import com.matrix.system.fenxiao.entity.ShopSalesmanApply;
 import com.matrix.system.fenxiao.service.ShopSalesmanApplyService;
+import com.matrix.system.hive.plugin.util.CollectionUtils;
 import com.matrix.system.shopXcx.api.WeChatApiTools;
+import com.matrix.system.shopXcx.dao.ShopProductDao;
+import com.matrix.system.shopXcx.vo.SalesmanApplyCondition;
 import com.matrix.system.shopXcx.vo.SalesmanCenterInfo;
 import com.matrix.system.shopXcx.vo.SalesmanVo;
 import io.swagger.annotations.Api;
@@ -37,8 +41,11 @@
 import java.awt.*;
 import java.awt.image.BufferedImage;
 import java.io.File;
+import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author wzy
@@ -66,6 +73,10 @@
     private BizUserDao bizUserDao;
     @Autowired
     WeChatApiTools weChatApiTools;
+
+    @Autowired
+    ShopProductDao shopProductDao;
+
 
     @ApiOperation(value = "查询推广计划", notes = "")
     @GetMapping(value = "/getTgPlan")
@@ -132,33 +143,47 @@
     }
 
 
-    @ApiOperation(value = "绑定下级客户,当客户点击分销员分销的产品时调用", notes = "传入参数invitationId 必须 分销员openId 例: {invitationId:openId}")
+    @ApiOperation(value = "绑定下级客户,当客户点击分销员分销的产品时调用", notes = "传入参数invitationId 必须 分销员userId例: {invitationId:userId}")
     @ApiResponses({
             @ApiResponse(code = 200, message = "ok", response = Map.class)
     })
     @PostMapping(value = "/bindingParentSalesman")
     public AjaxResult bindingParentSalesman(@RequestBody Map<String,String> param) {
         String invitationId = param.get("invitationId");
+
+
         if (StringUtils.isBlank(invitationId)) {
+            return AjaxResult.buildFailInstance("请求参数错误");
+        }
+        BizUser invitationUser = bizUserDao.selectById(Long.parseLong(invitationId));
+        if (invitationUser==null) {
             return AjaxResult.buildFailInstance("请求参数错误");
         }
 
         BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
-        loginUser = bizUserDao.selectById(loginUser.getUserId());
-        if (loginUser.getIsSales() == null || loginUser.getIsSales() == BizUser.NOT_SALES) {
-            if (StringUtils.isBlank(loginUser.getParentOpenId())) {
+        if(invitationId.equals(loginUser.getUserId())){
+            return AjaxResult.buildSuccessInstance("不能绑定自己");
+        }
 
+        loginUser = bizUserDao.selectById(loginUser.getUserId());
+        if(loginUser.getIsSales()==1){
+            return AjaxResult.buildSuccessInstance("只有非分销员才能被绑定成客户");
+        }else{
+            if (StringUtils.isBlank(loginUser.getParentOpenId())) {
                 Map<String, Object> updateParam = new HashMap<>();
                 updateParam.put("userId", loginUser.getUserId());
-                updateParam.put("parentOpenId", invitationId);
+                updateParam.put("parentOpenId", invitationUser.getOpenId());
+                updateParam.put("bindingParentTime",new Date());
                 bizUserDao.updateByMap(updateParam);
                 return AjaxResult.buildSuccessInstance("绑定成功");
             } else {
                 return AjaxResult.buildSuccessInstance("已经存在上级");
             }
-        } else {
-            return AjaxResult.buildSuccessInstance("分销员不能被绑定");
         }
+
+
+
+
     }
 
 
@@ -249,6 +274,53 @@
         return AjaxResult.buildSuccessInstance(salesmanCenterInfo);
     }
 
+    @ApiOperation(value = "查询分销员申请条件", notes = "")
+    @PostMapping(value = "/getSalesmanApplyCondition")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = SalesmanApplyCondition.class)
+    })
+    AjaxResult getSalesmanApplyCondition() {
+        BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
+        VerificationResult ableToBeAnSalesman = shopSalesmanApplyService.isAbleToBeAnSalesman(loginUser.getOpenId(),loginUser.getCompanyId());
+        SalesmanApplyCondition applyConditionInfo=new SalesmanApplyCondition();
+        applyConditionInfo.setIsAbleApply(ableToBeAnSalesman.isJudgeResult());
+        applyConditionInfo.setMsg(ableToBeAnSalesman.getMsg());
+
+        //申请条件
+        BusParameterSettings applyCondition = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_CONDITION, loginUser.getCompanyId());
+        switch (applyCondition.getParamValue()){
+            case FenxiaoSettingConstant.FX_APPLY_CONDITION_WTJ:
+                applyConditionInfo.setCondition("您已满足申请条件");
+                break;
+            case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFZDCP:
+                applyConditionInfo.setCondition("消费指定产品并确认收货");
+                List<String> strings = StringUtils.strToColl(applyCondition.getParamValue1(), ",");
+                List<Integer> ids = strings.stream().filter(i -> StringUtils.isNotBlank(i)).map(i -> Integer.parseInt(i + "")).distinct().collect(Collectors.toList());
+                if(CollectionUtils.isNotEmpty(ids)){
+                    applyConditionInfo.setProductList(shopProductDao.selectByIds(ids));
+                }else{
+                    return AjaxResult.buildFailInstance("未配置消费产品,请联系管理员");
+                }
+
+                break;
+            case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFRYCP:
+                //判断用户是否有确认收货的产品
+                applyConditionInfo.setCondition("消费任意产品并确认收货");
+                break;
+            case FenxiaoSettingConstant.FX_APPLY_CONDITION_XCZDJE:
+                Double zdje=Double.parseDouble(applyCondition.getParamValue2());
+                applyConditionInfo.setCondition("消费满"+zdje+"元确认收货");
+                applyConditionInfo.setMinAmount(zdje);
+        }
+
+        return AjaxResult.buildSuccessInstance(applyConditionInfo);
+    }
+
+
+
+
+
+
 
 
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxScoreProductAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxScoreProductAction.java
new file mode 100644
index 0000000..4e069b7
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxScoreProductAction.java
@@ -0,0 +1,67 @@
+package com.matrix.system.shopXcx.api.action;
+
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.common.interceptor.HostInterceptor;
+import com.matrix.system.shopXcx.api.dto.SaleProductDto;
+import com.matrix.system.shopXcx.api.dto.ScoreProductDto;
+import com.matrix.system.shopXcx.bean.ShopProduct;
+import com.matrix.system.shopXcx.dao.ShopProductDao;
+import com.matrix.system.shopXcx.dao.ShopSkuDao;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author jyy
+ * @date 2021-03-10
+ **/
+@Api(tags = "积分商品类")
+@RestController
+@RequestMapping(value = "/wxapi/scoreProduct")
+public class WxScoreProductAction {
+
+    @Autowired
+    private ShopProductDao shopProductDao;
+
+    @Autowired
+    private ShopSkuDao shopSkuDao;
+
+    @ApiOperation(value = "查询积分商品", notes = "")
+    @PostMapping(value = "/getScoreProductList")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response=SaleProductDto.class)
+    })
+    public AjaxResult getShopProductShowList(@RequestBody @Validated ScoreProductDto scoreProductDto) {
+        ShopProduct shopProduct=new ShopProduct();
+        shopProduct.setLimit(scoreProductDto.getPageSize());
+        shopProduct.setOffset((scoreProductDto.getPageNum()-1)* scoreProductDto.getPageSize());
+        shopProduct.setScoreCategoryId(scoreProductDto.getScoreCategoryId());
+        shopProduct.setDelFlag(AppConstance.DATA_USEABLE);
+        shopProduct.setStatus(AppConstance.IS_PUTAWAY);
+        shopProduct.setAbleSales(ShopProduct.NOT_ABLE_SALES);
+        shopProduct.setMallType(ShopProduct.MALL_SCORE);
+        shopProduct.setCompanyId(HostInterceptor.getCompanyId());
+        List<ShopProduct> shopProducts = shopProductDao.selectByModelWx(shopProduct);
+        shopProducts.forEach(item->item.setSkus(shopSkuDao.selectByPid(item.getId())));
+        return AjaxResult.buildSuccessInstance(shopProducts);
+    }
+
+
+
+
+
+
+
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShareProductAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShareProductAction.java
index d9b4764..3aad1e8 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShareProductAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShareProductAction.java
@@ -314,7 +314,7 @@
         g = b2Img.createGraphics();
         g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 1));
         g.drawImage(qrcordImgBuf, 320, 550, 140, 140, null);
-        g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
+        g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);
         //标题
         g.setColor(new Color(0xF10D0A0A, true));
         Font font = new Font("微软雅黑", Font.PLAIN, 24);
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopProduct.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopProduct.java
index 3e3e4d5..00154cd 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopProduct.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopProduct.java
@@ -146,7 +146,7 @@
     @ResponseBody
     public AjaxResult getShopProductShowList(@RequestBody ShopProduct shopProduct) {
         List<ShopProduct> shopProducts = null;
-
+        shopProduct.setMallType(ShopProduct.MALL_MICRO);
         //查询是否匹配优惠条件
         ShopCoupon shopCoupon = shopCouponDao.getCouponByTitle(shopProduct.getTitle(),HostInterceptor.getCompanyId());
         if (shopCoupon != null && shopProduct.getOffset() < 1) {
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShoppingCartAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShoppingCartAction.java
index 1afabd6..051afbe 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShoppingCartAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShoppingCartAction.java
@@ -1,25 +1,25 @@
 package com.matrix.system.shopXcx.api.action;
 
+import com.matrix.biz.bean.BizUser;
+import com.matrix.component.redis.RedisUserLoginUtils;
 import com.matrix.core.constance.SystemErrorCode;
 import com.matrix.core.constance.SystemMessageCode;
 import com.matrix.core.exception.GlobleException;
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.tools.StringUtils;
-import com.matrix.biz.bean.BizUser;
-import com.matrix.component.redis.RedisUserLoginUtils;
 import com.matrix.system.common.constance.AppConstance;
-
-import com.matrix.system.shopXcx.bean.ShopShoppingCart;
-import com.matrix.system.shopXcx.bean.ShopSku;
-import com.matrix.system.shopXcx.dao.ShopShoppingCartDao;
-import com.matrix.system.shopXcx.dao.ShopSkuDao;
 import com.matrix.system.shopXcx.api.service.ShoppingCartService;
 import com.matrix.system.shopXcx.api.service.WxShopCouponService;
 import com.matrix.system.shopXcx.api.vo.ShopCartBillVo;
 import com.matrix.system.shopXcx.api.vo.ShopCartVo;
+import com.matrix.system.shopXcx.bean.ShopShoppingCart;
+import com.matrix.system.shopXcx.bean.ShopSku;
+import com.matrix.system.shopXcx.dao.ShopShoppingCartDao;
+import com.matrix.system.shopXcx.dao.ShopSkuDao;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.HashMap;
@@ -32,7 +32,8 @@
  * @date 2019-06-12 19:15
  */
 @CrossOrigin(origins = "*", maxAge = 3600)
-@Controller
+@Api(tags = "购物车类")
+@RestController
 @RequestMapping(value = "wxapi/ShoppingCart")
 public class WxShoppingCartAction {
     @Autowired
@@ -50,12 +51,8 @@
     ShopSkuDao skuDao;
 
 
-    /**
-     * 根据ID删除购物车
-     *
-     * @param
-     * @return
-     */
+
+    @ApiOperation(value = "根据ID删除购物车", notes = "")
     @PostMapping("/deleteByCartId/{cartId}")
     @ResponseBody
     public AjaxResult deleteByCartId(@PathVariable("cartId") Integer cartId) {
@@ -66,16 +63,12 @@
         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "删除成功");
     }
 
-    /**
-     * 根据用户ID查询购物车 没有分页
-     *
-     * @param
-     * @return
-     */
+
+    @ApiOperation(value = "根据用户ID查询购物车 没有分页", notes = "")
     @PostMapping("/findShoppingCart")
     @ResponseBody
     public AjaxResult getShoppingCartByUserId(@RequestBody ShopShoppingCart shoppingCart) {
-        List<ShopCartVo> cartList = shoppingCartService.findUserCartList(shoppingCart.getShopId());
+        List<ShopCartVo> cartList = shoppingCartService.findUserCartList(shoppingCart.getShopId(),ShopShoppingCart.CAR_TYPE_MICRO);
         AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, cartList, cartList.size());
         ShopCartBillVo shopCartBill = shoppingCartService.buildShopCartBillVo(cartList);
         result.putInMap("billTotal", shopCartBill.getBillTotal().stripTrailingZeros().toPlainString());
@@ -86,9 +79,8 @@
         return result;
     }
 
-    /**
-     * 批量删除
-     */
+
+    @ApiOperation(value = "批量删除", notes = "")
     @PostMapping(value = "/delShoppingCart/{keys}")
     public
     @ResponseBody
@@ -102,12 +94,13 @@
         }
     }
 
-    @PostMapping(value = "/getUserCartCount/{shopId}")
+    @ApiOperation(value = "查询微商城购物车数量", notes = "")
+    @PostMapping(value = "/getUserCartCount/{shopId}/{cartType}")
     public
     @ResponseBody
-    AjaxResult getUserCartCount(@PathVariable("shopId") Long shopId) {
+    AjaxResult getUserCartCount(@PathVariable("shopId") Long shopId,@PathVariable("cartType") Integer cartType) {
         BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
-        Integer userCartCount = shoppingCartDao.selectUserCartCount(shopId, loginUser.getOpenId());
+        Integer userCartCount = shoppingCartDao.selectUserCartCount(shopId, loginUser.getOpenId(),cartType);
         if (userCartCount == null) {
             userCartCount = 0;
         }
@@ -194,7 +187,7 @@
             return new AjaxResult(AjaxResult.STATUS_FAIL, "保存失败");
         }
         int userCartCount = shoppingCartDao.selectUserCartCount(shoppingCart.getShopId(),
-                loginUser.getOpenId());
+                loginUser.getOpenId(),shoppingCart.getCartType());
         AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, "保存成功");
         result.putInMap("userCartCount", userCartCount);
         return result;
@@ -258,7 +251,7 @@
      * @param
      * @return
      */
-    @RequestMapping("/updateCartSelected")
+    @PostMapping("/updateCartSelected")
     @ResponseBody
     public AjaxResult updateCartSelected(@RequestBody ShopShoppingCart shoppingCart) {
         Map<String, Object> modifyMap = new HashMap<>();
@@ -274,13 +267,12 @@
      * @param
      * @return
      */
-    @RequestMapping("/updateCartAllSelected/{shopId}/{isSelected}")
+    @PostMapping("/updateCartAllSelected/{shopId}/{isSelected}/{cartType}")
     @ResponseBody
     public AjaxResult updateCartAllSelected(@PathVariable("isSelected") Integer isSelected,
-                                            @PathVariable("shopId") Long shopId) {
-        Map<String, Object> modifyMap = new HashMap<>();
+                                            @PathVariable("shopId") Long shopId,@PathVariable("cartType") Integer cartType) {
         BizUser user = redisUserLoginUtils.getLoginUser(BizUser.class);
-        shoppingCartDao.updateAllSelected(user.getOpenId(),shopId, isSelected);
+        shoppingCartDao.updateAllSelected(user.getOpenId(),shopId, isSelected,cartType);
         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功");
     }
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
index 7a523f3..3125fe1 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
@@ -1,5 +1,6 @@
 package com.matrix.system.shopXcx.api.action;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.matrix.biz.bean.BizUser;
 import com.matrix.biz.service.BizUserService;
 import com.matrix.component.redis.RedisUserLoginUtils;
@@ -9,150 +10,195 @@
 import com.matrix.core.tools.LogUtil;
 import com.matrix.core.tools.StringUtils;
 import com.matrix.core.web.BaseAction;
+import com.matrix.system.common.bean.BusParameterSettings;
 import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
 import com.matrix.system.common.interceptor.HostInterceptor;
+import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
+import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao;
+import com.matrix.system.fenxiao.entity.ShopSalesmanApply;
+import com.matrix.system.fenxiao.service.ShopSalesmanApplyService;
 import com.matrix.system.shopXcx.api.WeChatApiTools;
 import net.sf.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.Collections;
 import java.util.Date;
 
 /**
- * @description (用户表)
  * @author jyy
+ * @description (用户表)
  * @date 2019-05-31 10:03
  */
 @Controller
 @RequestMapping(value = "wxapi/user")
 public class WxUserAction extends BaseAction {
 
-	@Autowired
-	private BizUserService bizUserService;
+    @Autowired
+    private BizUserService bizUserService;
+
+    @Autowired
+    private ShopSalesmanApplyService shopSalesmanApplyService;
+
+    @Autowired
+    BusParameterSettingsDao busParameterSettingsDao;
+    @Autowired
+    private RedisUserLoginUtils redisUserLoginUtils;
+    @Autowired
+    ShopSalesmanApplyDao salesmanApplyDao;
+
+    @Autowired
+    WeChatApiTools weChatApiTools;
 
 
-	@Autowired
-	private RedisUserLoginUtils redisUserLoginUtils;
+    @Autowired
+    private WeixinServiceUtil weixinServiceUtil;
 
+    @Value("${debug}")
+    private String isDebug;
 
-	@Autowired
-	WeChatApiTools weChatApiTools;
-
-
-
-	@Autowired
-	private WeixinServiceUtil weixinServiceUtil;
-
-	@Value("${debug}")
-	private String isDebug;
-
-	/**
-	 * 小程序登录
-	 * 
-	 * @author JIANGYOUYAO
-	 * @email 935090232@qq.com
-	 * @date 2018年5月23日
-	 * @param code
-	 * @return
-	 * @throws Exception
-	 */
-	@RequestMapping(value = "/login/{keys}")
-	public @ResponseBody
+    /**
+     * 小程序登录
+     *
+     * @param code
+     * @return
+     * @throws Exception
+     * @author JIANGYOUYAO
+     * @email 935090232@qq.com
+     * @date 2018年5月23日
+     */
+    @RequestMapping(value = "/login/{keys}")
+    public @ResponseBody
     AjaxResult wxLogin(@PathVariable("keys") String code) throws Exception {
-		AjaxResult res = new AjaxResult();
-		LogUtil.info("code:{}" + code);
-		if (StringUtils.isNotBlank(code)) {
-			String requrl = weChatApiTools.getXcxLoginUrl(code, HostInterceptor.getCompanyId());
-			String reslutData = HttpCurlUtil.sendGetHttp(requrl, null);
-			JSONObject json = JSONObject.fromObject(reslutData);
-			LogUtil.debug("微信登录获取到登录信息={}", json);
+        AjaxResult res = new AjaxResult();
+        LogUtil.info("code:{}" + code);
+        if (StringUtils.isNotBlank(code)) {
+            String requrl = weChatApiTools.getXcxLoginUrl(code, HostInterceptor.getCompanyId());
+            String reslutData = HttpCurlUtil.sendGetHttp(requrl, null);
+            JSONObject json = JSONObject.fromObject(reslutData);
+            LogUtil.debug("微信登录获取到登录信息={}", json);
 
-			if(json.containsKey("errcode")){
-				res.setStatus(AjaxResult.STATUS_FAIL);
-				res.setInfo("自动登录失败");
-				LogUtil.debug("微信登录获取到异常信息errcode");
-				return res;
-			}
+            if (json.containsKey("errcode")) {
+                res.setStatus(AjaxResult.STATUS_FAIL);
+                res.setInfo("自动登录失败");
+                LogUtil.debug("微信登录获取到异常信息errcode");
+                return res;
+            }
 
-			String openId = json.getString("openid");
-			String sessionKey = json.getString("session_key");
-			LogUtil.debug("openId={},sessionKey={}", openId, sessionKey);
-			// 查询用户是否存在
-			BizUser bizUser = null;
-			synchronized(this){
-				bizUser = bizUserService.findByOpenId(openId);
-				if (bizUser == null) {
-					// 新增用户
-					bizUser = new BizUser();
-					bizUser.setSessionKey(sessionKey);
-					bizUser.setIsSales(BizUser.NOT_SALES);
-					bizUser.setOpenId(openId);
-					bizUser.setLastLoginTime(new Date());
-					bizUser.setUserType(AppConstance.USER_TYPE_CUSTOMER);
-					bizUser.setCompanyId(HostInterceptor.getCompanyId());
-					bizUserService.add(bizUser);
+            String openId = json.getString("openid");
+            String sessionKey = json.getString("session_key");
+            LogUtil.debug("openId={},sessionKey={}", openId, sessionKey);
+            // 查询用户是否存在
+            BizUser bizUser = null;
+            synchronized (this) {
+                bizUser = bizUserService.findByOpenId(openId);
+                if (bizUser == null) {
+                    // 新增用户
+                    bizUser = new BizUser();
+                    bizUser.setSessionKey(sessionKey);
+                    bizUser.setIsSales(BizUser.NOT_SALES);
+                    bizUser.setOpenId(openId);
+                    bizUser.setLastLoginTime(new Date());
+                    bizUser.setUserType(AppConstance.USER_TYPE_CUSTOMER);
+                    bizUser.setCompanyId(HostInterceptor.getCompanyId());
+                    bizUserService.add(bizUser);
 
-				} else {
-					bizUser.setSessionKey(sessionKey);
-					bizUser.setLastLoginTime(new Date());
-					// 更新用户sessionKey
-					bizUserService.modifyByModel(bizUser);
-				}
-			}
-			// 存放redis
-			String token = redisUserLoginUtils.saveUserInfo(bizUser);
-			LogUtil.info("用户token={}", token);
-			res.putInMap("token", token);
-			res.putInMap("userInfo", bizUser);
-			res.setStatus(AjaxResult.STATUS_SUCCESS);
-		} else {
-			res.setStatus(AjaxResult.STATUS_FAIL);
-			res.setInfo("自动登录失败");
-		}
-		return res;
-	}
+                } else {
+                    bizUser.setSessionKey(sessionKey);
+                    bizUser.setLastLoginTime(new Date());
+                    // 更新用户sessionKey
+                    bizUserService.modifyByModel(bizUser);
+                }
+            }
+            // 存放redis
+            String token = redisUserLoginUtils.saveUserInfo(bizUser);
+            LogUtil.info("用户token={}", token);
+            res.putInMap("token", token);
+            res.putInMap("userInfo", bizUser);
+            res.setStatus(AjaxResult.STATUS_SUCCESS);
+        } else {
+            res.setStatus(AjaxResult.STATUS_FAIL);
+            res.setInfo("自动登录失败");
+        }
+        return res;
+    }
 
-	/**
-	 * 查询用户信息
-	 */
-	@RequestMapping(value = "/findUserInfo")
-	public @ResponseBody
+    /**
+     * 查询用户信息
+     */
+    @RequestMapping(value = "/findUserInfo")
+    public @ResponseBody
     AjaxResult findUserInfo() {
-		BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
-		String openId = loginUser.getOpenId();
-		BizUser bizUser = bizUserService.findByOpenId(openId);
-		AjaxResult res = new AjaxResult();
-		res.putInMap("userInfo", bizUser);
-		res.setStatus(AjaxResult.STATUS_SUCCESS);
-		return res;
-	}
+        BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
+        String openId = loginUser.getOpenId();
+        BizUser bizUser = bizUserService.findByOpenId(openId);
+        AjaxResult res = new AjaxResult();
+        res.putInMap("userInfo", bizUser);
+        res.setStatus(AjaxResult.STATUS_SUCCESS);
+        return res;
+    }
+
+    /**
+     * 根据OpenID查询用户信息
+     */
+    @GetMapping(value = "/findUserInfo/{openId}")
+    public @ResponseBody
+    AjaxResult findUserInfo(@PathVariable String openId) {
+        BizUser bizUser = bizUserService.findByOpenId(openId);
+        BizUser bizUserQuery=new BizUser();
+        bizUserQuery.setNickName(bizUser.getNickName());
+        bizUserQuery.setAvatarUrl(bizUser.getAvatarUrl());
+        bizUserQuery.setOpenId(openId);
+        return AjaxResult.buildSuccessInstance(bizUserQuery);
+    }
 
 
-	/**
-	 * 接收用户信息
-	 */
-	@RequestMapping(value = "/saveUserInfo")
-	public @ResponseBody
+    /**
+     * 接收用户信息
+     */
+    @RequestMapping(value = "/saveUserInfo")
+    public @ResponseBody
     AjaxResult saveUserInfo(@RequestBody BizUser bizUser) {
 
-		BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
-		bizUser.setUserId(loginUser.getUserId());
-		// TODO 赋值操作
-		int i = bizUserService.saveUserInfo(bizUser);
+        BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
+        bizUser.setUserId(loginUser.getUserId());
+        // TODO 赋值操作
+        int i = bizUserService.saveUserInfo(bizUser);
 
-		if (i == 0) {
-			return new AjaxResult(AjaxResult.STATUS_FAIL, "更新失败");
-		}
-		return new AjaxResult(AjaxResult.STATUS_SUCCESS, Collections.singletonList(bizUser));
-	}
+        checkNeedToBeSalesman(bizUser, loginUser);
+        if (i == 0) {
+            return new AjaxResult(AjaxResult.STATUS_FAIL, "更新失败");
+        }
+        return new AjaxResult(AjaxResult.STATUS_SUCCESS, Collections.singletonList(bizUser));
+    }
 
+    void checkNeedToBeSalesman(BizUser bizUser, BizUser loginUser) {
+        //查询是否需要自动成为分销员
+        if ((loginUser.getIsSales() == null || loginUser.getIsSales() == 2)
+                && StringUtils.isNotBlank(bizUser.getNickName())) {//目前还不是分销员
+            BusParameterSettings fxSwith = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_SWITCH, HostInterceptor.getCompanyId());
+            if (fxSwith.getParamValue().equals("1")) {//开启分销
+                BusParameterSettings applyWay = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_WAY, loginUser.getCompanyId());
+                if (applyWay.getParamValue().equals(FenxiaoSettingConstant.FX_APPLY_WAY_AUTO)) {//自动成为分销员
+                    QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("user_id", loginUser.getOpenId());
+                    queryWrapper.eq("apply_status", ShopSalesmanApply.APPLY_STATUS_DSH);
+                    ShopSalesmanApply shopSalesmanApply = salesmanApplyDao.selectOne(queryWrapper);
+                    if (shopSalesmanApply == null) {//没有待审核记录
+                        try {
+                            shopSalesmanApplyService.applyToBeAnSalesman(loginUser.getOpenId(), null, null, 2);
+                        }catch (Exception e){
+                            LogUtil.debug(e.getMessage());
+                        }
 
+                    }
+                }
+            }
+        }
+    }
 
 
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/ScoreProductDto.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/ScoreProductDto.java
new file mode 100644
index 0000000..7cbc20e
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/ScoreProductDto.java
@@ -0,0 +1,18 @@
+package com.matrix.system.shopXcx.api.dto;
+
+import com.matrix.core.pojo.BasePageQueryDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ScoreProductDto", description = "积分产品查询参数接收类")
+public class ScoreProductDto extends BasePageQueryDto {
+
+    @ApiModelProperty(value = "产品分类", example = "1")
+    private Integer scoreCategoryId;
+
+
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/ShoppingCartService.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/ShoppingCartService.java
index 5180721..4cb582a 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/ShoppingCartService.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/ShoppingCartService.java
@@ -79,10 +79,10 @@
      * @return
      * @param shopId
      */
-    public List<ShopCartVo> findUserCartList(Long shopId) {
+    public List<ShopCartVo> findUserCartList(Long shopId,Integer cartType) {
         BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
         String userId = loginUser.getOpenId();
-        List<ShopShoppingCart> list = shoppingCartDao.selectByCartUserId(shopId,userId);
+        List<ShopShoppingCart> list = shoppingCartDao.selectByCartUserId(shopId,userId,cartType);
         List<ShopCartVo> cartList = buildShopCart(list);
         return cartList;
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java
index dce9db6..cc29acd 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java
@@ -134,7 +134,7 @@
         }
 
 
-        List<ShopCartVo> cartList = shoppingCartService.findUserCartList(addShopOrderPOJO.getShopId());
+        List<ShopCartVo> cartList = shoppingCartService.findUserCartList(addShopOrderPOJO.getShopId(),ShopShoppingCart.CAR_TYPE_MICRO);
         //购物车不能为空
         if (CollectionUtils.isEmpty(cartList)) {
             return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择您需要购买的产品");
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopRefundRecordServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopRefundRecordServiceImpl.java
index 6030d3e..7597ba7 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopRefundRecordServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopRefundRecordServiceImpl.java
@@ -1,16 +1,17 @@
 package com.matrix.system.shopXcx.api.service.impl;
 
-import com.matrix.component.wechat.externalInterface.common.WechatConfigure;
+import com.matrix.component.rabbitmq.RabiitMqTemplate;
+import com.matrix.component.tools.WxTempLateMsgUtil;
+import com.matrix.component.wechat.externalInterface.weixinUtil.WeixinServiceUtil;
 import com.matrix.core.exception.GlobleException;
 import com.matrix.core.tools.DateUtil;
 import com.matrix.core.tools.LogUtil;
 import com.matrix.system.common.constance.AppConstance;
-import com.matrix.component.wechat.externalInterface.weixinUtil.WeixinServiceUtil;
-import com.matrix.system.shopXcx.bean.*;
-import com.matrix.system.shopXcx.dao.*;
-import com.matrix.component.tools.WxTempLateMsgUtil;
 import com.matrix.system.shopXcx.api.service.WXShopOrderService;
 import com.matrix.system.shopXcx.api.service.WxShopRefundRecordService;
+import com.matrix.system.shopXcx.bean.*;
+import com.matrix.system.shopXcx.dao.*;
+import com.matrix.system.shopXcx.mqTask.MQTaskRouting;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -49,6 +50,13 @@
 
     @Value("${wx_pay_debug_onoff}")
     private boolean isDebug;
+    @Value("${evn}")
+    private  String evn;
+
+    @Autowired
+    private RabiitMqTemplate rabiitMqTemplate;
+
+
     @Override
     public Boolean refundToUser(String id, ShopRefundRecord shopRefundRecord) {
         LogUtil.debug("进入退款接口进行退款。。。", id);
@@ -134,6 +142,10 @@
                 modifyMap.put("orderStatus", ShopOrder.ORDER_STATUS_MONEYBACK_SUCCESS);
                 modifyMap.put("refundCharge", shopRefundRecord.getRefundMoney());
                 shopOrderDao.updateByMap(modifyMap);
+
+                rabiitMqTemplate.sendMsg(MQTaskRouting.SHOP_ORDER_REFUND+evn,shopOrder.getId()+"");
+
+
             }catch (Exception e){
                 LogUtil.debug("退款成功,修改退款表和订单表状态出错。。。", id);
                 e.printStackTrace();
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopProduct.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopProduct.java
index ca48c7e..5057ab4 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopProduct.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopProduct.java
@@ -2,6 +2,7 @@
 
 import com.matrix.core.anotations.Extend;
 import com.matrix.system.common.bean.EntityDTOExt;
+import lombok.Data;
 
 import java.util.List;
 
@@ -10,13 +11,27 @@
  * @author jyy
  * @date 2019-06-10 10:58
  */
+@Data
 public class ShopProduct extends EntityDTOExt {
 
 	/**
-	 * 产品类型-服务
+	 * 卖场-微商城
 	 */
-	public static  final int IS_SERVICE_Y=1;
-	public static  final int IS_SERVICE_N=2;
+	public static  final int MALL_MICRO =1;
+	/**
+	 * 卖场-积分商城
+	 */
+	public static  final int MALL_SCORE=2;
+	/**
+	 * 可分销
+	 */
+	public static  final int ABLE_SALES =1;
+	/**
+	 * 不可分销
+	 */
+	public static  final int NOT_ABLE_SALES=2;
+
+
 	
 	/**
 	 * 主键
@@ -28,7 +43,12 @@
 	 * 分类ID
 	 */
 	private Integer  categoryId;
-			
+
+	/**
+	 * 积分商城分类ID
+	 */
+	private Integer  scoreCategoryId;
+
 	
 	/**
 	 * 标题
@@ -58,10 +78,17 @@
 	 * 手机端封面
 	 */
 	private String  imgMobile;
-			
-	
 
-			
+	/**
+	 * 上架卖场 1 微商城,2 积分商城
+	 */
+	private Integer  mallType;
+
+
+	/**
+	 * 是否为分销产品 1是2不是
+	 */
+	private Integer  ableSales;
 	
 	/**
 	 * 原价
@@ -161,6 +188,7 @@
 	 */
 	@Extend
 	private String  paramRefs;
+
 	@Extend
 	private List<ShopProductParamRef> params;
 
@@ -246,366 +274,4 @@
 
 
 
-	public Long getCompanyId() {
-		return companyId;
-	}
-
-	public void setCompanyId(Long companyId) {
-		this.companyId = companyId;
-	}
-
-	public String getBrand() {
-		return brand;
-	}
-
-	public void setBrand(String brand) {
-		this.brand = brand;
-	}
-
-	public String getShopIds() {
-		return shopIds;
-	}
-
-	public void setShopIds(String shopIds) {
-		this.shopIds = shopIds;
-	}
-
-	public ShopCoupon getShopCoupon() {
-		return shopCoupon;
-	}
-
-	public void setShopCoupon(ShopCoupon shopCoupon) {
-		this.shopCoupon = shopCoupon;
-	}
-
-	public Integer getCouponId() {
-		return couponId;
-	}
-
-	public void setCouponId(Integer couponId) {
-		this.couponId = couponId;
-	}
-
-	public String getStockNum() {
-		return stockNum;
-	}
-
-	public void setStockNum(String stockNum) {
-		this.stockNum = stockNum;
-	}
-
-	public Integer getIsService() {
-		return isService;
-	}
-
-	public void setIsService(Integer isService) {
-		this.isService = isService;
-	}
-
-	public Integer getIsSpecialPrice() {
-		return isSpecialPrice;
-	}
-
-	public void setIsSpecialPrice(Integer isSpecialPrice) {
-		this.isSpecialPrice = isSpecialPrice;
-	}
-
-	public Double getMarkedPrice() {
-		return markedPrice;
-	}
-
-	public void setMarkedPrice(Double markedPrice) {
-		this.markedPrice = markedPrice;
-	}
-
-	public Integer getId() {
-		return id;
-	}
-   	
-   	public void setId(Integer id) {
-		this.id=id;
-	}
-   	
-
-	public Integer getCategoryId() {
-		return categoryId;
-	}
-   	
-   	public void setCategoryId(Integer categoryId) {
-		this.categoryId=categoryId;
-	}
-   	
-
-	public String getTitle() {
-		return title;
-	}
-   	
-   	public void setTitle(String title) {
-		this.title=title;
-	}
-   	
-
-	public String getBriefIntroduction() {
-		return briefIntroduction;
-	}
-   	
-   	public void setBriefIntroduction(String briefIntroduction) {
-		this.briefIntroduction=briefIntroduction;
-	}
-   	
-
-	public Integer getCarriage() {
-		return carriage;
-	}
-   	
-   	public void setCarriage(Integer carriage) {
-		this.carriage=carriage;
-	}
-   	
-
-	public String getImgPc() {
-		return imgPc;
-	}
-   	
-   	public void setImgPc(String imgPc) {
-		this.imgPc=imgPc;
-	}
-   	
-
-	public String getImgMobile() {
-		return imgMobile;
-	}
-   	
-   	public void setImgMobile(String imgMobile) {
-		this.imgMobile=imgMobile;
-	}
-   	
-
-
-	public Double getPrice() {
-		return price;
-	}
-
-   	public void setPrice(Double price) {
-		this.price=price;
-	}
-
-
-	public String getPcDetails() {
-		return pcDetails;
-	}
-   	
-   	public void setPcDetails(String pcDetails) {
-		this.pcDetails=pcDetails;
-	}
-   	
-
-	public String getMobileDetails() {
-		return mobileDetails;
-	}
-   	
-   	public void setMobileDetails(String mobileDetails) {
-		this.mobileDetails=mobileDetails;
-	}
-   	
-
-	public Integer getBuyLimit() {
-		return buyLimit;
-	}
-   	
-   	public void setBuyLimit(Integer buyLimit) {
-		this.buyLimit=buyLimit;
-	}
-   	
-
-	public Integer getLimitCycle() {
-		return limitCycle;
-	}
-   	
-   	public void setLimitCycle(Integer limitCycle) {
-		this.limitCycle=limitCycle;
-	}
-   	
-
-	public Integer getIsCanComment() {
-		return isCanComment;
-	}
-   	
-   	public void setIsCanComment(Integer isCanComment) {
-		this.isCanComment=isCanComment;
-	}
-   	
-
-	public String getMnemonicCode() {
-		return mnemonicCode;
-	}
-   	
-   	public void setMnemonicCode(String mnemonicCode) {
-		this.mnemonicCode=mnemonicCode;
-	}
-   	
-
-	public Integer getStatus() {
-		return status;
-	}
-   	
-   	public void setStatus(Integer status) {
-		this.status=status;
-	}
-   	
-
-	public Integer getDsVolume() {
-		return dsVolume;
-	}
-   	
-   	public void setDsVolume(Integer dsVolume) {
-		this.dsVolume=dsVolume;
-	}
-   	
-
-	public Integer getRsVolume() {
-		return rsVolume;
-	}
-   	
-   	public void setRsVolume(Integer rsVolume) {
-		this.rsVolume=rsVolume;
-	}
-   	
-
-	public Integer getDelFlag() {
-		return delFlag;
-	}
-   	
-   	public void setDelFlag(Integer delFlag) {
-		this.delFlag=delFlag;
-	}
-
-
-	public String getParamRefs() {
-		return paramRefs;
-	}
-
-	public void setParamRefs(String paramRefs) {
-		this.paramRefs = paramRefs;
-	}
-
-	public String getAttrs() {
-		return attrs;
-	}
-
-	public void setAttrs(String attrs) {
-		this.attrs = attrs;
-	}
-
-	public String getShopSku() {
-		return shopSku;
-	}
-
-	public void setShopSku(String shopSku) {
-		this.shopSku = shopSku;
-	}
-
-	public String getShopProductImg() {
-		return shopProductImg;
-	}
-
-	public void setShopProductImg(String shopProductImg) {
-		this.shopProductImg = shopProductImg;
-	}
-
-	public List<ShopProductParamRef> getParams() {
-		return params;
-	}
-
-	public void setParams(List<ShopProductParamRef> params) {
-		this.params = params;
-	}
-
-	public List<ShopProductAttrRef> getAttrRefs() {
-		return attrRefs;
-	}
-
-	public void setAttrRefs(List<ShopProductAttrRef> attrRefs) {
-		this.attrRefs = attrRefs;
-	}
-
-	public List<ShopSku> getSkus() {
-		return skus;
-	}
-
-	public void setSkus(List<ShopSku> skus) {
-		this.skus = skus;
-	}
-
-	public List<ShopProductImg> getProductImgs() {
-		return productImgs;
-	}
-
-	public void setProductImgs(List<ShopProductImg> productImgs) {
-		this.productImgs = productImgs;
-	}
-
-	public Integer getStartPrice() {
-		return startPrice;
-	}
-
-	public void setStartPrice(Integer startPrice) {
-		this.startPrice = startPrice;
-	}
-
-	public Integer getEndPrice() {
-		return endPrice;
-	}
-
-	public void setEndPrice(Integer endPrice) {
-		this.endPrice = endPrice;
-	}
-
-	public String getSortType() {
-		return sortType;
-	}
-
-	public void setSortType(String sortType) {
-		this.sortType = sortType;
-	}
-
-	public String getQueryType() {
-		return queryType;
-	}
-
-	public void setQueryType(String queryType) {
-		this.queryType = queryType;
-	}
-
-	public String getAttrValues() {
-		return attrValues;
-	}
-
-	public void setAttrValues(String attrValues) {
-		this.attrValues = attrValues;
-	}
-
-	public String getAtrid() {
-		return atrid;
-	}
-
-	public void setAtrid(String atrid) {
-		this.atrid = atrid;
-	}
-
-	public String getScore() {
-		return score;
-	}
-
-	public Integer getServiceTime() {
-		return serviceTime;
-	}
-
-	public void setServiceTime(Integer serviceTime) {
-		this.serviceTime = serviceTime;
-	}
-
-	public void setScore(String score) {
-		this.score = score;
-	}
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopShoppingCart.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopShoppingCart.java
index 7259104..f8c275e 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopShoppingCart.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopShoppingCart.java
@@ -14,7 +14,16 @@
  */
 public class ShopShoppingCart  extends EntityDTOExt {
 	@Extend
-	private static final long serialVersionUID = 1L; 
+	private static final long serialVersionUID = 1L;
+	/**
+	 *购物车类型-微商城
+	 */
+	public static  final int CAR_TYPE_MICRO =1;
+	/**
+	 *购物车类型-积分商城
+	 */
+	public static  final int CAR_TYPE_SCORE=2;
+
 
 	
 	/**
@@ -50,6 +59,12 @@
 	 * 用户是否选中 1选中  2未选中
 	 */
 	private Integer isSelected;
+	/**
+	 * 购物车类型 1微商城  2积分商城
+	 */
+	private Integer cartType;
+
+
 
 	/**
 	 * 门店id
@@ -324,6 +339,12 @@
 	public List<ShopCoupon> getShopCoupons() {
 		return shopCoupons;
 	}
-	
-	
+
+	public Integer getCartType() {
+		return cartType;
+	}
+
+	public void setCartType(Integer cartType) {
+		this.cartType = cartType;
+	}
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopSku.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopSku.java
index 4e53f55..5d5b051 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopSku.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopSku.java
@@ -12,7 +12,7 @@
  */
 public class ShopSku  extends EntityDTO{
 	@Extend
-	private static final long serialVersionUID = 1L; 
+	private static final long serialVersionUID = 1L;
 
 	
 	/**
@@ -59,9 +59,16 @@
 	private BigDecimal invitationPrice;
 
 	/**
-	 * 积分
+	 * 消费可得积分
 	 */
 	private Integer score;
+
+	/**
+	 * 积分兑换价格
+	 */
+	private Integer scorePrice;
+
+
 
 	/**
 	 * 排序
@@ -249,6 +256,14 @@
 		this.goodsName = goodsName;
 	}
 
+	public Integer getScorePrice() {
+		return scorePrice;
+	}
+
+	public void setScorePrice(Integer scorePrice) {
+		this.scorePrice = scorePrice;
+	}
+
 	@Override
 	public boolean equals(Object obj) {
 		//这里以name为判定标准。
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderV2Dao.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderV2Dao.java
index b68d63a..bf44438 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderV2Dao.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderV2Dao.java
@@ -2,7 +2,10 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.matrix.system.shopXcx.bean.ShopOrder;
+import com.matrix.system.shopXcx.bean.ShopProduct;
 import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @description 订单表
@@ -16,4 +19,5 @@
 
 	/** 统计是否消费过了指定产品 */
 	int countBuyZdcp(@Param("openId") String openId, @Param("productIds")String productIds);
+
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopShoppingCartDao.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopShoppingCartDao.java
index bc4a432..e0824de 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopShoppingCartDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopShoppingCartDao.java
@@ -36,15 +36,15 @@
 	
 	public ShopShoppingCart  selectById(Integer cartId);
 
-	public List<ShopShoppingCart> selectByCartUserId(@Param("shopId")Long shopId, @Param("cartUserId") String cartUserId);
+	public List<ShopShoppingCart> selectByCartUserId(@Param("shopId")Long shopId, @Param("cartUserId") String cartUserId,@Param("cartType") Integer cartType);
 	
 	public ShopShoppingCart  selectForUpdate(Integer cartId);
 
 	public ShopShoppingCart selectBuyLimit(@Param("cartProductId") Integer cartProductId,@Param("cartSkuId") Integer cartSkuId);
 
-	public Integer selectUserCartCount(@Param("shopId")Long shopId, @Param("openId")String openId);
+	public Integer selectUserCartCount(@Param("shopId")Long shopId, @Param("openId")String openId,@Param("cartType") Integer cartType);
 
-	public int updateAllSelected(@Param("openId") String openId,@Param("shopId") Long shopId, @Param("isSelected") Integer isSelected);
+	public int updateAllSelected(@Param("openId") String openId, @Param("shopId") Long shopId,  @Param("isSelected") Integer isSelected,@Param("cartType") Integer cartType);
 
 	/**
 	 * 删除用户选中的购物车明细
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/MQTaskRouting.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/MQTaskRouting.java
index c80101b..2b548ed 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/MQTaskRouting.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/MQTaskRouting.java
@@ -18,6 +18,10 @@
      * 发送小程序统一模板消息
      */
     String SEND_UNIFORM_TEMPLATE_MSG = "SEND_UNIFORM_TEMPLATE_MSG";
+    /**
+     * 订单退款
+     */
+    String SHOP_ORDER_REFUND = "SHOP_ORDER_REFUND";
 
     /**
      * 订单出库
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderRefundTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderRefundTask.java
new file mode 100644
index 0000000..2b56f6b
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderRefundTask.java
@@ -0,0 +1,43 @@
+package com.matrix.system.shopXcx.mqTask;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.matrix.core.tools.LogUtil;
+import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao;
+import com.matrix.system.fenxiao.entity.ShopSalesmanOrder;
+import com.rabbitmq.client.DeliverCallback;
+import com.rabbitmq.client.Delivery;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+
+/**
+ * 分销订单退款
+ */
+@Component
+public class SalesOrderRefundTask implements DeliverCallback {
+
+
+    @Autowired
+    private ShopSalesmanOrderDao shopSalesmanOrderDao;
+
+
+
+    @Override
+    public void handle(String consumerTag, Delivery message) throws IOException {
+
+        String orderId = new String(message.getBody(), "UTF-8");
+        LogUtil.debug("收到分销订单退款任务orderId={}", orderId);
+        QueryWrapper queryWrapper=new QueryWrapper();
+        queryWrapper.eq("order_id",orderId);
+        ShopSalesmanOrder shopSalesmanOrder = shopSalesmanOrderDao.selectOne(queryWrapper);
+        if(shopSalesmanOrder!=null){
+            shopSalesmanOrder.setOrderStatus(ShopSalesmanOrder.STATUS_YTK);
+            shopSalesmanOrderDao.updateById(shopSalesmanOrder);
+        }else{
+            LogUtil.debug("改订单为生成分销订单={}", orderId);
+        }
+    }
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderTask.java
index ea4bcd3..86c6c9a 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderTask.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderTask.java
@@ -1,13 +1,13 @@
 package com.matrix.system.shopXcx.mqTask;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.matrix.biz.bean.BizUser;
 import com.matrix.biz.service.BizUserService;
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.tools.LogUtil;
 import com.matrix.core.tools.StringUtils;
 import com.matrix.system.common.dao.BusParameterSettingsDao;
-import com.matrix.system.fenxiao.dao.ShopRevenueFlowDao;
 import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao;
 import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao;
 import com.matrix.system.fenxiao.entity.ShopSalesmanGrade;
@@ -35,7 +35,7 @@
 import java.util.List;
 
 /**
- * 微商城订单同步到erp系统
+ * 分销订单创建
  */
 @Component
 public class SalesOrderTask implements DeliverCallback {
@@ -109,78 +109,83 @@
     void handleExtensionOrder(ShopOrder order) {
         //判读客户是否存在上级,存在则产生上级的收益
         BizUser bizUser = bizUserService.findByOpenId(order.getUserId());
-        if(StringUtils.isNotBlank(bizUser.getParentOpenId())){
+        if(StringUtils.isNotBlank(bizUser.getParentOpenId())){//存在上级
+
             LogUtil.debug("处理分销订单userOpid={}",bizUser.getOpenId());
-            //存在上级
-            ShopSalesmanOrder salesmanOrder=new ShopSalesmanOrder();
-            salesmanOrder.setCompanyId(order.getCompanyId());
-            salesmanOrder.setCreateBy(MatrixConstance.SYSTEM_USER);
-            salesmanOrder.setUpdateBy(MatrixConstance.SYSTEM_USER);
-            salesmanOrder.setCreateTime(new Date());
-            salesmanOrder.setUpdateTime(new Date());
-            salesmanOrder.setOrderId(Long.parseLong(order.getId()+""));
-            salesmanOrder.setUserId(order.getUserId());
-            salesmanOrder.setSalesUserId(bizUser.getParentOpenId());
-            salesmanOrder.setRevenueType(ShopSalesmanOrder.REVENUE_TYPE_SALES);
-            salesmanOrder.setOrderStatus(ShopSalesmanOrder.STATUS_DJS);
-            Double salesAmount=0D;
-            Double invitationAmount=0D;
-            Double orderTotal=0D;
-            Double zk=1D;
+            //判断是否重复生成
+            QueryWrapper queryWrapper=new QueryWrapper();
+            queryWrapper.eq("order_id",order.getId());
+            Integer orderCount = shopSalesmanOrderDao.selectCount(queryWrapper);
+            if(orderCount==0){
+                ShopSalesmanOrder salesmanOrder=new ShopSalesmanOrder();
+                salesmanOrder.setCompanyId(order.getCompanyId());
+                salesmanOrder.setCreateBy(MatrixConstance.SYSTEM_USER);
+                salesmanOrder.setUpdateBy(MatrixConstance.SYSTEM_USER);
+                salesmanOrder.setCreateTime(new Date());
+                salesmanOrder.setUpdateTime(new Date());
+                salesmanOrder.setOrderId(Long.parseLong(order.getId()+""));
+                salesmanOrder.setUserId(order.getUserId());
+                salesmanOrder.setSalesUserId(bizUser.getParentOpenId());
+                salesmanOrder.setRevenueType(ShopSalesmanOrder.REVENUE_TYPE_SALES);
+                salesmanOrder.setOrderStatus(ShopSalesmanOrder.STATUS_DJS);
+                Double salesAmount=0D;
+                Double invitationAmount=0D;
+                Double orderTotal=0D;
+                Double zk=1D;
 
-            BizUser salesMan=bizUserService.findByOpenId(bizUser.getParentOpenId());
-            BizUser invitationMan=null;
-            ShopSalesmanOrder invitationOrder=null;
-            boolean hasInvitationMan=StringUtils.isNotBlank(salesMan.getParentOpenId());
+                BizUser salesMan=bizUserService.findByOpenId(bizUser.getParentOpenId());
+                BizUser invitationMan=null;
+                ShopSalesmanOrder invitationOrder=null;
+                boolean hasInvitationMan=StringUtils.isNotBlank(salesMan.getParentOpenId());
 
-            //判断推广员是否还存在上级,存在则计算邀请收益
-            if(hasInvitationMan){
-                invitationMan=bizUserService.findByOpenId(salesMan.getParentOpenId());
-                 invitationOrder=new ShopSalesmanOrder();
-                BeanUtils.copyProperties(salesmanOrder,invitationOrder);
-                invitationOrder.setSalesUserId(invitationMan.getOpenId());
-                invitationOrder.setRevenueType(ShopSalesmanOrder.REVENUE_TYPE_INVITATION);
-            }
-
-            //收益计算
-            for (ShopOrderDetails item:order.getDetails() ){
-                if(StringUtils.isNotBlank(item.getShopProduct().getAttrValues())
-                && item.getShopProduct().getAttrValues().contains("分销商城")){
-                    if(item.getShopSku().getSealesPrice()==null
-                    ||item.getShopSku().getSealesPrice().doubleValue()==0){
-                        //按分销等级计算
-                        ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectById(salesMan.getSalesmanGrade());
-                        salesAmount+=item.getTotalPrice().doubleValue()*(shopSalesmanGrade.getSealesCommission()/100);
-
-                        if(hasInvitationMan){
-                            ShopSalesmanGrade invitationManGrade = shopSalesmanGradeDao.selectById(invitationMan.getSalesmanGrade());
-                            invitationAmount+=item.getTotalPrice().doubleValue()*(invitationManGrade.getInvitationCommission()/100);
-                        }
-
-                    }else{
-                        //按产品设置的推广金额计算
-                        salesAmount+=item.getShopSku().getSealesPrice().doubleValue()*item.getCount();
-                        if(hasInvitationMan){
-                            invitationAmount+=item.getShopSku().getInvitationPrice().doubleValue()*item.getCount();
-                        }
-                    }
-                    orderTotal+=item.getTotalPrice().doubleValue();
-                }
-            }
-            if(salesAmount>0){
-                //整体的优惠金额折算成折扣,* 佣金
-                zk=order.getOrderMoney().doubleValue()/orderTotal;
-                salesAmount=salesAmount*zk;
-                salesmanOrder.setAmount(salesAmount);
-                shopSalesmanOrderDao.insert(salesmanOrder);
-
+                //判断推广员是否还存在上级,存在则计算邀请收益
                 if(hasInvitationMan){
-                    invitationAmount=invitationAmount*zk;
-                    invitationOrder.setAmount(invitationAmount);
-                    shopSalesmanOrderDao.insert(invitationOrder);
-
-
+                    invitationMan=bizUserService.findByOpenId(salesMan.getParentOpenId());
+                    invitationOrder=new ShopSalesmanOrder();
+                    BeanUtils.copyProperties(salesmanOrder,invitationOrder);
+                    invitationOrder.setSalesUserId(invitationMan.getOpenId());
+                    invitationOrder.setRevenueType(ShopSalesmanOrder.REVENUE_TYPE_INVITATION);
                 }
+
+                //收益计算
+                for (ShopOrderDetails item:order.getDetails() ){
+                    if(StringUtils.isNotBlank(item.getShopProduct().getAttrValues())
+                            && item.getShopProduct().getAttrValues().contains("分销商城")){
+                        if(item.getShopSku().getSealesPrice()==null
+                                ||item.getShopSku().getSealesPrice().doubleValue()==0){
+                            //按分销等级计算
+                            ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectById(salesMan.getSalesmanGrade());
+                            salesAmount+=item.getTotalPrice().doubleValue()*(shopSalesmanGrade.getSealesCommission()/100);
+
+                            if(hasInvitationMan){
+                                ShopSalesmanGrade invitationManGrade = shopSalesmanGradeDao.selectById(invitationMan.getSalesmanGrade());
+                                invitationAmount+=item.getTotalPrice().doubleValue()*(invitationManGrade.getInvitationCommission()/100);
+                            }
+
+                        }else{
+                            //按产品设置的推广金额计算
+                            salesAmount+=item.getShopSku().getSealesPrice().doubleValue()*item.getCount();
+                            if(hasInvitationMan){
+                                invitationAmount+=item.getShopSku().getInvitationPrice().doubleValue()*item.getCount();
+                            }
+                        }
+                        orderTotal+=item.getTotalPrice().doubleValue();
+                    }
+                }
+                if(salesAmount>0){
+                    //整体的优惠金额折算成折扣,* 佣金
+                    zk=order.getOrderMoney().doubleValue()/orderTotal;
+                    salesAmount=salesAmount*zk;
+                    salesmanOrder.setAmount(salesAmount);
+                    shopSalesmanOrderDao.insert(salesmanOrder);
+                    if(hasInvitationMan){
+                        invitationAmount=invitationAmount*zk;
+                        invitationOrder.setAmount(invitationAmount);
+                        shopSalesmanOrderDao.insert(invitationOrder);
+                    }
+                }
+            }else{
+                LogUtil.debug("重复订单id={}",order.getId());
             }
         }else{
             LogUtil.debug("不存在父级userOpid={}",bizUser.getOpenId());
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanApplyCondition.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanApplyCondition.java
new file mode 100644
index 0000000..6444d14
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanApplyCondition.java
@@ -0,0 +1,35 @@
+package com.matrix.system.shopXcx.vo;
+
+import com.matrix.system.shopXcx.bean.ShopProduct;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel(value = "SalesmanApplyCondition", description = " 销售员申请条件")
+public class SalesmanApplyCondition {
+
+    @ApiModelProperty(value = "是否满足申请条件")
+    private Boolean isAbleApply;
+
+
+
+    @ApiModelProperty(value = "申请条件")
+    private String condition;
+
+    @ApiModelProperty(value = "条件验证结果")
+    private String msg;
+
+
+    @ApiModelProperty(value = "产品信息")
+    private List<ShopProduct> productList;
+
+
+    @ApiModelProperty(value = "最底消费金额")
+    private Double minAmount ;
+
+
+
+}
diff --git "a/zq-erp/src/main/resources/config/db/increment/\346\216\250\345\271\277\345\221\230.sql" "b/zq-erp/src/main/resources/config/db/increment/\346\216\250\345\271\277\345\221\230.sql"
index fc225f3..59a86bc 100644
--- "a/zq-erp/src/main/resources/config/db/increment/\346\216\250\345\271\277\345\221\230.sql"
+++ "b/zq-erp/src/main/resources/config/db/increment/\346\216\250\345\271\277\345\221\230.sql"
@@ -180,3 +180,23 @@
 PRIMARY KEY(id)
 )ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='分销订单';
 
+biz_user原来的userId改成了自增长的bigint
+
+
+ALTER TABLE `shop_sku`
+    ADD COLUMN `score_price` decimal(10, 2) NULL COMMENT '积分兑换价格' AFTER `invitation_price`;
+
+ALTER TABLE `shop_product`
+    ADD COLUMN `score_category_id` bigint(20) NULL COMMENT '积分商城分类ID' AFTER `company_id`,
+ADD COLUMN `able_sales` int(2) NULL COMMENT '是否为分销产品' AFTER `score_category_id`,
+ADD COLUMN `mall_type` int(2) NULL COMMENT '上架卖场' AFTER `able_sales`;
+
+update shop_product set mall_type=1;
+update shop_product set able_sales=2;
+
+ALTER TABLE `shop_shopping_cart`
+    ADD COLUMN `cart_type` int(2) NOT NULL COMMENT '购物车类型 1微商城  2积分商城' AFTER `company_id`;
+
+
+update shop_shopping_cart set cart_type=1;
+
diff --git a/zq-erp/src/main/resources/config/system.properties b/zq-erp/src/main/resources/config/system.properties
index ef96e05..7cf26d8 100644
--- a/zq-erp/src/main/resources/config/system.properties
+++ b/zq-erp/src/main/resources/config/system.properties
@@ -100,9 +100,9 @@
 
 #是否启用异常上报
 is_open_exception_report=false
-showExcptionUrl=http://erp.hive.jyymatrix.cc/showException
+showExcptionUrl=http://test.hive.jyymatrix.cc/showException
 
 
 #异常信息查询接口
-showExcptionUrl=http://erp.hive.jyymatrix.cc/showException
+showExcptionUrl=http://test.hive.jyymatrix.cc/showException
 
diff --git a/zq-erp/src/main/resources/config/test/system.properties b/zq-erp/src/main/resources/config/test/system.properties
index 8731cd3..2a201f8 100644
--- a/zq-erp/src/main/resources/config/test/system.properties
+++ b/zq-erp/src/main/resources/config/test/system.properties
@@ -93,9 +93,9 @@
 
 #是否启用异常上报
 is_open_exception_report=true
-showExcptionUrl=http://erp.hive.jyymatrix.cc/showException
+showExcptionUrl=http://test.hive.jyymatrix.cc/showException
 
 
 #异常信息查询接口
-showExcptionUrl=http://erp.hive.jyymatrix.cc/showException
+showExcptionUrl=http://test.hive.jyymatrix.cc/showException
 
diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopRevenueFlowDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopRevenueFlowDao.xml
index de6eae0..4e5490d 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopRevenueFlowDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopRevenueFlowDao.xml
@@ -33,7 +33,7 @@
 	</resultMap>
 
 
-    <select id="selectRevenuFlowList" resultType="com.matrix.system.shopXcx.vo.SalesOrderVo">
+    <select id="selectRevenuFlowList" resultType="com.matrix.system.fenxiao.entity.ShopRevenueFlow">
 		select * from shop_revenue_flow
 		where user_id=#{record.userId}
 		  and DATE_FORMAT(create_time,'%Y-%m')=#{record.queryTime}
diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
index 173aff5..9e7fba3 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
@@ -66,8 +66,11 @@
 		b.nick_name nickname,
 		(SELECT s.nick_name FROM biz_user s
 		WHERE s.open_id = a.parent_user_id ) parentUser,
+		c.nick_name parentUserNow,
 		( SELECT COUNT(*) FROM biz_user
 		WHERE parent_open_id = a.user_id AND is_sales != 1 ) lowerLevelNum,
+		( SELECT COUNT(*) FROM biz_user
+		WHERE parent_open_id = a.user_id AND is_sales = 1 ) invitedNum,
 		( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
 		WHERE user_id = a.user_id AND order_status = 2 AND sales_user_id = a.user_id ) totalRevenue,
 		( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
@@ -80,6 +83,7 @@
 		shop_salesman_apply a
 		LEFT JOIN biz_user b ON a.user_id = b.open_id
 		LEFT JOIN shop_salesman_grade g ON a.grade_id = g.id
+		LEFT JOIN biz_user c ON c.open_id = b.parent_open_id
 		<where>
 		 	a.company_id=#{record.companyId}
 			<if test="record.shenheState != null and record.shenheState != ''">
@@ -180,8 +184,8 @@
 
 	) AS djsRevenue,
 
-	( SELECT count( * ) FROM shop_salesman_order c WHERE c.user_id = a.open_id AND c.sales_user_id = #{openId} and revenue_type =1 ) AS salesorderCount,
-	( SELECT count( * ) FROM shop_salesman_order c WHERE c.user_id = a.open_id AND c.sales_user_id = #{openId} and revenue_type =2 ) AS invitationOrderCount,
+	( SELECT count( * ) FROM shop_salesman_order c WHERE  c.sales_user_id = #{openId} and revenue_type =1 ) AS salesorderCount,
+	( SELECT count( * ) FROM shop_salesman_order c WHERE  c.sales_user_id = #{openId} and revenue_type =2 ) AS invitationOrderCount,
 	(select count(*) from biz_user where parent_open_id=#{openId} and is_sales=1) as invitationCount,
 	(select count(*) from biz_user where parent_open_id=#{openId} and is_sales=2) as customerCount
 	from biz_user a where
@@ -203,9 +207,9 @@
 		( SELECT COUNT(*) FROM biz_user
 		WHERE parent_open_id = a.user_id AND is_sales = 1 ) invitedNum,
 		( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
-		WHERE user_id = a.user_id AND order_status = 2 AND sales_user_id = a.user_id ) totalRevenue,
+		WHERE order_status = 2 AND sales_user_id = a.user_id ) totalRevenue,
 		( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
-		WHERE user_id = a.user_id AND order_status = 1 AND sales_user_id = a.user_id ) balance,
+		WHERE order_status = 1 AND sales_user_id = a.user_id ) balance,
 		a.create_time createTime,
 		a.apply_status applyStatus,
 		a.apply_way applyWay
@@ -218,39 +222,35 @@
 
 	<select id="findCustomDetail" resultType="com.matrix.system.fenxiao.vo.ShopCustomDetailVo">
 		SELECT
-		a.user_id userId,
+		b.open_id userId,
 		b.avatar_url avatarUrl,
 		b.nick_name nickname,
 		b.binding_parent_time createTime,
-		a.apply_way applyWay,
-		(select COUNT(*) from shop_salesman_order c where c.order_status = 1 and c.sales_user_id = a.user_id) doneNum
-		FROM
-		shop_salesman_apply a
-		LEFT JOIN biz_user b ON b.parent_open_id = a.user_id
+		(select COUNT(*) from shop_salesman_order c where c.order_status = 1 and c.sales_user_id = b.open_id) doneNum
+		FROM biz_user b
 		<where>
-			a.company_id = #{record.companyId}
+			b.company_id = #{record.companyId}
 			AND b.is_sales != 1
 			and b.parent_open_id = #{record.userId}
-			and a.apply_status = 2
 			<if test="record.userName != null and record.userName != ''">
 				and b.nick_name like concat('%',#{record.userName},'%')
 			</if>
 		</where>
 		<if test="record.sort !=null">
 			order by
-			a.${record.sort} ${record.order}
+			b.${record.sort} ${record.order}
 		</if>
 	</select>
 	<select id="findCustomLow" resultType="com.matrix.system.fenxiao.vo.ShopCustomDetailVo">
 		SELECT
-		a.user_id userId,
+		b.open_id userId,
 		b.avatar_url avatarUrl,
 		b.nick_name nickname,
-		b.binding_parent_time createTime,
+		a.create_time createTime,
 		a.apply_way applyWay
 		FROM
 		shop_salesman_apply a
-		LEFT JOIN biz_user b ON b.parent_open_id = a.user_id
+		LEFT JOIN biz_user b ON b.open_id = a.user_id
 		<where>
 			a.company_id = #{record.companyId}
 			AND b.is_sales = 1
@@ -277,10 +277,12 @@
 		b.avatar_url avatarUrl,
 		c.order_no orderNo,
 		c.order_money orderMoney,
-		(select s.store_name  from shop_store s where s.store_id = c.store_id) storeName
+		c.order_status orderState,
+		f.shop_name storeName
 		from shop_salesman_order a
 		left join biz_user b on b.open_id=a.user_id
 		left join shop_order c on a.order_id=c.id
+		LEFT JOIN sys_shop_info f on f.id = c.store_id
 		<where>
 			a.sales_user_id = #{record.userId}
 			<if test="record.orderType != null and record.orderType != ''">
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderV2Dao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderV2Dao.xml
index 04cba28..dc2fe96 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderV2Dao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderV2Dao.xml
@@ -21,4 +21,5 @@
 	</select>
 
 
+
 </mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml
index 2c2cf8c..405abca 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml
@@ -42,6 +42,10 @@
         <result property="couponId" column="couponId"></result>
         <result property="serviceTime" column="service_time"></result>
         <result property="companyId" column="company_id"/>
+        <result property="mallType" column="mall_type"/>
+        <result property="ableSales" column="able_sales"/>
+        <result property="scoreCategoryId" column="score_category_id"/>
+
         <association property="shopCoupon" select="com.matrix.system.shopXcx.dao.ShopCouponDao.selectById"
                      column="{id=couponId}"></association>
     </resultMap>
@@ -80,6 +84,9 @@
         <result property="couponId" column="couponId"></result>
         <result property="serviceTime" column="service_time"></result>
         <result property="companyId" column="company_id"/>
+        <result property="mallType" column="mall_type"/>
+        <result property="ableSales" column="able_sales"/>
+        <result property="scoreCategoryId" column="score_category_id"/>
     </resultMap>
 
     <sql id="columns">
@@ -113,7 +120,11 @@
 			is_service,
 			service_time,
 			shop_ids,
-			company_id
+			company_id,
+        mall_type,
+        able_sales,
+        score_category_id
+
 	</sql>
 
     <!-- 属性sql -->
@@ -148,7 +159,11 @@
 			#{item.isService},
 			#{item.serviceTime},
 			#{item.shopIds},
-			#{item.companyId}
+			#{item.companyId},
+			#{item.mallType},
+			#{item.ableSales},
+			#{item.scoreCategoryId}
+
 	</sql>
     <!-- where sql -->
     <sql id="where_sql">
@@ -237,6 +252,15 @@
                 and a.company_id = #{record.companyId}
             </if>
 
+            <if test="record.mallType != null and record.mallType !='' ">
+                and a.mall_type = #{record.mallType}
+            </if>
+            <if test="record.ableSales != null and record.ableSales !='' ">
+                and a.able_sales = #{record.ableSales}
+            </if>
+            <if test="record.scoreCategoryId != null and record.scoreCategoryId ">
+                and a.score_category_id = #{record.scoreCategoryId}
+            </if>
 
         </if>
 
@@ -311,6 +335,17 @@
 
                 and b.attr_full_path like concat('%/',#{record.attrs},'/%')
             </if>
+
+            <if test="record.mallType != null and record.mallType !='' ">
+                and a.mall_type = #{record.mallType}
+            </if>
+            <if test="record.ableSales != null and record.ableSales !='' ">
+                and a.able_sales = #{record.ableSales}
+            </if>
+            <if test="record.scoreCategoryId != null and record.scoreCategoryId ">
+                and a.score_category_id = #{record.scoreCategoryId}
+            </if>
+
 
         </if>
 
@@ -418,6 +453,16 @@
             <if test="_parameter.containsKey('companyId')">
                 company_id = #{companyId},
             </if>
+            <if test="_parameter.containsKey('scoreCategoryId')">
+                score_category_id = #{scoreCategoryId},
+            </if>
+            <if test="_parameter.containsKey('ableSales')">
+                able_sales = #{ableSales},
+            </if>
+            <if test="_parameter.containsKey('mallType')">
+                mall_type = #{mallType},
+            </if>
+
 
         </set>
         WHERE id=#{id}
@@ -500,6 +545,15 @@
                 shop_ids = #{record.shopIds},
             </if>
 
+            <if test="record.mallType != null and record.mallType !='' ">
+                mall_type = #{record.mallType},
+            </if>
+            <if test="record.ableSales != null and record.ableSales !='' ">
+                able_sales = #{record.ableSales},
+            </if>
+            <if test="record.scoreCategoryId != null and record.scoreCategoryId ">
+               score_category_id = #{record.scoreCategoryId},
+            </if>
 
         </set>
         WHERE id=#{record.id}
@@ -588,6 +642,9 @@
 		a.marked_price,
 		b.attr_full_path,
 		a.couponId,
+		a.mall_type,
+		a.able_sales,
+		a.score_category_id,
 		(SELECT ROUND(SUM(ss.stock),2) from shop_sku  ss where ss.p_id = a.id) as stockNum,
 		GROUP_CONCAT(DISTINCT(s.atrid) order by a.id SEPARATOR ',') atrid
 		from shop_product a left join shop_product_attr_ref b on a.id = b.p_id
@@ -628,6 +685,9 @@
 		a.marked_price,
 		a.service_time,
 		a.couponId,
+        a.mall_type,
+        a.able_sales,
+        a.score_category_id,
 		(SELECT ROUND(SUM(ss.stock),2) from shop_sku  ss where ss.p_id = a.id) as stockNum
 		from shop_product a
 		where  a.id in (${productIds}) and shop_ids=#{shopId}
@@ -665,6 +725,9 @@
         a.marked_price,
         b.attr_full_path,
         a.couponId,
+        a.mall_type,
+        a.able_sales,
+        a.score_category_id,
         a.service_time,
         (SELECT ROUND(SUM(ss.stock),2) from shop_sku ss where ss.p_id = a.id) as stockNum,
         GROUP_CONCAT(DISTINCT(s.atrid) order by a.id SEPARATOR ',') atrid
@@ -730,6 +793,9 @@
         b.attr_full_path,
         a.service_time,
         a.couponId,
+        a.mall_type,
+        a.able_sales,
+        a.score_category_id,
         (SELECT ROUND(SUM(s.stock),2) from shop_sku s where s.p_id = a.id) as stockNum,
         (SELECT COUNT(p.com_id) from shop_product_comment p where p.product_id=a.id and p.del_flag=2 and p.com_audit_status=1 and p.com_score=5) as comment
         from shop_product a
@@ -771,6 +837,18 @@
             <if test="(record.shopIds!=null and record.shopIds!='') or  (record.shopIds!='' and record.shopIds==0)  ">
                 and find_in_set(#{record.shopIds}, a.shop_ids)
             </if>
+
+            <if test="record.mallType != null and record.mallType !='' ">
+                and a.mall_type = #{record.mallType}
+            </if>
+            <if test="record.ableSales != null and record.ableSales !='' ">
+                and a.able_sales = #{record.ableSales}
+            </if>
+            <if test="record.scoreCategoryId != null and record.scoreCategoryId ">
+                and a.score_category_id = #{record.scoreCategoryId}
+            </if>
+
+
         </where>
         GROUP BY a.id
         <if test="record.queryType != null and record.queryType == 1">
@@ -828,6 +906,9 @@
 			is_special_price,
 			marked_price,
 			couponId,
+            a.mall_type,
+            a.able_sales,
+            a.score_category_id,
 			(SELECT SUM(s.stock) from shop_sku  s where s.p_id = a.id) as stockNum,
 			(SELECT ROUND(SUM(s.stock),2) from shop_sku  s where s.p_id = a.id) as stockNum,
 			shop_ids
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopShoppingCartDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopShoppingCartDao.xml
index 8e59026..2beb6dd 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopShoppingCartDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopShoppingCartDao.xml
@@ -27,6 +27,7 @@
 		    <result property="isSelected" column="isSelected" />
 		    <result property="shopId" column="shop_id" />
 		<result property="companyId" column="company_id" />
+		<result property="cartType" column="cart_type" />
 	</resultMap>
 	
 	
@@ -44,6 +45,8 @@
 		<result property="isSelected" column="isSelected" />
 		<result property="shopId" column="shop_id" />
 		<result property="companyId" column="company_id" />
+		<result property="cartType" column="cart_type" />
+
 	</resultMap>
 	
 	<!-- 字段sql -->
@@ -59,7 +62,9 @@
 			cart_number,
 			isSelected,
 			shop_id,
-            company_id
+            company_id,
+		cart_type
+
 	</sql>
 	
 	<!-- 属性sql -->
@@ -75,7 +80,9 @@
 			#{item.cartNumber},
 			#{item.isSelected},
 			#{item.shopId},
-		#{item.companyId}
+		#{item.companyId},
+		#{item.cartType}
+
 	</sql>
 	
 	<!-- where sql -->
@@ -121,6 +128,10 @@
 
 			 <if test="record.companyId != null and record.companyId !='' ">
 				 and c.company_id = #{record.companyId}
+			 </if>
+
+			 <if test="record.cartType != null and record.cartType !='' ">
+				 and c.cart_type = #{record.cartType}
 			 </if>
 
 		</if>
@@ -212,7 +223,7 @@
 
 	<update id="updateAllSelected" >
 
-		update shop_shopping_cart set isSelected  = #{isSelected}  where  shop_id=#{shopId} and cart_user_id=#{openId}
+		update shop_shopping_cart set isSelected  = #{isSelected}  where  shop_id=#{shopId} and cart_user_id=#{openId} and cart_type=#{cartType}
 
 	</update>
 
@@ -334,6 +345,7 @@
 		    and p.STATUS = 1
 		    and p.del_flag = 2
 			and c.cart_user_id = #{cartUserId}
+			and c.cart_type = #{cartType}
 		order by c.create_time desc
 	</select>
 
@@ -351,7 +363,7 @@
 	<select id="selectUserCartCount" resultType="java.lang.Integer" >
 		select sum(cart_number) from shop_shopping_cart  c
 LEFT JOIN shop_product p on p.id = c.cart_product_id
-where c.shop_Id=#{shopId} and  p.del_flag = 2 and cart_user_id=#{openId};
+where c.shop_Id=#{shopId} and  p.del_flag = 2 and cart_user_id=#{openId} and cart_type=#{cartType};
 	</select>
 
 	<!-- 根据id 锁表查询-->
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopSkuDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopSkuDao.xml
index 1c85265..ede83bf 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopSkuDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopSkuDao.xml
@@ -24,6 +24,7 @@
         <result property="shopId" column="shop_id"/>
         <result property="sealesPrice" column="seales_price"/>
         <result property="invitationPrice" column="invitation_price"/>
+        <result property="scorePrice" column="score_price"/>
 
 
 
@@ -50,6 +51,7 @@
         <result property="shopId" column="shop_id"/>
         <result property="sealesPrice" column="seales_price"/>
         <result property="invitationPrice" column="invitation_price"/>
+        <result property="scorePrice" column="score_price"/>
     </resultMap>
 
     <!-- 字段sql -->
@@ -72,7 +74,9 @@
 			stock_code,
 			shop_id,
 seales_price,
-invitation_price
+invitation_price,
+        score_price
+
 	</sql>
 
     <!-- 属性sql -->
@@ -95,7 +99,9 @@
 			#{item.stockCode},
 			#{item.shopId},
 			#{item.sealesPrice},
-			#{item.invitationPrice}
+			#{item.invitationPrice},
+			#{item.scorePrice}
+
 
 	</sql>
 
@@ -136,6 +142,13 @@
             <if test="(record.shopId!=null and record.shopId!='') or  (record.shopId!='' and record.shopId==0)  ">
                 and shop_id = #{record.shopId}
             </if>
+
+            <if test="(record.scorePrice!=null and record.scorePrice!='') or  (record.scorePrice!='' and record.scorePrice==0)  ">
+                and score_price = #{record.scorePrice}
+            </if>
+
+
+
         </if>
 
     </sql>
@@ -202,6 +215,12 @@
             <if test="_parameter.containsKey('sealesPrice')">
                 seales_price = #{sealesPrice},
             </if>
+
+            <if test="_parameter.containsKey('scorePrice')">
+                score_price = #{scorePrice},
+            </if>
+
+
         </set>
         WHERE id=#{id}
     </update>
@@ -252,6 +271,10 @@
                 invitation_price = #{record.invitationPrice},
             </if>
 
+            <if test="record.scorePrice != null ">
+                score_price = #{record.scorePrice},
+            </if>
+
 
         </set>
         WHERE id=#{record.id}
diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-apply.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-apply.html
index 96d333a..71bded8 100644
--- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-apply.html
+++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-apply.html
@@ -41,7 +41,7 @@
         </el-col>
     </el-row>
 
-    <el-row class="table-style"  >
+    <el-row class="table-style"  style="margin-left: 50px;">
         <el-table id="proj" :data="table.rows"  :height="height" stripe @sort-change="sortChange">
             <el-table-column
                     label="会员">
diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html
index 92aafbd..d3566c6 100644
--- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html
+++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html
@@ -23,39 +23,48 @@
     <script type="text/javascript" charset="utf-8"
             th:src="@{/plugin/beditor/lang/zh-cn/zh-cn.js}"></script>
     <style>
+        .panel-body{
+            overflow: hidden;
+        }
         .paginationStyle{
             background: #ffffff;
             padding: 10px 10px;
             margin: 0px 0px 10px 0px;
             text-align: right;
         }
+
+        .box-card {
+            width: 240px;
+            border-radius: 5px;
+            color: #ffffff;
+            padding: 2px 0px;
+            margin-right: 20px;
+            cursor: pointer;
+            float: left;
+            text-align: center;
+        }
+        .el-card__body {
+            padding: 0px;
+        }
     </style>
 </head>
 
 <body>
-<div class="ibox-content" id="app" v-cloak>
-    <el-row style="padding: 10px;">
-        <el-row :gutter="100">
-            <el-col class="line" :span="8" style="text-align: center">
-                <el-card class="box-card" style="background-color: #eee;border-radius: 30px;">
+<div class="panel-body" id="app" v-cloak>
+        <el-row>
+                <el-card class="box-card" style="background-color: #0f9aef;">
+                    <div style="padding:10px;font-size: 20px;">¥{{basicdetail.balance}}</div>
                     <div>待计算金额</div>
-                    <div style="padding: 5px;font-size: 30px;">¥{{basicdetail.balance}}</div>
                 </el-card >
-            </el-col>
-            <el-col class="line" :span="8" style="text-align: center">
-                <el-card class="box-card" style="background-color: #eee;border-radius: 30px;">
+                <el-card class="box-card" style="background: #67C23A;">
+                    <div style="padding:10px;font-size: 20px;">{{basicdetail.waitNum}}人</div>
                     <div>待结算人数</div>
-                    <div style="padding: 5px;font-size: 30px;">{{basicdetail.waitNum}}人</div>
                 </el-card >
-            </el-col>
-            <el-col class="line" :span="8" style="text-align: center">
-                <el-card class="box-card" style="background-color: #eee;border-radius: 30px;">
+                <el-card class="box-card" style="background: rgb(121, 187, 255);">
+                    <div style="padding:10px;font-size: 20px;">{{basicdetail.waitOrderNum}}笔</div>
                     <div>待结算订单</div>
-                    <div style="padding: 5px;font-size: 30px;">{{basicdetail.waitOrderNum}}笔</div>
                 </el-card >
-            </el-col>
         </el-row>
-    </el-row>
     <el-row>
         <el-tabs v-model="activeName" >
             <el-tab-pane label="分销订单" name="first">
@@ -155,7 +164,8 @@
                         </el-table-column>
                         <el-table-column
                                 prop="orderNo"
-                                label="订单编号">
+                                label="订单编号"
+                                show-overflow-tooltip>
                         </el-table-column>
                         <el-table-column
                                 prop="actualBalance"
@@ -177,15 +187,18 @@
                         </el-table-column>
                         <el-table-column
                                 prop="address"
-                                label="下单门店">
+                                label="下单门店"
+                                show-overflow-tooltip>
                         </el-table-column>
                         <el-table-column
                                 prop="custom"
-                                label="客户">
+                                label="客户"
+                                show-overflow-tooltip>
                         </el-table-column>
                         <el-table-column
                                 prop="parentSale"
-                                label="推广员">
+                                label="推广员"
+                                show-overflow-tooltip>
                         </el-table-column>
                         <el-table-column
                                 label="收益类型">
@@ -208,15 +221,19 @@
                         </el-table-column>
                         <el-table-column
                                 prop="settleNo"
-                                label="结算编号" width="150">
+                                label="结算编号"
+                                show-overflow-tooltip
+                                width="150">
                         </el-table-column>
                         <el-table-column
                                 prop="settleTime"
-                                label="结算时间">
+                                label="结算时间"
+                                show-overflow-tooltip>
                         </el-table-column>
                         <el-table-column
                                 prop="settler"
-                                label="结算人">
+                                label="结算人"
+                                show-overflow-tooltip>
                         </el-table-column>
                         <el-table-column label="操作">
                         </el-table-column>
@@ -262,7 +279,8 @@
                     <el-table :data="orderLevelList.rows"  :height="height" stripe:true  @sort-change="sortChange">
                         <el-table-column
                                 prop="orderNo"
-                                label="结算编号">
+                                label="结算编号"
+                                show-overflow-tooltip>
                         </el-table-column>
                         <el-table-column
                                 prop="actualBalance"
@@ -278,11 +296,13 @@
                         </el-table-column>
                         <el-table-column
                                 prop="setTime"
-                                label="结算时间">
+                                label="结算时间"
+                                show-overflow-tooltip>
                         </el-table-column>
                         <el-table-column
                                 prop="setMan"
-                                label="结算人">
+                                label="结算人"
+                                show-overflow-tooltip>
                         </el-table-column>
                         <el-table-column
                                 label="结算方式">
@@ -293,7 +313,8 @@
                         </el-table-column>
                         <el-table-column
                                 prop="remark"
-                                label="备注">
+                                label="备注"
+                                show-overflow-tooltip>
                         </el-table-column>
                     </el-table>
                 </el-row>
@@ -332,7 +353,7 @@
         el: '#app',
         data: {
             activeName: 'first',
-            height:'calc(100vh - 240px)',
+            height:'calc(100vh - 340px)',
             //--基本数据
             basicdetail:{},
             //--时间选择
@@ -374,7 +395,7 @@
                 jsje: '',
                 jsdds: '',
                 jsrs: '',
-                jsfs: 1,
+                jsfs: 2,
                 bz: ''
             },
             formLabelWidth: '120px',
@@ -468,6 +489,7 @@
                     callback: function (data) {
                         _this.orderLevelList.rows = data.rows;
                         _this.orderLevelList.total = data.total;
+                        _this.loadFenxiaoOrderBasic();
                     }
                 });
             },
@@ -518,6 +540,7 @@
                     callback: function (data) {
                         _this.fxyList.rows = data.rows;
                         _this.fxyList.total = data.total;
+                        _this.loadFenxiaoOrderBasic();
                     }
                 });
             },
@@ -586,7 +609,8 @@
                     let order = _this.multipleSelection[i];
                     //待审核的计算到弹出框
                     let orderState = order.orderState;
-                    if(orderState == 4 || orderState == 5){
+                    let settleType = order.settleType;
+                    if((orderState == 4 || orderState == 5) && settleType == 1){
                         let orderId = order.id;
                         name.push(order.customUserId);
                         orderNum = orderNum + 1;
@@ -624,7 +648,7 @@
             setOrderDone() {
                 if(this.orderNumsDones > 0){
                     this.$message({
-                        message: '订单状态【待评价】和【已评价】才允许结算',
+                        message: '【待评价】和【已评价】状态下的【待结算】订单,才允许结算',
                         type: 'warning'
                     });
                 }else if(this.orderNums > 0){
diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-setting.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-setting.html
index 4b6da5c..a23b23d 100644
--- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-setting.html
+++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-setting.html
@@ -19,7 +19,7 @@
 <div class="ibox-content" id="app" v-cloak>
     <el-form label-width="120px" >
         <el-row>
-            <p class="el-big-title">分享设置</p>
+            <p class="el-big-title">分销设置</p>
         </el-row>
         <el-row style="margin-top: 20px;">
             <el-col>
@@ -100,7 +100,7 @@
             </el-col>
         </el-row>
 
-        <el-row v-show="isShow" style="margin-top: 20px;">
+        <el-row style="margin-top: 20px;">
             <el-col>
                 <template v-for="paramSettingFour in shfs">
                     <el-form-item>
@@ -118,12 +118,12 @@
 
 
         <el-drawer
-                title="业绩设置"
+                title="分销产品"
                 :visible.sync="drawer"
                 :direction="direction"
                 size="90%"
         >
-            <el-row >
+            <el-row style="margin-left: 50px;">
                 <el-col :span="24">
                     <el-row class="vertical  ">
                         <el-input class="searchInput" @input="searchGoods()" v-model="queryKey"
@@ -149,28 +149,32 @@
                                     width="50">
                             </el-table-column>
                             <el-table-column
-                                    prop="code"
-                                    label="产品编号"
-                                    width="100">
+                                    prop="id"
+                                    label="ID">
                             </el-table-column>
 
                             <el-table-column
-                                    prop="name"
-
+                                    prop="title"
                                     label="产品名称">
                             </el-table-column>
-
                             <el-table-column
-                                    prop="sealPice"
-                                    label="售价">
+                                    prop="price"
+                                    label="价格">
                             </el-table-column>
                             <el-table-column
-                                    prop="goodType"
-                                    label="类型">
+                                    prop="score"
+                                    label="积分">
                             </el-table-column>
                             <el-table-column
-                                    prop="cateName"
-                                    label="分类">
+                                    prop="attrValues"
+                                    label="产品属性">
+                            </el-table-column>
+                            <el-table-column
+                                    label="是否上架">
+                                <template slot-scope="scope">
+                                    <span v-if="scope.row.status == 1">是</span>
+                                    <span v-if="scope.row.status == 2">否</span>
+                                </template>
                             </el-table-column>
                             <el-table-column
                                     width="150"
@@ -195,37 +199,36 @@
                                 :stripe="true"
                                 :border="true"
                                 :height="tableHeight"
-                                :data="order.items"
+                                :data="order"
                                 style="width: 100%">
                             <el-table-column
                                     type="index"
                                     width="50">
                             </el-table-column>
                             <el-table-column
-                                    prop="shoppingGoods.code"
-                                    label="产品编号"
-                                    width="100">
+                                    prop="id"
+                                    width="280"
+                                    label="产品ID">
                             </el-table-column>
-
                             <el-table-column
-                                    prop="shoppingGoods.name"
+                                    prop="title"
                                     width="280"
                                     label="产品名称">
                             </el-table-column>
                             <el-table-column
-                                    prop="shoppingGoods.goodType"
+                                    prop="attrValues"
                                     width="80"
-                                    label="产品类型">
+                                    label="产品属性">
                             </el-table-column>
                             <el-table-column
-                                    prop="shoppingGoods.sealPice"
+                                    prop="price"
                                     label="单价">
                             </el-table-column>
                             <el-table-column
                                     prop="address"
                                     label="操作">
                                 <template slot-scope="scope">
-                                    <el-button type="primary" v-if="order.statu!='欠款'"
+                                    <el-button type="primary"
                                                size="mini"
                                                @click="removeItem(scope.$index, scope.row)">删除
                                     </el-button>
@@ -265,10 +268,7 @@
             //业绩设置框
             drawer: false,
             direction: 'rtl',
-            order: {
-                items: [
-                ],
-            },
+            order: [],
             tableHeight: 500,
             /*****搜索表格数据*********/
             //搜索关键词
@@ -325,8 +325,7 @@
                         }
                         _this.shfs = data.mapInfo.shfs;
                         _this.sqtj = data.mapInfo.sqtj;
-                        //_this.order.items = data.mapInfo.order;
-                        //console.log(_this.order.items);
+                        _this.order = data.mapInfo.order;
                     }
                 });
             },
@@ -342,19 +341,19 @@
 
                 //判断是否被选中
                 let selected = false;
-                this.order.items.forEach(item => {
-                    if (item.shoppingGoods.id == goods.id) {
+                for(let i = 0; i < this.order.length; i++){
+                    if (this.order[i].id === goods.id) {
                         selected = true;
                         return;
                     }
-                });
+                }
                 if (!selected) {
                     //未选中产品加入列表
                     let item = {};
-                    item.shoppingGoods = goods;
+                    item.ShopProduct = goods;
                     item.goodsId = goods.id;
                     item.count = 1;
-                    this.order.items.push(item);
+                    this.order.push(item.ShopProduct);
                 }
 
             },
@@ -372,38 +371,33 @@
             submitOrder(submitType) {
                 let _this = this;
                 let submitDate ="";
-                for (let i = 0; i < _this.order.items.length; i++) {
-                    let goods = _this.order.items[i];
-                    let goodsId = goods.goodsId;
+                for (let i = 0; i < _this.order.length; i++) {
+                    let ShopProduct = _this.order[i];
+                    let goodsId = ShopProduct.id;
                     submitDate = submitDate +goodsId+",";
                 }
                 _this.cpid = submitDate;
-                _this.drawer = false
+                _this.drawer = false;
             },
             /**
              * 批量选择产品
              */
             chouseGoods() {
                 let _this = this;
-                // this.multipleSelection.forEach(item => {
-                //     _this.pushToSelectGoods(item, BUY_TYPE_NOT_FREE);
-                // });
                 this.closeXm();
             },
             /**
              * 行点击事件
              */
             handleClickTableRow(row, event, column) {
-                this.$refs.dataTable.toggleRowSelection(row);
+                this.pushToSelectGoods(row);
             },
             /**
              * 删除组合产品
              */
             removeItem(index, row) {
-                this.order.items.splice(index, 1);
+                this.order.splice(index, 1);
             },
-
-
             /**
              * 搜索项目绑定的产品信息
              */
@@ -417,7 +411,7 @@
                         contentType: 'application/x-www-form-urlencoded',
                         //TODO 优化下拉加载
                         data: {name: _this.queryKey, limit: 10000},
-                        url: basePath + "/admin/shoppinggoods/showList",
+                        url: basePath + "/fenXiao/ruleSetting/selectProduct",
                         callback: function (data) {
                             _this.searchTableData = data.rows;
                             _this.loading = false;
diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html
index 4fe4e60..7611622 100644
--- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html
+++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-update.html
@@ -31,43 +31,57 @@
         }
         .el-aside {
             color: #333;
-            line-height: 50px;
+            line-height: 15px;
         }
         .el-main {
             color: #333;
-            line-height: 50px;
+            line-height: 15px;
+        }
+        .box-card {
+            width: 160px;
+            border-radius: 5px;
+            color: #ffffff;
+            padding: 5px 5px;
+            margin-right: 20px;
+            cursor: pointer;
+            float: right;
+        }
+        .el-card__body {
+            padding: 0px;
         }
     </style>
 </head>
 
 <body>
 <div class="ibox-content" id="app" v-cloak>
-    <el-row>
-        <p class="el-big-title">个人详情</p>
-    </el-row>
     <el-container>
-        <el-aside width="200px" style="display:flex;align-items: center;">
-            <el-avatar :size="100" :src="basicdetail.avatarUrl" style="display:flex;align-items: center;margin-left: 50px"></el-avatar>
+        <el-aside width="60px" style="display:flex;align-items: center;">
+            <el-avatar :size="50" :src="basicdetail.avatarUrl" style="display:flex;align-items: center;margin-left: 10px"></el-avatar>
         </el-aside>
         <el-main>
-            <el-row style="display:flex;align-items: center;">
-                <el-col :span="3" style="display:flex;align-items: center;">
+            <el-row style="display:flex;align-items: center;padding: 10px;">
+                <el-col :span="8" style="display:flex;align-items: center;">
                     <span style="font-size: 20px;">{{basicdetail.nickname}} </span>
                 </el-col>
-                <el-col :span="3">
-
+                <el-col :span="6">
                     <el-select v-model="basicdetail.grade" @focus="getDatalist()" @change="changeSaleManGrade(basicdetail.grade)" placeholder="请选择" filterable allow-create>
                         <el-option v-for="item in salemanGradeList " :key="item.id" :label="item.name" :value="item.id"></el-option>
                     </el-select>
                 </el-col>
-                <el-col :span="18">
+                <el-col :span="10">
                 </el-col>
             </el-row>
-            <el-row style="display:flex;">
+            <el-row style="display:flex;padding: 5px;">
                 <el-col>
                     <span>
                         手机号码:{{basicdetail.phone}}   |
-                        加入时间:{{basicdetail.createTime}}   |
+                        加入时间:{{basicdetail.createTime}}
+                    </span>
+                </el-col>
+            </el-row>
+            <el-row style="display:flex;padding: 5px;">
+                <el-col>
+                    <span>
                         邀请人:{{basicdetail.parentUser}}   |
                         来源:
                             <span v-if="basicdetail.applyWay == 1">自主申请</span>
@@ -82,38 +96,33 @@
                 </el-col>
             </el-row>
         </el-main>
+        <el-main>
+            <el-row>
+                <el-row style="display:flex;align-items: center;text-align: center;">
+                    <el-card class="box-card" style="background-color: #0f9aef;">
+                        <div style="padding:10px;font-size: 20px;">{{basicdetail.lowerLevelNum}}人</div>
+                        <div>绑定客户</div>
+                    </el-card >
+                    <el-card class="box-card" style="background: #67C23A;">
+                        <div style="padding:10px;font-size: 20px;">{{basicdetail.invitedNum}}人</div>
+                        <div>邀请下级</div>
+                    </el-card >
+                    <el-card class="box-card" style="background: rgb(121, 187, 255);">
+                        <div style="padding:10px;font-size: 20px;">{{basicdetail.totalRevenue}}元</div>
+                        <div>累计收益</div>
+                    </el-card >
+                    <el-card class="box-card" style="background: rgb(93 191 45);">
+                        <div style="padding:10px;font-size: 20px;">{{basicdetail.balance}}元</div>
+                        <div>待结算</div>
+                    </el-card >
+                </el-row>
+            </el-row>
+        </el-main>
     </el-container>
-    <el-row style="padding: 30px;">
-        <el-row :gutter="100">
-            <el-col class="line" :span="6" style="text-align: center">
-                <el-card class="box-card" style="background-color: #eee;border-radius: 30px;">
-                    <div>绑定客户</div>
-                    <div style="padding: 5px;font-size: 18px;">{{basicdetail.lowerLevelNum}}人</div>
-                </el-card >
-            </el-col>
-            <el-col class="line" :span="6" style="text-align: center">
-                <el-card class="box-card" style="background-color: #eee;border-radius: 30px;">
-                    <div>邀请下级</div>
-                    <div style="padding: 5px;font-size: 18px;">{{basicdetail.invitedNum}}人</div>
-                </el-card >
-            </el-col>
-            <el-col class="line" :span="6" style="text-align: center">
-                <el-card class="box-card" style="background-color: #eee;border-radius: 30px;">
-                    <div>累计收益</div>
-                    <div style="padding: 5px;font-size: 18px;">{{basicdetail.totalRevenue}}元</div>
-                </el-card >
-            </el-col>
-            <el-col class="line" :span="6" style="text-align: center">
-                <el-card class="box-card" style="background-color: #eee;border-radius: 30px;">
-                    <div>待结算</div>
-                    <div style="padding: 5px;font-size: 18px;">{{basicdetail.balance}}元</div>
-                </el-card >
-            </el-col>
-        </el-row>
-    </el-row>
+
     <el-row>
         <el-tabs v-model="activeName" >
-            <el-tab-pane label="分销员管理" name="first">
+            <el-tab-pane label="绑定客户" name="first">
                 <el-row style="display:flex;align-items: center;text-align: right;">
                     <el-col>
                         <el-form ref="form" :model="form" inline >
@@ -132,24 +141,17 @@
                                 type="selection">
                         </el-table-column>
                         <el-table-column
-                                label="客户">
+                                label="客户"
+                                show-overflow-tooltip>
                             <template slot-scope="scope">
                                 <img :src="scope.row.avatarUrl" width="40" height="40" class="head_pic"/>
-                                {{scope.row.nickName}}
+                                {{scope.row.nickname}}
                             </template>
                         </el-table-column>
                         <el-table-column
                                 prop="createTime"
-                                label="绑定时间">
-                        </el-table-column>
-                        <el-table-column
-                                label="绑定方式">
-                            <template slot-scope="scope">
-                                <span v-if="scope.row.applyWay == 1">自主申请</span>
-                                <span v-if="scope.row.applyWay == 2">自动添加</span>
-                                <span v-if="scope.row.applyWay == 3">上级邀请</span>
-                                <span v-if="scope.row.applyWay == 4">手动添加</span>
-                            </template>
+                                label="绑定时间"
+                                show-overflow-tooltip>
                         </el-table-column>
                         <el-table-column
                                 label="客户状态">
@@ -161,7 +163,7 @@
                         <el-table-column label="操作" width="240">
                             <template slot-scope="scope">
                                 <el-row style="display:flex;">
-                                    <el-button type="primary" size="mini" @click="openExaminesaleMan(scope.row)">解绑</el-button>
+                                    <el-button type="primary" size="mini" @click="openExamineSaleMan(scope.row)">解绑</el-button>
                                 </el-row>
                             </template>
                         </el-table-column>
@@ -202,7 +204,7 @@
                                 label="客户">
                             <template slot-scope="scope">
                                 <img :src="scope.row.avatarUrl" width="40" height="40" class="head_pic"/>
-                                {{scope.row.nickName}}
+                                {{scope.row.nickname}}
                             </template>
                         </el-table-column>
                         <el-table-column
@@ -221,7 +223,7 @@
                         <el-table-column label="操作" width="240">
                             <template slot-scope="scope">
                                 <el-row style="display:flex;">
-                                    <el-button type="primary" size="mini" @click="openExaminesaleMan(scope.row)">解绑</el-button>
+                                    <el-button type="primary" size="mini" @click="openExamineSaleMan(scope.row)">解绑</el-button>
                                 </el-row>
                             </template>
                         </el-table-column>
@@ -267,18 +269,35 @@
                     <el-table id="proj" :data="orderLevelList.rows"  :height="height" stripe:true  @sort-change="sortChange">
                         <el-table-column
                                 prop="orderNo"
-                                label="订单编号">
+                                label="订单编号"
+                                show-overflow-tooltip>
                         </el-table-column>
                         <el-table-column
                                 prop="orderMoney"
                                 label="实付金额">
                         </el-table-column>
                         <el-table-column
-                                prop="storeName"
-                                label="下单门店">
+                                label="订单状态">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.orderState == 1">待付款</span>
+                                <span v-if="scope.row.orderState == 2">待配送</span>
+                                <span v-if="scope.row.orderState == 3">待收货</span>
+                                <span v-if="scope.row.orderState == 4">待评价</span>
+                                <span v-if="scope.row.orderState == 5">已评价</span>
+                                <span v-if="scope.row.orderState == 6">申请退款</span>
+                                <span v-if="scope.row.orderState == 7">退款成功</span>
+                                <span v-if="scope.row.orderState == 8">退款拒绝</span>
+                                <span v-if="scope.row.orderState == 9">已取消</span>
+                            </template>
                         </el-table-column>
                         <el-table-column
-                                label="客户">
+                                prop="storeName"
+                                label="下单门店"
+                                show-overflow-tooltip>
+                        </el-table-column>
+                        <el-table-column
+                                label="客户"
+                                show-overflow-tooltip>
                             <template slot-scope="scope">
                                 <img :src="scope.row.avatarUrl" width="40" height="40" class="head_pic"/>
                                 {{scope.row.nickName}}
@@ -286,7 +305,8 @@
                         </el-table-column>
                         <el-table-column
                                 prop="createTime"
-                                label="时间">
+                                label="时间"
+                                show-overflow-tooltip>
                         </el-table-column>
                         <el-table-column
                                 label="收益类型">
@@ -390,7 +410,7 @@
                 pageSize:10,
                 currentPage:1,
             },
-            height:'calc(100vh - 240px)',
+            height:'calc(100vh - 400px)',
         },
 
         created: function () {
@@ -402,6 +422,7 @@
             //加载分类
             loadInfo() {
                 let _this = this;
+                _this.loadParamSettingBasic();
                 _this.loadParamSetting();
                 _this.loadParamSettinglow();
                 _this.loadParamSettingOrder();
@@ -424,6 +445,22 @@
                     }
                 });
             },
+            //加载基本数据信息
+            loadParamSettingBasic() {
+                let _this = this;
+                let data={
+                    userId:userId,
+                    applyId:applyId,
+                };
+                AjaxProxy.requst({
+                    app: _this,
+                    data:data,
+                    url: basePath + '/fenXiao/fenXiaoUser/loadParamSettingBasic',
+                    callback: function (data) {
+                        _this.basicdetail = data.mapInfo.basicdetail;
+                    }
+                });
+            },
             //绑定客户
             loadParamSetting() {
                 let _this = this;
@@ -433,11 +470,11 @@
                 AjaxProxy.requst({
                     app: _this,
                     data:data,
-                    url: basePath + '/fenXiao/fenXiaoUser/findShopSalesmanDetail',
+                    url: basePath + '/fenXiao/fenXiaoUser/loadParamSetting',
                     callback: function (data) {
-                        _this.basicdetail = data.mapInfo.basicdetail;
                         _this.fxyList.rows = data.mapInfo.customDetailRecords;
                         _this.fxyList.total = data.mapInfo.customDetailTotal;
+                        _this.loadParamSettingBasic();
                     }
                 });
             },
@@ -478,11 +515,11 @@
                 AjaxProxy.requst({
                     app: _this,
                     data:data,
-                    url: basePath + '/fenXiao/fenXiaoUser/findShopSalesmanDetail',
+                    url: basePath + '/fenXiao/fenXiaoUser/loadParamSettinglow',
                     callback: function (data) {
-                        _this.basicdetail = data.mapInfo.basicdetail;
                         _this.lowLevelList.rows = data.mapInfo.customLowRecords;
                         _this.lowLevelList.total = data.mapInfo.customLowTotal;
+                        _this.loadParamSettingBasic();
                     }
                 });
             },
@@ -524,10 +561,11 @@
                 AjaxProxy.requst({
                     app: _this,
                     data:data,
-                    url: basePath + '/fenXiao/fenXiaoUser/findShopSalesmanDetail',
+                    url: basePath + '/fenXiao/fenXiaoUser/loadParamSettingOrder',
                     callback: function (data) {
                         _this.orderLevelList.rows = data.mapInfo.orderRecords;
                         _this.orderLevelList.total = data.mapInfo.orderTotal;
+                        _this.loadParamSettingBasic();
                     }
                 });
             },
@@ -617,7 +655,12 @@
                     url: basePath + '/fenXiao/fenXiaoUser/unbundlingSaleMan',
                     callback: function (data) {
                         _this.$message.success(data.info);
-                        this.loadInfo();
+                        if(_this.activeName == "first"){
+                            _this.loadParamSetting();
+                        }
+                        if(_this.activeName == "second"){
+                            _this.loadParamSettinglow();
+                        }
                     }
                 });
             },
diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
index 5ced92d..f9966e4 100644
--- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
+++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
@@ -23,6 +23,9 @@
     <script type="text/javascript" charset="utf-8"
             th:src="@{/plugin/beditor/lang/zh-cn/zh-cn.js}"></script>
     <style>
+        .panel-body{
+            overflow: hidden;
+        }
         .paginationStyle{
             background: #ffffff;
             padding: 10px 10px;
@@ -56,7 +59,7 @@
 </head>
 
 <body>
-<div class="ibox-content" id="app" v-cloak>
+<div class="panel-body" id="app" v-cloak>
         <el-row>
             <el-tabs v-model="activeName" >
                 <el-tab-pane label="分销员管理" name="first">
@@ -99,19 +102,25 @@
                                         type="selection">
                                 </el-table-column>
                                 <el-table-column
-                                        label="分销员" width="120">
+                                        label="分销员"
+                                        show-overflow-tooltip
+                                        width="150">
                                     <template slot-scope="scope">
                                         <img :src="scope.row.avatarUrl" width="40" height="40" class="head_pic"/>
                                         {{scope.row.nickname}}
                                     </template>
                                 </el-table-column>
                                 <el-table-column
-                                        prop="parentUser"
-                                        label="邀请人">
+                                        prop="parentUserNow"
+                                        label="当前上级">
                                 </el-table-column>
                                 <el-table-column
                                         prop="lowerLevelNum"
-                                        label="下级客户数">
+                                        label="推广客户">
+                                </el-table-column>
+                                <el-table-column
+                                        prop="invitedNum"
+                                        label="邀请下级">
                                 </el-table-column>
                                 <el-table-column
                                         prop="totalRevenue"
@@ -128,6 +137,7 @@
                                 <el-table-column
                                         prop="createTime"
                                         label="加入时间"
+                                        show-overflow-tooltip
                                         :formatter="formatDate">
                                 </el-table-column>
                                 <el-table-column
@@ -138,6 +148,10 @@
                                         <span v-if="scope.row.applyStatus == 3">未通过</span>
                                         <span v-if="scope.row.applyStatus == 4">系统删除</span>
                                     </template>
+                                </el-table-column>
+                                <el-table-column
+                                        prop="parentUser"
+                                        label="注册邀请人">
                                 </el-table-column>
                                 <el-table-column
                                         label="来源">
@@ -154,7 +168,7 @@
                                             <el-button type="primary" v-if="scope.row.applyStatus == 1" size="mini" @click="openExamineSaleManApply(scope.row)">审核</el-button>
                                             <el-button type="primary" v-if="scope.row.applyStatus == 2" size="mini" @click="openUpdateSaleManGrade(scope.row)">修改等级</el-button>
                                             <el-button type="primary" size="mini" @click="openUpdateSaleManGrade(scope.row)">详情</el-button>
-                                            <el-button type="primary" v-if="scope.row.applyStatus == 2" size="mini" @click="delSaleManGradeApply(scope.row)">删除</el-button>
+                                            <el-button type="danger" v-if="scope.row.applyStatus == 2" size="mini" @click="delSaleManGradeApply(scope.row)">删除</el-button>
                                         </el-row>
                                     </template>
                                 </el-table-column>
@@ -207,9 +221,9 @@
                             <el-table-column label="操作" width="240">
                                 <template slot-scope="scope">
                                     <el-row style="display:flex;">
-                                        <el-button type="primary" v-if="scope.row.isDefault == 1" size="mini" @click="addFyfa()">新增</el-button>
+                                        <el-button type="primary" v-if="scope.row.isDefault == 1" size="mini" @click="addFyfaReady()">新增</el-button>
                                         <el-button type="primary" size="mini" @click="updateFyfa(scope.row)">保存</el-button>
-                                        <el-button type="primary" v-if="scope.row.isDefault == 2" size="mini" @click="delFyfa(scope.row)">删除</el-button>
+                                        <el-button type="danger" v-if="scope.row.isDefault == 2" size="mini" @click="delFyfa(scope.row)">删除</el-button>
                                     </el-row>
                                 </template>
                             </el-table-column>
@@ -438,18 +452,23 @@
                 this.loadFyfaSetting();
             },
             //新增
-            addFyfa(){
+            addFyfaReady(){
                 let _this = this;
-                AjaxProxy.requst({
-                    app: _this,
-                    data:[],
-                    url: basePath + '/fenXiao/fenXiaoUser/addFyfa',
-                    callback: function (data) {
-                        _this.$message.success(data.info);
-                        _this.loadFyfaSetting();
-                    }
-                });
+                let fyfaReady = {};
+                _this.fyfaList.rows.push(fyfaReady);
             },
+            // addFyfa(){
+            //     let _this = this;
+            //     AjaxProxy.requst({
+            //         app: _this,
+            //         data:[],
+            //         url: basePath + '/fenXiao/fenXiaoUser/addFyfa',
+            //         callback: function (data) {
+            //             _this.$message.success(data.info);
+            //             _this.loadFyfaSetting();
+            //         }
+            //     });
+            // },
             updateFyfa(row){
                 let _this = this;
                 let id = row.id;
@@ -485,7 +504,7 @@
                 }).then(() => {
                     //通过
                     _this.delFyfaApply(row);
-                    _this.loadFyfaSetting();
+
                 }).catch(action => {
                     //不通过
                     if(action === 'cancel'){
@@ -509,6 +528,7 @@
                     url: basePath + '/fenXiao/fenXiaoUser/delFyfaApply',
                     callback: function (data) {
                         _this.$message.success(data.info);
+                        _this.loadFyfaSetting();
                     }
                 });
             },
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive-erp/order/orderXq-form.html b/zq-erp/src/main/resources/templates/views/admin/hive-erp/order/orderXq-form.html
index 35b61f7..1982dfd 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive-erp/order/orderXq-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive-erp/order/orderXq-form.html
@@ -108,7 +108,8 @@
                         </el-col>
                         <el-col :span="14" style="text-align: right;">
                             <label>¥ {{order.total}}</label>
-                            <label>¥ {{(order.zkTotal - order.total).toFixed(2)}}</label>
+                            <!-- 退款订单不能显示为负数 -->
+                            <label>¥ {{(order.zkTotal - order.total>0?order.zkTotal - order.total:0).toFixed(2)}}</label>
                             <label>¥ {{order.zkTotal}}</label>
                             <label>¥ {{order.arrears}}</label>
                             <label>¥ {{order.repay}}</label>
@@ -256,11 +257,15 @@
                                         label="收款">
                                 </el-table-column>
                                 <el-table-column
-                                        prop="t3"
+                                        prop="payMethod"
+                                        label="支付方式">
+                                </el-table-column>
+                                <el-table-column
+                                        prop="achieveType"
                                         label="业绩类型">
                                 </el-table-column>
                                 <el-table-column
-                                        prop="t1"
+                                        prop="goodsCash"
                                         label="原业绩">
                                 </el-table-column>
                                 <el-table-column
@@ -544,7 +549,16 @@
         created : function() {
             let _this = this;
             this.orderParam = /*[[${orderParam}]]*/
-                this.queryOrderDetailData(this.orderParam);
+            var orderId = /*[[${orderId}]]*/
+            var orderNo = /*[[${orderNo}]]*/
+
+            var param = {};
+            if(orderId) {
+                param.id = orderId;
+            } else {
+                param.orderNo = orderNo;
+            }
+            this.queryOrderDetailData(param);
             // 业绩类型
             AjaxProxy.requst({
                 app: _this,
@@ -570,7 +584,7 @@
                 let _this = this;
                 AjaxProxy.requst({
                     app: _this,
-                    data: {id: param, orderNo:param},
+                    data: param,
                     contentType: 'application/x-www-form-urlencoded',
                     url: basePath + '/admin/order/findOrderDetailByIdOrNo',
                     callback: function (data) {
@@ -664,6 +678,10 @@
                 }
 
                 _this.data.items = dataItems;
+                _this.data.zkTotal =  _this.refundMoney;
+                _this.data.total =  _this.total;
+
+
                 AjaxProxy.requst({
                     app: _this,
                     data: _this.data,
@@ -717,6 +735,7 @@
                 let _this = this;
                 let items = this.orderItems;
                 _this.refundMoney = 0;
+                _this.total = 0;
 
                 for(var i = 0; i < items.length; i++) {
                     let item = items[i]
@@ -732,6 +751,8 @@
                         }
 
                         _this.refundMoney += parseFloat(item.refundPrice * item.refundCount);
+                        //记录一下未优惠之前的价格
+                        _this.total += parseFloat(item.price * item.refundCount);
                     }
                 }
 
@@ -742,7 +763,7 @@
                 _this.dialogSettleVisible = true;
             },
             calOrderTotalFormatter(row, column) {
-                return row.count * row.price;
+                return row.count * row.zkPrice;
             },
             getVipMoneyCards() {
                 let _this = this;
@@ -915,14 +936,14 @@
                         if(jsqMap[key]>achieve.zkTotal) {
                             this.$message.error("【"+achieve.goodsName + "】业绩分配金额大于支付金额");
                             isOk = false;
-                            return;
+                            break;
                         }
                     }else{
                         this.$message.error("【"+achieve.goodsName + "】业绩分配金额请填写数字");
                         isOk=false;
-                        return;
+                        break;
                     }
-                };
+                }
                 console.log("isOk",isOk);
                 return isOk;
             },
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html b/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html
index ced4453..0137137 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html
@@ -11,219 +11,273 @@
 <meta http-equiv="Cache-Control" content="no-siteapp" />
 <LINK rel="Bookmark" href="../images/favicon.ico">
 <!-- 本框架基本脚本和样式 -->
-<script type="text/javascript"
-        th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
-<script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script>
- 
+<script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
+<link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
+<link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" th:src="@{/js/function/public.js}"></script>
 </head>
-<body class="gray-bg">
-	 
+<style>
+	.table-style {
+		margin: 20px 0;
+		padding: 20px 10px;
+		border: 1px solid #DCDFE6;
+		background-color: white;
+	}
+	.search-form {
+		background-color: white;
+		padding-top: 10px;
+		padding-left: 20px;
+		padding-bottom: 10px;
+	}
+</style>
+<body>
+<div id="app" style="">
+	<el-row class="search-form">
+		<el-form ref="form" :model="form" inline>
+			<el-form-item label="选择年月">
+				<el-select v-model="form.year" style="width:120px;" placeholder="请选择">
+					<el-option v-for="item in years"
+							   :key="item"
+							   :label="item"
+							   :value="item"></el-option>
+				</el-select>
+			</el-form-item>
+			<el-form-item>
+				<el-select v-model="form.month" style="width:120px;" placeholder="请选择">
+					<el-option v-for="item in months"
+							   :key="item"
+							   :label="item"
+							   :value="item"></el-option>
+				</el-select>
+			</el-form-item>
+			<el-form-item>
+				<el-select v-model="form.day" style="width:120px;" placeholder="请选择">
+					<el-option v-for="item in days"
+							   :key="item"
+							   :label="item"
+							   :value="item"></el-option>
+				</el-select>
+			</el-form-item>
+			<el-form-item label="日期范围">
+				<el-date-picker v-model="form.timeRange"
+								type="datetimerange"
+								range-separator="至"
+								start-placeholder="开始日期"
+								end-placeholder="结束日期">
+				</el-date-picker>
+			</el-form-item>
 
-	<div class="ibox-content">
-		<!-- 搜索框部分start -->
-		<form class="form-inline" id="serchform">
-		<div class="row mb-10">
-				<div class="col-sm-8">
-					<button  onclick="myGrid.serchData()" type="button" class="btn btn-info btn-sm"><i class="fa fa-search" ></i> 搜索</button>
-					<button  onclick="myGrid.resetForm()" type="button"   class="btn btn-default btn-sm"><i class="fa fa-refresh " ></i> 重置</button>
-					<button  matrix:btn="ygyjbb-exportExcel"  onclick="exportExcel()" type="button" class="btn btn-default btn-sm"><i class="fa fa-download" ></i> 导出</button>
-				</div>
-			</div>
-			<div class="form-group mr-20">
-				<label >选择年月</label> <select
-					class="form-control" name="year" id="select_year">
-					<option value="">年份</option>
-					<option value="2010">2010</option>
-					<option value="2011">2011</option>
-					<option value="2012">2012</option>
-					<option value="2013">2013</option>
-					<option value="2014">2014</option>
-					<option value="2015">2015</option>
-					<option value="2016">2016</option>
-					<option value="2017">2017</option>
-					<option value="2018">2018</option>
-					<option value="2019">2019</option>
-					<option value="2020">2020</option>
-					<option value="2021">2021</option>
-				</select> <select class="form-control" name="month" id="select_month">
-					<option value="01">1</option>
-					<option value="02">2</option>
-					<option value="03">3</option>
-					<option value="04">4</option>
-					<option value="05">5</option>
-					<option value="06">6</option>
-					<option value="07">7</option>
-					<option value="08">8</option>
-					<option value="09">9</option>
-					<option value="10">10</option>
-					<option value="11">11</option>
-					<option value="12">12</option>
-				</select>
-				<select class="form-control" name="day" id="select_day">
-				 <option value="">日</option>
-				<th:block th:each="i:${#numbers.sequence(1, 31)}"   >
-					<option th:value="${i }" th:text="${i }"></option>
-				</th:block>
-				</select>
-			</div>
-			<div class="form-group mr-20">
-				<label>日期范围</label>
-				<input name="beginTime" type="text" class="form-control datetimepicker" id="beginTime">-
-				<input name="endTime"  type="text" class="form-control datetimepicker" id="endTime">
-			</div>
+			<el-form-item label="会员">
+				<el-input v-model="form.vipQueryKey"></el-input>
+			</el-form-item>
 
-			<div class="form-group mr-20">
-				<label>会员</label>
-				<input autocomplete="off" placeholder="姓名/编号/电话"  name="vipQueryKey" type="text" class="form-control"  >
-			</div>
+			<el-form-item label="业绩归属人">
+				<el-select v-model="form.beaultId" placeholder="请选择">
+					<el-option v-for="item in achieveUsers"
+							   :key="item.suId"
+							   :label="item.suName"
+							   :value="item.suId"></el-option>
+				</el-select>
+			</el-form-item>
 
-			<div class="form-group mr-20">
-				<label>美疗师</label>
-				<select class="form-control autoFull select2"
-						th:data-url="@{/admin/getShopStaffByRoleName?roleName=美疗师}"
-						data-value="suId"
-						data-filed="suName"
-						name="beaultId"
-						id="beaultId">
-					<option value="">--请选择美容师--</option>
-				</select>
-			</div>
+			<el-form-item label="门店">
+				<el-select v-model="form.shopId" placeholder="请选择所属门店">
+					<el-option v-for="item in shopList"
+							:key="item.id"
+							:label="item.shopName"
+							:value="item.id">
+					</el-option>
+				</el-select>
+			</el-form-item>
 
-			<div class="form-group mr-20">
-				<label>门店</label>
-				<select class="form-control autoFull" data-filed="shopName" name="shopId" id="shopId"
-						th:data-url="@{/admin/shopInfo/findAllWithPermi}">
-					<option value=''>--请选择部所属门店--</option>
-				</select>
-			</div>
-		</form>
+			<el-button type="primary" @click="search" >搜索</el-button>
+			<el-button @click="resetForm('form')">重置</el-button>
+			<el-button type="warning" @click="exportExcel">导出</el-button>
+		</el-form>
 
-
-		<table id="mgrid">
-			<thead>
-				<tr>
-					<th data-formatter="MGrid.indexfn" data-align="center"
-						data-width="30px" data-footer-formatter="footCountTitle">序号</th>
-					<th data-field="datatime">时间</th>
-					<th data-field="orderNo" data-formatter="buildOpenDetail" >订单编号</th>
-					<th data-field="orderType">订单类型</th>
-					<th data-field="vipName">会员姓名</th>
-					<th data-field="proName">产品</th>
-					<th data-field="cateName">产品分类</th>
-					<th data-field="zkTotal" data-footer-formatter="countColumn">订单金额</th>
-					<th data-field="goodsCash" data-footer-formatter="countColumn">订单业绩</th>
-					<th data-field="payMethod">收款方式</th>
-					<th data-field="achieveType">业绩类型</th>
-					<th data-field="guwen">顾问</th>
-					<th data-field="meiliao">美疗师</th>
-					<th data-field="hisConsume" data-footer-formatter="countColumn">本金消耗
-						<i data-toggle="tooltip" data-placement="top" title="消耗金额:客户做服务时划扣的本金" class="fa fa-question-circle"></i>
-					</th>
-					<th data-field="freeConsume" data-footer-formatter="countColumn">赠送消耗
-						<i data-toggle="tooltip" data-placement="top" title="赠送消耗:客户做服务时划扣的赠送金额" class="fa fa-question-circle"></i>
-					</th>
-					<th data-field="projPercentage" data-footer-formatter="countColumn">服务提成
-						<i data-toggle="tooltip" data-placement="top" title="服务提成:为美疗师手动设置的项目服务提成" class="fa fa-question-circle"></i>
-					</th>
-					<th data-field="numberOfPeople" data-footer-formatter="countColumn">人头</th>
-					<th data-field="projNum" data-footer-formatter="countColumn">项目个数</th>
-					<th data-field="projTime" data-footer-formatter="countColumn">项目时间</th>
-					<th data-field="shopName">门店</th>
-					
-				</tr>
-			</thead>
-		</table>
-	</div>
-
-	<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
-	<script type="text/javascript" th:src="@{/js/function/public.js}"></script>
-	<script type="text/javascript">
-		var myGrid;
-		var initParam = {
-				format : "yyyy-mm-dd hh:ii", //默认显示年与日,如果想显示十分秒:"yyyy-mm-dd hh:ii:ss"
-				minView: "hour", 	//"month",只显示年月日的选择,不会再跳转去选择时分秒;如果想要选择时分秒的:"hour"
+	</el-row>
+	<el-row class="table-style">
+		<el-table :data="tableData" style="width: 100%">
+			<el-table-column type="index" width="30"></el-table-column>
+			<el-table-column prop="datatime" width="150" label="时间"></el-table-column>
+			<el-table-column prop="orderNo" width="180" label="订单编号">
+				<template slot-scope="scope">
+					<el-link @click="jumpOrder(scope.row.orderType, scope.row.orderNo)" type="primary">{{scope.row.orderNo}}</el-link>
+				</template>
+			</el-table-column>
+			<el-table-column prop="orderType" label="订单类型"></el-table-column>
+			<el-table-column prop="vipName" label="会员姓名"></el-table-column>
+			<el-table-column prop="proName" label="产品" width="200"></el-table-column>
+			<el-table-column prop="cateName" label="产品分类"></el-table-column>
+			<el-table-column prop="zkTotal" label="订单金额"></el-table-column>
+<!--			<el-table-column prop="goodsCash" label="订单业绩"></el-table-column>-->
+			<el-table-column prop="meiliao" label="员工"></el-table-column>
+			<el-table-column v-for="(item, index) in customColumns" width="120" :key="index" :label="item.value">
+				<template slot-scope="scope">
+					<span v-if="item.value == scope.row.achieveType">{{scope.row.goodsCash}}</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="hisConsume" label="本金消耗"></el-table-column>
+			<el-table-column prop="freeConsume" label="赠送消耗"></el-table-column>
+			<el-table-column prop="projPercentage" label="服务提成"></el-table-column>
+			<el-table-column prop="numberOfPeople" label="人头"></el-table-column>
+			<el-table-column prop="projNum" label="项目个数"></el-table-column>
+			<el-table-column prop="projTime" label="服务时间"></el-table-column>
+			<el-table-column prop="guwen" label="操作人"></el-table-column>
+			<el-table-column prop="shopName" label="门店"></el-table-column>
+		</el-table>
+		<el-row style="margin-top: 10px;">
+			<el-pagination
+					@size-change="handleSizeChange"
+					@current-change="handleCurrentChange"
+					:current-page="page.currentPage"
+					:page-sizes="[10, 20, 30, 50]"
+					:page-size="page.size"
+					layout="total, sizes, prev, pager, next, jumper"
+					:total="page.total">
+			</el-pagination>
+		</el-row>
+	</el-row>
+</div>
+<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
+<script type="text/javascript" th:inline="javascript">
+	var vue = new Vue({
+		el : "#app",
+		data : {
+			tableData : [],
+			customColumns : [],
+			shopList : [],
+			achieveUsers : [],
+			years : [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021],
+			months : ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"],
+			days : [],
+			form : {
+				year : '',
+				month : '',
+				day : '',
+				timeRange : '',
+				vipQueryKey : '',
+				beaultId : '',
+				shopId : ''
+			},
+			page : {
+				currentPage : 1,
+				size : 10,
+				total : 0
 			}
-		 MTools.ininDatetimepicker(initParam);
-		//限制结束时间不小于开始时间
-		 MTools.limitStartEndTime({});
-		
-		var date = new Date();
-		var year = date.getFullYear();
-		var month = date.getMonth() + 1;
-		var year_options = "";
-		for (var i = 9; i > 0; i--) {
-			year_options += "<option value='" + (year - i) + "'>" + (year - i)
-					+ "</option>";
-		}
-		year_options += "<option value='"+year+"' selected='selected'>" + year
-				+ "</option>";
-		$("#select_year").html(year_options);
-		$("#select_month").find("option").each(function(row) {
-			var option_month = $(this).val();
-			if (month == option_month) {
-				$(this).attr("selected", true);
-			}
-		});
+		},
+		created : function() {
+			this.initDays();
+			this.queryCustomColumns();
+			this.queryShops();
+			this.queryAchieveUsers();
+		},
+		methods : {
+			queryTableData () {
+				let _this = this;
+				var form = _this.form;
+				var page = _this.page;
+				var params = _this.form;
+				params.limit = page.size;
+				params.offset = (page.currentPage - 1) * page.size;
 
-		function buildOpenDetail(value, row, index){
-			var html = [];
-			if(row.orderType=='服务单'){
-				html[0] = '<a  onClick="fnPublci.showServiceOrder(1 , \'' + value +'\')"   class="text-primary " >'+value+'</a>'
-			}else{
-				html[0] = '<a  onClick="fnPublci.showOrder(1 , \'' + value +'\')"   class="text-primary " >'+value+'</a>'
-			}
-
-			return html.join("");
-		}
-
-
-
-
-		$(function() {
-			MTools.autoFullSelect();
-			myGrid = MGrid.initGrid({
-				url : basePath+"/admin/achieve/findDailyInfoNew",
-				showExport : true,
-				showFooter : true,
-				height:'auto',
-				width:'auto',
-				exportDataType : "basic", //basic', 'all', 'selected'.
-				exportTypes : [ 'excel', 'xlsx' ], //导出类型
-				exportOptions : {
-					ignoreColumn : [ 0 ],
-					fileName : "每日单据统计" + MTools.getTime(), //文件名称设置  
-					worksheetName : 'Sheet1', //表格工作区名称  
-					tableName : '每日单据统计',
-					excelstyles : [ 'background-color', 'color', 'font-size',
-							'font-weight' ],
+				if (form.timeRange) {
+					params.beginTime = form.timeRange?moment(form.timeRange[0]).format("YYYY-MM-DD HH:mm"):'';
+					params.endTime = form.timeRange?moment(form.timeRange[1]).format("YYYY-MM-DD HH:mm"):'';
 				}
-			});
-
-			$('[data-toggle="tooltip"]').tooltip()
-
-		});
-
-		function footCountTitle(data) {
-			return "<b>合计</b>";
-		};
-		function countColumn(data) {
-			console.log(data)
-			 field = this.field;
-			    var resultsumQuantity = parseFloat((data.reduce(function(sum, row) { 
-			    	console.log(sum,row[field]);
-			        return sum + (+row[field]);
-			    }, 0)).toFixed(2));//保留有效数字
-			    return "<b>"+resultsumQuantity+"</b>";
-		};
-		
-		
-		function exportExcel(){
-
-			var param=MForm.toUrlParam("#serchform");
-
-			window.location.href=basePath+"/admin/achieve/exportDailyInfoNew?"+param;
+				$.AjaxProxy({
+					p:params
+				}).invoke(basePath + "/admin/achieve/findDailyInfoNew", function (loj) {
+					_this.tableData = loj.getValue("rows");
+					_this.page.total = loj.getResult().total;
+				});
+			},
+			queryCustomColumns() {
+				let _this = this;
+				AjaxProxy.requst({
+					app: _this,
+					url: basePath + '/admin/customerDictionary/getListByParentCode/YJLX',
+					callback: function (data) {
+						_this.customColumns = data.rows;
+						_this.queryTableData();
+					}
+				});
+			},
+			queryShops() {
+				let _this = this;
+				AjaxProxy.requst({
+					app: _this,
+					url: basePath + '/admin/shopInfo/findAllWithPermi',
+					callback: function (data) {
+						_this.shopList = data.rows;
+					}
+				});
+			},
+			queryAchieveUsers() {
+				let _this = this;
+				AjaxProxy.requst({
+					app: _this,
+					url: basePath + '/admin/getShopStaffByRoleName?roleName=美疗师',
+					callback: function (data) {
+						_this.achieveUsers = data.rows;
+					}
+				});
+			},
+			resetForm(formName) {
+				// this.$refs[formName].resetFields();
+				this.form = {
+					timeRange : '',
+					vipQueryKey : '',
+					beaultId : '',
+					shopId : ''
+				}
+			},
+			search() {
+				this.queryTableData();
+			},
+			handleSizeChange(val) {
+				this.page.size = val;
+				this.queryTableData();
+			},
+			handleCurrentChange(val) {
+				this.page.currentPage = val;
+				this.queryTableData();
+			},
+			initDays() {
+				let _this = this;
+				for (var i = 1; i <= 31 ; i++) {
+					_this.days.push(i);
+				}
+			},
+			getRequestParam() {
+				var form = this.form;
+				var params = form;
+				if (form.timeRange) {
+					params.beginTime = form.timeRange?moment(form.timeRange[0]).format("YYYY-MM-DD HH:mm"):'';
+					params.endTime = form.timeRange?moment(form.timeRange[1]).format("YYYY-MM-DD HH:mm"):'';
+				}
+				return params;
+			},
+			exportExcel() {
+				window.location.href=basePath+"/admin/achieve/exportDailyInfoNew?"+MTools.jsonToUrlParam(this.getRequestParam());
+			},
+			jumpOrder(type, value) {
+				if(type=='服务单') {
+					fnPublci.showServiceOrder(1, value);
+				} else {
+					fnPublci.showOrder(1, value);
+				}
+			}
 		}
-		
-	</script>
+	});
+</script>
 </body>
 </html>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html
index be177b0..1982dfd 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html
@@ -549,7 +549,16 @@
         created : function() {
             let _this = this;
             this.orderParam = /*[[${orderParam}]]*/
-                this.queryOrderDetailData(this.orderParam);
+            var orderId = /*[[${orderId}]]*/
+            var orderNo = /*[[${orderNo}]]*/
+
+            var param = {};
+            if(orderId) {
+                param.id = orderId;
+            } else {
+                param.orderNo = orderNo;
+            }
+            this.queryOrderDetailData(param);
             // 业绩类型
             AjaxProxy.requst({
                 app: _this,
@@ -575,7 +584,7 @@
                 let _this = this;
                 AjaxProxy.requst({
                     app: _this,
-                    data: {id: param, orderNo:param},
+                    data: param,
                     contentType: 'application/x-www-form-urlencoded',
                     url: basePath + '/admin/order/findOrderDetailByIdOrNo',
                     callback: function (data) {
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new-bak.html b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new-bak.html
new file mode 100644
index 0000000..3bcdc67
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new-bak.html
@@ -0,0 +1,229 @@
+
+<!DOCTYPE HTML>
+<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
+<head>
+<meta charset="utf-8">
+<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
+<meta name="renderer" content="webkit|ie-comp|ie-stand">
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<meta name="viewport"
+	content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+<meta http-equiv="Cache-Control" content="no-siteapp" />
+<LINK rel="Bookmark" href="../images/favicon.ico">
+<!-- 本框架基本脚本和样式 -->
+<script type="text/javascript"
+        th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script>
+ 
+</head>
+<body class="gray-bg">
+	 
+
+	<div class="ibox-content">
+		<!-- 搜索框部分start -->
+		<form class="form-inline" id="serchform">
+		<div class="row mb-10">
+				<div class="col-sm-8">
+					<button  onclick="myGrid.serchData()" type="button" class="btn btn-info btn-sm"><i class="fa fa-search" ></i> 搜索</button>
+					<button  onclick="myGrid.resetForm()" type="button"   class="btn btn-default btn-sm"><i class="fa fa-refresh " ></i> 重置</button>
+					<button  matrix:btn="ygyjbb-exportExcel"  onclick="exportExcel()" type="button" class="btn btn-default btn-sm"><i class="fa fa-download" ></i> 导出</button>
+				</div>
+			</div>
+			<div class="form-group mr-20">
+				<label >选择年月</label> <select
+					class="form-control" name="year" id="select_year">
+					<option value="">年份</option>
+					<option value="2010">2010</option>
+					<option value="2011">2011</option>
+					<option value="2012">2012</option>
+					<option value="2013">2013</option>
+					<option value="2014">2014</option>
+					<option value="2015">2015</option>
+					<option value="2016">2016</option>
+					<option value="2017">2017</option>
+					<option value="2018">2018</option>
+					<option value="2019">2019</option>
+					<option value="2020">2020</option>
+					<option value="2021">2021</option>
+				</select> <select class="form-control" name="month" id="select_month">
+					<option value="01">1</option>
+					<option value="02">2</option>
+					<option value="03">3</option>
+					<option value="04">4</option>
+					<option value="05">5</option>
+					<option value="06">6</option>
+					<option value="07">7</option>
+					<option value="08">8</option>
+					<option value="09">9</option>
+					<option value="10">10</option>
+					<option value="11">11</option>
+					<option value="12">12</option>
+				</select>
+				<select class="form-control" name="day" id="select_day">
+				 <option value="">日</option>
+				<th:block th:each="i:${#numbers.sequence(1, 31)}"   >
+					<option th:value="${i }" th:text="${i }"></option>
+				</th:block>
+				</select>
+			</div>
+			<div class="form-group mr-20">
+				<label>日期范围</label>
+				<input name="beginTime" type="text" class="form-control datetimepicker" id="beginTime">-
+				<input name="endTime"  type="text" class="form-control datetimepicker" id="endTime">
+			</div>
+
+			<div class="form-group mr-20">
+				<label>会员</label>
+				<input autocomplete="off" placeholder="姓名/编号/电话"  name="vipQueryKey" type="text" class="form-control"  >
+			</div>
+
+			<div class="form-group mr-20">
+				<label>业绩归属人</label>
+				<select class="form-control autoFull select2"
+						th:data-url="@{/admin/getShopStaffByRoleName?roleName=美疗师}"
+						data-value="suId"
+						data-filed="suName"
+						name="beaultId"
+						id="beaultId">
+					<option value="">--请选择--</option>
+				</select>
+			</div>
+
+			<div class="form-group mr-20">
+				<label>门店</label>
+				<select class="form-control autoFull" data-filed="shopName" name="shopId" id="shopId"
+						th:data-url="@{/admin/shopInfo/findAllWithPermi}">
+					<option value=''>--请选择部所属门店--</option>
+				</select>
+			</div>
+		</form>
+
+
+		<table id="mgrid">
+			<thead>
+				<tr>
+					<th data-formatter="MGrid.indexfn" data-align="center"
+						data-width="30px" data-footer-formatter="footCountTitle">序号</th>
+					<th data-field="datatime">时间</th>
+					<th data-field="orderNo" data-formatter="buildOpenDetail" >订单编号</th>
+					<th data-field="orderType">订单类型</th>
+					<th data-field="vipName">会员姓名</th>
+					<th data-field="proName">产品</th>
+					<th data-field="cateName">产品分类</th>
+					<th data-field="zkTotal" data-footer-formatter="countColumn">订单金额</th>
+					<th data-field="goodsCash" data-footer-formatter="countColumn">订单业绩</th>
+					<th data-field="payMethod">收款方式</th>
+					<th data-field="achieveType">业绩类型</th>
+					<th data-field="meiliao">员工</th>
+					<th data-field="hisConsume" data-footer-formatter="countColumn">本金消耗
+						<i data-toggle="tooltip" data-placement="top" title="消耗金额:客户做服务时划扣的本金" class="fa fa-question-circle"></i>
+					</th>
+					<th data-field="freeConsume" data-footer-formatter="countColumn">赠送消耗
+						<i data-toggle="tooltip" data-placement="top" title="赠送消耗:客户做服务时划扣的赠送金额" class="fa fa-question-circle"></i>
+					</th>
+					<th data-field="projPercentage" data-footer-formatter="countColumn">服务提成
+						<i data-toggle="tooltip" data-placement="top" title="服务提成:为美疗师手动设置的项目服务提成" class="fa fa-question-circle"></i>
+					</th>
+					<th data-field="numberOfPeople" data-footer-formatter="countColumn">人头</th>
+					<th data-field="projNum" data-footer-formatter="countColumn">项目个数</th>
+					<th data-field="projTime" data-footer-formatter="countColumn">项目时间</th>
+					<th data-field="guwen">操作人</th>
+					<th data-field="shopName">门店</th>
+					
+				</tr>
+			</thead>
+		</table>
+	</div>
+
+	<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
+	<script type="text/javascript" th:src="@{/js/function/public.js}"></script>
+	<script type="text/javascript">
+		var myGrid;
+		var initParam = {
+				format : "yyyy-mm-dd hh:ii", //默认显示年与日,如果想显示十分秒:"yyyy-mm-dd hh:ii:ss"
+				minView: "hour", 	//"month",只显示年月日的选择,不会再跳转去选择时分秒;如果想要选择时分秒的:"hour"
+			}
+		 MTools.ininDatetimepicker(initParam);
+		//限制结束时间不小于开始时间
+		 MTools.limitStartEndTime({});
+		
+		var date = new Date();
+		var year = date.getFullYear();
+		var month = date.getMonth() + 1;
+		var year_options = "";
+		for (var i = 9; i > 0; i--) {
+			year_options += "<option value='" + (year - i) + "'>" + (year - i)
+					+ "</option>";
+		}
+		year_options += "<option value='"+year+"' selected='selected'>" + year
+				+ "</option>";
+		$("#select_year").html(year_options);
+		$("#select_month").find("option").each(function(row) {
+			var option_month = $(this).val();
+			if (month == option_month) {
+				$(this).attr("selected", true);
+			}
+		});
+
+		function buildOpenDetail(value, row, index){
+			var html = [];
+			if(row.orderType=='服务单'){
+				html[0] = '<a  onClick="fnPublci.showServiceOrder(1 , \'' + value +'\')"   class="text-primary " >'+value+'</a>'
+			}else{
+				html[0] = '<a  onClick="fnPublci.showOrder(1 , \'' + value +'\')"   class="text-primary " >'+value+'</a>'
+			}
+
+			return html.join("");
+		}
+
+
+
+
+		$(function() {
+			MTools.autoFullSelect();
+			myGrid = MGrid.initGrid({
+				url : basePath+"/admin/achieve/findDailyInfoNew",
+				showExport : true,
+				showFooter : true,
+				height:'auto',
+				width:'auto',
+				exportDataType : "basic", //basic', 'all', 'selected'.
+				exportTypes : [ 'excel', 'xlsx' ], //导出类型
+				exportOptions : {
+					ignoreColumn : [ 0 ],
+					fileName : "每日单据统计" + MTools.getTime(), //文件名称设置  
+					worksheetName : 'Sheet1', //表格工作区名称  
+					tableName : '每日单据统计',
+					excelstyles : [ 'background-color', 'color', 'font-size',
+							'font-weight' ],
+				}
+			});
+
+			$('[data-toggle="tooltip"]').tooltip()
+
+		});
+
+		function footCountTitle(data) {
+			return "<b>合计</b>";
+		};
+		function countColumn(data) {
+			console.log(data)
+			 field = this.field;
+			    var resultsumQuantity = parseFloat((data.reduce(function(sum, row) { 
+			    	console.log(sum,row[field]);
+			        return sum + (+row[field]);
+			    }, 0)).toFixed(2));//保留有效数字
+			    return "<b>"+resultsumQuantity+"</b>";
+		};
+		
+		
+		function exportExcel(){
+
+			var param=MForm.toUrlParam("#serchform");
+
+			window.location.href=basePath+"/admin/achieve/exportDailyInfoNew?"+param;
+		}
+		
+	</script>
+</body>
+</html>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html
index 3bcdc67..0137137 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html
@@ -11,219 +11,273 @@
 <meta http-equiv="Cache-Control" content="no-siteapp" />
 <LINK rel="Bookmark" href="../images/favicon.ico">
 <!-- 本框架基本脚本和样式 -->
-<script type="text/javascript"
-        th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
-<script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script>
- 
+<script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
+<link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
+<link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" th:src="@{/js/function/public.js}"></script>
 </head>
-<body class="gray-bg">
-	 
+<style>
+	.table-style {
+		margin: 20px 0;
+		padding: 20px 10px;
+		border: 1px solid #DCDFE6;
+		background-color: white;
+	}
+	.search-form {
+		background-color: white;
+		padding-top: 10px;
+		padding-left: 20px;
+		padding-bottom: 10px;
+	}
+</style>
+<body>
+<div id="app" style="">
+	<el-row class="search-form">
+		<el-form ref="form" :model="form" inline>
+			<el-form-item label="选择年月">
+				<el-select v-model="form.year" style="width:120px;" placeholder="请选择">
+					<el-option v-for="item in years"
+							   :key="item"
+							   :label="item"
+							   :value="item"></el-option>
+				</el-select>
+			</el-form-item>
+			<el-form-item>
+				<el-select v-model="form.month" style="width:120px;" placeholder="请选择">
+					<el-option v-for="item in months"
+							   :key="item"
+							   :label="item"
+							   :value="item"></el-option>
+				</el-select>
+			</el-form-item>
+			<el-form-item>
+				<el-select v-model="form.day" style="width:120px;" placeholder="请选择">
+					<el-option v-for="item in days"
+							   :key="item"
+							   :label="item"
+							   :value="item"></el-option>
+				</el-select>
+			</el-form-item>
+			<el-form-item label="日期范围">
+				<el-date-picker v-model="form.timeRange"
+								type="datetimerange"
+								range-separator="至"
+								start-placeholder="开始日期"
+								end-placeholder="结束日期">
+				</el-date-picker>
+			</el-form-item>
 
-	<div class="ibox-content">
-		<!-- 搜索框部分start -->
-		<form class="form-inline" id="serchform">
-		<div class="row mb-10">
-				<div class="col-sm-8">
-					<button  onclick="myGrid.serchData()" type="button" class="btn btn-info btn-sm"><i class="fa fa-search" ></i> 搜索</button>
-					<button  onclick="myGrid.resetForm()" type="button"   class="btn btn-default btn-sm"><i class="fa fa-refresh " ></i> 重置</button>
-					<button  matrix:btn="ygyjbb-exportExcel"  onclick="exportExcel()" type="button" class="btn btn-default btn-sm"><i class="fa fa-download" ></i> 导出</button>
-				</div>
-			</div>
-			<div class="form-group mr-20">
-				<label >选择年月</label> <select
-					class="form-control" name="year" id="select_year">
-					<option value="">年份</option>
-					<option value="2010">2010</option>
-					<option value="2011">2011</option>
-					<option value="2012">2012</option>
-					<option value="2013">2013</option>
-					<option value="2014">2014</option>
-					<option value="2015">2015</option>
-					<option value="2016">2016</option>
-					<option value="2017">2017</option>
-					<option value="2018">2018</option>
-					<option value="2019">2019</option>
-					<option value="2020">2020</option>
-					<option value="2021">2021</option>
-				</select> <select class="form-control" name="month" id="select_month">
-					<option value="01">1</option>
-					<option value="02">2</option>
-					<option value="03">3</option>
-					<option value="04">4</option>
-					<option value="05">5</option>
-					<option value="06">6</option>
-					<option value="07">7</option>
-					<option value="08">8</option>
-					<option value="09">9</option>
-					<option value="10">10</option>
-					<option value="11">11</option>
-					<option value="12">12</option>
-				</select>
-				<select class="form-control" name="day" id="select_day">
-				 <option value="">日</option>
-				<th:block th:each="i:${#numbers.sequence(1, 31)}"   >
-					<option th:value="${i }" th:text="${i }"></option>
-				</th:block>
-				</select>
-			</div>
-			<div class="form-group mr-20">
-				<label>日期范围</label>
-				<input name="beginTime" type="text" class="form-control datetimepicker" id="beginTime">-
-				<input name="endTime"  type="text" class="form-control datetimepicker" id="endTime">
-			</div>
+			<el-form-item label="会员">
+				<el-input v-model="form.vipQueryKey"></el-input>
+			</el-form-item>
 
-			<div class="form-group mr-20">
-				<label>会员</label>
-				<input autocomplete="off" placeholder="姓名/编号/电话"  name="vipQueryKey" type="text" class="form-control"  >
-			</div>
+			<el-form-item label="业绩归属人">
+				<el-select v-model="form.beaultId" placeholder="请选择">
+					<el-option v-for="item in achieveUsers"
+							   :key="item.suId"
+							   :label="item.suName"
+							   :value="item.suId"></el-option>
+				</el-select>
+			</el-form-item>
 
-			<div class="form-group mr-20">
-				<label>业绩归属人</label>
-				<select class="form-control autoFull select2"
-						th:data-url="@{/admin/getShopStaffByRoleName?roleName=美疗师}"
-						data-value="suId"
-						data-filed="suName"
-						name="beaultId"
-						id="beaultId">
-					<option value="">--请选择--</option>
-				</select>
-			</div>
+			<el-form-item label="门店">
+				<el-select v-model="form.shopId" placeholder="请选择所属门店">
+					<el-option v-for="item in shopList"
+							:key="item.id"
+							:label="item.shopName"
+							:value="item.id">
+					</el-option>
+				</el-select>
+			</el-form-item>
 
-			<div class="form-group mr-20">
-				<label>门店</label>
-				<select class="form-control autoFull" data-filed="shopName" name="shopId" id="shopId"
-						th:data-url="@{/admin/shopInfo/findAllWithPermi}">
-					<option value=''>--请选择部所属门店--</option>
-				</select>
-			</div>
-		</form>
+			<el-button type="primary" @click="search" >搜索</el-button>
+			<el-button @click="resetForm('form')">重置</el-button>
+			<el-button type="warning" @click="exportExcel">导出</el-button>
+		</el-form>
 
-
-		<table id="mgrid">
-			<thead>
-				<tr>
-					<th data-formatter="MGrid.indexfn" data-align="center"
-						data-width="30px" data-footer-formatter="footCountTitle">序号</th>
-					<th data-field="datatime">时间</th>
-					<th data-field="orderNo" data-formatter="buildOpenDetail" >订单编号</th>
-					<th data-field="orderType">订单类型</th>
-					<th data-field="vipName">会员姓名</th>
-					<th data-field="proName">产品</th>
-					<th data-field="cateName">产品分类</th>
-					<th data-field="zkTotal" data-footer-formatter="countColumn">订单金额</th>
-					<th data-field="goodsCash" data-footer-formatter="countColumn">订单业绩</th>
-					<th data-field="payMethod">收款方式</th>
-					<th data-field="achieveType">业绩类型</th>
-					<th data-field="meiliao">员工</th>
-					<th data-field="hisConsume" data-footer-formatter="countColumn">本金消耗
-						<i data-toggle="tooltip" data-placement="top" title="消耗金额:客户做服务时划扣的本金" class="fa fa-question-circle"></i>
-					</th>
-					<th data-field="freeConsume" data-footer-formatter="countColumn">赠送消耗
-						<i data-toggle="tooltip" data-placement="top" title="赠送消耗:客户做服务时划扣的赠送金额" class="fa fa-question-circle"></i>
-					</th>
-					<th data-field="projPercentage" data-footer-formatter="countColumn">服务提成
-						<i data-toggle="tooltip" data-placement="top" title="服务提成:为美疗师手动设置的项目服务提成" class="fa fa-question-circle"></i>
-					</th>
-					<th data-field="numberOfPeople" data-footer-formatter="countColumn">人头</th>
-					<th data-field="projNum" data-footer-formatter="countColumn">项目个数</th>
-					<th data-field="projTime" data-footer-formatter="countColumn">项目时间</th>
-					<th data-field="guwen">操作人</th>
-					<th data-field="shopName">门店</th>
-					
-				</tr>
-			</thead>
-		</table>
-	</div>
-
-	<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
-	<script type="text/javascript" th:src="@{/js/function/public.js}"></script>
-	<script type="text/javascript">
-		var myGrid;
-		var initParam = {
-				format : "yyyy-mm-dd hh:ii", //默认显示年与日,如果想显示十分秒:"yyyy-mm-dd hh:ii:ss"
-				minView: "hour", 	//"month",只显示年月日的选择,不会再跳转去选择时分秒;如果想要选择时分秒的:"hour"
+	</el-row>
+	<el-row class="table-style">
+		<el-table :data="tableData" style="width: 100%">
+			<el-table-column type="index" width="30"></el-table-column>
+			<el-table-column prop="datatime" width="150" label="时间"></el-table-column>
+			<el-table-column prop="orderNo" width="180" label="订单编号">
+				<template slot-scope="scope">
+					<el-link @click="jumpOrder(scope.row.orderType, scope.row.orderNo)" type="primary">{{scope.row.orderNo}}</el-link>
+				</template>
+			</el-table-column>
+			<el-table-column prop="orderType" label="订单类型"></el-table-column>
+			<el-table-column prop="vipName" label="会员姓名"></el-table-column>
+			<el-table-column prop="proName" label="产品" width="200"></el-table-column>
+			<el-table-column prop="cateName" label="产品分类"></el-table-column>
+			<el-table-column prop="zkTotal" label="订单金额"></el-table-column>
+<!--			<el-table-column prop="goodsCash" label="订单业绩"></el-table-column>-->
+			<el-table-column prop="meiliao" label="员工"></el-table-column>
+			<el-table-column v-for="(item, index) in customColumns" width="120" :key="index" :label="item.value">
+				<template slot-scope="scope">
+					<span v-if="item.value == scope.row.achieveType">{{scope.row.goodsCash}}</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="hisConsume" label="本金消耗"></el-table-column>
+			<el-table-column prop="freeConsume" label="赠送消耗"></el-table-column>
+			<el-table-column prop="projPercentage" label="服务提成"></el-table-column>
+			<el-table-column prop="numberOfPeople" label="人头"></el-table-column>
+			<el-table-column prop="projNum" label="项目个数"></el-table-column>
+			<el-table-column prop="projTime" label="服务时间"></el-table-column>
+			<el-table-column prop="guwen" label="操作人"></el-table-column>
+			<el-table-column prop="shopName" label="门店"></el-table-column>
+		</el-table>
+		<el-row style="margin-top: 10px;">
+			<el-pagination
+					@size-change="handleSizeChange"
+					@current-change="handleCurrentChange"
+					:current-page="page.currentPage"
+					:page-sizes="[10, 20, 30, 50]"
+					:page-size="page.size"
+					layout="total, sizes, prev, pager, next, jumper"
+					:total="page.total">
+			</el-pagination>
+		</el-row>
+	</el-row>
+</div>
+<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
+<script type="text/javascript" th:inline="javascript">
+	var vue = new Vue({
+		el : "#app",
+		data : {
+			tableData : [],
+			customColumns : [],
+			shopList : [],
+			achieveUsers : [],
+			years : [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021],
+			months : ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"],
+			days : [],
+			form : {
+				year : '',
+				month : '',
+				day : '',
+				timeRange : '',
+				vipQueryKey : '',
+				beaultId : '',
+				shopId : ''
+			},
+			page : {
+				currentPage : 1,
+				size : 10,
+				total : 0
 			}
-		 MTools.ininDatetimepicker(initParam);
-		//限制结束时间不小于开始时间
-		 MTools.limitStartEndTime({});
-		
-		var date = new Date();
-		var year = date.getFullYear();
-		var month = date.getMonth() + 1;
-		var year_options = "";
-		for (var i = 9; i > 0; i--) {
-			year_options += "<option value='" + (year - i) + "'>" + (year - i)
-					+ "</option>";
-		}
-		year_options += "<option value='"+year+"' selected='selected'>" + year
-				+ "</option>";
-		$("#select_year").html(year_options);
-		$("#select_month").find("option").each(function(row) {
-			var option_month = $(this).val();
-			if (month == option_month) {
-				$(this).attr("selected", true);
-			}
-		});
+		},
+		created : function() {
+			this.initDays();
+			this.queryCustomColumns();
+			this.queryShops();
+			this.queryAchieveUsers();
+		},
+		methods : {
+			queryTableData () {
+				let _this = this;
+				var form = _this.form;
+				var page = _this.page;
+				var params = _this.form;
+				params.limit = page.size;
+				params.offset = (page.currentPage - 1) * page.size;
 
-		function buildOpenDetail(value, row, index){
-			var html = [];
-			if(row.orderType=='服务单'){
-				html[0] = '<a  onClick="fnPublci.showServiceOrder(1 , \'' + value +'\')"   class="text-primary " >'+value+'</a>'
-			}else{
-				html[0] = '<a  onClick="fnPublci.showOrder(1 , \'' + value +'\')"   class="text-primary " >'+value+'</a>'
-			}
-
-			return html.join("");
-		}
-
-
-
-
-		$(function() {
-			MTools.autoFullSelect();
-			myGrid = MGrid.initGrid({
-				url : basePath+"/admin/achieve/findDailyInfoNew",
-				showExport : true,
-				showFooter : true,
-				height:'auto',
-				width:'auto',
-				exportDataType : "basic", //basic', 'all', 'selected'.
-				exportTypes : [ 'excel', 'xlsx' ], //导出类型
-				exportOptions : {
-					ignoreColumn : [ 0 ],
-					fileName : "每日单据统计" + MTools.getTime(), //文件名称设置  
-					worksheetName : 'Sheet1', //表格工作区名称  
-					tableName : '每日单据统计',
-					excelstyles : [ 'background-color', 'color', 'font-size',
-							'font-weight' ],
+				if (form.timeRange) {
+					params.beginTime = form.timeRange?moment(form.timeRange[0]).format("YYYY-MM-DD HH:mm"):'';
+					params.endTime = form.timeRange?moment(form.timeRange[1]).format("YYYY-MM-DD HH:mm"):'';
 				}
-			});
-
-			$('[data-toggle="tooltip"]').tooltip()
-
-		});
-
-		function footCountTitle(data) {
-			return "<b>合计</b>";
-		};
-		function countColumn(data) {
-			console.log(data)
-			 field = this.field;
-			    var resultsumQuantity = parseFloat((data.reduce(function(sum, row) { 
-			    	console.log(sum,row[field]);
-			        return sum + (+row[field]);
-			    }, 0)).toFixed(2));//保留有效数字
-			    return "<b>"+resultsumQuantity+"</b>";
-		};
-		
-		
-		function exportExcel(){
-
-			var param=MForm.toUrlParam("#serchform");
-
-			window.location.href=basePath+"/admin/achieve/exportDailyInfoNew?"+param;
+				$.AjaxProxy({
+					p:params
+				}).invoke(basePath + "/admin/achieve/findDailyInfoNew", function (loj) {
+					_this.tableData = loj.getValue("rows");
+					_this.page.total = loj.getResult().total;
+				});
+			},
+			queryCustomColumns() {
+				let _this = this;
+				AjaxProxy.requst({
+					app: _this,
+					url: basePath + '/admin/customerDictionary/getListByParentCode/YJLX',
+					callback: function (data) {
+						_this.customColumns = data.rows;
+						_this.queryTableData();
+					}
+				});
+			},
+			queryShops() {
+				let _this = this;
+				AjaxProxy.requst({
+					app: _this,
+					url: basePath + '/admin/shopInfo/findAllWithPermi',
+					callback: function (data) {
+						_this.shopList = data.rows;
+					}
+				});
+			},
+			queryAchieveUsers() {
+				let _this = this;
+				AjaxProxy.requst({
+					app: _this,
+					url: basePath + '/admin/getShopStaffByRoleName?roleName=美疗师',
+					callback: function (data) {
+						_this.achieveUsers = data.rows;
+					}
+				});
+			},
+			resetForm(formName) {
+				// this.$refs[formName].resetFields();
+				this.form = {
+					timeRange : '',
+					vipQueryKey : '',
+					beaultId : '',
+					shopId : ''
+				}
+			},
+			search() {
+				this.queryTableData();
+			},
+			handleSizeChange(val) {
+				this.page.size = val;
+				this.queryTableData();
+			},
+			handleCurrentChange(val) {
+				this.page.currentPage = val;
+				this.queryTableData();
+			},
+			initDays() {
+				let _this = this;
+				for (var i = 1; i <= 31 ; i++) {
+					_this.days.push(i);
+				}
+			},
+			getRequestParam() {
+				var form = this.form;
+				var params = form;
+				if (form.timeRange) {
+					params.beginTime = form.timeRange?moment(form.timeRange[0]).format("YYYY-MM-DD HH:mm"):'';
+					params.endTime = form.timeRange?moment(form.timeRange[1]).format("YYYY-MM-DD HH:mm"):'';
+				}
+				return params;
+			},
+			exportExcel() {
+				window.location.href=basePath+"/admin/achieve/exportDailyInfoNew?"+MTools.jsonToUrlParam(this.getRequestParam());
+			},
+			jumpOrder(type, value) {
+				if(type=='服务单') {
+					fnPublci.showServiceOrder(1, value);
+				} else {
+					fnPublci.showOrder(1, value);
+				}
+			}
 		}
-		
-	</script>
+	});
+</script>
 </body>
 </html>
diff --git a/zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-form.html b/zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-form.html
index dec22fc..3d20568 100644
--- a/zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-form.html
@@ -42,7 +42,7 @@
                         <div class="panel-heading">基本信息</div>
                         <div class="panel-body">
                             <div class="form-group">
-                                <label class="col-sm-2 control-label">分类ID
+                                <label class="col-sm-2 control-label">产品分类
                                     <span class="text-danger">*</span>
                                 </label>
                                 <div class="col-sm-4">
@@ -69,6 +69,40 @@
                                            maxLength="1000" dataType="*"
                                            th:value="${obj.briefIntroduction}" nullmsg="产品简介不能为空">
                                 </div>
+                                <label class="col-sm-2 control-label">是否可分销
+                                    <span class="text-danger">*</span>
+                                </label>
+                                <div class="col-sm-4">
+                                    <select th:field="${obj.ableSales}" class="form-control select2 " size="1"
+                                            name="ableSales"
+                                            id="ableSales" style="width: 100%">
+                                        <option value="1" th:selected="${obj.ableSales == '1'}">可分销</option>
+                                        <option value="2" th:selected="${obj.ableSales == '2'}">不可分销</option>
+                                        </option>
+                                    </select>
+                                </div>
+                            </div>
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">上架卖场
+                                    <span class="text-danger">*</span>
+                                </label>
+                                <div class="col-sm-4">
+                                    <select th:field="${obj.mallType}" class="form-control select2 " size="1"
+                                            name="mallType"
+                                            id="mallType" style="width: 100%">
+                                        <option value="1" th:selected="${obj.mallType == '1'}">微商城</option>
+                                        <option value="2" th:selected="${obj.mallType == '2'}">积分商城</option>
+                                        </option>
+                                    </select>
+                                </div>
+                                <label class="col-sm-2 control-label">积分商城分类
+                                    <span class="text-danger">*</span>
+                                </label>
+                                <div class="col-sm-4">
+                                    <select class="form-control select2 " size="1" name="scoreCategoryId"
+                                            id="scoreCategoryId" style="width: 100%">
+                                    </select>
+                                </div>
 
                             </div>
                             <div class="form-group">
@@ -87,14 +121,7 @@
                                            dataType="n" nullmsg="展示销量不能为空"
                                            th:value="${obj.dsVolume}" errormsg="请填写数字">
                                 </div>
-                                <!--<label class="col-sm-2 control-label">运费
-                                    <span class="text-danger">*</span>
-                                </label>
-                                <div class="col-sm-4">
-                                    <input autocomplete="off"   type="text" class="form-control" name="carriage"
-                                           maxLength="250" datatype="*"
-                                           th:value="${obj.carriage}" nullmsg="运费不能为空">
-                                </div>-->
+
                             </div>
                             <div class="form-group">
                                 <label class="col-sm-2 control-label">限购数量
@@ -226,11 +253,12 @@
                                     <th>规格图片地址<span class="text-danger">*</span></th>
                                     <th>库存<span class="text-danger">*</span></th>
                                     <th>价格<span class="text-danger">*</span></th>
-                                    <th>积分</th>
+                                    <th>消费可得积分</th>
                                     <th>关联ERP产品</th>
                                     <th>排序</th>
                                     <th>推广提成</th>
                                     <th>邀请提成</th>
+                                    <th>兑换所需积分</th>
                                     <th>操作</th>
                                 </tr>
                             </table>
@@ -395,6 +423,9 @@
     });
     $(function () {
         initSeclect("#parentId",[[${obj.categoryId}]]);
+        initScoreSeclect("#scoreCategoryId",[[${obj.scoreCategoryId}]]);
+
+
         initAttrSeclect("#attrIds");
         $("#mobileDetails").html(obj.mobileDetails);
         $("#pcDetails").html(obj.pcDetails);
@@ -538,6 +569,10 @@
             if (invitationPrice == null || typeof invitationPrice == 'undefined') {
                 invitationPrice = "";
             }
+   var scorePrice = shopSkus[c].scorePrice;
+            if (scorePrice == null || typeof scorePrice == 'undefined') {
+                scorePrice = "";
+            }
 
 
             var html=
@@ -554,6 +589,7 @@
                 +'<td><input autocomplete="off"   type="text" class="form-control"  value="'+sort+'" name=""></td>'
                 +'<td><input autocomplete="off"   type="text" class="form-control"  value="'+sealesPrice+'" name=""></td>'
                 +'<td><input autocomplete="off"   type="text" class="form-control"  value="'+invitationPrice+'" name=""></td>'
+                +'<td><input autocomplete="off"   type="text" class="form-control"  value="'+scorePrice+'" name=""></td>'
                 +'<td><i class="fa fa-trash form-control-static"	onclick="delThis(\''+trId+'\')"></i></td>'
                 +'</tr>';
             $("#skutable").find("tbody").append(html);
@@ -668,6 +704,22 @@
                     });
             });
     }
+    //初始化分积分商城分类ID
+    function initScoreSeclect(seler, def) {
+        $.AjaxProxy().invoke(basePath + "/admin/shopProductAttribute/showSonAttribute?attrCode=jfsccpfl&status=1",
+            function (loj) {
+                $(seler).createSelectTree(
+                    loj.attr("result").rows,
+                    {
+                        id: "attrId",
+                        parent: "parentId",
+                        value: "attrName",
+                        append: false,
+                        defaultValue: def,
+                        defaultHtml: ''
+                    });
+            });
+    }
 
     //添加图片节点
     function addImgTr() {
@@ -724,68 +776,72 @@
             if (i != 0) {
                 var tds = $(this).find("td");
                 var length = tds.length - 1;
-                var id = tds.eq(length - 10).find("input").val();
+                var id = tds.eq(length - 11).find("input").val();
                 if(id == null){
                     id ="";
                 }
                 sku.id = id;
 
                 //规格名称
-                var name = tds.eq(length - 9).find("input").val();
+                var name = tds.eq(length - 10).find("input").val();
                 if(name == null){
                     name = "";
                 }
                 sku.name = name;
 
                 //图片地址
-                var path = tds.eq(length - 8).find("img").attr("src");
+                var path = tds.eq(length - 9).find("img").attr("src");
                 if(path == null){
                     path = "";
                 }
                 sku.imgPath = path;
 
                 //库存
-                var stock = tds.eq(length - 7).find("input").val();
+                var stock = tds.eq(length - 8).find("input").val();
                 if(stock == ""){
                     stock = 0;
                 }
                 sku.stock = stock;
 
                 //价格
-                var price = tds.eq(length -6).find("input").val();
+                var price = tds.eq(length -7).find("input").val();
                 if(price == ""){
                     price =0;
                 }
                 sku.price = price;
 
                 //积分
-                var score = tds.eq(length - 5).find("input").val();
+                var score = tds.eq(length - 6).find("input").val();
                 if(score == ""){
                     score = 0;
                 }
                 sku.score = score;
 
                 //品种编码
-                var stockCode = tds.eq(length - 4).find("input").val();
+                var stockCode = tds.eq(length - 5).find("input").val();
                 if(stockCode == null || typeof stockCode == 'undefined'){
                     stockCode = '';
                 }
                 sku.stockCode = stockCode;
 
                 //排序
-                var sort = tds.eq(length - 3).find("input").val();
+                var sort = tds.eq(length - 4).find("input").val();
                 if(sort == ""){
                     sort = 0;
                 }
                 sku.sort = sort;
 
                 //推广提成
-                var sealesPrice = tds.eq(length - 2).find("input").val();
+                var sealesPrice = tds.eq(length - 3).find("input").val();
                 sku.sealesPrice = sealesPrice;
 
                 //邀请提成
-                var invitationPrice = tds.eq(length - 1).find("input").val();
+                var invitationPrice = tds.eq(length - 2).find("input").val();
                 sku.invitationPrice = invitationPrice;
+
+                //兑换所需积分
+                var scorePrice = tds.eq(length - 1).find("input").val();
+                sku.scorePrice = scorePrice;
 
                 skus.push(sku);
             }
@@ -793,6 +849,7 @@
 
         return skus;
     }
+
 
     /*验证sku表格中的参数*/
     function getSkusValues() {
@@ -803,7 +860,7 @@
             if (i != 0) {
                 var tds = $(this).find("td");
                 var length = tds.length - 1;
-                var name = tds.eq(length - 9).find("input").val();
+                var name = tds.eq(length - 10).find("input").val();
                 if(name == ""){
                     layer.msg("请填写规格名称",{
                         icon : 2,
@@ -821,7 +878,7 @@
                     return false;
                 }
 
-                var stock = tds.eq(length -7).find("input").val();
+                var stock = tds.eq(length -8).find("input").val();
                 if(stock == ""){
                     layer.msg("请填写库存",{
                         icon : 2,
@@ -830,7 +887,7 @@
                     flag = true;
                     return false;
                 }
-                var price = tds.eq(length - 6).find("input").val();
+                var price = tds.eq(length - 7 ).find("input").val();
                 if(price == ""){
                     layer.msg("请填写价格",{
                         icon : 2,
diff --git a/zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-list.html b/zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-list.html
index a7e7d16..e07f5e5 100644
--- a/zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-list.html
+++ b/zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-list.html
@@ -35,10 +35,18 @@
                 <input autocomplete="off" id="search-text" name="title" placeholder="输入查询关键词"
                        type="text" class="form-control">
             </div>
-
+            <div class="form-group">
+                <label class="control-label">上架卖场</label>
+                <select style="width:100px;" class="form-control select2" size="1"
+                        name="mallType" >
+                    <option value="">请选择</option>
+                    <option value="1">微商城</option>
+                    <option value="2">积分商城</option>
+                </select>
+            </div>
             <div class="form-group">
                 <label class="control-label">是否上架</label>
-                <select style="width:200px;" class="form-control select2" size="1"
+                <select style="width:100px;" class="form-control select2" size="1"
                         name="status"
                         id="status">
                     <option value="">请选择</option>
@@ -47,10 +55,10 @@
                 </select>
             </div>
             <div class="form-group">
-                <label class="control-label">是否为服务</label>
-                <select style="width:200px;" class="form-control select2" size="1"
-                        name="isService"
-                        id="isService">
+                <label class="control-label">是否可分销</label>
+                <select style="width:100px;" class="form-control select2" size="1"
+                        name="ableSales"
+                        id="ableSales">
                     <option value="">请选择</option>
                     <option value="1">是</option>
                     <option value="2">否</option>
@@ -114,12 +122,12 @@
                 <tr>
                     <th data-checkbox="true"></th>
                     <th data-formatter="MGrid.indexfn" data-align="center">序号</th>
-                    <th data-field="id" data-align="center">产品ID</th>
+                    <th data-field="mallType" data-align="center" data-formatter="mallType">上架卖场</th>
                     <th data-field="title" data-align="center">产品名称</th>
                     <th data-field="imgMobile" data-align="center" data-formatter="MGrid.getImage">产品图片</th>
                     <th data-field="attrValues" data-align="center" data-formatter="formatAttr">产品属性</th>
                     <th data-field="price" data-align="center">价格</th>
-                    <th data-field="score" data-align="center">积分</th>
+                    <th data-field="scorePrice" data-align="center">兑换所需积分</th>
                     <th data-field="status" data-align="center" data-formatter="isStatus">是否上架</th>
                     <th data-field="rsVolume" data-align="center">真实销量</th>
 
@@ -275,7 +283,7 @@
     //初始化属性下拉选
     function initAttrsSeclect(seler, def) {
         console.log(1);
-        $.AjaxProxy().invoke(basePath + "/admin/shopProductAttribute/showSonAttribute?attrCode=cpfl",
+        $.AjaxProxy().invoke(basePath + "/admin/shopProductAttribute/showSonAttribute?attrCode=productColumn",
             function (loj) {
                 $(seler).createSelectTree(
                     loj.attr("result").rows,
@@ -290,6 +298,16 @@
             });
     }
 
+    function mallType(value, row, index) {
+        var html = "";
+        if (value ==1) {
+          html="微商城"
+        }else{
+            html="积分商城"
+        }
+        return html;
+    }
+
     /**
      * 格式化属性
      */
diff --git a/zq-erp/src/main/resources/templates/views/common/showprojException.html b/zq-erp/src/main/resources/templates/views/common/showprojException.html
new file mode 100644
index 0000000..4fca1cd
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/common/showprojException.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML>
+<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
+<head>
+    <meta charset="utf-8">
+    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
+    <meta http-equiv="Cache-Control" content="no-siteapp"/>
+    <LINK rel="Bookmark" href="../images/favicon.ico">
+    <!-- 本框架基本脚本和样式 -->
+
+    <link rel="stylesheet" th:href="@{/plugin/bootstrap-3.3.5/css/bootstrap.min.css}">
+    <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div class="ibox-content" id="app">
+    <table class="table table-striped table-bordered" style="width: 800px;">
+        <tr>
+            <td>ID</td>
+            <td th:text="${obj.id}" ></td>
+            <td  >姓名</td>
+            <td th:text="${obj.owner}" ></td>
+        </tr>
+        <tr>
+            <td  >异常类型</td>
+            <td th:text="${obj.simpleMsg}" ></td>
+            <td  >发生时间</td>
+            <td th:text="${#dates.format(obj.createTime, 'yyyy-MM-dd HH:mm:sss')}" >
+        </tr>
+        <tr>
+            <td  >访问地址</td>
+            <td th:text="${obj.cause}" ></td>
+            <td  >mdc</td>
+            <td th:text="${obj.mdc}" ></td>
+        </tr>
+    </table>
+    <pre  th:text="${obj.errorMsg}" ></pre>
+
+</div>
+<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/bootstrap-3.3.5/js/bootstrap.min.js}"></script>
+
+<script type="text/javascript">
+
+
+</script>
+</body>
+</html>
\ No newline at end of file

--
Gitblit v1.9.1