Commit a02fedf4 by 墨竹

feat:欢迎语修改

parent 6cd82673
......@@ -46,17 +46,21 @@ import com.gic.member.api.service.MemberOpenCardBusinessService;
import com.gic.mq.sdk.GicMQClient;
import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.dto.qywx.*;
import com.gic.wechat.api.enums.QywxMediaTypeEnum;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import com.github.pagehelper.PageHelper;
import com.google.common.collect.Sets;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.InputStream;
import java.net.URL;
import java.util.*;
import java.util.stream.Collectors;
......@@ -483,6 +487,17 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
}
private static byte[] getFileByte(String url) {
try {
InputStream in = new URL(url).openStream();
byte[] data = IOUtils.toByteArray(in);
return data;
} catch (Exception e) {
log.info("【异常】" + e.getMessage(), e);
}
return null;
}
/**
* 发送欢迎语
*
......@@ -493,35 +508,52 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
private void sendWelcome(MemberUnionidRelatedDTO dto, StaffClerkRelationDTO staffClerkRelationDTO, boolean sendApp) {
log.info("发送欢迎语:{}", JSONObject.toJSONString(staffClerkRelationDTO));
String relationKey = SecureUtil.md5(staffClerkRelationDTO.getClerkId() + dto.getExternalUserid());
TabWelcome tabWelcome = welcomeMapper.selectByWxEnterpriseId(staffClerkRelationDTO.getWxEnterpriseId());
String wxEnterpriseId = staffClerkRelationDTO.getWxEnterpriseId();
TabWelcome tabWelcome = welcomeMapper.selectByWxEnterpriseId(wxEnterpriseId);
if (null == tabWelcome || tabWelcome.getOpenFlag() == 0) {
log.info("不用发送欢迎语:{},{}", dto.getWxEnterpriseId(), JSONObject.toJSONString(tabWelcome));
log.info("欢迎语未配置:wxEnterpriseId:{}", wxEnterpriseId);
return;
}
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
if (wxEnterpriseDTO == null) {
log.info("微信企业不存在:wxEnterpriseId:{}", wxEnterpriseId);
return;
}
String externalName = dto.getExternalName();
String content = tabWelcome.getWelcomeContent().replaceAll("<微信昵称>", externalName);
QywxWelcomeMsgDTO qywxWelcomeMsgDTO = new QywxWelcomeMsgDTO();
qywxWelcomeMsgDTO.setText(tabWelcome == null ? "欢迎您!" : content);
//发送小吃店哪个系
qywxWelcomeMsgDTO.setText(content);
//发送小程序
if (sendApp) {
QywxMiniprogramExternalBaseDTO messageBaseDTO = new QywxMiniprogramExternalBaseDTO();
TabMiniprogramSetting miniprogramSetting = miniprogramSettingService.getMiniprogramSetting(staffClerkRelationDTO.getWxEnterpriseId(), staffClerkRelationDTO.getEnterpriseId());
log.info("发送小程序:{}", wxEnterpriseId);
TabMiniprogramSetting miniprogramSetting = miniprogramSettingService.getMiniprogramSetting(wxEnterpriseId, staffClerkRelationDTO.getEnterpriseId());
if (null == miniprogramSetting) {
log.info("需要配置小程序配置:{}", staffClerkRelationDTO.getWxEnterpriseId(), staffClerkRelationDTO.getEnterpriseId());
log.info("需要配置小程序配置:wxEnterpriseId:{},enterpriseId:{}", wxEnterpriseId, staffClerkRelationDTO.getEnterpriseId());
return;
}
List<QywxExternalMessageBaseDTO> attachments = new ArrayList<>();
QywxMiniprogramExternalBaseDTO messageBaseDTO = new QywxMiniprogramExternalBaseDTO();
messageBaseDTO.setAppid(miniprogramSetting.getAppId());
messageBaseDTO.setPicMediaId(miniprogramSetting.getMediaId());
messageBaseDTO.setTitle(miniprogramSetting.getTitle());
messageBaseDTO.setPage(config.getMemberOpenPage() + relationKey);
qywxWelcomeMsgDTO.setAttachments(new ArrayList<>());
qywxWelcomeMsgDTO.getAttachments().add(messageBaseDTO);
attachments.add(messageBaseDTO);
String welcomeImg = tabWelcome.getWelcomeImg();
if (StringUtils.isNotBlank(welcomeImg)) {
String[] arr = welcomeImg.split("/");
int count = arr.length;
JSONResponse jp = qywxSuiteApiService.uploadMedia(wxEnterpriseDTO.getCorpid(), config.getWxSuiteid(), getFileByte(welcomeImg), arr[count - 1], QywxMediaTypeEnum.IMAGE.getCode());
log.info("欢迎语发送图片返回:{}", JSON.toJSONString(jp));
if (jp.getErrorCode() == 0) {
QywxImageExternalBaseDTO qywxImageExternalBaseDTO = new QywxImageExternalBaseDTO();
qywxImageExternalBaseDTO.setMediaId(jp.getResult().toString());
attachments.add(qywxImageExternalBaseDTO);
}
}
}
qywxWelcomeMsgDTO.setWelcomeCode(dto.getWelcomeCode());
if (dto.getSuiteid().equals(SELF_APP)) {
//好办助手和代开发
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(dto.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal());
qywxUserApiService.sendSelfWelcomeMsgByExternal(dto.getCorpid(), secretSetting.getSecretVal(), qywxWelcomeMsgDTO);
} else {
......
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