Commit 85f5c919 authored by wuwz's avatar wuwz

修改我的推荐数据接口

parent 483c3376
...@@ -33,4 +33,6 @@ public class UserTeamMemberVo { ...@@ -33,4 +33,6 @@ public class UserTeamMemberVo {
private Integer totalPage; private Integer totalPage;
private Integer totalTeams;
} }
...@@ -7,11 +7,13 @@ import com.github.wxiaoqi.security.admin.entity.AppUserDetail; ...@@ -7,11 +7,13 @@ import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin; import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.vo.UserTeamMemberVo; import com.github.wxiaoqi.security.admin.vo.UserTeamMemberVo;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
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 org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
...@@ -40,6 +42,9 @@ public class UserBusinessBiz { ...@@ -40,6 +42,9 @@ public class UserBusinessBiz {
@Autowired @Autowired
private AppUserDetailBiz appUserDetailBiz; private AppUserDetailBiz appUserDetailBiz;
@Autowired
private BranchCompanyBiz branchCompanyBiz;
public UserTeamMemberVo findTeamMemberPageByUserId(Integer userId, Integer pageNo, Integer pageSize) { public UserTeamMemberVo findTeamMemberPageByUserId(Integer userId, Integer pageNo, Integer pageSize) {
UserTeamMemberVo userTeamMemberVo = new UserTeamMemberVo(); UserTeamMemberVo userTeamMemberVo = new UserTeamMemberVo();
...@@ -98,6 +103,72 @@ public class UserBusinessBiz { ...@@ -98,6 +103,72 @@ public class UserBusinessBiz {
return userTeamMemberVo; return userTeamMemberVo;
} }
public UserTeamMemberVo findTeamMemberPageByUserId1(Integer userId, Integer pageNo, Integer pageSize) {
UserTeamMemberVo userTeamMemberVo = new UserTeamMemberVo();
//查询推荐的团队
Example example = new Example(BranchCompany.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("inviterAccount",userId);
criteria.andEqualTo("isDel",0);
List<BranchCompany>list = branchCompanyBiz.selectByExample(example);
userTeamMemberVo.setTotalTeams(list == null ?0:list.size());
PageDataVO<UserIncomeBo> dataVO = appUserSellingWaterBiz.findMemberIdAndIncomeMapByMemberIds(userId, pageNo, pageSize);
List<UserIncomeBo> data = dataVO.getData();
if (CollectionUtils.isEmpty(data)) {
userTeamMemberVo.setPageNum(pageNo);
userTeamMemberVo.setPageSize(pageSize);
userTeamMemberVo.setTotalCount(0);
userTeamMemberVo.setTotalPage(0);
userTeamMemberVo.setTotalIncome(new BigDecimal(0));
userTeamMemberVo.setUserTeamMemberBos(Collections.EMPTY_LIST);
return userTeamMemberVo;
}
Map<Integer, UserIncomeBo> userIdAndIncomMap = data.stream().collect(Collectors.toMap(UserIncomeBo::getUserId, Function.identity()));
List<Integer> memberIds = data.stream().map(UserIncomeBo::getUserId).collect(Collectors.toList());
Map<Integer, AppUserLogin> userIdAndAppUserLoginMap = appUserLoginBiz.findUserIdAndUserLoginMapByMemberIds(memberIds);
Map<Integer, AppUserDetail> userIdAndAppUserDetailMap = appUserDetailBiz.findUserIdAndUserDetailMapByMemberIds(memberIds);
List<UserTeamMemberBo> userTeamMemberBos = new ArrayList<>();
UserTeamMemberBo userTeamMemberBo;
BigDecimal totalIncome = new BigDecimal(0);
for (Integer memberId : memberIds) {
userTeamMemberBo = new UserTeamMemberBo();
userTeamMemberBo.setLeagueTime(userIdAndIncomMap.get(memberId).getLeagueTime());
userTeamMemberBo.setUserId(memberId);
if (userIdAndAppUserLoginMap != null) {
AppUserLogin appUserLogin = userIdAndAppUserLoginMap.get(memberId);
if (appUserLogin == null) {
continue;
}
userTeamMemberBo.setUserName(appUserLogin.getUsername());
}
if (userIdAndAppUserDetailMap != null) {
AppUserDetail appUserDetail = userIdAndAppUserDetailMap.get(memberId);
userTeamMemberBo.setHeadUrl(appUserDetail == null ? "" : appUserDetail.getHeadimgurl());
userTeamMemberBo.setNickName(appUserDetail == null ? "" : appUserDetail.getNickname());
userTeamMemberBo.setRealName(appUserDetail == null ? "" : appUserDetail.getRealname());
}
BigDecimal income = userIdAndIncomMap.get(memberId).getIncome() == null ? new BigDecimal(0) : userIdAndIncomMap.get(memberId).getIncome();
userTeamMemberBo.setIncome(income);
totalIncome = totalIncome.add(income);
userTeamMemberBos.add(userTeamMemberBo);
}
userTeamMemberBos.sort(Comparator.comparing(UserTeamMemberBo::getIncome).reversed());
userTeamMemberVo.setPageNum(dataVO.getPageNum());
userTeamMemberVo.setPageSize(dataVO.getPageSize());
userTeamMemberVo.setTotalCount(dataVO.getTotalCount().intValue());
userTeamMemberVo.setTotalPage(dataVO.getTotalPage());
userTeamMemberVo.setUserTeamMemberBos(userTeamMemberBos);
userTeamMemberVo.setTotalIncome(totalIncome);
return userTeamMemberVo;
}
public PromoteBO getPromoteBoByUserId(Integer userId) { public PromoteBO getPromoteBoByUserId(Integer userId) {
PromoteBO promoteBO = new PromoteBO(); PromoteBO promoteBO = new PromoteBO();
......
...@@ -46,6 +46,17 @@ public class UserBussinessController { ...@@ -46,6 +46,17 @@ public class UserBussinessController {
} }
} }
@GetMapping("/teams1")
public ObjectRestResponse<UserTeamMemberVo> findTeamPage1(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, HttpServletRequest request){
try {
IJWTInfo infoFromToken = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request));
UserTeamMemberVo userTeamMemberVo = businessBiz.findTeamMemberPageByUserId1(Integer.valueOf(infoFromToken.getId()), pageNo, pageSize);
return ObjectRestResponse.succ(userTeamMemberVo);
} catch (Exception e) {
throw new BaseException(e);
}
}
@GetMapping("/promote") @GetMapping("/promote")
public ObjectRestResponse<PromoteBO> findPromoteBo(HttpServletRequest request){ public ObjectRestResponse<PromoteBO> findPromoteBo(HttpServletRequest request){
try { try {
......
...@@ -172,4 +172,6 @@ public class BranchCompany { ...@@ -172,4 +172,6 @@ public class BranchCompany {
@Column(name = "is_del") @Column(name = "is_del")
private Integer isDel; private Integer isDel;
@Column(name = "inviter_account")
private Long inviterAccount;
} }
\ No newline at end of file
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