Bläddra i källkod

增加:代理商相关功能

hgw 3 år sedan
förälder
incheckning
524c6d072a

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TenantProxyUserRelation.java

@@ -23,6 +23,10 @@ public class TenantProxyUserRelation implements Serializable {
     @ApiModelProperty(value = "主键")
     private Integer id;
 
+    @TableField("proxy_id_")
+    @ApiModelProperty(value = "代理商id")
+    private Integer proxyId;
+
     @TableField("user_id_")
     @ApiModelProperty(value = "人员id")
     private Integer userId;
@@ -39,7 +43,6 @@ public class TenantProxyUserRelation implements Serializable {
     @ApiModelProperty(value = "创建时间")
     private Date createTime;
 
-
     public Integer getId() {
         return id;
     }
@@ -80,5 +83,12 @@ public class TenantProxyUserRelation implements Serializable {
         this.createTime = createTime;
     }
 
+    public Integer getProxyId() {
+        return proxyId;
+    }
+
+    public void setProxyId(Integer proxyId) {
+        this.proxyId = proxyId;
+    }
 }
 

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/TenantProxyInfoService.java

@@ -49,10 +49,11 @@ public interface TenantProxyInfoService extends IService<TenantProxyInfo> {
     PageInfo<ProxyUserVo> queryProxyUser(Map<String, Object> param);
 
     /**
-     * 冻结代理商
+     * 冻结/解冻代理商
      *
      * @param userId 代理负责人id
+     * @param state 状态 0正常 1冻结
      */
-    void freezeProxy(Integer userId);
+    void freezeProxy(Integer userId, Integer state);
 }
 

+ 6 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantOrderRecordServiceImpl.java

@@ -70,7 +70,8 @@ public class TenantOrderRecordServiceImpl extends ServiceImpl<TenantOrderRecordD
     @Autowired
     private TenantProxyDividendService tenantProxyDividendService;
     @Autowired
-    private TenantProxyInfoService tenantProxyInfoService;
+    private TenantProxyUserRelationService tenantProxyUserRelationService;
+
     //订单不存在
     private static final String PAYMENT_ID_NOT_EXISTS = "payment_id_not_exists";
 
@@ -231,9 +232,9 @@ public class TenantOrderRecordServiceImpl extends ServiceImpl<TenantOrderRecordD
                 return;
             }
             //根据推荐人查询代理商
-            TenantProxyInfo proxyInfo = tenantProxyInfoService.getOne(Wrappers.<TenantProxyInfo>lambdaQuery()
-                    .eq(TenantProxyInfo::getProxyUserId, tenantInfo.getRecommender()));
-            if (Objects.isNull(proxyInfo)) {
+            TenantProxyUserRelation proxyUserRelation = tenantProxyUserRelationService.getOne(Wrappers.<TenantProxyUserRelation>lambdaQuery()
+                    .eq(TenantProxyUserRelation::getUserId, tenantInfo.getRecommender()));
+            if (Objects.isNull(proxyUserRelation)) {
                 return;
             }
             //获取总激活月份
@@ -242,7 +243,7 @@ public class TenantOrderRecordServiceImpl extends ServiceImpl<TenantOrderRecordD
                     .reduce(0, Integer::sum);
             //写入分润表
             TenantProxyDividend dividend = new TenantProxyDividend();
-            dividend.setProxyId(proxyInfo.getId());
+            dividend.setProxyId(proxyUserRelation.getProxyId());
             dividend.setTenantId(record.getTenantId());
             dividend.setTotalMonth(totalMonth);
             dividend.setActiveTime(now);

+ 9 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantProxyInfoServiceImpl.java

@@ -72,6 +72,7 @@ public class TenantProxyInfoServiceImpl extends ServiceImpl<TenantProxyInfoDao,
         this.save(proxyInfo);
         //添加代理商人员关系表
         TenantProxyUserRelation userRelation = new TenantProxyUserRelation();
+        userRelation.setProxyId(proxyInfo.getId());
         userRelation.setUserId(userId);
         userRelation.setRank(0);
         userRelation.setCreateTime(now);
@@ -94,6 +95,7 @@ public class TenantProxyInfoServiceImpl extends ServiceImpl<TenantProxyInfoDao,
                 .eq(TenantProxyUserRelation::getParentId, null));
         //添加代理商人员关系表
         TenantProxyUserRelation userRelation = new TenantProxyUserRelation();
