Commit ef215391 authored by shiyu's avatar shiyu

关注列表

parent 68c5d996
...@@ -45,4 +45,13 @@ public interface FollowFansRecordDao { ...@@ -45,4 +45,13 @@ public interface FollowFansRecordDao {
*/ */
long countFans(long id); long countFans(long id);
/**
* 统计推荐的粉丝的人数
* @param introducerId, followerId
* @return
*/
long countFansByIntroducerId(long introducerId, long followerId);
} }
...@@ -48,6 +48,7 @@ public class FollowFansRecordDaoImpl implements FollowFansRecordDao { ...@@ -48,6 +48,7 @@ public class FollowFansRecordDaoImpl implements FollowFansRecordDao {
FollowFansRecordExample.Criteria criteria = example.createCriteria(); FollowFansRecordExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getFollowerId(), criteria::andFollowerIdEqualTo); JdbcHelper.ifPresent(dto.getFollowerId(), criteria::andFollowerIdEqualTo);
JdbcHelper.ifPresent(dto.getFansId(), criteria::andFansIdEqualTo); JdbcHelper.ifPresent(dto.getFansId(), criteria::andFansIdEqualTo);
JdbcHelper.ifPresent(dto.getIntroducerId(), criteria::andIntroducerIdEqualTo);
criteria.andStateEqualTo(1); criteria.andStateEqualTo(1);
example.setOrderByClause("create_time desc"); example.setOrderByClause("create_time desc");
PageHelper.startPage(dto.getPage(), dto.getLimit()); PageHelper.startPage(dto.getPage(), dto.getLimit());
...@@ -82,4 +83,14 @@ public class FollowFansRecordDaoImpl implements FollowFansRecordDao { ...@@ -82,4 +83,14 @@ public class FollowFansRecordDaoImpl implements FollowFansRecordDao {
criteria.andStateEqualTo(1); criteria.andStateEqualTo(1);
return followFansRecordMapper.countByExample(example); 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 { ...@@ -41,12 +41,13 @@ public class DtsUserDaoImpl implements DtsUserDao {
@Override @Override
public User findById(Long userId) { 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) { if (cloudServerResponse.getCode() != 1001) {
return new User(); return new User();
} }
com.wwdz.user.api.model.user.User wUser = cloudServerResponse.getResult(); com.wwdz.user.api.model.user.User wUser = cloudServerResponse.getResult();
return User.of(wUser); return User.of(wUser);*/
} }
@Override @Override
......
...@@ -47,10 +47,10 @@ public class WebMvcConfiguration implements WebMvcConfigurer { ...@@ -47,10 +47,10 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
"/wx/supplierItem/findItemsOfCurrentDistributor", "/wx/selfPage/updateSwitch", "/wx/supplierItem/findHomePage" "/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/shareRecord/**","/wx/collectionBook/**", "/wx/collectedRecord/**", "/wx/collectionItemsRelation/**","/wx/collectionShareRecord/**"
,"/wx/logistics/**" ,"/wx/logistics/**","/wx/follow/**"
*/
/* "/wx/officialAccount/**", /* "/wx/officialAccount/**",
......
...@@ -54,6 +54,17 @@ public class FollowFansRecordVo implements Entity { ...@@ -54,6 +54,17 @@ public class FollowFansRecordVo implements Entity {
*/ */
private Integer relationCode; private Integer relationCode;
/**
* 介绍人id
*/
private Long introducerId;
/**
* 介绍人名称
*/
private String introducerName;
/** /**
* 创建时间 * 创建时间
*/ */
...@@ -71,4 +82,24 @@ public class FollowFansRecordVo implements Entity { ...@@ -71,4 +82,24 @@ public class FollowFansRecordVo implements Entity {
private String stateName; 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; ...@@ -9,15 +9,16 @@ import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.CacheUtil; import com.wwdz.ch.core.util.CacheUtil;
import com.wwdz.ch.core.util.RedisUtils; 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.dao.FollowFansRecordDao;
import com.wwdz.ch.db.domain.FollowFansRecord; 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.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.wx.entity.MessageContentText; import com.wwdz.ch.wx.entity.MessageContentText;
import com.wwdz.ch.wx.entity.request.MessageRequestDto; import com.wwdz.ch.wx.entity.request.MessageRequestDto;
import com.wwdz.ch.wx.entity.vo.FollowFansRecordVo; import com.wwdz.ch.wx.entity.vo.FollowFansRecordVo;
import com.wwdz.ch.wx.service.FollowFansRecordService; import com.wwdz.ch.wx.service.FollowFansRecordService;
import com.wwdz.ch.wx.service.MessageService; 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.common.vo.response.CloudServerResponse;
import com.wwdz.mall.contentcenter.api.CommunityAttributeReadService; import com.wwdz.mall.contentcenter.api.CommunityAttributeReadService;
import com.wwdz.mall.contentcenter.domain.result.attribute.CommunityUserAttributeDO; import com.wwdz.mall.contentcenter.domain.result.attribute.CommunityUserAttributeDO;
...@@ -179,8 +180,9 @@ public class FollowFansRecordServiceImpl implements FollowFansRecordService { ...@@ -179,8 +180,9 @@ public class FollowFansRecordServiceImpl implements FollowFansRecordService {
FollowFansRecordVo followFansRecordVo = new FollowFansRecordVo(); FollowFansRecordVo followFansRecordVo = new FollowFansRecordVo();
EntityMapper.copyAttribute(f, followFansRecordVo); EntityMapper.copyAttribute(f, followFansRecordVo);
followFansRecordVo.setFollowerName(cacheUtil.getAppletUserNameById(f.getFollowerId())); followFansRecordVo.setFollowerName(cacheUtil.getAppletUserNameById(f.getFollowerId()));
followFansRecordVo.setFollowerIcon(cacheUtil.getAppletUsers(f.getFollowerId()).getAvatar()); followFansRecordVo.setFollowerIcon(cacheUtil.getAppletUserById(f.getFollowerId()).getAvatar());
try { followFansRecordVo.setIntroducerName(cacheUtil.getAppletUserById(f.getIntroducerId()).getNickname());
/* try {
CloudServerResponse<CommunityUserAttributeDO> response = communityAttributeReadService.getCommunityUserAttributeByUserId(f.getFollowerId()); CloudServerResponse<CommunityUserAttributeDO> response = communityAttributeReadService.getCommunityUserAttributeByUserId(f.getFollowerId());
if (response.isSuccess()) { if (response.isSuccess()) {
followFansRecordVo.setFollowerProfile(response.getResult() == null ? null : response.getResult().getSignature()); followFansRecordVo.setFollowerProfile(response.getResult() == null ? null : response.getResult().getSignature());
...@@ -188,7 +190,7 @@ public class FollowFansRecordServiceImpl implements FollowFansRecordService { ...@@ -188,7 +190,7 @@ public class FollowFansRecordServiceImpl implements FollowFansRecordService {
} catch (Exception e) { } catch (Exception e) {
logger.error(">>>>>>>>> 调用社区用户查询接口获取用户签名出错:{}", e); logger.error(">>>>>>>>> 调用社区用户查询接口获取用户签名出错:{}", e);
} }
*/
if (fansIdList.contains(f.getFollowerId().longValue())) { if (fansIdList.contains(f.getFollowerId().longValue())) {
followFansRecordVo.setRelation("互相关注"); followFansRecordVo.setRelation("互相关注");
followFansRecordVo.setRelationCode(FollowFansEnum.RelationEnum.BOTH_FOLLOWED.getCode()); followFansRecordVo.setRelationCode(FollowFansEnum.RelationEnum.BOTH_FOLLOWED.getCode());
...@@ -227,15 +229,16 @@ public class FollowFansRecordServiceImpl implements FollowFansRecordService { ...@@ -227,15 +229,16 @@ public class FollowFansRecordServiceImpl implements FollowFansRecordService {
FollowFansRecordVo followFansRecordVo = new FollowFansRecordVo(); FollowFansRecordVo followFansRecordVo = new FollowFansRecordVo();
EntityMapper.copyAttribute(f, followFansRecordVo); EntityMapper.copyAttribute(f, followFansRecordVo);
followFansRecordVo.setFansName(cacheUtil.getAppletUserNameById(f.getFansId())); followFansRecordVo.setFansName(cacheUtil.getAppletUserNameById(f.getFansId()));
followFansRecordVo.setFansIcon(cacheUtil.getAppletUsers(f.getFansId()).getAvatar()); followFansRecordVo.setFansIcon(cacheUtil.getAppletUserById(f.getFansId()).getAvatar());
try { followFansRecordVo.setIntroducerName(cacheUtil.getAppletUserById(f.getIntroducerId()).getNickname());
/* try {
CloudServerResponse<CommunityUserAttributeDO> response = communityAttributeReadService.getCommunityUserAttributeByUserId(f.getFansId()); CloudServerResponse<CommunityUserAttributeDO> response = communityAttributeReadService.getCommunityUserAttributeByUserId(f.getFansId());
if (response.isSuccess()) { if (response.isSuccess()) {
followFansRecordVo.setFansProfile(response.getResult() == null ? null : response.getResult().getSignature()); followFansRecordVo.setFansProfile(response.getResult() == null ? null : response.getResult().getSignature());
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(">>>>>>>>> 调用社区用户查询接口获取用户签名出错:{}", e); logger.error(">>>>>>>>> 调用社区用户查询接口获取用户签名出错:{}", e);
} }*/
if (followerIdList.contains(f.getFansId().longValue())) { if (followerIdList.contains(f.getFansId().longValue())) {
followFansRecordVo.setRelation("互相关注"); followFansRecordVo.setRelation("互相关注");
followFansRecordVo.setRelationCode(FollowFansEnum.RelationEnum.BOTH_FOLLOWED.getCode()); followFansRecordVo.setRelationCode(FollowFansEnum.RelationEnum.BOTH_FOLLOWED.getCode());
...@@ -322,4 +325,56 @@ public class FollowFansRecordServiceImpl implements FollowFansRecordService { ...@@ -322,4 +325,56 @@ public class FollowFansRecordServiceImpl implements FollowFansRecordService {
} }
return true; 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 { ...@@ -797,7 +797,8 @@ public class SupplierItemServiceImpl implements SupplierItemService {
supplierItemVo.setItemId(supplierItem.getId()); supplierItemVo.setItemId(supplierItem.getId());
supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos())); supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
supplierItemVo.setShareId(map.get(supplierItem.getId())== null?"":map.get(supplierItem.getId()).getShareId()); 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()) { if (supplierItem.getType() == DistributionEnum.DistributionTypeEnum.AUCTION.getCode()) {
......
...@@ -58,4 +58,20 @@ public interface FollowFansRecordService { ...@@ -58,4 +58,20 @@ public interface FollowFansRecordService {
* @return * @return
*/ */
Result findFollowRelation(FollowFansRecordRequestDto dto); 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 { ...@@ -87,5 +87,26 @@ public class FollowFansRecordController {
return followFansRecordService.findFansList(dto); 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