Commit 6774618f authored by libin's avatar libin

我的团队

parent 78fbfd46
package com.github.wxiaoqi.security.admin.bo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author libin
* @version 1.0
* @description 用户的团队成员
* @data 2019/7/11 14:46
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserTeamMemberBo {
private Integer userId;
/**
* 用户名
*/
private String userNamem;
/**
* 昵称
*/
private String nickName;
/**
* 头像
*/
private String headUrl;
/**
* 加入时间
*/
private Long leagueTime;
/**
* 收入
*/
private double income;
}
package com.github.wxiaoqi.security.admin.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/7/11 15:14
*/
@Data
public class AppUserSellingWaterDTO {
/**
* 用户id
*/
@ApiModelProperty(value = "用户id")
private Integer userId;
/**
* 身份职位
*/
@ApiModelProperty(value = "身份职位")
private Integer positionId;
/**
* 来源用户id
*/
@ApiModelProperty(value = "来源用户id")
private Integer sourceId;
/**
* 订单id
*/
@ApiModelProperty(value = "订单id")
private Integer orderId;
/**
* 商品id
*/
@ApiModelProperty(value = "商品id")
private Integer goodId;
/**
* 商品数量
*/
@ApiModelProperty(value = "商品数量")
private Integer goodNumber;
/**
* 类型 1=>一级上线提成
*/
@ApiModelProperty(value = "类型 1=>一级上线提成")
private Integer type;
/**
* 类别:0-正;1-负
*/
@ApiModelProperty(value = "类别:0-正;1-负")
private Integer status;
/**
* 商品标题
*/
@ApiModelProperty(value = "商品标题")
private String title;
/**
* 图片
*/
@ApiModelProperty(value = "图片")
private String img;
/**
* 售价
*/
@ApiModelProperty(value = "售价")
private Long price;
/**
* 提成百分比
*/
@ApiModelProperty(value = "提成百分比")
private Integer extract;
/**
* 是否入账:0-未入账;1-已入账
*/
@ApiModelProperty(value = "是否入账:0-未入账;1-已入账")
private Integer waiting;
}
...@@ -14,6 +14,7 @@ import tk.mybatis.mapper.entity.Example; ...@@ -14,6 +14,7 @@ import tk.mybatis.mapper.entity.Example;
import java.time.Instant; import java.time.Instant;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* ${DESCRIPTION} * ${DESCRIPTION}
...@@ -78,9 +79,7 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail ...@@ -78,9 +79,7 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
} }
public Map<Integer, AppUserDetail> findUserIdAndUserDetailMapByMemberIds(List<Integer> memberIds) {
return null;
}
} }
...@@ -168,4 +168,8 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> { ...@@ -168,4 +168,8 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
} }
return phoneAndUserIdMap; return phoneAndUserIdMap;
} }
public Map<Integer, AppUserLogin> findUserIdAndUserLoginMapByMemberIds(List<Integer> memberIds) {
return null;
}
} }
...@@ -2,16 +2,19 @@ package com.github.wxiaoqi.security.admin.biz; ...@@ -2,16 +2,19 @@ package com.github.wxiaoqi.security.admin.biz;
import com.ace.cache.annotation.Cache; import com.ace.cache.annotation.Cache;
import com.ace.cache.annotation.CacheClear; import com.ace.cache.annotation.CacheClear;
import com.github.wxiaoqi.security.admin.bo.UserTeamMemberBo;
import com.github.wxiaoqi.security.admin.entity.AppUserRelationTemp; import com.github.wxiaoqi.security.admin.entity.AppUserRelationTemp;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import org.springframework.aop.framework.AopContext; import org.springframework.aop.framework.AopContext;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.admin.entity.AppUserRelation; import com.github.wxiaoqi.security.admin.entity.AppUserRelation;
import com.github.wxiaoqi.security.admin.mapper.AppUserRelationMapper; import com.github.wxiaoqi.security.admin.mapper.AppUserRelationMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import tk.mybatis.mapper.entity.Example;
/** /**
* 用户关系表 * 用户关系表
...@@ -146,4 +149,13 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel ...@@ -146,4 +149,13 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel
private AppUserRelationBiz getMyBiz() { private AppUserRelationBiz getMyBiz() {
return AopContext.currentProxy() != null ? (AppUserRelationBiz) AopContext.currentProxy() : this; return AopContext.currentProxy() != null ? (AppUserRelationBiz) AopContext.currentProxy() : this;
} }
public PageDataVO<AppUserRelation> findMemberPageByLeaderId(Integer userId, Integer pageNo, Integer pageSize) {
Example example = new Example(AppUserRelation.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("parentId",userId);
criteria.andEqualTo("isForever",1);
criteria.andEqualTo("isDel",0);
return PageDataVO.pageInfo(pageNo, pageSize, () -> mapper.selectByExample(example));
}
} }
\ No newline at end of file
...@@ -6,6 +6,9 @@ import com.github.wxiaoqi.security.admin.entity.AppUserSellingWater; ...@@ -6,6 +6,9 @@ import com.github.wxiaoqi.security.admin.entity.AppUserSellingWater;
import com.github.wxiaoqi.security.admin.mapper.AppUserSellingWaterMapper; import com.github.wxiaoqi.security.admin.mapper.AppUserSellingWaterMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import java.util.List;
import java.util.Map;
/** /**
* 拥金明细表 * 拥金明细表
* *
...@@ -15,4 +18,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz; ...@@ -15,4 +18,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
*/ */
@Service @Service
public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper,AppUserSellingWater> { public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper,AppUserSellingWater> {
public Map<Integer, Double> findMemberIdAndIncome(List<Integer> memberIds) {
return null;
}
} }
\ No newline at end of file
package com.github.wxiaoqi.security.admin.biz;
import com.github.wxiaoqi.security.admin.bo.UserTeamMemberBo;
import com.github.wxiaoqi.security.admin.dto.AppUserSellingWaterDTO;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.entity.AppUserRelation;
import com.github.wxiaoqi.security.admin.entity.AppUserSellingWater;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.sun.org.apache.regexp.internal.RE;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.temporal.TemporalAccessor;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/7/11 14:44
*/
@Transactional
@Service
public class UserBusinessBiz {
@Autowired
private AppUserRelationBiz appUserRelationBiz;
@Autowired
private AppUserSellingWaterBiz appUserSellingWaterBiz;
@Autowired
private AppUserLoginBiz appUserLoginBiz;
@Autowired
private AppUserDetailBiz appUserDetailBiz;
public PageDataVO<UserTeamMemberBo> findTeamMemberPageByUserId(Integer userId, Integer pageNo, Integer pageSize) {
PageDataVO<UserTeamMemberBo> teamMemberPage = new PageDataVO<>();
//根据用户id去关系表里查询下级
PageDataVO<AppUserRelation> memberPage = appUserRelationBiz.findMemberPageByLeaderId(userId, pageNo, pageSize);
List<AppUserRelation> teamMemberBos = memberPage.getData();
if (CollectionUtils.isEmpty(teamMemberBos)) {
return teamMemberPage;
}
//根据成员id查询佣金记录
List<Integer> memberIds = teamMemberBos.stream().map(team -> team.getUserId()).collect(Collectors.toList());
Map<Integer, Double> memberIdAndIncomeMap = appUserSellingWaterBiz.findMemberIdAndIncome(memberIds);
if (memberIdAndIncomeMap == null) {
return teamMemberPage;
}
Map<Integer,AppUserLogin> userIdAndAppUserLoginMap = appUserLoginBiz.findUserIdAndUserLoginMapByMemberIds(memberIds);
Map<Integer, AppUserDetail> UserIdAndAppUserDetailMap = appUserDetailBiz.findUserIdAndUserDetailMapByMemberIds(memberIds);
List<UserTeamMemberBo> userTeamMemberBos = new ArrayList<>();
UserTeamMemberBo userTeamMemberBo;
for (AppUserRelation appUserRelation : teamMemberBos) {
userTeamMemberBo = new UserTeamMemberBo();
userTeamMemberBo.setLeagueTime(appUserRelation.getBindTime());
userTeamMemberBo.setUserId(appUserRelation.getUserId());
if (userIdAndAppUserLoginMap!=null){
AppUserLogin appUserLogin = userIdAndAppUserLoginMap.get(appUserRelation.getUserId());
userTeamMemberBo.setUserNamem(appUserLogin.getUsername());
}
if (UserIdAndAppUserDetailMap!=null){
AppUserDetail appUserDetail = UserIdAndAppUserDetailMap.get(appUserRelation.getUserId());
userTeamMemberBo.setHeadUrl(appUserDetail==null?"":appUserDetail.getHeadimgurl());
userTeamMemberBo.setNickName(appUserDetail==null?"":appUserDetail.getNickname());
}
userTeamMemberBo.setIncome(memberIdAndIncomeMap.get(appUserRelation.getUserId()));
userTeamMemberBos.add(userTeamMemberBo);
}
return teamMemberPage;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment