|  |  |  | 
|---|
|  |  |  | package com.matrix.system.fenxiao.service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | 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.constance.MatrixConstance; | 
|---|
|  |  |  | import com.matrix.core.exception.GlobleException; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 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.vo.ShopSalesmanApplyVo; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @description 推广员申请记录 | 
|---|
|  |  |  | 
|---|
|  |  |  | public class ShopSalesmanApplyService  extends ServiceImpl<ShopSalesmanApplyDao, ShopSalesmanApply>{ | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | BusParameterSettingsDao busParameterSettingsDao; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | ShopSalesmanApplyDao salesmanApplyDao; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private BizUserDao bizUserDao; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | BizUserService bizUserService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 申请成为推广员 | 
|---|
|  |  |  | * @param openId | 
|---|
|  |  |  | * @param invitationId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public ShopSalesmanApply applyToBeAnSalesman(String openId, 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(loginUser.getUserId()); | 
|---|
|  |  |  | 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()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_AUDIT_METHOD, HostInterceptor.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 List<ShopSalesmanApplyVo> selectFenXiaoUserApplyByCompanyId(Long companyId) { | 
|---|
|  |  |  | //获取当前登录人员信息 | 
|---|
|  |  |  | SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); | 
|---|
|  |  |  | List<ShopSalesmanApplyVo> shopSalesmanApplyVos = salesmanApplyDao.selectFenXiaoUserApplyByCompanyId(companyId); | 
|---|
|  |  |  | return shopSalesmanApplyVos; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|