Commit ef215391 authored by shiyu's avatar shiyu

关注列表

parent 68c5d996
......@@ -45,4 +45,13 @@ public interface FollowFansRecordDao {
*/
long countFans(long id);
/**
* 统计推荐的粉丝的人数
* @param introducerId, followerId
* @return
*/
long countFansByIntroducerId(long introducerId, long followerId);
}
......@@ -48,6 +48,7 @@ public class FollowFansRecordDaoImpl implements FollowFansRecordDao {
FollowFansRecordExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getFollowerId(), criteria::andFollowerIdEqualTo);
JdbcHelper.ifPresent(dto.getFansId(), criteria::andFansIdEqualTo);
JdbcHelper.ifPresent(dto.getIntroducerId(), criteria::andIntroducerIdEqualTo);
criteria.andStateEqualTo(1);
example.setOrderByClause("create_time desc");
PageHelper.startPage(dto.getPage(), dto.getLimit());
......@@ -82,4 +83,14 @@ public class FollowFansRecordDaoImpl implements FollowFansRecordDao {
criteria.andStateEqualTo(1);
return followFansRecordMapper.countByExample(example);
}
@Override
public long countFansByIntroducerId(long introducerId, long followerId) {
FollowFansRecordExample example = new FollowFansRecordExample();
FollowFansRecordExample.Criteria criteria = example.createCriteria();
criteria.andIntroducerIdEqualTo(introducerId);
criteria.andFollowerIdEqualTo(followerId);
criteria.andStateEqualTo(1);
return followFansRecordMapper.countByExample(example);
}
}
......@@ -41,12 +41,13 @@ public class DtsUserDaoImpl implements DtsUserDao {
@Override
public User findById(Long userId) {
CloudServerResponse<com.wwdz.user.api.model.user.User> cloudServerResponse = userReadService.getUserIsNotDelete(userId);
return userMapper.selectByPrimaryKey(userId);
/*CloudServerResponse<com.wwdz.user.api.model.user.User> cloudServerResponse = userReadService.getUserIsNotDelete(userId);
if (cloudServerResponse.getCode() != 1001) {
return new User();
}
com.wwdz.user.api.model.user.User wUser = cloudServerResponse.getResult();
return User.of(wUser);
return User.of(wUser);*/
}
@Override
......
......@@ -47,10 +47,10 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
"/wx/supplierItem/findItemsOfCurrentDistributor", "/wx/selfPage/updateSwitch", "/wx/supplierItem/findHomePage"
//下列路径上线注释
/*, "/wx/supplierItem/**", "/wx/shareRecord/**", "/wx/distributionOrder/**", "/wx/selfPage/**", "/wx/auctionRecord/**",
, "/wx/supplierItem/**", "/wx/shareRecord/**", "/wx/distributionOrder/**", "/wx/selfPage/**", "/wx/auctionRecord/**",
"/wx/shareRecord/**","/wx/collectionBook/**", "/wx/collectedRecord/**", "/wx/collectionItemsRelation/**","/wx/collectionShareRecord/**"
,"/wx/logistics/**"
*/
,"/wx/logistics/**","/wx/follow/**"
/* "/wx/officialAccount/**",
......
......@@ -54,6 +54,17 @@ public class FollowFansRecordVo implements Entity {
*/
private Integer relationCode;
/**
* 介绍人id
*/
private Long introducerId;
/**
* 介绍人名称
*/
private String introducerName;
/**
* 创建时间
*/
......@@ -71,4 +82,24 @@ public class FollowFansRecordVo implements Entity {
private String stateName;
/**
* 被推荐的藏家id
*/
private Long collectorId;
/**
* 被推荐的藏家名称
*/
private String collectorName;
/**
* 被推荐的藏家头像
*/
private String collectorAvatar;
/**
* 介绍的数量
*/
private Long introduceNum;
}
......@@ -9,15 +9,16 @@ import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.CacheUtil;
import com.wwdz.ch.core.util.RedisUtils;
import com.wwdz.ch.core.util.StringUtil;
import com.wwdz.ch.db.dao.FollowFansRecordDao;
import com.wwdz.ch.db.domain.FollowFansRecord;
import com.wwdz.ch.db.domain.distribution.DistributorShareRecord;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.wx.entity.MessageContentText;
import com.wwdz.ch.wx.entity.request.MessageRequestDto;
import com.wwdz.ch.wx.entity.vo.FollowFansRecordVo;
import com.wwdz.ch.wx.service.FollowFansRecordService;
import com.wwdz.ch.wx.service.MessageService;
import com.wwdz.ch.wx.util.StringUtil;
import com.wwdz.mall.common.vo.response.CloudServerResponse;
import com.wwdz.mall.contentcenter.api.CommunityAttributeReadService;
import com.wwdz.mall.contentcenter.domain.result.attribute.CommunityUserAttributeDO;
......@@ -179,8 +180,9 @@ public class FollowFansRecordServiceImpl implements FollowFansRecordService {
FollowFansRecordVo followFansRecordVo = new FollowFansRecordVo();
EntityMapper.copyAttribute(f, followFansRecordVo);
followFansRecordVo.setFollowerName(cacheUtil.getAppletUserNameById(f.getFollowerId()));
followFansRecordVo.setFollowerIcon(cacheUtil.getAppletUsers(f.getFollowerId()).getAvatar());
try {
followFansRecordVo.setFollowerIcon(cacheUtil.getAppletUserById(f.getFollowerId()).getAvatar());
followFansRecordVo.setIntroducerName(cacheUtil.getAppletUserById(f.getIntroducerId()).getNickname());
/* try {
CloudServerResponse<CommunityUserAttributeDO> response = communityAttributeReadService.getCommunityUserAttributeByUserId(f.getFollowerId());
if (response.isSuccess()) {
followFansRecordVo.setFollowerProfile(response.getResult() == null ? null : response.getResult().getSignature());
......@@ -188,7 +190,7 @@ public class FollowFansRecordServiceImpl implements FollowFansRecordService {
} catch (Exception e) {
logger.error(">>>>>>>>> 调用社区用户查询接口获取用户签名出错:{}", e);
}
*/
if (fansIdList.contains(f.getFollowerId().longValue())) {
followFansRecordVo.setRelation("互相关注");
followFansRecordVo.setRelationCode(FollowFansEnum.RelationEnum.BOTH_FOLLOWED.getCode());
......@@ -227,15 +229,16 @@ public class FollowFansRecordServiceImpl implements FollowFansRecordService {
FollowFansRecordVo followFansRecordVo = new FollowFansRecordVo();
EntityMapper.copyAttribute(f, followFansRecordVo);
followFansRecordVo.setFansName(cacheUtil.getAppletUserNameById(f.getFansId()));
followFansRecordVo.setFansIcon(cacheUtil.getAppletUsers(f.getFansId()).getAvatar());
try {
followFansRecordVo.setFansIcon(cacheUtil.getAppletUserById(f.getFansId()).getAvatar());
followFansRecordVo.setIntroducerName(cacheUtil.getAppletUserById(f.getIntroducerId()).getNickname());
/* try {
CloudServerResponse<CommunityUserAttributeDO> response = communityAttributeReadService.getCommunityUserAttributeByUserId(f.getFansId());
if (response.isSuccess()) {
followFansRecordVo.setFansProfile(response.getResult() == null ? null : response.getResult().getSignature());
}
} catch (Exception e) {
logger.error(">>>>>>>>> 调用社区用户查询接口获取用户签名出错:{}", e);
}
}*/
if (followerIdList.contains(f.getFansId().longValue())) {
followFansRecordVo.setRelation("互相关注");
followFansRecordVo.setRelationCode(FollowFansEnum.RelationEnum.BOTH_FOLLOWED.getCode());
......@@ -322,4 +325,56 @@ public class FollowFansRecordServiceImpl implements FollowFansRecordService {
}
return true;
}
@Override
public Result findRecommendList(FollowFansRecordRequestDto dto) {
try {
if (dto.getSearchTargetId() == null) {
return Result.failed(ResultCode.PARAM_ERROR);
}
List<FollowFansRecordVo> followFansRecordVos = new ArrayList<>();
dto.setIntroducerId(dto.getSearchTargetId());
List<FollowFansRecord> followFansRecordList = followFansRecordDao.findList(dto);
PageInfo<FollowFansRecord> pageInfo = new PageInfo<>(followFansRecordList);
List<FollowFansRecord> list = followFansRecordList.stream().filter(StringUtil.distinctByKey(FollowFansRecord::getFollowerId)).collect(Collectors.toList());
list.forEach(f -> {
FollowFansRecordVo followFansRecordVo = new FollowFansRecordVo();
followFansRecordVo.setCollectorId(f.getFollowerId());
followFansRecordVo.setCollectorName(cacheUtil.getAppletUserById(f.getFollowerId()).getNickname());
followFansRecordVo.setCollectorAvatar(cacheUtil.getAppletUserById(f.getFollowerId()).getAvatar());
followFansRecordVo.setIntroducerName(cacheUtil.getAppletUserById(f.getIntroducerId()).getNickname());
long num = followFansRecordDao.countFansByIntroducerId(f.getIntroducerId(), f.getFollowerId());
followFansRecordVo.setIntroduceNum(num);
followFansRecordVos.add(followFansRecordVo);
});
return Result.success(PageSearchResult.of(pageInfo, followFansRecordVos));
} catch (Exception e) {
logger.error("{} 查询我推荐的列表 {}", dto.getId(), e);
}
return Result.failed();
}
@Override
public Result findRecommendDetail(FollowFansRecordRequestDto dto) {
try {
List<FollowFansRecordVo> followFansRecordVos = new ArrayList<>();
dto.setFollowerId(dto.getSearchTargetId());
List<FollowFansRecord> followFansRecordList = followFansRecordDao.findList(dto);
PageInfo<FollowFansRecord> pageInfo = new PageInfo<>(followFansRecordList);
followFansRecordList.forEach(f -> {
FollowFansRecordVo followFansRecordVo = new FollowFansRecordVo();
followFansRecordVo.setFansId(f.getFansId());
followFansRecordVo.setFansIcon(cacheUtil.getAppletUserById(f.getFansId()).getAvatar());
followFansRecordVo.setFansName(cacheUtil.getAppletUserById(f.getFansId()).getNickname());
followFansRecordVos.add(followFansRecordVo);
});
return Result.success(PageSearchResult.of(pageInfo, followFansRecordVos));
} catch (Exception e) {
logger.error("{} 查询我推荐的明细列表 {}", dto.getId(), e);
}
return Result.failed();
}
}
......@@ -797,7 +797,8 @@ public class SupplierItemServiceImpl implements SupplierItemService {
supplierItemVo.setItemId(supplierItem.getId());
supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
supplierItemVo.setShareId(map.get(supplierItem.getId())== null?"":map.get(supplierItem.getId()).getShareId());
supplierItemVo.setCreatorName(cacheUtil.getAppletUserById(supplierItem.getCreatorId()).getNickname());
supplierItemVo.setCreatorAvatar(cacheUtil.getAppletUserById(supplierItem.getCreatorId()).getAvatar());
//竞拍商品需要展示当前价
if (supplierItem.getType() == DistributionEnum.DistributionTypeEnum.AUCTION.getCode()) {
......
......@@ -58,4 +58,20 @@ public interface FollowFansRecordService {
* @return
*/
Result findFollowRelation(FollowFansRecordRequestDto dto);
/**
* 查询我推荐的用户列表
* @param dto
* @return
*/
Result findRecommendList(FollowFansRecordRequestDto dto);
/**
* 查询我推荐的明细列表
* @param dto
* @return
*/
Result findRecommendDetail(FollowFansRecordRequestDto dto);
}
......@@ -87,5 +87,26 @@ public class FollowFansRecordController {
return followFansRecordService.findFansList(dto);
}
@ApiOperation(value = "查询我推荐的")
@PostMapping("/findRecommendList")
public Result findRecommendList(@RequestBody FollowFansRecordRequestDto dto) {
logger.info("查询我推荐的,请求参数:{}", JSON.toJSONString(dto));
if (dto.getSearchTargetId() == null) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return followFansRecordService.findRecommendList(dto);
}
@ApiOperation(value = "查询我推荐的列表明细")
@PostMapping("/findRecommendDetail")
public Result findRecommendDetail(@RequestBody FollowFansRecordRequestDto dto) {
logger.info("查询我推荐的列表明细,请求参数:{}", JSON.toJSONString(dto));
if (dto.getSearchTargetId() == null) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return followFansRecordService.findRecommendDetail(dto);
}
}
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