From 0cf8009e4ae98e79c6ad4b49ff29620126f53f92 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Wed, 10 Mar 2021 22:10:33 +0800 Subject: [PATCH] 推广员申请接口 --- zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java | 100 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 83 insertions(+), 17 deletions(-) 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 e3ce8f6..4e0447e 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 @@ -1,6 +1,8 @@ package com.matrix.system.shopXcx.api.action; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.matrix.biz.bean.BizUser; +import com.matrix.biz.dao.BizUserDao; import com.matrix.component.redis.RedisUserLoginUtils; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.StringUtils; @@ -18,6 +20,7 @@ import org.springframework.web.bind.annotation.*; import java.util.Date; +import java.util.HashMap; import java.util.Map; /** @@ -38,42 +41,105 @@ @Autowired private RedisUserLoginUtils redisUserLoginUtils; + @Autowired + private BizUserDao bizUserDao; + @ApiOperation(value = "查询推广计划", notes = "") @GetMapping(value = "/getTgPlan") public AjaxResult getTgPlan() { BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_TG_PLAN, HostInterceptor.getCompanyId()); AjaxResult ajaxResult = AjaxResult.buildSuccessInstance(""); - ajaxResult.putInMap("tgjh",busParameterSettings.getParamValue3()); + ajaxResult.putInMap("data",busParameterSettings.getParamValue3()); return ajaxResult; } - @ApiOperation(value = "申请成为推广员", notes = "传入参数invitationId 邀请人openId 如: {invitationId:openId}") + @ApiOperation(value = "申请成为推广员", notes = "传入参数invitationId 邀请人openId ,非必填 例: {invitationId:openId}") @ApiResponses({ @ApiResponse(code = 200, message = "ok", response = Map.class) }) @PostMapping(value = "/applyToBeAnSalesman") public AjaxResult applyToBeAnSalesman(@RequestBody Map<String,String> param) { BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class); - ShopSalesmanApply shopSalesmanApply=new ShopSalesmanApply(); - shopSalesmanApply.setUserId(loginUser.getUserId()); - shopSalesmanApply.setCreateBy(loginUser.getNickName()); - shopSalesmanApply.setApplyWay(ShopSalesmanApply.APPLY_WAY_SELF); - shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH); - shopSalesmanApply.setCompanyId(loginUser.getCompanyId()); - shopSalesmanApply.setUpdateBy(loginUser.getNickName()); - Date date = new Date(); - shopSalesmanApply.setCreateTime(date); - shopSalesmanApply.setUpdateTime(date); - String invitationId = param.get("invitationId"); - if(StringUtils.isNotBlank(invitationId)){ - shopSalesmanApply.setParentUserId(invitationId); + loginUser=bizUserDao.selectById(loginUser.getUserId()); + //校验审核状态,和是否重复发起 + QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("user_id",loginUser.getUserId()); + 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.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH); + shopSalesmanApply.setCompanyId(loginUser.getCompanyId()); + shopSalesmanApply.setUpdateBy(loginUser.getNickName()); + Date date = new Date(); + shopSalesmanApply.setCreateTime(date); + shopSalesmanApply.setUpdateTime(date); + String invitationId = param.get("invitationId"); + if(StringUtils.isNotBlank(invitationId)){ + shopSalesmanApply.setParentUserId(invitationId); + }else if(StringUtils.isNotBlank(loginUser.getParentOpenId())){ + //如果曾经是被邀请进来的则自动绑定为之前邀请人的下级 + shopSalesmanApply.setParentUserId(loginUser.getParentOpenId()); + } + salesmanApplyDao.insert(shopSalesmanApply); + return AjaxResult.buildSuccessInstance("申请成功"); + }else{ + return AjaxResult.buildFailInstance("不能重复申请"); } - salesmanApplyDao.insert(shopSalesmanApply); - return AjaxResult.buildSuccessInstance("申请成功"); + } + @ApiOperation(value = "查询推广员审核进度", notes = "") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = ShopSalesmanApply.class) + }) + @GetMapping(value = "/queryApplyProgress") + public AjaxResult queryApplyProgress() { + BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class); + QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("user_id",loginUser.getUserId()); + ShopSalesmanApply shopSalesmanApply = salesmanApplyDao.selectOne(queryWrapper); + return AjaxResult.buildSuccessInstance(shopSalesmanApply); + } + + + @ApiOperation(value = "绑定下级客户,当客户点击分销员分销的产品时调用", notes = "传入参数invitationId 必须 分销员openId 例: {invitationId:openId}") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = Map.class) + }) + @PostMapping(value = "/bindingParentSalesman") + public AjaxResult bindingParentSalesman(@RequestBody Map<String,String> param) { + String invitationId = param.get("invitationId"); + if (StringUtils.isBlank(invitationId)) { + return AjaxResult.buildFailInstance("请求参数错误"); + } + + BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class); + loginUser = bizUserDao.selectById(loginUser.getUserId()); + if (loginUser.getIsSales() == null || loginUser.getIsSales() == BizUser.NOT_SALES) { + if (StringUtils.isBlank(loginUser.getParentOpenId())) { + + Map<String, Object> updateParam = new HashMap<>(); + updateParam.put("userId", loginUser.getUserId()); + updateParam.put("parentOpenId", invitationId); + bizUserDao.updateByMap(updateParam); + return AjaxResult.buildSuccessInstance("绑定成功"); + } else { + return AjaxResult.buildSuccessInstance("已经存在上级"); + } + } else { + return AjaxResult.buildSuccessInstance("分销员不能被绑定"); + } + + + + } -- Gitblit v1.9.1