Commit 100d8e41 by 墨竹

Merge branch 'feature/login-token' into developer

# Conflicts:
#	haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MemberUnionidRelatedApiServiceImpl.java
parents b2eb9773 a02fedf4
......@@ -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;
}
/**
* 发送欢迎语
*
......@@ -496,29 +511,45 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
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) {
log.info("发送小程序:{}", wxEnterpriseId);
QywxMiniprogramExternalBaseDTO messageBaseDTO = new QywxMiniprogramExternalBaseDTO();
TabMiniprogramSetting miniprogramSetting = miniprogramSettingService.getMiniprogramSetting(wxEnterpriseId, staffClerkRelationDTO.getEnterpriseId());
if (null == miniprogramSetting) {
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)) {
......
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