Commit ae2c2c43 by 裴大威

Merge branch 'hotfix-changeGroup' into 'master'

区分个人码和社群码满群人数

See merge request rays/pcloud-book!260
parents 2c4f8532 a087f365
......@@ -30,6 +30,7 @@ import com.pcloud.book.group.dto.QrcodeNameAndProIdDTO;
import com.pcloud.book.group.dto.UpdateGroupNameDTO;
import com.pcloud.book.group.dto.WeixinQrcodeDTO;
import com.pcloud.book.group.entity.GroupQrcode;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.group.enums.QrcodeStatusEnum;
import com.pcloud.book.group.tools.SendWeixinRequestTools;
import com.pcloud.book.group.vo.ClassifyQrcodeVO;
......@@ -468,7 +469,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
}
// 新用户进群时系统消息群人数不准,所以从系统中取然后+1,更新群人数操作会在群消息地方处理
memberCount = groupQrcodeDTO.getUserNumber() + 1;
if (memberCount >= 100 && QrcodeStatusEnum.ON_USE.value.equals(groupQrcodeDTO.getUseState())) {
if (memberCount >= ((JoinGroupTypeEnum.GROUP_QRCODE.getCode().equals(groupQrcodeDTO.getJoinGroupType()) ? 100 : 500)) && QrcodeStatusEnum.ON_USE.value.equals(groupQrcodeDTO.getUseState())) {
//将二维码修改为已满群状态
changeToOverNumber(groupQrcodeDTO.getWeixinQrcodeId(), groupQrcodeDTO.getId());
}
......
......@@ -56,5 +56,10 @@ public class GroupQrcodeDTO implements Serializable {
*/
private String groupName;
/**
* 入群方式
*/
private Integer joinGroupType;
}
package com.pcloud.book.keywords.biz;
import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.keywords.dto.KeywordDTO;
import com.pcloud.book.keywords.dto.KeywordStatisticsDTO;
import com.pcloud.book.keywords.dto.ReplyKeywordDTO;
......@@ -79,11 +80,8 @@ public interface BookKeywordBiz {
* 更新群人数
* @param wxGroupId 微信群id
* @param memberCount 群人数
* @param changeNumber 切群人数
* @param weixinQrcodeId weixin表主键
* @param groupQrcodeId groupQrcode表主键
*/
void updateGroupPeopleCount(String wxGroupId, Integer memberCount, Integer changeNumber, Long weixinQrcodeId, Long groupQrcodeId);
void updateGroupPeopleCount(String wxGroupId, Integer memberCount, GroupClassifyQrcodeDTO classifyQrcodeInfo);
/**
* 修改群名称
......
......@@ -31,6 +31,7 @@ import com.pcloud.book.group.entity.BookGroupCipherUser;
import com.pcloud.book.group.entity.BookGroupClassify;
import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.book.group.entity.GroupQrcode;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.group.enums.QrcodeStatusEnum;
import com.pcloud.book.group.enums.TouchTypeEnum;
import com.pcloud.book.group.tools.SendSelfMsgTools;
......@@ -941,7 +942,10 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
* 更新群人数
*/
@Override
public void updateGroupPeopleCount(String wxGroupId, Integer memberCount, Integer changeNumber, Long weixinQrcodeId, Long groupQrcodeId) {
public void updateGroupPeopleCount(String wxGroupId, Integer memberCount, GroupClassifyQrcodeDTO classifyQrcodeInfo) {
Integer changeNumber = classifyQrcodeInfo.getChangeNumber();
Long weixinQrcodeId = classifyQrcodeInfo.getWeixinQrcodeId();
Long groupQrcodeId = classifyQrcodeInfo.getGroupQrcodeId();
log.info("[更新群人数] updateGroupPeopleCount wxGroupId:{} memberCount:{} changeNumber:{} weixinQrcodeId:{} groupQrcodeId:{}", wxGroupId, memberCount, changeNumber, weixinQrcodeId, groupQrcodeId);
if (Objects.isNull(memberCount) || StringUtil.isBlank(wxGroupId) || memberCount <= 0) {
return;
......@@ -961,7 +965,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
groupQrcodeDao.changeQrcodeStateForNotOver(groupQrcodeId, QrcodeStatusEnum.ON_USE.value);
log.info("[更新群人数] 触发更新小于状态 wxGroupId:{} memberCount:{} changeNumber:{} weixinQrcodeId:{} groupQrcodeId:{}", wxGroupId, memberCount, changeNumber, weixinQrcodeId, groupQrcodeId);
}
if (memberCount >= 100) {
if (memberCount >= (JoinGroupTypeEnum.GROUP_QRCODE.getCode().equals(classifyQrcodeInfo.getJoinGroupType()) ? 100 : 500)) {
groupQrcodeBiz.changeToOverNumber(weixinQrcodeId, groupQrcodeId);
log.info("[更新群人数] 触发更新满群状态 wxGroupId:{} memberCount:{} changeNumber:{} weixinQrcodeId:{} groupQrcodeId:{}", wxGroupId, memberCount, changeNumber, weixinQrcodeId, groupQrcodeId);
groupQrcodeDao.changeQrcodeState(groupQrcodeId, QrcodeStatusEnum.OVER_NUMBER.value);
......
......@@ -69,7 +69,6 @@ public class WxGroupSendTextListener {
if(flag && SendMessageTypeEnum.GROUP.getCode().equals(sendTextDTO.getCode())){
weixinClockBiz.sendKeywordMessage(sendTextDTO.getTextContent().trim(), wechatUserId, sendTextDTO.getWechatGroupId(), sendTextDTO.getWxId(), sendTextDTO.getIp());
} else {
final long l = System.currentTimeMillis();
bookKeywordBiz.sendKeywordMessage(sendTextDTO);
}
//猜谜语
......@@ -92,7 +91,7 @@ public class WxGroupSendTextListener {
final String ip = sendTextDTO.getIp();
GroupClassifyQrcodeDTO classifyQrcodeInfo = bookGroupClassifyBiz.getClassifyQrcodeInfo(weixinGroupId);
// 处理更新群人数
bookKeywordBiz.updateGroupPeopleCount(weixinGroupId, sendTextDTO.getMemberCount(), classifyQrcodeInfo.getChangeNumber(), classifyQrcodeInfo.getWeixinQrcodeId(), classifyQrcodeInfo.getGroupQrcodeId());
bookKeywordBiz.updateGroupPeopleCount(weixinGroupId, sendTextDTO.getMemberCount(), classifyQrcodeInfo);
bookKeywordBiz.checkGroupName(weixinGroupId, classifyQrcodeInfo.getGroupName(), finalRobotId, ip);
});
}
......
......@@ -236,10 +236,12 @@
q.weixin_qrcode_id weixinQrcodeId,
q.group_name groupName,
q.user_number userNumber,
c.id classifyId
c.id classifyId,
d.join_group_type joinGroupType
FROM
book_group_qrcode q
book_group_qrcode q
JOIN book_group_classify c ON q.classify_id = c.id
JOIN book_group d ON c.book_group_id = d.id
AND q.weixin_group_id = #{_parameter} limit 1
</select>
......
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