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 ++++++++++++++++++++----
zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanApply.java | 32 +------
zq-erp/src/main/java/com/matrix/core/pojo/AjaxResult.java | 29 ++++++-
zq-erp/src/main/resources/mybatis/mapper/xcxShop/BizUserDao.xml | 20 ++++-
4 files changed, 131 insertions(+), 50 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/core/pojo/AjaxResult.java b/zq-erp/src/main/java/com/matrix/core/pojo/AjaxResult.java
index 4e45714..456a3f1 100644
--- a/zq-erp/src/main/java/com/matrix/core/pojo/AjaxResult.java
+++ b/zq-erp/src/main/java/com/matrix/core/pojo/AjaxResult.java
@@ -4,7 +4,6 @@
import com.matrix.core.tools.InternationaUtil;
import com.matrix.core.tools.MdcUtil;
import com.matrix.core.tools.StringUtils;
-import com.matrix.system.hive.plugin.message.StringUtil;
import java.io.Serializable;
import java.util.HashMap;
@@ -44,7 +43,14 @@
* info会被国际化工具先处理,找不到国际化资源则显示原始信息
**/
private String info;
+
+ /**
+ * 单个对象返回参数
+ */
+ private Object data;
+
private Map<Object, Object> mapInfo = new HashMap<>();
+
private List<?> rows;
/**
* 总记录数
@@ -53,8 +59,17 @@
private String requestId;
+ public static AjaxResult buildSuccessInstance(Object data) {
+ AjaxResult result= new AjaxResult(STATUS_SUCCESS,"");
+ result.data=data;
+ return result;
+ }
-
+ public static AjaxResult buildSuccessInstance(Object data, String info) {
+ AjaxResult result= new AjaxResult(STATUS_SUCCESS,info);
+ result.data=data;
+ return result;
+ }
public static AjaxResult buildSuccessInstance(String info) {
@@ -93,8 +108,6 @@
* 设置简单信息,这是一个便捷的方法
*
* @param status
- * @param page
- * @param info
*/
public AjaxResult(String status, List<?> rows) {
this.status = status;
@@ -168,6 +181,14 @@
this.requestId = requestId;
}
+ public Object getData() {
+ return data;
+ }
+
+ public void setData(Object data) {
+ this.data = data;
+ }
+
/**
* 在map对象中放置信息
*
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanApply.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanApply.java
index 6b9efc1..fc2bfd5 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanApply.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanApply.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.TableName;
import com.matrix.system.score.entity.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -44,47 +45,28 @@
public static final int APPLY_WAY_HAND_ADD=4;
-
- /**
- * 申请方式1、自主申请,2、自动添加,3上级邀请,4、手动添加
- */
-
+ @ApiModelProperty(value = "申请方式1、自主申请,2、自动添加,3上级邀请,4、手动添加")
private Integer applyWay;
-
- /**
- * 申请用户id
- */
-
+ @ApiModelProperty(value = "申请用户id")
private String userId;
- /**
- * 邀请用户ID
- */
-
+ @ApiModelProperty(value = "邀请用户ID")
private String parentUserId;
- /**
- * 申请状态1、待审核,2通过,3未通过
- */
-
+ @ApiModelProperty(value = "申请状态1、待审核,2通过,3未通过")
private Integer applyStatus;
-
- /**
- * 备注
- */
-
+ @ApiModelProperty(value = "备注")
private String remark;
/**
* 公司ID
*/
-
-
+ @ApiModelProperty(hidden = true)
private Long companyId;
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("分销员不能被绑定");
+ }
+
+
+
+ }
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/BizUserDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/BizUserDao.xml
index 4fcec6c..9c5f32b 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/BizUserDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/BizUserDao.xml
@@ -36,6 +36,7 @@
<result property="isSales" column="is_sales" />
<result property="withdrawalCash" column="withdrawal_cash" />
<result property="salesmanGrade" column="salesman_grade" />
+ <result property="parentOpenId" column="parent_open_id" />
</resultMap>
@@ -72,6 +73,7 @@
<result property="isSales" column="is_sales" />
<result property="withdrawalCash" column="withdrawal_cash" />
<result property="salesmanGrade" column="salesman_grade" />
+ <result property="parentOpenId" column="parent_open_id" />
</resultMap>
<!-- 字段sql -->
@@ -106,7 +108,8 @@
company_id,
is_sales,
withdrawal_cash,
- salesman_grade
+ salesman_grade,
+ parent_open_id
</sql>
@@ -142,7 +145,9 @@
#{item.companyId},
#{item.isSales},
#{item.withdrawalCash},
- #{item.salesmanGrade}
+ #{item.salesmanGrade},
+ #{item.parentOpenId}
+
</sql>
@@ -238,7 +243,9 @@
<if test="record.salesmanGrade != null and record.salesmanGrade !='' ">
and salesman_grade = #{record.salesmanGrade}
</if>
-
+ <if test="record.parentOpenId != null and record.parentOpenId !='' ">
+ and parent_open_id = #{record.parentOpenId}
+ </if>
<if test="(record.startTime!=null and record.startTime!='') or (record.startTime!='' and record.startTime==0) ">
and date_format(create_time,'%Y-%m-%d') >= #{record.startTime}
@@ -361,6 +368,9 @@
<if test="_parameter.containsKey('salesmanGrade')">
salesman_grade = #{salesmanGrade},
</if>
+ <if test="_parameter.containsKey('parentOpenId')">
+ parent_open_id = #{parentOpenId},
+ </if>
@@ -448,7 +458,9 @@
<if test="record.salesmanGrade != null ">
salesman_grade = #{record.salesmanGrade},
</if>
-
+ <if test="record.parentOpenId != null ">
+ parent_open_id = #{record.parentOpenId},
+ </if>
</set>
WHERE user_id=#{record.userId}
--
Gitblit v1.9.1