|
|
@@ -52,17 +52,44 @@ public class UserDynamicsServiceImpl implements UserDynamicsService {
|
|
|
@Autowired
|
|
|
private com.zhentao.mapper.DynamicReportsMapper reportMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private com.zhentao.mapper.UsersMapper usersMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public PageResult<DynamicVO> getDynamicList(DynamicQueryDTO queryDTO) {
|
|
|
// 创建分页对象
|
|
|
Page<UserDynamics> page = new Page<>(queryDTO.getPageNum(), queryDTO.getPageSize());
|
|
|
|
|
|
+ // 根据当前用户性别确定目标性别(推送相反性别的动态)
|
|
|
+ Integer targetGender = null; // null表示不限制性别
|
|
|
+ if (queryDTO.getCurrentUserId() != null) {
|
|
|
+ try {
|
|
|
+ com.zhentao.entity.Users currentUser = usersMapper.selectById(queryDTO.getCurrentUserId());
|
|
|
+ if (currentUser != null && currentUser.getGender() != null) {
|
|
|
+ Integer currentGender = currentUser.getGender();
|
|
|
+ // 0-未知 1-男 2-女
|
|
|
+ if (currentGender == 1) {
|
|
|
+ // 男性用户,推送女性动态
|
|
|
+ targetGender = 2;
|
|
|
+ } else if (currentGender == 2) {
|
|
|
+ // 女性用户,推送男性动态
|
|
|
+ targetGender = 1;
|
|
|
+ }
|
|
|
+ // 如果性别是0(未知),targetGender保持为null,显示所有动态
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ // 如果查询用户信息失败,不限制性别,显示所有动态
|
|
|
+ // 忽略异常,继续执行
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// 查询数据
|
|
|
IPage<UserDynamics> dynamicsPage = userDynamicsMapper.selectDynamicsWithUserInfo(
|
|
|
page,
|
|
|
queryDTO.getCurrentUserId(),
|
|
|
queryDTO.getAuditStatus() != null ? queryDTO.getAuditStatus() : 1, // 默认查询审核通过的
|
|
|
- queryDTO.getVisibility() != null ? queryDTO.getVisibility() : 1 // 默认查询公开的
|
|
|
+ queryDTO.getVisibility() != null ? queryDTO.getVisibility() : 1, // 默认查询公开的
|
|
|
+ targetGender // 目标性别(相反性别)
|
|
|
);
|
|
|
|
|
|
// 转换为VO
|