Commit 1ed40a97 by 徐高华

画布-群发

parent 59475986
package com.gic.haoban.manage.api.qdto;
import java.io.Serializable;
public class CanvasInfoQDTO implements Serializable {
private Long canvasId ;
private Long nodeId ;
private Long execLogId ;
private String clerkId ;
private Long taskTime ;
public Long getCanvasId() {
return canvasId;
}
public void setCanvasId(Long canvasId) {
this.canvasId = canvasId;
}
public Long getNodeId() {
return nodeId;
}
public void setNodeId(Long nodeId) {
this.nodeId = nodeId;
}
public Long getExecLogId() {
return execLogId;
}
public void setExecLogId(Long execLogId) {
this.execLogId = execLogId;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public Long getTaskTime() {
return taskTime;
}
public void setTaskTime(Long taskTime) {
this.taskTime = taskTime;
}
}
...@@ -4,6 +4,7 @@ import java.util.List; ...@@ -4,6 +4,7 @@ import java.util.List;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.ContentMaterialDTO; import com.gic.haoban.manage.api.dto.ContentMaterialDTO;
import com.gic.haoban.manage.api.qdto.CanvasInfoQDTO;
public interface QywxSendService { public interface QywxSendService {
...@@ -13,6 +14,13 @@ public interface QywxSendService { ...@@ -13,6 +14,13 @@ public interface QywxSendService {
public ServiceResponse<String> sendMessage(String wxEnterpriseId, String staffId, List<String> extendUserList, public ServiceResponse<String> sendMessage(String wxEnterpriseId, String staffId, List<String> extendUserList,
List<String> materialIdList , String planId); List<String> materialIdList , String planId);
/**
* 画布
*/
public ServiceResponse<String> sendMessage(String wxEnterpriseId, String staffId, List<String> extendUserList,
List<String> materialIdList , String planId , CanvasInfoQDTO canvas);
/** /**
* 素材-分享 * 素材-分享
*/ */
......
...@@ -3,11 +3,10 @@ package com.gic.haoban.manage.service.service.impl; ...@@ -3,11 +3,10 @@ package com.gic.haoban.manage.service.service.impl;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.gic.commons.util.DateUtil;
import com.gic.enterprise.api.dto.EnterpriseWxaRelationDTO; import com.gic.enterprise.api.dto.EnterpriseWxaRelationDTO;
import com.gic.enterprise.api.service.EnterpriseService; import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.enterprise.api.service.EnterpriseWxaLinkService; import com.gic.enterprise.api.service.EnterpriseWxaLinkService;
import com.gic.haoban.manage.api.qdto.CanvasInfoQDTO;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
...@@ -82,26 +81,31 @@ public class QywxSendServiceImpl implements QywxSendService { ...@@ -82,26 +81,31 @@ public class QywxSendServiceImpl implements QywxSendService {
@Override @Override
public ServiceResponse<String> sendMessage(String wxEnterpriseId, String staffId, List<String> extendUserList, public ServiceResponse<String> sendMessage(String wxEnterpriseId, String staffId, List<String> extendUserList,
List<String> materialIdList,String planId) { List<String> materialIdList,String planId) {
return this.send(wxEnterpriseId, staffId, extendUserList, materialIdList, null, 1 , single , planId , 1); return this.send(wxEnterpriseId, staffId, extendUserList, materialIdList, null, 1 , single , planId , 1,null);
}
@Override
public ServiceResponse<String> sendMessage(String wxEnterpriseId, String staffId, List<String> extendUserList, List<String> materialIdList, String planId, CanvasInfoQDTO canvas) {
return this.send(wxEnterpriseId, staffId, extendUserList, materialIdList, null, 1 , single , planId , 1,canvas);
} }
@Override @Override
public ServiceResponse<String> sendMessageShare(String wxEnterpriseId, String staffId, List<String> extendUserList, public ServiceResponse<String> sendMessageShare(String wxEnterpriseId, String staffId, List<String> extendUserList,
List<ContentMaterialDTO> imageList, String message) { List<ContentMaterialDTO> imageList, String message) {
List<String> materialIdList = this.materialService.getImageMediaId(wxEnterpriseId, imageList, 1); List<String> materialIdList = this.materialService.getImageMediaId(wxEnterpriseId, imageList, 1);
return this.send(wxEnterpriseId, staffId, extendUserList, materialIdList, message, 2,null,null,null); return this.send(wxEnterpriseId, staffId, extendUserList, materialIdList, message, 2,null,null,null,null);
} }
// 群发发送 // 群发发送
private ServiceResponse<String> send(String wxEnterpriseId, String staffId, List<String> extendUserList, private ServiceResponse<String> send(String wxEnterpriseId, String staffId, List<String> extendUserList,
List<String> materialIdList, String message, int from , String chatType ,String planId , Integer planType) { List<String> materialIdList, String message, int from , String chatType ,String planId , Integer planType,CanvasInfoQDTO canvas) {
TabHaobanStaff tabHaobanStaff = staffService.selectById(staffId); TabHaobanStaff tabHaobanStaff = staffService.selectById(staffId);
if (null == tabHaobanStaff) { if (null == tabHaobanStaff) {
log.info("staff不存在,staffId={}", staffId); log.info("staff不存在,staffId={}", staffId);
return ServiceResponse.failure("9999", "群发失败,成员不存在"); return ServiceResponse.failure("9999", "群发失败,成员不存在");
} }
// 群发请求参数 // 群发请求参数
QywxExternalMessageDTO messageDTO = this.getMessage(from, message, materialIdList,chatType,planId,planType); QywxExternalMessageDTO messageDTO = this.getMessage(from, message, materialIdList,chatType,planId,planType,canvas);
log.info("群发信息={}",JSON.toJSONString(messageDTO)); log.info("群发信息={}",JSON.toJSONString(messageDTO));
if (messageDTO.getAttachments().isEmpty() && StringUtils.isBlank(messageDTO.getContent())) { if (messageDTO.getAttachments().isEmpty() && StringUtils.isBlank(messageDTO.getContent())) {
log.info("群发素材不存在, 群发创建失败"); log.info("群发素材不存在, 群发创建失败");
...@@ -140,7 +144,7 @@ public class QywxSendServiceImpl implements QywxSendService { ...@@ -140,7 +144,7 @@ public class QywxSendServiceImpl implements QywxSendService {
List<ContentMaterialDTO> imageList) { List<ContentMaterialDTO> imageList) {
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId); WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
List<String> materialIdList = this.materialService.getImageMediaId(wxEnterpriseId, imageList, 2); List<String> materialIdList = this.materialService.getImageMediaId(wxEnterpriseId, imageList, 2);
QywxExternalMessageDTO dto = this.getMessage(2, message, materialIdList,null,null,null); QywxExternalMessageDTO dto = this.getMessage(2, message, materialIdList,null,null,null,null);
MomentTaskDTO moment = EntityUtil.changeEntity(MomentTaskDTO.class, dto); MomentTaskDTO moment = EntityUtil.changeEntity(MomentTaskDTO.class, dto);
Text text = new Text(); Text text = new Text();
text.setContent(dto.getContent()); text.setContent(dto.getContent());
...@@ -174,7 +178,7 @@ public class QywxSendServiceImpl implements QywxSendService { ...@@ -174,7 +178,7 @@ public class QywxSendServiceImpl implements QywxSendService {
} }
// from 1好办素材 2内容中台 // from 1好办素材 2内容中台
private QywxExternalMessageDTO getMessage(int from, String message, List<String> materialIdList , String chatType , String planId , Integer planType) { private QywxExternalMessageDTO getMessage(int from, String message, List<String> materialIdList , String chatType , String planId , Integer planType, CanvasInfoQDTO canvas) {
QywxExternalMessageDTO messageDTO = new QywxExternalMessageDTO(); QywxExternalMessageDTO messageDTO = new QywxExternalMessageDTO();
messageDTO.setChatType(chatType); messageDTO.setChatType(chatType);
List<QywxMessageMaterialDTO> attachList = new ArrayList<>(); List<QywxMessageMaterialDTO> attachList = new ArrayList<>();
...@@ -193,7 +197,7 @@ public class QywxSendServiceImpl implements QywxSendService { ...@@ -193,7 +197,7 @@ public class QywxSendServiceImpl implements QywxSendService {
if (material.getMaterialType() == 1) { if (material.getMaterialType() == 1) {
messageDTO.setContent(material.getMaterialContent()); messageDTO.setContent(material.getMaterialContent());
} else { } else {
attachList.add(this.getMessageMaterial(material,planId,planType)); attachList.add(this.getMessageMaterial(material,planId,planType,canvas));
} }
}); });
} }
...@@ -204,7 +208,10 @@ public class QywxSendServiceImpl implements QywxSendService { ...@@ -204,7 +208,10 @@ public class QywxSendServiceImpl implements QywxSendService {
/** /**
* 素材发送对象构造 * 素材发送对象构造
*/ */
private QywxMessageMaterialDTO getMessageMaterial(MaterialDTO material, String planId , Integer planType) { private QywxMessageMaterialDTO getMessageMaterial(MaterialDTO material, String planId , Integer planType , CanvasInfoQDTO canvas) {
if(null == canvas) {
canvas = new CanvasInfoQDTO() ;
}
// 素材类型 // 素材类型
Integer materialType = material.getMaterialType(); Integer materialType = material.getMaterialType();
// 企微对应的id // 企微对应的id
...@@ -237,13 +244,14 @@ public class QywxSendServiceImpl implements QywxSendService { ...@@ -237,13 +244,14 @@ public class QywxSendServiceImpl implements QywxSendService {
miniprogramMaterialDTO.setPage(material.getLink()); miniprogramMaterialDTO.setPage(material.getLink());
// 卡券 // 卡券
if(materialType==7) { if(materialType==7) {
String nodeId = "736591066084777985"; Long canvasId = canvas.getCanvasId();
String canvasId = "1123" ; Long nodeId = canvas.getNodeId();
String execLogId = "111" ; Long execLogId = canvas.getExecLogId() ;
Long sendTime = DateUtil.getStartTimeOfDay().getTime() ; Long clerkTaskTime = canvas.getTaskTime();
String str = "{\"id\":48,\"url\":\"/pages/member-center/coupon/coupon-group-get/coupon-group-get?execLogId="+execLogId+"&canvasId="+canvasId+"&time="+sendTime+"&nodeId="+nodeId+"\"}" ; String clerkId = canvas.getClerkId() ;
String str = "{\"id\":48,\"url\":\"/pages/member-center/coupon/coupon-group-get/coupon-group-get?execLogId="+execLogId+"&canvasId="+canvasId+"&time="+clerkTaskTime+"&nodeId="+nodeId+"\"}" ;
EnterpriseWxaRelationDTO en = this.enterpriseService.getByWxappkey(material.getAppId()) ; EnterpriseWxaRelationDTO en = this.enterpriseService.getByWxappkey(material.getAppId()) ;
Map<String, Object> map = this.enterpriseWxaLinkService.getWxaLinkAndQrCodeWithChannelAndSceneOfNotUrl(en.getEnterpriseId(),str,canvasId,"canvas",nodeId) ; Map<String, Object> map = this.enterpriseWxaLinkService.getWxaLinkAndQrCodeWithChannelAndSceneOfNotUrl(en.getEnterpriseId(),str,canvasId+"","canvas",nodeId+"_"+execLogId+"_"+clerkTaskTime+"_"+clerkId) ;
miniprogramMaterialDTO.setPage(map.get("link").toString()); miniprogramMaterialDTO.setPage(map.get("link").toString());
} }
if(null != planType && StringUtils.isNotBlank(planId)) { if(null != planType && StringUtils.isNotBlank(planId)) {
...@@ -264,12 +272,12 @@ public class QywxSendServiceImpl implements QywxSendService { ...@@ -264,12 +272,12 @@ public class QywxSendServiceImpl implements QywxSendService {
@Override @Override
public ServiceResponse<String> sendChatMessage(String wxEnterpriseId, String staffId, List<String> materialIdList,int planType ,String planId) { public ServiceResponse<String> sendChatMessage(String wxEnterpriseId, String staffId, List<String> materialIdList,int planType ,String planId) {
return this.send(wxEnterpriseId, staffId, null, materialIdList, null, 1 , group,planId,planType); return this.send(wxEnterpriseId, staffId, null, materialIdList, null, 1 , group,planId,planType,null);
} }
@Override @Override
public ServiceResponse<String> sendChatMessage(String wxEnterpriseId, String staffId, List<ContentMaterialDTO> imageList, String message) { public ServiceResponse<String> sendChatMessage(String wxEnterpriseId, String staffId, List<ContentMaterialDTO> imageList, String message) {
List<String> materialIdList = this.materialService.getImageMediaId(wxEnterpriseId, imageList, 1); List<String> materialIdList = this.materialService.getImageMediaId(wxEnterpriseId, imageList, 1);
return this.send(wxEnterpriseId, staffId, null, materialIdList, message, 2 , group,null,null); return this.send(wxEnterpriseId, staffId, null, materialIdList, message, 2 , group,null,null,null);
} }
} }
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