Commit 6696f427 by 徐高华

群发

parent c146ff3c
...@@ -38,6 +38,10 @@ public interface GroupChatPlanApiService { ...@@ -38,6 +38,10 @@ public interface GroupChatPlanApiService {
* @throws * @throws
*/ */
public ServiceResponse<Void> doPlanTimer(String params); public ServiceResponse<Void> doPlanTimer(String params);
public ServiceResponse<Void> doPlanSendInfoTimer(String params) ;
public ServiceResponse<Void> reflushSendInfo(Long ownerLogId) ;
public ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> listOwnerLogPage(Long planId, GroupChatPlanSearchQDTO qdto, public ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> listOwnerLogPage(Long planId, GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo); BasePageInfo basePageInfo);
......
...@@ -18,6 +18,8 @@ public interface GroupChatPlanService { ...@@ -18,6 +18,8 @@ public interface GroupChatPlanService {
public void doPlan(Long planId); public void doPlan(Long planId);
public void doPlanSendInfoTimer(String params) ; public void doPlanSendInfoTimer(String params) ;
public void doPlanSendInfo(Long ownerLogId) ;
public Page<GroupChatPlanLogDTO> listLogPage(GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo); public Page<GroupChatPlanLogDTO> listLogPage(GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo);
......
...@@ -173,8 +173,6 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe ...@@ -173,8 +173,6 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
} }
qdto.setStoreId(storeId); qdto.setStoreId(storeId);
List<GroupChatPlanOwnerLogDTO> list = this.groupChatPlanOwnerLogMapper.listOwnerLogPageForWxa(qdto); List<GroupChatPlanOwnerLogDTO> list = this.groupChatPlanOwnerLogMapper.listOwnerLogPageForWxa(qdto);
Page<GroupChatPlanOwnerLogDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list,
GroupChatPlanOwnerLogDTO.class);
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
Set<String> clerkIdList = list.stream().filter(dto -> StringUtils.isNotBlank(dto.getClerkId())) Set<String> clerkIdList = list.stream().filter(dto -> StringUtils.isNotBlank(dto.getClerkId()))
.map(dto -> dto.getClerkId()).collect(Collectors.toSet()); .map(dto -> dto.getClerkId()).collect(Collectors.toSet());
...@@ -193,6 +191,8 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe ...@@ -193,6 +191,8 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
} }
} }
} }
Page<GroupChatPlanOwnerLogDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list,
GroupChatPlanOwnerLogDTO.class);
return retPage; return retPage;
} }
......
...@@ -198,48 +198,56 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService { ...@@ -198,48 +198,56 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
List<TabGroupChatPlanOwnerLog> logList = this.groupChatPlanOwnerLogService.listForTimer(); List<TabGroupChatPlanOwnerLog> logList = this.groupChatPlanOwnerLogService.listForTimer();
for (TabGroupChatPlanOwnerLog log : logList) { for (TabGroupChatPlanOwnerLog log : logList) {
Long ownerLogId = log.getOwnerLogId(); Long ownerLogId = log.getOwnerLogId();
TabGroupChatPlanOwnerLog ownerLog = this.groupChatPlanOwnerLogService.getById(ownerLogId); try{
String wxEnterpriseId = ownerLog.getWxEnterpriseId(); this.doPlanSendInfo(ownerLogId);
String enterpriseId = ownerLog.getEnterpriseId(); }catch(Exception e) {
String msgid = ownerLog.getMsgid(); e.printStackTrace();
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
if (qwDTO != null) {
}
String staffId = ownerLog.getStaffId();
TabHaobanStaff staff = this.staffMapper.selectByPrimaryKey(staffId);
String userid = staff.getWxUserId();
if (qwDTO.needOpenUserId3th()) {
userid = staff.getWxOpenUseId();
} }
}
}
JSONResponse respon = qywxSuiteApiService.resultExternalMessage(qwDTO.getThirdCorpid(), @Override
config.getWxSuiteid(), msgid, null, userid); public void doPlanSendInfo(Long ownerLogId) {
logger.info("统计返回={}", JSON.toJSONString(respon)); TabGroupChatPlanOwnerLog ownerLog = this.groupChatPlanOwnerLogService.getById(ownerLogId);
if (respon.getErrorCode() == 0) { String wxEnterpriseId = ownerLog.getWxEnterpriseId();
List<QywxSendMessageResultDTO> list = (List<QywxSendMessageResultDTO>) respon.getList(); String enterpriseId = ownerLog.getEnterpriseId();
if (CollectionUtils.isNotEmpty(list)) { String msgid = ownerLog.getMsgid();
int sendCount = list.size(); WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
this.groupChatPlanOwnerLogService.updateSendCount(ownerLog.getOwnerLogId(), sendCount, if (qwDTO != null) {
list.get(0).getSendTime()); }
for (QywxSendMessageResultDTO item : list) { String staffId = ownerLog.getStaffId();
String wxChatId = item.getChatId(); TabHaobanStaff staff = this.staffMapper.selectByPrimaryKey(staffId);
Date sendTime = item.getSendTime(); String userid = staff.getWxUserId();
TabGroupChatPlanLog entity = new TabGroupChatPlanLog(); if (qwDTO.needOpenUserId3th()) {
entity.setLogId(UniqueIdUtils.uniqueLong()); userid = staff.getWxOpenUseId();
entity.setPlanId(ownerLog.getPlanId()); }
entity.setOwnLogId(ownerLog.getOwnerLogId());
entity.setWxEnterpriseId(wxEnterpriseId);
entity.setEnterpriseId(enterpriseId);
entity.setStaffId(staffId);
GroupChatBO chat = this.groupChatService.getByWxChatId(wxEnterpriseId, wxChatId);
if (null != chat) {
entity.setGroupChatId(chat.getGroupChatId());
}
entity.setSendTime(sendTime);
entity.setSendStatus(1);
this.groupChatPlanLogMapper.insert(entity);
}
JSONResponse respon = qywxSuiteApiService.resultExternalMessage(qwDTO.getThirdCorpid(), config.getWxSuiteid(),
msgid, null, userid);
logger.info("统计返回={}", JSON.toJSONString(respon));
if (respon.getErrorCode() == 0) {
List<QywxSendMessageResultDTO> list = (List<QywxSendMessageResultDTO>) respon.getList();
if (CollectionUtils.isNotEmpty(list)) {
int sendCount = list.size();
this.groupChatPlanOwnerLogService.updateSendCount(ownerLog.getOwnerLogId(), sendCount,
list.get(0).getSendTime());
for (QywxSendMessageResultDTO item : list) {
String wxChatId = item.getChatId();
Date sendTime = item.getSendTime();
TabGroupChatPlanLog entity = new TabGroupChatPlanLog();
entity.setLogId(UniqueIdUtils.uniqueLong());
entity.setPlanId(ownerLog.getPlanId());
entity.setOwnLogId(ownerLog.getOwnerLogId());
entity.setWxEnterpriseId(wxEnterpriseId);
entity.setEnterpriseId(enterpriseId);
entity.setStaffId(staffId);
GroupChatBO chat = this.groupChatService.getByWxChatId(wxEnterpriseId, wxChatId);
if (null != chat) {
entity.setGroupChatId(chat.getGroupChatId());
}
entity.setSendTime(sendTime);
entity.setSendStatus(1);
this.groupChatPlanLogMapper.insert(entity);
} }
} }
} }
...@@ -250,7 +258,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService { ...@@ -250,7 +258,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
this.groupChatPlanMapper.deleteById(planId, clerkId, clerkName); this.groupChatPlanMapper.deleteById(planId, clerkId, clerkName);
this.addOrDelTimer(planId, new Date(), 0); this.addOrDelTimer(planId, new Date(), 0);
} }
@Override @Override
public void stop(String clerkId, String clerkName, Long planId) { public void stop(String clerkId, String clerkName, Long planId) {
this.groupChatPlanMapper.stopById(planId, clerkId, clerkName); this.groupChatPlanMapper.stopById(planId, clerkId, clerkName);
......
...@@ -63,6 +63,18 @@ public class GroupChatPlanApiServiceImpl implements GroupChatPlanApiService { ...@@ -63,6 +63,18 @@ public class GroupChatPlanApiServiceImpl implements GroupChatPlanApiService {
} }
@Override @Override
public ServiceResponse<Void> doPlanSendInfoTimer(String params) {
this.groupChatPlanService.doPlanSendInfoTimer(params);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> reflushSendInfo(Long ownerLogId) {
this.groupChatPlanService.doPlanSendInfo(ownerLogId);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Page<GroupChatPlanLogDTO>> listLogPage(Long planId, GroupChatPlanSearchQDTO qdto, public ServiceResponse<Page<GroupChatPlanLogDTO>> listLogPage(Long planId, GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo) { BasePageInfo basePageInfo) {
Page<GroupChatPlanLogDTO> page = this.groupChatPlanService.listLogPage(qdto, basePageInfo); Page<GroupChatPlanLogDTO> page = this.groupChatPlanService.listLogPage(qdto, basePageInfo);
......
...@@ -107,6 +107,7 @@ ...@@ -107,6 +107,7 @@
<select id="listOwnerLogPageForWxaTotal" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO" resultType="com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO"> <select id="listOwnerLogPageForWxaTotal" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO" resultType="com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO">
select select
b.plan_id planId ,
b.name planName , b.name planName ,
b.start_time startTime , b.start_time startTime ,
b.end_time end_time , b.end_time end_time ,
......
...@@ -10,6 +10,7 @@ import com.gic.api.base.commons.Page; ...@@ -10,6 +10,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.webapi.reponse.RestResponse; import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO; import com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO;
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;
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.api.service.chat.GroupChatPlanApiService; import com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService;
...@@ -57,6 +58,12 @@ public class GroupChatPlanController { ...@@ -57,6 +58,12 @@ public class GroupChatPlanController {
return RestResponse.successResult(page.getResult()); return RestResponse.successResult(page.getResult());
} }
@RequestMapping("reflush-qw-msg")
public RestResponse<Object> reflush(String wxEnterpriseId, String enterpriseId, Long ownerLogId) {
this.groupChatPlanApiService.reflushSendInfo(ownerLogId);
return RestResponse.successResult();
}
@RequestMapping("owner-do-list") @RequestMapping("owner-do-list")
public RestResponse<Object> ownerDoList(Long planId, String clerkId, String wxEnterpriseId, String enterpriseId, public RestResponse<Object> ownerDoList(Long planId, String clerkId, String wxEnterpriseId, String enterpriseId,
BasePageInfo basePageInfo) { BasePageInfo basePageInfo) {
...@@ -65,8 +72,8 @@ public class GroupChatPlanController { ...@@ -65,8 +72,8 @@ public class GroupChatPlanController {
qdto.setEnterpriseId(enterpriseId); qdto.setEnterpriseId(enterpriseId);
qdto.setClerkId(clerkId); qdto.setClerkId(clerkId);
qdto.setPlanId(planId); qdto.setPlanId(planId);
ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> page = this.groupChatPlanApiService.listOwnerLogPage(planId, ServiceResponse<Page<GroupChatPlanLogDTO>> page = this.groupChatPlanApiService.listLogPage(planId, qdto,
qdto, basePageInfo); basePageInfo);
return RestResponse.successResult(page.getResult()); return RestResponse.successResult(page.getResult());
} }
......
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