Commit d4caf737 by xiongjiangtao

群统计

parent 5da67c3c
......@@ -9,6 +9,7 @@ import com.gic.clerk.api.dto.AuthorizedUser;
import com.gic.commons.util.DataApiUtils;
import com.gic.commons.util.DateUtil;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.manage.web.handle.*;
import com.gic.haoban.manage.web.qo.chat.*;
import com.gic.haoban.manage.web.qo.wechatwork.StoreGroupCommonQO;
import com.gic.haoban.manage.web.qo.wechatwork.WechatWorkLostClerkQO;
......@@ -53,6 +54,32 @@ public class ChatDataController extends NewBaseController {
@Autowired
private StoreAuthUtils storeAuthUtils;
@Autowired
private GroupChatDetailsHandle groupChatDetailsHandle;
@Autowired
private GroupClerkDataHandle groupClerkDataHandle;
@Autowired
private GroupDetailsHandle groupDetailsHandle;
@Autowired
private GroupExitHandle groupExitHandle;
@Autowired
private GroupJoinHandle groupJoinHandle;
@Autowired
private GroupStoreDataHandle groupStoreDataHandle;
@Autowired
private SingleChatClerkDataHandle singleChatClerkDataHandle;
@Autowired
private SingleChatDetailsHandle singleChatDetailsHandle;
@Autowired
private SingleChatStoreDataHandle singleChatStoreDataHandle;
/**
* 单聊统计 会话数据概览
......@@ -1191,7 +1218,67 @@ public class ChatDataController extends NewBaseController {
@RequestMapping("/export-group-chat-details")
public RestResponse<Object> exportGroupChatDetails(@RequestBody GroupChatChatDetailReq req) {
return RestResponse.successResult();
DownloadTask task = new DownloadTask();
task.setTaskTypeEnum(TaskTypeEnum.WECHAT_WORK_MEMBER_DETAIL);
task.setDataType(req.getDataType());
task.setUser(getUserInfo());
task.setTotalCount(groupChatDetails(req).getResult().getTotalNum());
JSONObject jsonObject = new JSONObject();
req.dealWithParam(jsonObject);
storeAuthUtils.setCommonParam(jsonObject, new StoreGroupCommonQO());
jsonObject.put("apolloKey", "data_mbr_scale_haoban_qw_group_chat_join");
//Excel的标题是字段进行计算
List<String> indexList = new ArrayList<>();
List<String> fieldList = new ArrayList<>();
indexList.add("群名称");
fieldList.add("groupChatName");
indexList.add("群ID");
fieldList.add("groupChatId");
indexList.add("群主姓名");
fieldList.add("staffName");
indexList.add("导购姓名");
fieldList.add("clerkName");
indexList.add("导购code");
fieldList.add("clerkCode");
indexList.add("导购所属门店名称");
fieldList.add("storeName");
indexList.add("导购所属门店code");
fieldList.add("storeCode");
indexList.add("群总人数");
fieldList.add("groupCustNum");
indexList.add("新增群人数");
fieldList.add("newGroupCustNum");
indexList.add("活跃群人数");
fieldList.add("actGroupCustNum");
indexList.add("新退群人数");
fieldList.add("newExitGroupCustNum");
indexList.add("群会话总条数");
fieldList.add("groupSessionsNum");
task.setFileName( "好办群聊统计-群数据明细-" + req.getStartDate() + "_" + req.getEndDate());
task.setChannelName("数据-会话数据-群聊统计");
task.setBucketName(BucketNameEnum.REPORT_50000.getName());
jsonObject.put("indexList", indexList);
jsonObject.put("fieldList", fieldList);
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(null);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
}
......
package com.gic.haoban.manage.web.handle;
import com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.List;
/**
* @author shangfeng
* @date 2024-06-21 11:36:34
*/
@Component
public class GroupChatDetailsHandle extends DownloadHandlerAbstract<GroupChatDetailVO> {
@Override
public List<GroupChatDetailVO> getData(Context context, String s, Integer integer) {
return null;
}
@Override
public List<String> getColumnNames() {
return null;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return null;
}
}
package com.gic.haoban.manage.web.handle;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.List;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public class GroupClerkDataHandle extends DownloadHandlerAbstract<GroupChatClerkVO> {
@Override
public List<GroupChatClerkVO> getData(Context context, String s, Integer integer) {
return null;
}
@Override
public List<String> getColumnNames() {
return null;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return null;
}
}
package com.gic.haoban.manage.web.handle;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.List;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public class GroupDetailsHandle extends DownloadHandlerAbstract<GroupChatDetailVO> {
@Override
public List<GroupChatDetailVO> getData(Context context, String s, Integer integer) {
return null;
}
@Override
public List<String> getColumnNames() {
return null;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return null;
}
}
package com.gic.haoban.manage.web.handle;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.GroupChatExitDetailVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.List;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public class GroupExitHandle extends DownloadHandlerAbstract<GroupChatExitDetailVO> {
@Override
public List<GroupChatExitDetailVO> getData(Context context, String s, Integer integer) {
return null;
}
@Override
public List<String> getColumnNames() {
return null;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return null;
}
}
package com.gic.haoban.manage.web.handle;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.GroupChatJoinDetailVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.List;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public class GroupJoinHandle extends DownloadHandlerAbstract<GroupChatJoinDetailVO> {
@Override
public List<GroupChatJoinDetailVO> getData(Context context, String s, Integer integer) {
return null;
}
@Override
public List<String> getColumnNames() {
return null;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return null;
}
}
package com.gic.haoban.manage.web.handle;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.GroupChatStoreGroupVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.List;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public class GroupStoreDataHandle extends DownloadHandlerAbstract<GroupChatStoreGroupVO> {
@Override
public List<GroupChatStoreGroupVO> getData(Context context, String s, Integer integer) {
return null;
}
@Override
public List<String> getColumnNames() {
return null;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return null;
}
}
package com.gic.haoban.manage.web.handle;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.SingleChatClerkVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.List;
/**
* @author shangfeng
* @date 2024-06-21 11:33:54
*/
@Component
public class SingleChatClerkDataHandle extends DownloadHandlerAbstract<SingleChatClerkVO> {
@Override
public List<SingleChatClerkVO> getData(Context context, String s, Integer integer) {
return null;
}
@Override
public List<String> getColumnNames() {
return null;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return null;
}
}
package com.gic.haoban.manage.web.handle;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.SingleChatDetailVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.List;
/**
* @author shangfeng
* @date 2024-06-21 11:34:23
*/
@Component
public class SingleChatDetailsHandle extends DownloadHandlerAbstract<SingleChatDetailVO> {
@Override
public List<SingleChatDetailVO> getData(Context context, String s, Integer integer) {
return null;
}
@Override
public List<String> getColumnNames() {
return null;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return null;
}
}
package com.gic.haoban.manage.web.handle;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.SingleChatStoreGroupVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.List;
/**
* @author shangfeng
* @date 2024-06-21 11:33:18
*/
@Component
public class SingleChatStoreDataHandle extends DownloadHandlerAbstract<SingleChatStoreGroupVO> {
@Override
public List<SingleChatStoreGroupVO> getData(Context context, String s, Integer integer) {
return null;
}
@Override
public List<String> getColumnNames() {
return null;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return null;
}
}
......@@ -93,4 +93,84 @@ public class GroupChatChatDetailReq implements Serializable {
}
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
public String getVagueQueryGroup() {
return vagueQueryGroup;
}
public void setVagueQueryGroup(String vagueQueryGroup) {
this.vagueQueryGroup = vagueQueryGroup;
}
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
public Integer getOrderByType() {
return orderByType;
}
public void setOrderByType(Integer orderByType) {
this.orderByType = orderByType;
}
public String getOrderByFields() {
return orderByFields;
}
public void setOrderByFields(String orderByFields) {
this.orderByFields = orderByFields;
}
public Integer getPageNum() {
return pageNum;
}
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public Integer getDataType() {
return dataType;
}
public void setDataType(Integer dataType) {
this.dataType = dataType;
}
public String getRequestProject() {
return requestProject;
}
public void setRequestProject(String requestProject) {
this.requestProject = requestProject;
}
}
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