后台获取用户列表
This commit is contained in:
parent
ff52ad5806
commit
0fbcb50b44
@ -64,6 +64,14 @@ public class AdminGroupMessageController {
|
||||
return CommonResult.success(list);
|
||||
}
|
||||
|
||||
@ApiOperation("后台获取用户列表")
|
||||
@PostMapping("/admin/group/message/getCustomerList")
|
||||
public CommonResult<List<GroupMessageVO>> getCustomerList(@Validated @RequestBody @ApiParam(required = true) OnlyIdQuery query,
|
||||
@RequestAttribute(value = "backendUser", required = false) BackendUserVO backendUserVO) {
|
||||
List<GroupMessageVO> list = adminGroupMessageService.getCustomerList(query, backendUserVO);
|
||||
return CommonResult.success(list);
|
||||
}
|
||||
|
||||
@ApiOperation("后台推荐产品消息")
|
||||
@PostMapping("/admin/group/message/sendProductMessage")
|
||||
public CommonResult<OnlyIdVO> sendProductMessage(@Validated @RequestBody @ApiParam(required = true) GroupMessageProductQuery query,
|
||||
|
||||
@ -6,10 +6,13 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.google.common.base.Functions;
|
||||
import com.hazelcast.core.HazelcastInstance;
|
||||
import com.hazelcast.map.IMap;
|
||||
import com.syzb.advisor.service.AdvisorInfoService;
|
||||
import com.syzb.advisor.vo.AdvisorBasicVO;
|
||||
import com.syzb.business.entity.ModuleUser;
|
||||
import com.syzb.business.mapper.ModuleUserMapper;
|
||||
import com.syzb.common.config.cache.CacheKey;
|
||||
import com.syzb.common.constant.IsOrNot;
|
||||
import com.syzb.common.constant.ProductType;
|
||||
@ -30,6 +33,7 @@ import com.syzb.group.mapper.GroupMessageMapper;
|
||||
import com.syzb.group.mapper.GroupMessageReadMapper;
|
||||
import com.syzb.group.query.message.*;
|
||||
import com.syzb.group.service.common.GroupCacheService;
|
||||
import com.syzb.group.service.common.GroupCommonService;
|
||||
import com.syzb.group.service.common.GroupMessageService;
|
||||
import com.syzb.group.vo.message.GroupMessageReadVO;
|
||||
import com.syzb.group.vo.message.GroupMessageVO;
|
||||
@ -77,6 +81,12 @@ public class AdminGroupMessageService {
|
||||
@Resource
|
||||
private GroupMessageReadMapper groupMessageReadMapper;
|
||||
|
||||
@Resource
|
||||
private GroupCommonService groupCommonService;
|
||||
|
||||
@Resource
|
||||
private ModuleUserMapper moduleUserMapper;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public OnlyIdVO sendAdvisorMessage(SendGroupMessageAdminQuery query, BackendUserVO backendUser) {
|
||||
GroupInfo group = groupInfoMapper.selectById(query.getGroupId());
|
||||
@ -179,6 +189,28 @@ public class AdminGroupMessageService {
|
||||
return list.stream().map(GroupMessage::getId).map(id -> groupCacheService.getMessage(id, advisorMap)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<GroupMessageVO> getCustomerList(OnlyIdQuery query, BackendUserVO backendUserVO) {
|
||||
Integer groupId = query.getId();
|
||||
Set<Integer> moduleIdSet = groupCommonService.getModuleIds(groupId);
|
||||
if (CollUtil.isEmpty(moduleIdSet)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
LambdaQueryWrapper<ModuleUser> wrapper = Wrappers.<ModuleUser>lambdaQuery()
|
||||
.select(ModuleUser::getUserId)
|
||||
.in(ModuleUser::getModuleId, moduleIdSet)
|
||||
.orderByDesc(ModuleUser::getCreateTime);
|
||||
List<ModuleUser> moduleUserList = moduleUserMapper.selectList(wrapper);
|
||||
if (CollUtil.isEmpty(moduleUserList)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
List<GroupMessageVO> privateChatList = getPrivateChatList(query, backendUserVO);
|
||||
Map<Integer, GroupMessageVO> privateChatMap = privateChatList.stream().collect(Collectors.toMap(GroupMessageVO::getId, Functions.identity()));
|
||||
return moduleUserList.stream().map(moduleUser -> {
|
||||
String userId = moduleUser.getUserId();
|
||||
return privateChatMap.getOrDefault(userId, new GroupMessageVO(userId));
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public OnlyIdVO saveProductMessage(GroupMessageProductQuery query, BackendUserVO backendUser) {
|
||||
GroupMessage message = new GroupMessage();
|
||||
|
||||
@ -87,6 +87,10 @@ public class GroupMessageVO implements Serializable {
|
||||
public GroupMessageVO() {
|
||||
}
|
||||
|
||||
public GroupMessageVO(String userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public GroupMessageVO(GroupMessage message, AdvisorBasicVO advisor) {
|
||||
this.id = message.getId();
|
||||
this.msgType = message.getMsgType();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user