|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.HashMap; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | @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("分销员不能被绑定"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|