Commit ba02436b by 徐高华

Merge branch 'feature/社群' into 'master'

并发控制

See merge request !835
parents 2436a20f 48c297be
...@@ -537,29 +537,39 @@ public class GroupChatServiceImpl implements GroupChatService { ...@@ -537,29 +537,39 @@ public class GroupChatServiceImpl implements GroupChatService {
this.groupChatMapper.updateChatStatus(groupChatId, chatStatus); this.groupChatMapper.updateChatStatus(groupChatId, chatStatus);
} }
} else { } else {
groupChatId = UniqueIdUtils.uniqueLong(); String lockKey = "lock:chat:add:" + wxChatId;
TabGroupChat chat = new TabGroupChat(); try {
chat.setGroupChatId(groupChatId); RedisUtil.lock(lockKey, 10L);
chat.setWxEnterpriseId(wxEnterpriseId); groupChat = this.groupChatMapper.selectByWxChatId(wxEnterpriseId, wxChatId);
String enterpriseId = this.matchGicEnterpriseId(wxEnterpriseId, null, null); if (null == groupChat) {
chat.setGicFlag(0); groupChatId = UniqueIdUtils.uniqueLong();
if (StringUtils.isNotBlank(enterpriseId)) { TabGroupChat chat = new TabGroupChat();
chat.setEnterpriseId(enterpriseId); chat.setGroupChatId(groupChatId);
chat.setGicFlag(1); 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) { if (syncDetailFlag) {
this.updateGroupChatDetail(qwDTO, groupChatId, true); 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