+        userRelation.setProxyId(parentProxyUser.getProxyId());
         userRelation.setParentId(parentId);
         userRelation.setUserId(userId);
         userRelation.setRank(parentProxyUser.getRank() + 1);
@@ -142,16 +144,19 @@ public class TenantProxyInfoServiceImpl extends ServiceImpl<TenantProxyInfoDao,
     }
 
     /**
-     * 冻结代理商
+     * 冻结/解冻代理商
      *
      * @param userId 代理负责人id
+     * @param state  状态 0正常 1冻结
      */
-    public void freezeProxy(Integer userId) {
+    public void freezeProxy(Integer userId, Integer state) {
+        //sysUser表 lock字段 9冻结 0解冻
+        Integer lockFlag = state == 0 ? state : 9;
         //先冻结sysUser表
-        baseMapper.updateProxySysUserLock(userId, 9);
+        baseMapper.updateProxySysUserLock(userId, lockFlag);
         //在修改代理商表
         TenantProxyInfo tenantProxyInfo = this.getOne(Wrappers.<TenantProxyInfo>lambdaUpdate().eq(TenantProxyInfo::getProxyUserId, userId));
-        tenantProxyInfo.setState(2);
+        tenantProxyInfo.setState(state);
         this.updateById(tenantProxyInfo);
     }
 

+ 4 - 3
mec-biz/src/main/resources/config/mybatis/TenantProxyUserRelationMapper.xml

@@ -3,6 +3,7 @@
 <mapper namespace="com.ym.mec.biz.dal.dao.TenantProxyUserRelationDao">
     <resultMap id="BaseResultMap" type="com.ym.mec.biz.dal.entity.TenantProxyUserRelation">
         <id column="id_" jdbcType="INTEGER" property="id"/>
+        <id column="proxy_id_" jdbcType="INTEGER" property="proxyId"/>
         <result column="user_id_" jdbcType="INTEGER" property="userId"/>
         <result column="parent_id_" jdbcType="INTEGER" property="parentId"/>
         <result column="rank_" jdbcType="INTEGER" property="rank"/>
@@ -10,16 +11,16 @@
     </resultMap>
 
     <sql id="Base_Column_List">
-        id_
+        id_,proxy_id_
         , user_id_, parent_id_, rank_, create_time_
     </sql>
 
     <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
             parameterType="com.ym.mec.biz.dal.entity.TenantProxyUserRelation">
-        insert into tenant_proxy_user_relation(user_id_, parent_id_, rank_, create_time_)
+        insert into tenant_proxy_user_relation(user_id_, proxy_id_,parent_id_, rank_, create_time_)
         values
         <foreach collection="entities" item="entity" separator=",">
-            (#{entity.userId}, #{entity.parentId}, #{entity.rank}, #{entity.createTime})
+            (#{entity.userId},#{proxyId}, #{entity.parentId}, #{entity.rank}, #{entity.createTime})
         </foreach>
     </insert>
 

+ 7 - 4
mec-web/src/main/java/com/ym/mec/web/controller/TenantProxyInfoController.java

@@ -67,11 +67,14 @@ public class TenantProxyInfoController extends BaseController {
         return succeed(tenantProxyInfoService.queryProxyUser(param));
     }
 
-    @ApiOperation("冻结代理商")
-    @ApiImplicitParam(name = "id", value = "代理商负责人id", required = true, dataType = "Integer")
+    @ApiOperation("冻结/解冻代理商")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", dataType = "Integer", value = "代理商负责人id"),
+            @ApiImplicitParam(name = "state", dataType = "Integer", value = "状态 0正常 1冻结"),
+    })
     @GetMapping("/freezeProxy")
-    public HttpResponseResult<Object> freezeProxy(Integer id) {
-        tenantProxyInfoService.freezeProxy(id);
+    public HttpResponseResult<Object> freezeProxy(Integer id, Integer state) {
+        tenantProxyInfoService.freezeProxy(id, state);
         return succeed();
     }