Commit 57572201 by 徐高华

活码群群状态

parent 7fc1d09a
...@@ -43,9 +43,19 @@ public class GroupChatHmDTO implements Serializable { ...@@ -43,9 +43,19 @@ 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,8 +42,18 @@ public class GroupChatHmBO implements Serializable{ ...@@ -42,8 +42,18 @@ public class GroupChatHmBO implements Serializable{
private Integer linkCount; private Integer linkCount;
// 1有效 2作废 3待生效 // 1有效 2作废 3待生效
private Integer statusFlag ; private Integer statusFlag ;
// 可以群数
public Integer getStatusFlag() { private Integer usableChatCount;
public Integer getUsableChatCount() {
return usableChatCount;
}
public void setUsableChatCount(Integer usableChatCount) {
this.usableChatCount = usableChatCount;
}
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,183 +12,182 @@ import java.io.Serializable ; ...@@ -11,183 +12,182 @@ 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 name;
private String enterpriseId; private String remark;
private String name; /**0-否;1-是*/
private String remark; private Integer autoCreateRoom;
/**0-否;1-是*/ /**自动建群的群起始序号*/
private Integer autoCreateRoom; private Integer roomBaseId;
/**自动建群的群起始序号*/ /**自动建群的群名前缀*/
private Integer roomBaseId; private String roomBaseName;
/**自动建群的群名前缀*/ private String wxConfigId;
private String roomBaseName; private String wxQrCode;
private String wxConfigId; private String creatorId;
private String wxQrCode; private String creatorName;
private String creatorId; private String modifierId;
private String creatorName; private String modifierName;
private String modifierId; private java.util.Date createTime;
private String modifierName; private java.util.Date updateTime;
private Integer deleteFlag; /**关联群数量*/
private java.util.Date createTime; private Integer chatCount;
private java.util.Date updateTime; /**已关联链接数*/
/**关联群数量*/ private Integer linkCount;
private Integer chatCount; // 1有效 2作废
/**关联群id列表*/ private Integer statusFlag;
private String chatIdList; // 可以群数
/**已关联链接数*/ private Integer usableChatCount;
private Integer linkCount;
public Integer getStatusFlag() {
public void setChatHmId(Long chatHmId){ return statusFlag;
this.chatHmId = chatHmId; }
}
public Integer getUsableChatCount() {
public Long getChatHmId(){ return usableChatCount;
return chatHmId; }
}
public void setChatHmCode(String chatHmCode){ public void setStatusFlag(Integer statusFlag) {
this.chatHmCode = chatHmCode; this.statusFlag = statusFlag;
} }
public String getChatHmCode(){ public void setUsableChatCount(Integer usableChatCount) {
return chatHmCode; this.usableChatCount = usableChatCount;
} }
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId; public void setChatHmId(Long chatHmId) {
} this.chatHmId = chatHmId;
}
public String getWxEnterpriseId(){
return wxEnterpriseId; public Long getChatHmId() {
} return chatHmId;
public void setEnterpriseId(String enterpriseId){ }
this.enterpriseId = enterpriseId;
} public void setChatHmCode(String chatHmCode) {
this.chatHmCode = chatHmCode;
public String getEnterpriseId(){ }
return enterpriseId;
} public String getChatHmCode() {
public void setName(String name){ return chatHmCode;
this.name = name; }
}
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){
this.autoCreateRoom = autoCreateRoom; public void setAutoCreateRoom(Integer autoCreateRoom) {
} this.autoCreateRoom = autoCreateRoom;
}
public Integer getAutoCreateRoom(){
return autoCreateRoom; public Integer getAutoCreateRoom() {
} return autoCreateRoom;
public void setRoomBaseId(Integer roomBaseId){ }
this.roomBaseId = roomBaseId;
} public void setRoomBaseId(Integer roomBaseId) {
this.roomBaseId = roomBaseId;
public Integer getRoomBaseId(){ }
return roomBaseId;
} public Integer getRoomBaseId() {
public void setRoomBaseName(String roomBaseName){ return roomBaseId;
this.roomBaseName = roomBaseName; }
}
public void setRoomBaseName(String roomBaseName) {
public String getRoomBaseName(){ this.roomBaseName = roomBaseName;
return roomBaseName; }
}
public void setWxConfigId(String wxConfigId){ public String getRoomBaseName() {
this.wxConfigId = wxConfigId; return roomBaseName;
} }
public String getWxConfigId(){ public void setWxConfigId(String wxConfigId) {
return wxConfigId; this.wxConfigId = wxConfigId;
} }
public void setWxQrCode(String wxQrCode){
this.wxQrCode = wxQrCode; public String getWxConfigId() {
} return wxConfigId;
}
public String getWxQrCode(){
return wxQrCode; public void setWxQrCode(String wxQrCode) {
} this.wxQrCode = wxQrCode;
public void setCreatorId(String creatorId){ }
this.creatorId = creatorId;
} public String getWxQrCode() {
return wxQrCode;
public String getCreatorId(){ }
return creatorId;
} public void setCreatorId(String creatorId) {
public void setCreatorName(String creatorName){ this.creatorId = creatorId;
this.creatorName = creatorName; }
}
public String getCreatorId() {
public String getCreatorName(){ return creatorId;
return creatorName; }
}
public void setModifierId(String modifierId){ public void setCreatorName(String creatorName) {
this.modifierId = modifierId; this.creatorName = creatorName;
} }
public String getModifierId(){ public String getCreatorName() {
return modifierId; return creatorName;
} }
public void setModifierName(String modifierName){
this.modifierName = modifierName; public void setModifierId(String modifierId) {
} this.modifierId = modifierId;
}
public String getModifierName(){
return modifierName; public String getModifierId() {
} return modifierId;
public void setDeleteFlag(Integer deleteFlag){ }
this.deleteFlag = deleteFlag;
} public void setModifierName(String modifierName) {
this.modifierName = modifierName;
public Integer getDeleteFlag(){ }
return deleteFlag;
} public String getModifierName() {
public void setCreateTime(java.util.Date createTime){ return modifierName;
this.createTime = createTime; }
}
public void setCreateTime(java.util.Date createTime) {
public java.util.Date getCreateTime(){ this.createTime = createTime;
return createTime; }
}
public void setUpdateTime(java.util.Date updateTime){ public java.util.Date getCreateTime() {
this.updateTime = updateTime; return createTime;
} }
public java.util.Date getUpdateTime(){ public void setUpdateTime(java.util.Date updateTime) {
return updateTime; this.updateTime = updateTime;
} }
public void setChatCount(Integer chatCount){
this.chatCount = chatCount; public java.util.Date getUpdateTime() {
} return updateTime;
}
public Integer getChatCount(){
return chatCount; public void setChatCount(Integer chatCount) {
} this.chatCount = chatCount;
public void setChatIdList(String chatIdList){ }
this.chatIdList = chatIdList;
} public Integer getChatCount() {
return chatCount;
public String getChatIdList(){ }
return chatIdList;
} public void setLinkCount(Integer linkCount) {
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