Commit 48c297be by 徐高华

并发控制

parent 8e53e9e2
......@@ -537,29 +537,39 @@ public class GroupChatServiceImpl implements GroupChatService {
this.groupChatMapper.updateChatStatus(groupChatId, chatStatus);
}
} else {
groupChatId = UniqueIdUtils.uniqueLong();
TabGroupChat chat = new TabGroupChat();
chat.setGroupChatId(groupChatId);
chat.setWxEnterpriseId(wxEnterpriseId);
String enterpriseId = this.matchGicEnterpriseId(wxEnterpriseId, null, null);
chat.setGicFlag(0);
if (StringUtils.isNotBlank(enterpriseId)) {
chat.setEnterpriseId(enterpriseId);
chat.setGicFlag(1);
String lockKey = "lock:chat:add:" + wxChatId;
try {
RedisUtil.lock(lockKey, 10L);
groupChat = this.groupChatMapper.selectByWxChatId(wxEnterpriseId, wxChatId);
if (null == groupChat) {
groupChatId = UniqueIdUtils.uniqueLong();
TabGroupChat chat = new TabGroupChat();
chat.setGroupChatId(groupChatId);
chat.setWxEnterpriseId(wxEnterpriseId);
String enterpriseId = this.matchGicEnterpriseId(wxEnterpriseId, null, null);
chat.setGicFlag(0);
if (StringUtils.isNotBlank(enterpriseId)) {
chat.setEnterpriseId(enterpriseId);
chat.setGicFlag(1);
}
chat.setWxChatId(wxChatId);
chat.setChatStatus(chatStatus);
chat.setCreateTime(new Date());
chat.setUpdateTime(new Date());
chat.setDeleteFlag(0);
chat.setTotalCount(0);
chat.setInitFlag(0);
chat.setTotalMemberCount(0);
chat.setAddMemberCount(0);
chat.setAddCount(0);
chat.setQuitCount(0);
chat.setQuitMemberCount(0);
this.groupChatMapper.insert(chat);
}
RedisUtil.unlock(lockKey);
} catch (Exception e) {
e.printStackTrace();
}
chat.setWxChatId(wxChatId);
chat.setChatStatus(chatStatus);
chat.setCreateTime(new Date());
chat.setUpdateTime(new Date());
chat.setDeleteFlag(0);
chat.setTotalCount(0);
chat.setInitFlag(0);
chat.setTotalMemberCount(0);
chat.setAddMemberCount(0);
chat.setAddCount(0);
chat.setQuitCount(0);
chat.setQuitMemberCount(0);
this.groupChatMapper.insert(chat);
}
if (syncDetailFlag) {
this.updateGroupChatDetail(qwDTO, groupChatId, true);
......
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