Commit d202f3c0 by 徐高华

代码优化

parent c0157cc7
...@@ -25,4 +25,7 @@ public class Manage3Constants { ...@@ -25,4 +25,7 @@ public class Manage3Constants {
* 企微最大分页 * 企微最大分页
*/ */
public static final Integer QW_LIMIT = 1000; public static final Integer QW_LIMIT = 1000;
// 群群发统计
public static final Integer CHAT_PLAN_PAGE_SIZE = 1 ;
} }
...@@ -56,24 +56,25 @@ public interface GroupChatApiService { ...@@ -56,24 +56,25 @@ public interface GroupChatApiService {
/** /**
* *
* @Title: refreshChatInfo * @Title: refreshChatInfo
* @Description: 刷新群信息 * @Description: 刷新群
* @author xugh * @author xugh
* @param groupChatId * @param groupChatId
* @return * @return
* @throws * @throws
*/ */
public ServiceResponse<Void> refreshChatInfo(Long groupChatId); public ServiceResponse<Void> refreshChatInfoFromMQ(String params);
/** /**
* *
* @Title: refreshChatInfo * @Title: refreshChatStatus
* @Description: 刷新群信息,从队列获取 * @Description: 刷新群的状态
* @author xugh * @author xugh
* @param groupChatId * @param params
* @return * @return
* @throws * @throws
*/ */
public ServiceResponse<Void> refreshChatInfoFromMQ(String params); public ServiceResponse<Void> refreshChatStatusFromMQ(String params) ;
/** /**
* *
......
...@@ -21,6 +21,8 @@ public interface GroupChatUserMapper { ...@@ -21,6 +21,8 @@ public interface GroupChatUserMapper {
public int insert(TabGroupChatUser tabHaobanGroupChatUser); public int insert(TabGroupChatUser tabHaobanGroupChatUser);
public int batchInsert(@Param("list")List<TabGroupChatUser> userList);
public int dismiss(@Param("idList") List<Long> chatUserIdList, @Param("ownerId") String ownerId); public int dismiss(@Param("idList") List<Long> chatUserIdList, @Param("ownerId") String ownerId);
public int update(TabGroupChatUser tabHaobanGroupChatUser); public int update(TabGroupChatUser tabHaobanGroupChatUser);
......
package com.gic.haoban.manage.service.entity.chat; package com.gic.haoban.manage.service.entity.chat;
import java.io.Serializable ; import java.io.Serializable;
/** /**
* *
...@@ -11,7 +11,7 @@ import java.io.Serializable ; ...@@ -11,7 +11,7 @@ import java.io.Serializable ;
* @Modify * @Modify
* @CopyRight * @CopyRight
*/ */
public class TabGroupChatUser implements Serializable{ public class TabGroupChatUser implements Serializable {
private static final long serialVersionUID = 21771431486600L; private static final long serialVersionUID = 21771431486600L;
...@@ -34,7 +34,7 @@ public class TabGroupChatUser implements Serializable{ ...@@ -34,7 +34,7 @@ public class TabGroupChatUser implements Serializable{
private String memberId; private String memberId;
/**邀请者*/ /**邀请者*/
private String invitorUserId; private String invitorUserId;
private String invitorUserName ; private String invitorUserName;
private java.util.Date createTime; private java.util.Date createTime;
private java.util.Date updateTime; private java.util.Date updateTime;
/**1是0否*/ /**1是0否*/
...@@ -53,7 +53,7 @@ public class TabGroupChatUser implements Serializable{ ...@@ -53,7 +53,7 @@ public class TabGroupChatUser implements Serializable{
private String joinRemark; private String joinRemark;
private String joinState; private String joinState;
// 0 成员 1群主 2管理员 // 0 成员 1群主 2管理员
private Integer adminFlag ; private Integer adminFlag = 0;
public Integer getAdminFlag() { public Integer getAdminFlag() {
return adminFlag; return adminFlag;
...@@ -71,151 +71,171 @@ public class TabGroupChatUser implements Serializable{ ...@@ -71,151 +71,171 @@ public class TabGroupChatUser implements Serializable{
this.invitorUserName = invitorUserName; this.invitorUserName = invitorUserName;
} }
public void setChatUserId(Long chatUserId){ public void setChatUserId(Long chatUserId) {
this.chatUserId = chatUserId; this.chatUserId = chatUserId;
} }
public Long getChatUserId(){ public Long getChatUserId() {
return chatUserId; return chatUserId;
} }
public void setWxEnterpriseId(String wxEnterpriseId){
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId; this.wxEnterpriseId = wxEnterpriseId;
} }
public String getWxEnterpriseId(){ public String getWxEnterpriseId() {
return wxEnterpriseId; return wxEnterpriseId;
} }
public void setEnterpriseId(String enterpriseId){
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId; this.enterpriseId = enterpriseId;
} }
public String getEnterpriseId(){ public String getEnterpriseId() {
return enterpriseId; return enterpriseId;
} }
public void setUserType(Integer userType){
public void setUserType(Integer userType) {
this.userType = userType; this.userType = userType;
} }
public Integer getUserType(){ public Integer getUserType() {
return userType; return userType;
} }
public void setJoinTime(java.util.Date joinTime){
public void setJoinTime(java.util.Date joinTime) {
this.joinTime = joinTime; this.joinTime = joinTime;
} }
public java.util.Date getJoinTime(){ public java.util.Date getJoinTime() {
return joinTime; return joinTime;
} }
public void setUserName(String userName){
public void setUserName(String userName) {
this.userName = userName; this.userName = userName;
} }
public String getUserName(){ public String getUserName() {
return userName; return userName;
} }
public void setNickName(String nickName){
public void setNickName(String nickName) {
this.nickName = nickName; this.nickName = nickName;
} }
public String getNickName(){ public String getNickName() {
return nickName; return nickName;
} }
public void setUserId(String userId){
public void setUserId(String userId) {
this.userId = userId; this.userId = userId;
} }
public String getUserId(){ public String getUserId() {
return userId; return userId;
} }
public void setUnionid(String unionid){
public void setUnionid(String unionid) {
this.unionid = unionid; this.unionid = unionid;
} }
public String getUnionid(){ public String getUnionid() {
return unionid; return unionid;
} }
public void setMemberId(String memberId){
public void setMemberId(String memberId) {
this.memberId = memberId; this.memberId = memberId;
} }
public String getMemberId(){ public String getMemberId() {
return memberId; return memberId;
} }
public void setInvitorUserId(String invitorUserId){
public void setInvitorUserId(String invitorUserId) {
this.invitorUserId = invitorUserId; this.invitorUserId = invitorUserId;
} }
public String getInvitorUserId(){ public String getInvitorUserId() {
return invitorUserId; return invitorUserId;
} }
public void setCreateTime(java.util.Date createTime){
public void setCreateTime(java.util.Date createTime) {
this.createTime = createTime; this.createTime = createTime;
} }
public java.util.Date getCreateTime(){ public java.util.Date getCreateTime() {
return createTime; return createTime;
} }
public void setUpdateTime(java.util.Date updateTime){
public void setUpdateTime(java.util.Date updateTime) {
this.updateTime = updateTime; this.updateTime = updateTime;
} }
public java.util.Date getUpdateTime(){ public java.util.Date getUpdateTime() {
return updateTime; return updateTime;
} }
public void setDeleteFlag(Integer deleteFlag){
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag; this.deleteFlag = deleteFlag;
} }
public Integer getDeleteFlag(){ public Integer getDeleteFlag() {
return deleteFlag; return deleteFlag;
} }
public void setGroupChatId(Long groupChatId){
public void setGroupChatId(Long groupChatId) {
this.groupChatId = groupChatId; this.groupChatId = groupChatId;
} }
public Long getGroupChatId(){ public Long getGroupChatId() {
return groupChatId; return groupChatId;
} }
public void setStatusFlag(Integer statusFlag){
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag; this.statusFlag = statusFlag;
} }
public Integer getStatusFlag(){ public Integer getStatusFlag() {
return statusFlag; return statusFlag;
} }
public void setUserQuitTime(java.util.Date userQuitTime){
public void setUserQuitTime(java.util.Date userQuitTime) {
this.userQuitTime = userQuitTime; this.userQuitTime = userQuitTime;
} }
public java.util.Date getUserQuitTime(){ public java.util.Date getUserQuitTime() {
return userQuitTime; return userQuitTime;
} }
public void setQuitScene(Integer quitScene){
public void setQuitScene(Integer quitScene) {
this.quitScene = quitScene; this.quitScene = quitScene;
} }
public Integer getQuitScene(){ public Integer getQuitScene() {
return quitScene; return quitScene;
} }
public void setJoinScene(Integer joinScene){
public void setJoinScene(Integer joinScene) {
this.joinScene = joinScene; this.joinScene = joinScene;
} }
public Integer getJoinScene(){ public Integer getJoinScene() {
return joinScene; return joinScene;
} }
public void setJoinRemark(String joinRemark){
public void setJoinRemark(String joinRemark) {
this.joinRemark = joinRemark; this.joinRemark = joinRemark;
} }
public String getJoinRemark(){ public String getJoinRemark() {
return joinRemark; return joinRemark;
} }
public void setJoinState(String joinState){
public void setJoinState(String joinState) {
this.joinState = joinState; this.joinState = joinState;
} }
public String getJoinState(){ public String getJoinState() {
return joinState; return joinState;
} }
} }
\ No newline at end of file
...@@ -39,7 +39,17 @@ public interface GroupChatService { ...@@ -39,7 +39,17 @@ public interface GroupChatService {
* @param chatHmId * @param chatHmId
* @throws * @throws
*/ */
public void refreshChatInfo(Long chatHmId); public void refreshChatInfo(Long groupChatId);
/**
*
* @Title: refreshChatStatus
* @Description: 刷新群的状态
* @author xugh
* @param groupChatId
* @throws
*/
public void refreshChatStatus(Long groupChatId);
/** /**
* *
......
...@@ -111,6 +111,9 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe ...@@ -111,6 +111,9 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
@Override @Override
public void batchAdd(String staffIdList, TabGroupChatPlan entity) { public void batchAdd(String staffIdList, TabGroupChatPlan entity) {
if (StringUtils.isBlank(staffIdList)) {
return;
}
String[] arr = staffIdList.split(","); String[] arr = staffIdList.split(",");
List<TabGroupChatPlanOwnerLog> logList = new ArrayList<>(); List<TabGroupChatPlanOwnerLog> logList = new ArrayList<>();
for (int i = 0; i < arr.length; i++) { for (int i = 0; i < arr.length; i++) {
...@@ -132,7 +135,7 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe ...@@ -132,7 +135,7 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
@Override @Override
public void update(TabGroupChatPlanOwnerLog entity) { public void update(TabGroupChatPlanOwnerLog entity) {
String staffId = entity.getStaffId() ; String staffId = entity.getStaffId();
TabHaobanClerkMainStoreRelated mainStore = this.clerkMainStoreRelatedService.getMainStoreByStaffId(staffId, TabHaobanClerkMainStoreRelated mainStore = this.clerkMainStoreRelatedService.getMainStoreByStaffId(staffId,
entity.getWxEnterpriseId()); entity.getWxEnterpriseId());
if (null == mainStore) { if (null == mainStore) {
...@@ -159,8 +162,14 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe ...@@ -159,8 +162,14 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
@Override @Override
public void deleteByStaffIds(Long planId, String delStaffIds) { public void deleteByStaffIds(Long planId, String delStaffIds) {
if (StringUtils.isBlank(delStaffIds)) {
return;
}
String[] arr = delStaffIds.split(","); String[] arr = delStaffIds.split(",");
List<String> delStaffIdList = Arrays.asList(arr); List<String> delStaffIdList = Arrays.asList(arr);
if (CollectionUtils.isEmpty(delStaffIdList)) {
return;
}
this.groupChatPlanOwnerLogMapper.deleteByStaffIds(planId, delStaffIdList); this.groupChatPlanOwnerLogMapper.deleteByStaffIds(planId, delStaffIdList);
} }
......
...@@ -31,6 +31,7 @@ import com.gic.dubbo.entity.ProviderLocalTag; ...@@ -31,6 +31,7 @@ import com.gic.dubbo.entity.ProviderLocalTag;
import com.gic.enterprise.api.dto.StoreDTO; import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService; import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.common.utils.DingUtils; import com.gic.haoban.common.utils.DingUtils;
import com.gic.haoban.manage.api.constants.Manage3Constants;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO; import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatPlanDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanLogDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatPlanLogDTO;
...@@ -101,7 +102,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService { ...@@ -101,7 +102,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
// 发送队列 // 发送队列
private void putMQForSend(Long id) { private void putMQForSend(Long id) {
try { try {
mqClient.sendCommonMessage("haobanCommonRouter", id + "", mqClient.sendCommonMessage("haobanChatMQ", id + "",
"com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService", "doPlanTimer"); "com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService", "doPlanTimer");
} catch (Exception e) { } catch (Exception e) {
logger.error("发送MQ异常"); logger.error("发送MQ异常");
...@@ -112,7 +113,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService { ...@@ -112,7 +113,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
// 统计队列 // 统计队列
private void putMQForData(Long id) { private void putMQForData(Long id) {
try { try {
mqClient.sendCommonMessage("haobanCommonRouter", id + "", mqClient.sendCommonMessage("haobanChatMQ", id + "",
"com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService", "doPlanSendInfoTimer"); "com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService", "doPlanSendInfoTimer");
} catch (Exception e) { } catch (Exception e) {
logger.error("发送MQ异常"); logger.error("发送MQ异常");
...@@ -145,20 +146,16 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService { ...@@ -145,20 +146,16 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
} else { } else {
this.groupChatPlanMapper.updateById(entity); this.groupChatPlanMapper.updateById(entity);
// 删除本次删除的 // 删除本次删除的
String delStaffIdList = dto.getDelStaffIdList(); this.groupChatPlanOwnerLogService.deleteByStaffIds(planId, dto.getDelStaffIdList());
if (StringUtils.isNotBlank(delStaffIdList)) {
this.groupChatPlanOwnerLogService.deleteByStaffIds(planId, delStaffIdList);
}
// 新增本次新增的 // 新增本次新增的
if (StringUtils.isNotBlank(staffIdList)) {
this.groupChatPlanOwnerLogService.batchAdd(staffIdList, entity); this.groupChatPlanOwnerLogService.batchAdd(staffIdList, entity);
} }
}
// 立即发送 // 立即发送
if (entity.getSendType() == 1) { if (entity.getSendType() == 1) {
this.putMQForSend(entity.getPlanId()); this.addOrDelTimer(planId, entity.getSendTime(), 0);
this.putMQForSend(planId);
} else { } else {
this.addOrDelTimer(entity.getPlanId(), entity.getSendTime(), 1); this.addOrDelTimer(planId, entity.getSendTime(), 1);
} }
} }
...@@ -200,7 +197,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService { ...@@ -200,7 +197,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
madidList.add(json.getString("relation_id")); madidList.add(json.getString("relation_id"));
} }
int pageNum = 0; int pageNum = 0;
int pageSize = 1; int pageSize = Manage3Constants.CHAT_PLAN_PAGE_SIZE;
List<TabGroupChatPlanOwnerLog> ownerList = null; List<TabGroupChatPlanOwnerLog> ownerList = null;
while (true) { while (true) {
ownerList = this.groupChatPlanOwnerLogMapper.listForDoPlan(planId, pageNum * pageSize, pageSize); ownerList = this.groupChatPlanOwnerLogMapper.listForDoPlan(planId, pageNum * pageSize, pageSize);
......
...@@ -165,12 +165,6 @@ public class GroupChatApiServiceImpl implements GroupChatApiService { ...@@ -165,12 +165,6 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
} }
@Override @Override
public ServiceResponse<Void> refreshChatInfo(Long chatHmId) {
this.groupChatService.refreshChatInfo(chatHmId);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> updateChatEnterpriseId(String wxEnterpriseId, String enterpriseId, public ServiceResponse<Void> updateChatEnterpriseId(String wxEnterpriseId, String enterpriseId,
List<Long> groupChatIdList) { List<Long> groupChatIdList) {
this.groupChatService.updateChatEnterpriseId(wxEnterpriseId, enterpriseId, groupChatIdList); this.groupChatService.updateChatEnterpriseId(wxEnterpriseId, enterpriseId, groupChatIdList);
...@@ -232,7 +226,17 @@ public class GroupChatApiServiceImpl implements GroupChatApiService { ...@@ -232,7 +226,17 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
JSONObject json = JSONObject.parseObject(params); JSONObject json = JSONObject.parseObject(params);
List<Long> arr = JSONObject.parseArray(json.getString("groupChatIdList"), Long.class); List<Long> arr = JSONObject.parseArray(json.getString("groupChatIdList"), Long.class);
for (Long id : arr) { for (Long id : arr) {
this.refreshChatInfo(id); this.groupChatService.refreshChatInfo(id);
}
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> refreshChatStatusFromMQ(String params) {
JSONObject json = JSONObject.parseObject(params);
List<Long> arr = JSONObject.parseArray(json.getString("groupChatIdList"), Long.class);
for (Long id : arr) {
this.groupChatService.refreshChatStatus(id);
} }
return ServiceResponse.success(); return ServiceResponse.success();
} }
......
...@@ -758,10 +758,6 @@ ...@@ -758,10 +758,6 @@
<select id="getMemberForExternalId" resultMap="BaseResultMap"> <select id="getMemberForExternalId" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/> select <include refid="Base_Column_List"/>
from tab_haoban_external_clerk_related where wx_enterprise_id = #{wxEnterpriseId} from tab_haoban_external_clerk_related where wx_enterprise_id = #{wxEnterpriseId}
and self_external_userid = #{externalUserId} and status_flag in (1,3,4) and member_id <![CDATA[ <> '']]>
union
select <include refid="Base_Column_List"/>
from tab_haoban_external_clerk_related where wx_enterprise_id = #{wxEnterpriseId}
and external_user_id = #{externalUserId} and status_flag in (1,3,4) and member_id <![CDATA[ <> '' ]]> and external_user_id = #{externalUserId} and status_flag in (1,3,4) and member_id <![CDATA[ <> '' ]]>
limit 1 limit 1
</select> </select>
......
...@@ -104,7 +104,59 @@ ...@@ -104,7 +104,59 @@
]]> ]]>
</insert> </insert>
<!-- =====================删除==================== --> <insert id="batchInsert">
INSERT INTO tab_haoban_group_chat_user(
chat_user_id,
wx_enterprise_id,
enterprise_id,
user_type,
join_time,
user_name,
nick_name,
user_id,
unionid,
member_id,
invitor_user_id,
create_time,
update_time,
delete_flag,
group_chat_id,
status_flag,
user_quit_time,
quit_scene,
join_scene,
join_remark,
join_state , invitor_user_name , admin_flag
)VALUES
<foreach collection="list" item="item" separator="," >
( #{item.chatUserId},
#{item.wxEnterpriseId},
#{item.enterpriseId},
#{item.userType},
#{item.joinTime},
#{item.userName},
#{item.nickName},
#{item.userId},
#{item.unionid},
#{item.memberId},
#{item.invitorUserId},
#{item.createTime},
#{item.updateTime},
#{item.deleteFlag},
#{item.groupChatId},
#{item.statusFlag},
#{item.userQuitTime},
#{item.quitScene},
#{item.joinScene},
#{item.joinRemark},
#{item.joinState} , #{item.invitorUserName} , #{item.adminFlag}
)
</foreach>
</insert>
<!-- =====================废弃群==================== -->
<update id="dismiss"> <update id="dismiss">
UPDATE tab_haoban_group_chat_user SET status_flag = 2 , update_time=now() , user_quit_time = now() , quit_scene = 0 , quit_staff_id = #{ownerId} WHERE chat_user_id in UPDATE tab_haoban_group_chat_user SET status_flag = 2 , update_time=now() , user_quit_time = now() , quit_scene = 0 , quit_staff_id = #{ownerId} WHERE chat_user_id in
<foreach collection="idList" close=")" open="(" index="index" item="id" separator=","> <foreach collection="idList" close=")" open="(" index="index" item="id" separator=",">
......
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