Commit 554969a2 by 徐高华

Merge branch 'feature/社群' into 'developer'

Feature/社群

See merge request !651
parents c50fd9d5 b3b2d9a9
......@@ -56,16 +56,36 @@ public class GroupChatDTO implements Serializable {
private String staffName;
private String staffImage;
private String originalStaffId;
private String originalStaffName ;
private String originalStaffName;
private Date offTime;
// 1已关联导购 0未关联导购
private int clerkRelationFlag = 0;
private int openConcatFlag = 0;
// 群主未激活、开通联系我说明
private String ownerRemark;
// 群主所有群能加到活码标识1可以0不可以
private int ownerAddFlag = 1;
public String getOwnerRemark() {
return ownerRemark;
}
public String getOriginalStaffName() {
return originalStaffName;
}
public int getOwnerAddFlag() {
return ownerAddFlag;
}
public void setOwnerRemark(String ownerRemark) {
this.ownerRemark = ownerRemark;
}
public void setOwnerAddFlag(int ownerAddFlag) {
this.ownerAddFlag = ownerAddFlag;
}
public void setOriginalStaffName(String originalStaffName) {
this.originalStaffName = originalStaffName;
}
......
......@@ -27,7 +27,17 @@ public class GroupChatSearchQDTO implements Serializable {
private String sortType = "desc" ;
// 群列表页需要显示未关联gic商户的
private boolean chatPageFlag = false ;
// 0全部 1未满200 2已满200
private Integer hmAddStatus ;
public Integer getHmAddStatus() {
return hmAddStatus;
}
public void setHmAddStatus(Integer hmAddStatus) {
this.hmAddStatus = hmAddStatus;
}
public boolean isChatPageFlag() {
return chatPageFlag;
}
......
......@@ -92,7 +92,18 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
@Override
public void discard(Long chatHmId, String wxEnterpriseId, String clerkId, String clerkName) {
TabGroupChatHm hm = this.groupChatHmMapper.selectById(chatHmId);
this.groupChatHmMapper.discard(chatHmId, wxEnterpriseId, clerkId, clerkName);
if (StringUtils.isNotBlank(hm.getWxConfigId())) {
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId,
SecretTypeEnum.CUSTOMIZED_APP.getVal());
if (null != secretSetting) {
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
ServiceResponse<Void> resp = this.qywxChatApiService.delJoinWay(qwDTO.getDkCorpid(),
secretSetting.getSecretVal(), hm.getWxConfigId());
logger.info("删除群活码={}", JSON.toJSON(resp));
}
}
}
@Override
......@@ -280,7 +291,11 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
}
if (CollectionUtils.isNotEmpty(relationList)) {
this.groupChatHmRelationMapper.insertBatch(relationList);
// 更新群的企业id到活码的企业ID
logger.info("自动更新群关联的GIC企业ID,eid={},addIdList={}", hm.getEnterpriseId(), addIdList);
this.groupChatMapper.updateChatEnterpriseId(wxEnterpriseId, hm.getEnterpriseId(), addIdList);
}
} else {
ServiceResponse<String> addResp = this.qywxChatApiService.addJoinWay(qwDTO.getDkCorpid(),
secretSetting.getSecretVal(), joinDTO);
......
......@@ -27,8 +27,10 @@ import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.GICMQClientUtil;
import com.gic.commons.util.PageHelperUtils;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.dubbo.entity.ProviderLocalTag;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.common.utils.DingUtils;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanLogDTO;
......@@ -175,6 +177,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
@Override
public void doPlan(Long planId) {
logger.info("开始群群发发送{}", planId);
DingUtils.send("开始群群发发送,planId=" + planId + ",tranceid=" + ProviderLocalTag.tag.get().traceId, false);
TabGroupChatPlan plan = this.groupChatPlanMapper.selectById(planId);
if (null == plan) {
logger.info("计划不存在,planid={}", planId);
......@@ -190,36 +193,44 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
String chatContent = plan.getChatContent();
JSONArray jsonArr = JSONArray.parseArray(chatContent);
List<String> madidList = new ArrayList<>();
GroupChatPlanSearchQDTO qdto = new GroupChatPlanSearchQDTO();
qdto.setWxEnterpriseId(wxEnterpriseId);
BasePageInfo basePageInfo = new BasePageInfo();
basePageInfo.setPageNum(1);
// todo
basePageInfo.setPageSize(1000);
Page<GroupChatPlanOwnerLogDTO> page = this.groupChatPlanOwnerLogService.listPage(planId, qdto, basePageInfo);
for (int i = 0; i < jsonArr.size(); i++) {
JSONObject json = jsonArr.getJSONObject(i);
madidList.add(json.getString("relation_id"));
}
List<GroupChatPlanOwnerLogDTO> ownerList = page.getResult();
for (GroupChatPlanOwnerLogDTO dto : ownerList) {
String staffId = dto.getStaffId();
ServiceResponse<String> sendResp = qywxSendService.sendChatMessage(wxEnterpriseId, staffId, madidList);
TabGroupChatPlanOwnerLog ownerLog = EntityUtil.changeEntityByJSON(TabGroupChatPlanOwnerLog.class, dto);
if (sendResp.isSuccess()) {
String msgid = sendResp.getResult();
ownerLog.setMsgid(msgid);
ownerLog.setSendStatus(2);
} else {
ownerLog.setRemark(sendResp.getMessage());
ownerLog.setSendStatus(0);
int currentPage = 1;
GroupChatPlanSearchQDTO qdto = new GroupChatPlanSearchQDTO();
qdto.setWxEnterpriseId(wxEnterpriseId);
BasePageInfo basePageInfo = new BasePageInfo();
basePageInfo.setPageNum(currentPage);
basePageInfo.setPageSize(1);
Page<GroupChatPlanOwnerLogDTO> page = this.groupChatPlanOwnerLogService.listPage(planId, qdto, basePageInfo);
while (page.getTotalPage() >= currentPage) {
if (currentPage > 1) {
basePageInfo.setPageNum(currentPage);
page = this.groupChatPlanOwnerLogService.listPage(planId, qdto, basePageInfo);
}
ownerLog.setWxEnterpriseId(wxEnterpriseId);
this.groupChatPlanOwnerLogService.update(ownerLog);
// 代办
if (StringUtils.isNotBlank(ownerLog.getClerkId())) {
this.savePendTask(dto, plan);
currentPage++;
List<GroupChatPlanOwnerLogDTO> ownerList = page.getResult();
for (GroupChatPlanOwnerLogDTO dto : ownerList) {
String staffId = dto.getStaffId();
ServiceResponse<String> sendResp = qywxSendService.sendChatMessage(wxEnterpriseId, staffId, madidList);
TabGroupChatPlanOwnerLog ownerLog = EntityUtil.changeEntityByJSON(TabGroupChatPlanOwnerLog.class, dto);
if (sendResp.isSuccess()) {
String msgid = sendResp.getResult();
ownerLog.setMsgid(msgid);
ownerLog.setSendStatus(2);
} else {
ownerLog.setRemark(sendResp.getMessage());
ownerLog.setSendStatus(0);
}
ownerLog.setWxEnterpriseId(wxEnterpriseId);
this.groupChatPlanOwnerLogService.update(ownerLog);
// 代办
if (StringUtils.isNotBlank(ownerLog.getClerkId())) {
this.savePendTask(dto, plan);
}
}
}
}
......@@ -241,6 +252,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
@Override
public void doPlanSendInfoTimer(String params) {
DingUtils.send("开始群群发统计(定时),params=" + params + ",tranceid=" + ProviderLocalTag.tag.get().traceId, false);
Long planId = Long.parseLong(params);
List<Long> idList = this.groupChatPlanOwnerLogService.listForTimer(planId);
logger.info("定时处理群发结果,条数={}", idList.size());
......@@ -276,8 +288,27 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
if (CollectionUtils.isNotEmpty(list)) {
int sendCount = 0;
int failCount = 0;
Long planId = ownerLog.getPlanId();
TabGroupChatPlan plan = this.groupChatPlanMapper.selectById(planId);
for (QywxSendMessageResultDTO item : list) {
TabGroupChatPlanLog entity = new TabGroupChatPlanLog();
Date sendTime = item.getSendTime();
String wxChatId = item.getChatId();
// 如果企微的发送时间晚于计划的结束时间,不记录此类数据
if (sendTime.after(plan.getEndTime())) {
logger.info("发送时间晚计划结束时间");
continue;
}
GroupChatBO chat = this.groupChatService.getByWxChatId(wxEnterpriseId, wxChatId);
if (null == chat || StringUtils.isBlank(chat.getEnterpriseId())) {
logger.info("群不存在,或未认领,wxChatId={}", wxChatId);
continue;
}
if (!chat.getEnterpriseId().equals(plan.getEnterpriseId())) {
logger.info("群的商户id和计划的商户id不一致{},{}", chat.getEnterpriseId(), plan.getEnterpriseId());
continue;
}
entity.setGroupChatId(chat.getGroupChatId());
// 企微返回成功
// 0-未发送 1-已发送 2-因客户不是好友导致发送失败 3-因客户已经收到其他群发消息导致发送失败
if (item.getStatus() == 1) {
......@@ -289,22 +320,12 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
// 发送失败
entity.setSendStatus(0);
}
String wxChatId = item.getChatId();
Date sendTime = item.getSendTime();
entity.setLogId(UniqueIdUtils.uniqueLong());
entity.setPlanId(ownerLog.getPlanId());
entity.setOwnLogId(ownerLog.getOwnerLogId());
entity.setWxEnterpriseId(wxEnterpriseId);
entity.setEnterpriseId(enterpriseId);
entity.setStaffId(staffId);
GroupChatBO chat = this.groupChatService.getByWxChatId(wxEnterpriseId, wxChatId);
if (null == chat || StringUtils.isBlank(chat.getEnterpriseId())) {
logger.info("群不存在,或未认领,wxChatId={}", wxChatId);
continue;
}
if (null != chat) {
entity.setGroupChatId(chat.getGroupChatId());
}
entity.setSendTime(sendTime);
this.groupChatPlanLogMapper.insert(entity);
}
......@@ -327,8 +348,8 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
@Override
public void stop(String clerkId, String clerkName, Long planId) {
logger.info("终止计划,并触发统计planId={}", planId);
this.groupChatPlanMapper.stopById(planId, clerkId, clerkName);
logger.info("触发统计");
this.putMQForData(planId);
}
......
......@@ -441,32 +441,36 @@ public class GroupChatServiceImpl implements GroupChatService {
chat.setStaffId(null);
logger.info("群主未关联好办,不同步群成员,userid={}", owner);
}
// 匹配GIC企业ID
if (StringUtils.isBlank(enterpriseId)) {
List<TabHaobanWxEnterpriseRelated> list = this.wxEnterpriseRelatedService.getByWxEnterpriseId(enterpriseId);
if (CollectionUtils.isNotEmpty(list) && list.size() == 1) {
logger.info("匹配群的gic商户id,gic={}", list.get(0).getEnterpriseId());
enterpriseId = list.get(0).getEnterpriseId();
// 匹配GIC商户ID ,如果已经初始化过,不再自动匹配GIC商户
if (chat.getInitFlag() == 0) {
if (StringUtils.isBlank(enterpriseId)) {
List<TabHaobanWxEnterpriseRelated> list = this.wxEnterpriseRelatedService
.getByWxEnterpriseId(wxEnterpriseId);
if (CollectionUtils.isNotEmpty(list) && list.size() == 1) {
logger.info("匹配群的gic商户id,gic={}", list.get(0).getEnterpriseId());
enterpriseId = list.get(0).getEnterpriseId();
chat.setEnterpriseId(enterpriseId);
}
}
}
if (StringUtils.isBlank(enterpriseId) && null != staff) {
logger.info("匹配群的gic商户id,staffid={}", staff.getStaffId());
List<StaffClerkRelationDTO> clerkList = this.staffClerkRelationService.listByStaffId(wxEnterpriseId,
staff.getStaffId());
if (CollectionUtils.isNotEmpty(clerkList)) {
Set<String> enterpriseIdSet = clerkList.stream().map(dto -> dto.getEnterpriseId())
.collect(Collectors.toSet());
logger.info("成员关联导购数={},商户={}", clerkList.size(), enterpriseIdSet);
if (enterpriseIdSet.size() == 1) {
enterpriseId = clerkList.get(0).getEnterpriseId();
chat.setEnterpriseId(enterpriseId);
if (StringUtils.isBlank(enterpriseId) && null != staff) {
logger.info("匹配群的gic商户id,staffid={}", staff.getStaffId());
List<StaffClerkRelationDTO> clerkList = this.staffClerkRelationService.listByStaffId(wxEnterpriseId,
staff.getStaffId());
if (CollectionUtils.isNotEmpty(clerkList)) {
Set<String> enterpriseIdSet = clerkList.stream().map(dto -> dto.getEnterpriseId())
.collect(Collectors.toSet());
logger.info("成员关联导购数={},商户={}", clerkList.size(), enterpriseIdSet);
if (enterpriseIdSet.size() == 1) {
enterpriseId = clerkList.get(0).getEnterpriseId();
chat.setEnterpriseId(enterpriseId);
}
}
}
}
logger.info("更新群信息={}", JSON.toJSONString(chat));
if (StringUtils.isNotEmpty(chat.getEnterpriseId())) {
chat.setGicFlag(1);
logger.info("更新群信息={}", JSON.toJSONString(chat));
if (StringUtils.isNotEmpty(chat.getEnterpriseId())) {
chat.setGicFlag(1);
}
}
// 判断是否更新群主
this.saveOwnerHistory(wxEnterpriseId, groupChatId, newStaffId, oldStaffId);
......
......@@ -2,6 +2,7 @@ package com.gic.haoban.manage.service.service.out.impl.chat;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
......@@ -58,32 +59,38 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
if (null != qdto.getEndDate()) {
qdto.setEndDate(DateUtil.getEndTimeOfDay(qdto.getEndDate()));
}
String sortColumn = qdto.getSortColumn();
if (StringUtils.isBlank(sortColumn)) {
sortColumn = null;
} else if ("totalCount".equals(sortColumn)) {
sortColumn = "total_count";
} else if ("totalMemberCount".equals(sortColumn)) {
sortColumn = "total_member_count";
} else if ("addMemberCount".equals(sortColumn)) {
sortColumn = "add_member_count";
} else if ("addCount".equals(sortColumn)) {
sortColumn = "add_count";
} else if ("quitCount".equals(sortColumn)) {
sortColumn = "quit_count";
} else if ("quitMemberCount".equals(sortColumn)) {
sortColumn = "quit_member_count";
}
qdto.setSortColumn(sortColumn);
Page<GroupChatDTO> page = this.groupChatService.listPage(qdto, basePageInfo);
Page<GroupChatDTO> resultPage = PageHelperUtils.changePageToCurrentPage(page, GroupChatDTO.class);
List<GroupChatDTO> dtoList = resultPage.getResult();
// 处理关联状态
if (CollectionUtils.isNotEmpty(dtoList)) {
// 处理群主状态
List<String> staffIdList = dtoList.stream().filter(dto -> StringUtils.isNotBlank(dto.getStaffId()))
.map(dto -> dto.getStaffId()).collect(Collectors.toList());
List<TabHaobanStaff> staffList = this.staffService.listNoStatusByStaffIds(qdto.getWxEnterpriseId(),
staffIdList);
Map<String, TabHaobanStaff> map = staffList.stream()
.collect(Collectors.toMap(TabHaobanStaff::getStaffId, o -> o, (k1, k2) -> k2));
dtoList.forEach(one -> {
TabHaobanStaff staff = map.get(one.getStaffId());
Integer activiveFlag = staff.getActiveFlag();
Integer openConcatFlag = staff.getOpenConcatFlag();
String reamrk = null ;
Integer ownerAddFlag = 1 ;
if (activiveFlag == 0) {
ownerAddFlag = 0 ;
reamrk = "群主未激活" ;
}
if (openConcatFlag == 0) {
ownerAddFlag = 0 ;
reamrk = "群主未配置客户联系功能" ;
}
one.setOwnerRemark(reamrk);
one.setOwnerAddFlag(ownerAddFlag);
});
// 处理关联关系
boolean needClerkReltaion = (qdto.getStatus() == 0);
if (needClerkReltaion) {
List<String> staffIdList = dtoList.stream().filter(dto -> StringUtils.isNotBlank(dto.getStaffId()))
.map(dto -> dto.getStaffId()).collect(Collectors.toList());
List<String> relationIdList = this.staffClerkRelationService
.listRelationsStaffId(new HashSet<>(staffIdList));
dtoList.forEach(one -> {
......
......@@ -273,6 +273,9 @@
<if test="null != status and 4==status">
and a.chat_status = 4
</if>
<if test="null != hmAddStatus and 0!=hmAddStatus">
and a.hm_add_status = #{hmAddStatus}
</if>
<if test="null != searchParams and ''!=searchParams ">
and (a.name like '%${searchParams}%' or a.wx_chat_id like '${searchParams}%')
</if>
......@@ -317,7 +320,7 @@
#{id}
</foreach>
</if>
and delete_flag = 0 and enterprise_id is null
and delete_flag = 0
</update>
</mapper>
\ No newline at end of file
......@@ -111,7 +111,7 @@
<update id="stopById">
UPDATE
tab_haoban_group_chat_plan SET status_flag = 0 , modifier_id =
#{clerkId} , modifier_name = #{clerkName} , send_time = now() , update_time=now() WHERE plan_id = #{planId}
#{clerkId} , modifier_name = #{clerkName} , end_time = now() , update_time=now() WHERE plan_id = #{planId}
</update>
<update id="updateSendFlag">
......
......@@ -104,7 +104,8 @@
<select id="listForTimer" resultType="long">
SELECT a.owner_log_id FROM tab_haoban_group_chat_plan_owner_log a left join tab_haoban_group_chat_plan b on a.plan_id = b.plan_id
WHERE b.end_time >= DATE_ADD(NOW(),INTERVAL -12 hour) and a.done_flag = 0 and a.delete_flag = 0 and b.delete_flag = 0 and a.msgid is not null
WHERE b.end_time >= DATE_ADD(NOW(),INTERVAL -6 hour) and a.done_flag = 0 and a.delete_flag = 0 and b.delete_flag = 0 and a.msgid is not null
and b.status_flag = 0
<if test="null != planId and -1 != planId">
and a.plan_id = #{planId}
</if>
......@@ -127,7 +128,8 @@
a.msgid msgid
from tab_haoban_group_chat_plan_owner_log a left join tab_haoban_staff b on a.staff_id = b.staff_id
where
a.wx_enterprise_id = #{wxEnterpriseId} and a.plan_id = #{planId}
a.wx_enterprise_id = #{wxEnterpriseId} and a.plan_id = #{planId} and a.delete_flag = 0
order by a.create_time , a.owner_log_id
</select>
<select id="listOwnerLogPageForWxaTotal" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO" resultType="com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO">
......
......@@ -77,10 +77,28 @@ public class GroupChatController {
@RequestMapping("page")
public RestResponse<Object> page(GroupChatSearchQDTO qdto, BasePageInfo basePageInfo) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String sortColumn = qdto.getSortColumn();
if (StringUtils.isBlank(sortColumn)) {
sortColumn = null;
} else if ("totalCount".equals(sortColumn)) {
sortColumn = "total_count";
} else if ("totalMemberCount".equals(sortColumn)) {
sortColumn = "total_member_count";
} else if ("addMemberCount".equals(sortColumn)) {
sortColumn = "add_member_count";
} else if ("addCount".equals(sortColumn)) {
sortColumn = "add_count";
} else if ("quitCount".equals(sortColumn)) {
sortColumn = "quit_count";
} else if ("quitMemberCount".equals(sortColumn)) {
sortColumn = "quit_member_count";
}
qdto.setSortColumn(sortColumn);
qdto.setWxEnterpriseId(loginUser.getWxEnterpriseId());
qdto.setEnterpriseId(loginUser.getEnterpriseId());
qdto.setChatPageFlag(true);
ServiceResponse<Page<GroupChatDTO>> page = this.groupChatApiService.listPage(qdto, basePageInfo);
return RestResponse.successResult(page.getResult());
}
......
package com.gic.haoban.manage.web.vo.chat;
import java.io.Serializable;
import java.util.Date;
/**
*
......@@ -51,165 +52,249 @@ public class GroupChatVO implements Serializable {
/**gic企业ID*/
private String enterpriseId;
/**gic侧状态1可用,2不可用*/
private Integer statusFlag;
public void setGroupChatId(Long groupChatId) {
this.groupChatId = groupChatId;
}
private Integer gicFlag;
private String staffName;
private String staffImage;
private String originalStaffId;
private String originalStaffName;
private Date offTime;
// 1已关联导购 0未关联导购
private int clerkRelationFlag = 0;
private int openConcatFlag = 0;
// 群主未激活、开通联系我说明
private String ownerRemark;
// 群主所有群能加到活码标识1可以0不可以
private String ownerAddFlag;
public Long getGroupChatId() {
return groupChatId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getStaffId() {
return staffId;
}
public void setWxChatId(String wxChatId) {
this.wxChatId = wxChatId;
}
public String getWxChatId() {
return wxChatId;
}
public void setChatAddTime(java.util.Date chatAddTime) {
this.chatAddTime = chatAddTime;
}
public java.util.Date getChatAddTime() {
return chatAddTime;
}
public void setChatDissolveTime(java.util.Date chatDissolveTime) {
this.chatDissolveTime = chatDissolveTime;
}
public java.util.Date getChatDissolveTime() {
return chatDissolveTime;
}
public void setChatNotice(String chatNotice) {
this.chatNotice = chatNotice;
}
public String getChatNotice() {
return chatNotice;
}
public void setChatStatus(Integer chatStatus) {
this.chatStatus = chatStatus;
}
public Integer getChatStatus() {
return chatStatus;
}
public void setCreateTime(java.util.Date createTime) {
this.createTime = createTime;
}
public java.util.Date getCreateTime() {
return createTime;
}
public void setUpdateTime(java.util.Date updateTime) {
this.updateTime = updateTime;
}
public java.util.Date getUpdateTime() {
return updateTime;
}
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
public Integer getDeleteFlag() {
return deleteFlag;
}
public void setTotalCount(Integer totalCount) {
this.totalCount = totalCount;
}
public Integer getTotalCount() {
return totalCount;
}
public void setTotalMemberCount(Integer totalMemberCount) {
this.totalMemberCount = totalMemberCount;
}
public Integer getTotalMemberCount() {
return totalMemberCount;
}
public void setAddMemberCount(Integer addMemberCount) {
this.addMemberCount = addMemberCount;
}
public Integer getAddMemberCount() {
return addMemberCount;
}
public void setAddCount(Integer addCount) {
this.addCount = addCount;
}
public Integer getAddCount() {
return addCount;
}
public void setQuitCount(Integer quitCount) {
this.quitCount = quitCount;
}
public Integer getQuitCount() {
return quitCount;
}
public void setQuitMemberCount(Integer quitMemberCount) {
this.quitMemberCount = quitMemberCount;
}
public Integer getQuitMemberCount() {
return quitMemberCount;
}
public String getEnterpriseId() {
return enterpriseId;
}
public Integer getGicFlag() {
return gicFlag;
}
public String getStaffName() {
return staffName;
}
public String getStaffImage() {
return staffImage;
}
public String getOriginalStaffId() {
return originalStaffId;
}
public String getOriginalStaffName() {
return originalStaffName;
}
public Date getOffTime() {
return offTime;
}
public int getClerkRelationFlag() {
return clerkRelationFlag;
}
public int getOpenConcatFlag() {
return openConcatFlag;
}
public String getOwnerRemark() {
return ownerRemark;
}
public String getOwnerAddFlag() {
return ownerAddFlag;
}
public void setGroupChatId(Long groupChatId) {
this.groupChatId = groupChatId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public void setName(String name) {
this.name = name;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public void setWxChatId(String wxChatId) {
this.wxChatId = wxChatId;
}
public void setChatAddTime(java.util.Date chatAddTime) {
this.chatAddTime = chatAddTime;
}
public void setChatDissolveTime(java.util.Date chatDissolveTime) {
this.chatDissolveTime = chatDissolveTime;
}
public void setChatNotice(String chatNotice) {
this.chatNotice = chatNotice;
}
public void setChatStatus(Integer chatStatus) {
this.chatStatus = chatStatus;
}
public void setCreateTime(java.util.Date createTime) {
this.createTime = createTime;
}
public void setUpdateTime(java.util.Date updateTime) {
this.updateTime = updateTime;
}
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
public void setTotalCount(Integer totalCount) {
this.totalCount = totalCount;
}
public void setTotalMemberCount(Integer totalMemberCount) {
this.totalMemberCount = totalMemberCount;
}
public void setAddMemberCount(Integer addMemberCount) {
this.addMemberCount = addMemberCount;
}
public void setAddCount(Integer addCount) {
this.addCount = addCount;
}
public void setQuitCount(Integer quitCount) {
this.quitCount = quitCount;
}
public void setQuitMemberCount(Integer quitMemberCount) {
this.quitMemberCount = quitMemberCount;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getEnterpriseId() {
return enterpriseId;
public void setGicFlag(Integer gicFlag) {
this.gicFlag = gicFlag;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public void setStaffImage(String staffImage) {
this.staffImage = staffImage;
}
public void setOriginalStaffId(String originalStaffId) {
this.originalStaffId = originalStaffId;
}
public void setOriginalStaffName(String originalStaffName) {
this.originalStaffName = originalStaffName;
}
public void setOffTime(Date offTime) {
this.offTime = offTime;
}
public void setClerkRelationFlag(int clerkRelationFlag) {
this.clerkRelationFlag = clerkRelationFlag;
}
public void setOpenConcatFlag(int openConcatFlag) {
this.openConcatFlag = openConcatFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
public void setOwnerRemark(String ownerRemark) {
this.ownerRemark = ownerRemark;
}
public Integer getStatusFlag() {
return statusFlag;
public void setOwnerAddFlag(String ownerAddFlag) {
this.ownerAddFlag = ownerAddFlag;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment