Commit 17025530 by zzd

Merge remote-tracking branch 'origin/developer' into developer

parents 72ebae55 2f100e0f
......@@ -10,6 +10,17 @@ public class ContentMaterialDTO implements Serializable {
private int materialType;
private String imgUrl;
// 1群发 2朋友圈
private int mediaType ;
public int getMediaType() {
return mediaType;
}
public void setMediaType(int mediaType) {
this.mediaType = mediaType;
}
public String getImgUrl() {
return imgUrl;
......
......@@ -18,6 +18,7 @@ public class GroupChatDataDTO implements Serializable{
private Long dataId;
private String wxEnterpriseId;
private String staffId;
private String staffName ;
/**统计日期*/
private java.util.Date date;
/**新增客户群数量*/
......@@ -38,7 +39,15 @@ public class GroupChatDataDTO implements Serializable{
private Integer migrateTraineeChatCnt;
private java.util.Date createTime;
public void setDataId(Long dataId){
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public void setDataId(Long dataId){
this.dataId = dataId;
}
......
......@@ -43,6 +43,16 @@ public class GroupChatHmDTO implements Serializable {
private List<Long> chatIdList;
/**已关联链接数*/
private Integer linkCount;
// 1有效 2作废 3待生效
private Integer statusFlag ;
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public void setChatHmId(Long chatHmId) {
this.chatHmId = chatHmId;
......
......@@ -46,8 +46,18 @@ public class GroupChatPlanDTO implements Serializable{
private Integer successChatCount;
/**总群数*/
private Integer totalChatCount;
public String getWxEnterpriseId() {
// 1代发送 2已发送
private Integer sendFlag;
public Integer getSendFlag() {
return sendFlag;
}
public void setSendFlag(Integer sendFlag) {
this.sendFlag = sendFlag;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
......
......@@ -11,7 +11,7 @@ import java.io.Serializable;
* @Modify
* @CopyRight
*/
public class HmLinkChatDTO extends HmLinkDTO implements Serializable {
public class HmLinkChatDTO implements Serializable {
private static final long serialVersionUID = 45285331843100L;
......@@ -29,7 +29,43 @@ public class HmLinkChatDTO extends HmLinkDTO implements Serializable {
private java.util.Date createTime;
private java.util.Date updateTime;
private Integer deleteFlag;
private Long linkId ;
private Long linkId;
private String linkCode;
private String shortCode;
private String name;
private Integer linkCount ;
public Integer getLinkCount() {
return linkCount;
}
public void setLinkCount(Integer linkCount) {
this.linkCount = linkCount;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getShortCode() {
return shortCode;
}
public void setShortCode(String shortCode) {
this.shortCode = shortCode;
}
public String getLinkCode() {
return linkCode;
}
public void setLinkCode(String linkCode) {
this.linkCode = linkCode;
}
public Long getLinkId() {
return linkId;
......
package com.gic.haoban.manage.api.dto.qdto.chat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
public class ChatDataSearchQDTO implements Serializable {
private static final long serialVersionUID = -2777117993521926985L;
private String wxEnterpriseId;
private Date startDate;
private Date endDate;
private List<String> staffIdList;
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public Date getStartDate() {
return startDate;
}
public Date getEndDate() {
return endDate;
}
public List<String> getStaffIdList() {
return staffIdList;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public void setStaffIdList(List<String> staffIdList) {
this.staffIdList = staffIdList;
}
}
......@@ -2,6 +2,7 @@ package com.gic.haoban.manage.api.dto.qdto.chat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
public class ChatHmSearchQDTO implements Serializable {
......@@ -12,7 +13,26 @@ public class ChatHmSearchQDTO implements Serializable {
private String wxEnterpriseId;
private String enterpriseId;
private String searchParams;
private Integer status;
// 1有效 2作废
private Integer status ;
private Long linkId;
private List<Long> chatHmIdList;
public List<Long> getChatHmIdList() {
return chatHmIdList;
}
public void setChatHmIdList(List<Long> chatHmIdList) {
this.chatHmIdList = chatHmIdList;
}
public Long getLinkId() {
return linkId;
}
public void setLinkId(Long linkId) {
this.linkId = linkId;
}
public Date getStartDate() {
return startDate;
......
......@@ -5,31 +5,46 @@ import java.util.Date;
public class GroupChatPlanSearchQDTO implements Serializable {
private static final long serialVersionUID = 7983127960892502325L;
private Date startDate;
private Date endDate;
/**
* @Fields serialVersionUID : TODO(用一句话描述这个变量表示什么)
*/
private static final long serialVersionUID = -4052311727115335624L;
private String wxEnterpriseId;
private String enterpriseId;
private String searchParams;
// 1进行中、2未开始、3已结束
private Integer status;
private Long planId ;
// 群主 1待发送 2已发送
private Integer sendStatus ;
// 群名称
private String chatName ;
private Long planId;
private Date startDate;
private Date endDate;
private String clerkId ;
public String getChatName() {
return chatName;
}
public Long getPlanId() {
return planId;
public void setChatName(String chatName) {
this.chatName = chatName;
}
public void setPlanId(Long planId) {
this.planId = planId;
public Integer getSendStatus() {
return sendStatus;
}
public Date getStartDate() {
return startDate;
public void setSendStatus(Integer sendStatus) {
this.sendStatus = sendStatus;
}
public Date getEndDate() {
return endDate;
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getWxEnterpriseId() {
......@@ -48,12 +63,16 @@ public class GroupChatPlanSearchQDTO implements Serializable {
return status;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
public Long getPlanId() {
return planId;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
public Date getStartDate() {
return startDate;
}
public Date getEndDate() {
return endDate;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
......@@ -71,4 +90,17 @@ public class GroupChatPlanSearchQDTO implements Serializable {
public void setStatus(Integer status) {
this.status = status;
}
public void setPlanId(Long planId) {
this.planId = planId;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
}
......@@ -19,16 +19,29 @@ public class GroupChatSearchQDTO implements Serializable {
private Date dismissEndDate;
// 群主列表
private List<String> staffIdList;
// 群活码id
private Long chatHmId ;
private String staffId ;
private int gicFlag = 1 ;
private Long chatHmId ;
private List<Long> groupChatIdList ;
private String sortColumn ;
private String sortType = "desc" ;
// 群列表页需要显示未关联gic商户的
private boolean chatPageFlag = false ;
public boolean isChatPageFlag() {
return chatPageFlag;
}
public String getStaffId() {
return staffId;
public void setChatPageFlag(boolean chatPageFlag) {
this.chatPageFlag = chatPageFlag;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
public List<Long> getGroupChatIdList() {
return groupChatIdList;
}
public void setGroupChatIdList(List<Long> groupChatIdList) {
this.groupChatIdList = groupChatIdList;
}
public Long getChatHmId() {
......@@ -39,6 +52,38 @@ public class GroupChatSearchQDTO implements Serializable {
this.chatHmId = chatHmId;
}
public String getSortColumn() {
return sortColumn;
}
public String getSortType() {
return sortType;
}
public void setSortColumn(String sortColumn) {
this.sortColumn = sortColumn;
}
public void setSortType(String sortType) {
this.sortType = sortType;
}
public int getGicFlag() {
return gicFlag;
}
public void setGicFlag(int gicFlag) {
this.gicFlag = gicFlag;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public Date getDismissStartDate() {
return dismissStartDate;
}
......
......@@ -2,7 +2,6 @@ package com.gic.haoban.manage.api.dto.qdto.chat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
public class GroupChatUserSearchQDTO implements Serializable {
......
......@@ -8,10 +8,19 @@ public class HmLinkChatQDTO implements Serializable {
* @Fields serialVersionUID : TODO(用一句话描述这个变量表示什么)
*/
private static final long serialVersionUID = 7581226892004325992L;
private String wxEnterpriseId ;
private String wxEnterpriseId;
private String enterpriseId;
private Long chatHmId;
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
......
......@@ -63,6 +63,17 @@ public interface GroupChatApiService {
* @throws
*/
public ServiceResponse<Void> refreshChatInfo(Long groupChatId);
/**
*
* @Title: refreshChatInfo
* @Description: 刷新群信息,从队列获取
* @author xugh
* @param groupChatId
* @return
* @throws
*/
public ServiceResponse<Void> refreshChatInfoFromMQ(String params);
/**
*
......
package com.gic.haoban.manage.api.service.chat;
import java.util.List;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO;
public interface GroupChatDataApiService {
/**
*
* @Title: chatDataTimer
* @Description: 统计数据定时从企微拉取
* @author xugh
* @param params
* @throws
*/
public ServiceResponse<Void> chatDataTimer(String params);
/**
*
* @Title: listTotalData
* @Description: 总计
* @author xugh
* @param qdto
* @return
* @throws
*/
public ServiceResponse<GroupChatDataDTO> listTotalData(ChatDataSearchQDTO qdto);
/**
*
* @Title: listForChat
* @Description: 图表数据
* @author xugh
* @param qdto
* @return
* @throws
*/
public ServiceResponse<List<GroupChatDataDTO>> listForChat(ChatDataSearchQDTO qdto);
/**
*
* @Title: listStaffData
* @Description: 群主数据
* @author xugh
* @param qdto
* @param basePageInfo
* @return
* @throws
*/
public ServiceResponse<Page<GroupChatDataDTO>> listStaffData(ChatDataSearchQDTO qdto, BasePageInfo basePageInfo);
}
......@@ -6,6 +6,7 @@ import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.ChatHmSearchQDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.HmLinkChatQDTO;
/**
*
......@@ -25,7 +26,19 @@ public interface GroupChatHmApiService {
// 保存/更新
public ServiceResponse<GroupChatHmDTO> save(GroupChatHmDTO dto);
/**
*
* @Title: discard
* @Description: 废弃
* @author xugh
* @param chatHmId
* @param wxEnterpriseId
* @return
* @throws
*/
public ServiceResponse<Void> discard(Long chatHmId, String wxEnterpriseId , String clerkId, String clerkName);
/**
*
* @Title: listChatLink
......@@ -36,6 +49,6 @@ public interface GroupChatHmApiService {
* @return
* @throws
*/
public ServiceResponse<Page<HmLinkChatDTO>> listPageChatLink(String wxEnterpriseId, Long chatHmId , BasePageInfo basePageInfo);
public ServiceResponse<Page<HmLinkChatDTO>> listPageChatLink(HmLinkChatQDTO qdto, BasePageInfo basePageInfo);
}
......@@ -43,4 +43,8 @@ public interface GroupChatPlanApiService {
public ServiceResponse<Page<GroupChatPlanLogDTO>> listLogPage(Long planId, GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo);
public ServiceResponse<Void> del(String clerkId, String clerkName, Long planId);
public ServiceResponse<Void> stop(String clerkId, String clerkName, Long planId) ;
}
package com.gic.haoban.manage.service.dao.mapper.chat;
import java.util.List;
import java.util.Map;
import com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatData;
/**
......@@ -18,5 +19,9 @@ public interface GroupChatDataMapper {
public int insert(TabGroupChatData entity);
public List<TabGroupChatData> listByParams(Map<String, Object> params);
public GroupChatDataDTO listTotalData(ChatDataSearchQDTO qdto);
public List<GroupChatDataDTO> listForChat(ChatDataSearchQDTO qdto);
public List<GroupChatDataDTO> listStaffData(ChatDataSearchQDTO qdto);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper.chat;
import java.util.Date;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.api.dto.qdto.chat.ChatHmSearchQDTO;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatHm;
/**
......@@ -24,11 +24,11 @@ public interface GroupChatHmMapper {
public int updateById(TabGroupChatHm hm);
public int discard(@Param("chatHmId") Long chatHmId, @Param("wxEnterpriseId") String wxEnterpriseId,
@Param("clerkId") String clerkId, @Param("clerkName") String clerkName);
public TabGroupChatHm selectById(Long chatHmId);
public List<TabGroupChatHm> list(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("enterpriseId") String enterpriseId, @Param("startDate") Date startDate,
@Param("endDate") Date endDate, @Param("searchParams") String searchParams,
@Param("statusFlag") Integer statusFlag);
public List<TabGroupChatHm> list(ChatHmSearchQDTO qdto);
}
\ No newline at end of file
......@@ -17,9 +17,9 @@ import com.gic.haoban.manage.service.entity.chat.TabGroupChatHmRelation;
*/
public interface GroupChatHmRelationMapper {
public int insert(TabGroupChatHmRelation entity);
public int insertBatch(List<TabGroupChatHmRelation> list);
public int deleteById(@Param("chatHmId") Long chatHmId, @Param("groupChatId") Long groupChatId);
public int delete(@Param("chatHmId") Long chatHmId, @Param("groupChatIdList") List<Long> groupChatIdList);
public int updateStatus(@Param("chatHmId") Long chatHmId, @Param("groupChatId") Long groupChatId,
@Param("statusFlag") int statusFlag);
......
......@@ -29,12 +29,17 @@ public interface GroupChatMapper {
public void updateWxChatIdDk(@Param("staffId") String staffId, @Param("name") String name,
@Param("chatAddTime") Date chatAddTime, @Param("wxChatIdDk") String wxChatIdDk);
public int updateData();
public int updateData(@Param("groupChatId") Long groupChatId, @Param("totalCount") int totalCount,
@Param("totalMemberCount") int totalMemberCount, @Param("addMemberCount") int addMemberCount,
@Param("addCount") int addCount, @Param("quitCount") int quitCount,
@Param("quitMemberCount") int quitMemberCount);
public int addMemberCount(@Param("groupChatId") Long groupChatId);
// 更新群状态
public int updateChatStatus(@Param("groupChatId") Long groupChatId, @Param("chatStatus") int chatStatus);
// 更下线
// 下线(标识不能通过活码入群)
public int chatOff(@Param("groupChatId") Long groupChatId);
public TabGroupChat selectById(Long groupChatId);
......@@ -43,6 +48,9 @@ public interface GroupChatMapper {
public TabGroupChat selectByWxChatId(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("wxChatId") String wxChatId);
public List<TabGroupChat> listByWxWxChatIdList(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("wxChatIdList") List<String> wxChatIdList) ;
public List<TabGroupChat> listAllNeedInit();
......
......@@ -2,6 +2,8 @@ package com.gic.haoban.manage.service.dao.mapper.chat;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlan;
......@@ -18,7 +20,13 @@ public interface GroupChatPlanMapper {
public int insert(TabGroupChatPlan entity);
public int deleteById(Long planId);
public int deleteById(@Param("planId") Long planId, @Param("clerkId") String clerkId,
@Param("clerkName") String clerkName);
public int stopById(@Param("planId") Long planId, @Param("clerkId") String clerkId,
@Param("clerkName") String clerkName);
public int updateSendFlag(@Param("planId") Long planId);
public int updateById(TabGroupChatPlan entity);
......
......@@ -32,7 +32,25 @@ public interface GroupChatUserMapper {
public List<TabGroupChatUser> listAllChatUser(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("groupChatId") Long groupChatId);
public List<GroupChatUserDTO> listPage(GroupChatUserSearchQDTO qdto);
/**
*
* @Title: listByExternalUseridForMatch
* @Description: 通过外部联系人查询需要匹配gic会员的列表
* @author xugh
* @param wxEnterpriseId
* @param enterpriseId
* @param externalUserid
* @return
* @throws
*/
public List<TabGroupChatUser> listByExternalUseridForMatch(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("enterpriseId") String enterpriseId, @Param("externalUserid") String externalUserid);
public void updateToGicMember(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("enterpriseId") String enterpriseId, @Param("externalUserid") String externalUserid,
@Param("memberId") String memberId);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper.hm;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
......@@ -28,5 +29,8 @@ public interface HmLinkChatMapper {
public List<HmLinkChatDTO> listByLinkId(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("enterpriseId") String enterpriseId, @Param("linkId") Long linkId);
public List<HmLinkChatDTO> getLinkCountForHm(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("chatHmIdList") List<Long> chatHmIdList) ;
public List<HmLinkChatDTO> listPage(HmLinkChatQDTO qdto) ;
}
\ No newline at end of file
......@@ -38,10 +38,18 @@ public class TabGroupChatHm implements Serializable{
private java.util.Date updateTime;
/**关联群数量*/
private Integer chatCount;
/**已关联链接数*/
private Integer linkCount;
// 1有效 2作废 3待生效
private Integer statusFlag ;
public void setChatHmId(Long chatHmId){
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public void setChatHmId(Long chatHmId){
this.chatHmId = chatHmId;
}
......@@ -174,11 +182,4 @@ public class TabGroupChatHm implements Serializable{
public Integer getChatCount(){
return chatCount;
}
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 ;
import java.io.Serializable;
/**
*
......@@ -11,44 +11,54 @@ import java.io.Serializable ;
* @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;
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 modifierId;
private String modifierName;
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;
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;
private String wxEnterpriseId;
private String enterpriseId;
public String getWxEnterpriseId() {
// 1代发送 2已发送
private Integer sendFlag;
public Integer getSendFlag() {
return sendFlag;
}
public void setSendFlag(Integer sendFlag) {
this.sendFlag = sendFlag;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
......@@ -80,137 +90,155 @@ public class TabGroupChatPlan implements Serializable{
this.modifierName = modifierName;
}
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 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;
}
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 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
......@@ -52,8 +52,18 @@ public class TabGroupChatUser implements Serializable{
/**入群说明*/
private String joinRemark;
private String joinState;
// 0 成员 1群主 2管理员
private Integer adminFlag ;
public String getInvitorUserName() {
public Integer getAdminFlag() {
return adminFlag;
}
public void setAdminFlag(Integer adminFlag) {
this.adminFlag = adminFlag;
}
public String getInvitorUserName() {
return invitorUserName;
}
......
......@@ -40,8 +40,18 @@ public class GroupChatHmBO implements Serializable{
private Integer chatCount;
/**已关联链接数*/
private Integer linkCount;
// 1有效 2作废 3待生效
private Integer statusFlag ;
public void setChatHmId(Long chatHmId){
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public void setChatHmId(Long chatHmId){
this.chatHmId = chatHmId;
}
......
......@@ -47,8 +47,18 @@ public class GroupChatPlanBO implements Serializable{
private Integer successChatCount;
/**总群数*/
private Integer totalChatCount;
public String getWxEnterpriseId() {
// 1代发送 2已发送
private Integer sendFlag;
public Integer getSendFlag() {
return sendFlag;
}
public void setSendFlag(Integer sendFlag) {
this.sendFlag = sendFlag;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
......
package com.gic.haoban.manage.service.service.chat;
import java.util.List;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO;
public interface GroupChatDataService {
/**
*
* @Title: chatDataTimer
......@@ -10,5 +17,12 @@ public interface GroupChatDataService {
* @param params
* @throws
*/
public void chatDataTimer(String params) ;
public void chatDataTimer(String params);
public GroupChatDataDTO listTotalData(ChatDataSearchQDTO qdto);
public List<GroupChatDataDTO> listForChat(ChatDataSearchQDTO qdto);
public Page<GroupChatDataDTO> listStaffData(ChatDataSearchQDTO qdto, BasePageInfo basePageInfo);
}
\ No newline at end of file
......@@ -24,4 +24,6 @@ public interface GroupChatHmService {
*/
public void handleChatOff(Long groupChat);
public void discard(Long chatHmId, String wxEnterpriseId , String clerkId, String clerkName);
}
\ No newline at end of file
......@@ -21,4 +21,8 @@ public interface GroupChatPlanService {
public Page<GroupChatPlanLogDTO> listLogPage(GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo);
public void del(String clerkId, String clerkName, Long planId);
public void stop(String clerkId, String clerkName, Long planId) ;
}
\ No newline at end of file
......@@ -91,7 +91,7 @@ public interface GroupChatService {
* @throws
*/
public List<GroupChatOwnerHistoryDTO> listOwnerHistory(Long groupChatId, String WxEnterpriseId);
/**
*
* @Title: transfer
......@@ -103,6 +103,18 @@ public interface GroupChatService {
* @return
* @throws
*/
public void transfer(String wxEnterpriseId , String staffId , List<Long> groupChatIdList) ;
public void transfer(String wxEnterpriseId, String staffId, List<Long> groupChatIdList);
/**
*
* @Title: matchMemberId
* @Description: 加好友匹配客户
* @author xugh
* @param wxEnterpriseId
* @param memberId
* @param externalUserId
* @throws
*/
public void matchGicMember(String wxEnterpriseId, String enterpriseId, String memberId, String externalUserId);
}
\ No newline at end of file
......@@ -8,5 +8,5 @@ import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO;
public interface GroupChatUserService {
Page<GroupChatUserDTO> listPage(GroupChatUserSearchQDTO qdto, BasePageInfo basePageInfo);
}
\ No newline at end of file
......@@ -14,23 +14,31 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.PageHelperUtils;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.OwnerSearchQDTO;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatDataMapper;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatOwnerMapper;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatData;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.chat.GroupChatDataService;
import com.gic.wechat.api.dto.qywx.chat.GroupChatQwDataDTO;
import com.gic.wechat.api.dto.qywx.chat.GroupChatQwDataItemDTO;
import com.gic.wechat.api.service.qywx.QywxChatApiService;
import com.github.pagehelper.PageHelper;
@Service
@Service("groupChatDataService")
public class GroupChatDataServiceImpl implements GroupChatDataService {
private static final Logger logger = LoggerFactory.getLogger(GroupChatDataService.class);
......@@ -45,21 +53,59 @@ public class GroupChatDataServiceImpl implements GroupChatDataService {
private GroupChatOwnerMapper groupChatOwnerMapper;
@Autowired
private GroupChatDataMapper groupChatDataMapper;
@Autowired
private WxEnterpriseMapper wxEnterpriseMapper;
@Override
public List<GroupChatDataDTO> listForChat(ChatDataSearchQDTO qdto) {
return this.groupChatDataMapper.listForChat(qdto);
}
@Override
public Page<GroupChatDataDTO> listStaffData(ChatDataSearchQDTO qdto, BasePageInfo basePageInfo) {
PageHelper.startPage(basePageInfo);
List<GroupChatDataDTO> list = this.groupChatDataMapper.listStaffData(qdto);
Page<GroupChatDataDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, GroupChatDataDTO.class);
return retPage;
}
@Override
public GroupChatDataDTO listTotalData(ChatDataSearchQDTO qdto) {
return this.groupChatDataMapper.listTotalData(qdto);
}
@Override
public void chatDataTimer(String params) {
t("f5f8c78e395e4ca1a493707316096097");
logger.info("群统计定时开始");
List<TabHaobanWxEnterprise> wxEnterpriseList = this.wxEnterpriseMapper.listByIds(null);
for (TabHaobanWxEnterprise item : wxEnterpriseList) {
try {
this.getDataFormQw(item.getWxEnterpriseId());
} catch (Exception e) {
logger.info("统计异常,wxeid={}", item.getWxEnterpriseId());
e.printStackTrace();
}
}
}
private void t(String wxEnterpriseId) {
private void getDataFormQw(String wxEnterpriseId) {
logger.info("开始处理wxEnterpriseId={}", wxEnterpriseId);
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
if (null == qwDTO) {
logger.info("wxEnterpriseId不存在,id={}", wxEnterpriseId);
return;
}
if (qwDTO.getWxSecurityType() == 0) {
logger.info("wxSecurityType=0,不处理,id={}", wxEnterpriseId);
return;
}
OwnerSearchQDTO qdto = new OwnerSearchQDTO();
qdto.setWxEnterpriseId(wxEnterpriseId);
List<GroupChatOwnerDTO> list = this.groupChatOwnerMapper.listOwner(qdto);
if (CollectionUtils.isEmpty(list)) {
logger.info("无群主记录,不处理");
return;
}
List<String> userIdList = null;
Map<String, String> staffIdMap = new HashMap<>();
if (qwDTO.needOpenUserId3th()) {
......@@ -71,9 +117,11 @@ public class GroupChatDataServiceImpl implements GroupChatDataService {
staffIdMap = list.stream().collect(
Collectors.toMap(GroupChatOwnerDTO::getWxUserId, GroupChatOwnerDTO::getStaffId, (k1, k2) -> k1));
}
Date date = DateUtil.addDay(DateUtil.getStartTimeOfDay(), -1);
Long time = date.getTime() / 1000;
ServiceResponse<List<GroupChatQwDataDTO>> resp = this.qywxChatApiService.statistic(qwDTO.getThirdCorpid(),
config.getWxSuiteid(), userIdList, date.getTime() / 1000, date.getTime() / 1000);
config.getWxSuiteid(), userIdList, time, time);
logger.info(JSON.toJSONString(resp));
List<GroupChatQwDataDTO> dataList = resp.getResult();
......
......@@ -36,9 +36,11 @@ import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.StaffMapper;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatOwnerMapper;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatPlanLogMapper;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatPlanMapper;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatOwner;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlan;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanLog;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanOwnerLog;
......@@ -50,6 +52,8 @@ import com.gic.haoban.manage.service.service.chat.GroupChatPlanOwnerLogService;
import com.gic.haoban.manage.service.service.chat.GroupChatPlanService;
import com.gic.haoban.manage.service.service.chat.GroupChatService;
import com.gic.mq.sdk.GicMQClient;
import com.gic.quartz.api.dto.QuartzTaskDTO;
import com.gic.quartz.api.service.QuartzService;
import com.gic.wechat.api.dto.qywx.QywxSendMessageResultDTO;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import com.github.pagehelper.PageHelper;
......@@ -81,6 +85,10 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
private ClerkService clerkService;
@Autowired
private StoreService storeService;
@Autowired
private QuartzService quartzService;
@Autowired
private GroupChatOwnerMapper groupChatOwnerMapper;
private static GicMQClient mqClient = GICMQClientUtil.getClientInstance();
......@@ -97,18 +105,27 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
@Override
public void save(GroupChatPlanDTO dto) {
TabGroupChatPlan entity = EntityUtil.changeEntityByJSON(TabGroupChatPlan.class, dto);
if (null == dto.getPlanId()) {
entity.setPlanId(UniqueIdUtils.uniqueLong());
Long planId = dto.getPlanId();
if (null == planId) {
planId = UniqueIdUtils.uniqueLong();
entity.setPlanId(planId);
if (entity.getSendType() == 1) {
entity.setSendTime(new Date());
}
this.groupChatPlanMapper.insert(entity);
// 立即发送
if (entity.getSendType() == 1) {
this.sendMQ(entity.getPlanId());
} else {
this.addOrDelTimer(entity.getPlanId(), entity.getSendTime(), 1);
}
} else {
this.groupChatPlanMapper.updateById(entity);
// 立即发送
if (entity.getSendType() == 1) {
this.sendMQ(entity.getPlanId());
} else {
this.addOrDelTimer(entity.getPlanId(), entity.getSendTime(), 1);
}
}
}
......@@ -136,7 +153,12 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
logger.info("计划不存在,planid={}", planId);
return;
}
if (plan.getSendFlag() == 2) {
logger.info("计划已执行过,planid={}", planId);
return;
}
// 控制重复发送
this.groupChatPlanMapper.updateSendFlag(planId);
String[] staffIdList = plan.getStaffIdList().split(",");
String wxEnterpriseId = plan.getWxEnterpriseId();
String enterpriseId = plan.getEnterpriseId();
......@@ -160,8 +182,9 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
ownerDTO.setSendStatus(0);
}
// 群主群数量
TabGroupChatOwner owner = this.groupChatOwnerMapper.selectByStaffId(staffId);
ownerDTO.setExpireDate(DateUtil.addDay(new Date(), plan.getExpireDays()));
ownerDTO.setTotalCount(0);
ownerDTO.setTotalCount(owner.getChatCount());
ownerDTO.setWxEnterpriseId(wxEnterpriseId);
ownerDTO.setEnterpriseId(enterpriseId);
ownerDTO.setStaffId(staffId);
......@@ -191,7 +214,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
JSONResponse respon = qywxSuiteApiService.resultExternalMessage(qwDTO.getThirdCorpid(),
config.getWxSuiteid(), msgid, null, userid);
logger.info("统计返回={}",JSON.toJSONString(respon));
logger.info("统计返回={}", JSON.toJSONString(respon));
if (respon.getErrorCode() == 0) {
List<QywxSendMessageResultDTO> list = (List<QywxSendMessageResultDTO>) respon.getList();
if (CollectionUtils.isNotEmpty(list)) {
......@@ -223,6 +246,17 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
}
@Override
public void del(String clerkId, String clerkName, Long planId) {
this.groupChatPlanMapper.deleteById(planId, clerkId, clerkName);
this.addOrDelTimer(planId, new Date(), 0);
}
@Override
public void stop(String clerkId, String clerkName, Long planId) {
this.groupChatPlanMapper.stopById(planId, clerkId, clerkName);
}
@Override
public Page<GroupChatPlanLogDTO> listLogPage(GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo) {
PageHelper.startPage(basePageInfo);
List<GroupChatPlanLogDTO> list = this.groupChatPlanLogMapper.listPlanLog(qdto);
......@@ -267,4 +301,33 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
return retPage;
}
public void addOrDelTimer(Long planId, Date sendTime, int status) {
QuartzTaskDTO quartzTask = new QuartzTaskDTO();
quartzTask.setTaskStatus(status);
String taskTimeInfo = this.getTaskTime(sendTime);
quartzTask.setTaskTimeInfo(taskTimeInfo);
quartzTask.setTaskService("com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService");
quartzTask.setTaskMethod("doPlanTimer");
quartzTask.setTaskParam(planId + "");
quartzTask.setReferId(planId + "");
try {
quartzService.addOrUpdateQuartzTask(quartzTask);
} catch (Exception e) {
logger.warn("提交定时任务异常", e);
}
}
private String getTaskTime(Date date) {
String timeInfo = DateUtil.dateToStr(date, "yyyyMMddHHmmss");
String year = timeInfo.substring(0, 4);
int month = Integer.parseInt(timeInfo.substring(4, 6));
int day = Integer.parseInt(timeInfo.substring(6, 8));
int hour = Integer.parseInt(timeInfo.substring(8, 10));
int minute = Integer.parseInt(timeInfo.substring(10, 12));
int second = Integer.parseInt(timeInfo.substring(12, 14));
String time = new StringBuilder().append(second).append(" ").append(minute).append(" ").append(hour).append(" ")
.append(day).append(" ").append(month).append(" ").append(year).toString();
return time;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.hm;
import java.util.List;
import java.util.Map;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
......@@ -22,5 +23,17 @@ public interface HmLinkChatService {
public int save(Long linkId, List<HmLinkChatDTO> list);
public Page<HmLinkChatDTO> listPage(HmLinkChatQDTO qdto, BasePageInfo basePageInfo);
/**
*
* @Title: getLinkCountForHm
* @Description: 查询活码关联链接数量
* @author xugh
* @param wxEnterpriseId
* @param chatHmIdList
* @return
* @throws
*/
public List<HmLinkChatDTO> getLinkCountForHm(String wxEnterpriseId, List<Long> chatHmIdList) ;
}
......@@ -62,5 +62,11 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
Page<HmLinkChatDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, HmLinkChatDTO.class);
return retPage;
}
@Override
public List<HmLinkChatDTO> getLinkCountForHm(String wxEnterpriseId, List<Long> chatHmIdList) {
return this.hmLinkChatMapper.getLinkCountForHm(wxEnterpriseId, chatHmIdList) ;
}
}
......@@ -170,6 +170,8 @@ public class MaterialServiceImpl implements MaterialService {
if(null != entity) {
old = EntityUtil.changeEntityByJSON(MaterialDTO.class, entity) ;
}
// 1群发 2朋友圈
from = entity.getMediaType() ;
}
Integer type = old.getMaterialType();
if (type == null) {
......@@ -207,12 +209,14 @@ public class MaterialServiceImpl implements MaterialService {
}
String[] arr = url.split("/");
int count = arr.length;
if(from==2 && entity.getMediaType()==2) {
if(from==2) {
// 朋友圈上传接口
if (type == 2) {
url+= "?imageView2/2/w/1440/h/1080" ;
}
jp = qywxSuiteApiService.uploadAttachment(qwDTO.getThirdCorpid(), config.getWxSuiteid(), CommonUtil.getFileByte(url), arr[count - 1], fileType.getCode());
}else {
// 群发上传
jp = qywxSuiteApiService.uploadMedia(qwDTO.getThirdCorpid(), config.getWxSuiteid(), CommonUtil.getFileByte(url), arr[count - 1], fileType.getCode());
}
if (jp.getErrorCode() == 0) {
......
......@@ -453,7 +453,7 @@ public class MaterialApiServiceImpl implements MaterialApiService {
public com.gic.api.base.commons.ServiceResponse<String> getMaterialId(String wxEnterpriseId, ContentMaterialDTO dto) {
List<ContentMaterialDTO> imageList = Arrays.asList(dto) ;
List<String> materialIdList = this.materialService.getImageMediaId(wxEnterpriseId, imageList, dto.getMaterialType());
List<String> materialIdList = this.materialService.getImageMediaId(wxEnterpriseId, imageList, dto.getMediaType());
if (CollectionUtils.isEmpty(materialIdList)) {
com.gic.api.base.commons.ServiceResponse.failure("9999", "素材记录不存") ;
}
......@@ -469,6 +469,7 @@ public class MaterialApiServiceImpl implements MaterialApiService {
if (lastUploadTime != null && lastUploadTime.after(compareDate) && StringUtils.isNotBlank(madiaId)) {
return com.gic.api.base.commons.ServiceResponse.success(madiaId) ;
}
JSONResponse json = this.materialService.reUpdalodMetailJson(materialId,2) ;
if (json.getErrorCode() == 0) {
madiaId= json.getResult().toString() ;
......
......@@ -101,6 +101,7 @@ import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.WelcomeService;
import com.gic.haoban.manage.service.service.WxEnterpriseRelatedService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.chat.GroupChatService;
import com.gic.haoban.manage.service.service.hm.HmLinkService;
import com.gic.haoban.manage.service.service.hm.WxUserAddLogService;
import com.gic.haoban.manage.service.util.CommonUtil;
......@@ -211,6 +212,8 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
private MemberEntranceApiService memberEntranceApiService;
@Autowired
private QywxSendService qywxSendService ;
@Autowired
private GroupChatService groupChatService ;
@Override
......@@ -527,6 +530,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
wxUserAddLogQDTO.setStaffName(staffName);
wxUserAddLogQDTO.setClerkId(hyClerkId);
this.wxUserAddLogService.save(wxUserAddLogQDTO);
if(StringUtils.isNotBlank(memberId)) {
this.groupChatService.matchGicMember(wxEnterpriseId, enterpriseId, memberId, externalUserId);
}
}
// 获取hm关联的导购
......
......@@ -659,7 +659,7 @@ public class MessageApiServiceImpl implements MessageApiService {
messageDTO.setPage(NoticeMessageTypeEnum.OFFLINE_PRE.getPageUrl());
messageDTO.setTitle(NoticeMessageTypeEnum.OFFLINE_PRE.getName());
Map<String, String> map = new HashMap<>();
map.put("事件", "完成预约");
map.put("事件", message);
List<ItemDTO> items = getItemsList(map);
messageDTO.setItems(items);
qywxSuiteApiService.sendMessage(qwDTO.getThirdCorpid(), config.getWxSuiteid(), messageDTO);
......
......@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
......@@ -49,16 +50,37 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
@Autowired
private WxEnterpriseRelatedService wxEnterpriseRelatedService;
@Autowired
private StaffClerkRelationService staffClerkRelationService ;
private StaffClerkRelationService staffClerkRelationService;
@Override
public ServiceResponse<Page<GroupChatDTO>> listPage(GroupChatSearchQDTO qdto, BasePageInfo basePageInfo) {
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<GroupChatBO> 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<String> relationIdList = this.staffClerkRelationService.listRelationsStaffId(new HashSet<>(staffIdList));
List<GroupChatDTO> dtoList = resultPage.getResult();
// 处理关联状态
boolean needClerkReltaion = (qdto.getStatus() == 1);
if (CollectionUtils.isNotEmpty(dtoList) && 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 -> {
one.setClerkRelationFlag(relationIdList.contains(one.getStaffId()) ? 1 : 0);
});
......@@ -141,13 +163,23 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
this.groupChatService.transfer(wxEnterpriseId, staffId, groupChatIdList);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Boolean> getSetGicFlag(String wxEnterpriseId) {
List<TabHaobanWxEnterpriseRelated> list = this.wxEnterpriseRelatedService.getByWxEnterpriseId(wxEnterpriseId) ;
if(CollectionUtils.isNotEmpty(list) && list.size()==1) {
return ServiceResponse.success(Boolean.TRUE) ;
List<TabHaobanWxEnterpriseRelated> list = this.wxEnterpriseRelatedService.getByWxEnterpriseId(wxEnterpriseId);
if (CollectionUtils.isNotEmpty(list) && list.size() == 1) {
return ServiceResponse.success(Boolean.TRUE);
}
return ServiceResponse.success(Boolean.FALSE) ;
return ServiceResponse.success(Boolean.FALSE);
}
@Override
public ServiceResponse<Void> refreshChatInfoFromMQ(String params) {
JSONObject json = JSONObject.parseObject(params);
List<Long> arr = json.parseArray(json.getString("groupChatIdList"), Long.class);
for (Long id : arr) {
this.refreshChatInfo(id);
}
return ServiceResponse.success();
}
}
package com.gic.haoban.manage.service.service.out.impl.chat;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO;
import com.gic.haoban.manage.api.service.chat.GroupChatDataApiService;
import com.gic.haoban.manage.service.service.chat.GroupChatDataService;
@Service("groupChatDataApiService")
public class GroupChatDataApiServiceImpl implements GroupChatDataApiService {
@Autowired
private GroupChatDataService groupChatDataService;
@Override
public ServiceResponse<Void> chatDataTimer(String params) {
this.groupChatDataService.chatDataTimer(params);
return ServiceResponse.success();
}
@Override
public ServiceResponse<GroupChatDataDTO> listTotalData(ChatDataSearchQDTO qdto) {
GroupChatDataDTO dto = this.groupChatDataService.listTotalData(qdto);
return ServiceResponse.success(dto);
}
@Override
public ServiceResponse<List<GroupChatDataDTO>> listForChat(ChatDataSearchQDTO qdto) {
List<GroupChatDataDTO> list = this.groupChatDataService.listForChat(qdto);
return ServiceResponse.success(list);
}
@Override
public ServiceResponse<Page<GroupChatDataDTO>> listStaffData(ChatDataSearchQDTO qdto, BasePageInfo basePageInfo) {
Page<GroupChatDataDTO> page = this.groupChatDataService.listStaffData(qdto, basePageInfo);
return ServiceResponse.success(page);
}
}
package com.gic.haoban.manage.service.service.out.impl.chat;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -37,6 +42,22 @@ public class GroupChatHmApiServiceImpl implements GroupChatHmApiService {
public ServiceResponse<Page<GroupChatHmDTO>> listPage(ChatHmSearchQDTO qdto, BasePageInfo basePageInfo) {
Page<GroupChatHmBO> page = this.groupChatHmService.listPage(qdto, basePageInfo);
Page<GroupChatHmDTO> resultPage = PageHelperUtils.changePageToCurrentPage(page, GroupChatHmDTO.class);
if(CollectionUtils.isNotEmpty(resultPage.getResult())) {
List<Long> chatHmIdList = resultPage.getResult().stream().map(dto -> dto.getChatHmId())
.collect(Collectors.toList());
List<HmLinkChatDTO> linkCount = this.hmLinkChatService.getLinkCountForHm(qdto.getWxEnterpriseId(),
chatHmIdList);
Map<Long, Integer> map = linkCount.stream()
.collect(Collectors.toMap(HmLinkChatDTO::getChatHmId, HmLinkChatDTO::getLinkCount, (k1, k2) -> k1));
resultPage.getResult().forEach(dto -> {
if (null != map.get(dto.getChatHmId())) {
dto.setLinkCount(map.get(dto.getChatHmId()));
} else {
dto.setLinkCount(0);
}
});
}
return ServiceResponse.success(resultPage);
}
......@@ -54,11 +75,13 @@ public class GroupChatHmApiServiceImpl implements GroupChatHmApiService {
}
@Override
public ServiceResponse<Page<HmLinkChatDTO>> listPageChatLink(String wxEnterpriseId, Long chatHmId,
BasePageInfo basePageInfo) {
HmLinkChatQDTO qdto = new HmLinkChatQDTO();
qdto.setWxEnterpriseId(wxEnterpriseId);
qdto.setChatHmId(chatHmId);
public ServiceResponse<Void> discard(Long chatHmId, String wxEnterpriseId, String clerkId, String clerkName) {
this.groupChatHmService.discard(chatHmId, wxEnterpriseId, clerkId, clerkName);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Page<HmLinkChatDTO>> listPageChatLink(HmLinkChatQDTO qdto, BasePageInfo basePageInfo) {
Page<HmLinkChatDTO> page = this.hmLinkChatService.listPage(qdto, basePageInfo);
return ServiceResponse.success(page);
}
......
......@@ -75,4 +75,16 @@ public class GroupChatPlanApiServiceImpl implements GroupChatPlanApiService {
return ServiceResponse.success(page);
}
@Override
public ServiceResponse<Void> del(String clerkId, String clerkName, Long planId) {
this.groupChatPlanService.del(clerkId, clerkName, planId);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> stop(String clerkId, String clerkName, Long planId) {
this.groupChatPlanService.stop(clerkId, clerkName, planId);
return ServiceResponse.success();
}
}
......@@ -22,6 +22,7 @@
<constructor-arg index="0" value="haoban-manage-service"/>
</bean>
<dubbo:service interface="com.gic.haoban.manage.api.service.chat.GroupChatDataApiService" ref="groupChatDataApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService" ref="groupChatPlanApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.chat.GroupChatHmApiService" ref="groupChatHmApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.chat.GroupChatApiService" ref="groupChatApiService" timeout="10000"/>
......
......@@ -68,11 +68,80 @@
)
]]>
</insert>
<select id="listTotalData" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO"
resultType="com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO">
select sum(chatTotal) chatTotal , sum(memberTotal) memberTotal,
SUM(newChatCnt) newChatCnt, SUM(chatHasMsg) chatHasMsg, SUM(newMemberCnt) newMemberCnt,
SUM(memberHasMsg) memberHasMsg, SUM(msgTotal) msgTotal
from (
SELECT
staffId, `date`, chatTotal, memberTotal,
SUM(newChatCnt) newChatCnt, SUM(chatHasMsg) chatHasMsg, SUM(newMemberCnt) newMemberCnt,
SUM(memberHasMsg) memberHasMsg, SUM(msgTotal) msgTotal
FROM
(SELECT
a.staff_id staffId, a.date `date`,
a.chat_total chatTotal, a.member_total memberTotal,
a.new_chat_cnt newChatCnt, a.chat_has_msg chatHasMsg, a.new_member_cnt newMemberCnt,
a.member_has_msg memberHasMsg, a.msg_total msgTotal
FROM tab_haoban_group_chat_data a
where a.wx_enterprise_id = #{wxEnterpriseId}
and a.date >= #{startDate} and a.date <![CDATA[ <= ]]> #{endDate}
<if test="null != staffIdList and staffIdList.size > 0">
and a.staff_id in
<foreach collection="staffIdList" close=")" open="(" index="index" item="staffId" separator=",">
#{staffId}
</foreach>
</if>
ORDER BY a.date DESC
) t1 GROUP BY staffId ) t2
</select>
<select id="listForChat" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO"
resultType="com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO">
select
a.date date ,
sum(a.new_chat_cnt) newChatCnt ,
sum(a.chat_has_msg) chatHasMsg ,
sum(a.new_member_cnt) newMemberCnt ,
sum(a.member_has_msg) memberHasMsg ,
sum(a.msg_total) msgTotal
from tab_haoban_group_chat_data a
where a.wx_enterprise_id = #{wxEnterpriseId}
and a.date >= #{startDate} and a.date <![CDATA[ <= ]]> #{endDate}
<if test="null != staffIdList and staffIdList.size > 0">
and a.staff_id in
<foreach collection="staffIdList" close=")" open="(" index="index" item="staffId" separator=",">
#{staffId}
</foreach>
</if>
group by a.date
</select>
<select id="listByParams" parameterType="java.util.Map"
resultMap="result-map-tabHaobanGroupChatData">
select
<include refid="Base_Column_List" />
from tab_haoban_group_chat_data
<select id="listStaffData" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO"
resultType="com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO">
SELECT
staffId, staffName, `date`, chatTotal, memberTotal,
SUM(newChatCnt), SUM(chatHasMsg), SUM(newMemberCnt),
SUM(memberHasMsg), SUM(msgTotal)
FROM
(SELECT
b.staff_name staffName, a.staff_id staffId, a.date `date`,
a.chat_total chatTotal, a.member_total memberTotal,
a.new_chat_cnt newChatCnt, a.chat_has_msg chatHasMsg, a.new_member_cnt newMemberCnt,
a.member_has_msg memberHasMsg, a.msg_total msgTotal
FROM tab_haoban_group_chat_data a LEFT JOIN tab_haoban_staff b ON a.staff_id = b.staff_id
where a.wx_enterprise_id = #{wxEnterpriseId}
and a.date >= #{startDate} and a.date <![CDATA[ <= ]]> #{endDate}
<if test="null != staffIdList and staffIdList.size > 0">
and a.staff_id in
<foreach collection="staffIdList" close=")" open="(" index="index" item="staffId" separator=",">
#{staffId}
</foreach>
</if>
ORDER BY a.date DESC
) tb GROUP BY staffId
</select>
</mapper>
\ No newline at end of file
......@@ -23,7 +23,7 @@
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
<result column="chat_count" property="chatCount" />
<result column="link_count" property="linkCount" />
<result column="status_flag" property="statusFlag"/>
</resultMap>
<sql id="Base_Column_List">
chat_hm_id,
......@@ -45,7 +45,7 @@
create_time,
update_time,
chat_count,
link_count
status_flag
</sql>
<!-- ===================== 新增 ======================== -->
<insert id="insert"
......@@ -71,12 +71,12 @@
create_time,
update_time,
chat_count,
link_count
status_flag
)VALUES(
#{chatHmId,jdbcType=BIGINT},
#{chatHmId},
#{chatHmCode},
#{wxEnterpriseId,jdbcType=CHAR},
#{enterpriseId,jdbcType=CHAR},
#{wxEnterpriseId},
#{enterpriseId},
#{name},
#{remark},
#{autoCreateRoom},
......@@ -88,18 +88,20 @@
#{creatorName},
#{modifierId},
#{modifierName},
#{deleteFlag},
#{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP},
0,
now(),
now(),
#{chatCount},
0
1
)
]]>
</insert>
<!-- =====================删除==================== -->
<update id="deleteById" parameterType="long">
UPDATE tab_haoban_group_chat_hm SET delete_flag = 1 WHERE chat_hm_id = #{chatHmId}
UPDATE
tab_haoban_group_chat_hm SET delete_flag = 1 WHERE chat_hm_id =
#{chatHmId}
</update>
......@@ -120,21 +122,42 @@
where chat_hm_id = #{chatHmId}
]]>
</update>
<update id="discard">
update tab_haoban_group_chat_hm set status_flag = 2 , update_time = now() , modifier_id=#{clerkId} , modifier_name=#{clerkName} where chat_hm_id = #{chatHmId} and wx_enterprise_id = #{wxEnterpriseId}
</update>
<!-- ============ 查询============= -->
<select id="selectById" parameterType="long" resultMap="result-map-tabHaobanGroupChatHm">
SELECT
<include refid="Base_Column_List" />
FROM tab_haoban_group_chat_hm WHERE chat_hm_id = #{chatHmId} and delete_flag = 0
<select id="selectById" parameterType="long"
resultMap="result-map-tabHaobanGroupChatHm">
SELECT
<include refid="Base_Column_List" />
FROM tab_haoban_group_chat_hm WHERE chat_hm_id = #{chatHmId} and
delete_flag = 0
</select>
<select id="list" resultMap="result-map-tabHaobanGroupChatHm">
<select id="list" resultMap="result-map-tabHaobanGroupChatHm" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.ChatHmSearchQDTO">
SELECT
<include refid="Base_Column_List" /> FROM tab_haoban_group_chat_hm WHERE
wx_enterprise_id =#{wxEnterpriseId} and enterprise_id=#{enterpriseId}
and delete_flag = 0
<include refid="Base_Column_List" />
FROM tab_haoban_group_chat_hm WHERE wx_enterprise_id =#{wxEnterpriseId} and enterprise_id=#{enterpriseId}
and delete_flag = 0
<if test="null != startDate">
and create_time >= #{startDate} and create_time <![CDATA[<=]]> #{endDate}
</if>
<if test="null != searchParams and '' !=searchParams ">
and name like '%${searchParams}%'
</if>
<if test="null != status">
and status_flag = #{status}
</if>
<if test="null !=chatHmIdList and chatHmIdList.size>0">
and chat_hm_id in
<foreach collection="chatHmIdList" close=")" index="index" item="id" open="(" separator=",">
#{id}
</foreach>
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -26,38 +26,40 @@
create_time,
update_time
</sql>
<!-- ===================== 新增 ======================== -->
<insert id="insert"
parameterType="com.gic.haoban.manage.service.entity.chat.TabGroupChatHmRelation">
<![CDATA[
INSERT INTO tab_haoban_group_chat_hm_relation(
relation_id,
wx_enterprise_id,
enterprise_id,
chat_hm_id,
group_chat_id,
delete_flag,
status_flag,
create_time,
update_time
)VALUES(
#{relationId},
#{wxEnterpriseId},
#{enterpriseId},
#{chatHmId},
#{groupChatId},
0,
1,
now(),
now()
)
]]>
<insert id="insertBatch">
INSERT INTO tab_haoban_group_chat_hm_relation(
relation_id,
wx_enterprise_id,
enterprise_id,
chat_hm_id,
group_chat_id,
delete_flag,
status_flag,
create_time,
update_time
)VALUES
<foreach collection="list" item="item" separator="," >
( #{item.relationId},
#{item.wxEnterpriseId},
#{item.enterpriseId},
#{item.chatHmId},
#{item.groupChatId},
0,
1,
now(),
now()
)
</foreach>
</insert>
<!-- =====================删除==================== -->
<delete id="deleteById">
UPDATE tab_haoban_group_chat_hm_relation SET delete_flag = 1 WHERE
where chat_hm_id = #{chatHmId} and group_chat_id= #{groupChatId}
<delete id="delete">
UPDATE tab_haoban_group_chat_hm_relation SET delete_flag = 1 , update_time=now() WHERE
chat_hm_id = #{chatHmId} and group_chat_id in
<foreach collection="groupChatIdList" item="id" close=")" index="index" open="(" separator=",">
#{id}
</foreach>
</delete>
......
......@@ -115,11 +115,31 @@
chat_status=#{chatStatus},
update_time=now(),
gic_flag=#{gicFlag},
original_staff_id = #{originalStaffId} ,
init_flag = 1
where group_chat_id = #{groupChatId}
]]>
</update>
<update id="updateData">
update tab_haoban_group_chat set
total_count = #{totalCount} ,
total_member_count = #{totalMemberCount},
add_member_count = #{addMemberCount} + add_member_count ,
add_count = #{addCount} + add_count,
quit_count = #{quitCount} + quit_count,
quit_member_count = #{quitMemberCount} + quit_member_count
where group_chat_id = #{groupChatId}
</update>
<update id="addMemberCount">
update tab_haoban_group_chat set
total_member_count = 1 + total_member_count,
add_member_count = 1 + add_member_count
where group_chat_id = #{groupChatId}
</update>
<update id="updateWxChatIdDk">
update tab_haoban_group_chat set wx_chat_id_dk=#{wxChatIdDk} where staff_id = #{staffId} and chat_add_time=#{chatAddTime} and name=#{name}
</update>
......@@ -163,7 +183,17 @@
and delete_flag = 0
</select>
<select id="listByWxWxChatIdList" resultMap="result-map-tabHaobanGroupChat">
select
<include refid="Base_Column_List" />
FROM tab_haoban_group_chat WHERE wx_chat_id in
<foreach collection="wxChatIdList" close=")" index="index" item="wxChatId" open="(" separator=",">
#{wxChatId}
</foreach>
and wx_enterprise_id = #{wxEnterpriseId}
and delete_flag = 0
</select>
<select id="getCountByStaffId" resultType="int">
select count(*) from tab_haoban_group_chat where staff_id = #{staffId} and delete_flag = 0
</select>
......@@ -177,8 +207,14 @@
group by wx_enterprise_id , staff_id
</select>
<select id="list" resultMap="result-map-tabHaobanGroupChat">
select <include refid="Base_Column_List" /> from tab_haoban_group_chat where wx_enterprise_id=#{wxEnterpriseId} and delete_flag = 0
<select id="list" resultMap="result-map-tabHaobanGroupChat" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatSearchQDTO">
select <include refid="Base_Column_List" /> from tab_haoban_group_chat where wx_enterprise_id=#{wxEnterpriseId}
<if test="chatPageFlag==true">
and (enterprise_id = #{enterpriseId} or enterprise_id is null)
</if>
<if test="chatPageFlag==false">
and enterprise_id = #{enterpriseId}
</if>
<if test="null != staffId">
and staff_id = #{staffId}
</if>
......@@ -194,10 +230,44 @@
<if test="null != status and 4==status">
and chat_status = 4
</if>
<if test="null != searchParams">
and name like '%${searchParams}%'
</if>
<if test="null != staffIdList and staffIdList.size>0">
and staff_id in
<foreach collection="staffIdList" close=")" index="index" item="staffId" open="(" separator=",">
#{staffId}
</foreach>
</if>
<if test="null != startDate">
and chat_add_time <![CDATA[ >=]]> #{startDate} and chat_add_time <![CDATA[ <= ]]> #{endDate}
</if>
<if test="null != dismissStartDate">
and chat_dissolve_time <![CDATA[ >=]]> #{startDate} and chat_dissolve_time <![CDATA[ <= ]]> #{endDate}
</if>
<if test="null != gicFlag and gicFlag ==0 ">
and gic_flag = 0
</if>
<if test="null == gicFlag or gicFlag ==1 ">
and gic_flag = 1
</if>
<if test="null != groupChatIdList and groupChatIdList.size>0">
and group_chat_id in
<foreach collection="groupChatIdList" close=")" open="(" index="index" item="groupChatId" separator=",">
#{groupChatId}
</foreach>
</if>
and delete_flag = 0
<if test="null == sortColumn">
order by chat_add_time desc
</if>
<if test="null != sortColumn">
order by ${sortColumn} ${sortType}
</if>
</select>
<update id="updateChatEnterpriseId">
update tab_haoban_group_chat set enterprise_id = #{enterpriseId} , update_time=now() where wx_enterprise_id=#{wxEnterpriseId}
update tab_haoban_group_chat set enterprise_id = #{enterpriseId} , update_time=now() , gic_flag = 1 where wx_enterprise_id=#{wxEnterpriseId}
<if test="null != groupChatIdList and groupChatIdList.size > 0">
and group_chat_id
<foreach collection="groupChatIdList" item="id" index="index" separator="," open="(" close=")">
......
......@@ -27,7 +27,7 @@
<result column="send_count" property="sendCount" />
<result column="success_chat_count" property="successChatCount" />
<result column="total_chat_count" property="totalChatCount" />
<result column="delete_flag" property="deleteFlag"/>
<result column="send_flag" property="sendFlag" />
</resultMap>
<sql id="Base_Column_List">
plan_id,
......@@ -50,10 +50,12 @@
staff_count,
send_count,
success_chat_count,
total_chat_count , wx_enterprise_id , enterprise_id
total_chat_count ,
wx_enterprise_id , enterprise_id , send_flag
</sql>
<!-- ===================== 新增 ======================== -->
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.chat.TabGroupChatPlan">
<insert id="insert"
parameterType="com.gic.haoban.manage.service.entity.chat.TabGroupChatPlan">
<![CDATA[
INSERT INTO tab_haoban_group_chat_plan(
plan_id,
......@@ -76,7 +78,7 @@
staff_count,
send_count,
success_chat_count,
total_chat_count , wx_enterprise_id , enterprise_id , delete_flag
total_chat_count , wx_enterprise_id , enterprise_id , delete_flag , send_flag
)VALUES(
#{planId},
#{name},
......@@ -98,17 +100,28 @@
#{staffCount},
#{sendCount},
#{successChatCount},
#{totalChatCount} , #{wxEnterpriseId} , #{enterpriseId} , 0
#{totalChatCount} , #{wxEnterpriseId} , #{enterpriseId} , 0 , 1
)
]]>
</insert>
<!-- =====================删除==================== -->
<update id="deleteById" parameterType="long">
UPDATE tab_haoban_group_chat_plan SET delete_flag = 1 WHERE plan_id = #{planId}
UPDATE
tab_haoban_group_chat_plan SET delete_flag = 1 , modifier_id =
#{clerkId} , modifier_name = #{clerkName} , update_time=now() WHERE plan_id = #{planId}
</update>
<update id="stopById" parameterType="long">
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}
</update>
<update id="updateSendFlag">
UPDATE tab_haoban_group_chat_plan SET send_flag = 2 , send_time = now() WHERE plan_id = #{planId}
</update>
<!-- ==================更新 ========== -->
<update id="updateById"
parameterType="com.gic.haoban.manage.service.entity.chat.TabGroupChatPlan">
......@@ -131,12 +144,36 @@
</update>
<!-- ============ 查询============= -->
<select id="selectById" parameterType="long" resultMap="result-map-tabHaobanGroupChatPlan">
SELECT <include refid="Base_Column_List" /> FROM tab_haoban_group_chat_plan WHERE plan_id = #{planId} and delete_flag = 0
<select id="selectById" parameterType="long"
resultMap="result-map-tabHaobanGroupChatPlan">
SELECT
<include refid="Base_Column_List" />
FROM tab_haoban_group_chat_plan WHERE plan_id = #{planId} and
delete_flag = 0
</select>
<select id="list" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO"
<select id="list"
parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO"
resultMap="result-map-tabHaobanGroupChatPlan">
select <include refid="Base_Column_List" /> from tab_haoban_group_chat_plan
select
<include refid="Base_Column_List" />
from tab_haoban_group_chat_plan where wx_enterprise_id
=#{wxEnterpriseId}
and enterprise_id = #{enterpriseId} and delete_flag = 0
<if test="null != status and status==1">
and start_time <![CDATA[<= ]]> now() and end_time >= now()
</if>
<if test="null != status and status==2">
and start_time > now()
</if>
<if test="null != status and status==3">
and end_time <![CDATA[<]]> now()
</if>
<if test="null != searchParams">
and name like '%${searchParams}%'
</if>
<if test="null != startDate">
and create_time <![CDATA[>=]]> #{startDate} and create_time <![CDATA[<=]]> #{endDate}
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -26,6 +26,7 @@
<result column="join_scene" property="joinScene" />
<result column="join_remark" property="joinRemark" />
<result column="join_state" property="joinState" />
<result column="admin_flag" property="adminFlag"/>
</resultMap>
<sql id="Base_Column_List">
chat_user_id,
......@@ -48,7 +49,7 @@
quit_scene,
join_scene,
join_remark,
join_state , invitor_user_name
join_state , invitor_user_name , admin_flag
</sql>
<!-- ===================== 新增 ======================== -->
<insert id="insert"
......@@ -75,7 +76,7 @@
quit_scene,
join_scene,
join_remark,
join_state , invitor_user_name
join_state , invitor_user_name , admin_flag
)VALUES(
#{chatUserId},
#{wxEnterpriseId},
......@@ -97,7 +98,7 @@
#{quitScene},
#{joinScene},
#{joinRemark},
#{joinState} , #{invitorUserName}
#{joinState} , #{invitorUserName} , #{adminFlag}
)
]]>
</insert>
......@@ -126,12 +127,10 @@
invitor_user_id=#{invitorUserId},
update_time=now(),
group_chat_id=#{groupChatId},
status_flag=#{statusFlag},
user_quit_time=#{userQuitTime},
quit_scene=#{quitScene},
join_scene=#{joinScene},
join_remark=#{joinRemark},
join_state=#{joinState}
join_state=#{joinState} ,
admin_flag = #{adminFlag}
where chat_user_id = #{chatUserId}
]]>
</update>
......@@ -154,6 +153,23 @@
select <include refid="Base_Column_List" /> from tab_haoban_group_chat_user where group_chat_id = #{groupChatId} and wx_enterprise_id = #{wxEnterpriseId} and status_flag = 1 and delete_flag = 0
</select>
<select id="listByExternalUseridForMatch" resultMap="result-map-tabHaobanGroupChatUser">
select <include refid="Base_Column_List" /> from tab_haoban_group_chat_user where user_id = #{externalUserid}
and wx_enterprise_id = #{wxEnterpriseId} and enterprise_id = #{enterpriseId}
and user_type != 3
and status_flag = 1 and delete_flag = 0
</select>
<update id="updateToGicMember">
update tab_haoban_group_chat_user set user_type = 3 , member_id = #{memberId} , update_time =now() where user_id = #{externalUserid}
and wx_enterprise_id = #{wxEnterpriseId} and enterprise_id = #{enterpriseId}
and user_type != 3
and status_flag = 1 and delete_flag = 0
</update>
<select id="listPage" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO" resultType="com.gic.haoban.manage.api.dto.chat.GroupChatUserDTO">
select
b.name chatName ,
......
......@@ -95,12 +95,19 @@
</select>
<select id="getLinkCountForHm" resultType="com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO">
select chat_hm_id chatHmId, COUNT(DISTINCT(link_id)) linkCount from tab_haoban_hm_link_chat where wx_enterprise_id = #{wxEnterpriseId}
and chat_hm_id in
<foreach collection="chatHmIdList" item="item" separator="," index="index" close=")" open="(">
#{item}
</foreach>
and delete_flag = 0 group by chat_hm_id
</select>
<select id="listPage" parameterType="com.gic.haoban.manage.api.dto.qdto.hm.HmLinkChatQDTO" resultType="com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO">
SELECT a.link_id , b.`name` , b.`link_code` , b.`short_code` FROM tab_haoban_hm_link_chat a LEFT JOIN tab_haoban_hm_link b ON a.link_id = b.link_id
WHERE a.wx_enterprise_id=#{wxEnterpriseId}
<if test="null != chatHmId">
and a.chat_hm_id = #{chatHmId}
</if>
SELECT a.link_id linkId , b.`name` name , b.`link_code` linkCode , b.`short_code` shortCode FROM tab_haoban_hm_link_chat a LEFT JOIN tab_haoban_hm_link b ON a.link_id = b.link_id
WHERE a.wx_enterprise_id=#{wxEnterpriseId} and a.enterprise_id=#{enterpriseId} and a.chat_hm_id = #{chatHmId}
GROUP BY a.`link_id`
</select>
......
......@@ -67,6 +67,7 @@ public class GroupChatController {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
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.controller.chat;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO;
import com.gic.haoban.manage.api.service.chat.GroupChatDataApiService;
import com.gic.haoban.manage.web.vo.chat.GroupChatDataVO;
/**
*
* @ClassName: GroupChatDataController
* @Description: 群统计
* @author xugh
* @date 2022年11月26日 上午9:32:56
*
*/
@RestController
@RequestMapping("/chat/data")
public class GroupChatDataController {
@Autowired
private GroupChatDataApiService groupChatDataApiService;
@RequestMapping("total")
public RestResponse<Object> listTotalData(ChatDataSearchQDTO qdto) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId();
qdto.setWxEnterpriseId(wxEnterpriseId);
ServiceResponse<GroupChatDataDTO> resp = this.groupChatDataApiService.listTotalData(qdto);
GroupChatDataVO vo = EntityUtil.changeEntityByJSON(GroupChatDataVO.class, resp.getResult());
return RestResponse.successResult(vo);
}
@RequestMapping("list-chat")
public RestResponse<Object> listForChat(ChatDataSearchQDTO qdto) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId();
qdto.setWxEnterpriseId(wxEnterpriseId);
ServiceResponse<List<GroupChatDataDTO>> resp = this.groupChatDataApiService.listForChat(qdto);
List<GroupChatDataVO> list = EntityUtil.changeEntityListByJSON(GroupChatDataVO.class, resp.getResult());
return RestResponse.successResult(list);
}
@RequestMapping("list-staff")
public RestResponse<Object> listStaffData(ChatDataSearchQDTO qdto, BasePageInfo basePageInfo) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId();
qdto.setWxEnterpriseId(wxEnterpriseId);
ServiceResponse<Page<GroupChatDataDTO>> resp = this.groupChatDataApiService.listStaffData(qdto, basePageInfo);
Page<GroupChatDataDTO> page = resp.getResult();
List<GroupChatDataVO> list = EntityUtil.changeEntityListByJSON(GroupChatDataVO.class, page.getResult());
Page<GroupChatDataVO> retPage = new Page<>();
retPage.setTotalCount(page.getTotalCount());
retPage.setCurrentPage(page.getCurrentPage());
retPage.setPageSize(page.getPageSize());
retPage.setResult(list);
return RestResponse.successResult(retPage);
}
}
package com.gic.haoban.manage.web.controller.chat;
import java.util.Date;
import org.apache.logging.log4j.LogManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -28,7 +31,9 @@ import com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService;
@RestController
@RequestMapping("/chat/plan")
public class GroupChatPlanController {
private static org.apache.logging.log4j.Logger logger = LogManager.getLogger(GroupChatPlanController.class);
@Autowired
private GroupChatPlanApiService groupChatPlanApiService;
......@@ -45,8 +50,29 @@ public class GroupChatPlanController {
return RestResponse.successResult();
}
@RequestMapping("del")
public RestResponse<Object> del(Long planId) {
if (null == planId) {
return RestResponse.failure("9999", "计划ID空");
}
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
this.groupChatPlanApiService.del(loginUser.getClerkId(), loginUser.getClerkName(), planId);
return RestResponse.successResult();
}
@RequestMapping("update")
public RestResponse<Object> update(@RequestBody GroupChatPlanDTO dto) {
ServiceResponse<GroupChatPlanDTO> resp = this.groupChatPlanApiService.detail(dto.getPlanId());
GroupChatPlanDTO plan = resp.getResult();
if (null == plan) {
return RestResponse.failure("9999", "计划不存在");
}
if (plan.getSendType() == 1) {
return RestResponse.failure("9999", "已发送的不能编辑");
}
if (null != plan.getSendTime() && plan.getSendTime().before(new Date())) {
return RestResponse.failure("9999", "已发送的不能编辑");
}
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
dto.setModifierId(loginUser.getClerkId());
dto.setModifierName(loginUser.getClerkName());
......@@ -75,6 +101,9 @@ public class GroupChatPlanController {
@RequestMapping("owner-log")
public RestResponse<Object> ownerLog(Long planId, GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo) {
if (null == planId) {
return RestResponse.failure("9999", "计划ID空");
}
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
qdto.setWxEnterpriseId(loginUser.getWxEnterpriseId());
ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> resp = this.groupChatPlanApiService.listOwnerLogPage(planId,
......@@ -87,6 +116,9 @@ public class GroupChatPlanController {
@RequestMapping("log")
public RestResponse<Object> log(Long planId, GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo) {
if (null == planId) {
return RestResponse.failure("9999", "计划ID空");
}
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
qdto.setWxEnterpriseId(loginUser.getWxEnterpriseId());
ServiceResponse<Page<GroupChatPlanLogDTO>> resp = this.groupChatPlanApiService.listLogPage(planId, qdto,
......
package com.gic.haoban.manage.web.vo.chat;
import java.io.Serializable ;
import java.io.Serializable;
/**
*
......@@ -11,122 +11,118 @@ import java.io.Serializable ;
* @Modify
* @CopyRight
*/
public class GroupChatDataVO 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;
}
public class GroupChatDataVO implements Serializable {
private static final long serialVersionUID = 21417308241400L;
private String staffName;
/**统计日期*/
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;
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
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() {
if (null == newChatCnt) {
return 0;
}
return newChatCnt;
}
public void setChatTotal(Integer chatTotal) {
this.chatTotal = chatTotal;
}
public Integer getChatTotal() {
if (null == chatTotal) {
return 0;
}
return chatTotal;
}
public void setChatHasMsg(Integer chatHasMsg) {
this.chatHasMsg = chatHasMsg;
}
public Integer getChatHasMsg() {
if (null == chatHasMsg) {
return 0;
}
return chatHasMsg;
}
public void setNewMemberCnt(Integer newMemberCnt) {
this.newMemberCnt = newMemberCnt;
}
public Integer getNewMemberCnt() {
if (null == newMemberCnt) {
return 0;
}
return newMemberCnt;
}
public void setMemberTotal(Integer memberTotal) {
this.memberTotal = memberTotal;
}
public Integer getMemberTotal() {
if (null == memberTotal) {
return 0;
}
return memberTotal;
}
public void setMemberHasMsg(Integer memberHasMsg) {
this.memberHasMsg = memberHasMsg;
}
public Integer getMemberHasMsg() {
if (null == memberHasMsg) {
return 0;
}
return memberHasMsg;
}
public void setMsgTotal(Integer msgTotal) {
this.msgTotal = msgTotal;
}
public Integer getMsgTotal() {
if (null == msgTotal) {
return 0;
}
return msgTotal;
}
}
\ No newline at end of file
package com.gic.haoban.manage.web.vo.chat;
import java.io.Serializable;
/**
*
* @ClassName: TabHaobanHmLinkChat
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 22:36:24
* @Modify
* @CopyRight
*/
public class HmLinkChatListVO implements Serializable {
private static final long serialVersionUID = 45285331843100L;
private Long linkId;
private String linkCode;
private String shortCode;
private String name;
public Long getLinkId() {
return linkId;
}
public String getLinkCode() {
return linkCode;
}
public String getShortCode() {
return shortCode;
}
public String getName() {
return name;
}
public void setLinkId(Long linkId) {
this.linkId = linkId;
}
public void setLinkCode(String linkCode) {
this.linkCode = linkCode;
}
public void setShortCode(String shortCode) {
this.shortCode = shortCode;
}
public void setName(String name) {
this.name = name;
}
}
\ No newline at end of file
package com.gic.haoban.manage.web.vo.chat;
import java.io.Serializable;
/**
*
* @ClassName: TabHaobanHmLinkChat
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 22:36:24
* @Modify
* @CopyRight
*/
public class HmLinkChatVO implements Serializable {
private static final long serialVersionUID = 45285331843100L;
private Long linkChatId;
/**人群*/
private String filterJson;
/**群活码ID*/
private Long chatHmId;
/**会员类型(0:会员筛选,1:会员分组)*/
private Integer memberType;
/**排序值*/
private Integer sortNum;
private Long linkId;
private String linkCode;
private String shortCode;
public String getShortCode() {
return shortCode;
}
public void setShortCode(String shortCode) {
this.shortCode = shortCode;
}
public String getLinkCode() {
return linkCode;
}
public void setLinkCode(String linkCode) {
this.linkCode = linkCode;
}
public Long getLinkId() {
return linkId;
}
public void setLinkId(Long linkId) {
this.linkId = linkId;
}
public void setLinkChatId(Long linkChatId) {
this.linkChatId = linkChatId;
}
public Long getLinkChatId() {
return linkChatId;
}
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 setMemberType(Integer memberType) {
this.memberType = memberType;
}
public Integer getMemberType() {
return memberType;
}
public void setSortNum(Integer sortNum) {
this.sortNum = sortNum;
}
public Integer getSortNum() {
return sortNum;
}
}
\ No newline at end of file
......@@ -15,6 +15,8 @@
<dubbo:protocol name="dubbo" port="30009"/>
<dubbo:reference interface="com.gic.enterprise.api.service.DownloadReportService" id="downloadReportService" timeout="10000"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.chat.GroupChatDataApiService" id="groupChatDataApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService" id="groupChatPlanApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.chat.GroupChatApiService" id="groupChatApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.chat.GroupChatHmApiService" id="groupChatHmApiService" timeout="10000"/>
......
......@@ -9,6 +9,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject;
......@@ -155,10 +156,12 @@ public class QwMessageController extends WebBaseController {
return RestResponse.successResult();
}
// 1群发 2朋友圈
@RequestMapping("get-qw-materialid")
public RestResponse<Object> getMaterialId(String wxEnterpriseId,String imgUrl , int materialType) {
public RestResponse<Object> getMaterialId(String wxEnterpriseId,String imgUrl , int materialType , @RequestParam(defaultValue="2")int mediaType) {
ContentMaterialDTO dto = new ContentMaterialDTO();
dto.setImgUrl(imgUrl);
dto.setMediaType(mediaType);
dto.setMaterialType(materialType);
ServiceResponse<String> resp = this.materialApiService.getMaterialId(wxEnterpriseId, dto) ;
if(resp.isSuccess()) {
......
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