From d19501aebadf4c61a1727178b943e362a18c82f6 Mon Sep 17 00:00:00 2001
From: jyy <935090232@qq.com>
Date: Tue, 16 Mar 2021 16:55:18 +0800
Subject: [PATCH] 新增配置查询2

---
 zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java  |   16 +++++
 zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDaoV2.java               |   13 ++++
 zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java |   66 ++++++++++++++-------
 zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderDaoV2.xml                  |   12 ++++
 zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java                    |   47 +++++++++++++++
 zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDao.java                 |    2 
 6 files changed, 134 insertions(+), 22 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java b/zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java
new file mode 100644
index 0000000..a1c4c70
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java
@@ -0,0 +1,47 @@
+package com.matrix.core.pojo;
+
+import lombok.Data;
+
+/**
+ * 通用的验证返回参数
+ */
+@Data
+public class VerificationResult {
+
+    private boolean result;
+
+    private String  msg;
+
+    private Object  info;
+
+    private VerificationResult(){
+
+    }
+
+    public static VerificationResult buildVerificationResult(boolean result){
+        VerificationResult obj=new VerificationResult();
+        obj.result=result;
+        return obj ;
+    }
+
+
+    public static VerificationResult buildVerificationResult(boolean result,String msg){
+        VerificationResult obj=new VerificationResult();
+        obj.result=result;
+        obj.msg=msg;
+        return obj ;
+    }
+
+
+    public static VerificationResult buildVerificationResult(boolean result,Object  info){
+        VerificationResult obj=new VerificationResult();
+        obj.result=result;
+        obj.info=info;
+        return obj ;
+    }
+
+
+
+
+
+}
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 194c31b..4faf796 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
@@ -22,6 +22,22 @@
      */
     public final static String FX_APPLY_CONDITION = "FX_APPLY_CONDITION";
     /**
+     * 申请条件 1 无条件
+     */
+    public final static String FX_APPLY_CONDITION_WTJ = "1";
+    /**
+     * 申请条件 1 消费任意产品
+     */
+    public final static String FX_APPLY_CONDITION_XFRYCP = "2";
+    /**
+     * 申请条件 1 消费指定产品
+     */
+    public final static String FX_APPLY_CONDITION_XFZDCP = "3";
+    /**
+     * 申请条件 1 消费指定金额
+     */
+    public final static String FX_APPLY_CONDITION_XCZDJE = "4";
+    /**
      * 推广计划
      */
     public final static String FX_TG_PLAN = "FX_TG_PLAN";
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 1bdbce3..a8ac34d 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
@@ -1,5 +1,7 @@
 package com.matrix.system.fenxiao.service;
 
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -11,6 +13,7 @@
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.exception.GlobleException;
 import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.VerificationResult;
 import com.matrix.core.tools.StringUtils;
 import com.matrix.system.common.bean.BusParameterSettings;
 import com.matrix.system.common.bean.SysUsers;
@@ -18,31 +21,13 @@
 import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
 import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao;
 import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao;
-import com.matrix.system.fenxiao.dto.ChangeSaleManGradeDto;
-import com.matrix.system.fenxiao.dto.DelFyfaApplyDto;
-import com.matrix.system.fenxiao.dto.DelSaleManGradeApplyDto;
-import com.matrix.system.fenxiao.dto.FyfaManageDto;
-import com.matrix.system.fenxiao.dto.ShopSalesmanAppliingDto;
-import com.matrix.system.fenxiao.dto.ShopSalesmanApplyDto;
-import com.matrix.system.fenxiao.dto.ShopSalesmanDetailDto;
-import com.matrix.system.fenxiao.dto.UnbundlingSaleManDto;
-import com.matrix.system.fenxiao.dto.UpdateFyfaDto;
-import com.matrix.system.fenxiao.dto.UpdateTgjhDto;
-import com.matrix.system.fenxiao.dto.UpdateTgtpDto;
+import com.matrix.system.fenxiao.dto.*;
 import com.matrix.system.fenxiao.entity.ShopSalesmanApply;
 import com.matrix.system.fenxiao.entity.ShopSalesmanGrade;
-import com.matrix.system.fenxiao.vo.FyfaManageVo;
-import com.matrix.system.fenxiao.vo.SalesmanBasicDetailVo;
-import com.matrix.system.fenxiao.vo.ShopCustomDetailVo;
-import com.matrix.system.fenxiao.vo.ShopOrderDetailVo;
-import com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo;
-import com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo;
-import com.matrix.system.fenxiao.vo.ShopSalesmanGradeVo;
+import com.matrix.system.fenxiao.vo.*;
 import com.matrix.system.hive.action.util.QueryUtil;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-
+import com.matrix.system.shopXcx.dao.ShopOrderDao;
+import com.matrix.system.shopXcx.dao.ShopOrderDaoV2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -74,6 +59,9 @@
 
     @Autowired
     BizUserService bizUserService;
+
+    @Autowired
+    ShopOrderDaoV2 shopOrderDaoV2;
 
     /**
      * 申请成为推广员
@@ -140,6 +128,40 @@
 
     }
 
+
+    /**
+     * 判断是否满足申请成为分销员的条件
+     */
+    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);
+            case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFRYCP:
+
+                //判断用户是否有确认收货的产品
+                int receivedOrderCount= shopOrderDaoV2.selectReceivedOrderCount(openId);
+
+                if(receivedOrderCount>0){
+                    verificationResult= VerificationResult.buildVerificationResult(true);
+                }else{
+                    verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费任意产品后再申请!");
+                }
+
+            case FenxiaoSettingConstant.FX_APPLY_CONDITION_XCZDJE:
+                VerificationResult.buildVerificationResult(true);
+            default:
+                VerificationResult.buildVerificationResult(true);
+        }
+        return verificationResult;
+    }
+
+
     public IPage<ShopSalesmanApplyVo> findShopSalesmanApplyList(Page<ShopSalesmanApplyVo> page, ShopSalesmanApplyDto shopSalesmanApplyDto) {
         return shopSalesmanApplyDao.findShopSalesmanApplyList(page,shopSalesmanApplyDto);
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDao.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDao.java
index 5b4c41c..5a9729d 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDao.java
@@ -78,4 +78,6 @@
 	public List<Map<String,Object>>  selectOrderStatusCount(String openId);
 
 	public int batchUpdateOrderStatus(@Param("list") List<ShopOrder> list);
+
+
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDaoV2.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDaoV2.java
new file mode 100644
index 0000000..79cdd46
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDaoV2.java
@@ -0,0 +1,13 @@
+package com.matrix.system.shopXcx.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.matrix.system.shopXcx.bean.ShopOrder;
+
+/**
+ * @description 订单表
+ */
+public interface ShopOrderDaoV2 extends BaseMapper<ShopOrder> {
+
+	/** 统计已收货订单数 */
+	int selectReceivedOrderCount(String openId);
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderDaoV2.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderDaoV2.xml
new file mode 100644
index 0000000..427ae0a
--- /dev/null
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderDaoV2.xml
@@ -0,0 +1,12 @@
+<?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.shopXcx.dao.ShopOrderDaoV2">
+
+	<select id="selectReceivedOrderCount" resultType="java.lang.Integer">
+		select count(*)  from shop_order where user_id = #{openId} and order_status in (4,5)
+	</select>
+
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.1