Commit 90ad7a68 by 徐高华

parent 01aa04b7
package com.gic.haoban.manage.service.dao.mapper.chat;
import java.util.List;
import java.util.Map;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatData;
/**
*
* @ClassName: TabHaobanGroupChatDataMapper
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:48:46
* @Modify
* @CopyRight
*/
public interface GroupChatDataMapper {
/**
* 新增
* @Title: insert
* @Description: TODO
* @Param @param TabHaobanGroupChatData
*/
public int insert(TabGroupChatData tabHaobanGroupChatData) ;
public List<TabGroupChatData> listByParams(Map<String,Object> params) ;
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper.chat;
import java.util.List;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatHm;
/**
*
* @ClassName: TabHaobanGroupChatHmMapper
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:30:48
* @Modify
* @CopyRight
*/
public interface GroupChatHmMapper {
/**
* 新增
* @Title: insert
* @Description: TODO
* @Param @param TabHaobanGroupChatHm
*/
public int insert(TabGroupChatHm tabHaobanGroupChatHm) ;
/**
* 通过主键删除
* @Title: delete
* @Description: TODO
* @Param @param id
* @Throws
*/
public int deleteByPrimaryKey(Long chatHmId) ;
/**
* 更新
* @Title: update
* @Description: TODO
* @Param @param TabHaobanGroupChatHm
* @Throws
*/
public int updateByPrimaryKey(TabGroupChatHm tabHaobanGroupChatHm) ;
/**
* 通过主键查询
* @Title: selectById
* @Description: TODO
* @Param @param id
* @Param @return
* @Return TabHaobanGroupChatHm
* @Throws
*/
public TabGroupChatHm selectByPrimaryKey(Long chatHmId) ;
/**
* 通过条件查询
* @Title: listAll
* @Description: TODO
* @Param @param TabHaobanGroupChatHm
* @Param @return
* @Return List
* @Throws
*/
public List<TabGroupChatHm> listAll(TabGroupChatHm tabHaobanGroupChatHm) ;
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper.chat;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.service.entity.chat.TabGroupChat;
/**
*
* @ClassName: TabHaobanGroupChatMapper
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 13:35:28
* @Modify
* @CopyRight
*/
public interface GroupChatMapper {
public int insert(TabGroupChat tabHaobanGroupChat);
public int deleteByPrimaryKey(Long groupChatId);
public int updateByPrimaryKey(TabGroupChat tabHaobanGroupChat);
public TabGroupChat selectById(Long groupChatId);
public List<TabGroupChat> listByIdList(@Param("idList")List<String> idList) ;
public TabGroupChat selectByWxChatId(@Param("wxChatId") String wxChatId);
public List<TabGroupChat> listAll(TabGroupChat tabHaobanGroupChat);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper.chat;
import java.util.List;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanLog;
/**
*
* @ClassName: TabHaobanGroupChatPlanLogMapper
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:17:50
* @Modify
* @CopyRight
*/
public interface GroupChatPlanLogMapper {
/**
* 新增
* @Title: insert
* @Description: TODO
* @Param @param TabHaobanGroupChatPlanLog
*/
public int insert(TabGroupChatPlanLog tabHaobanGroupChatPlanLog) ;
/**
* 通过主键删除
* @Title: delete
* @Description: TODO
* @Param @param id
* @Throws
*/
public int deleteByPrimaryKey(Long logId) ;
/**
* 更新
* @Title: update
* @Description: TODO
* @Param @param TabHaobanGroupChatPlanLog
* @Throws
*/
public int updateByPrimaryKey(TabGroupChatPlanLog tabHaobanGroupChatPlanLog) ;
/**
* 通过主键查询
* @Title: selectById
* @Description: TODO
* @Param @param id
* @Param @return
* @Return TabHaobanGroupChatPlanLog
* @Throws
*/
public TabGroupChatPlanLog selectByPrimaryKey(Long logId) ;
/**
* 通过条件查询
* @Title: listAll
* @Description: TODO
* @Param @param TabHaobanGroupChatPlanLog
* @Param @return
* @Return List
* @Throws
*/
public List<TabGroupChatPlanLog> listAll(TabGroupChatPlanLog tabHaobanGroupChatPlanLog) ;
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper.chat;
import java.util.List;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlan;
/**
*
* @ClassName: TabHaobanGroupChatPlanMapper
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:28:49
* @Modify
* @CopyRight
*/
public interface GroupChatPlanMapper {
/**
* 新增
* @Title: insert
* @Description: TODO
* @Param @param TabHaobanGroupChatPlan
*/
public int insert(TabGroupChatPlan tabHaobanGroupChatPlan) ;
/**
* 通过主键删除
* @Title: delete
* @Description: TODO
* @Param @param id
* @Throws
*/
public int deleteByPrimaryKey(Long planId) ;
/**
* 更新
* @Title: update
* @Description: TODO
* @Param @param TabHaobanGroupChatPlan
* @Throws
*/
public int updateByPrimaryKey(TabGroupChatPlan tabHaobanGroupChatPlan) ;
/**
* 通过主键查询
* @Title: selectById
* @Description: TODO
* @Param @param id
* @Param @return
* @Return TabHaobanGroupChatPlan
* @Throws
*/
public TabGroupChatPlan selectByPrimaryKey(Long planId) ;
/**
* 通过条件查询
* @Title: listAll
* @Description: TODO
* @Param @param TabHaobanGroupChatPlan
* @Param @return
* @Return List
* @Throws
*/
public List<TabGroupChatPlan> listAll(TabGroupChatPlan tabHaobanGroupChatPlan) ;
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper.chat;
import java.util.List;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanOwnerLog;
/**
*
* @ClassName: TabHaobanGroupChatPlanOwnerLogMapper
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:29:51
* @Modify
* @CopyRight
*/
public interface GroupChatPlanOwnerLogMapper {
/**
* 新增
* @Title: insert
* @Description: TODO
* @Param @param TabHaobanGroupChatPlanOwnerLog
*/
public int insert(TabGroupChatPlanOwnerLog tabHaobanGroupChatPlanOwnerLog) ;
/**
* 通过主键删除
* @Title: delete
* @Description: TODO
* @Param @param id
* @Throws
*/
public int deleteByPrimaryKey(Long ownerLogId) ;
/**
* 更新
* @Title: update
* @Description: TODO
* @Param @param TabHaobanGroupChatPlanOwnerLog
* @Throws
*/
public int updateByPrimaryKey(TabGroupChatPlanOwnerLog tabHaobanGroupChatPlanOwnerLog) ;
/**
* 通过主键查询
* @Title: selectById
* @Description: TODO
* @Param @param id
* @Param @return
* @Return TabHaobanGroupChatPlanOwnerLog
* @Throws
*/
public TabGroupChatPlanOwnerLog selectByPrimaryKey(Long ownerLogId) ;
/**
* 通过条件查询
* @Title: listAll
* @Description: TODO
* @Param @param TabHaobanGroupChatPlanOwnerLog
* @Param @return
* @Return List
* @Throws
*/
public List<TabGroupChatPlanOwnerLog> listAll(TabGroupChatPlanOwnerLog tabHaobanGroupChatPlanOwnerLog) ;
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper.chat;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatUser;
/**
*
* @ClassName: TabHaobanGroupChatUserMapper
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:42:52
* @Modify
* @CopyRight
*/
public interface GroupChatUserMapper {
public int insert(TabGroupChatUser tabHaobanGroupChatUser);
public int deleteByPrimaryKey(Long chatUserId);
public int updateByPrimaryKey(TabGroupChatUser tabHaobanGroupChatUser);
public TabGroupChatUser selectById(Long chatUserId);
public TabGroupChatUser selectByUserIdAndChatId(@Param("groupChatId")Long groupChatId , @Param("userId")String userId) ;
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper.hm;
import java.util.List;
import com.gic.haoban.manage.service.entity.hm.TabHmLinkChat;
/**
*
* @ClassName: TabHaobanHmLinkChatMapper
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 22:36:24
* @Modify
* @CopyRight
*/
public interface HmLinkChatMapper {
/**
* 新增
* @Title: insert
* @Description: TODO
* @Param @param TabHaobanHmLinkChat
*/
public int insert(TabHmLinkChat tabHaobanHmLinkChat) ;
/**
* 通过主键删除
* @Title: delete
* @Description: TODO
* @Param @param id
* @Throws
*/
public int deleteByPrimaryKey(Long linkChatId) ;
/**
* 更新
* @Title: update
* @Description: TODO
* @Param @param TabHaobanHmLinkChat
* @Throws
*/
public int updateByPrimaryKey(TabHmLinkChat tabHaobanHmLinkChat) ;
/**
* 通过主键查询
* @Title: selectById
* @Description: TODO
* @Param @param id
* @Param @return
* @Return TabHaobanHmLinkChat
* @Throws
*/
public TabHmLinkChat selectByPrimaryKey(Long linkChatId) ;
/**
* 通过条件查询
* @Title: listAll
* @Description: TODO
* @Param @param TabHaobanHmLinkChat
* @Param @return
* @Return List
* @Throws
*/
public List<TabHmLinkChat> listAll(TabHmLinkChat tabHaobanHmLinkChat) ;
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity.chat;
import java.io.Serializable ;
/**
*
* @ClassName: TabHaobanGroupChat
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 13:35:28
* @Modify
* @CopyRight
*/
public class TabGroupChat implements Serializable{
private static final long serialVersionUID = 13124020287100L;
/**主键*/
private Long groupChatId;
private String wxEnterpriseId;
/**群名称*/
private String name;
/**群主*/
private String staffId;
/**群id(企微)*/
private String wxChatId;
/**群创建时间*/
private java.util.Date chatAddTime;
/**群解散时间*/
private java.util.Date chatDissolveTime;
/**群公告*/
private String chatNotice;
/**群状态*/
private Integer chatStatus;
private java.util.Date createTime;
private java.util.Date updateTime;
/**是否删除1是0否*/
private Integer deleteFlag;
/**群成员数*/
private Integer totalCount;
/**群客户数*/
private Integer totalMemberCount;
/**新增总客户数*/
private Integer addMemberCount;
/**新增总成员数*/
private Integer addCount;
/**流失总成员数*/
private Integer quitCount;
/**流失总客户数*/
private Integer quitMemberCount;
/**gic企业ID*/
private String enterpriseId;
/**gic侧状态1可用,2不可用*/
private Integer statusFlag;
public void setGroupChatId(Long groupChatId){
this.groupChatId = groupChatId;
}
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 void setEnterpriseId(String enterpriseId){
this.enterpriseId = enterpriseId;
}
public String getEnterpriseId(){
return enterpriseId;
}
public void setStatusFlag(Integer statusFlag){
this.statusFlag = statusFlag;
}
public Integer getStatusFlag(){
return statusFlag;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity.chat;
import java.io.Serializable ;
/**
*
* @ClassName: TabHaobanGroupChatData
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:48:46
* @Modify
* @CopyRight
*/
public class TabGroupChatData implements Serializable{
private static final long serialVersionUID = 21417308241400L;
private Long dataId;
private String wxEnterpriseId;
private String staffId;
/**统计日期*/
private java.util.Date date;
/**新增客户群数量*/
private Integer newChatCnt;
/**截至当天客户群总数量*/
private Integer chatTotal;
/**截至当天有发过消息的客户群数量*/
private Integer chatHasMsg;
/**客户群新增群人数*/
private Integer newMemberCnt;
/**截至当天客户群总人数*/
private Integer memberTotal;
/**截至当天有发过消息的群成员数*/
private Integer memberHasMsg;
/**截至当天客户群消息总数*/
private Integer msgTotal;
/**截至当天新增迁移群数(仅教培行业返回)*/
private Integer migrateTraineeChatCnt;
private java.util.Date createTime;
public void setDataId(Long dataId){
this.dataId = dataId;
}
public Long getDataId(){
return dataId;
}
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId(){
return wxEnterpriseId;
}
public void setStaffId(String staffId){
this.staffId = staffId;
}
public String getStaffId(){
return staffId;
}
public void setDate(java.util.Date date){
this.date = date;
}
public java.util.Date getDate(){
return date;
}
public void setNewChatCnt(Integer newChatCnt){
this.newChatCnt = newChatCnt;
}
public Integer getNewChatCnt(){
return newChatCnt;
}
public void setChatTotal(Integer chatTotal){
this.chatTotal = chatTotal;
}
public Integer getChatTotal(){
return chatTotal;
}
public void setChatHasMsg(Integer chatHasMsg){
this.chatHasMsg = chatHasMsg;
}
public Integer getChatHasMsg(){
return chatHasMsg;
}
public void setNewMemberCnt(Integer newMemberCnt){
this.newMemberCnt = newMemberCnt;
}
public Integer getNewMemberCnt(){
return newMemberCnt;
}
public void setMemberTotal(Integer memberTotal){
this.memberTotal = memberTotal;
}
public Integer getMemberTotal(){
return memberTotal;
}
public void setMemberHasMsg(Integer memberHasMsg){
this.memberHasMsg = memberHasMsg;
}
public Integer getMemberHasMsg(){
return memberHasMsg;
}
public void setMsgTotal(Integer msgTotal){
this.msgTotal = msgTotal;
}
public Integer getMsgTotal(){
return msgTotal;
}
public void setMigrateTraineeChatCnt(Integer migrateTraineeChatCnt){
this.migrateTraineeChatCnt = migrateTraineeChatCnt;
}
public Integer getMigrateTraineeChatCnt(){
return migrateTraineeChatCnt;
}
public void setCreateTime(java.util.Date createTime){
this.createTime = createTime;
}
public java.util.Date getCreateTime(){
return createTime;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity.chat;
import java.io.Serializable ;
/**
*
* @ClassName: TabHaobanGroupChatHm
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:30:48
* @Modify
* @CopyRight
*/
public class TabGroupChatHm implements Serializable{
private static final long serialVersionUID = 21518878229500L;
private Long chatHmId;
private String chatHmCode;
private String wxEnterpriseId;
private String enterpriseId;
private String name;
private String remark;
/**0-否;1-是*/
private Integer autoCreateRoom;
/**自动建群的群起始序号*/
private Integer roomBaseId;
/**自动建群的群名前缀*/
private String roomBaseName;
private String wxConfigId;
private String wxQrCode;
private String creatorId;
private String creatorName;
private String modifierId;
private String modifierName;
private Integer deleteFlag;
private java.util.Date createTime;
private java.util.Date updateTime;
/**关联群数量*/
private Integer chatCount;
/**关联群id列表*/
private String chatIdList;
/**已关联链接数*/
private Integer linkCount;
public void setChatHmId(Long chatHmId){
this.chatHmId = chatHmId;
}
public Long getChatHmId(){
return chatHmId;
}
public void setChatHmCode(String chatHmCode){
this.chatHmCode = chatHmCode;
}
public String getChatHmCode(){
return chatHmCode;
}
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId(){
return wxEnterpriseId;
}
public void setEnterpriseId(String enterpriseId){
this.enterpriseId = enterpriseId;
}
public String getEnterpriseId(){
return enterpriseId;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setRemark(String remark){
this.remark = remark;
}
public String getRemark(){
return remark;
}
public void setAutoCreateRoom(Integer autoCreateRoom){
this.autoCreateRoom = autoCreateRoom;
}
public Integer getAutoCreateRoom(){
return autoCreateRoom;
}
public void setRoomBaseId(Integer roomBaseId){
this.roomBaseId = roomBaseId;
}
public Integer getRoomBaseId(){
return roomBaseId;
}
public void setRoomBaseName(String roomBaseName){
this.roomBaseName = roomBaseName;
}
public String getRoomBaseName(){
return roomBaseName;
}
public void setWxConfigId(String wxConfigId){
this.wxConfigId = wxConfigId;
}
public String getWxConfigId(){
return wxConfigId;
}
public void setWxQrCode(String wxQrCode){
this.wxQrCode = wxQrCode;
}
public String getWxQrCode(){
return wxQrCode;
}
public void setCreatorId(String creatorId){
this.creatorId = creatorId;
}
public String getCreatorId(){
return creatorId;
}
public void setCreatorName(String creatorName){
this.creatorName = creatorName;
}
public String getCreatorName(){
return creatorName;
}
public void setModifierId(String modifierId){
this.modifierId = modifierId;
}
public String getModifierId(){
return modifierId;
}
public void setModifierName(String modifierName){
this.modifierName = modifierName;
}
public String getModifierName(){
return modifierName;
}
public void setDeleteFlag(Integer deleteFlag){
this.deleteFlag = deleteFlag;
}
public Integer getDeleteFlag(){
return deleteFlag;
}
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 setChatCount(Integer chatCount){
this.chatCount = chatCount;
}
public Integer getChatCount(){
return chatCount;
}
public void setChatIdList(String chatIdList){
this.chatIdList = chatIdList;
}
public String getChatIdList(){
return chatIdList;
}
public void setLinkCount(Integer linkCount){
this.linkCount = linkCount;
}
public Integer getLinkCount(){
return linkCount;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity.chat;
import java.io.Serializable ;
/**
*
* @ClassName: TabHaobanGroupChatPlan
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:28:49
* @Modify
* @CopyRight
*/
public class TabGroupChatPlan implements Serializable{
private static final long serialVersionUID = 21576537277600L;
private Long planId;
private String name;
private String remark;
/**[{relation_id:素材id,content:回显示内容}]*/
private String chatContent;
private String creatorId;
private String creatorName;
private String modifyId;
private String modifyName;
private java.util.Date createTime;
private java.util.Date updateTime;
/**0已删除 1有效*/
private Integer statusFlag;
/**1立即发送 2定时发送*/
private Integer sendType;
private java.util.Date sendTime;
private java.util.Date startTime;
private java.util.Date endTime;
/**几天后失效*/
private Integer expireDays;
private String staffIdList;
/**群主数量*/
private Integer staffCount;
/**已完成任务的群主数量*/
private Integer sendCount;
/**已送达数的群数*/
private Integer successChatCount;
/**总群数*/
private Integer totalChatCount;
public void setPlanId(Long planId){
this.planId = planId;
}
public Long getPlanId(){
return planId;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setRemark(String remark){
this.remark = remark;
}
public String getRemark(){
return remark;
}
public void setChatContent(String chatContent){
this.chatContent = chatContent;
}
public String getChatContent(){
return chatContent;
}
public void setCreatorId(String creatorId){
this.creatorId = creatorId;
}
public String getCreatorId(){
return creatorId;
}
public void setCreatorName(String creatorName){
this.creatorName = creatorName;
}
public String getCreatorName(){
return creatorName;
}
public void setModifyId(String modifyId){
this.modifyId = modifyId;
}
public String getModifyId(){
return modifyId;
}
public void setModifyName(String modifyName){
this.modifyName = modifyName;
}
public String getModifyName(){
return modifyName;
}
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 setStatusFlag(Integer statusFlag){
this.statusFlag = statusFlag;
}
public Integer getStatusFlag(){
return statusFlag;
}
public void setSendType(Integer sendType){
this.sendType = sendType;
}
public Integer getSendType(){
return sendType;
}
public void setSendTime(java.util.Date sendTime){
this.sendTime = sendTime;
}
public java.util.Date getSendTime(){
return sendTime;
}
public void setStartTime(java.util.Date startTime){
this.startTime = startTime;
}
public java.util.Date getStartTime(){
return startTime;
}
public void setEndTime(java.util.Date endTime){
this.endTime = endTime;
}
public java.util.Date getEndTime(){
return endTime;
}
public void setExpireDays(Integer expireDays){
this.expireDays = expireDays;
}
public Integer getExpireDays(){
return expireDays;
}
public void setStaffIdList(String staffIdList){
this.staffIdList = staffIdList;
}
public String getStaffIdList(){
return staffIdList;
}
public void setStaffCount(Integer staffCount){
this.staffCount = staffCount;
}
public Integer getStaffCount(){
return staffCount;
}
public void setSendCount(Integer sendCount){
this.sendCount = sendCount;
}
public Integer getSendCount(){
return sendCount;
}
public void setSuccessChatCount(Integer successChatCount){
this.successChatCount = successChatCount;
}
public Integer getSuccessChatCount(){
return successChatCount;
}
public void setTotalChatCount(Integer totalChatCount){
this.totalChatCount = totalChatCount;
}
public Integer getTotalChatCount(){
return totalChatCount;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity.chat;
import java.io.Serializable ;
/**
*
* @ClassName: TabHaobanGroupChatPlanLog
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:17:50
* @Modify
* @CopyRight
*/
public class TabGroupChatPlanLog implements Serializable{
private static final long serialVersionUID = 21625366526300L;
private Long logId;
private Long planId;
private String wxEnterpriseId;
/**群id*/
private Long groupChatId;
private Integer sendStatus;
/**群主记录id*/
private Long ownLogId;
private String remark;
private java.util.Date sendTime;
private java.util.Date createTime;
private java.util.Date updateTime;
public void setLogId(Long logId){
this.logId = logId;
}
public Long getLogId(){
return logId;
}
public void setPlanId(Long planId){
this.planId = planId;
}
public Long getPlanId(){
return planId;
}
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId(){
return wxEnterpriseId;
}
public void setGroupChatId(Long groupChatId){
this.groupChatId = groupChatId;
}
public Long getGroupChatId(){
return groupChatId;
}
public void setSendStatus(Integer sendStatus){
this.sendStatus = sendStatus;
}
public Integer getSendStatus(){
return sendStatus;
}
public void setOwnLogId(Long ownLogId){
this.ownLogId = ownLogId;
}
public Long getOwnLogId(){
return ownLogId;
}
public void setRemark(String remark){
this.remark = remark;
}
public String getRemark(){
return remark;
}
public void setSendTime(java.util.Date sendTime){
this.sendTime = sendTime;
}
public java.util.Date getSendTime(){
return sendTime;
}
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;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity.chat;
import java.io.Serializable ;
/**
*
* @ClassName: TabHaobanGroupChatPlanOwnerLog
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:29:51
* @Modify
* @CopyRight
*/
public class TabGroupChatPlanOwnerLog implements Serializable{
private static final long serialVersionUID = 21697825515700L;
private Long ownerLogId;
private Long planId;
private String wxEnterpriseId;
private String enterpriseId;
private String staffId;
private String storeId;
private String clerkId;
/**1已发送 0待发送*/
private Integer sendStatus;
private Integer totalCount;
private Integer sendCount;
private java.util.Date createTime;
private java.util.Date updateTime;
public void setOwnerLogId(Long ownerLogId){
this.ownerLogId = ownerLogId;
}
public Long getOwnerLogId(){
return ownerLogId;
}
public void setPlanId(Long planId){
this.planId = planId;
}
public Long getPlanId(){
return planId;
}
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId(){
return wxEnterpriseId;
}
public void setEnterpriseId(String enterpriseId){
this.enterpriseId = enterpriseId;
}
public String getEnterpriseId(){
return enterpriseId;
}
public void setStaffId(String staffId){
this.staffId = staffId;
}
public String getStaffId(){
return staffId;
}
public void setStoreId(String storeId){
this.storeId = storeId;
}
public String getStoreId(){
return storeId;
}
public void setClerkId(String clerkId){
this.clerkId = clerkId;
}
public String getClerkId(){
return clerkId;
}
public void setSendStatus(Integer sendStatus){
this.sendStatus = sendStatus;
}
public Integer getSendStatus(){
return sendStatus;
}
public void setTotalCount(Integer totalCount){
this.totalCount = totalCount;
}
public Integer getTotalCount(){
return totalCount;
}
public void setSendCount(Integer sendCount){
this.sendCount = sendCount;
}
public Integer getSendCount(){
return sendCount;
}
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;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity.chat;
import java.io.Serializable ;
/**
*
* @ClassName: TabHaobanGroupChatUser
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:42:52
* @Modify
* @CopyRight
*/
public class TabGroupChatUser implements Serializable{
private static final long serialVersionUID = 21771431486600L;
private Long chatUserId;
/**微信企业id*/
private String wxEnterpriseId;
private String enterpriseId;
/**1企业成员2外部联系人3客户*/
private Integer userType;
/**入群时间*/
private java.util.Date joinTime;
/**姓名*/
private String userName;
/**昵称*/
private String nickName;
/**群成员id*/
private String userId;
/**unionid*/
private String unionid;
private String memberId;
/**邀请者*/
private String invitorUserId;
private java.util.Date createTime;
private java.util.Date updateTime;
/**1是0否*/
private Integer deleteFlag;
/**群id*/
private Long groupChatId;
/**1有效 2已退群*/
private Integer statusFlag;
/**用户退群时间*/
private java.util.Date userQuitTime;
/**0自己退群 1 - 群主/群管理员移出*/
private Integer quitScene;
/**0 - 由成员邀请入群(包括直接邀请入群和通过邀请链接入群)3 - 通过扫描群二维码入群*/
private Integer joinScene;
/**入群说明*/
private String joinRemark;
private String joinState;
public void setChatUserId(Long chatUserId){
this.chatUserId = chatUserId;
}
public Long getChatUserId(){
return chatUserId;
}
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId(){
return wxEnterpriseId;
}
public void setEnterpriseId(String enterpriseId){
this.enterpriseId = enterpriseId;
}
public String getEnterpriseId(){
return enterpriseId;
}
public void setUserType(Integer userType){
this.userType = userType;
}
public Integer getUserType(){
return userType;
}
public void setJoinTime(java.util.Date joinTime){
this.joinTime = joinTime;
}
public java.util.Date getJoinTime(){
return joinTime;
}
public void setUserName(String userName){
this.userName = userName;
}
public String getUserName(){
return userName;
}
public void setNickName(String nickName){
this.nickName = nickName;
}
public String getNickName(){
return nickName;
}
public void setUserId(String userId){
this.userId = userId;
}
public String getUserId(){
return userId;
}
public void setUnionid(String unionid){
this.unionid = unionid;
}
public String getUnionid(){
return unionid;
}
public void setMemberId(String memberId){
this.memberId = memberId;
}
public String getMemberId(){
return memberId;
}
public void setInvitorUserId(String invitorUserId){
this.invitorUserId = invitorUserId;
}
public String getInvitorUserId(){
return invitorUserId;
}
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 setGroupChatId(Long groupChatId){
this.groupChatId = groupChatId;
}
public Long getGroupChatId(){
return groupChatId;
}
public void setStatusFlag(Integer statusFlag){
this.statusFlag = statusFlag;
}
public Integer getStatusFlag(){
return statusFlag;
}
public void setUserQuitTime(java.util.Date userQuitTime){
this.userQuitTime = userQuitTime;
}
public java.util.Date getUserQuitTime(){
return userQuitTime;
}
public void setQuitScene(Integer quitScene){
this.quitScene = quitScene;
}
public Integer getQuitScene(){
return quitScene;
}
public void setJoinScene(Integer joinScene){
this.joinScene = joinScene;
}
public Integer getJoinScene(){
return joinScene;
}
public void setJoinRemark(String joinRemark){
this.joinRemark = joinRemark;
}
public String getJoinRemark(){
return joinRemark;
}
public void setJoinState(String joinState){
this.joinState = joinState;
}
public String getJoinState(){
return joinState;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity.hm;
import java.io.Serializable ;
/**
*
* @ClassName: TabHaobanHmLinkChat
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 22:36:24
* @Modify
* @CopyRight
*/
public class TabHmLinkChat implements Serializable{
private static final long serialVersionUID = 45285331843100L;
private Long linkChatId;
private String wxEnterpriseId;
/**人群*/
private String filterJson;
/**群活码ID*/
private Long chatHmId;
private String enterpriseId;
/**会员类型(0:会员筛选,1:会员分组)*/
private Integer memberType;
/**排序值*/
private Integer sortNum;
private java.util.Date createTime;
private java.util.Date updateTime;
private Integer deleteFlag;
public void setLinkChatId(Long linkChatId){
this.linkChatId = linkChatId;
}
public Long getLinkChatId(){
return linkChatId;
}
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId(){
return wxEnterpriseId;
}
public void setFilterJson(String filterJson){
this.filterJson = filterJson;
}
public String getFilterJson(){
return filterJson;
}
public void setChatHmId(Long chatHmId){
this.chatHmId = chatHmId;
}
public Long getChatHmId(){
return chatHmId;
}
public void setEnterpriseId(String enterpriseId){
this.enterpriseId = enterpriseId;
}
public String getEnterpriseId(){
return enterpriseId;
}
public void setMemberType(Integer memberType){
this.memberType = memberType;
}
public Integer getMemberType(){
return memberType;
}
public void setSortNum(Integer sortNum){
this.sortNum = sortNum;
}
public Integer getSortNum(){
return sortNum;
}
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;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.pojo.bo.chat;
import java.io.Serializable ;
/**
*
* @ClassName: TabHaobanGroupChatHm
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:30:48
* @Modify
* @CopyRight
*/
public class GroupChatHmBO implements Serializable{
private static final long serialVersionUID = 21518878229500L;
private Long chatHmId;
private String chatHmCode;
private String wxEnterpriseId;
private String enterpriseId;
private String name;
private String remark;
/**0-否;1-是*/
private Integer autoCreateRoom;
/**自动建群的群起始序号*/
private Integer roomBaseId;
/**自动建群的群名前缀*/
private String roomBaseName;
private String wxConfigId;
private String wxQrCode;
private String creatorId;
private String creatorName;
private String modifierId;
private String modifierName;
private Integer deleteFlag;
private java.util.Date createTime;
private java.util.Date updateTime;
/**关联群数量*/
private Integer chatCount;
/**关联群id列表*/
private String chatIdList;
/**已关联链接数*/
private Integer linkCount;
public void setChatHmId(Long chatHmId){
this.chatHmId = chatHmId;
}
public Long getChatHmId(){
return chatHmId;
}
public void setChatHmCode(String chatHmCode){
this.chatHmCode = chatHmCode;
}
public String getChatHmCode(){
return chatHmCode;
}
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId(){
return wxEnterpriseId;
}
public void setEnterpriseId(String enterpriseId){
this.enterpriseId = enterpriseId;
}
public String getEnterpriseId(){
return enterpriseId;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setRemark(String remark){
this.remark = remark;
}
public String getRemark(){
return remark;
}
public void setAutoCreateRoom(Integer autoCreateRoom){
this.autoCreateRoom = autoCreateRoom;
}
public Integer getAutoCreateRoom(){
return autoCreateRoom;
}
public void setRoomBaseId(Integer roomBaseId){
this.roomBaseId = roomBaseId;
}
public Integer getRoomBaseId(){
return roomBaseId;
}
public void setRoomBaseName(String roomBaseName){
this.roomBaseName = roomBaseName;
}
public String getRoomBaseName(){
return roomBaseName;
}
public void setWxConfigId(String wxConfigId){
this.wxConfigId = wxConfigId;
}
public String getWxConfigId(){
return wxConfigId;
}
public void setWxQrCode(String wxQrCode){
this.wxQrCode = wxQrCode;
}
public String getWxQrCode(){
return wxQrCode;
}
public void setCreatorId(String creatorId){
this.creatorId = creatorId;
}
public String getCreatorId(){
return creatorId;
}
public void setCreatorName(String creatorName){
this.creatorName = creatorName;
}
public String getCreatorName(){
return creatorName;
}
public void setModifierId(String modifierId){
this.modifierId = modifierId;
}
public String getModifierId(){
return modifierId;
}
public void setModifierName(String modifierName){
this.modifierName = modifierName;
}
public String getModifierName(){
return modifierName;
}
public void setDeleteFlag(Integer deleteFlag){
this.deleteFlag = deleteFlag;
}
public Integer getDeleteFlag(){
return deleteFlag;
}
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 setChatCount(Integer chatCount){
this.chatCount = chatCount;
}
public Integer getChatCount(){
return chatCount;
}
public void setChatIdList(String chatIdList){
this.chatIdList = chatIdList;
}
public String getChatIdList(){
return chatIdList;
}
public void setLinkCount(Integer linkCount){
this.linkCount = linkCount;
}
public Integer getLinkCount(){
return linkCount;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat;
public interface GroupChatDataService {
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO;
public interface GroupChatHmService {
GroupChatHmBO getById(Long hmId);
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat;
public interface GroupChatPlanLogService {
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat;
public interface GroupChatPlanOwnerLogService {
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat;
public interface GroupChatPlanService {
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat;
public interface GroupChatService {
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat;
public interface GroupChatUserService {
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat.impl;
import org.springframework.stereotype.Service;
import com.gic.haoban.manage.service.service.chat.GroupChatDataService;
@Service
public class GroupChatDataServiceImpl implements GroupChatDataService {
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat.impl;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.constants.Manage3Constants;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatHmMapper;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatMapper;
import com.gic.haoban.manage.service.entity.chat.TabGroupChat;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatHm;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO;
import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.chat.GroupChatHmService;
import com.gic.wechat.api.dto.qywx.chat.AddJoinWayDTO;
import com.gic.wechat.api.service.qywx.QywxChatApiService;
@Service("groupChatHmService")
public class GroupChatHmServiceImpl implements GroupChatHmService {
private static final Logger logger = LoggerFactory.getLogger(GroupChatHmService.class);
@Autowired
private QywxChatApiService qywxChatApiService;
@Autowired
private WxEnterpriseService wxEnterpriseService;
@Autowired
private SecretSettingService secretSettingService;
@Autowired
private GroupChatMapper groupChatMapper ;
@Autowired
private GroupChatHmMapper groupChatHmMapper ;
@Override
public GroupChatHmBO getById(Long hmId) {
return null;
}
public void saveHm(GroupChatHmDTO dto) {
String wxEnterpriseId = dto.getWxEnterpriseId();
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId,
SecretTypeEnum.CUSTOMIZED_APP.getVal());
if (null == secretSetting) {
logger.info("没有配置代开应用");
}
Long hmid = UniqueIdUtils.uniqueLong() ;
dto.setChatHmId(hmid);
dto.setChatHmCode("HM10"+hmid);
String[] arr = dto.getChatIdList().split(",") ;
List<String> chatidList = Arrays.asList(arr) ;
List<TabGroupChat> chatList = this.groupChatMapper.listByIdList(chatidList) ;
List<String> wxChatidList = chatList.stream().map(item->item.getWxChatId()).collect(Collectors.toList()) ;
logger.info("企微群id={}",wxChatidList);
AddJoinWayDTO joinDTO = new AddJoinWayDTO() ;
joinDTO.setScene(2);
joinDTO.setRemark(dto.getName());
joinDTO.setAuto_create_room(dto.getAutoCreateRoom()==null?0:dto.getAutoCreateRoom());
joinDTO.setRoom_base_id(dto.getRoomBaseId()==null?0:dto.getRoomBaseId());
joinDTO.setRoom_base_name(dto.getRoomBaseName());
joinDTO.setState(Manage3Constants.QHM+hmid);
joinDTO.setChat_id_list(wxChatidList);
TabGroupChatHm hm = EntityUtil.changeEntityByJSON(TabGroupChatHm.class,dto) ;
hm.setDeleteFlag(0);
hm.setCreateTime(new Date());
hm.setUpdateTime(new Date());
hm.setChatCount(wxChatidList.size());
ServiceResponse<String> addResp = this.qywxChatApiService.addJoinWay(qwDTO.getDkCorpid(), secretSetting.getSecretVal(), joinDTO);
logger.info("addResp={}",JSON.toJSONString(addResp));
String configId = addResp.getResult() ;
ServiceResponse<AddJoinWayDTO> getResp =this.qywxChatApiService.getJoinWay(qwDTO.getDkCorpid(), secretSetting.getSecretVal(), configId) ;
logger.info("getResp={}",JSON.toJSONString(getResp));
String qrCode = getResp.getResult().getQr_code() ;
hm.setWxConfigId(configId);
hm.setWxQrCode(qrCode);
this.groupChatHmMapper.insert(hm) ;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat.impl;
import org.springframework.stereotype.Service;
import com.gic.haoban.manage.service.service.chat.GroupChatPlanLogService;
@Service
public class GroupChatPlanLogServiceImpl implements GroupChatPlanLogService {
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat.impl;
import org.springframework.stereotype.Service;
import com.gic.haoban.manage.service.service.chat.GroupChatPlanOwnerLogService;
@Service
public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogService{
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat.impl;
import org.springframework.stereotype.Service;
import com.gic.haoban.manage.service.service.chat.GroupChatPlanService;
@Service
public class GroupChatPlanServiceImpl implements GroupChatPlanService{
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.service.dao.mapper.StaffMapper;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatMapper;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatUserMapper;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.chat.TabGroupChat;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatUser;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.chat.GroupChatService;
import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.service.MemberService;
import com.gic.wechat.api.dto.qywx.chat.GroupChatDetailDTO;
import com.gic.wechat.api.dto.qywx.chat.GroupChatDetailMemberDTO;
import com.gic.wechat.api.dto.qywx.chat.GroupChatListDTO;
import com.gic.wechat.api.dto.qywx.chat.GroupChatListItemDTO;
import com.gic.wechat.api.service.qywx.QywxChatApiService;
@Service
public class GroupChatServiceImpl implements GroupChatService {
private static final Logger logger = LoggerFactory.getLogger(GroupChatService.class);
@Autowired
private QywxChatApiService qywxChatApiService;
@Autowired
private GroupChatMapper groupChatMapper;
@Autowired
private GroupChatUserMapper groupChatUserMapper;
@Autowired
private WxEnterpriseService wxEnterpriseService;
@Autowired
private MemberService memberService;
@Autowired
private ExternalClerkRelatedService externalClerkRelatedService;
@Autowired
private StaffMapper staffMapper;
@Autowired
private SecretSettingService secretSettingService;
public void initGroupChat(String wxEnterpriseId) {
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
if (null == qwDTO) {
logger.info("wxEnterpriseId不存在,id={}", wxEnterpriseId);
return;
}
int pageNum = 0;
int pageSize = 10;
while (true) {
List<TabHaobanStaff> staffList = this.staffMapper.listAllByPage(wxEnterpriseId, pageNum * pageSize,
pageSize);
if (CollectionUtils.isEmpty(staffList)) {
break;
}
logger.info("查询staff表第{}页,共{}条", pageNum + 1, staffList.size());
List<String> userIdList = null;
if (qwDTO.needOpenUserId3th()) {
userIdList = staffList.stream().filter(dto -> StringUtils.isNotBlank(dto.getWxOpenUseId()))
.map(dto -> dto.getWxOpenUseId()).collect(Collectors.toList());
} else {
userIdList = staffList.stream().filter(dto -> StringUtils.isNotBlank(dto.getWxUserId()))
.map(dto -> dto.getWxUserId()).collect(Collectors.toList());
}
if (CollectionUtils.isNotEmpty(userIdList)) {
this.saveGroupChat(qwDTO, userIdList, null);
}
pageNum++;
}
}
public void saveGroupChat(WxEnterpriseQwDTO qwDTO, List<String> userIdList, String cursor) {
logger.info("qwDTO={},idlist={},cursor={}", JSON.toJSONString(qwDTO), JSON.toJSONString(userIdList), cursor);
int limit = 1;
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(qwDTO.getWxEnterpriseId(),
SecretTypeEnum.CUSTOMIZED_APP.getVal());
if (null == secretSetting) {
logger.info("没有配置代开应用");
}
String secret = secretSetting.getSecretVal();
ServiceResponse<GroupChatListDTO> resp = this.qywxChatApiService.groupchatList(qwDTO.getThirdCorpid(), secret,
userIdList, limit, cursor);
if (!resp.isSuccess()) {
logger.info("拉取群异常={}", JSON.toJSON(resp));
return;
}
GroupChatListDTO dto = resp.getResult();
cursor = dto.getNext_cursor();
List<GroupChatListItemDTO> list = dto.getGroup_chat_list();
for (GroupChatListItemDTO item : list) {
String wxChatId = item.getChat_id();
TabGroupChat groupChat = this.groupChatMapper.selectByWxChatId(wxChatId);
Long groupChatId = null;
if (null != groupChat) {
groupChatId = groupChat.getGroupChatId();
logger.info("群已存在,chatid={},groupChatId={}", wxChatId, groupChatId);
} else {
groupChatId = UniqueIdUtils.uniqueLong();
TabGroupChat chat = new TabGroupChat();
chat.setGroupChatId(groupChatId);
chat.setWxEnterpriseId(qwDTO.getWxEnterpriseId());
chat.setWxChatId(wxChatId);
chat.setChatStatus(item.getStatus());
chat.setCreateTime(new Date());
chat.setUpdateTime(new Date());
chat.setStatusFlag(0);
chat.setDeleteFlag(0);
chat.setTotalCount(0);
chat.setTotalMemberCount(0);
chat.setAddMemberCount(0);
chat.setAddCount(0);
chat.setQuitCount(0);
chat.setQuitMemberCount(0);
this.groupChatMapper.insert(chat);
}
this.groupChatDetailInit(groupChatId);
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(cursor)) {
this.saveGroupChat(qwDTO, userIdList, cursor);
}
}
public void groupChatDetailInit(Long groupChatId) {
TabGroupChat chat = this.groupChatMapper.selectById(groupChatId);
String wxEnterpriseId = chat.getWxEnterpriseId();
String enterpriseId = chat.getEnterpriseId();
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(qwDTO.getWxEnterpriseId(),
SecretTypeEnum.CUSTOMIZED_APP.getVal());
if (null == secretSetting) {
logger.info("没有配置代开应用");
}
String secret = secretSetting.getSecretVal();
ServiceResponse<GroupChatDetailDTO> detailResp = this.qywxChatApiService.groupchatDetail(qwDTO.getThirdCorpid(),
secret, chat.getWxChatId(), 1);
GroupChatDetailDTO detail = detailResp.getResult();
chat.setGroupChatId(groupChatId);
chat.setChatAddTime(new Date(detail.getCreate_time() * 1000));
chat.setChatNotice(detail.getNotice());
// 处理群主
String owner = detail.getOwner();
TabHaobanStaff staff = this.staffMapper.selectByUserIdAndEnterpriseId(owner, wxEnterpriseId);
if (null == staff) {
logger.info("群主不存在,userid={}", owner);
return;
}
chat.setStaffId(staff.getStaffId());
logger.info("更新群信息={}", JSON.toJSONString(chat));
this.groupChatMapper.updateByPrimaryKey(chat);
List<GroupChatDetailMemberDTO> memberList = detail.getMember_list();
List<TabGroupChatUser> userList = new ArrayList<>();
for (GroupChatDetailMemberDTO member : memberList) {
String userId = member.getUserid();
TabGroupChatUser user = this.groupChatUserMapper.selectByUserIdAndChatId(groupChatId, userId);
if (null != user) {
logger.info("更新用户");
this.matchGicMember(wxEnterpriseId, enterpriseId, member.getUnionid(), userId, user);
this.groupChatUserMapper.updateByPrimaryKey(user);
continue;
}
user = new TabGroupChatUser();
user.setChatUserId(UniqueIdUtils.uniqueLong());
user.setWxEnterpriseId(wxEnterpriseId);
user.setEnterpriseId(enterpriseId);
user.setUserType(member.getType());
user.setJoinTime(new Date(member.getJoin_time() * 1000));
user.setUserName(member.getName());
user.setNickName(member.getGroup_nickname());
user.setGroupChatId(groupChatId);
user.setUserId(userId);
user.setJoinScene(member.getJoin_scene());
user.setUnionid(member.getUnionid());
user.setDeleteFlag(0);
user.setStatusFlag(1);
user.setCreateTime(new Date());
user.setUpdateTime(new Date());
if (null != member.getInvitor()) {
user.setInvitorUserId(member.getInvitor().getUserid());
}
this.matchGicMember(wxEnterpriseId, enterpriseId, member.getUnionid(), userId, user);
userList.add(user);
}
for (TabGroupChatUser item : userList) {
this.groupChatUserMapper.insert(item);
}
}
private void matchGicMember(String wxEnterpriseId, String enterpriseId, String unionid, String externalUserId,
TabGroupChatUser user) {
if (StringUtils.isBlank(enterpriseId)) {
return;
}
if (StringUtils.isNotBlank(unionid)) {
MemberDTO member = this.memberService.getMemberByUnionid(unionid, enterpriseId);
if (null != member) {
user.setMemberId(member.getMemberId());
user.setUserType(3);
}
} else if (StringUtils.isNotBlank(externalUserId)) {
List<TabHaobanExternalClerkRelated> list = this.externalClerkRelatedService
.listExternalByExternalUserid(wxEnterpriseId, externalUserId);
list = list.stream().filter(dto -> StringUtils.isNotBlank(dto.getMemberId())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(list)) {
user.setMemberId(list.get(0).getMemberId());
user.setUserType(3);
}
}
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat.impl;
import org.springframework.stereotype.Service;
import com.gic.haoban.manage.service.service.chat.GroupChatUserService;
@Service
public class GroupChatUserServiceImpl implements GroupChatUserService{
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.hm;
import java.util.List;
import com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO;
/**
*
* @ClassName: HmLinkChatService
* @Description: 群链接人群配置
* @author xugh
* @date 2022年11月26日 上午6:47:30
*
*/
public interface HmLinkChatService {
public List<HmLinkChatDTO> listByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId);
public int save(Long linkId, List<HmLinkChatDTO> list);
}
package com.gic.haoban.manage.service.service.hm.impl;
import java.util.List;
import org.springframework.stereotype.Service;
import com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO;
import com.gic.haoban.manage.service.service.hm.HmLinkChatService;
@Service("hmLinkChatService")
public class HmLinkChatServiceImpl implements HmLinkChatService{
@Override
public List<HmLinkChatDTO> listByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId) {
// TODO Auto-generated method stub
return null;
}
@Override
public int save(Long linkId, List<HmLinkChatDTO> list) {
return 0;
}
}
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