Commit 4b976a84 by 徐高华

退群处理

parent df6ca233
...@@ -105,4 +105,11 @@ public interface HaobanTimerApiService { ...@@ -105,4 +105,11 @@ public interface HaobanTimerApiService {
*/ */
public ServiceResponse<Void> welcomeForMember(String params); public ServiceResponse<Void> welcomeForMember(String params);
/**
* 退群统计
* @param params
* @return
*/
public ServiceResponse<Void> groupChatQuitTimer(String params) ;
} }
...@@ -39,4 +39,7 @@ public interface GroupChatOwnerMapper { ...@@ -39,4 +39,7 @@ public interface GroupChatOwnerMapper {
* @throws * @throws
*/ */
public List<GroupChatOwnerDTO> dimissionOwnerList(); public List<GroupChatOwnerDTO> dimissionOwnerList();
public List<String> listAllEnterpriseId() ;
} }
\ No newline at end of file
...@@ -25,4 +25,5 @@ public interface GroupChatDataService { ...@@ -25,4 +25,5 @@ public interface GroupChatDataService {
public Page<GroupChatDataDTO> listStaffData(ChatDataSearchQDTO qdto, BasePageInfo basePageInfo); public Page<GroupChatDataDTO> listStaffData(ChatDataSearchQDTO qdto, BasePageInfo basePageInfo);
void groupChatQuitTimer(String params);
} }
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat.impl; package com.gic.haoban.manage.service.service.chat.impl;
import java.util.ArrayList; import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.ctrip.framework.apollo.ConfigService;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatUserMapper; import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatUserMapper;
import com.gic.haoban.manage.service.pojo.bo.chat.UserQuitBO; import com.gic.haoban.manage.service.pojo.bo.chat.UserQuitBO;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -178,4 +175,33 @@ public class GroupChatDataServiceImpl implements GroupChatDataService { ...@@ -178,4 +175,33 @@ public class GroupChatDataServiceImpl implements GroupChatDataService {
} }
} }
} }
@Override
public void groupChatQuitTimer(String params) {
List<String> wxEnterpriseIdList = new ArrayList<>();
if("-1".equals(params)) {
wxEnterpriseIdList = this.groupChatOwnerMapper.listAllEnterpriseId() ;
}else {
wxEnterpriseIdList.add(params) ;
}
com.ctrip.framework.apollo.Config config = ConfigService.getAppConfig();
String key = config.getProperty("group_chat_quit_data", "");
int start = Integer.valueOf(key.split("_")[0]) ;
int len = Integer.valueOf(key.split("_")[1]) ;
Date startDate = DateUtil.addDay(DateUtil.getStartTimeOfDay(), -start);
for(int i=0;i<len;i++) {
Date date = DateUtil.addDay(startDate, -(i+1));
Date end = DateUtil.getEndTimeOfDay(date) ;
for(String wxEnterpriseId : wxEnterpriseIdList) {
List<UserQuitBO> quitList = this.groupChatUserMapper.listQuitNum(wxEnterpriseId,date,end) ;
if(CollectionUtils.isNotEmpty(quitList)) {
for(UserQuitBO bo : quitList) {
if(StringUtils.isNotBlank(bo.getStaffId())) {
this.groupChatDataMapper.updateQuitCount(wxEnterpriseId,date,bo.getStaffId(),bo.getNum());
}
}
}
}
}
}
} }
\ No newline at end of file
package com.gic.haoban.manage.service.service.out.impl; package com.gic.haoban.manage.service.service.out.impl;
import com.gic.haoban.manage.service.service.chat.GroupChatDataService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -24,6 +25,8 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService { ...@@ -24,6 +25,8 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService {
private GroupChatService groupChatService; private GroupChatService groupChatService;
@Autowired @Autowired
private ExternalMemberService externalMemberService ; private ExternalMemberService externalMemberService ;
@Autowired
private GroupChatDataService groupChatDataService ;
@Override @Override
...@@ -79,4 +82,10 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService { ...@@ -79,4 +82,10 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService {
this.externalMemberService.welcomeForMember() ; this.externalMemberService.welcomeForMember() ;
return ServiceResponse.success(); return ServiceResponse.success();
} }
@Override
public ServiceResponse<Void> groupChatQuitTimer(String params) {
this.groupChatDataService.groupChatQuitTimer(params) ;
return ServiceResponse.success();
}
} }
...@@ -92,5 +92,9 @@ ...@@ -92,5 +92,9 @@
FROM tab_haoban_group_chat_owner a LEFT JOIN tab_haoban_staff b ON a.`staff_id` = b.`staff_id` FROM tab_haoban_group_chat_owner a LEFT JOIN tab_haoban_staff b ON a.`staff_id` = b.`staff_id`
where a.update_time > DATE_ADD(CURDATE(), INTERVAL -1 DAY) and b.status_flag = 0 where a.update_time > DATE_ADD(CURDATE(), INTERVAL -1 DAY) and b.status_flag = 0
</select> </select>
<select id="listAllEnterpriseId" resultType="java.lang.String">
select distinct(wx_enterprise_id) from tab_haoban_group_chat_owner
</select>
</mapper> </mapper>
\ No newline at end of file
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