From 6914c44553cd49d063f0094afa0a9559e779efde Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 17 Mar 2021 18:16:17 +0800
Subject: [PATCH] Merge branch 'score_shop' of http://120.27.238.55:7000/r/beauty-erp into score_shop

---
 zq-erp/src/main/resources/config/system.properties                                                 |    4 
 zq-erp/src/main/resources/config/test/system.properties                                            |    4 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java                    |    7 +
 zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderRefundTask.java                    |   43 +++++++
 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/mqTask/MQTaskRouting.java                           |    4 
 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/mqTask/SalesOrderTask.java                          |  143 ++++++++++++-----------
 zq-erp/src/main/java/com/matrix/config/RabbitMqConfig.java                                         |    5 
 11 files changed, 231 insertions(+), 94 deletions(-)

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/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/api/action/WxSalesmanAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java
index f7b2266..a24b205 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
@@ -152,7 +152,14 @@
             return AjaxResult.buildFailInstance("请求参数错误");
         }
 
+
         BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
+        if(invitationId.equals(loginUser.getOpenId())){
+            return AjaxResult.buildFailInstance("不能绑定自己");
+        }
+        if(loginUser.getIsSales()==null || loginUser.getIsSales()==2){
+            return AjaxResult.buildFailInstance("只有分销员才能绑定客户");
+        }
         loginUser = bizUserDao.selectById(loginUser.getUserId());
         if (loginUser.getIsSales() == null || loginUser.getIsSales() == BizUser.NOT_SALES) {
             if (StringUtils.isBlank(loginUser.getParentOpenId())) {
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/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/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/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