Commit 22985eb1 by 裴大威

feat 1001640 WXGROUP_SEND_TEXT changeGroupName

parent ef4c3595
......@@ -51,6 +51,11 @@ public class GroupClassifyQrcodeDTO implements Serializable {
private String qrCodeUrl;
/**
* 群名称
*/
private String groupName;
/**
* 是否开启群学习报告
*/
private Boolean hasOpenLearningReport;
......@@ -131,6 +136,14 @@ public class GroupClassifyQrcodeDTO implements Serializable {
this.qrCodeUrl = qrCodeUrl;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public Boolean getHasOpenLearningReport() {
return hasOpenLearningReport;
}
......@@ -159,6 +172,7 @@ public class GroupClassifyQrcodeDTO implements Serializable {
", weixinQrcodeId=" + weixinQrcodeId +
", price=" + price +
", qrCodeUrl='" + qrCodeUrl + '\'' +
", groupName='" + groupName + '\'' +
", hasOpenLearningReport=" + hasOpenLearningReport +
", joinGroupType=" + joinGroupType +
'}';
......
......@@ -26,7 +26,7 @@ public class GroupQrcodeDTO implements Serializable {
/**
* 微信群标识
*/
private Long weixinGroupId;
private String weixinGroupId;
/**
* 限制人数
......@@ -43,6 +43,8 @@ public class GroupQrcodeDTO implements Serializable {
*/
private Integer useState;
private String groupName;
public Long getId() {
return id;
}
......@@ -83,11 +85,11 @@ public class GroupQrcodeDTO implements Serializable {
this.useState = useState;
}
public Long getWeixinGroupId() {
public String getWeixinGroupId() {
return weixinGroupId;
}
public void setWeixinGroupId(Long weixinGroupId) {
public void setWeixinGroupId(String weixinGroupId) {
this.weixinGroupId = weixinGroupId;
}
......@@ -99,6 +101,14 @@ public class GroupQrcodeDTO implements Serializable {
this.classifyId = classifyId;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
@Override
public String toString() {
return "GroupQrcodeDTO{" +
......@@ -109,6 +119,7 @@ public class GroupQrcodeDTO implements Serializable {
", changeNumber=" + changeNumber +
", qrcodeState=" + qrcodeState +
", useState=" + useState +
", groupName='" + groupName + '\'' +
'}';
}
}
......@@ -19,6 +19,7 @@ import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dao.GroupQrcodeDao;
import com.pcloud.book.group.dto.BookGroupDTO;
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.entity.AppTouchRecord;
import com.pcloud.book.group.entity.GroupQrcode;
......@@ -46,11 +47,13 @@ import com.pcloud.book.keywords.vo.QrWeixinParam;
import com.pcloud.book.keywords.vo.SetKeywordVO;
import com.pcloud.book.keywords.vo.SetRankVO;
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.qrcode.service.QrcodeSceneService;
import com.pcloud.channelcenter.qrcode.vo.MessageBookVO;
import com.pcloud.channelcenter.qrcode.vo.QrWeixinParamVO;
import com.pcloud.channelcenter.wechat.dto.AccountSettingDto;
import com.pcloud.common.constant.CacheConstant;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
......@@ -64,7 +67,9 @@ import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.resourcecenter.product.dto.ProductDto;
import com.pcloud.resourcecenter.product.dto.ProductTypeDto;
import com.pcloud.wechatgroup.group.dto.RobotReplyDTO;
import com.sdk.wxgroup.ChangeNameVO;
import com.sdk.wxgroup.SendMessageTypeEnum;
import com.sdk.wxgroup.WxGroupSDK;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.BeanUtils;
......@@ -80,6 +85,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
import java.util.stream.Collectors;
......@@ -621,6 +627,36 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
robotReplyDTO.setWxGroupId(weixinGroupId);
robotReplyDTO.setWxUserId(userWxId);
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 @@
c.has_open_learning_report hasOpenLearningReport,
q.weixin_qrcode_id weixinQrcodeId,
q.qrcode_url qrCodeUrl,
g.join_group_type joinGroupType
g.join_group_type joinGroupType,
q.group_name groupName
FROM
book_group_classify c
JOIN book_group_qrcode q ON c.id = q.classify_id
......
......@@ -205,6 +205,7 @@
q.qrcode_state qrcodeState,
q.weixin_group_id weixinGroupId,
q.weixin_qrcode_id weixinQrcodeId,
q.group_name groupName,
c.id classifyId
FROM
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