Commit 57572201 by 徐高华

活码群群状态

parent 7fc1d09a
...@@ -43,8 +43,18 @@ public class GroupChatHmDTO implements Serializable { ...@@ -43,8 +43,18 @@ public class GroupChatHmDTO implements Serializable {
private List<Long> chatIdList; private List<Long> chatIdList;
/**已关联链接数*/ /**已关联链接数*/
private Integer linkCount; private Integer linkCount;
// 1有效 2作废 3待生效 // 1有效 2作废
private Integer statusFlag ; private Integer statusFlag ;
// 可以群数
private Integer usableChatCount;
public Integer getUsableChatCount() {
return usableChatCount;
}
public void setUsableChatCount(Integer usableChatCount) {
this.usableChatCount = usableChatCount;
}
public Integer getStatusFlag() { public Integer getStatusFlag() {
return statusFlag; return statusFlag;
......
...@@ -5,6 +5,7 @@ import java.util.List; ...@@ -5,6 +5,7 @@ import java.util.List;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatHmRelation; import com.gic.haoban.manage.service.entity.chat.TabGroupChatHmRelation;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmRelationBO;
/** /**
* *
...@@ -37,4 +38,9 @@ public interface GroupChatHmRelationMapper { ...@@ -37,4 +38,9 @@ public interface GroupChatHmRelationMapper {
* @throws * @throws
*/ */
public List<Long> listChatHmId(@Param("groupChatId") Long groupChatId); public List<Long> listChatHmId(@Param("groupChatId") Long groupChatId);
public List<GroupChatHmRelationBO> getHmValidChatCount(@Param("hmList") List<Long> hmList) ;
} }
\ No newline at end of file
...@@ -42,6 +42,16 @@ public class GroupChatHmBO implements Serializable{ ...@@ -42,6 +42,16 @@ public class GroupChatHmBO implements Serializable{
private Integer linkCount; private Integer linkCount;
// 1有效 2作废 3待生效 // 1有效 2作废 3待生效
private Integer statusFlag ; private Integer statusFlag ;
// 可以群数
private Integer usableChatCount;
public Integer getUsableChatCount() {
return usableChatCount;
}
public void setUsableChatCount(Integer usableChatCount) {
this.usableChatCount = usableChatCount;
}
public Integer getStatusFlag() { public Integer getStatusFlag() {
return statusFlag; return statusFlag;
......
...@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.service.chat.impl; ...@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.service.chat.impl;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -35,6 +36,7 @@ import com.gic.haoban.manage.service.entity.chat.TabGroupChat; ...@@ -35,6 +36,7 @@ import com.gic.haoban.manage.service.entity.chat.TabGroupChat;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatHm; import com.gic.haoban.manage.service.entity.chat.TabGroupChatHm;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatHmRelation; import com.gic.haoban.manage.service.entity.chat.TabGroupChatHmRelation;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO; import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmRelationBO;
import com.gic.haoban.manage.service.service.SecretSettingService; import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.WxEnterpriseService; import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.chat.GroupChatHmService; import com.gic.haoban.manage.service.service.chat.GroupChatHmService;
...@@ -80,6 +82,18 @@ public class GroupChatHmServiceImpl implements GroupChatHmService { ...@@ -80,6 +82,18 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
PageHelper.startPage(basePageInfo); PageHelper.startPage(basePageInfo);
List<TabGroupChatHm> list = this.groupChatHmMapper.list(qdto); List<TabGroupChatHm> list = this.groupChatHmMapper.list(qdto);
Page<GroupChatHmBO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, GroupChatHmBO.class); Page<GroupChatHmBO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, GroupChatHmBO.class);
if(CollectionUtils.isNotEmpty(retPage.getResult())) {
List<Long> hmIdList = retPage.getResult().stream().map(o->o.getChatHmId()).collect(Collectors.toList()) ;
List<GroupChatHmRelationBO> boList = this.groupChatHmRelationMapper.getHmValidChatCount(hmIdList) ;
Map<Long, Integer> map = boList.stream().collect(Collectors.toMap(GroupChatHmRelationBO::getChatHmId, GroupChatHmRelationBO::getUsableChatCount)) ;
retPage.getResult().forEach(item->{
Long hmId = item.getChatHmId() ;
if(null != map.get(hmId)) {
item.setUsableChatCount(map.get(hmId));
}
});
}
return retPage; return retPage;
} }
......
...@@ -84,4 +84,16 @@ ...@@ -84,4 +84,16 @@
distinct(chat_hm_id) distinct(chat_hm_id)
from tab_haoban_group_chat_hm_relation where group_chat_id = #{groupChatId} and delete_flag = 0 from tab_haoban_group_chat_hm_relation where group_chat_id = #{groupChatId} and delete_flag = 0
</select> </select>
<select id="getHmValidChatCount" resultType="com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmRelationBO">
SELECT chat_hm_id chatHmId, COUNT(1) usableChatCount FROM `tab_haoban_group_chat_hm_relation` relation
LEFT JOIN tab_haoban_group_chat chat ON relation.`group_chat_id` = chat.`group_chat_id`
WHERE relation.chat_hm_id in
<foreach collection="hmList" close=")" index="idex" item="id" open="(" separator=",">
#{id}
</foreach>
and relation.delete_flag = 0 and relation.status_flag = 1 and chat.delete_flag = 0 and chat.chat_status in (0,1,2,3)
chat.`hm_add_status` = 1 GROUP BY relation.`chat_hm_id`
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -44,6 +44,7 @@ import com.gic.haoban.manage.api.dto.qdto.hm.HmLinkChatQDTO; ...@@ -44,6 +44,7 @@ import com.gic.haoban.manage.api.dto.qdto.hm.HmLinkChatQDTO;
import com.gic.haoban.manage.api.service.chat.GroupChatApiService; import com.gic.haoban.manage.api.service.chat.GroupChatApiService;
import com.gic.haoban.manage.api.service.chat.GroupChatHmApiService; import com.gic.haoban.manage.api.service.chat.GroupChatHmApiService;
import com.gic.haoban.manage.web.utils.CreatorUtils; import com.gic.haoban.manage.web.utils.CreatorUtils;
import com.gic.haoban.manage.web.vo.chat.GroupChatHmVO;
import com.gic.haoban.manage.web.vo.chat.HmLinkChatListVO; import com.gic.haoban.manage.web.vo.chat.HmLinkChatListVO;
import com.gic.qcloud.BucketNameEnum; import com.gic.qcloud.BucketNameEnum;
import com.gic.qcloud.FileUploadUtil; import com.gic.qcloud.FileUploadUtil;
...@@ -121,8 +122,17 @@ public class GroupChatHmController { ...@@ -121,8 +122,17 @@ public class GroupChatHmController {
if (CollectionUtils.isNotEmpty(creatorIdList)) { if (CollectionUtils.isNotEmpty(creatorIdList)) {
qdto.setCreatorIdList(creatorIdList); qdto.setCreatorIdList(creatorIdList);
} }
ServiceResponse<Page<GroupChatHmDTO>> page = this.groupChatHmApiService.listPage(qdto, basePageInfo); ServiceResponse<Page<GroupChatHmDTO>> pageResp = this.groupChatHmApiService.listPage(qdto, basePageInfo);
return RestResponse.successResult(page.getResult()); Page<GroupChatHmDTO> page = pageResp.getResult();
Page<GroupChatHmVO> retPage = PageHelperUtils.changePageToCurrentPage(page, GroupChatHmVO.class);
if (CollectionUtils.isNotEmpty(retPage.getResult())) {
retPage.getResult().forEach(vo->{
if(vo.getUsableChatCount()==0) {
vo.setRemark("无可加入的群聊");
}
});
}
return RestResponse.successResult(retPage);
} }
@RequestMapping("detail") @RequestMapping("detail")
......
package com.gic.haoban.manage.web.vo.chat; package com.gic.haoban.manage.web.vo.chat;
import java.io.Serializable ; import java.io.Serializable;
import java.util.List;
/** /**
* *
...@@ -11,14 +12,12 @@ import java.io.Serializable ; ...@@ -11,14 +12,12 @@ import java.io.Serializable ;
* @Modify * @Modify
* @CopyRight * @CopyRight
*/ */
public class GroupChatHmVO implements Serializable{ public class GroupChatHmVO implements Serializable {
private static final long serialVersionUID = 21518878229500L; private static final long serialVersionUID = 21518878229500L;
private Long chatHmId; private Long chatHmId;
private String chatHmCode; private String chatHmCode;
private String wxEnterpriseId;
private String enterpriseId;
private String name; private String name;
private String remark; private String remark;
/**0-否;1-是*/ /**0-否;1-是*/
...@@ -33,161 +32,162 @@ public class GroupChatHmVO implements Serializable{ ...@@ -33,161 +32,162 @@ public class GroupChatHmVO implements Serializable{
private String creatorName; private String creatorName;
private String modifierId; private String modifierId;
private String modifierName; private String modifierName;
private Integer deleteFlag;
private java.util.Date createTime; private java.util.Date createTime;
private java.util.Date updateTime; private java.util.Date updateTime;
/**关联群数量*/ /**关联群数量*/
private Integer chatCount; private Integer chatCount;
/**关联群id列表*/
private String chatIdList;
/**已关联链接数*/ /**已关联链接数*/
private Integer linkCount; private Integer linkCount;
// 1有效 2作废
private Integer statusFlag;
// 可以群数
private Integer usableChatCount;
public void setChatHmId(Long chatHmId){ public Integer getStatusFlag() {
this.chatHmId = chatHmId; return statusFlag;
} }
public Long getChatHmId(){ public Integer getUsableChatCount() {
return chatHmId; return usableChatCount;
}
public void setChatHmCode(String chatHmCode){
this.chatHmCode = chatHmCode;
} }
public String getChatHmCode(){ public void setStatusFlag(Integer statusFlag) {
return chatHmCode; this.statusFlag = statusFlag;
} }
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId; public void setUsableChatCount(Integer usableChatCount) {
this.usableChatCount = usableChatCount;
} }
public String getWxEnterpriseId(){ public void setChatHmId(Long chatHmId) {
return wxEnterpriseId; this.chatHmId = chatHmId;
} }
public void setEnterpriseId(String enterpriseId){
this.enterpriseId = enterpriseId; public Long getChatHmId() {
return chatHmId;
} }
public String getEnterpriseId(){ public void setChatHmCode(String chatHmCode) {
return enterpriseId; this.chatHmCode = chatHmCode;
} }
public void setName(String name){
this.name = name; public String getChatHmCode() {
return chatHmCode;
} }
public String getName(){ public String getName() {
return name; return name;
} }
public void setRemark(String remark){
public void setRemark(String remark) {
this.remark = remark; this.remark = remark;
} }
public String getRemark(){ public String getRemark() {
return remark; return remark;
} }
public void setAutoCreateRoom(Integer autoCreateRoom){
public void setAutoCreateRoom(Integer autoCreateRoom) {
this.autoCreateRoom = autoCreateRoom; this.autoCreateRoom = autoCreateRoom;
} }
public Integer getAutoCreateRoom(){ public Integer getAutoCreateRoom() {
return autoCreateRoom; return autoCreateRoom;
} }
public void setRoomBaseId(Integer roomBaseId){
public void setRoomBaseId(Integer roomBaseId) {
this.roomBaseId = roomBaseId; this.roomBaseId = roomBaseId;
} }
public Integer getRoomBaseId(){ public Integer getRoomBaseId() {
return roomBaseId; return roomBaseId;
} }
public void setRoomBaseName(String roomBaseName){
public void setRoomBaseName(String roomBaseName) {
this.roomBaseName = roomBaseName; this.roomBaseName = roomBaseName;
} }
public String getRoomBaseName(){ public String getRoomBaseName() {
return roomBaseName; return roomBaseName;
} }
public void setWxConfigId(String wxConfigId){
public void setWxConfigId(String wxConfigId) {
this.wxConfigId = wxConfigId; this.wxConfigId = wxConfigId;
} }
public String getWxConfigId(){ public String getWxConfigId() {
return wxConfigId; return wxConfigId;
} }
public void setWxQrCode(String wxQrCode){
public void setWxQrCode(String wxQrCode) {
this.wxQrCode = wxQrCode; this.wxQrCode = wxQrCode;
} }
public String getWxQrCode(){ public String getWxQrCode() {
return wxQrCode; return wxQrCode;
} }
public void setCreatorId(String creatorId){
public void setCreatorId(String creatorId) {
this.creatorId = creatorId; this.creatorId = creatorId;
} }
public String getCreatorId(){ public String getCreatorId() {
return creatorId; return creatorId;
} }
public void setCreatorName(String creatorName){
public void setCreatorName(String creatorName) {
this.creatorName = creatorName; this.creatorName = creatorName;
} }
public String getCreatorName(){ public String getCreatorName() {
return creatorName; return creatorName;
} }
public void setModifierId(String modifierId){
public void setModifierId(String modifierId) {
this.modifierId = modifierId; this.modifierId = modifierId;
} }
public String getModifierId(){ public String getModifierId() {
return modifierId; return modifierId;
} }
public void setModifierName(String modifierName){
public void setModifierName(String modifierName) {
this.modifierName = modifierName; this.modifierName = modifierName;
} }
public String getModifierName(){ public String getModifierName() {
return modifierName; return modifierName;
} }
public void setDeleteFlag(Integer deleteFlag){
this.deleteFlag = deleteFlag;
}
public Integer getDeleteFlag(){ public void setCreateTime(java.util.Date createTime) {
return deleteFlag;
}
public void setCreateTime(java.util.Date createTime){
this.createTime = createTime; this.createTime = createTime;
} }
public java.util.Date getCreateTime(){ public java.util.Date getCreateTime() {
return createTime; return createTime;
} }
public void setUpdateTime(java.util.Date updateTime){
public void setUpdateTime(java.util.Date updateTime) {
this.updateTime = updateTime; this.updateTime = updateTime;
} }
public java.util.Date getUpdateTime(){ public java.util.Date getUpdateTime() {
return updateTime; return updateTime;
} }
public void setChatCount(Integer chatCount){
public void setChatCount(Integer chatCount) {
this.chatCount = chatCount; this.chatCount = chatCount;
} }
public Integer getChatCount(){ public Integer getChatCount() {
return chatCount; return chatCount;
} }
public void setChatIdList(String chatIdList){
this.chatIdList = chatIdList;
}
public String getChatIdList(){ public void setLinkCount(Integer linkCount) {
return chatIdList;
}
public void setLinkCount(Integer linkCount){
this.linkCount = linkCount; this.linkCount = linkCount;
} }
public Integer getLinkCount(){ public Integer getLinkCount() {
return linkCount; return linkCount;
} }
} }
\ No newline at end of file
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