Commit 57572201 by 徐高华

活码群群状态

parent 7fc1d09a
......@@ -43,9 +43,19 @@ public class GroupChatHmDTO implements Serializable {
private List<Long> chatIdList;
/**已关联链接数*/
private Integer linkCount;
// 1有效 2作废 3待生效
// 1有效 2作废
private Integer statusFlag ;
// 可以群数
private Integer usableChatCount;
public Integer getUsableChatCount() {
return usableChatCount;
}
public void setUsableChatCount(Integer usableChatCount) {
this.usableChatCount = usableChatCount;
}
public Integer getStatusFlag() {
return statusFlag;
}
......
......@@ -5,6 +5,7 @@ import java.util.List;
import org.apache.ibatis.annotations.Param;
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 {
* @throws
*/
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{
private Integer linkCount;
// 1有效 2作废 3待生效
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;
}
......
......@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.service.chat.impl;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
......@@ -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.TabGroupChatHmRelation;
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.WxEnterpriseService;
import com.gic.haoban.manage.service.service.chat.GroupChatHmService;
......@@ -80,6 +82,18 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
PageHelper.startPage(basePageInfo);
List<TabGroupChatHm> list = this.groupChatHmMapper.list(qdto);
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;
}
......
......@@ -84,4 +84,16 @@
distinct(chat_hm_id)
from tab_haoban_group_chat_hm_relation where group_chat_id = #{groupChatId} and delete_flag = 0
</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>
\ No newline at end of file
......@@ -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.GroupChatHmApiService;
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.qcloud.BucketNameEnum;
import com.gic.qcloud.FileUploadUtil;
......@@ -121,8 +122,17 @@ public class GroupChatHmController {
if (CollectionUtils.isNotEmpty(creatorIdList)) {
qdto.setCreatorIdList(creatorIdList);
}
ServiceResponse<Page<GroupChatHmDTO>> page = this.groupChatHmApiService.listPage(qdto, basePageInfo);
return RestResponse.successResult(page.getResult());
ServiceResponse<Page<GroupChatHmDTO>> pageResp = this.groupChatHmApiService.listPage(qdto, basePageInfo);
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")
......
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 ;
* @Modify
* @CopyRight
*/
public class GroupChatHmVO implements Serializable{
private static final long serialVersionUID = 21518878229500L;
private Long chatHmId;
private String chatHmCode;
private String wxEnterpriseId;
private String enterpriseId;
private String name;
private String remark;
/**0-否;1-是*/
private Integer autoCreateRoom;
/**自动建群的群起始序号*/
private Integer roomBaseId;
/**自动建群的群名前缀*/
private String roomBaseName;
private String wxConfigId;
private String wxQrCode;
private String creatorId;
private String creatorName;
private String modifierId;
private String modifierName;
private Integer deleteFlag;
private java.util.Date createTime;
private java.util.Date updateTime;
/**关联群数量*/
private Integer chatCount;
/**关联群id列表*/
private String chatIdList;
/**已关联链接数*/
private Integer linkCount;
public void setChatHmId(Long chatHmId){
this.chatHmId = chatHmId;
}
public Long getChatHmId(){
return chatHmId;
}
public void setChatHmCode(String chatHmCode){
this.chatHmCode = chatHmCode;
}
public String getChatHmCode(){
return chatHmCode;
}
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId(){
return wxEnterpriseId;
}
public void setEnterpriseId(String enterpriseId){
this.enterpriseId = enterpriseId;
}
public String getEnterpriseId(){
return enterpriseId;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setRemark(String remark){
this.remark = remark;
}
public String getRemark(){
return remark;
}
public void setAutoCreateRoom(Integer autoCreateRoom){
this.autoCreateRoom = autoCreateRoom;
}
public Integer getAutoCreateRoom(){
return autoCreateRoom;
}
public void setRoomBaseId(Integer roomBaseId){
this.roomBaseId = roomBaseId;
}
public Integer getRoomBaseId(){
return roomBaseId;
}
public void setRoomBaseName(String roomBaseName){
this.roomBaseName = roomBaseName;
}
public String getRoomBaseName(){
return roomBaseName;
}
public void setWxConfigId(String wxConfigId){
this.wxConfigId = wxConfigId;
}
public String getWxConfigId(){
return wxConfigId;
}
public void setWxQrCode(String wxQrCode){
this.wxQrCode = wxQrCode;
}
public String getWxQrCode(){
return wxQrCode;
}
public void setCreatorId(String creatorId){
this.creatorId = creatorId;
}
public String getCreatorId(){
return creatorId;
}
public void setCreatorName(String creatorName){
this.creatorName = creatorName;
}
public String getCreatorName(){
return creatorName;
}
public void setModifierId(String modifierId){
this.modifierId = modifierId;
}
public String getModifierId(){
return modifierId;
}
public void setModifierName(String modifierName){
this.modifierName = modifierName;
}
public String getModifierName(){
return modifierName;
}
public void setDeleteFlag(Integer deleteFlag){
this.deleteFlag = deleteFlag;
}
public Integer getDeleteFlag(){
return deleteFlag;
}
public void setCreateTime(java.util.Date createTime){
this.createTime = createTime;
}
public java.util.Date getCreateTime(){
return createTime;
}
public void setUpdateTime(java.util.Date updateTime){
this.updateTime = updateTime;
}
public java.util.Date getUpdateTime(){
return updateTime;
}
public void setChatCount(Integer chatCount){
this.chatCount = chatCount;
}
public Integer getChatCount(){
return chatCount;
}
public void setChatIdList(String chatIdList){
this.chatIdList = chatIdList;
}
public String getChatIdList(){
return chatIdList;
}
public void setLinkCount(Integer linkCount){
this.linkCount = linkCount;
}
public Integer getLinkCount(){
return linkCount;
}
public class GroupChatHmVO implements Serializable {
private static final long serialVersionUID = 21518878229500L;
private Long chatHmId;
private String chatHmCode;
private String name;
private String remark;
/**0-否;1-是*/
private Integer autoCreateRoom;
/**自动建群的群起始序号*/
private Integer roomBaseId;
/**自动建群的群名前缀*/
private String roomBaseName;
private String wxConfigId;
private String wxQrCode;
private String creatorId;
private String creatorName;
private String modifierId;
private String modifierName;
private java.util.Date createTime;
private java.util.Date updateTime;
/**关联群数量*/
private Integer chatCount;
/**已关联链接数*/
private Integer linkCount;
// 1有效 2作废
private Integer statusFlag;
// 可以群数
private Integer usableChatCount;
public Integer getStatusFlag() {
return statusFlag;
}
public Integer getUsableChatCount() {
return usableChatCount;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public void setUsableChatCount(Integer usableChatCount) {
this.usableChatCount = usableChatCount;
}
public void setChatHmId(Long chatHmId) {
this.chatHmId = chatHmId;
}
public Long getChatHmId() {
return chatHmId;
}
public void setChatHmCode(String chatHmCode) {
this.chatHmCode = chatHmCode;
}
public String getChatHmCode() {
return chatHmCode;
}
public String getName() {
return name;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getRemark() {
return remark;
}
public void setAutoCreateRoom(Integer autoCreateRoom) {
this.autoCreateRoom = autoCreateRoom;
}
public Integer getAutoCreateRoom() {
return autoCreateRoom;
}
public void setRoomBaseId(Integer roomBaseId) {
this.roomBaseId = roomBaseId;
}
public Integer getRoomBaseId() {
return roomBaseId;
}
public void setRoomBaseName(String roomBaseName) {
this.roomBaseName = roomBaseName;
}
public String getRoomBaseName() {
return roomBaseName;
}
public void setWxConfigId(String wxConfigId) {
this.wxConfigId = wxConfigId;
}
public String getWxConfigId() {
return wxConfigId;
}
public void setWxQrCode(String wxQrCode) {
this.wxQrCode = wxQrCode;
}
public String getWxQrCode() {
return wxQrCode;
}
public void setCreatorId(String creatorId) {
this.creatorId = creatorId;
}
public String getCreatorId() {
return creatorId;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public String getCreatorName() {
return creatorName;
}
public void setModifierId(String modifierId) {
this.modifierId = modifierId;
}
public String getModifierId() {
return modifierId;
}
public void setModifierName(String modifierName) {
this.modifierName = modifierName;
}
public String getModifierName() {
return modifierName;
}
public void setCreateTime(java.util.Date createTime) {
this.createTime = createTime;
}
public java.util.Date getCreateTime() {
return createTime;
}
public void setUpdateTime(java.util.Date updateTime) {
this.updateTime = updateTime;
}
public java.util.Date getUpdateTime() {
return updateTime;
}
public void setChatCount(Integer chatCount) {
this.chatCount = chatCount;
}
public Integer getChatCount() {
return chatCount;
}
public void setLinkCount(Integer linkCount) {
this.linkCount = linkCount;
}
public Integer getLinkCount() {
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