Commit e662032b by zzd

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

parents def63164 5924b76c
package com.gic.haoban.manage.api.dto.chat;
import java.io.Serializable;
/**
*
* @ClassName: TabHaobanGroupChatPlanOwnerLog
* @Description: TODO
* @Author 徐高华
* @Date 2022年11月25日 15:29:51
* @Modify
* @CopyRight
*/
public class ChatOwnerTotalDTO implements Serializable {
private static final long serialVersionUID = 21697825515700L;
private Long planId;
private String planName;
private java.util.Date startTime;
private java.util.Date endTime;
private int sendCount;
private int notSendCount;
public Long getPlanId() {
return planId;
}
public String getPlanName() {
return planName;
}
public java.util.Date getStartTime() {
return startTime;
}
public java.util.Date getEndTime() {
return endTime;
}
public int getSendCount() {
return sendCount;
}
public int getNotSendCount() {
return notSendCount;
}
public void setPlanId(Long planId) {
this.planId = planId;
}
public void setPlanName(String planName) {
this.planName = planName;
}
public void setStartTime(java.util.Date startTime) {
this.startTime = startTime;
}
public void setEndTime(java.util.Date endTime) {
this.endTime = endTime;
}
public void setSendCount(int sendCount) {
this.sendCount = sendCount;
}
public void setNotSendCount(int notSendCount) {
this.notSendCount = notSendCount;
}
}
\ No newline at end of file
package com.gic.haoban.manage.api.dto.chat; package com.gic.haoban.manage.api.dto.chat;
import java.io.Serializable ; import java.io.Serializable;
import java.util.Date; import java.util.Date;
/** /**
...@@ -12,55 +12,64 @@ import java.util.Date; ...@@ -12,55 +12,64 @@ import java.util.Date;
* @Modify * @Modify
* @CopyRight * @CopyRight
*/ */
public class GroupChatDTO implements Serializable{ public class GroupChatDTO implements Serializable {
private static final long serialVersionUID = 13124020287100L; private static final long serialVersionUID = 13124020287100L;
/**主键*/ /**主键*/
private Long groupChatId; private Long groupChatId;
private String wxEnterpriseId; private String wxEnterpriseId;
/**群名称*/ /**群名称*/
private String name; private String name;
/**群主*/ /**群主*/
private String staffId; private String staffId;
/**群id(企微)*/ /**群id(企微)*/
private String wxChatId; private String wxChatId;
/**群创建时间*/ /**群创建时间*/
private java.util.Date chatAddTime; private java.util.Date chatAddTime;
/**群解散时间*/ /**群解散时间*/
private java.util.Date chatDissolveTime; private java.util.Date chatDissolveTime;
/**群公告*/ /**群公告*/
private String chatNotice; private String chatNotice;
/**群状态*/ /**群状态*/
private Integer chatStatus; private Integer chatStatus;
private java.util.Date createTime; private java.util.Date createTime;
private java.util.Date updateTime; private java.util.Date updateTime;
/**是否删除1是0否*/ /**是否删除1是0否*/
private Integer deleteFlag; private Integer deleteFlag;
/**群成员数*/ /**群成员数*/
private Integer totalCount; private Integer totalCount;
/**群客户数*/ /**群客户数*/
private Integer totalMemberCount; private Integer totalMemberCount;
/**新增总客户数*/ /**新增总客户数*/
private Integer addMemberCount; private Integer addMemberCount;
/**新增总成员数*/ /**新增总成员数*/
private Integer addCount; private Integer addCount;
/**流失总成员数*/ /**流失总成员数*/
private Integer quitCount; private Integer quitCount;
/**流失总客户数*/ /**流失总客户数*/
private Integer quitMemberCount; private Integer quitMemberCount;
/**gic企业ID*/ /**gic企业ID*/
private String enterpriseId; private String enterpriseId;
/**gic侧状态1可用,2不可用*/ /**gic侧状态1可用,2不可用*/
private Integer gicFlag; private Integer gicFlag;
private String staffName ; private String staffName;
private String staffImage ; private String staffImage;
private String originalStaffId ; private String originalStaffId;
private Date offTime ; private Date offTime;
// 1已关联导购 0未关联导购 // 1已关联导购 0未关联导购
private int clerkRelationFlag = 0 ; private int clerkRelationFlag = 0;
private int openConcatFlag = 0;
public int getClerkRelationFlag() {
public int getOpenConcatFlag() {
return openConcatFlag;
}
public void setOpenConcatFlag(int openConcatFlag) {
this.openConcatFlag = openConcatFlag;
}
public int getClerkRelationFlag() {
return clerkRelationFlag; return clerkRelationFlag;
} }
...@@ -100,139 +109,157 @@ public class GroupChatDTO implements Serializable{ ...@@ -100,139 +109,157 @@ public class GroupChatDTO implements Serializable{
this.staffName = staffName; this.staffName = staffName;
} }
public void setGroupChatId(Long groupChatId){ public void setGroupChatId(Long groupChatId) {
this.groupChatId = groupChatId; this.groupChatId = groupChatId;
} }
public Long getGroupChatId(){ public Long getGroupChatId() {
return groupChatId; return groupChatId;
} }
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId; public void setWxEnterpriseId(String wxEnterpriseId) {
} this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId(){
return wxEnterpriseId; public String getWxEnterpriseId() {
} return wxEnterpriseId;
public void setName(String name){ }
this.name = name;
} public void setName(String name) {
this.name = name;
public String getName(){ }
return name;
} public String getName() {
public void setStaffId(String staffId){ return name;
this.staffId = staffId; }
}
public void setStaffId(String staffId) {
public String getStaffId(){ this.staffId = staffId;
return staffId; }
}
public void setWxChatId(String wxChatId){ public String getStaffId() {
this.wxChatId = wxChatId; return staffId;
} }
public String getWxChatId(){ public void setWxChatId(String wxChatId) {
return wxChatId; this.wxChatId = wxChatId;
} }
public void setChatAddTime(java.util.Date chatAddTime){
this.chatAddTime = chatAddTime; public String getWxChatId() {
} return wxChatId;
}
public java.util.Date getChatAddTime(){
return chatAddTime; public void setChatAddTime(java.util.Date chatAddTime) {
} this.chatAddTime = chatAddTime;
public void setChatDissolveTime(java.util.Date chatDissolveTime){ }
this.chatDissolveTime = chatDissolveTime;
} public java.util.Date getChatAddTime() {
return chatAddTime;
public java.util.Date getChatDissolveTime(){ }
return chatDissolveTime;
} public void setChatDissolveTime(java.util.Date chatDissolveTime) {
public void setChatNotice(String chatNotice){ this.chatDissolveTime = chatDissolveTime;
this.chatNotice = chatNotice; }
}
public java.util.Date getChatDissolveTime() {
public String getChatNotice(){ return chatDissolveTime;
return chatNotice; }
}
public void setChatStatus(Integer chatStatus){ public void setChatNotice(String chatNotice) {
this.chatStatus = chatStatus; this.chatNotice = chatNotice;
} }
public Integer getChatStatus(){ public String getChatNotice() {
return chatStatus; return chatNotice;
} }
public void setCreateTime(java.util.Date createTime){
this.createTime = createTime; public void setChatStatus(Integer chatStatus) {
} this.chatStatus = chatStatus;
}
public java.util.Date getCreateTime(){
return createTime; public Integer getChatStatus() {
} return chatStatus;
public void setUpdateTime(java.util.Date updateTime){ }
this.updateTime = updateTime;
} public void setCreateTime(java.util.Date createTime) {
this.createTime = createTime;
public java.util.Date getUpdateTime(){ }
return updateTime;
} public java.util.Date getCreateTime() {
public void setDeleteFlag(Integer deleteFlag){ return createTime;
this.deleteFlag = deleteFlag; }
}
public void setUpdateTime(java.util.Date updateTime) {
public Integer getDeleteFlag(){ this.updateTime = updateTime;
return deleteFlag; }
}
public void setTotalCount(Integer totalCount){ public java.util.Date getUpdateTime() {
this.totalCount = totalCount; return updateTime;
} }
public Integer getTotalCount(){ public void setDeleteFlag(Integer deleteFlag) {
return totalCount; this.deleteFlag = deleteFlag;
} }
public void setTotalMemberCount(Integer totalMemberCount){
this.totalMemberCount = totalMemberCount; public Integer getDeleteFlag() {
} return deleteFlag;
}
public Integer getTotalMemberCount(){
return totalMemberCount; public void setTotalCount(Integer totalCount) {
} this.totalCount = totalCount;
public void setAddMemberCount(Integer addMemberCount){ }
this.addMemberCount = addMemberCount;
} public Integer getTotalCount() {
return totalCount;
public Integer getAddMemberCount(){ }
return addMemberCount;
} public void setTotalMemberCount(Integer totalMemberCount) {
public void setAddCount(Integer addCount){ this.totalMemberCount = totalMemberCount;
this.addCount = addCount; }
}
public Integer getTotalMemberCount() {
public Integer getAddCount(){ return totalMemberCount;
return addCount; }
}
public void setQuitCount(Integer quitCount){ public void setAddMemberCount(Integer addMemberCount) {
this.quitCount = quitCount; this.addMemberCount = addMemberCount;
} }
public Integer getQuitCount(){ public Integer getAddMemberCount() {
return quitCount; return addMemberCount;
} }
public void setQuitMemberCount(Integer quitMemberCount){
this.quitMemberCount = quitMemberCount; public void setAddCount(Integer addCount) {
} this.addCount = addCount;
}
public Integer getQuitMemberCount(){
return quitMemberCount; public Integer getAddCount() {
} return addCount;
public void setEnterpriseId(String enterpriseId){ }
this.enterpriseId = enterpriseId;
} public void setQuitCount(Integer quitCount) {
this.quitCount = quitCount;
public String getEnterpriseId(){ }
return enterpriseId;
} 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 Integer getGicFlag() { public Integer getGicFlag() {
return gicFlag; return gicFlag;
......
...@@ -18,6 +18,7 @@ public class GroupChatPlanOwnerLogDTO implements Serializable{ ...@@ -18,6 +18,7 @@ public class GroupChatPlanOwnerLogDTO implements Serializable{
private Long ownerLogId; private Long ownerLogId;
private Long planId; private Long planId;
private String planName ;
private String wxEnterpriseId; private String wxEnterpriseId;
private String enterpriseId; private String enterpriseId;
private String staffId; private String staffId;
...@@ -39,7 +40,15 @@ public class GroupChatPlanOwnerLogDTO implements Serializable{ ...@@ -39,7 +40,15 @@ public class GroupChatPlanOwnerLogDTO implements Serializable{
private Date expireDate ; private Date expireDate ;
private Date sendTime ; private Date sendTime ;
public Date getSendTime() { public String getPlanName() {
return planName;
}
public void setPlanName(String planName) {
this.planName = planName;
}
public Date getSendTime() {
return sendTime; return sendTime;
} }
......
...@@ -22,7 +22,16 @@ public class GroupChatPlanSearchQDTO implements Serializable { ...@@ -22,7 +22,16 @@ public class GroupChatPlanSearchQDTO implements Serializable {
private Date startDate; private Date startDate;
private Date endDate; private Date endDate;
private String clerkId ; private String clerkId ;
private String storeId ;
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public String getChatName() { public String getChatName() {
return chatName; return chatName;
} }
......
...@@ -3,6 +3,7 @@ package com.gic.haoban.manage.api.service.chat; ...@@ -3,6 +3,7 @@ package com.gic.haoban.manage.api.service.chat;
import com.gic.api.base.commons.BasePageInfo; import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatPlanDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanLogDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatPlanLogDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO;
...@@ -40,16 +41,17 @@ public interface GroupChatPlanApiService { ...@@ -40,16 +41,17 @@ public interface GroupChatPlanApiService {
public ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> listOwnerLogPage(Long planId, GroupChatPlanSearchQDTO qdto, public ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> listOwnerLogPage(Long planId, GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo); BasePageInfo basePageInfo);
public ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> listOwnerLogPageForWxa(GroupChatPlanSearchQDTO qdto,
public ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> listOwnerLogPageForWxa(Long planId, GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo); BasePageInfo basePageInfo);
public ServiceResponse<Page<ChatOwnerTotalDTO>> listOwnerLogPageForWxaTotal(GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo);
public ServiceResponse<Page<GroupChatPlanLogDTO>> listLogPage(Long planId, GroupChatPlanSearchQDTO qdto, public ServiceResponse<Page<GroupChatPlanLogDTO>> listLogPage(Long planId, GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo); BasePageInfo basePageInfo);
public ServiceResponse<Void> del(String clerkId, String clerkName, Long planId); public ServiceResponse<Void> del(String clerkId, String clerkName, Long planId);
public ServiceResponse<Void> stop(String clerkId, String clerkName, Long planId) ; public ServiceResponse<Void> stop(String clerkId, String clerkName, Long planId);
} }
...@@ -5,6 +5,7 @@ import java.util.List; ...@@ -5,6 +5,7 @@ import java.util.List;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO; import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanOwnerLog; import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanOwnerLog;
...@@ -30,4 +31,8 @@ public interface GroupChatPlanOwnerLogMapper { ...@@ -30,4 +31,8 @@ public interface GroupChatPlanOwnerLogMapper {
public List<GroupChatPlanOwnerLogDTO> listPage(GroupChatPlanSearchQDTO qdto); public List<GroupChatPlanOwnerLogDTO> listPage(GroupChatPlanSearchQDTO qdto);
public List<TabGroupChatPlanOwnerLog> listForTimer(); public List<TabGroupChatPlanOwnerLog> listForTimer();
public List<ChatOwnerTotalDTO> listOwnerLogPageForWxaTotal(GroupChatPlanSearchQDTO qdto);
public List<GroupChatPlanOwnerLogDTO> listOwnerLogPageForWxa(GroupChatPlanSearchQDTO qdto);
} }
\ No newline at end of file
...@@ -5,6 +5,7 @@ import java.util.List; ...@@ -5,6 +5,7 @@ import java.util.List;
import com.gic.api.base.commons.BasePageInfo; import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO; import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanOwnerLog; import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanOwnerLog;
...@@ -19,7 +20,12 @@ public interface GroupChatPlanOwnerLogService { ...@@ -19,7 +20,12 @@ public interface GroupChatPlanOwnerLogService {
public Page<GroupChatPlanOwnerLogDTO> listPage(Long planId, GroupChatPlanSearchQDTO qdto, public Page<GroupChatPlanOwnerLogDTO> listPage(Long planId, GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo); BasePageInfo basePageInfo);
List<TabGroupChatPlanOwnerLog> listForTimer() ; List<TabGroupChatPlanOwnerLog> listForTimer();
public Page<ChatOwnerTotalDTO> listOwnerLogPageForWxaTotal(GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo);
public Page<GroupChatPlanOwnerLogDTO> listOwnerLogPageForWxa(GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo);
} }
\ No newline at end of file
...@@ -23,6 +23,7 @@ import com.gic.commons.util.UniqueIdUtils; ...@@ -23,6 +23,7 @@ import com.gic.commons.util.UniqueIdUtils;
import com.gic.enterprise.api.dto.StoreDTO; import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService; import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO; import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO; import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatPlanOwnerLogMapper; import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatPlanOwnerLogMapper;
...@@ -85,9 +86,9 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe ...@@ -85,9 +86,9 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
List<String> storeIdList = list.stream().filter(dto -> StringUtils.isNotBlank(dto.getStoreId())) List<String> storeIdList = list.stream().filter(dto -> StringUtils.isNotBlank(dto.getStoreId()))
.map(dto -> dto.getStoreId()).collect(Collectors.toList()); .map(dto -> dto.getStoreId()).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(storeIdList)) { if (CollectionUtils.isNotEmpty(storeIdList)) {
String[] arr = new String[storeIdList.size()] ; String[] arr = new String[storeIdList.size()];
for(int i=0;i<storeIdList.size();i++) { for (int i = 0; i < storeIdList.size(); i++) {
arr[i] = storeIdList.get(i) ; arr[i] = storeIdList.get(i);
} }
List<StoreDTO> storeList = this.storeService.getStores(arr); List<StoreDTO> storeList = this.storeService.getStores(arr);
Map<String, StoreDTO> map = storeList.stream() Map<String, StoreDTO> map = storeList.stream()
...@@ -133,11 +134,66 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe ...@@ -133,11 +134,66 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
} }
this.groupChatPlanOwnerLogMapper.insert(log); this.groupChatPlanOwnerLogMapper.insert(log);
} }
@Override @Override
public List<TabGroupChatPlanOwnerLog> listForTimer() { public List<TabGroupChatPlanOwnerLog> listForTimer() {
List<TabGroupChatPlanOwnerLog> list = this.groupChatPlanOwnerLogMapper.listForTimer() ; List<TabGroupChatPlanOwnerLog> list = this.groupChatPlanOwnerLogMapper.listForTimer();
return list; return list;
} }
@Override
public Page<ChatOwnerTotalDTO> listOwnerLogPageForWxaTotal(GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo) {
PageHelper.startPage(basePageInfo);
String clerkId = qdto.getClerkId();
ClerkDTO clerk = this.clerkService.getclerkById(clerkId);
int clerkType = clerk.getClerkType();
String storeId = null;
if (clerkType == 1) {
storeId = clerk.getStoreId();
clerkId = null;
}
qdto.setStoreId(storeId);
List<ChatOwnerTotalDTO> list = this.groupChatPlanOwnerLogMapper.listOwnerLogPageForWxaTotal(qdto);
Page<ChatOwnerTotalDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, ChatOwnerTotalDTO.class);
return retPage;
}
@Override
public Page<GroupChatPlanOwnerLogDTO> listOwnerLogPageForWxa(GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo) {
PageHelper.startPage(basePageInfo);
String clerkId = qdto.getClerkId();
ClerkDTO clerk = this.clerkService.getclerkById(clerkId);
int clerkType = clerk.getClerkType();
String storeId = null;
if (clerkType == 1) {
storeId = clerk.getStoreId();
clerkId = null;
}
qdto.setStoreId(storeId);
List<GroupChatPlanOwnerLogDTO> list = this.groupChatPlanOwnerLogMapper.listOwnerLogPageForWxa(qdto);
Page<GroupChatPlanOwnerLogDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list,
GroupChatPlanOwnerLogDTO.class);
if (CollectionUtils.isNotEmpty(list)) {
Set<String> clerkIdList = list.stream().filter(dto -> StringUtils.isNotBlank(dto.getClerkId()))
.map(dto -> dto.getClerkId()).collect(Collectors.toSet());
if (CollectionUtils.isNotEmpty(clerkIdList)) {
List<ClerkDTO> clerkList = this.clerkService.getClerkByClerkIds(clerkIdList);
if (CollectionUtils.isNotEmpty(clerkList)) {
Map<String, ClerkDTO> map = clerkList.stream()
.collect(Collectors.toMap(ClerkDTO::getClerkId, dto -> dto, (k1, k2) -> k1));
list.forEach(dto -> {
String clerkIdTemp = dto.getClerkId();
if (StringUtils.isNotBlank(clerkIdTemp) && null != map.get(clerkIdTemp)) {
dto.setClerkCode(map.get(clerkIdTemp).getClerkCode());
dto.setClerkName(map.get(clerkIdTemp).getClerkName());
}
});
}
}
}
return retPage;
}
} }
\ No newline at end of file
...@@ -8,6 +8,7 @@ import com.gic.api.base.commons.Page; ...@@ -8,6 +8,7 @@ import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.PageHelperUtils; import com.gic.commons.util.PageHelperUtils;
import com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatPlanDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanLogDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatPlanLogDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO;
...@@ -80,17 +81,27 @@ public class GroupChatPlanApiServiceImpl implements GroupChatPlanApiService { ...@@ -80,17 +81,27 @@ public class GroupChatPlanApiServiceImpl implements GroupChatPlanApiService {
this.groupChatPlanService.del(clerkId, clerkName, planId); this.groupChatPlanService.del(clerkId, clerkName, planId);
return ServiceResponse.success(); return ServiceResponse.success();
} }
@Override @Override
public ServiceResponse<Void> stop(String clerkId, String clerkName, Long planId) { public ServiceResponse<Void> stop(String clerkId, String clerkName, Long planId) {
this.groupChatPlanService.stop(clerkId, clerkName, planId); this.groupChatPlanService.stop(clerkId, clerkName, planId);
return ServiceResponse.success(); return ServiceResponse.success();
} }
@Override @Override
public ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> listOwnerLogPageForWxa(Long planId, public ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> listOwnerLogPageForWxa(GroupChatPlanSearchQDTO qdto,
GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo) { BasePageInfo basePageInfo) {
return null; Page<GroupChatPlanOwnerLogDTO> page = this.groupChatPlanOwnerLogService.listOwnerLogPageForWxa(qdto,
basePageInfo);
return ServiceResponse.success(page);
}
@Override
public ServiceResponse<Page<ChatOwnerTotalDTO>> listOwnerLogPageForWxaTotal(GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo) {
Page<ChatOwnerTotalDTO> page = this.groupChatPlanOwnerLogService.listOwnerLogPageForWxaTotal(qdto,
basePageInfo);
return ServiceResponse.success(page);
} }
} }
...@@ -104,4 +104,50 @@ ...@@ -104,4 +104,50 @@
where where
a.wx_enterprise_id = #{wxEnterpriseId} and a.plan_id = #{planId} a.wx_enterprise_id = #{wxEnterpriseId} and a.plan_id = #{planId}
</select> </select>
<select id="listOwnerLogPageForWxaTotal" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO" resultType="com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO">
select
b.name planName ,
b.start_time startTime ,
b.end_time end_time ,
<!-- 已发送 -->
SUM(CASE a.send_status WHEN 2 THEN 1 ELSE 0 END ) sendCount,
<!-- 待发送 -->
SUM(CASE a.send_status WHEN 1 THEN 1 ELSE 0 END ) notSendCount
from tab_haoban_group_chat_plan_owner_log a left join tab_haoban_group_chat_plan b on a.plan_id = b.plan_id
where
a.wx_enterprise_id = #{wxEnterpriseId}
<if test="null != storeId">
and a.store_id = #{storeId}
</if>
<if test="null != clerkId">
and a.clerk_id = #{clerkId}
</if>
group by b.plan_id
</select>
<select id="listOwnerLogPageForWxa" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO" resultType="com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO">
select
b.name planName ,
a.staff_id staffId ,
a.clerk_id clerkId ,
a.store_id storeId ,
a.send_status sendStatus ,
a.send_count sendCount ,
a.send_time sendTime ,
a.create_time createTime ,
a.expire_date expireDate ,
a.done_flag doneFlag ,
a.msgid msgid
from tab_haoban_group_chat_plan_owner_log a left join tab_haoban_group_chat_plan b on a.plan_id = b.plan_id
where a.wx_enterprise_id = #{wxEnterpriseId} and a.plan_id = #{planId}
<if test="null != storeId">
and a.store_id = #{storeId}
</if>
<if test="null != clerkId">
and a.clerk_id = #{clerkId}
</if>
</select>
</mapper> </mapper>
\ No newline at end of file
package com.gic.haoban.manage.web.controller.haoban;
import org.apache.logging.log4j.LogManager;
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.webapi.reponse.RestResponse;
import com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO;
import com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService;
/**
*
* @ClassName: GroupChatPlanController
* @Description: 群群发计划
* @author xugh
* @date 2022年11月26日 上午9:32:56
*
*/
@RestController
@RequestMapping("/chat/plan")
public class GroupChatPlanController {
private static org.apache.logging.log4j.Logger logger = LogManager.getLogger(GroupChatPlanController.class);
@Autowired
private GroupChatPlanApiService groupChatPlanApiService;
@RequestMapping("total-list")
public RestResponse<Object> totalList(Long planId, String clerkId, String wxEnterpriseId, String enterpriseId,
BasePageInfo basePageInfo) {
GroupChatPlanSearchQDTO qdto = new GroupChatPlanSearchQDTO();
qdto.setWxEnterpriseId(wxEnterpriseId);
qdto.setEnterpriseId(enterpriseId);
qdto.setClerkId(clerkId);
qdto.setPlanId(planId);
ServiceResponse<Page<ChatOwnerTotalDTO>> page = this.groupChatPlanApiService.listOwnerLogPageForWxaTotal(qdto,
basePageInfo);
return RestResponse.successResult(page.getResult());
}
@RequestMapping("owner-list")
public RestResponse<Object> ownerList(Long planId, String clerkId, String wxEnterpriseId, String enterpriseId,
BasePageInfo basePageInfo) {
GroupChatPlanSearchQDTO qdto = new GroupChatPlanSearchQDTO();
qdto.setWxEnterpriseId(wxEnterpriseId);
qdto.setEnterpriseId(enterpriseId);
qdto.setClerkId(clerkId);
qdto.setPlanId(planId);
ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> page = this.groupChatPlanApiService.listOwnerLogPageForWxa(qdto,
basePageInfo);
return RestResponse.successResult(page.getResult());
}
@RequestMapping("owner-do-list")
public RestResponse<Object> ownerDoList(Long planId, String clerkId, String wxEnterpriseId, String enterpriseId,
BasePageInfo basePageInfo) {
GroupChatPlanSearchQDTO qdto = new GroupChatPlanSearchQDTO();
qdto.setWxEnterpriseId(wxEnterpriseId);
qdto.setEnterpriseId(enterpriseId);
qdto.setClerkId(clerkId);
qdto.setPlanId(planId);
ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> page = this.groupChatPlanApiService.listOwnerLogPage(planId,
qdto, basePageInfo);
return RestResponse.successResult(page.getResult());
}
}
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
<!-- 应用名称 --> <!-- 应用名称 -->
<dubbo:application name="haoban-manage3-wx"/> <dubbo:application name="haoban-manage3-wx"/>
<dubbo:protocol name="dubbo" port="30010"/> <dubbo:protocol name="dubbo" port="30010"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService" id="groupChatPlanApiService" />
<dubbo:reference interface="com.gic.member.api.service.GradeService" id="gradeService" /> <dubbo:reference interface="com.gic.member.api.service.GradeService" id="gradeService" />
<dubbo:reference interface="com.gic.ecm.api.service.EcmPlanService" id="ecmPlanService" /> <dubbo:reference interface="com.gic.ecm.api.service.EcmPlanService" id="ecmPlanService" />
<dubbo:reference interface="com.gic.marketing.api.service.CardExportService" id="cardExportService" /> <dubbo:reference interface="com.gic.marketing.api.service.CardExportService" id="cardExportService" />
......
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