Commit 6b5ccae9 by 桂前礼

🐛 fix bug 1022860

parent 11fb5908
...@@ -14,6 +14,7 @@ import com.pcloud.book.group.vo.ListQrcodeByClassifyParamVO; ...@@ -14,6 +14,7 @@ import com.pcloud.book.group.vo.ListQrcodeByClassifyParamVO;
import com.pcloud.book.group.vo.UpdateGroupQrcodeRequestVO; import com.pcloud.book.group.vo.UpdateGroupQrcodeRequestVO;
import com.pcloud.book.riddle.dto.GroupRiddleDTO; import com.pcloud.book.riddle.dto.GroupRiddleDTO;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.sdk.wxgroup.GroupInfoVO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -217,4 +218,10 @@ public interface GroupQrcodeBiz { ...@@ -217,4 +218,10 @@ public interface GroupQrcodeBiz {
* 根据类型获取当前群总人数 * 根据类型获取当前群总人数
*/ */
Integer getUserCountByJoinGroupType(Integer joinGroupType); Integer getUserCountByJoinGroupType(Integer joinGroupType);
/**
* 更新群人数
* @param groupInfoVO
*/
void updateGroupMember(GroupInfoVO groupInfoVO);
} }
...@@ -58,6 +58,7 @@ import com.pcloud.common.utils.ListUtils; ...@@ -58,6 +58,7 @@ import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.cache.redis.JedisClusterUtils; import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto; import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto;
import com.sdk.wxgroup.GroupInfoVO;
import com.sdk.wxgroup.WxGroupSDK; import com.sdk.wxgroup.WxGroupSDK;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
...@@ -81,6 +82,7 @@ import java.util.Optional; ...@@ -81,6 +82,7 @@ import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils;
/** /**
* @author lily * @author lily
...@@ -432,7 +434,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz { ...@@ -432,7 +434,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
KeywordUserCountDTO keywordUserCountDTO = keywordMap.get(classifyQrcodeVO.getWeixinQrcodeId()); KeywordUserCountDTO keywordUserCountDTO = keywordMap.get(classifyQrcodeVO.getWeixinQrcodeId());
classifyQrcodeVO.setKeywordCount(keywordUserCountDTO == null ? 0 : keywordUserCountDTO.getUseCount()); classifyQrcodeVO.setKeywordCount(keywordUserCountDTO == null ? 0 : keywordUserCountDTO.getUseCount());
} }
} }
} }
...@@ -494,8 +496,12 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz { ...@@ -494,8 +496,12 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
} }
// 新用户进群时系统消息群人数不准,所以从系统中取然后+1,更新群人数操作会在群消息地方处理 // 新用户进群时系统消息群人数不准,所以从系统中取然后+1,更新群人数操作会在群消息地方处理
memberCount = groupQrcodeDTO.getUserNumber() + 1; memberCount = groupQrcodeDTO.getUserNumber() + 1;
// 写入数据库
groupQrcodeDao.updateGroupCount(weixinGroupId, memberCount);
// 调用SDK获取群人数信息
WxGroupSDK.updateGroupMember(weixinGroupId, robotIdByGroupId, ip);
// 当群人数超过限制,或者群二维码更新状态为失败时更新群状态为满群 // 当群人数超过限制,或者群二维码更新状态为失败时更新群状态为满群
boolean overstaff = memberCount >= ((JoinGroupTypeEnum.GROUP_QRCODE.getCode().equals(groupQrcodeDTO.getJoinGroupType()) ? 100 : 500)) && QrcodeStatusEnum.ON_USE.value.equals(groupQrcodeDTO.getUseState()); boolean overstaff = memberCount >= ((JoinGroupTypeEnum.GROUP_QRCODE.getCode().equals(groupQrcodeDTO.getJoinGroupType()) ? 200 : 500)) && QrcodeStatusEnum.ON_USE.value.equals(groupQrcodeDTO.getUseState());
Integer updatState = Optional.ofNullable(weixinQrcodeBiz.getGroupVersion(Collections.singletonList(weixinGroupId))).map(x -> x.get(weixinGroupId)).map(BookWxQrcodeDTO::getUpdateState).orElse(-1); Integer updatState = Optional.ofNullable(weixinQrcodeBiz.getGroupVersion(Collections.singletonList(weixinGroupId))).map(x -> x.get(weixinGroupId)).map(BookWxQrcodeDTO::getUpdateState).orElse(-1);
if (overstaff || UpdateStatusEnum.FIAL.value.equals(updatState)) { if (overstaff || UpdateStatusEnum.FIAL.value.equals(updatState)) {
//将二维码修改为已满群状态 //将二维码修改为已满群状态
...@@ -851,7 +857,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz { ...@@ -851,7 +857,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
groupQrcode.setWeixinQrcodeId(oneQrcode.getId()); groupQrcode.setWeixinQrcodeId(oneQrcode.getId());
groupQrcode.setGroupSeq(maxSeq); groupQrcode.setGroupSeq(maxSeq);
groupQrcode.setQrcodeHeadUrl(readerConsr.getNineHeadUrl()); groupQrcode.setQrcodeHeadUrl(readerConsr.getNineHeadUrl());
groupQrcode.setUserNumber(oneQrcode.getUserNumber()); groupQrcode.setUserNumber(oneQrcode.getUserNumber() > 0 ? oneQrcode.getUserNumber() : 6);
groupQrcode.setGroupName(groupName); groupQrcode.setGroupName(groupName);
groupQrcode.setClassifyId(classifyId); groupQrcode.setClassifyId(classifyId);
this.insert(groupQrcode); this.insert(groupQrcode);
...@@ -880,4 +886,11 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz { ...@@ -880,4 +886,11 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
return groupQrcodeDao.getUserCountByJoinGroupType(joinGroupType); return groupQrcodeDao.getUserCountByJoinGroupType(joinGroupType);
} }
@Override
public void updateGroupMember(GroupInfoVO groupInfoVO) {
if (groupInfoVO != null && !StringUtils.isEmpty(groupInfoVO.getGroupId()) && groupInfoVO.getCounts() > 0) {
groupQrcodeDao.updateUserNumber(groupInfoVO.getGroupId(), groupInfoVO.getCounts());
}
}
} }
...@@ -8,6 +8,8 @@ import com.pcloud.common.exceptions.BizException; ...@@ -8,6 +8,8 @@ import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.permission.PermissionException; import com.pcloud.common.permission.PermissionException;
import com.sdk.wxgroup.GroupInfoVO;
import io.swagger.annotations.ApiParam;
import org.codehaus.jackson.JsonParseException; import org.codehaus.jackson.JsonParseException;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -96,4 +98,9 @@ public interface GroupQrcodeFacade { ...@@ -96,4 +98,9 @@ public interface GroupQrcodeFacade {
) throws PermissionException; ) throws PermissionException;
@ApiOperation("更新群人数")
@PostMapping("updateGroupMember")
ResponseDto<?> updateGroupMember(@RequestBody GroupInfoVO groupInfoVO);
} }
...@@ -20,6 +20,7 @@ import com.pcloud.common.permission.PermissionException; ...@@ -20,6 +20,7 @@ import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.SessionUtil; import com.pcloud.common.utils.SessionUtil;
import com.pcloud.common.utils.cookie.Cookie; import com.pcloud.common.utils.cookie.Cookie;
import com.sdk.wxgroup.GroupInfoVO;
import org.codehaus.jackson.JsonParseException; import org.codehaus.jackson.JsonParseException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.CookieValue;
...@@ -164,4 +165,12 @@ public class GroupQrcodeFacadeImpl implements GroupQrcodeFacade { ...@@ -164,4 +165,12 @@ public class GroupQrcodeFacadeImpl implements GroupQrcodeFacade {
} }
return new ResponseDto<>(groupQrcodeBiz.getUserCountByJoinGroupType(joinGroupType)); return new ResponseDto<>(groupQrcodeBiz.getUserCountByJoinGroupType(joinGroupType));
} }
@ApiOperation("更新群人数")
@PostMapping("updateGroupMember")
@Override
public ResponseDto<?> updateGroupMember(@RequestBody GroupInfoVO groupInfoVO) {
groupQrcodeBiz.updateGroupMember(groupInfoVO);
return new ResponseDto<>();
}
} }
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