Commit e5da524d authored by 胡定国's avatar 胡定国

圈子首页增加热门推荐

parent 1b1a775e
package com.tanpu.community.api.beans.qo.feign.fatools;
import com.tanpu.community.api.beans.req.page.Pageable;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class UserInfoCorpReq {
@ApiModelProperty(value = "热门推荐id")
private String hotRecommendId;
@ApiModelProperty(value = "分页查询")
private Pageable page;
@ApiModelProperty(value = "排除id")
private List<String> excludeIds;
}
package com.tanpu.community.api.beans.resp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "热门推荐详情列表")
public class HotRecommendDetailResp {
@ApiModelProperty(value = "type为1: 首席理顾id type为2:机构id type为3:用户id")
private String relId;
@ApiModelProperty(value = "1:首席理顾 2:认证机构 3:指定用户")
private Integer type;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("头像")
private String headimg;
@ApiModelProperty("用户id")
private String userId;
@ApiModelProperty("认证名称")
private String certName;
}
package com.tanpu.community.api.beans.resp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "热门推荐")
public class HotRecommendResp {
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("头像")
private List<String> headimg;
}
package com.tanpu.community.api.beans.vo.feign.fatools;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("首席投顾信息")
public class UserInfoChiefInvAdvResp {
@ApiModelProperty(value = "首席投顾id")
private Integer id;
@ApiModelProperty(value = "用户id")
private String userId;
@ApiModelProperty(value = "姓名")
private String userName;
@ApiModelProperty(value = "头像url")
private String headImageUrl;
}
package com.tanpu.community.api.beans.vo.feign.fatools;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("机构信息")
public class UserInfoCorpResp {
@ApiModelProperty(value = "机构id")
private String corpId;
@ApiModelProperty(value = "公司全称")
private String corpName;
@ApiModelProperty(value = "申请用户id")
private String applyUserId;
@ApiModelProperty(value = "认证名称")
private String certName;
}
package com.tanpu.community.controller;
import com.tanpu.common.api.CommonResp;
import com.tanpu.community.api.beans.qo.feign.fatools.UserInfoCorpReq;
import com.tanpu.community.api.beans.req.page.Page;
import com.tanpu.community.api.beans.req.topic.TopicSearchReq;
import com.tanpu.community.api.beans.resp.HotRecommendDetailResp;
import com.tanpu.community.api.beans.resp.HotRecommendResp;
import com.tanpu.community.service.HotRecommendService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
@Slf4j
@Api(tags = "首页热门推荐")
public class HotRecommendController {
@Resource
private HotRecommendService hotRecommendService;
@GetMapping(value = "/hotRecommend")
@ApiOperation("首页热门推荐列表")
public CommonResp<List<HotRecommendResp>> hotRecommend() {
return CommonResp.success(hotRecommendService.hotRecommendList());
}
@GetMapping(value = "/hotRecommend/list")
@ApiOperation("首页热门推荐详情列表")
public CommonResp<Page<HotRecommendDetailResp>> hotRecommendList(@RequestBody UserInfoCorpReq req) {
return CommonResp.success(hotRecommendService.hotRecommendDetailList(req));
}
}
package com.tanpu.community.dao.entity.community;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 热门推荐
*/
@ApiModel(value="com-tanpu-community-dao-entity-community-HotRecommend")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "hot_recommend")
public class HotRecommend {
/**
* 主键id
*/
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="主键id")
private Integer id;
/**
* 热门推荐id
*/
@TableField(value = "hot_recommend_id")
@ApiModelProperty(value="热门推荐id")
private String hotRecommendId;
/**
* 类型名称
*/
@TableField(value = "`name`")
@ApiModelProperty(value="类型名称")
private String name;
/**
* 1:首席理顾 2:认证机构3:指定用户
*/
@TableField(value = "`type`")
@ApiModelProperty(value="1:首席理顾 2:认证机构3:指定用户")
private Integer type;
/**
* 0:不展示 1:展示
*/
@TableField(value = "is_show")
@ApiModelProperty(value="0:不展示 1:展示")
private Integer isShow;
/**
* 排序 按数字正序
*/
@TableField(value = "sort")
@ApiModelProperty(value="排序 按数字正序")
private Integer sort;
/**
* 是否删除 0:否 1:是
*/
@TableField(value = "delete_tag")
@ApiModelProperty(value="是否删除 0:否 1:是")
private Integer deleteTag;
/**
* 创建时间
*/
@TableField(value = "create_time")
@ApiModelProperty(value="创建时间")
private Date createTime;
/**
* 创建人
*/
@TableField(value = "create_by")
@ApiModelProperty(value="创建人")
private String createBy;
public static final String COL_ID = "id";
public static final String COL_HOT_RECOMMEND_ID = "hot_recommend_id";
public static final String COL_NAME = "name";
public static final String COL_TYPE = "type";
public static final String COL_IS_SHOW = "is_show";
public static final String COL_SORT = "sort";
public static final String COL_DELETE_TAG = "delete_tag";
public static final String COL_CREATE_TIME = "create_time";
public static final String COL_CREATE_BY = "create_by";
}
\ No newline at end of file
package com.tanpu.community.dao.entity.community;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@ApiModel(value="com-tanpu-community-dao-entity-community-HotRecommendUser")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "hot_recommend_user")
public class HotRecommendUser {
/**
* 主键id
*/
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="主键id")
private Integer id;
/**
* 关联id
*/
@TableField(value = "rel_id")
@ApiModelProperty(value="关联id")
private String relId;
/**
* 0:推荐的用户 1:排除的用户
*/
@TableField(value = "is_exclude")
@ApiModelProperty(value="0:推荐的用户 1:排除的用户")
private Integer isExclude;
/**
* 推荐id
*/
@TableField(value = "hot_recommend_id")
@ApiModelProperty(value="推荐id")
private String hotRecommendId;
/**
* 是否删除
*/
@TableField(value = "delete_tag")
@ApiModelProperty(value="是否删除")
private Integer deleteTag;
public static final String COL_ID = "id";
public static final String COL_REL_ID = "rel_id";
public static final String COL_IS_EXCLUDE = "is_exclude";
public static final String COL_HOT_RECOMMEND_ID = "hot_recommend_id";
public static final String COL_DELETE_TAG = "delete_tag";
}
\ No newline at end of file
package com.tanpu.community.dao.mapper.community;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tanpu.community.dao.entity.community.HotRecommend;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface HotRecommendMapper extends BaseMapper<HotRecommend> {
}
\ No newline at end of file
package com.tanpu.community.dao.mapper.community;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tanpu.community.dao.entity.community.HotRecommendUser;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface HotRecommendUserMapper extends BaseMapper<HotRecommendUser> {
}
\ No newline at end of file
package com.tanpu.community.feign.fatools; package com.tanpu.community.feign.fatools;
import com.tanpu.common.api.CommonResp; import com.tanpu.common.api.CommonResp;
import com.tanpu.community.api.beans.qo.feign.fatools.UserInfoCorpReq;
import com.tanpu.community.api.beans.req.page.Page; import com.tanpu.community.api.beans.req.page.Page;
import com.tanpu.community.api.beans.vo.feign.course.ShortVideoBaseInfoResp; import com.tanpu.community.api.beans.vo.feign.course.ShortVideoBaseInfoResp;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoChiefInvAdvResp;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoCorpResp;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoNewChief; import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoNewChief;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoOrg; import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoOrg;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoResp; import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoResp;
...@@ -13,6 +16,8 @@ import io.swagger.annotations.ApiParam; ...@@ -13,6 +16,8 @@ import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
...@@ -61,4 +66,12 @@ public interface FeignClientForFatools { ...@@ -61,4 +66,12 @@ public interface FeignClientForFatools {
List<UserInfoResp> queryByUserNameMp(@RequestParam("keyword") String keyword, List<UserInfoResp> queryByUserNameMp(@RequestParam("keyword") String keyword,
@RequestParam("pageSize") Integer pageSize, @RequestParam("pageSize") Integer pageSize,
@RequestParam("pageNumber") Integer pageNumber); @RequestParam("pageNumber") Integer pageNumber);
@ApiOperation(value = "查询机构列表过滤指定id")
@PostMapping(value = "/corp/queryCorpListWithExcludeId")
CommonResp<Page<UserInfoCorpResp>> queryCorpListWithExcludeId(@RequestBody UserInfoCorpReq req);
@ApiOperation(value = "查询首席投顾列表过滤指定id")
@PostMapping(value = "/user/queryChiefInvAdvListWithExcludeId")
CommonResp<Page<UserInfoChiefInvAdvResp>> queryChiefInvAdvListWithExcludeId(@RequestBody UserInfoCorpReq req);
} }
package com.tanpu.community.feign.fatools; package com.tanpu.community.feign.fatools;
import com.tanpu.common.api.CommonResp; import com.tanpu.common.api.CommonResp;
import com.tanpu.community.api.beans.qo.feign.fatools.UserInfoCorpReq;
import com.tanpu.community.api.beans.req.page.Page; import com.tanpu.community.api.beans.req.page.Page;
import com.tanpu.community.api.beans.vo.feign.course.ShortVideoBaseInfoResp; import com.tanpu.community.api.beans.vo.feign.course.ShortVideoBaseInfoResp;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoChiefInvAdvResp;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoCorpResp;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoNewChief; import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoNewChief;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoOrg; import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoOrg;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoResp; import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoResp;
...@@ -45,13 +48,13 @@ public class FeignbackForFatools implements FallbackFactory<FeignClientForFatool ...@@ -45,13 +48,13 @@ public class FeignbackForFatools implements FallbackFactory<FeignClientForFatool
@Override @Override
public CommonResp<Set<String>> getNotRelaySet(String userId, Set roomIds) { public CommonResp<Set<String>> getNotRelaySet(String userId, Set roomIds) {
log.info("FeignbackForFatools.getNotRelaySet", throwable); log.info("FeignbackForFatools.getNotRelaySet", throwable);
return CommonResp.error(); return CommonResp.failed();
} }
@Override @Override
public CommonResp<UserInfoResp> queryUserInfoNew(String userId) { public CommonResp<UserInfoResp> queryUserInfoNew(String userId) {
log.info("FeignbackForFatools.queryUsersListNew", throwable); log.info("FeignbackForFatools.queryUsersListNew", throwable);
return CommonResp.error(); return CommonResp.failed();
} }
@Override @Override
...@@ -63,13 +66,13 @@ public class FeignbackForFatools implements FallbackFactory<FeignClientForFatool ...@@ -63,13 +66,13 @@ public class FeignbackForFatools implements FallbackFactory<FeignClientForFatool
@Override @Override
public CommonResp<List<UserInfoOrg>> getUsetInfoByOrgUserId(String orgUserId) { public CommonResp<List<UserInfoOrg>> getUsetInfoByOrgUserId(String orgUserId) {
log.info("FeignbackForFatools.getUsetInfoByOrgUserId", throwable); log.info("FeignbackForFatools.getUsetInfoByOrgUserId", throwable);
return CommonResp.error(); return CommonResp.failed();
} }
@Override @Override
public CommonResp<Page<UserInfoNewChief>> queryChiefFinancialAdviserList(Integer pageNumber, Integer pageSize) { public CommonResp<Page<UserInfoNewChief>> queryChiefFinancialAdviserList(Integer pageNumber, Integer pageSize) {
log.info("FeignbackForFatools.queryChiefFinancialAdviserList", throwable); log.info("FeignbackForFatools.queryChiefFinancialAdviserList", throwable);
return CommonResp.error(); return CommonResp.failed();
} }
@Override @Override
...@@ -77,6 +80,18 @@ public class FeignbackForFatools implements FallbackFactory<FeignClientForFatool ...@@ -77,6 +80,18 @@ public class FeignbackForFatools implements FallbackFactory<FeignClientForFatool
log.info("FeignbackForFatools.queryByUserNameMp", throwable); log.info("FeignbackForFatools.queryByUserNameMp", throwable);
return null; return null;
} }
@Override
public CommonResp<Page<UserInfoCorpResp>> queryCorpListWithExcludeId(UserInfoCorpReq req) {
log.error("FeignbackForFatools.queryByUserNameMp", throwable);
return CommonResp.failed();
}
@Override
public CommonResp<Page<UserInfoChiefInvAdvResp>> queryChiefInvAdvListWithExcludeId(UserInfoCorpReq req) {
log.error("FeignbackForFatools.queryByUserNameMp", throwable);
return CommonResp.failed();
}
}; };
} }
......
package com.tanpu.community.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageHelper;
import com.google.common.collect.Lists;
import com.tanpu.common.api.CommonResp;
import com.tanpu.community.api.beans.qo.feign.fatools.UserInfoCorpReq;
import com.tanpu.community.api.beans.req.page.Page;
import com.tanpu.community.api.beans.req.page.Pageable;
import com.tanpu.community.api.beans.resp.HotRecommendDetailResp;
import com.tanpu.community.api.beans.resp.HotRecommendResp;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoChiefInvAdvResp;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoCorpResp;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoResp;
import com.tanpu.community.api.enums.DeleteTagEnum;
import com.tanpu.community.dao.entity.community.HotRecommend;
import com.tanpu.community.dao.entity.community.HotRecommendUser;
import com.tanpu.community.dao.mapper.community.HotRecommendMapper;
import com.tanpu.community.dao.mapper.community.HotRecommendUserMapper;
import com.tanpu.community.feign.fatools.FeignClientForFatools;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 首页推荐
*/
@Service
public class HotRecommendService {
@Resource
private HotRecommendMapper hotRecommendMapper;
@Resource
private HotRecommendUserMapper hotRecommendUserMapper;
@Resource
private FeignClientForFatools feignClientForFatools;
/**
* 首页热门推荐列表
*
* @return
*/
public List<HotRecommendResp> hotRecommendList() {
LambdaQueryWrapper<HotRecommend> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HotRecommend::getDeleteTag, DeleteTagEnum.NOT_DELETED)
.orderByAsc(HotRecommend::getSort)
.orderByDesc(HotRecommend::getCreateTime);
List<HotRecommend> hotRecommends = hotRecommendMapper.selectList(queryWrapper);
return hotRecommends.stream().map(item -> {
List<HotRecommendDetailResp> list = Lists.newArrayList();
if (item.getType() == 1) {
list = this.getChiefInvAdv(UserInfoCorpReq.builder()
.hotRecommendId(item.getHotRecommendId())
.page(new Pageable(1, 10)).build()).getContent();
} else if (item.getType() == 2) {
list = this.getCorpInfo(UserInfoCorpReq.builder()
.hotRecommendId(item.getHotRecommendId())
.page(new Pageable(1, 10)).build()).getContent();
} else if (item.getType() == 3) {
list = this.getUserInfo(UserInfoCorpReq.builder()
.hotRecommendId(item.getHotRecommendId())
.page(new Pageable(1, 10)).build()).getContent();
}
return HotRecommendResp.builder()
.name(item.getName())
.headimg(list.stream().map(HotRecommendDetailResp::getHeadimg).collect(Collectors.toList()))
.build();
}).collect(Collectors.toList());
}
public Page<HotRecommendDetailResp> hotRecommendDetailList(UserInfoCorpReq req) {
LambdaQueryWrapper<HotRecommend> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HotRecommend::getHotRecommendId, req.getHotRecommendId());
HotRecommend hotRecommend = hotRecommendMapper.selectOne(queryWrapper);
List<HotRecommendDetailResp> list = null;
if (hotRecommend.getType() == 1) {
return this.getChiefInvAdv(req);
} else if (hotRecommend.getType() == 2) {
return this.getCorpInfo(req);
} else if (hotRecommend.getType() == 3) {
return this.getUserInfo(req);
}
return null;
}
private Page<HotRecommendDetailResp> getCorpInfo(UserInfoCorpReq req) {
LambdaQueryWrapper<HotRecommendUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HotRecommendUser::getHotRecommendId, req.getHotRecommendId()).eq(HotRecommendUser::getIsExclude, 1);
List<HotRecommendUser> hotRecommendUsers = this.hotRecommendUserMapper.selectList(queryWrapper);
CommonResp<Page<UserInfoCorpResp>> pageCommonResp = this.feignClientForFatools.queryCorpListWithExcludeId(UserInfoCorpReq.builder()
.excludeIds(hotRecommendUsers.stream().map(HotRecommendUser::getRelId).collect(Collectors.toList()))
.page(req.getPage())
.build());
List<String> userIds = pageCommonResp.getAttributes().getContent().stream()
.map(UserInfoCorpResp::getApplyUserId).collect(Collectors.toList());
List<UserInfoResp> userInfoResps = this.feignClientForFatools.queryUserListNew(userIds);
Map<String, String> headimgMap = userInfoResps.stream().collect(Collectors.toMap(UserInfoResp::getUserId,
UserInfoResp::getHeadImageUrl, (v1, v2) -> v1));
List<HotRecommendDetailResp> list = pageCommonResp.getAttributes().getContent().stream().map(item -> {
return HotRecommendDetailResp.builder()
.relId(item.getCorpId())
.userId(item.getApplyUserId())
.certName(item.getCertName())
.type(2)
.name(item.getCorpName())
.headimg(headimgMap.get(item.getApplyUserId()))
.build();
}).collect(Collectors.toList());
Page page = new Page();
page.setPageNum(pageCommonResp.getAttributes().getPageNum());
page.setPageSize(pageCommonResp.getAttributes().getPageSize());
page.setTotalPages(pageCommonResp.getAttributes().getTotalPages());
page.setTotalPages(pageCommonResp.getAttributes().getTotalPages());
page.setContent(list);
return page;
}
private Page<HotRecommendDetailResp> getChiefInvAdv(UserInfoCorpReq req) {
LambdaQueryWrapper<HotRecommendUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HotRecommendUser::getHotRecommendId, req.getHotRecommendId()).eq(HotRecommendUser::getIsExclude, 1);
List<HotRecommendUser> hotRecommendUsers = this.hotRecommendUserMapper.selectList(queryWrapper);
CommonResp<Page<UserInfoChiefInvAdvResp>> pageCommonResp = this.feignClientForFatools.queryChiefInvAdvListWithExcludeId(UserInfoCorpReq.builder()
.excludeIds(hotRecommendUsers.stream().map(HotRecommendUser::getRelId).collect(Collectors.toList()))
.page(req.getPage())
.build());
List<HotRecommendDetailResp> list = pageCommonResp.getAttributes().getContent().stream().map(item -> {
return HotRecommendDetailResp.builder()
.relId(item.getId() + "")
.userId(item.getUserId())
.type(1)
.name(item.getUserName())
.headimg(item.getHeadImageUrl())
.build();
}).collect(Collectors.toList());
Page page = new Page();
page.setPageNum(pageCommonResp.getAttributes().getPageNum());
page.setPageSize(pageCommonResp.getAttributes().getPageSize());
page.setTotalPages(pageCommonResp.getAttributes().getTotalPages());
page.setTotalPages(pageCommonResp.getAttributes().getTotalPages());
page.setContent(list);
return page;
}
private Page<HotRecommendDetailResp> getUserInfo(UserInfoCorpReq req) {
LambdaQueryWrapper<HotRecommendUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HotRecommendUser::getHotRecommendId, req.getHotRecommendId()).eq(HotRecommendUser::getIsExclude, 0);
com.github.pagehelper.Page<Object> page = PageHelper.startPage(req.getPage().getPageNumber(), req.getPage().getPageSize());
List<HotRecommendUser> hotRecommendUsers = this.hotRecommendUserMapper.selectList(queryWrapper);
if (CollectionUtils.isEmpty(hotRecommendUsers)) {
return new Page<>(page, Lists.newArrayList());
}
List<UserInfoResp> userInfoResps = this.feignClientForFatools.queryUserListNew(hotRecommendUsers.stream()
.map(HotRecommendUser::getRelId).collect(Collectors.toList()));
List<HotRecommendDetailResp> list = userInfoResps.stream().map(item -> {
return HotRecommendDetailResp.builder()
.relId(item.getUserId())
.userId(item.getUserId())
.type(1)
.name(item.getWorkshopName())
.headimg(item.getHeadImageUrl())
.certName(item.getCertPosition())
.build();
}).collect(Collectors.toList());
return new Page<>(page, list);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.tanpu.community.dao.mapper.community.HotRecommendMapper">
<resultMap id="BaseResultMap" type="com.tanpu.community.dao.entity.community.HotRecommend">
<!--@mbg.generated-->
<!--@Table hot_recommend-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="hot_recommend_id" jdbcType="VARCHAR" property="hotRecommendId" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="type" jdbcType="INTEGER" property="type" />
<result column="is_show" jdbcType="INTEGER" property="isShow" />
<result column="sort" jdbcType="INTEGER" property="sort" />
<result column="delete_tag" jdbcType="INTEGER" property="deleteTag" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, hot_recommend_id, `name`, `type`, is_show, sort, delete_tag, create_time, create_by
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.tanpu.community.dao.mapper.community.HotRecommendUserMapper">
<resultMap id="BaseResultMap" type="com.tanpu.community.dao.entity.community.HotRecommendUser">
<!--@mbg.generated-->
<!--@Table hot_recommend_user-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="rel_id" jdbcType="VARCHAR" property="relId" />
<result column="is_exclude" jdbcType="INTEGER" property="isExclude" />
<result column="hot_recommend_id" jdbcType="VARCHAR" property="hotRecommendId" />
<result column="delete_tag" jdbcType="INTEGER" property="deleteTag" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, rel_id, is_exclude, hot_recommend_id, delete_tag
</sql>
</mapper>
\ 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