Commit 1de9881f by jinxin

客户群列表数据明细导出

parent a9e8c0e5
...@@ -69,7 +69,19 @@ public class GroupChatDTO implements Serializable { ...@@ -69,7 +69,19 @@ public class GroupChatDTO implements Serializable {
private int hmAddStatus = 1 ; private int hmAddStatus = 1 ;
private String chatRemark ; private String chatRemark ;
private int initFlag ; private int initFlag ;
private String clerkRelationExcel;
public String getClerkRelationExcel() {
if (clerkRelationFlag == 0){
clerkRelationExcel="未关联";
}else {
clerkRelationExcel="已关联";
}
return clerkRelationExcel;
}
public void setClerkRelationExcel(String clerkRelationExcel) {
this.clerkRelationExcel = clerkRelationExcel;
}
public int getInitFlag() { public int getInitFlag() {
return initFlag; return initFlag;
} }
......
package com.gic.haoban.manage.web.controller.chat; package com.gic.haoban.manage.web.controller.chat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List; import java.util.List;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.JSONResponse;
import com.gic.clerk.api.dto.AuthorizedUser;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.ExcelUtils;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.qcloud.BucketNameEnum;
import com.gic.web.common.download.DownloadTask;
import com.gic.web.common.download.DownloadTaskUtil;
import com.gic.web.common.download.constants.TaskTypeEnum;
import com.gic.web.common.utils.SessionContextUtils;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.gic.api.base.commons.BasePageInfo; import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
...@@ -34,6 +49,9 @@ import com.gic.log.record.util.GicLogRecordCategoryEnum; ...@@ -34,6 +49,9 @@ import com.gic.log.record.util.GicLogRecordCategoryEnum;
import com.gic.log.record.util.GicLogRecordEvaluationContext; import com.gic.log.record.util.GicLogRecordEvaluationContext;
import com.gic.log.record.util.GicLogRecordOptTypeEnum; import com.gic.log.record.util.GicLogRecordOptTypeEnum;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/** /**
* *
* @ClassName: GroupChatController * @ClassName: GroupChatController
...@@ -52,6 +70,8 @@ public class GroupChatController { ...@@ -52,6 +70,8 @@ public class GroupChatController {
private GroupChatApiService groupChatApiService; private GroupChatApiService groupChatApiService;
@Autowired @Autowired
private StaffApiService staffApiService; private StaffApiService staffApiService;
@Autowired
private EnterpriseService enterpriseService;
@RequestMapping("get-set-gic-flag") @RequestMapping("get-set-gic-flag")
public RestResponse<Object> getFlag() { public RestResponse<Object> getFlag() {
...@@ -204,5 +224,53 @@ public class GroupChatController { ...@@ -204,5 +224,53 @@ public class GroupChatController {
GicLogRecordEvaluationContext.putOptTargetId(AuthWebRequestUtil.getLoginUser().getClerkId()); GicLogRecordEvaluationContext.putOptTargetId(AuthWebRequestUtil.getLoginUser().getClerkId());
return RestResponse.successResult(resp.getResult()); return RestResponse.successResult(resp.getResult());
} }
/**
* 客户群列表数据明细导出
*/
@RequestMapping("customer-group-export")
@ResponseBody
public RestResponse<Boolean> customerGroupExport(HttpServletRequest request, HttpServletResponse response, GroupChatSearchQDTO qdto) {
// 登录校验
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())) {
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()), HaoBanErrCode.ERR_4.getMsg());
}
String sortColumn = qdto.getSortColumn();
if (StringUtils.isBlank(sortColumn)) {
sortColumn = null;
} else if ("totalCount".equals(sortColumn)) {
sortColumn = "total_count";
} else if ("totalMemberCount".equals(sortColumn)) {
sortColumn = "total_member_count";
} else if ("addMemberCount".equals(sortColumn)) {
sortColumn = "add_member_count";
} else if ("addCount".equals(sortColumn)) {
sortColumn = "add_count";
} else if ("quitCount".equals(sortColumn)) {
sortColumn = "quit_count";
} else if ("quitMemberCount".equals(sortColumn)) {
sortColumn = "quit_member_count";
}
BasePageInfo basePageInfo = new BasePageInfo() ;
basePageInfo.setPageNum(qdto.getPageNum());
basePageInfo.setPageSize(qdto.getPageSize());
qdto.setSortColumn(sortColumn);
qdto.setWxEnterpriseId(loginUser.getWxEnterpriseId());
qdto.setEnterpriseId(loginUser.getEnterpriseId());
ServiceResponse<Page<GroupChatDTO>> page = this.groupChatApiService.listPage(qdto, basePageInfo);
if (page.isSuccess() && CollUtil.isNotEmpty(page.getResult().getResult())){
String fileName = "客户群列表数据";
List<String> titleList = Arrays.asList("客户群ID", "客户群名称", "群人数", "群客户数", "新增总数", "流失总数","群主","群主在好办小程序关联状态","创建时间");
List<String> fileList = Arrays.asList("groupChatId", "name", "totalCount", "totalMemberCount", "addCount", "quitCount", "staffName", "clerkRelationExcel", "createTime");
try {
ExcelUtils.xls(response, request, fileName, page.getResult().getResult(), fileList, titleList);
} catch (Exception e) {
e.printStackTrace();
logger.info("导出失败");
}
return RestResponse.successResult(true);
}
return RestResponse.successResult(false);
}
} }
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