Commit 22985eb1 by 裴大威

feat 1001640 WXGROUP_SEND_TEXT changeGroupName

parent ef4c3595
...@@ -51,6 +51,11 @@ public class GroupClassifyQrcodeDTO implements Serializable { ...@@ -51,6 +51,11 @@ public class GroupClassifyQrcodeDTO implements Serializable {
private String qrCodeUrl; private String qrCodeUrl;
/** /**
* 群名称
*/
private String groupName;
/**
* 是否开启群学习报告 * 是否开启群学习报告
*/ */
private Boolean hasOpenLearningReport; private Boolean hasOpenLearningReport;
...@@ -131,6 +136,14 @@ public class GroupClassifyQrcodeDTO implements Serializable { ...@@ -131,6 +136,14 @@ public class GroupClassifyQrcodeDTO implements Serializable {
this.qrCodeUrl = qrCodeUrl; this.qrCodeUrl = qrCodeUrl;
} }
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public Boolean getHasOpenLearningReport() { public Boolean getHasOpenLearningReport() {
return hasOpenLearningReport; return hasOpenLearningReport;
} }
...@@ -159,6 +172,7 @@ public class GroupClassifyQrcodeDTO implements Serializable { ...@@ -159,6 +172,7 @@ public class GroupClassifyQrcodeDTO implements Serializable {
", weixinQrcodeId=" + weixinQrcodeId + ", weixinQrcodeId=" + weixinQrcodeId +
", price=" + price + ", price=" + price +
", qrCodeUrl='" + qrCodeUrl + '\'' + ", qrCodeUrl='" + qrCodeUrl + '\'' +
", groupName='" + groupName + '\'' +
", hasOpenLearningReport=" + hasOpenLearningReport + ", hasOpenLearningReport=" + hasOpenLearningReport +
", joinGroupType=" + joinGroupType + ", joinGroupType=" + joinGroupType +
'}'; '}';
......
...@@ -26,7 +26,7 @@ public class GroupQrcodeDTO implements Serializable { ...@@ -26,7 +26,7 @@ public class GroupQrcodeDTO implements Serializable {
/** /**
* 微信群标识 * 微信群标识
*/ */
private Long weixinGroupId; private String weixinGroupId;
/** /**
* 限制人数 * 限制人数
...@@ -43,6 +43,8 @@ public class GroupQrcodeDTO implements Serializable { ...@@ -43,6 +43,8 @@ public class GroupQrcodeDTO implements Serializable {
*/ */
private Integer useState; private Integer useState;
private String groupName;
public Long getId() { public Long getId() {
return id; return id;
} }
...@@ -83,11 +85,11 @@ public class GroupQrcodeDTO implements Serializable { ...@@ -83,11 +85,11 @@ public class GroupQrcodeDTO implements Serializable {
this.useState = useState; this.useState = useState;
} }
public Long getWeixinGroupId() { public String getWeixinGroupId() {
return weixinGroupId; return weixinGroupId;
} }
public void setWeixinGroupId(Long weixinGroupId) { public void setWeixinGroupId(String weixinGroupId) {
this.weixinGroupId = weixinGroupId; this.weixinGroupId = weixinGroupId;
} }
...@@ -99,6 +101,14 @@ public class GroupQrcodeDTO implements Serializable { ...@@ -99,6 +101,14 @@ public class GroupQrcodeDTO implements Serializable {
this.classifyId = classifyId; this.classifyId = classifyId;
} }
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
@Override @Override
public String toString() { public String toString() {
return "GroupQrcodeDTO{" + return "GroupQrcodeDTO{" +
...@@ -109,6 +119,7 @@ public class GroupQrcodeDTO implements Serializable { ...@@ -109,6 +119,7 @@ public class GroupQrcodeDTO implements Serializable {
", changeNumber=" + changeNumber + ", changeNumber=" + changeNumber +
", qrcodeState=" + qrcodeState + ", qrcodeState=" + qrcodeState +
", useState=" + useState + ", useState=" + useState +
", groupName='" + groupName + '\'' +
'}'; '}';
} }
} }
...@@ -19,6 +19,7 @@ import com.pcloud.book.group.dao.BookGroupDao; ...@@ -19,6 +19,7 @@ import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dao.GroupQrcodeDao; import com.pcloud.book.group.dao.GroupQrcodeDao;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO; import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.group.dto.GroupQrcodeDTO;
import com.pcloud.book.group.dto.JoinGroupCipherDTO; import com.pcloud.book.group.dto.JoinGroupCipherDTO;
import com.pcloud.book.group.entity.AppTouchRecord; import com.pcloud.book.group.entity.AppTouchRecord;
import com.pcloud.book.group.entity.GroupQrcode; import com.pcloud.book.group.entity.GroupQrcode;
...@@ -46,11 +47,13 @@ import com.pcloud.book.keywords.vo.QrWeixinParam; ...@@ -46,11 +47,13 @@ import com.pcloud.book.keywords.vo.QrWeixinParam;
import com.pcloud.book.keywords.vo.SetKeywordVO; import com.pcloud.book.keywords.vo.SetKeywordVO;
import com.pcloud.book.keywords.vo.SetRankVO; import com.pcloud.book.keywords.vo.SetRankVO;
import com.pcloud.book.keywords.vo.UpdateKeywordVO; import com.pcloud.book.keywords.vo.UpdateKeywordVO;
import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.channelcenter.base.constants.ChannelEnum; import com.pcloud.channelcenter.base.constants.ChannelEnum;
import com.pcloud.channelcenter.qrcode.service.QrcodeSceneService; import com.pcloud.channelcenter.qrcode.service.QrcodeSceneService;
import com.pcloud.channelcenter.qrcode.vo.MessageBookVO; import com.pcloud.channelcenter.qrcode.vo.MessageBookVO;
import com.pcloud.channelcenter.qrcode.vo.QrWeixinParamVO; import com.pcloud.channelcenter.qrcode.vo.QrWeixinParamVO;
import com.pcloud.channelcenter.wechat.dto.AccountSettingDto; import com.pcloud.channelcenter.wechat.dto.AccountSettingDto;
import com.pcloud.common.constant.CacheConstant;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam; import com.pcloud.common.page.PageParam;
...@@ -64,7 +67,9 @@ import com.pcloud.common.utils.string.StringUtil; ...@@ -64,7 +67,9 @@ import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.resourcecenter.product.dto.ProductDto; import com.pcloud.resourcecenter.product.dto.ProductDto;
import com.pcloud.resourcecenter.product.dto.ProductTypeDto; import com.pcloud.resourcecenter.product.dto.ProductTypeDto;
import com.pcloud.wechatgroup.group.dto.RobotReplyDTO; import com.pcloud.wechatgroup.group.dto.RobotReplyDTO;
import com.sdk.wxgroup.ChangeNameVO;
import com.sdk.wxgroup.SendMessageTypeEnum; import com.sdk.wxgroup.SendMessageTypeEnum;
import com.sdk.wxgroup.WxGroupSDK;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -80,6 +85,7 @@ import java.util.Date; ...@@ -80,6 +85,7 @@ import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.Set; import java.util.Set;
import java.util.TreeSet; import java.util.TreeSet;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -621,6 +627,36 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -621,6 +627,36 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
robotReplyDTO.setWxGroupId(weixinGroupId); robotReplyDTO.setWxGroupId(weixinGroupId);
robotReplyDTO.setWxUserId(userWxId); robotReplyDTO.setWxUserId(userWxId);
wechatGroupConsr.addFirstRobotReplyRecord(robotReplyDTO); wechatGroupConsr.addFirstRobotReplyRecord(robotReplyDTO);
// 异步修改群名称
String finalRobotId = robotId;
ThreadPoolUtils.OTHER_THREAD_POOL.execute(() -> {
checkGroupName(weixinGroupId, classifyQrcodeInfo.getGroupName(), finalRobotId, ip);
});
}
/**
* 修改群名称
*/
private void checkGroupName(String weixinGroupId, String groupName, String robotId, String ip) {
log.info("[checkGroupName] weixinGroupId:{} groupName:{} robotId:{} ip:{} groupQrcodeDTO:{}", weixinGroupId, groupQrcodeDao, robotId, ip);
if (StringUtil.isBlank(weixinGroupId) || StringUtil.isBlank(groupName) || StringUtil.isBlank(robotId) || StringUtil.isBlank(ip)) {
return;
}
String key = CacheConstant.BOOK + "CHECKGROUPNAME:";
String s = JedisClusterUtils.hget(key, weixinGroupId);
log.info("[修改群名称] checkGroupName s:{}", s);
if (StringUtil.isBlank(s)) {
ChangeNameVO vo = new ChangeNameVO();
vo.setName(groupName);
vo.setAltId(robotId);
vo.setWxGroupId(weixinGroupId);
vo.setIp(ip);
WxGroupSDK.changeGroupName(vo);
// 改过名之后七天不再改名
JedisClusterUtils.hset(key, weixinGroupId, "1");
JedisClusterUtils.expire(key, 60 * 60 * 24 * 31);
log.info("[修改群名称] checkGroupName vo:{}", vo);
}
} }
/** /**
......
...@@ -331,7 +331,8 @@ ...@@ -331,7 +331,8 @@
c.has_open_learning_report hasOpenLearningReport, c.has_open_learning_report hasOpenLearningReport,
q.weixin_qrcode_id weixinQrcodeId, q.weixin_qrcode_id weixinQrcodeId,
q.qrcode_url qrCodeUrl, q.qrcode_url qrCodeUrl,
g.join_group_type joinGroupType g.join_group_type joinGroupType,
q.group_name groupName
FROM FROM
book_group_classify c book_group_classify c
JOIN book_group_qrcode q ON c.id = q.classify_id JOIN book_group_qrcode q ON c.id = q.classify_id
......
...@@ -205,6 +205,7 @@ ...@@ -205,6 +205,7 @@
q.qrcode_state qrcodeState, q.qrcode_state qrcodeState,
q.weixin_group_id weixinGroupId, q.weixin_group_id weixinGroupId,
q.weixin_qrcode_id weixinQrcodeId, q.weixin_qrcode_id weixinQrcodeId,
q.group_name groupName,
c.id classifyId c.id classifyId
FROM FROM
book_group_qrcode q book_group_qrcode q
......
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