From e84e71bda390661a98d2f548d11f3721d2ec110c Mon Sep 17 00:00:00 2001
From: jyy <935090232@qq.com>
Date: Fri, 12 Mar 2021 17:30:00 +0800
Subject: [PATCH] 新增申请成为分销员接口10

---
 zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java |  138 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 137 insertions(+), 1 deletions(-)

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 62614de..9707da8 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,9 +1,32 @@
 package com.matrix.system.fenxiao.service;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.matrix.biz.bean.BizUser;
+import com.matrix.biz.dao.BizUserDao;
+import com.matrix.biz.service.BizUserService;
+import com.matrix.core.exception.GlobleException;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.system.common.bean.BusParameterSettings;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
+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.ShopSalesmanAppliingDto;
+import com.matrix.system.fenxiao.dto.ShopSalesmanApplyDto;
 import com.matrix.system.fenxiao.entity.ShopSalesmanApply;
+import com.matrix.system.fenxiao.entity.ShopSalesmanGrade;
+import com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo;
+import com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo;
+import com.matrix.system.fenxiao.vo.ShopSalesmanGradeVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
 
 /**
  * @description 推广员申请记录
@@ -14,7 +37,120 @@
 public class ShopSalesmanApplyService  extends ServiceImpl<ShopSalesmanApplyDao, ShopSalesmanApply>{
 
 
+    @Autowired
+    BusParameterSettingsDao busParameterSettingsDao;
 
+    @Autowired
+    ShopSalesmanApplyDao salesmanApplyDao;
+    
+    @Autowired
+    ShopSalesmanGradeDao shopSalesmanGradeDao;
 
-  
+    @Autowired
+    private BizUserDao bizUserDao;
+
+    @Autowired
+    BizUserService bizUserService;
+
+    /**
+     * 申请成为推广员
+     * @param openId
+     * @param invitationId
+     * @return
+     */
+    public ShopSalesmanApply applyToBeAnSalesman(String openId,String gradeId,String invitationId) {
+
+        BizUser loginUser=bizUserDao.findByOpenId(openId);
+        //校验审核状态,和是否重复发起
+        QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("user_id",loginUser.getOpenId());
+        ShopSalesmanApply checkApply = salesmanApplyDao.selectOne(queryWrapper);
+        if(checkApply==null||
+                checkApply.getApplyStatus()==ShopSalesmanApply.APPLY_STATUS_WTG){
+
+            ShopSalesmanApply shopSalesmanApply=new ShopSalesmanApply();
+            shopSalesmanApply.setUserId(openId);
+            
+            shopSalesmanApply.setCreateBy(loginUser.getNickName());
+            shopSalesmanApply.setApplyWay(ShopSalesmanApply.APPLY_WAY_SELF);
+
+            shopSalesmanApply.setCompanyId(loginUser.getCompanyId());
+            shopSalesmanApply.setUpdateBy(loginUser.getNickName());
+            Date date = new Date();
+            shopSalesmanApply.setCreateTime(date);
+            shopSalesmanApply.setUpdateTime(date);
+
+            if(StringUtils.isNotBlank(invitationId)){
+                shopSalesmanApply.setParentUserId(invitationId);
+            }else if(StringUtils.isNotBlank(loginUser.getParentOpenId())){
+                //如果曾经是被邀请进来的则自动绑定为之前邀请人的下级
+                shopSalesmanApply.setParentUserId(loginUser.getParentOpenId());
+            }
+            if(StringUtils.isNotBlank(gradeId)){
+            	shopSalesmanApply.setGradeId(Long.parseLong(gradeId));
+            }else{
+                //获取初始等级ID(公司id,是否为初始等级)
+                Wrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>();
+                ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("company_id", loginUser.getCompanyId());
+                ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("is_default", 1);
+                ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectOne(queryWrapperOrepool);
+            	shopSalesmanApply.setGradeId(shopSalesmanGrade.getId());
+            }
+
+            BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_AUDIT_METHOD, loginUser.getCompanyId());
+            if(busParameterSettings!=null
+                    &&busParameterSettings.getParamValue().equals("1")){
+                //自动审核
+                shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_TG);
+                bizUserService.setToBeAnSalesman(loginUser.getOpenId(),invitationId);
+
+            }else{
+                shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH);
+            }
+            salesmanApplyDao.insert(shopSalesmanApply);
+            return  shopSalesmanApply;
+        }else{
+            throw  new GlobleException("不能重复申请");
+        }
+
+    }
+
+    public IPage<ShopSalesmanApplyVo> findShopSalesmanApplyList(Page<ShopSalesmanApplyVo> page, ShopSalesmanApplyDto shopSalesmanApplyDto) {
+        return salesmanApplyDao.findShopSalesmanApplyList(page,shopSalesmanApplyDto);
+    }
+
+	public IPage<ShopSalesmanAppliingVo> findShopSalesmanAppliingList(Page<ShopSalesmanAppliingVo> page,
+			ShopSalesmanAppliingDto shopSalesmanAppliingDto) {
+		return salesmanApplyDao.findShopSalesmanAppliingList(page,shopSalesmanAppliingDto);
+	}
+
+    public IPage<ShopSalesmanAppliingVo> selectBizUserApplyList(Page<ShopSalesmanAppliingVo> page, ShopSalesmanAppliingDto shopSalesmanAppliingDto) {
+        return salesmanApplyDao.selectBizUserApplyList(page,shopSalesmanAppliingDto);
+    }
+
+	public List<ShopSalesmanGradeVo> getShopSalesmanGradeVo(Long companyId) {
+		return shopSalesmanGradeDao.getShopSalesmanGradeVo(companyId);
+	}
+
+	public void addSaleManApply(String userId,String gradeId) {
+		BizUser user = bizUserDao.selectById(userId);
+		
+		applyToBeAnSalesman(user.getOpenId(),gradeId, "");
+	}
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
 }
\ No newline at end of file

--
Gitblit v1.9.1