From ff517178453b21a9bb084c1ed39def9f7e4f45f3 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 12 Mar 2021 13:53:23 +0800
Subject: [PATCH] Merge branch 'score_shop' of http://120.27.238.55:7000/r/beauty-erp into score_shop
---
zq-erp/src/main/java/com/matrix/biz/bean/BizUser.java | 6
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderItemDao.xml | 33 ++++++
zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderItemDao.java | 13 ++
zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrder.java | 19 +++
zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrderItem.java | 54 ++++++++++
zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java | 69 +++++++++++++
zq-erp/src/main/resources/config/db/increment/推广员.sql | 23 ++++
zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderItemService.java | 20 ++++
zq-erp/src/main/resources/config/test/application.properties | 2
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml | 2
zq-erp/src/main/resources/templates/views/admin/shop/shopProduct-form.html | 47 +++++++--
11 files changed, 270 insertions(+), 18 deletions(-)
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 b0a0338..8c94ca2 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
@@ -43,7 +43,7 @@
/**
*推广员等级
*/
- private Double salesmanGrade;
+ private Long salesmanGrade;
/**
@@ -265,11 +265,11 @@
this.withdrawalCash = withdrawalCash;
}
- public Double getSalesmanGrade() {
+ public Long getSalesmanGrade() {
return salesmanGrade;
}
- public void setSalesmanGrade(Double salesmanGrade) {
+ public void setSalesmanGrade(Long salesmanGrade) {
this.salesmanGrade = salesmanGrade;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderItemDao.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderItemDao.java
new file mode 100644
index 0000000..8c4e87e
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderItemDao.java
@@ -0,0 +1,13 @@
+package com.matrix.system.fenxiao.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.matrix.system.fenxiao.entity.ShopSalesmanOrderItem;
+
+/**
+ * @description 分销单明细
+ * @author yourName
+ * @date 2021-03-12 13:17
+ */
+public interface ShopSalesmanOrderItemDao extends BaseMapper<ShopSalesmanOrderItem> {
+
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrder.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrder.java
index 5f16ee6..cc1647c 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrder.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrder.java
@@ -13,6 +13,25 @@
@Data
@TableName("shop_salesman_order")
public class ShopSalesmanOrder extends BaseEntity {
+ /**
+ * 推广收益类型1推广收益
+ */
+ public static final Integer REVENUE_TYPE_SALES = 1;
+
+ /**
+ * 推广收益类型2邀请收益
+ */
+ public static final Integer REVENUE_TYPE_INVITATION = 2;
+ /**
+ * 分销单状态1待结算
+ */
+ public static final Integer STATUS_DJS = 1;
+ /**
+ * 分销单状态2已结算
+ */
+ public static final Integer STATUS_YJS = 2;
+
+
@Extend
private static final long serialVersionUID = 1L;
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrderItem.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrderItem.java
new file mode 100644
index 0000000..a400637
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrderItem.java
@@ -0,0 +1,54 @@
+package com.matrix.system.fenxiao.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.matrix.core.anotations.Extend;
+import com.matrix.system.score.entity.BaseEntity;
+import lombok.Data;
+
+/**
+ * @description 分销单明细
+ * @author yourName
+ * @date 2021-03-12 13:17
+ */
+@Data
+@TableName("shop_salesman_order_item")
+public class ShopSalesmanOrderItem extends BaseEntity {
+ @Extend
+ private static final long serialVersionUID = 1L;
+
+
+
+
+
+ /**
+ * 订单id
+ */
+
+
+ private Long orderId ;
+
+ /**
+ * 分销订单id
+ */
+
+
+ private Long salesmanOrderId;
+
+ /**
+ * 订单明细id
+ */
+
+
+ private Long orderItemId;
+
+ /**
+ * 收益金额
+ */
+
+
+ private Double amount;
+
+
+
+
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderItemService.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderItemService.java
new file mode 100644
index 0000000..fcfb554
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderItemService.java
@@ -0,0 +1,20 @@
+package com.matrix.system.fenxiao.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.matrix.system.fenxiao.dao.ShopSalesmanOrderItemDao;
+import com.matrix.system.fenxiao.entity.ShopSalesmanOrderItem;
+import org.springframework.stereotype.Service;
+
+/**
+ * @description 分销单明细
+ * @author yourName
+ * @date 2021-03-12 13:17
+ */
+@Service
+public class ShopSalesmanOrderItemService extends ServiceImpl<ShopSalesmanOrderItemDao, ShopSalesmanOrderItem>{
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java
index 28f98c3..2979ca3 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java
@@ -3,11 +3,15 @@
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.constance.AppConstance;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.constance.Dictionary;
+import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao;
+import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao;
+import com.matrix.system.fenxiao.entity.ShopSalesmanOrder;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
import com.matrix.system.hive.service.CodeService;
@@ -78,8 +82,15 @@
@Autowired
private ShoppingGoodsDao shoppingGoodsDao;
+ @Autowired
+ private ShopSalesmanOrderDao shopSalesmanOrderDao;
+
+ @Autowired
+ private ShopSalesmanGradeDao shopSalesmanGradeDao;
+
@Transactional(rollbackFor = Exception.class)
- public void createOrder(ShopOrder orderDto) {
+ public void synchronizationOrderToErp(ShopOrder orderDto) {
+
//判断是否存在需要同步的产品,只有绑定了erp中产品的才同步
boolean needTb=false;
for (ShopOrderDetails orderItemDto : orderDto.getDetails()) {
@@ -236,7 +247,61 @@
//获取订单详情
List<ShopOrderDetails> orderDetails = shopOrderDetailsDao.selectByOrderId(Integer.valueOf(orderId));
order.setDetails(orderDetails);
- createOrder(order);
+ //同步订单到erp
+ synchronizationOrderToErp(order);
+ //处理分销订单
+ handleExtensionOrder(order);
+
+ }
+
+ /**
+ * 处理分销订单
+ * @param order
+ */
+ @Transactional
+ void handleExtensionOrder(ShopOrder order) {
+ //判读客户是否存在上级,存在则产生上级的收益
+ BizUser bizUser = bizUserService.findByOpenId(order.getUserId());
+ if(StringUtils.isNotBlank(bizUser.getParentOpenId())){
+ LogUtil.debug("处理分销订单userOpid={}",bizUser.getOpenId());
+ //存在上级
+ ShopSalesmanOrder shopSalesmanOrder=new ShopSalesmanOrder();
+ shopSalesmanOrder.setCompanyId(order.getCompanyId());
+ shopSalesmanOrder.setCreateBy(MatrixConstance.SYSTEM_USER);
+ shopSalesmanOrder.setUpdateBy(MatrixConstance.SYSTEM_USER);
+ shopSalesmanOrder.setCreateTime(new Date());
+ shopSalesmanOrder.setUpdateTime(new Date());
+ shopSalesmanOrder.setOrderId(Long.parseLong(order.getId()+""));
+ shopSalesmanOrder.setUserId(order.getUserId());
+ shopSalesmanOrder.setSalesUserId(bizUser.getParentOpenId());
+ shopSalesmanOrder.setRevenueType(ShopSalesmanOrder.REVENUE_TYPE_SALES);
+ shopSalesmanOrder.setOrderStatus(ShopSalesmanOrder.STATUS_DJS);
+ Double amount=0D;
+ 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){
+ //按分销等级计算
+ BizUser salesMan=bizUserService.findByOpenId(bizUser.getParentOpenId());
+ shopSalesmanGradeDao.selectById(salesMan.getSalesmanGrade());
+
+ }else{
+ //按产品设置的金额计算
+ amount+=item.getShopSku().getSealesPrice().doubleValue();
+ }
+
+ }
+ }
+
+
+
+
+
+ }else{
+ LogUtil.debug("不存在父级userOpid={}",bizUser.getOpenId());
+ }
+
}
}
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 4a54e0f..fc225f3 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"
@@ -11,6 +11,29 @@
/**
+ * 分销单明细
+ * @author yourName
+ * @date 2021-03-12 13:17
+ */
+CREATE TABLE shop_salesman_order_item(
+ create_by varchar(100) NOT NULL COMMENT '创建人',
+ create_time datetime NOT NULL COMMENT '创建时间',
+ update_by varchar(100) NOT NULL COMMENT '更新人',
+ update_time datetime NOT NULL COMMENT '更新时间',
+ id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+
+ order_id bigint(20) COMMENT '订单id',
+
+ salesman_order_id bigint(20) COMMENT '分销订单id',
+
+ order_item_id bigint(20) COMMENT '订单明细id',
+
+ amount double(20,2) COMMENT '收益金额',
+
+PRIMARY KEY(id)
+)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='分销单明细';
+
+/**
* 收益流水
* @author yourName
* @date 2021-03-10 17:34
diff --git a/zq-erp/src/main/resources/config/test/application.properties b/zq-erp/src/main/resources/config/test/application.properties
index 1e00a70..cd48b66 100644
--- a/zq-erp/src/main/resources/config/test/application.properties
+++ b/zq-erp/src/main/resources/config/test/application.properties
@@ -65,7 +65,7 @@
#定时任务
scheduling.enabled=false
-swagger.enable=false
+swagger.enable=true
swagger.security.username=admin
swagger.security.password=admin
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 e0375f5..a4703dd 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
@@ -46,7 +46,9 @@
shop_salesman_order b
WHERE
b.user_id = a.open_id
+ and order_status=1
AND b.sales_user_id = #{openId}
+
) AS revenueAmount,
( SELECT count( * ) FROM shop_salesman_order c WHERE c.user_id = a.open_id AND c.sales_user_id = #{openId} ) AS orderCount
FROM
diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderItemDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderItemDao.xml
new file mode 100644
index 0000000..4d73645
--- /dev/null
+++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderItemDao.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.matrix.system.fenxiao.dao.ShopSalesmanOrderItemDao">
+ <!-- 定义ShopSalesmanOrderItem 的复杂关联map -->
+ <resultMap type="com.matrix.system.fenxiao.entity.ShopSalesmanOrderItem" id="ShopSalesmanOrderItemMap">
+ <id property="id" column="id" />
+ <result property="createBy" column="create_by" />
+ <result property="createTime" column="create_time" />
+ <result property="updateBy" column="update_by" />
+ <result property="updateTime" column="update_time" />
+ <result property="orderId " column="order_id " />
+ <result property="salesmanOrderId" column="salesman_order_id" />
+ <result property="orderItemId" column="order_item_id" />
+ <result property="amount" column="amount" />
+ </resultMap>
+
+
+ <!-- 定义ShopSalesmanOrderItem 的简单map ,本map不添加其他的关联属性 -->
+ <resultMap type="com.matrix.system.fenxiao.entity.ShopSalesmanOrderItem" id="ShopSalesmanOrderItemSimpleMap">
+ <id property="id" column="id" />
+ <result property="createBy" column="create_by" />
+ <result property="createTime" column="create_time" />
+ <result property="updateBy" column="update_by" />
+ <result property="updateTime" column="update_time" />
+ <result property="orderId " column="order_id " />
+ <result property="salesmanOrderId" column="salesman_order_id" />
+ <result property="orderItemId" column="order_item_id" />
+ <result property="amount" column="amount" />
+ </resultMap>
+
+</mapper>
\ No newline at end of file
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 47957c3..dec22fc 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
@@ -229,6 +229,8 @@
<th>积分</th>
<th>关联ERP产品</th>
<th>排序</th>
+ <th>推广提成</th>
+ <th>邀请提成</th>
<th>操作</th>
</tr>
</table>
@@ -357,6 +359,8 @@
<input autocomplete="off" type="hidden" class="form-control" name="erpGoodsCode">
</div></td>
<td><input autocomplete="off" type="text" class="form-control" name=""></td>
+ <td><input autocomplete="off" type="text" class="form-control" name=""></td>
+ <td><input autocomplete="off" type="text" class="form-control" name=""></td>
<td><i class="fa fa-trash form-control-static" onclick="delThis('trId')"></i></td>
</tr>
</script>
@@ -526,6 +530,16 @@
goodsName = "";
}
+ var sealesPrice = shopSkus[c].sealesPrice;
+ if (sealesPrice == null || typeof sealesPrice == 'undefined') {
+ sealesPrice = "";
+ }
+ var invitationPrice = shopSkus[c].invitationPrice;
+ if (invitationPrice == null || typeof invitationPrice == 'undefined') {
+ invitationPrice = "";
+ }
+
+
var html=
'<tr id="'+trId+'">'
+'<td style="display:none;"><input autocomplete="off" type="hidden" class="form-control" value="'+shopSkus[c].id+'" ></td>'
@@ -538,6 +552,8 @@
+'<td><div id="erpNoDiv"><button class="btn btn-info" onclick="selectProduct(\'shopIdValue\',\''+trId+'\')"><i class="fa fa-plus"></i></button>'
+'<p class="form-control-static erpGoodsName">'+ goodsName +'</p><input autocomplete="off" class="form-control" type="hidden" value="'+stockCode+'" name="erpGoodsCode"></div></td>'
+'<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><i class="fa fa-trash form-control-static" onclick="delThis(\''+trId+'\')"></i></td>'
+'</tr>';
$("#skutable").find("tbody").append(html);
@@ -617,7 +633,7 @@
//初始化属性下拉选
function initAttrSeclect(seler, def) {
- $.AjaxProxy().invoke(basePath + "/admin/shopProductAttribute/showSonAttribute?attrCode=service",
+ $.AjaxProxy().invoke(basePath + "/admin/shopProductAttribute/showSonAttribute?attrCode=productColumn",
function (loj) {
$(seler).createSelectTree(
loj.attr("result").rows,
@@ -708,61 +724,68 @@
if (i != 0) {
var tds = $(this).find("td");
var length = tds.length - 1;
- var id = tds.eq(length - 8).find("input").val();
+ var id = tds.eq(length - 10).find("input").val();
if(id == null){
id ="";
}
sku.id = id;
//规格名称
- var name = tds.eq(length - 7).find("input").val();
+ var name = tds.eq(length - 9).find("input").val();
if(name == null){
name = "";
}
sku.name = name;
//图片地址
- var path = tds.eq(length - 6).find("img").attr("src");
+ var path = tds.eq(length - 8).find("img").attr("src");
if(path == null){
path = "";
}
sku.imgPath = path;
//库存
- var stock = tds.eq(length - 5).find("input").val();
+ var stock = tds.eq(length - 7).find("input").val();
if(stock == ""){
stock = 0;
}
sku.stock = stock;
//价格
- var price = tds.eq(length - 4).find("input").val();
+ var price = tds.eq(length -6).find("input").val();
if(price == ""){
price =0;
}
sku.price = price;
//积分
- var score = tds.eq(length - 3).find("input").val();
+ var score = tds.eq(length - 5).find("input").val();
if(score == ""){
score = 0;
}
sku.score = score;
//品种编码
- var stockCode = tds.eq(length - 2).find("input").val();
+ var stockCode = tds.eq(length - 4).find("input").val();
if(stockCode == null || typeof stockCode == 'undefined'){
stockCode = '';
}
sku.stockCode = stockCode;
//排序
- var sort = tds.eq(length - 1).find("input").val();
+ var sort = tds.eq(length - 3).find("input").val();
if(sort == ""){
sort = 0;
}
sku.sort = sort;
+ //推广提成
+ var sealesPrice = tds.eq(length - 2).find("input").val();
+ sku.sealesPrice = sealesPrice;
+
+ //邀请提成
+ var invitationPrice = tds.eq(length - 1).find("input").val();
+ sku.invitationPrice = invitationPrice;
skus.push(sku);
}
@@ -780,7 +803,7 @@
if (i != 0) {
var tds = $(this).find("td");
var length = tds.length - 1;
- var name = tds.eq(length - 7).find("input").val();
+ var name = tds.eq(length - 9).find("input").val();
if(name == ""){
layer.msg("请填写规格名称",{
icon : 2,
@@ -798,7 +821,7 @@
return false;
}
- var stock = tds.eq(length - 5).find("input").val();
+ var stock = tds.eq(length -7).find("input").val();
if(stock == ""){
layer.msg("请填写库存",{
icon : 2,
@@ -807,7 +830,7 @@
flag = true;
return false;
}
- var price = tds.eq(length - 4).find("input").val();
+ var price = tds.eq(length - 6).find("input").val();
if(price == ""){
layer.msg("请填写价格",{
icon : 2,
--
Gitblit v1.9.1