|
@@ -18,9 +18,9 @@ import shop.alien.entity.store.vo.CommonCommentVo;
|
|
|
import shop.alien.entity.store.vo.LifePinglunVo;
|
|
import shop.alien.entity.store.vo.LifePinglunVo;
|
|
|
import shop.alien.entity.store.vo.LifeUserDynamicsVo;
|
|
import shop.alien.entity.store.vo.LifeUserDynamicsVo;
|
|
|
import shop.alien.mapper.*;
|
|
import shop.alien.mapper.*;
|
|
|
|
|
+import shop.alien.store.util.LifeDynamicsIdentityHelper;
|
|
|
|
|
+import shop.alien.store.util.LifeDynamicsIdentityHelper.PublisherScope;
|
|
|
import shop.alien.util.common.constant.CommentSourceTypeEnum;
|
|
import shop.alien.util.common.constant.CommentSourceTypeEnum;
|
|
|
-import shop.alien.util.type.PhoneTypeIdResult;
|
|
|
|
|
-import shop.alien.util.type.TypeUtil;
|
|
|
|
|
|
|
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
import java.util.concurrent.CompletableFuture;
|
|
@@ -59,13 +59,15 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
|
|
|
|
|
private final StoreInfoMapper storeInfoMapper;
|
|
private final StoreInfoMapper storeInfoMapper;
|
|
|
|
|
|
|
|
|
|
+ private final StoreUserMapper storeUserMapper;
|
|
|
|
|
+
|
|
|
private final CommonCommentMapper commonCommentMapper;
|
|
private final CommonCommentMapper commonCommentMapper;
|
|
|
|
|
|
|
|
private final CommonRatingService commonRatingService;
|
|
private final CommonRatingService commonRatingService;
|
|
|
|
|
|
|
|
private final CommonRatingMapper commonRatingMapper;
|
|
private final CommonRatingMapper commonRatingMapper;
|
|
|
|
|
|
|
|
- private final TypeUtil typeUtil;
|
|
|
|
|
|
|
+ private final LifeDynamicsIdentityHelper dynamicsIdentityHelper;
|
|
|
|
|
|
|
|
|
|
|
|
|
public int addLiulanCount(String id) {
|
|
public int addLiulanCount(String id) {
|
|
@@ -104,18 +106,12 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public int addOrUpdateStore(LifeUserDynamics store) {
|
|
public int addOrUpdateStore(LifeUserDynamics store) {
|
|
|
|
|
+ dynamicsIdentityHelper.normalizePublisherFields(store);
|
|
|
if (StringUtils.isEmpty(store.getId())) {
|
|
if (StringUtils.isEmpty(store.getId())) {
|
|
|
-
|
|
|
|
|
- //调用工具包,把电话号转换为用户分类和用户id
|
|
|
|
|
- PhoneTypeIdResult phoneTypeIdResult =typeUtil.resolveTypeAndId(store.getPhoneId());
|
|
|
|
|
- store.setPhoneUserType(phoneTypeIdResult.getType());
|
|
|
|
|
- store.setPhoneRefId(phoneTypeIdResult.getId());
|
|
|
|
|
-
|
|
|
|
|
Date nowDate = new Date(System.currentTimeMillis());
|
|
Date nowDate = new Date(System.currentTimeMillis());
|
|
|
store.setCreatedTime(new java.sql.Timestamp(nowDate.getTime()));
|
|
store.setCreatedTime(new java.sql.Timestamp(nowDate.getTime()));
|
|
|
return lifeUserDynamicsMapper.insert(store);
|
|
return lifeUserDynamicsMapper.insert(store);
|
|
|
} else {
|
|
} else {
|
|
|
- //如果发布,则将创建时间修改为当前时间
|
|
|
|
|
LifeUserDynamics lifeUserDynamics = lifeUserDynamicsMapper.selectById(store.getId());
|
|
LifeUserDynamics lifeUserDynamics = lifeUserDynamicsMapper.selectById(store.getId());
|
|
|
int draft = lifeUserDynamics.getDraft();
|
|
int draft = lifeUserDynamics.getDraft();
|
|
|
if(draft == 1 && store.getDraft() == 0){
|
|
if(draft == 1 && store.getDraft() == 0){
|
|
@@ -181,6 +177,7 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
List<String> storeUserIdList = new ArrayList<>();
|
|
List<String> storeUserIdList = new ArrayList<>();
|
|
|
//对lifeUserDynamicsVoList数据进行处理,当type为2的时候,把userName的数值赋值到storeName
|
|
//对lifeUserDynamicsVoList数据进行处理,当type为2的时候,把userName的数值赋值到storeName
|
|
|
lifeUserDynamicsVoList.forEach(item -> {
|
|
lifeUserDynamicsVoList.forEach(item -> {
|
|
|
|
|
+ dynamicsIdentityHelper.ensureVoLegacyPhoneId(item);
|
|
|
if (item.getType().equals("2")) {
|
|
if (item.getType().equals("2")) {
|
|
|
item.setStoreName(item.getUserName());
|
|
item.setStoreName(item.getUserName());
|
|
|
if (item.getStoreUserId() != null) {
|
|
if (item.getStoreUserId() != null) {
|
|
@@ -236,8 +233,11 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
List<String> likeList = likeListFuture.join();
|
|
List<String> likeList = likeListFuture.join();
|
|
|
|
|
|
|
|
// 根据myself参数过滤动态:自己或非本人动态
|
|
// 根据myself参数过滤动态:自己或非本人动态
|
|
|
|
|
+ PublisherScope viewerScope = dynamicsIdentityHelper.resolveFromPhoneId(phoneId);
|
|
|
if ("1".equals(myself)) {
|
|
if ("1".equals(myself)) {
|
|
|
- lifeUserDynamicsVoList = lifeUserDynamicsVoList.stream().filter(item -> item.getPhoneId().equals(phoneId)).collect(Collectors.toList());
|
|
|
|
|
|
|
+ lifeUserDynamicsVoList = lifeUserDynamicsVoList.stream()
|
|
|
|
|
+ .filter(item -> dynamicsIdentityHelper.isSamePublisher(item, viewerScope))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
} else {
|
|
} else {
|
|
|
lifeUserDynamicsVoList = lifeUserDynamicsVoList.stream().filter(item -> item.getDraft() == 0).collect(Collectors.toList());
|
|
lifeUserDynamicsVoList = lifeUserDynamicsVoList.stream().filter(item -> item.getDraft() == 0).collect(Collectors.toList());
|
|
|
}
|
|
}
|
|
@@ -316,11 +316,10 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
|
|
|
|
|
// 过滤掉发布者在黑名单中的动态
|
|
// 过滤掉发布者在黑名单中的动态
|
|
|
lifeUserDynamicsVoList = lifeUserDynamicsVoList.stream().filter(dynamics -> {
|
|
lifeUserDynamicsVoList = lifeUserDynamicsVoList.stream().filter(dynamics -> {
|
|
|
- String blackPhoneId = dynamics.getPhoneId();
|
|
|
|
|
|
|
+ dynamicsIdentityHelper.ensureVoLegacyPhoneId(dynamics);
|
|
|
|
|
+ String blackPhoneId = dynamicsIdentityHelper.resolveComparablePhoneId(dynamics);
|
|
|
String userId = dynamics.getStoreOrUserId();
|
|
String userId = dynamics.getStoreOrUserId();
|
|
|
-
|
|
|
|
|
- // 确定用户类型(根据phoneId前缀)
|
|
|
|
|
- String userType = blackPhoneId.startsWith("store") ? "1" : (blackPhoneId.startsWith("user") ? "2" : "0");
|
|
|
|
|
|
|
+ String userType = dynamicsIdentityHelper.resolveBlacklistBlockedType(dynamics);
|
|
|
|
|
|
|
|
// 如果无法识别类型或不在黑名单中,保留该动态
|
|
// 如果无法识别类型或不在黑名单中,保留该动态
|
|
|
if ("0".equals(userType) || !blockedUserIdsByType.containsKey(userType)) {
|
|
if ("0".equals(userType) || !blockedUserIdsByType.containsKey(userType)) {
|
|
@@ -404,10 +403,10 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public List<LifeUserDynamicsVo> getStoreUserDynamics(String storePhone, String userType, String loginPhone) {
|
|
public List<LifeUserDynamicsVo> getStoreUserDynamics(String storePhone, String userType, String loginPhone) {
|
|
|
- // 动态列表与点赞记录并行查询
|
|
|
|
|
|
|
+ PublisherScope storeScope = dynamicsIdentityHelper.resolveStorePublisherByStorePhone(storePhone);
|
|
|
CompletableFuture<List<LifeUserDynamics>> dynamicsFuture = CompletableFuture.supplyAsync(() -> {
|
|
CompletableFuture<List<LifeUserDynamics>> dynamicsFuture = CompletableFuture.supplyAsync(() -> {
|
|
|
LambdaQueryWrapper<LifeUserDynamics> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<LifeUserDynamics> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- lambdaQueryWrapper.eq(LifeUserDynamics::getPhoneId, storePhone);
|
|
|
|
|
|
|
+ dynamicsIdentityHelper.applyPublisherFilter(lambdaQueryWrapper, storeScope);
|
|
|
return lifeUserDynamicsMapper.selectList(lambdaQueryWrapper);
|
|
return lifeUserDynamicsMapper.selectList(lambdaQueryWrapper);
|
|
|
});
|
|
});
|
|
|
CompletableFuture<Set<String>> likeSetFuture = CompletableFuture.supplyAsync(() -> {
|
|
CompletableFuture<Set<String>> likeSetFuture = CompletableFuture.supplyAsync(() -> {
|
|
@@ -429,31 +428,31 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
.map(dynamics -> {
|
|
.map(dynamics -> {
|
|
|
LifeUserDynamicsVo vo = new LifeUserDynamicsVo();
|
|
LifeUserDynamicsVo vo = new LifeUserDynamicsVo();
|
|
|
BeanUtils.copyProperties(dynamics, vo);
|
|
BeanUtils.copyProperties(dynamics, vo);
|
|
|
|
|
+ dynamicsIdentityHelper.ensureVoLegacyPhoneId(vo);
|
|
|
return vo;
|
|
return vo;
|
|
|
})
|
|
})
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
- // 收集所有 phoneId,批量查询用户/商户信息,消除 N+1
|
|
|
|
|
- Set<String> userPhones = new HashSet<>();
|
|
|
|
|
- Set<String> storePhones = new HashSet<>();
|
|
|
|
|
|
|
+ Set<Integer> userRefIds = new HashSet<>();
|
|
|
|
|
+ Set<Integer> storeRefIds = new HashSet<>();
|
|
|
for (LifeUserDynamicsVo vo : lifeUserDynamicsVos) {
|
|
for (LifeUserDynamicsVo vo : lifeUserDynamicsVos) {
|
|
|
- String phoneId = vo.getPhoneId();
|
|
|
|
|
- if (StringUtils.hasText(phoneId)) {
|
|
|
|
|
- if (phoneId.startsWith("user_")) {
|
|
|
|
|
- userPhones.add(phoneId.substring(5));
|
|
|
|
|
- } else if (phoneId.startsWith("store_")) {
|
|
|
|
|
- storePhones.add(phoneId.substring(6));
|
|
|
|
|
|
|
+ if (vo.getPhoneUserType() != null && vo.getPhoneRefId() != null) {
|
|
|
|
|
+ if (vo.getPhoneUserType() == LifeDynamicsIdentityHelper.TYPE_USER) {
|
|
|
|
|
+ userRefIds.add(vo.getPhoneRefId());
|
|
|
|
|
+ } else if (vo.getPhoneUserType() == LifeDynamicsIdentityHelper.TYPE_STORE) {
|
|
|
|
|
+ storeRefIds.add(vo.getPhoneRefId());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 批量查询 LifeUser、StoreUser
|
|
|
|
|
- Map<String, LifeUser> userByPhoneMap = CollectionUtils.isEmpty(userPhones) ? Collections.emptyMap()
|
|
|
|
|
- : lifeUserMapper.selectList(new LambdaQueryWrapper<LifeUser>().in(LifeUser::getUserPhone, userPhones))
|
|
|
|
|
- .stream().collect(Collectors.toMap(LifeUser::getUserPhone, u -> u, (a, b) -> a));
|
|
|
|
|
- List<StoreUser> storeUserList = CollectionUtils.isEmpty(storePhones) ? Collections.emptyList()
|
|
|
|
|
- : storeUserService.list(new LambdaQueryWrapper<StoreUser>().in(StoreUser::getPhone, storePhones));
|
|
|
|
|
- Map<String, StoreUser> storeUserByPhoneMap = storeUserList.stream().collect(Collectors.toMap(StoreUser::getPhone, u -> u, (a, b) -> a));
|
|
|
|
|
|
|
+ Map<Integer, LifeUser> userByIdMap = CollectionUtils.isEmpty(userRefIds) ? Collections.emptyMap()
|
|
|
|
|
+ : lifeUserMapper.selectBatchIds(userRefIds).stream()
|
|
|
|
|
+ .collect(Collectors.toMap(LifeUser::getId, u -> u, (a, b) -> a));
|
|
|
|
|
+ List<StoreUser> storeUserList = CollectionUtils.isEmpty(storeRefIds)
|
|
|
|
|
+ ? Collections.<StoreUser>emptyList()
|
|
|
|
|
+ : storeUserMapper.selectBatchIds(storeRefIds);
|
|
|
|
|
+ Map<Integer, StoreUser> storeUserByIdMap = storeUserList.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(StoreUser::getId, u -> u, (a, b) -> a));
|
|
|
|
|
|
|
|
// 批量查询店铺信息
|
|
// 批量查询店铺信息
|
|
|
List<Integer> storeIds = storeUserList.stream().map(StoreUser::getStoreId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
List<Integer> storeIds = storeUserList.stream().map(StoreUser::getStoreId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
@@ -467,18 +466,15 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
vo.setIsLike("0");
|
|
vo.setIsLike("0");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- String phoneId = vo.getPhoneId();
|
|
|
|
|
- if (StringUtils.hasText(phoneId)) {
|
|
|
|
|
- if (phoneId.startsWith("user_")) {
|
|
|
|
|
- String userPhone = phoneId.substring(5);
|
|
|
|
|
- LifeUser lifeUser = userByPhoneMap.get(userPhone);
|
|
|
|
|
|
|
+ if (vo.getPhoneUserType() != null && vo.getPhoneRefId() != null) {
|
|
|
|
|
+ if (vo.getPhoneUserType() == LifeDynamicsIdentityHelper.TYPE_USER) {
|
|
|
|
|
+ LifeUser lifeUser = userByIdMap.get(vo.getPhoneRefId());
|
|
|
if (lifeUser != null) {
|
|
if (lifeUser != null) {
|
|
|
vo.setUserName(lifeUser.getUserName());
|
|
vo.setUserName(lifeUser.getUserName());
|
|
|
vo.setUserImage(lifeUser.getUserImage());
|
|
vo.setUserImage(lifeUser.getUserImage());
|
|
|
}
|
|
}
|
|
|
- } else if (phoneId.startsWith("store_")) {
|
|
|
|
|
- String storePhoneNum = phoneId.substring(6);
|
|
|
|
|
- StoreUser storeUser = storeUserByPhoneMap.get(storePhoneNum);
|
|
|
|
|
|
|
+ } else if (vo.getPhoneUserType() == LifeDynamicsIdentityHelper.TYPE_STORE) {
|
|
|
|
|
+ StoreUser storeUser = storeUserByIdMap.get(vo.getPhoneRefId());
|
|
|
if (storeUser != null) {
|
|
if (storeUser != null) {
|
|
|
if (storeUser.getStoreId() != null) {
|
|
if (storeUser.getStoreId() != null) {
|
|
|
StoreInfo storeInfo = storeInfoMap.get(storeUser.getStoreId());
|
|
StoreInfo storeInfo = storeInfoMap.get(storeUser.getStoreId());
|
|
@@ -654,15 +650,16 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
int blockId = lifeBlacklist != null ? lifeBlacklist.getId() : 0;
|
|
int blockId = lifeBlacklist != null ? lifeBlacklist.getId() : 0;
|
|
|
|
|
|
|
|
// 好友动态
|
|
// 好友动态
|
|
|
|
|
+ PublisherScope profileScope = dynamicsIdentityHelper.resolveFromPhoneId(phoneId);
|
|
|
LambdaQueryWrapper<LifeUserDynamics> wrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<LifeUserDynamics> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(LifeUserDynamics::getPhoneId, phoneId);
|
|
|
|
|
-// wrapper.eq(LifeUserDynamics::getType, Integer.parseInt(type));
|
|
|
|
|
|
|
+ dynamicsIdentityHelper.applyPublisherFilter(wrapper, profileScope);
|
|
|
wrapper.eq(LifeUserDynamics::getDraft, 0);
|
|
wrapper.eq(LifeUserDynamics::getDraft, 0);
|
|
|
IPage<LifeUserDynamics> lifeUserDynamicsPage = new Page<>(page, size);
|
|
IPage<LifeUserDynamics> lifeUserDynamicsPage = new Page<>(page, size);
|
|
|
IPage<LifeUserDynamics> lifeUserDynamicsIPage = lifeUserDynamicsMapper.selectPage(lifeUserDynamicsPage, wrapper);
|
|
IPage<LifeUserDynamics> lifeUserDynamicsIPage = lifeUserDynamicsMapper.selectPage(lifeUserDynamicsPage, wrapper);
|
|
|
List<LifeUserDynamicsVo> lifeUserDynamicsVoList = lifeUserDynamicsIPage.getRecords().stream().map(dynamics -> {
|
|
List<LifeUserDynamicsVo> lifeUserDynamicsVoList = lifeUserDynamicsIPage.getRecords().stream().map(dynamics -> {
|
|
|
LifeUserDynamicsVo dynamicsVo = new LifeUserDynamicsVo();
|
|
LifeUserDynamicsVo dynamicsVo = new LifeUserDynamicsVo();
|
|
|
BeanUtils.copyProperties(dynamics, dynamicsVo);
|
|
BeanUtils.copyProperties(dynamics, dynamicsVo);
|
|
|
|
|
+ dynamicsIdentityHelper.ensureVoLegacyPhoneId(dynamicsVo);
|
|
|
return dynamicsVo;
|
|
return dynamicsVo;
|
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
|
@@ -695,20 +692,18 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
// int commentCount = storeCommentService.count(new QueryWrapper<StoreComment>().eq("business_id", dynamicsVo.getId()).eq("delete_flag", "0").eq("comment_type", "1"));
|
|
// int commentCount = storeCommentService.count(new QueryWrapper<StoreComment>().eq("business_id", dynamicsVo.getId()).eq("delete_flag", "0").eq("comment_type", "1"));
|
|
|
int commonCommentCount = commonCommentMapper.selectCount(new QueryWrapper<CommonComment>().eq("source_id", dynamicsVo.getId()).eq("delete_flag", "0").eq("source_type", CommentSourceTypeEnum.DYNAMIC_COMMENT.getType()));
|
|
int commonCommentCount = commonCommentMapper.selectCount(new QueryWrapper<CommonComment>().eq("source_id", dynamicsVo.getId()).eq("delete_flag", "0").eq("source_type", CommentSourceTypeEnum.DYNAMIC_COMMENT.getType()));
|
|
|
dynamicsVo.setCommentCount(commonCommentCount);
|
|
dynamicsVo.setCommentCount(commonCommentCount);
|
|
|
- String phoneId1 = dynamicsVo.getPhoneId();
|
|
|
|
|
- String storeUserId = "";
|
|
|
|
|
- String storeUserId1 = "";
|
|
|
|
|
- if (phoneId1.startsWith("user_")) {
|
|
|
|
|
- LifeUser lifeUser1 = lifeUserMapper.selectOne(new QueryWrapper<LifeUser>().eq("user_phone", phoneId1.substring(5)));
|
|
|
|
|
- storeUserId = String.valueOf(lifeUser1.getId());
|
|
|
|
|
- storeUserId1 = storeUserId;
|
|
|
|
|
- } else {
|
|
|
|
|
- StoreUser storeUser1 = storeUserService.getOne(new QueryWrapper<StoreUser>().eq("phone", phoneId1.substring(6)));
|
|
|
|
|
- storeUserId = String.valueOf(storeUser1.getStoreId());
|
|
|
|
|
- storeUserId1 = String.valueOf(storeUser1.getId());
|
|
|
|
|
|
|
+ if (dynamicsVo.getPhoneUserType() != null && dynamicsVo.getPhoneRefId() != null) {
|
|
|
|
|
+ if (dynamicsVo.getPhoneUserType() == LifeDynamicsIdentityHelper.TYPE_USER) {
|
|
|
|
|
+ dynamicsVo.setStoreUserId(String.valueOf(dynamicsVo.getPhoneRefId()));
|
|
|
|
|
+ dynamicsVo.setStoreOrUserId(String.valueOf(dynamicsVo.getPhoneRefId()));
|
|
|
|
|
+ } else if (dynamicsVo.getPhoneUserType() == LifeDynamicsIdentityHelper.TYPE_STORE) {
|
|
|
|
|
+ StoreUser storeUser1 = storeUserService.getById(dynamicsVo.getPhoneRefId());
|
|
|
|
|
+ if (storeUser1 != null) {
|
|
|
|
|
+ dynamicsVo.setStoreUserId(storeUser1.getStoreId() != null ? String.valueOf(storeUser1.getStoreId()) : "");
|
|
|
|
|
+ dynamicsVo.setStoreOrUserId(String.valueOf(storeUser1.getId()));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- dynamicsVo.setStoreUserId(storeUserId);
|
|
|
|
|
- dynamicsVo.setStoreOrUserId(storeUserId1);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 好友获赞数量
|
|
// 好友获赞数量
|
|
@@ -725,21 +720,14 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public List<LifeUserDynamics> getUserDraftDynamics(String phoneId) {
|
|
public List<LifeUserDynamics> getUserDraftDynamics(String phoneId) {
|
|
|
-// List<LifeUserDynamics> lifeUserDynamics = lifeUserDynamicsMapper.selectList(new QueryWrapper<LifeUserDynamics>().eq("phone_id", phoneId).eq("draft", 1));
|
|
|
|
|
-
|
|
|
|
|
- List<LifeUserDynamics> lifeUserDynamics = lifeUserDynamicsMapper.selectList(
|
|
|
|
|
- new QueryWrapper<LifeUserDynamics>()
|
|
|
|
|
- .eq("phone_id", phoneId)
|
|
|
|
|
- .eq("draft", 1)
|
|
|
|
|
- .orderByAsc("updated_time")
|
|
|
|
|
- );
|
|
|
|
|
-
|
|
|
|
|
-// for (LifeUserDynamics lifeUserDynamic : lifeUserDynamics) {
|
|
|
|
|
-// if(lifeUserDynamic.getImagePath().contains(",") && !lifeUserDynamic.getImagePath().contains(".mp4")){
|
|
|
|
|
-// lifeUserDynamic.setImagePath(lifeUserDynamic.getImagePath().split(",")[0]);
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
- return lifeUserDynamics;
|
|
|
|
|
|
|
+ PublisherScope scope = dynamicsIdentityHelper.resolveFromPhoneId(phoneId);
|
|
|
|
|
+ LambdaQueryWrapper<LifeUserDynamics> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ dynamicsIdentityHelper.applyPublisherFilter(wrapper, scope);
|
|
|
|
|
+ wrapper.eq(LifeUserDynamics::getDraft, 1)
|
|
|
|
|
+ .orderByAsc(LifeUserDynamics::getUpdatedTime);
|
|
|
|
|
+ List<LifeUserDynamics> drafts = lifeUserDynamicsMapper.selectList(wrapper);
|
|
|
|
|
+ drafts.forEach(dynamicsIdentityHelper::ensureEntityLegacyPhoneId);
|
|
|
|
|
+ return drafts;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public List<LifeUserDynamicsVo> getDianZanList(String phoneId) {
|
|
public List<LifeUserDynamicsVo> getDianZanList(String phoneId) {
|
|
@@ -789,23 +777,35 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
.collect(Collectors.toSet());
|
|
.collect(Collectors.toSet());
|
|
|
if (!CollectionUtils.isEmpty(lifeUserDynamicsVos)){
|
|
if (!CollectionUtils.isEmpty(lifeUserDynamicsVos)){
|
|
|
for (LifeUserDynamicsVo lifeUserDynamicsVo : lifeUserDynamicsVos) {
|
|
for (LifeUserDynamicsVo lifeUserDynamicsVo : lifeUserDynamicsVos) {
|
|
|
- if(combinedSet.contains(lifeUserDynamicsVo.getPhoneId())){
|
|
|
|
|
|
|
+ dynamicsIdentityHelper.ensureVoLegacyPhoneId(lifeUserDynamicsVo);
|
|
|
|
|
+ String comparablePhoneId = dynamicsIdentityHelper.resolveComparablePhoneId(lifeUserDynamicsVo);
|
|
|
|
|
+ if (comparablePhoneId != null && combinedSet.contains(comparablePhoneId)) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
if (lifeUserDynamicsVo.getType().equals("2")){
|
|
if (lifeUserDynamicsVo.getType().equals("2")){
|
|
|
- String phoneIdNew = lifeUserDynamicsVo.getPhoneId().substring(6);
|
|
|
|
|
- StoreInfo storeInfo=storeInfoMapper.getStoreNameByPhone(phoneIdNew);
|
|
|
|
|
- if(storeInfo != null){
|
|
|
|
|
- lifeUserDynamicsVo.setStoreName(storeInfo.getStoreName());
|
|
|
|
|
- lifeUserDynamicsVo.setBusinessSection(storeInfo.getBusinessSection().toString());
|
|
|
|
|
- lifeUserDynamicsVo.setBusinessTypeName(storeInfo.getBusinessTypeName());
|
|
|
|
|
- lifeUserDynamicsVo.setStoreUserId(storeInfo.getId().toString());
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (lifeUserDynamicsVo.getPhoneUserType() != null
|
|
|
|
|
+ && lifeUserDynamicsVo.getPhoneUserType() == LifeDynamicsIdentityHelper.TYPE_STORE
|
|
|
|
|
+ && lifeUserDynamicsVo.getPhoneRefId() != null) {
|
|
|
|
|
+ StoreUser su = storeUserService.getById(lifeUserDynamicsVo.getPhoneRefId());
|
|
|
|
|
+ if (su != null && StringUtils.hasText(su.getPhone())) {
|
|
|
|
|
+ StoreInfo storeInfo = storeInfoMapper.getStoreNameByPhone(su.getPhone());
|
|
|
|
|
+ if (storeInfo != null) {
|
|
|
|
|
+ lifeUserDynamicsVo.setStoreName(storeInfo.getStoreName());
|
|
|
|
|
+ lifeUserDynamicsVo.setBusinessSection(storeInfo.getBusinessSection().toString());
|
|
|
|
|
+ lifeUserDynamicsVo.setBusinessTypeName(storeInfo.getBusinessTypeName());
|
|
|
|
|
+ lifeUserDynamicsVo.setStoreUserId(storeInfo.getId().toString());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
} else if (lifeUserDynamicsVo.getType().equals("1")) {
|
|
} else if (lifeUserDynamicsVo.getType().equals("1")) {
|
|
|
- String phoneIdNew = lifeUserDynamicsVo.getPhoneId().substring(5);
|
|
|
|
|
- //根据手机号查询用户表
|
|
|
|
|
- LifeUser lifeUser = lifeUserMapper.selectOne(new QueryWrapper<LifeUser>().eq("user_phone", phoneIdNew));
|
|
|
|
|
- lifeUserDynamicsVo.setUserName(lifeUser.getUserName());
|
|
|
|
|
|
|
+ if (lifeUserDynamicsVo.getPhoneUserType() != null
|
|
|
|
|
+ && lifeUserDynamicsVo.getPhoneUserType() == LifeDynamicsIdentityHelper.TYPE_USER
|
|
|
|
|
+ && lifeUserDynamicsVo.getPhoneRefId() != null) {
|
|
|
|
|
+ LifeUser lifeUser = lifeUserMapper.selectById(lifeUserDynamicsVo.getPhoneRefId());
|
|
|
|
|
+ if (lifeUser != null) {
|
|
|
|
|
+ lifeUserDynamicsVo.setUserName(lifeUser.getUserName());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -813,16 +813,17 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public List<LifeUserDynamicsVo> getDynamicsList(Integer page, Integer size, String nickName, String userType, Integer dynamicsType, String releaseStartTime, String releaseEndTime, String storeName) {
|
|
public List<LifeUserDynamicsVo> getDynamicsList(Integer page, Integer size, String nickName, String userType, Integer dynamicsType, String releaseStartTime, String releaseEndTime, String storeName) {
|
|
|
- // 查询动态数据并按类型过滤
|
|
|
|
|
- return lifeUserDynamicsMapper.getDynamicsList(nickName, userType, dynamicsType, releaseStartTime, releaseEndTime, storeName);
|
|
|
|
|
|
|
+ List<LifeUserDynamicsVo> list = lifeUserDynamicsMapper.getDynamicsList(nickName, userType, dynamicsType, releaseStartTime, releaseEndTime, storeName);
|
|
|
|
|
+ list.forEach(dynamicsIdentityHelper::ensureVoLegacyPhoneId);
|
|
|
|
|
+ return list;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public LifeUserDynamicsVo getDynamicsDetail(Integer id) {
|
|
public LifeUserDynamicsVo getDynamicsDetail(Integer id) {
|
|
|
- // 查询动态数据并按类型过滤
|
|
|
|
|
LifeUserDynamicsVo lifeUserDynamicsVo = new LifeUserDynamicsVo();
|
|
LifeUserDynamicsVo lifeUserDynamicsVo = new LifeUserDynamicsVo();
|
|
|
List<LifeUserDynamicsVo> lifeUserDynamicsVoList = lifeUserDynamicsMapper.getDynamicsDetail(id);
|
|
List<LifeUserDynamicsVo> lifeUserDynamicsVoList = lifeUserDynamicsMapper.getDynamicsDetail(id);
|
|
|
if(!CollectionUtils.isEmpty(lifeUserDynamicsVoList)){
|
|
if(!CollectionUtils.isEmpty(lifeUserDynamicsVoList)){
|
|
|
lifeUserDynamicsVo = lifeUserDynamicsVoList.get(0);
|
|
lifeUserDynamicsVo = lifeUserDynamicsVoList.get(0);
|
|
|
|
|
+ dynamicsIdentityHelper.ensureVoLegacyPhoneId(lifeUserDynamicsVo);
|
|
|
String imagePath = lifeUserDynamicsVo.getImagePath();
|
|
String imagePath = lifeUserDynamicsVo.getImagePath();
|
|
|
if(!StringUtils.isEmpty(imagePath)){
|
|
if(!StringUtils.isEmpty(imagePath)){
|
|
|
List<String> imagePathList = Arrays.asList(imagePath.split(","));
|
|
List<String> imagePathList = Arrays.asList(imagePath.split(","));
|