Commit 9c6142af by 徐高华

Merge branch '202406_chat_data' into 'master'

群聊统计

See merge request !2019
parents 9dcd3190 5d3d0597
......@@ -3,12 +3,19 @@ package com.gic.haoban.manage.web.controller;
import com.gic.api.base.commons.Page;
import com.gic.clerk.api.dto.AuthorizedUser;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.dto.PowerClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.clerk.api.service.PowerService;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.api.dto.EnterpriseSettingDTO;
import com.gic.enterprise.api.dto.StoreWidgetDTO;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.enterprise.api.service.StoreWidgetService;
import com.gic.haoban.manage.web.vo.ClerkListVO;
import com.gic.web.common.utils.SessionContextUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -17,16 +24,26 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.Objects;
@Controller
public class UserController{
public class UserController {
private static final Logger LOGGER = LogManager.getLogger(UserController.class);
@Autowired
private ClerkService clerkService;
@Autowired
private EnterpriseService enterpriseService;
@Autowired
private StoreWidgetService storeWidgetService;
@Autowired
private PowerService powerService;
@RequestMapping("list-user-by-search-name")
@ResponseBody
public RestResponse listUserBySearchName(String searchName, Integer pageNum, Integer pageSize) {
......@@ -46,4 +63,29 @@ public class UserController{
}
return RestResponse.successResult(result);
}
@RequestMapping("get-user-store-power")
@ResponseBody
public RestResponse<Integer> getUserStorePower() {
AuthorizedUser user = SessionContextUtils.getLoginUser();
EnterpriseSettingDTO setting = enterpriseService.getEnterpriseSettingByEnterpriseId(user.getEnterpriseId());
if (Objects.isNull(setting.getEnableAccessControl()) || setting.getEnableAccessControl() != 1) {
return RestResponse.successResult(0);
}
PowerClerkDTO clerkDetail = powerService.getClerkDetail(user.getUserId());
if(Objects.isNull(clerkDetail)){
return RestResponse.failure("999","用户不存在");
}
// 空,代表超管
if(StringUtils.isEmpty(clerkDetail.getStoreWidgetId())){
return RestResponse.successResult(0);
}
StoreWidgetDTO storeWidget = storeWidgetService.getStoreWidgetBykey(clerkDetail.getStoreWidgetId());
return RestResponse.successResult(storeWidget.getSelectType());
}
}
package com.gic.haoban.manage.web.handle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.DataApiUtils;
import com.gic.enterprise.api.dto.security.DownloadReportDTO;
import com.gic.haoban.manage.web.vo.chat.GroupChatChatDetailVO;
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 com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-21 11:36:34
*/
@Component
public class GroupChatDetailsHandle extends DownloadHandlerAbstract<GroupChatChatDetailVO> {
private static final Logger LOGGER = LogManager.getLogger(GroupChatDetailsHandle.class);
@Override
public List<GroupChatChatDetailVO> getData(Context context, String searchDataParams, Integer currentPage) {
JSONObject jsonObject = JSON.parseObject(searchDataParams);
jsonObject.put("pageNum", currentPage);
jsonObject.put("pageSize", getPageSize());
Map<String, Object> res = DataApiUtils.http(jsonObject.toJSONString(), "data_mbr_scale_haoban_qw_group_chat_con_detail");
List<JSONObject> list = DataApiUtils.getPageList(res);
jsonObject.put("groupType", 1);
jsonObject.put("storeGroup", 8);
if (list == null) {
list = new ArrayList<>();
}
if (CollectionUtils.isNotEmpty(list)) {
List<GroupChatChatDetailVO> result = JSONObject.parseArray(JSON.toJSONString(list), GroupChatChatDetailVO.class);
return result;
}
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames() {
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("indexList");
return list;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return Lists.newArrayList();
}
@Override
public List<String> getColumns(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("fieldList");
return list;
}
}
package com.gic.haoban.manage.web.handle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.DataApiUtils;
import com.gic.enterprise.api.dto.security.DownloadReportDTO;
import com.gic.haoban.manage.web.vo.chat.GroupChatChatDetailVO;
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 com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public class GroupClerkDataHandle extends DownloadHandlerAbstract<GroupChatClerkVO> {
private static final Logger LOGGER = LogManager.getLogger(GroupClerkDataHandle.class);
@Override
public List<GroupChatClerkVO> getData(Context context, String searchDataParams, Integer currentPage) {
JSONObject jsonObject = JSON.parseObject(searchDataParams);
jsonObject.put("pageNum", currentPage);
jsonObject.put("pageSize", getPageSize());
Map<String, Object> res = DataApiUtils.http(jsonObject.toJSONString(), "data_mbr_scale_haoban_qw_group_chat_count");
List<JSONObject> list = DataApiUtils.getPageList(res);
jsonObject.put("groupType", 1);
jsonObject.put("storeGroup", 8);
if (list == null) {
list = new ArrayList<>();
}
if (CollectionUtils.isNotEmpty(list)) {
List<GroupChatClerkVO> result = JSONObject.parseArray(JSON.toJSONString(list), GroupChatClerkVO.class);
return result;
}
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames() {
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("indexList");
return list;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return Lists.newArrayList();
}
@Override
public List<String> getColumns(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("fieldList");
return list;
}
}
package com.gic.haoban.manage.web.handle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.DataApiUtils;
import com.gic.enterprise.api.dto.security.DownloadReportDTO;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO;
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 com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public class GroupDetailsHandle extends DownloadHandlerAbstract<GroupChatDetailVO> {
private static final Logger LOGGER = LogManager.getLogger(GroupDetailsHandle.class);
@Override
public List<GroupChatDetailVO> getData(Context context, String searchDataParams, Integer currentPage) {
JSONObject jsonObject = JSON.parseObject(searchDataParams);
jsonObject.put("pageNum", currentPage);
jsonObject.put("pageSize", getPageSize());
Map<String, Object> res = DataApiUtils.http(jsonObject.toJSONString(), "data_mbr_scale_haoban_qw_group_chat_detail");
List<JSONObject> list = DataApiUtils.getPageList(res);
if (list == null) {
list = new ArrayList<>();
}
if (CollectionUtils.isNotEmpty(list)) {
List<GroupChatDetailVO> result = JSONObject.parseArray(JSON.toJSONString(list), GroupChatDetailVO.class);
return result;
}
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames() {
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("indexList");
return list;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return Lists.newArrayList();
}
@Override
public List<String> getColumns(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("fieldList");
return list;
}
}
package com.gic.haoban.manage.web.handle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.DataApiUtils;
import com.gic.enterprise.api.dto.security.DownloadReportDTO;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO;
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 com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public class GroupExitHandle extends DownloadHandlerAbstract<GroupChatExitDetailVO> {
private static final Logger LOGGER = LogManager.getLogger(GroupExitHandle.class);
@Override
public List<GroupChatExitDetailVO> getData(Context context, String searchDataParams, Integer currentPage) {
JSONObject jsonObject = JSON.parseObject(searchDataParams);
jsonObject.put("pageNum", currentPage);
jsonObject.put("pageSize", getPageSize());
Map<String, Object> res = DataApiUtils.http(jsonObject.toJSONString(), "data_mbr_scale_haoban_qw_group_chat_exit");
List<JSONObject> list = DataApiUtils.getPageList(res);
jsonObject.put("groupType", 1);
jsonObject.put("storeGroup", 8);
if (list == null) {
list = new ArrayList<>();
}
if (CollectionUtils.isNotEmpty(list)) {
List<GroupChatExitDetailVO> result = JSONObject.parseArray(JSON.toJSONString(list), GroupChatExitDetailVO.class);
return result;
}
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames() {
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("indexList");
return list;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return Lists.newArrayList();
}
@Override
public List<String> getColumns(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("fieldList");
return list;
}
}
package com.gic.haoban.manage.web.handle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.DataApiUtils;
import com.gic.enterprise.api.dto.security.DownloadReportDTO;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO;
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 com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public class GroupJoinHandle extends DownloadHandlerAbstract<GroupChatJoinDetailVO> {
private static final Logger LOGGER = LogManager.getLogger(GroupJoinHandle.class);
@Override
public List<GroupChatJoinDetailVO> getData(Context context, String searchDataParams, Integer currentPage) {
JSONObject jsonObject = JSON.parseObject(searchDataParams);
jsonObject.put("pageNum", currentPage);
jsonObject.put("pageSize", getPageSize());
Map<String, Object> res = DataApiUtils.http(jsonObject.toJSONString(), "data_mbr_scale_haoban_qw_group_chat_join");
List<JSONObject> list = DataApiUtils.getPageList(res);
if (list == null) {
list = new ArrayList<>();
}
if (CollectionUtils.isNotEmpty(list)) {
List<GroupChatJoinDetailVO> result = JSONObject.parseArray(JSON.toJSONString(list), GroupChatJoinDetailVO.class);
result.forEach(groupChatJoinDetailVO -> {
if (StringUtils.isNotEmpty(groupChatJoinDetailVO.getUserType())) {
groupChatJoinDetailVO.setUserType(getUserTypeDesc(groupChatJoinDetailVO.getUserType()));
}
if (StringUtils.isNotEmpty(groupChatJoinDetailVO.getJoinScene())) {
groupChatJoinDetailVO.setJoinScene(getJoinSceneDesc(groupChatJoinDetailVO.getJoinScene()));
}
});
return result;
}
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames() {
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("indexList");
return list;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return Lists.newArrayList();
}
@Override
public List<String> getColumns(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("fieldList");
return list;
}
private String getUserTypeDesc(String userType) {
switch (userType) {
case "1":
return "内部成员";
case "2":
return "外部成员";
case "3":
return "客户";
default:
return "";
}
}
private String getJoinSceneDesc(String userType) {
switch (userType) {
case "1":
return "群成员直接邀请入群";
case "2":
return "群成员邀请链接入群";
case "3":
return "通过扫描群二维码入群";
default:
return "";
}
}
}
package com.gic.haoban.manage.web.handle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.DataApiUtils;
import com.gic.enterprise.api.dto.security.DownloadReportDTO;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO;
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 com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public class GroupStoreDataHandle extends DownloadHandlerAbstract<GroupChatStoreGroupVO> {
private static final Logger LOGGER = LogManager.getLogger(GroupStoreDataHandle.class);
@Override
public List<GroupChatStoreGroupVO> getData(Context context, String searchDataParams, Integer currentPage) {
boolean isFirst = currentPage != null && currentPage == 1;
if (isFirst) {
LOGGER.info("好办单聊统计-门店维度-导出日志");
}
JSONObject jsonObject = JSON.parseObject(searchDataParams);
jsonObject.put("pageNum", currentPage);
jsonObject.put("pageSize", getPageSize());
Map<String, Object> res = DataApiUtils.http(jsonObject.toJSONString(), "data_mbr_scale_haoban_qw_group_chat_count");
List<JSONObject> list = DataApiUtils.getPageList(res);
jsonObject.put("groupType", 1);
jsonObject.put("storeGroup", 8);
if (list == null) {
list = new ArrayList<>();
}
if (isFirst) {
Map<String, Object> totalRes = DataApiUtils.http(jsonObject.toJSONString(), "data_mbr_scale_haoban_qw_group_chat_count");
Page page = DataApiUtils.getPageData(totalRes);
if (page != null) {
List<JSONObject> totalList = page.getResult();
if (CollectionUtils.isNotEmpty(totalList)) {
JSONObject total = totalList.get(0);
total.put("clerkName", "合计(" + page.getTotalCount() + ")");
list.add(0, total);
}
}
}
if (CollectionUtils.isNotEmpty(list)) {
List<GroupChatStoreGroupVO> result = JSONObject.parseArray(JSON.toJSONString(list), GroupChatStoreGroupVO.class);
return result;
}
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames() {
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("indexList");
return list;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return Lists.newArrayList();
}
@Override
public List<String> getColumns(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("fieldList");
return list;
}
}
package com.gic.haoban.manage.web.handle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.enterprise.api.dto.security.DownloadReportDTO;
import com.gic.haoban.manage.web.utils.data.StoreAuthUtils;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.SingleChatClerkVO;
import com.gic.haoban.manage.web.vo.wechatwork.WechatWorkLostStoreGroupVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
/**
* @author shangfeng
* @date 2024-06-21 11:33:54
*/
@Component
public class SingleChatClerkDataHandle extends DownloadHandlerAbstract<SingleChatClerkVO> {
private static final Logger LOGGER = LogManager.getLogger(WechatWorkLostStoreGroupHandle.class);
@Autowired
private StoreAuthUtils storeAuthUtils;
@Override
public List<SingleChatClerkVO> getData(Context context, String searchDataParams, Integer currentPage) {
List<JSONObject> list = storeAuthUtils.getDataCommon(searchDataParams, currentPage,
"好办单聊统计-导购维度-导出日志", getPageSize(), false).getRows();
if (CollectionUtils.isNotEmpty(list)) {
List<SingleChatClerkVO> result = JSONObject.parseArray(JSON.toJSONString(list), SingleChatClerkVO.class);
return result;
}
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames() {
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames(Context context){
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("indexList");
return list;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return Lists.newArrayList();
}
@Override
public List<String> getColumns(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("fieldList");
return list;
}
}
package com.gic.haoban.manage.web.handle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.commons.util.DataApiUtils;
import com.gic.enterprise.api.dto.security.DownloadReportDTO;
import com.gic.haoban.manage.web.utils.data.StoreAuthUtils;
import com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO;
import com.gic.haoban.manage.web.vo.chat.SingleChatDetailVO;
import com.gic.haoban.manage.web.vo.wechatwork.WechatWorkLostDetailVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-21 11:34:23
*/
@Component
public class SingleChatDetailsHandle extends DownloadHandlerAbstract<SingleChatDetailVO> {
private static final Logger LOGGER = LogManager.getLogger(SingleChatDetailsHandle.class);
@Autowired
private StoreAuthUtils storeAuthUtils;
@Override
public List<SingleChatDetailVO> getData(Context context, String searchDataParams, Integer currentPage) {
JSONObject jsonObject = JSON.parseObject(searchDataParams);
jsonObject.put("pageNum", currentPage);
jsonObject.put("pageSize", getPageSize());
Map<String, Object> res = DataApiUtils.http(jsonObject.toJSONString(), "data_mbr_scale_haoban_qw_chat_detail");
List<JSONObject> list = DataApiUtils.getPageList(res);
if (CollectionUtils.isNotEmpty(list)) {
List<SingleChatDetailVO> result = JSONObject.parseArray(JSON.toJSONString(list), SingleChatDetailVO.class);
return result;
}
return Collections.EMPTY_LIST;
}
@Override
public List<String> getColumnNames() {
return Collections.EMPTY_LIST;
}
@Override
public List<String> getColumnNames(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("indexList");
return list;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return Collections.EMPTY_LIST;
}
@Override
public List<String> getColumns(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("fieldList");
return list;
}
}
package com.gic.haoban.manage.web.handle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.DataApiUtils;
import com.gic.enterprise.api.dto.security.DownloadReportDTO;
import com.gic.haoban.manage.web.vo.chat.SingleChatStoreGroupVO;
import com.gic.haoban.manage.web.vo.wechatwork.WechatWorkLostClerkVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
import java.util.*;
/**
* @author shangfeng
* @date 2024-06-21 11:33:18
*/
@Component
public class SingleChatStoreDataHandle extends DownloadHandlerAbstract<SingleChatStoreGroupVO> {
private static final Logger LOGGER = LogManager.getLogger(SingleChatStoreDataHandle.class);
@Override
public List<SingleChatStoreGroupVO> getData(Context context, String searchDataParams, Integer currentPage) {
boolean isFirst = currentPage != null && currentPage == 1;
if (isFirst) {
LOGGER.info("好办单聊统计-门店维度-导出日志");
}
JSONObject jsonObject = JSON.parseObject(searchDataParams);
jsonObject.put("pageNum", currentPage);
jsonObject.put("pageSize", getPageSize());
Map<String, Object> res = DataApiUtils.http(jsonObject.toJSONString(), "data_mbr_scale_haoban_qw_chat_count");
List<JSONObject> list = DataApiUtils.getPageList(res);
jsonObject.put("groupType", 1);
jsonObject.put("storeGroup", 8);
if (list == null) {
list = new ArrayList<>();
}
if (isFirst) {
Map<String, Object> totalRes = DataApiUtils.http(jsonObject.toJSONString(), "data_mbr_scale_haoban_qw_chat_count");
Page page = DataApiUtils.getPageData(totalRes);
if (page != null) {
List<JSONObject> totalList = page.getResult();
if (CollectionUtils.isNotEmpty(totalList)) {
JSONObject total = totalList.get(0);
total.put("clerkName", "合计(" + page.getTotalCount() + ")");
list.add(0, total);
}
}
}
if (CollectionUtils.isNotEmpty(list)) {
List<SingleChatStoreGroupVO> result = JSONObject.parseArray(JSON.toJSONString(list), SingleChatStoreGroupVO.class);
return result;
}
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames() {
return Lists.newArrayList();
}
@Override
public List<String> getColumnNames(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("indexList");
return list;
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return Lists.newArrayList();
}
@Override
public List<String> getColumns(Context context) {
DownloadReportDTO downloadReportDTO = context.getDownloadReportDTO();
String searchDataParams = downloadReportDTO.getSearchDataParams();
JSONObject jsonObject = JSONObject.parseObject(searchDataParams);
List<String> list = (List<String>) jsonObject.get("fieldList");
return list;
}
}
package com.gic.haoban.manage.web.qo.chat;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-20 16:02:41
*/
public class GroupChatChatDetailReq implements Serializable {
private static final long serialVersionUID = -6843739232435242253L;
/**
* yyyy-MM-dd
*/
private String startDate;
/**
* yyyy-MM-dd
*/
private String endDate;
/**
* 导购模糊查询
*/
private String vagueQueryClerk;
/**
* 用户模糊查询
*/
private String vagueQueryUser;
/**
* 用户身份
*/
private String userType;
/**
* 消息类型
* 1文本2图片3视频4小程序5链接6gif表情7红包8文件9位置10名片11视频电话12语音电话
*/
private String msgType;
/**
* 排序类型 1 正序 2 倒序
*/
private Integer orderByType;
/**
* 排序字段名称
*/
private String orderByFields;
private Integer pageNum;
private Integer pageSize;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private Integer dataType = 1;
/**
* 下载导出参数:为了兼容前端传参
*/
private String requestProject;
public Integer getDataApiOrderField() {
Map<String, Integer> map = new HashMap<>(4);
map.put("joinTime", 1);
return map.get(orderByFields) == null ? 1 : map.get(orderByFields);
}
public void dealWithParam(JSONObject jsonObject) {
if (jsonObject == null) {
jsonObject = new JSONObject();
}
if (StringUtils.isNotBlank(startDate)) {
jsonObject.put("startDate", startDate);
}
if (StringUtils.isNotBlank(endDate)) {
jsonObject.put("endDate", endDate);
}
if (orderByType != null) {
jsonObject.put("orderByType", orderByType);
}
if (msgType != null) {
jsonObject.put("msgType", msgType);
}
if (orderByFields != null) {
jsonObject.put("orderByFields", getDataApiOrderField());
}
jsonObject.put("pageNum", pageNum);
jsonObject.put("pageSize", pageSize);
if (StringUtils.isNotBlank(vagueQueryClerk)) {
jsonObject.put("vagueQueryClerk", vagueQueryClerk);
}
if (StringUtils.isNotBlank(vagueQueryUser)) {
jsonObject.put("vagueQueryUser", vagueQueryUser);
jsonObject.put("phoneNum", vagueQueryUser);
}
if (StringUtils.isNotBlank(userType)) {
jsonObject.put("userType", userType);
}
}
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 getVagueQueryClerk() {
return vagueQueryClerk;
}
public void setVagueQueryClerk(String vagueQueryClerk) {
this.vagueQueryClerk = vagueQueryClerk;
}
public String getVagueQueryUser() {
return vagueQueryUser;
}
public void setVagueQueryUser(String vagueQueryUser) {
this.vagueQueryUser = vagueQueryUser;
}
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 getMsgType() {
return msgType;
}
public void setMsgType(String msgType) {
this.msgType = msgType;
}
public String getRequestProject() {
return requestProject;
}
public void setRequestProject(String requestProject) {
this.requestProject = requestProject;
}
}
package com.gic.haoban.manage.web.qo.chat;
import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.manage.web.qo.wechatwork.StoreGroupCommonQO;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-20 13:58:17
*/
public class GroupChatClerkReq implements Serializable {
private static final long serialVersionUID = 1280733007919174215L;
/**
* yyyy-MM-dd
*/
private String startDate;
/**
* yyyy-MM-dd
*/
private String endDate;
/**
* 门店名称/code
*/
private String vagueQueryStore;
/**
* 导购名称/code
*/
private String vagueQueryClerk;
/**
* 排序类型 1 正序 2 倒序
*/
private Integer orderByType;
/**
* 排序字段名称
*/
private String orderByFields;
private Integer pageNum;
private Integer pageSize;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private Integer dataType = 1;
/**
* 下载导出参数:为了兼容前端传参
*/
private String requestProject;
public Integer getDataApiOrderField() {
Map<String, Integer> map = new HashMap<>(8);
map.put("onewayFriendNum", 1);
map.put("totalLostNum", 2);
map.put("deleteSalesNum", 3);
map.put("salesDeleteNum", 4);
return map.get(orderByFields) == null ? 1 : map.get(orderByFields);
}
public void dealWithParam(JSONObject jsonObject) {
if (jsonObject == null) {
jsonObject = new JSONObject();
}
if (StringUtils.isNotBlank(startDate)) {
jsonObject.put("startDate", startDate);
}
if (StringUtils.isNotBlank(endDate)) {
jsonObject.put("endDate", endDate);
}
if (orderByType != null) {
jsonObject.put("orderByType", orderByType);
}
if (orderByFields != null) {
jsonObject.put("orderByFields", getDataApiOrderField());
}
jsonObject.put("pageNum", pageNum);
jsonObject.put("pageSize", pageSize);
if (StringUtils.isNotBlank(vagueQueryClerk)) {
jsonObject.put("vagueQueryClerk", vagueQueryClerk);
}
if (StringUtils.isNotBlank(vagueQueryStore)) {
jsonObject.put("vagueQueryStore", vagueQueryStore);
}
}
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 getVagueQueryStore() {
return vagueQueryStore;
}
public void setVagueQueryStore(String vagueQueryStore) {
this.vagueQueryStore = vagueQueryStore;
}
public String getVagueQueryClerk() {
return vagueQueryClerk;
}
public void setVagueQueryClerk(String vagueQueryClerk) {
this.vagueQueryClerk = vagueQueryClerk;
}
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;
}
}
package com.gic.haoban.manage.web.qo.chat;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-20 14:30:30
*/
public class GroupChatDetailReq implements Serializable {
private static final long serialVersionUID = -7059200818173428309L;
/**
* yyyy-MM-dd
*/
private String startDate;
/**
* yyyy-MM-dd
*/
private String endDate;
/**
* 门店模糊
*/
private String vagueQueryStore;
/**
* 导购名称/code
*/
private String vagueQueryClerk;
/**
* 成员模糊
*/
private String vagueQueryStaff;
/**
* 排序类型 1 正序 2 倒序
*/
private Integer orderByType;
/**
* 排序字段名称
*/
private String orderByFields;
private Integer pageNum;
private Integer pageSize;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private Integer dataType = 1;
/**
* 下载导出参数:为了兼容前端传参
*/
private String requestProject;
public Integer getDataApiOrderField() {
Map<String, Integer> map = new HashMap<>(8);
map.put("groupCustNum", 1);
map.put("newGroupCustNum", 2);
map.put("actGroupCustNum", 3);
map.put("newExitGroupCustNum", 4);
map.put("groupSessionsNum", 5);
return map.get(orderByFields) == null ? 1 : map.get(orderByFields);
}
public void dealWithParam(JSONObject jsonObject) {
if (jsonObject == null) {
jsonObject = new JSONObject();
}
if (StringUtils.isNotBlank(startDate)) {
jsonObject.put("startDate", startDate);
}
if (StringUtils.isNotBlank(endDate)) {
jsonObject.put("endDate", endDate);
}
if (orderByType != null) {
jsonObject.put("orderByType", orderByType);
}
if (orderByFields != null) {
jsonObject.put("orderByFields", getDataApiOrderField());
}
jsonObject.put("pageNum", pageNum);
jsonObject.put("pageSize", pageSize);
if (StringUtils.isNotBlank(vagueQueryClerk)) {
jsonObject.put("vagueQueryClerk", vagueQueryClerk);
}
if (StringUtils.isNotBlank(vagueQueryStore)) {
jsonObject.put("vagueQueryStore", vagueQueryStore);
}
if (StringUtils.isNotBlank(vagueQueryStaff)) {
jsonObject.put("vagueQueryStaff", vagueQueryStaff);
}
}
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 getVagueQueryStore() {
return vagueQueryStore;
}
public void setVagueQueryStore(String vagueQueryStore) {
this.vagueQueryStore = vagueQueryStore;
}
public String getVagueQueryClerk() {
return vagueQueryClerk;
}
public void setVagueQueryClerk(String vagueQueryClerk) {
this.vagueQueryClerk = vagueQueryClerk;
}
public String getVagueQueryStaff() {
return vagueQueryStaff;
}
public void setVagueQueryStaff(String vagueQueryStaff) {
this.vagueQueryStaff = vagueQueryStaff;
}
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;
}
}
package com.gic.haoban.manage.web.qo.chat;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-20 16:01:33
*/
public class GroupChatExitDetailReq implements Serializable {
private static final long serialVersionUID = -7061919686854969449L;
/**
* yyyy-MM-dd
*/
private String startDate;
/**
* yyyy-MM-dd
*/
private String endDate;
/**
* 群查询模糊
*/
private String vagueQueryGroup;
/**
* 用户身份
*/
private String userType;
/**
* 排序类型 1 正序 2 倒序
*/
private Integer orderByType;
/**
* 排序字段名称
*/
private String orderByFields;
private Integer pageNum;
private Integer pageSize;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private Integer dataType = 1;
/**
* 下载导出参数:为了兼容前端传参
*/
private String requestProject;
public Integer getDataApiOrderField() {
Map<String, Integer> map = new HashMap<>(4);
map.put("userQuitTime", 1);
return map.get(orderByFields) == null ? 1 : map.get(orderByFields);
}
public void dealWithParam(JSONObject jsonObject) {
if (jsonObject == null) {
jsonObject = new JSONObject();
}
if (StringUtils.isNotBlank(startDate)) {
jsonObject.put("startDate", startDate);
}
if (StringUtils.isNotBlank(endDate)) {
jsonObject.put("endDate", endDate);
}
if (orderByType != null) {
jsonObject.put("orderByType", orderByType);
}
if (orderByFields != null) {
jsonObject.put("orderByFields", getDataApiOrderField());
}
jsonObject.put("pageNum", pageNum);
jsonObject.put("pageSize", pageSize);
if (StringUtils.isNotBlank(vagueQueryGroup)) {
jsonObject.put("vagueQueryGroup", vagueQueryGroup);
}
if (StringUtils.isNotBlank(userType)) {
jsonObject.put("userType", userType);
}
}
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;
}
}
package com.gic.haoban.manage.web.qo.chat;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-20 15:56:45
*/
public class GroupChatJoinDetailReq implements Serializable {
private static final long serialVersionUID = 7925103932910960454L;
/**
* yyyy-MM-dd
*/
private String startDate;
/**
* yyyy-MM-dd
*/
private String endDate;
/**
* 群查询模糊
*/
private String vagueQueryGroup;
/**
* 用户身份
*/
private String userType;
/**
* 入群方式
*/
private String joinScene;
/**
* 排序类型 1 正序 2 倒序
*/
private Integer orderByType;
/**
* 排序字段名称
*/
private String orderByFields;
private Integer pageNum;
private Integer pageSize;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private Integer dataType = 1;
/**
* 下载导出参数:为了兼容前端传参
*/
private String requestProject;
public Integer getDataApiOrderField() {
Map<String, Integer> map = new HashMap<>(4);
map.put("joinTime", 1);
return map.get(orderByFields) == null ? 1 : map.get(orderByFields);
}
public void dealWithParam(JSONObject jsonObject) {
if (jsonObject == null) {
jsonObject = new JSONObject();
}
if (StringUtils.isNotBlank(startDate)) {
jsonObject.put("startDate", startDate);
}
if (StringUtils.isNotBlank(endDate)) {
jsonObject.put("endDate", endDate);
}
if (orderByType != null) {
jsonObject.put("orderByType", orderByType);
}
if (orderByFields != null) {
jsonObject.put("orderByFields", getDataApiOrderField());
}
jsonObject.put("pageNum", pageNum);
jsonObject.put("pageSize", pageSize);
if (StringUtils.isNotBlank(vagueQueryGroup)) {
jsonObject.put("vagueQueryGroup", vagueQueryGroup);
}
if (StringUtils.isNotBlank(userType)) {
jsonObject.put("userType", userType);
}
if (StringUtils.isNotBlank(joinScene)) {
jsonObject.put("joinScene", joinScene);
}
}
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 String getJoinScene() {
return joinScene;
}
public void setJoinScene(String joinScene) {
this.joinScene = joinScene;
}
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;
}
}
package com.gic.haoban.manage.web.qo.chat;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-06-20 13:40:12
*/
public class GroupChatOverviewReq implements Serializable {
private static final long serialVersionUID = -4434065817211771929L;
/**
* yyyy-MM-dd
*/
private String startDate;
/**
* yyyy-MM-dd
*/
private String endDate;
/**
* 分组ID,支持多选,英文逗号隔开
*/
private String storeGroupId;
/**
* 数据分组类型
*/
private Integer groupType;
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 getStoreGroupId() {
return storeGroupId;
}
public void setStoreGroupId(String storeGroupId) {
this.storeGroupId = storeGroupId;
}
public Integer getGroupType() {
return groupType;
}
public void setGroupType(Integer groupType) {
this.groupType = groupType;
}
}
package com.gic.haoban.manage.web.qo.chat;
import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.manage.web.qo.wechatwork.StoreGroupCommonQO;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-20 13:57:57
*/
public class GroupChatStoreGroupReq extends StoreGroupCommonQO implements Serializable {
private static final long serialVersionUID = -174199242296091966L;
/**
* 开始日期, 非日类型的时候。根据数据组api文档
*/
private String startDate;
/**
* 结束日期, 非日类型的时候。根据数据组api文档
*/
private String endDate;
/**
* 排序类型 1 正序 2 倒序
*/
private Integer orderByType;
/**
* 排序字段名称
*/
private String orderByFields;
private Integer pageNum;
private Integer pageSize;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private Integer dataType = 1;
/**
* 下载导出参数:为了兼容前端传参
*/
private String requestProject;
public Integer getDataApiOrderField() {
Map<String, Integer> map = new HashMap<>(8);
map.put("onewayFriendNum", 1);
map.put("totalLostNum", 2);
map.put("deleteSalesNum", 3);
map.put("salesDeleteNum", 4);
return map.get(orderByFields) == null ? 1 : map.get(orderByFields);
}
public void dealWithParam(JSONObject jsonObject) {
if (jsonObject == null) {
jsonObject = new JSONObject();
}
if (StringUtils.isNotBlank(startDate)) {
jsonObject.put("startDate", startDate);
}
if (StringUtils.isNotBlank(endDate)) {
jsonObject.put("endDate", endDate);
}
if (orderByType != null) {
jsonObject.put("orderByType", orderByType);
}
if (orderByFields != null) {
jsonObject.put("orderByFields", getDataApiOrderField());
}
jsonObject.put("pageNum", pageNum);
jsonObject.put("pageSize", pageSize);
}
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 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;
}
}
package com.gic.haoban.manage.web.qo.chat;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-20 10:24:21
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class SingleChatClerkReq implements Serializable {
private static final long serialVersionUID = 2524730645905160886L;
/**
* yyyy-MM-dd
*/
private String startDate;
/**
* yyyy-MM-dd
*/
private String endDate;
/**
* 门店名称/code
*/
private String vagueQueryStore;
/**
* 导购名称/code
*/
private String vagueQueryClerk;
/**
* 排序类型 1 正序 2 倒序
*/
private Integer orderByType;
/**
* 排序字段名称
*/
private String orderByFields;
/**
* 当前页
*/
private Integer pageNum;
/**
* 每页条数
*/
private Integer pageSize;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private Integer dataType = 1;
/**
* 下载导出参数:为了兼容前端传参
*/
private String requestProject;
public Integer getDataApiOrderField() {
Map<String, Integer> map = new HashMap<>(16);
map.put("activeSessionsNum", 1);
map.put("custSessionsNum", 2);
map.put("replySessionsNum", 3);
map.put("replySessionsPrport", 4);
map.put("averageFirstReplyTime", 5);
map.put("sessionsCustNum", 6);
map.put("launchSessionsCustNum", 7);
map.put("launchSessionsSalesNum", 8);
map.put("sendNewsNum", 9);
return map.get(orderByFields) == null ? 1 : map.get(orderByFields);
}
public void dealWithParam(JSONObject jsonObject) {
if (jsonObject == null) {
jsonObject = new JSONObject();
}
if (StringUtils.isNotBlank(startDate)) {
jsonObject.put("startDate", startDate);
}
if (StringUtils.isNotBlank(endDate)) {
jsonObject.put("endDate", endDate);
}
if (orderByType != null) {
jsonObject.put("orderByType", orderByType);
}
if (orderByFields != null) {
jsonObject.put("orderByFields", getDataApiOrderField());
}
jsonObject.put("pageNum", pageNum);
jsonObject.put("pageSize", pageSize);
if (StringUtils.isNotBlank(vagueQueryClerk)) {
jsonObject.put("vagueQueryClerk", vagueQueryClerk);
}
if (StringUtils.isNotBlank(vagueQueryStore)) {
jsonObject.put("vagueQueryStore", vagueQueryStore);
}
}
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 getVagueQueryStore() {
return vagueQueryStore;
}
public void setVagueQueryStore(String vagueQueryStore) {
this.vagueQueryStore = vagueQueryStore;
}
public String getVagueQueryClerk() {
return vagueQueryClerk;
}
public void setVagueQueryClerk(String vagueQueryClerk) {
this.vagueQueryClerk = vagueQueryClerk;
}
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;
}
}
package com.gic.haoban.manage.web.qo.chat;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-20 10:44:55
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class SingleChatDetailReq implements Serializable {
private static final long serialVersionUID = -1939493530776069432L;
/**
* yyyy-MM-dd
*/
private String startDate;
/**
* yyyy-MM-dd
*/
private String endDate;
/**
* 用户模糊
*/
private String vagueQueryUser;
/**
* 导购名称/code
*/
private String vagueQueryClerk;
/**
* 发送人类型 1导购2客户
*/
private String sendType;
/**
* 消息类型 1文本2图片3视频4小程序
*/
private Integer msgType;
/**
* 会话内容
*/
private String content;
/**
* 排序类型 1 正序 2 倒序
*/
private Integer orderByType;
/**
* 排序字段名称
*/
private String orderByFields;
private Integer pageNum;
private Integer pageSize;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private Integer dataType = 1;
/**
* 下载导出参数:为了兼容前端传参
*/
private String requestProject;
public Integer getDataApiOrderField() {
Map<String, Integer> map = new HashMap<>(4);
map.put("sendTime", 1);
return map.get(orderByFields) == null ? 1 : map.get(orderByFields);
}
public void dealWithParam(JSONObject jsonObject) {
if (jsonObject == null) {
jsonObject = new JSONObject();
}
if (StringUtils.isNotBlank(startDate)) {
jsonObject.put("startDate", startDate);
}
if (StringUtils.isNotBlank(endDate)) {
jsonObject.put("endDate", endDate);
}
if (orderByType != null) {
jsonObject.put("orderByType", orderByType);
}
if (orderByFields != null) {
jsonObject.put("orderByFields", getDataApiOrderField());
}
jsonObject.put("pageNum", pageNum);
jsonObject.put("pageSize", pageSize);
if (StringUtils.isNotBlank(vagueQueryClerk)) {
jsonObject.put("vagueQueryClerk", vagueQueryClerk);
}
if (StringUtils.isNotBlank(content)) {
jsonObject.put("content", content);
}
if (StringUtils.isNotBlank(vagueQueryUser)) {
jsonObject.put("vagueQueryUser", vagueQueryUser);
jsonObject.put("phoneNum", vagueQueryUser);
}
if (sendType != null) {
jsonObject.put("sendType", sendType);
}
if (msgType != null) {
jsonObject.put("msgType", msgType);
}
}
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 getVagueQueryUser() {
return vagueQueryUser;
}
public void setVagueQueryUser(String vagueQueryUser) {
this.vagueQueryUser = vagueQueryUser;
}
public String getVagueQueryClerk() {
return vagueQueryClerk;
}
public void setVagueQueryClerk(String vagueQueryClerk) {
this.vagueQueryClerk = vagueQueryClerk;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
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;
}
public String getSendType() {
return sendType;
}
public void setSendType(String sendType) {
this.sendType = sendType;
}
public Integer getMsgType() {
return msgType;
}
public void setMsgType(Integer msgType) {
this.msgType = msgType;
}
}
package com.gic.haoban.manage.web.qo.chat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-06-19 11:06:40
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class SingleChatOverviewReq implements Serializable {
private static final long serialVersionUID = 6628775927884408876L;
/**
* yyyy-MM-dd
*/
private String startDate;
/**
* yyyy-MM-dd
*/
private String endDate;
/**
* 分组ID,支持多选,英文逗号隔开
*/
private String storeGroupId;
/**
* 数据分组类型
*/
private Integer groupType;
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 getStoreGroupId() {
return storeGroupId;
}
public void setStoreGroupId(String storeGroupId) {
this.storeGroupId = storeGroupId;
}
public Integer getGroupType() {
return groupType;
}
public void setGroupType(Integer groupType) {
this.groupType = groupType;
}
}
package com.gic.haoban.manage.web.qo.chat;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.gic.haoban.manage.web.qo.wechatwork.StoreGroupCommonQO;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-20 09:53:54
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class SingleChatStoreGroupReq extends StoreGroupCommonQO implements Serializable {
private static final long serialVersionUID = 5973921876566495620L;
/**
* 开始日期, 非日类型的时候。根据数据组api文档
*/
private String startDate;
/**
* 结束日期, 非日类型的时候。根据数据组api文档
*/
private String endDate;
/**
* 排序类型 1 正序 2 倒序
*/
private Integer orderByType;
/**
* 排序字段名称
*/
private String orderByFields;
private Integer pageNum;
private Integer pageSize;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private Integer dataType = 1;
/**
* 下载导出参数:为了兼容前端传参
*/
private String requestProject;
/**
*
* @return
*/
public Integer getDataApiOrderField() {
Map<String, Integer> map = new HashMap<>(16);
map.put("activeSessionsNum", 1);
map.put("custSessionsNum", 2);
map.put("replySessionsNum", 3);
map.put("replySessionsPrport", 4);
map.put("averageFirstReplyTime", 5);
map.put("sessionsCustNum", 6);
map.put("launchSessionsCustNum", 7);
map.put("launchSessionsSalesNum", 8);
map.put("sendNewsNum", 9);
map.put("entWechatFdNum", 10);
return map.get(orderByFields) == null ? 1 : map.get(orderByFields);
}
public void dealWithParam(JSONObject jsonObject) {
if (jsonObject == null) {
jsonObject = new JSONObject();
}
if (StringUtils.isNotBlank(startDate)) {
jsonObject.put("startDate", startDate);
}
if (StringUtils.isNotBlank(endDate)) {
jsonObject.put("endDate", endDate);
}
if (orderByType != null) {
jsonObject.put("orderByType", orderByType);
}
if (orderByFields != null) {
jsonObject.put("orderByFields", getDataApiOrderField());
}
jsonObject.put("pageNum", pageNum);
jsonObject.put("pageSize", pageSize);
}
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 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;
}
}
......@@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
* @Author guojx
......@@ -48,6 +49,11 @@ public class WechatWorkLostDetailQO implements Serializable {
*/
private String deleteType;
/**
* 删除说明0手动删除 1系统删除
*/
private Integer delType;
/**
* 排序类型 1 正序 2 倒序
......@@ -110,5 +116,8 @@ public class WechatWorkLostDetailQO implements Serializable {
if (StringUtils.isNotBlank(deleteType)) {
jsonObject.put("deleteType", deleteType);
}
if (Objects.nonNull(delType)) {
jsonObject.put("delType", delType);
}
}
}
package com.gic.haoban.manage.web.vo.chat;
import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author shangfeng
* @date 2024-06-20 16:03:57
*/
public class GroupChatChatDetailVO extends StoreGroupCommonVO implements Serializable {
private static final long serialVersionUID = -8013607702711027033L;
/**
* 会员id
*/
private String memberId;
/**
* 会员昵称
*/
private String memberNick;
/**
* 客户姓名
*/
private String memberName;
/**
* 客户手机号
*/
private String memberPhone;
/**
* 群id
*/
private String groupChatId;
/**
* 群名称
*/
private String groupChatName;
/**
* 群主id
*/
private String staffId;
/**
* 群主code
*/
private String staffCode;
/**
* 群主名称
*/
private String staffName;
/**
* 导购id
*/
private String clerkId;
/**
* 导购名称
*/
private String clerkName;
/**
* 导购code
*/
private String clerkCode;
/**
* 会话发送人身份
*/
private String userType;
/**
* 会话内容
*/
private String content;
/**
* 会话时间
*/
private String sendTime;
/**
* 会话类型
*/
private String msgType;
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getMemberNick() {
return memberNick;
}
public void setMemberNick(String memberNick) {
this.memberNick = memberNick;
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName;
}
public String getMemberPhone() {
return memberPhone;
}
public void setMemberPhone(String memberPhone) {
this.memberPhone = memberPhone;
}
public String getGroupChatId() {
return groupChatId;
}
public void setGroupChatId(String groupChatId) {
this.groupChatId = groupChatId;
}
public String getGroupChatName() {
return groupChatName;
}
public void setGroupChatName(String groupChatName) {
this.groupChatName = groupChatName;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getStaffCode() {
return staffCode;
}
public void setStaffCode(String staffCode) {
this.staffCode = staffCode;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getClerkName() {
return clerkName;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getSendTime() {
return sendTime;
}
public void setSendTime(String sendTime) {
this.sendTime = sendTime;
}
public String getMsgType() {
return msgType;
}
public void setMsgType(String msgType) {
this.msgType = msgType;
}
}
package com.gic.haoban.manage.web.vo.chat;
import com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-06-20 13:55:47
*/
public class GroupChatClerkVO extends StoreGroupCommonVO implements Serializable {
private static final long serialVersionUID = -7251786348392290369L;
/**
* 群总数
*/
private Integer groupNum = 0;
/**
* 新增群数
*/
private Integer newGroupNum = 0;
/**
* 活跃群数
*/
private Integer actGroupNum = 0;
/**
* 群总人数
*/
private Integer groupCustNum = 0;
/**
* 新增群人数
*/
private Integer newGroupCustNum = 0;
/**
* 活跃群人数
*/
private Integer actGroupCustNum = 0;
/**
* 新退群人数
*/
private Integer newExitGroupCustNum = 0;
/**
* 群会话总条数
*/
private Integer groupSessionsNum = 0;
/**
* 导购code
*/
private String clerkCode;
/**
* 导购名称
*/
private String clerkName;
/**
* 导购id
*/
private String clerkId;
/**
* 企微账号名称
*/
private String staffName;
/**
* 企微账号code
*/
private String staffCode;
public Integer getGroupNum() {
return groupNum;
}
public void setGroupNum(Integer groupNum) {
this.groupNum = groupNum;
}
public Integer getNewGroupNum() {
return newGroupNum;
}
public void setNewGroupNum(Integer newGroupNum) {
this.newGroupNum = newGroupNum;
}
public Integer getActGroupNum() {
return actGroupNum;
}
public void setActGroupNum(Integer actGroupNum) {
this.actGroupNum = actGroupNum;
}
public Integer getGroupCustNum() {
return groupCustNum;
}
public void setGroupCustNum(Integer groupCustNum) {
this.groupCustNum = groupCustNum;
}
public Integer getNewGroupCustNum() {
return newGroupCustNum;
}
public void setNewGroupCustNum(Integer newGroupCustNum) {
this.newGroupCustNum = newGroupCustNum;
}
public Integer getActGroupCustNum() {
return actGroupCustNum;
}
public void setActGroupCustNum(Integer actGroupCustNum) {
this.actGroupCustNum = actGroupCustNum;
}
public Integer getNewExitGroupCustNum() {
return newExitGroupCustNum;
}
public void setNewExitGroupCustNum(Integer newExitGroupCustNum) {
this.newExitGroupCustNum = newExitGroupCustNum;
}
public Integer getGroupSessionsNum() {
return groupSessionsNum;
}
public void setGroupSessionsNum(Integer groupSessionsNum) {
this.groupSessionsNum = groupSessionsNum;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public String getClerkName() {
return clerkName;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getStaffCode() {
return staffCode;
}
public void setStaffCode(String staffCode) {
this.staffCode = staffCode;
}
}
package com.gic.haoban.manage.web.vo.chat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO;
import com.gic.web.common.jsonSeralizer.PhoneNumberJsonSeralizer;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-06-20 14:27:35
*/
public class GroupChatDetailVO extends StoreGroupCommonVO implements Serializable {
private static final long serialVersionUID = 6167364456793806166L;
/**
* 群id
*/
private String groupChatId;
/**
* 群名称
*/
private String groupChatName;
/**
* 群主id
*/
private String staffId;
/**
* 群主code
*/
private String staffCode;
/**
* 群主名称
*/
private String staffName;
/**
* 导购id
*/
private String clerkId;
/**
* 导购名称
*/
private String clerkName;
/**
* 导购code
*/
private String clerkCode;
/**
* 群总人数
*/
private Integer groupCustNum;
/**
* 新增群人数
*/
private Integer newGroupCustNum;
/**
* 活跃群人数
*/
private Integer actGroupCustNum;
/**
* 新退群人数
*/
private Integer newExitGroupCustNum;
/**
* 群会话总条数
*/
private Integer groupSessionsNum;
public String getGroupChatId() {
return groupChatId;
}
public void setGroupChatId(String groupChatId) {
this.groupChatId = groupChatId;
}
public String getGroupChatName() {
return groupChatName;
}
public void setGroupChatName(String groupChatName) {
this.groupChatName = groupChatName;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getStaffCode() {
return staffCode;
}
public void setStaffCode(String staffCode) {
this.staffCode = staffCode;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getClerkName() {
return clerkName;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public Integer getGroupCustNum() {
return groupCustNum;
}
public void setGroupCustNum(Integer groupCustNum) {
this.groupCustNum = groupCustNum;
}
public Integer getNewGroupCustNum() {
return newGroupCustNum;
}
public void setNewGroupCustNum(Integer newGroupCustNum) {
this.newGroupCustNum = newGroupCustNum;
}
public Integer getActGroupCustNum() {
return actGroupCustNum;
}
public void setActGroupCustNum(Integer actGroupCustNum) {
this.actGroupCustNum = actGroupCustNum;
}
public Integer getNewExitGroupCustNum() {
return newExitGroupCustNum;
}
public void setNewExitGroupCustNum(Integer newExitGroupCustNum) {
this.newExitGroupCustNum = newExitGroupCustNum;
}
public Integer getGroupSessionsNum() {
return groupSessionsNum;
}
public void setGroupSessionsNum(Integer groupSessionsNum) {
this.groupSessionsNum = groupSessionsNum;
}
}
package com.gic.haoban.manage.web.vo.chat;
import com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-06-20 16:03:46
*/
public class GroupChatExitDetailVO extends StoreGroupCommonVO implements Serializable {
private static final long serialVersionUID = 3086597285873607576L;
/**
* 会员id
*/
private String memberId;
/**
* 会员昵称
*/
private String memberNick;
/**
* 会员名称
*/
private String memberName;
/**
* 会员手机号
*/
private String memberNumber;
/**
* 用户身份
*/
private String userType ;
/**
* 群id
*/
private String groupChatId;
/**
* 群名称
*/
private String groupChatName;
/**
* 群主id
*/
private String staffId;
/**
* 群主名称
*/
private String staffName;
/**
* 群主code
*/
private String staffCode;
/**
* 导购id
*/
private String clerkId;
/**
* 导购code
*/
private String clerkCode;
/**
* 导购名称
*/
private String clerkName;
/**
* 退群时间
*/
private String userQuitTime;
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getMemberNick() {
return memberNick;
}
public void setMemberNick(String memberNick) {
this.memberNick = memberNick;
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName;
}
public String getMemberNumber() {
return memberNumber;
}
public void setMemberNumber(String memberNumber) {
this.memberNumber = memberNumber;
}
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
public String getGroupChatId() {
return groupChatId;
}
public void setGroupChatId(String groupChatId) {
this.groupChatId = groupChatId;
}
public String getGroupChatName() {
return groupChatName;
}
public void setGroupChatName(String groupChatName) {
this.groupChatName = groupChatName;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getStaffCode() {
return staffCode;
}
public void setStaffCode(String staffCode) {
this.staffCode = staffCode;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public String getClerkName() {
return clerkName;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getUserQuitTime() {
return userQuitTime;
}
public void setUserQuitTime(String userQuitTime) {
this.userQuitTime = userQuitTime;
}
}
package com.gic.haoban.manage.web.vo.chat;
import com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-06-20 16:03:31
*/
public class GroupChatJoinDetailVO extends StoreGroupCommonVO implements Serializable {
private static final long serialVersionUID = 5410221192890222543L;
/**
* 会员id
*/
private String memberId;
/**
* 会员昵称
*/
private String memberNick;
/**
* 会员名称
*/
private String memberName;
/**
* 会员手机号
*/
private String memberNumber;
/**
* 用户身份
*/
private String userType ;
/**
* 群id
*/
private String groupChatId;
/**
* 群名称
*/
private String groupChatName;
/**
* 群主id
*/
private String staffId;
/**
* 群主名称
*/
private String staffName;
/**
* 群主code
*/
private String staffCode;
/**
* 导购id
*/
private String clerkId;
/**
* 导购code
*/
private String clerkCode;
/**
* 导购名称
*/
private String clerkName;
/**
* 入群方式
*/
private String joinScene;
/**
* 邀请人名称
*/
private String invitorUserName;
/**
* 入群时间
*/
private String joinTime;
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getMemberNick() {
return memberNick;
}
public void setMemberNick(String memberNick) {
this.memberNick = memberNick;
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName;
}
public String getMemberNumber() {
return memberNumber;
}
public void setMemberNumber(String memberNumber) {
this.memberNumber = memberNumber;
}
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
public String getGroupChatId() {
return groupChatId;
}
public void setGroupChatId(String groupChatId) {
this.groupChatId = groupChatId;
}
public String getGroupChatName() {
return groupChatName;
}
public void setGroupChatName(String groupChatName) {
this.groupChatName = groupChatName;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getStaffCode() {
return staffCode;
}
public void setStaffCode(String staffCode) {
this.staffCode = staffCode;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public String getClerkName() {
return clerkName;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getJoinScene() {
return joinScene;
}
public void setJoinScene(String joinScene) {
this.joinScene = joinScene;
}
public String getInvitorUserName() {
return invitorUserName;
}
public void setInvitorUserName(String invitorUserName) {
this.invitorUserName = invitorUserName;
}
public String getJoinTime() {
return joinTime;
}
public void setJoinTime(String joinTime) {
this.joinTime = joinTime;
}
}
package com.gic.haoban.manage.web.vo.chat;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-06-20 13:41:17
*/
public class GroupChatOverviewVO implements Serializable {
private static final long serialVersionUID = 8289805630011759477L;
/**
* 群总数
*/
private Integer groupNum = 0;
/**
* 新增群数
*/
private Integer newGroupNum = 0;
/**
* 活跃群数
*/
private Integer actGroupNum = 0;
/**
* 群总人数
*/
private Integer groupCustNum = 0;
/**
* 新增群人数
*/
private Integer newGroupCustNum = 0;
/**
* 活跃群人数
*/
private Integer actGroupCustNum = 0;
/**
* 新退群人数
*/
private Integer newExitGroupCustNum = 0;
/**
* 群会话总条数
*/
private Integer groupSessionsNum = 0;
/**
* 日期
*/
private String bizDate;
public Integer getGroupNum() {
return groupNum;
}
public void setGroupNum(Integer groupNum) {
this.groupNum = groupNum;
}
public Integer getNewGroupNum() {
return newGroupNum;
}
public void setNewGroupNum(Integer newGroupNum) {
this.newGroupNum = newGroupNum;
}
public Integer getActGroupNum() {
return actGroupNum;
}
public void setActGroupNum(Integer actGroupNum) {
this.actGroupNum = actGroupNum;
}
public Integer getGroupCustNum() {
return groupCustNum;
}
public void setGroupCustNum(Integer groupCustNum) {
this.groupCustNum = groupCustNum;
}
public Integer getNewGroupCustNum() {
return newGroupCustNum;
}
public void setNewGroupCustNum(Integer newGroupCustNum) {
this.newGroupCustNum = newGroupCustNum;
}
public Integer getActGroupCustNum() {
return actGroupCustNum;
}
public void setActGroupCustNum(Integer actGroupCustNum) {
this.actGroupCustNum = actGroupCustNum;
}
public Integer getNewExitGroupCustNum() {
return newExitGroupCustNum;
}
public void setNewExitGroupCustNum(Integer newExitGroupCustNum) {
this.newExitGroupCustNum = newExitGroupCustNum;
}
public Integer getGroupSessionsNum() {
return groupSessionsNum;
}
public void setGroupSessionsNum(Integer groupSessionsNum) {
this.groupSessionsNum = groupSessionsNum;
}
public String getBizDate() {
return bizDate;
}
public void setBizDate(String bizDate) {
this.bizDate = bizDate;
}
}
package com.gic.haoban.manage.web.vo.chat;
import com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-06-20 13:55:27
*/
public class GroupChatStoreGroupVO extends StoreGroupCommonVO implements Serializable {
private static final long serialVersionUID = 348999797310245659L;
/**
* 群总数
*/
private Integer groupNum = 0;
/**
* 新增群数
*/
private Integer newGroupNum = 0;
/**
* 活跃群数
*/
private Integer actGroupNum = 0;
/**
* 群总人数
*/
private Integer groupCustNum = 0;
/**
* 新增群人数
*/
private Integer newGroupCustNum = 0;
/**
* 活跃群人数
*/
private Integer actGroupCustNum = 0;
/**
* 新退群人数
*/
private Integer newExitGroupCustNum = 0;
/**
* 群会话总条数
*/
private Integer groupSessionsNum = 0;
public Integer getGroupNum() {
return groupNum;
}
public void setGroupNum(Integer groupNum) {
this.groupNum = groupNum;
}
public Integer getNewGroupNum() {
return newGroupNum;
}
public void setNewGroupNum(Integer newGroupNum) {
this.newGroupNum = newGroupNum;
}
public Integer getActGroupNum() {
return actGroupNum;
}
public void setActGroupNum(Integer actGroupNum) {
this.actGroupNum = actGroupNum;
}
public Integer getGroupCustNum() {
return groupCustNum;
}
public void setGroupCustNum(Integer groupCustNum) {
this.groupCustNum = groupCustNum;
}
public Integer getNewGroupCustNum() {
return newGroupCustNum;
}
public void setNewGroupCustNum(Integer newGroupCustNum) {
this.newGroupCustNum = newGroupCustNum;
}
public Integer getActGroupCustNum() {
return actGroupCustNum;
}
public void setActGroupCustNum(Integer actGroupCustNum) {
this.actGroupCustNum = actGroupCustNum;
}
public Integer getNewExitGroupCustNum() {
return newExitGroupCustNum;
}
public void setNewExitGroupCustNum(Integer newExitGroupCustNum) {
this.newExitGroupCustNum = newExitGroupCustNum;
}
public Integer getGroupSessionsNum() {
return groupSessionsNum;
}
public void setGroupSessionsNum(Integer groupSessionsNum) {
this.groupSessionsNum = groupSessionsNum;
}
}
package com.gic.haoban.manage.web.vo.chat;
import com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-06-20 10:00:02
*/
public class SingleChatClerkVO extends StoreGroupCommonVO implements Serializable {
private static final long serialVersionUID = 8091108492990062103L;
/**
* 主动会话数
*/
private Integer activeSessionsNum = 0;
/**
* 客户发起会话数
*/
private Integer custSessionsNum = 0;
/**
* 已回复会话数
*/
private Integer replySessionsNum = 0;
/**
* 已回复会话占比
*/
private Integer replySessionsPrport = 0;
/**
* 平均首次回复时长
*/
private Integer averageFirstReplyTime = 0;
/**
* 企微好友数
*/
private Integer entWechatFdNum = 0;
/**
* 会话总客户数
*/
private Integer sessionsCustNum = 0;
/**
* 发起会话客户数
*/
private Integer launchSessionsCustNum = 0;
/**
* 发起会话导购数
*/
private Integer launchSessionsSalesNum = 0;
/**
* 发送消息数
*/
private Integer sendNewsNum = 0;
/**
* 导购code
*/
private String clerkCode;
/**
* 导购姓名
*/
private String clerkName;
/**
* 导购id
*/
private String clerkId;
public Integer getActiveSessionsNum() {
return activeSessionsNum;
}
public void setActiveSessionsNum(Integer activeSessionsNum) {
this.activeSessionsNum = activeSessionsNum;
}
public Integer getCustSessionsNum() {
return custSessionsNum;
}
public void setCustSessionsNum(Integer custSessionsNum) {
this.custSessionsNum = custSessionsNum;
}
public Integer getReplySessionsNum() {
return replySessionsNum;
}
public void setReplySessionsNum(Integer replySessionsNum) {
this.replySessionsNum = replySessionsNum;
}
public Integer getReplySessionsPrport() {
return replySessionsPrport;
}
public void setReplySessionsPrport(Integer replySessionsPrport) {
this.replySessionsPrport = replySessionsPrport;
}
public Integer getAverageFirstReplyTime() {
return averageFirstReplyTime;
}
public void setAverageFirstReplyTime(Integer averageFirstReplyTime) {
this.averageFirstReplyTime = averageFirstReplyTime;
}
public Integer getEntWechatFdNum() {
return entWechatFdNum;
}
public void setEntWechatFdNum(Integer entWechatFdNum) {
this.entWechatFdNum = entWechatFdNum;
}
public Integer getSessionsCustNum() {
return sessionsCustNum;
}
public void setSessionsCustNum(Integer sessionsCustNum) {
this.sessionsCustNum = sessionsCustNum;
}
public Integer getLaunchSessionsCustNum() {
return launchSessionsCustNum;
}
public void setLaunchSessionsCustNum(Integer launchSessionsCustNum) {
this.launchSessionsCustNum = launchSessionsCustNum;
}
public Integer getLaunchSessionsSalesNum() {
return launchSessionsSalesNum;
}
public void setLaunchSessionsSalesNum(Integer launchSessionsSalesNum) {
this.launchSessionsSalesNum = launchSessionsSalesNum;
}
public Integer getSendNewsNum() {
return sendNewsNum;
}
public void setSendNewsNum(Integer sendNewsNum) {
this.sendNewsNum = sendNewsNum;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public String getClerkName() {
return clerkName;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
}
package com.gic.haoban.manage.web.vo.chat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO;
import com.gic.web.common.jsonSeralizer.PhoneNumberJsonSeralizer;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-06-20 10:47:30
*/
public class SingleChatDetailVO extends StoreGroupCommonVO implements Serializable {
private static final long serialVersionUID = 8863833833069049386L;
/**
* 会员id
*/
private String memberId;
/**
* 客户姓名
*/
private String memberName;
/**
* 会员昵称
*/
private String memberNick;
/**
* 客户手机号
*/
@JsonSerialize(using = PhoneNumberJsonSeralizer.class)
private String memberPhone;
/**
* 导购id
*/
private String clerkId;
/**
* 导购名称
*/
private String clerkName;
/**
* 导购code
*/
private String clerkCode;
/**
* 员工id
*/
private String staffId;
/**
* 员工名称
*/
private String staffName;
/**
* 员工code
*/
private String staffCode;
/**
* 会话发送人
*/
private String sendType;
/**
* 会话内容
*/
private String content;
/**
* 会话类型
*/
private String msgType;
/**
* 会话时间
*/
private String sendTime;
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName;
}
public String getMemberNick() {
return memberNick;
}
public void setMemberNick(String memberNick) {
this.memberNick = memberNick;
}
public String getMemberPhone() {
return memberPhone;
}
public void setMemberPhone(String memberPhone) {
this.memberPhone = memberPhone;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getClerkName() {
return clerkName;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getStaffCode() {
return staffCode;
}
public void setStaffCode(String staffCode) {
this.staffCode = staffCode;
}
public String getSendType() {
return sendType;
}
public void setSendType(String sendType) {
this.sendType = sendType;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getMsgType() {
return msgType;
}
public void setMsgType(String msgType) {
this.msgType = msgType;
}
public String getSendTime() {
return sendTime;
}
public void setSendTime(String sendTime) {
this.sendTime = sendTime;
}
}
package com.gic.haoban.manage.web.vo.chat;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-06-19 11:10:32
*/
public class SingleChatOverviewVO implements Serializable {
private static final long serialVersionUID = -4576679591727859467L;
/**
* 主动会话数
*/
private Integer activeSessionsNum = 0;
/**
* 客户发起会话数
*/
private Integer custSessionsNum = 0;
/**
* 已回复会话数
*/
private Integer replySessionsNum = 0;
/**
* 已回复会话占比
*/
private Integer replySessionsPrport = 0;
/**
* 平均首次回复时长
*/
private Integer averageFirstReplyTime = 0;
/**
* 企微好友数
*/
private Integer entWechatFdNum = 0;
/**
* 会话总客户数
*/
private Integer sessionsCustNum = 0;
/**
* 发起会话客户数
*/
private Integer launchSessionsCustNum = 0;
/**
* 发起会话导购数
*/
private Integer launchSessionsSalesNum = 0;
/**
* 发送消息数
*/
private Integer sendNewsNum = 0;
/**
* 日期
*/
private String bizDate;
public Integer getActiveSessionsNum() {
return activeSessionsNum;
}
public void setActiveSessionsNum(Integer activeSessionsNum) {
this.activeSessionsNum = activeSessionsNum;
}
public Integer getCustSessionsNum() {
return custSessionsNum;
}
public void setCustSessionsNum(Integer custSessionsNum) {
this.custSessionsNum = custSessionsNum;
}
public Integer getReplySessionsNum() {
return replySessionsNum;
}
public void setReplySessionsNum(Integer replySessionsNum) {
this.replySessionsNum = replySessionsNum;
}
public Integer getReplySessionsPrport() {
return replySessionsPrport;
}
public void setReplySessionsPrport(Integer replySessionsPrport) {
this.replySessionsPrport = replySessionsPrport;
}
public Integer getAverageFirstReplyTime() {
return averageFirstReplyTime;
}
public void setAverageFirstReplyTime(Integer averageFirstReplyTime) {
this.averageFirstReplyTime = averageFirstReplyTime;
}
public Integer getEntWechatFdNum() {
return entWechatFdNum;
}
public void setEntWechatFdNum(Integer entWechatFdNum) {
this.entWechatFdNum = entWechatFdNum;
}
public Integer getSessionsCustNum() {
return sessionsCustNum;
}
public void setSessionsCustNum(Integer sessionsCustNum) {
this.sessionsCustNum = sessionsCustNum;
}
public Integer getLaunchSessionsCustNum() {
return launchSessionsCustNum;
}
public void setLaunchSessionsCustNum(Integer launchSessionsCustNum) {
this.launchSessionsCustNum = launchSessionsCustNum;
}
public Integer getLaunchSessionsSalesNum() {
return launchSessionsSalesNum;
}
public void setLaunchSessionsSalesNum(Integer launchSessionsSalesNum) {
this.launchSessionsSalesNum = launchSessionsSalesNum;
}
public Integer getSendNewsNum() {
return sendNewsNum;
}
public void setSendNewsNum(Integer sendNewsNum) {
this.sendNewsNum = sendNewsNum;
}
public String getBizDate() {
return bizDate;
}
public void setBizDate(String bizDate) {
this.bizDate = bizDate;
}
}
package com.gic.haoban.manage.web.vo.chat;
import com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO;
import java.io.Serializable;
/**
* @author shangfeng
* @date 2024-06-20 10:00:02
*/
public class SingleChatStoreGroupVO extends StoreGroupCommonVO implements Serializable {
private static final long serialVersionUID = -6232468846408236671L;
/**
* 主动会话数
*/
private Integer activeSessionsNum = 0;
/**
* 客户发起会话数
*/
private Integer custSessionsNum = 0;
/**
* 已回复会话数
*/
private Integer replySessionsNum = 0;
/**
* 已回复会话占比
*/
private Integer replySessionsPrport = 0;
/**
* 平均首次回复时长
*/
private Integer averageFirstReplyTime = 0;
/**
* 企微好友数
*/
private Integer entWechatFdNum = 0;
/**
* 会话总客户数
*/
private Integer sessionsCustNum = 0;
/**
* 发起会话客户数
*/
private Integer launchSessionsCustNum = 0;
/**
* 发起会话导购数
*/
private Integer launchSessionsSalesNum = 0;
/**
* 发送消息数
*/
private Integer sendNewsNum = 0;
public Integer getActiveSessionsNum() {
return activeSessionsNum;
}
public void setActiveSessionsNum(Integer activeSessionsNum) {
this.activeSessionsNum = activeSessionsNum;
}
public Integer getCustSessionsNum() {
return custSessionsNum;
}
public void setCustSessionsNum(Integer custSessionsNum) {
this.custSessionsNum = custSessionsNum;
}
public Integer getReplySessionsNum() {
return replySessionsNum;
}
public void setReplySessionsNum(Integer replySessionsNum) {
this.replySessionsNum = replySessionsNum;
}
public Integer getReplySessionsPrport() {
return replySessionsPrport;
}
public void setReplySessionsPrport(Integer replySessionsPrport) {
this.replySessionsPrport = replySessionsPrport;
}
public Integer getAverageFirstReplyTime() {
return averageFirstReplyTime;
}
public void setAverageFirstReplyTime(Integer averageFirstReplyTime) {
this.averageFirstReplyTime = averageFirstReplyTime;
}
public Integer getEntWechatFdNum() {
return entWechatFdNum;
}
public void setEntWechatFdNum(Integer entWechatFdNum) {
this.entWechatFdNum = entWechatFdNum;
}
public Integer getSessionsCustNum() {
return sessionsCustNum;
}
public void setSessionsCustNum(Integer sessionsCustNum) {
this.sessionsCustNum = sessionsCustNum;
}
public Integer getLaunchSessionsCustNum() {
return launchSessionsCustNum;
}
public void setLaunchSessionsCustNum(Integer launchSessionsCustNum) {
this.launchSessionsCustNum = launchSessionsCustNum;
}
public Integer getLaunchSessionsSalesNum() {
return launchSessionsSalesNum;
}
public void setLaunchSessionsSalesNum(Integer launchSessionsSalesNum) {
this.launchSessionsSalesNum = launchSessionsSalesNum;
}
public Integer getSendNewsNum() {
return sendNewsNum;
}
public void setSendNewsNum(Integer sendNewsNum) {
this.sendNewsNum = sendNewsNum;
}
}
......@@ -51,6 +51,11 @@ public class WechatWorkLostDetailVO extends StoreGroupCommonVO implements Serial
private String clerkId;
/**
* 删除说明0手动删除 1系统删除
*/
private String delType;
/**
* 客户姓名
*/
@JsonSerialize(using = UserNameJsonSeralizer.class)
......
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