|
@@ -252,7 +252,6 @@ public class AdwebEnquiryServiceImpl extends ServiceImpl<AdwebEnquiryMapper, Adw
|
|
|
|
|
|
adwebEnquiryList.add(adwebEnquiry);
|
|
|
|
|
|
-
|
|
|
form.setEnquiryId(adwebEnquiry.getId());
|
|
|
form.setForm(forms);
|
|
|
form.setCountry(adwebEnquiry.getCountry());
|
|
@@ -269,50 +268,45 @@ public class AdwebEnquiryServiceImpl extends ServiceImpl<AdwebEnquiryMapper, Adw
|
|
|
// 客户黑名单过滤
|
|
|
judgeBlacklist(adwebEnquiryList);
|
|
|
|
|
|
- if (!adwebEnquiryList.isEmpty()) {
|
|
|
- AdwebEnquiry target = adwebEnquiryList.get(0);
|
|
|
- try {
|
|
|
- this.save(target);
|
|
|
- adwebEnquiryFormService.save(form);
|
|
|
+ AdwebEnquiry target = adwebEnquiryList.get(0);
|
|
|
+ try {
|
|
|
+ this.save(target);
|
|
|
+ adwebEnquiryFormService.save(form);
|
|
|
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("站点为:{}, recordId为:{} 保存询盘到数据库失败,原因是:{}", adwebSite.getName(), enquiryDto.getRecordId(), e.getMessage());
|
|
|
- }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("站点为:{}, recordId为:{} 保存询盘到数据库失败,原因是:{}", adwebSite.getName(), enquiryDto.getRecordId(), e.getMessage());
|
|
|
+ }
|
|
|
|
|
|
- // 给该站点所属的用户发送消息
|
|
|
- AdwebSite targetSite = adwebSiteService.getSiteByCode(target.getSiteCode());
|
|
|
- SysUser sysUser = sysUserService.getUserByName("admin");
|
|
|
- SysUser demouser = sysUserService.getUserByName("adwebdemo");
|
|
|
- String[] userIds = {targetSite.getUid(), sysUser.getId(), demouser.getId()};
|
|
|
+ // 给该站点所属的用户发送消息
|
|
|
+ AdwebSite targetSite = adwebSiteService.getSiteByCode(target.getSiteCode());
|
|
|
+ SysUser sysUser = sysUserService.getUserByName("admin");
|
|
|
+ SysUser demouser = sysUserService.getUserByName("adwebdemo");
|
|
|
+ String[] userIds = {targetSite.getUid(), sysUser.getId(), demouser.getId()};
|
|
|
|
|
|
- // TODO 之后仅对有效询盘进行发送消息通知
|
|
|
- webSocketService.sendMessage(userIds, "您已经收到询盘,请尽快处理", WebsocketConst.CMD_ENQUIRY);
|
|
|
+ // TODO 之后仅对有效询盘进行发送消息通知
|
|
|
+ webSocketService.sendMessage(userIds, "您已经收到询盘,请尽快处理", WebsocketConst.CMD_ENQUIRY);
|
|
|
|
|
|
|
|
|
- // 发送询盘邮件
|
|
|
- sendValidateEmail(adwebEnquiryList, adwebSite, principalEmailMap);
|
|
|
- }
|
|
|
+ // 发送询盘邮件
|
|
|
+ sendValidateEmail(target, adwebSite, principalEmailMap);
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 发送询盘邮件
|
|
|
*
|
|
|
- * @param enquiryList 待发送询盘列表
|
|
|
+ * @param adwebEnquiry 待发送询盘列表
|
|
|
* @param adwebSite 接收邮箱集合
|
|
|
* @param principalEmailMap
|
|
|
*/
|
|
|
- private void sendValidateEmail(List<AdwebEnquiry> enquiryList, AdwebSite adwebSite, Map<String, String> principalEmailMap) {
|
|
|
- if (CollectionUtils.isEmpty(enquiryList)) {
|
|
|
- log.info("未获取到需要发送邮件的询盘");
|
|
|
- return;
|
|
|
- }
|
|
|
- log.info("需要发送邮件的询盘:{}", FastJsonUtil.toJSONString(enquiryList));
|
|
|
+ private void sendValidateEmail(AdwebEnquiry adwebEnquiry, AdwebSite adwebSite, Map<String, String> principalEmailMap) {
|
|
|
+ log.info("需要发送邮件的询盘:{}", FastJsonUtil.toJSONString(adwebEnquiry.getId()));
|
|
|
|
|
|
//特殊站点发送邮件
|
|
|
List<DictPropertyModel> siteRes = sysAdwebApiImpl.queryDictInfoByDictCode("turn_inquiry_site_code");
|
|
|
if (CollectionUtils.isNotEmpty(siteRes) && siteRes.get(0).getValue().equals(adwebSite.getCode())) {
|
|
|
- specialSendEmail(enquiryList, adwebSite);
|
|
|
+ log.info("该询盘:{}, 是特殊站点发送邮件", adwebEnquiry.getId());
|
|
|
+ specialSendEmail(adwebEnquiry, adwebSite);
|
|
|
} else {
|
|
|
String emailStr = adwebSite.getEnquiryEmailList();
|
|
|
if (StringUtil.isEmpty(emailStr)) {
|
|
@@ -329,160 +323,157 @@ public class AdwebEnquiryServiceImpl extends ServiceImpl<AdwebEnquiryMapper, Adw
|
|
|
|
|
|
|
|
|
List<EnquiryEmailMessage> enquiryEmailMessageList = new ArrayList<>();
|
|
|
- for (AdwebEnquiry adwebEnquiry : enquiryList) {
|
|
|
- if (adwebEnquiry.getWasteEnquiry() != 1 && adwebEnquiry.getStatus() != 0) {
|
|
|
- HashSet<String> emailSet = new HashSet<>();
|
|
|
- String priUid = adwebEnquiry.getPrincipalUid();
|
|
|
|
|
|
- if (principalEmailMap.isEmpty()) {
|
|
|
- for (String e : emailList) {
|
|
|
+ if (adwebEnquiry.getWasteEnquiry() != 1 && adwebEnquiry.getStatus() != 0) {
|
|
|
+ HashSet<String> emailSet = new HashSet<>();
|
|
|
+ String priUid = adwebEnquiry.getPrincipalUid();
|
|
|
+
|
|
|
+ if (principalEmailMap.isEmpty()) {
|
|
|
+ for (String e : emailList) {
|
|
|
+ if (emailSet.contains(e)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
+ emailSet.add(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //1 如果选择发送全部 2.不是产品页面 全发
|
|
|
+ else if (StringUtil.isEmpty(adwebEnquiry.getPrincipalUid()) || adwebEnquiry.getExistProductEnquiry() == null || adwebEnquiry.getExistProductEnquiry() == 0 || adwebEnquiry.getPrincipalUid().equals("ALL")) {
|
|
|
+ if (adwebSite.getEnquirySendEmailType().equals("ALL")) {
|
|
|
+ log.info("发送询盘邮件--不是产品--进行所有账号发送规则");
|
|
|
+ for (String e : principalEmailMap.values()) {
|
|
|
if (emailSet.contains(e)) {
|
|
|
continue;
|
|
|
}
|
|
|
enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
emailSet.add(e);
|
|
|
}
|
|
|
- }
|
|
|
- //1 如果选择发送全部 2.不是产品页面 全发
|
|
|
- else if (StringUtil.isEmpty(adwebEnquiry.getPrincipalUid()) || adwebEnquiry.getExistProductEnquiry() == null || adwebEnquiry.getExistProductEnquiry() == 0 || adwebEnquiry.getPrincipalUid().equals("ALL")) {
|
|
|
- if (adwebSite.getEnquirySendEmailType().equals("ALL")) {
|
|
|
- log.info("发送询盘邮件--不是产品--进行所有账号发送规则");
|
|
|
- for (String e : principalEmailMap.values()) {
|
|
|
- if (emailSet.contains(e)) {
|
|
|
- continue;
|
|
|
+ } else {
|
|
|
+ //询盘邮件规则 主账号和添加了的负责人,如果负责人选择了all取所有人
|
|
|
+ log.info("发送询盘邮件--不是产品--进行只有主账号发送规则--负责人不为all");
|
|
|
+ if (!"ALL".equals(adwebEnquiry.getPrincipalUid())) {
|
|
|
+ //主账号
|
|
|
+ SysUser masterUserAccount = sysUserService.getById(adwebEnquiry.getUid());
|
|
|
+ if (masterUserAccount != null && StringUtils.isNotBlank(masterUserAccount.getEmail())) {
|
|
|
+ emailSet.add(masterUserAccount.getEmail());
|
|
|
+ enquiryEmailMessageList.add(newEmail(adwebEnquiry, masterUserAccount.getEmail()));
|
|
|
+ }
|
|
|
+ //负责人
|
|
|
+ for (String key : principalEmailMap.keySet()) {
|
|
|
+ if (adwebEnquiry.getPrincipalUid().equals(key) && !emailSet.contains(principalEmailMap.get(key))) {
|
|
|
+ enquiryEmailMessageList.add(newEmail(adwebEnquiry, principalEmailMap.get(key)));
|
|
|
+ emailSet.add(principalEmailMap.get(key));
|
|
|
}
|
|
|
- enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
- emailSet.add(e);
|
|
|
}
|
|
|
} else {
|
|
|
- //询盘邮件规则 主账号和添加了的负责人,如果负责人选择了all取所有人
|
|
|
- log.info("发送询盘邮件--不是产品--进行只有主账号发送规则--负责人不为all");
|
|
|
- if (!"ALL".equals(adwebEnquiry.getPrincipalUid())) {
|
|
|
+ //判断是否走同步询盘,同步询盘不进行全部处理
|
|
|
+ log.info("发送询盘邮件--不是产品--进行只有主账号发送规则--负责人为all");
|
|
|
+ if (StringUtil.isEmpty(adwebEnquiry.getIsEnquirySync())) {
|
|
|
+ for (String e : principalEmailMap.values()) {
|
|
|
+ if (emailSet.contains(e)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
+ emailSet.add(e);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
//主账号
|
|
|
SysUser masterUserAccount = sysUserService.getById(adwebEnquiry.getUid());
|
|
|
if (masterUserAccount != null && StringUtils.isNotBlank(masterUserAccount.getEmail())) {
|
|
|
emailSet.add(masterUserAccount.getEmail());
|
|
|
enquiryEmailMessageList.add(newEmail(adwebEnquiry, masterUserAccount.getEmail()));
|
|
|
}
|
|
|
- //负责人
|
|
|
- for (String key : principalEmailMap.keySet()) {
|
|
|
- if (adwebEnquiry.getPrincipalUid().equals(key) && !emailSet.contains(principalEmailMap.get(key))) {
|
|
|
- enquiryEmailMessageList.add(newEmail(adwebEnquiry, principalEmailMap.get(key)));
|
|
|
- emailSet.add(principalEmailMap.get(key));
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- //判断是否走同步询盘,同步询盘不进行全部处理
|
|
|
- log.info("发送询盘邮件--不是产品--进行只有主账号发送规则--负责人为all");
|
|
|
- if (StringUtil.isEmpty(adwebEnquiry.getIsEnquirySync())) {
|
|
|
- for (String e : principalEmailMap.values()) {
|
|
|
- if (emailSet.contains(e)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
- emailSet.add(e);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //主账号
|
|
|
- SysUser masterUserAccount = sysUserService.getById(adwebEnquiry.getUid());
|
|
|
- if (masterUserAccount != null && StringUtils.isNotBlank(masterUserAccount.getEmail())) {
|
|
|
- emailSet.add(masterUserAccount.getEmail());
|
|
|
- enquiryEmailMessageList.add(newEmail(adwebEnquiry, masterUserAccount.getEmail()));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- for (String e : emailList) {
|
|
|
- if (emailSet.contains(e)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
- emailSet.add(e);
|
|
|
- }
|
|
|
- }
|
|
|
- //当主站为空
|
|
|
- else if (StringUtil.isEmpty(principalEmailMap.get(adwebEnquiry.getUid())) && adwebEnquiry.getExistProductEnquiry() == 1) {
|
|
|
- log.info("发送询盘邮件--产品询盘--当主站为空");
|
|
|
- String email = principalEmailMap.get(priUid);
|
|
|
- List<String> subSiteEmailList = null;
|
|
|
- if (StringUtils.isNotBlank(email)) {
|
|
|
- enquiryEmailMessageList.add(newEmail(adwebEnquiry, email));
|
|
|
- emailSet.add(email);
|
|
|
- //筛选出子站点,不给子站点发,给配置询盘的地方发
|
|
|
- subSiteEmailList = principalEmailMap.entrySet()
|
|
|
- .stream()
|
|
|
- .filter(entry -> !email.equals(entry.getKey()))
|
|
|
- .map(Map.Entry::getValue)
|
|
|
- .collect(Collectors.toList());
|
|
|
- } else {
|
|
|
- subSiteEmailList = new ArrayList<>(principalEmailMap.values());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //遍历emailList 不包含subSiteEmailList
|
|
|
- for (String e : emailList) {
|
|
|
- if (subSiteEmailList.contains(e) || emailSet.contains(e)) {
|
|
|
- continue;
|
|
|
}
|
|
|
- enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
- emailSet.add(e);
|
|
|
}
|
|
|
}
|
|
|
- //如果当前询盘配置的为子账户 则给子账户和主账户发
|
|
|
- else if (adwebEnquiry.getExistProductEnquiry() == 1 && !adwebEnquiry.getUid().equals(priUid)) {
|
|
|
- log.info("发送询盘邮件--产品询盘--如果当前询盘配置的为子账户 则给子账户和主账户发");
|
|
|
- String email = principalEmailMap.get(priUid);
|
|
|
- if (StringUtils.isNotBlank(email)) {
|
|
|
- enquiryEmailMessageList.add(newEmail(adwebEnquiry, email));
|
|
|
- emailSet.add(email);
|
|
|
- }
|
|
|
-
|
|
|
- //给主账户发
|
|
|
- String masterEmail = principalEmailMap.get(adwebEnquiry.getUid());
|
|
|
- if (emailSet.contains(masterEmail)) {
|
|
|
+ for (String e : emailList) {
|
|
|
+ if (emailSet.contains(e)) {
|
|
|
continue;
|
|
|
}
|
|
|
- enquiryEmailMessageList.add(newEmail(adwebEnquiry, masterEmail));
|
|
|
- emailSet.add(masterEmail);
|
|
|
-
|
|
|
+ enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
+ emailSet.add(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //当主站为空
|
|
|
+ else if (StringUtil.isEmpty(principalEmailMap.get(adwebEnquiry.getUid())) && adwebEnquiry.getExistProductEnquiry() == 1) {
|
|
|
+ log.info("发送询盘邮件--产品询盘--当主站为空");
|
|
|
+ String email = principalEmailMap.get(priUid);
|
|
|
+ List<String> subSiteEmailList = null;
|
|
|
+ if (StringUtils.isNotBlank(email)) {
|
|
|
+ enquiryEmailMessageList.add(newEmail(adwebEnquiry, email));
|
|
|
+ emailSet.add(email);
|
|
|
//筛选出子站点,不给子站点发,给配置询盘的地方发
|
|
|
- List<String> subSiteEmailList = principalEmailMap.entrySet()
|
|
|
+ subSiteEmailList = principalEmailMap.entrySet()
|
|
|
.stream()
|
|
|
- .filter(entry -> !Arrays.asList(email, masterEmail).contains(entry.getKey()))
|
|
|
+ .filter(entry -> !email.equals(entry.getKey()))
|
|
|
.map(Map.Entry::getValue)
|
|
|
.collect(Collectors.toList());
|
|
|
+ } else {
|
|
|
+ subSiteEmailList = new ArrayList<>(principalEmailMap.values());
|
|
|
+ }
|
|
|
|
|
|
- //遍历emailList 不包含subSiteEmailList
|
|
|
- for (String e : emailList) {
|
|
|
- if (subSiteEmailList.contains(e) || emailSet.contains(e)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
- emailSet.add(e);
|
|
|
+
|
|
|
+ //遍历emailList 不包含subSiteEmailList
|
|
|
+ for (String e : emailList) {
|
|
|
+ if (subSiteEmailList.contains(e) || emailSet.contains(e)) {
|
|
|
+ continue;
|
|
|
}
|
|
|
+ enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
+ emailSet.add(e);
|
|
|
}
|
|
|
- //如果当前询盘配置的为主账户 则只给主账户发 //还有一种情况 子账户为空 只给主站发
|
|
|
- else if (adwebEnquiry.getUid().equals(priUid) && adwebEnquiry.getExistProductEnquiry() == 1) {
|
|
|
- log.info("发送询盘邮件--产品询盘--如果当前询盘配置的为主账户 则只给主账户发 //还有一种情况 子账户为空 只给主站发");
|
|
|
- String email = principalEmailMap.get(priUid);
|
|
|
+ }
|
|
|
+ //如果当前询盘配置的为子账户 则给子账户和主账户发
|
|
|
+ else if (adwebEnquiry.getExistProductEnquiry() == 1 && !adwebEnquiry.getUid().equals(priUid)) {
|
|
|
+ log.info("发送询盘邮件--产品询盘--如果当前询盘配置的为子账户 则给子账户和主账户发");
|
|
|
+ String email = principalEmailMap.get(priUid);
|
|
|
+ if (StringUtils.isNotBlank(email)) {
|
|
|
enquiryEmailMessageList.add(newEmail(adwebEnquiry, email));
|
|
|
emailSet.add(email);
|
|
|
+ }
|
|
|
|
|
|
- //筛选出子站点,不给子站点发,给配置询盘的地方发
|
|
|
- List<String> subSiteEmailList = principalEmailMap.entrySet()
|
|
|
- .stream()
|
|
|
- .filter(entry -> !entry.getKey().equals(priUid))
|
|
|
- .map(Map.Entry::getValue)
|
|
|
- .collect(Collectors.toList());
|
|
|
+ //给主账户发
|
|
|
+ String masterEmail = principalEmailMap.get(adwebEnquiry.getUid());
|
|
|
|
|
|
- //遍历emailList 不包含subSiteEmailList
|
|
|
- for (String e : emailList) {
|
|
|
- if (subSiteEmailList.contains(e) || emailSet.contains(e)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
- emailSet.add(e);
|
|
|
+ enquiryEmailMessageList.add(newEmail(adwebEnquiry, masterEmail));
|
|
|
+ emailSet.add(masterEmail);
|
|
|
+
|
|
|
+ //筛选出子站点,不给子站点发,给配置询盘的地方发
|
|
|
+ List<String> subSiteEmailList = principalEmailMap.entrySet()
|
|
|
+ .stream()
|
|
|
+ .filter(entry -> !Arrays.asList(email, masterEmail).contains(entry.getKey()))
|
|
|
+ .map(Map.Entry::getValue)
|
|
|
+ .toList();
|
|
|
+
|
|
|
+ //遍历emailList 不包含subSiteEmailList
|
|
|
+ for (String e : emailList) {
|
|
|
+ if (subSiteEmailList.contains(e) || emailSet.contains(e)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
+ emailSet.add(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //如果当前询盘配置的为主账户 则只给主账户发 //还有一种情况 子账户为空 只给主站发
|
|
|
+ else if (adwebEnquiry.getUid().equals(priUid) && adwebEnquiry.getExistProductEnquiry() == 1) {
|
|
|
+ log.info("发送询盘邮件--产品询盘--如果当前询盘配置的为主账户 则只给主账户发 //还有一种情况 子账户为空 只给主站发");
|
|
|
+ String email = principalEmailMap.get(priUid);
|
|
|
+ enquiryEmailMessageList.add(newEmail(adwebEnquiry, email));
|
|
|
+ emailSet.add(email);
|
|
|
+
|
|
|
+ //筛选出子站点,不给子站点发,给配置询盘的地方发
|
|
|
+ List<String> subSiteEmailList = principalEmailMap.entrySet()
|
|
|
+ .stream()
|
|
|
+ .filter(entry -> !entry.getKey().equals(priUid))
|
|
|
+ .map(Map.Entry::getValue)
|
|
|
+ .toList();
|
|
|
+
|
|
|
+ //遍历emailList 不包含subSiteEmailList
|
|
|
+ for (String e : emailList) {
|
|
|
+ if (subSiteEmailList.contains(e) || emailSet.contains(e)) {
|
|
|
+ continue;
|
|
|
}
|
|
|
+ enquiryEmailMessageList.add(newEmail(adwebEnquiry, e));
|
|
|
+ emailSet.add(e);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -523,10 +514,10 @@ public class AdwebEnquiryServiceImpl extends ServiceImpl<AdwebEnquiryMapper, Adw
|
|
|
/**
|
|
|
* 特殊账号发送邮件
|
|
|
*
|
|
|
- * @param enquiryList
|
|
|
+ * @param adwebEnquiry
|
|
|
* @param adwebSite
|
|
|
*/
|
|
|
- public void specialSendEmail(List<AdwebEnquiry> enquiryList, AdwebSite adwebSite) {
|
|
|
+ public void specialSendEmail(AdwebEnquiry adwebEnquiry, AdwebSite adwebSite) {
|
|
|
//通过主账号id获取子账号id集合
|
|
|
List<String> idList = masterSubAccountRelationService.getSubAccountIdByMaster(adwebSite.getUid());
|
|
|
|
|
@@ -540,58 +531,56 @@ public class AdwebEnquiryServiceImpl extends ServiceImpl<AdwebEnquiryMapper, Adw
|
|
|
List<SysUser> sysUsers = sysUserService.list(sysUserQueryWrapper);
|
|
|
|
|
|
|
|
|
- for (AdwebEnquiry adwebEnquiry : enquiryList) {
|
|
|
- List<EnquiryEmailMessage> enquiryEmailMessageList = new ArrayList<>();
|
|
|
- if (adwebEnquiry.getWasteEnquiry() != 1 && adwebEnquiry.getStatus() != 0) {
|
|
|
- //当前发送邮件的账号
|
|
|
- SysUser sysUser = new SysUser();
|
|
|
-
|
|
|
- //如果没有子账号,则只给主账号发送邮件
|
|
|
- if (CollectionUtils.isEmpty(sysUsers)) {
|
|
|
- //获取主账号
|
|
|
- SysUser mainUser = sysUserService.getById(adwebSite.getUid());
|
|
|
- //主账号邮件信息添加
|
|
|
- if (mainUser != null && StringUtils.isNotBlank(mainUser.getEmail())) {
|
|
|
- enquiryEmailMessageList.add(newEmail(adwebEnquiry, mainUser.getEmail()));
|
|
|
- }
|
|
|
+ List<EnquiryEmailMessage> enquiryEmailMessageList = new ArrayList<>();
|
|
|
+ if (adwebEnquiry.getWasteEnquiry() != 1 && adwebEnquiry.getStatus() != 0) {
|
|
|
+ //当前发送邮件的账号
|
|
|
+ SysUser sysUser = new SysUser();
|
|
|
+
|
|
|
+ //如果没有子账号,则只给主账号发送邮件
|
|
|
+ if (CollectionUtils.isEmpty(sysUsers)) {
|
|
|
+ //获取主账号
|
|
|
+ SysUser mainUser = sysUserService.getById(adwebSite.getUid());
|
|
|
+ //主账号邮件信息添加
|
|
|
+ if (mainUser != null && StringUtils.isNotBlank(mainUser.getEmail())) {
|
|
|
+ enquiryEmailMessageList.add(newEmail(adwebEnquiry, mainUser.getEmail()));
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- enquiryEmailMessageList.forEach(e -> System.out.println(e.getEmail()));
|
|
|
-
|
|
|
- log.info("需要添加的询盘邮件:{}", FastJsonUtil.toJSONString(enquiryEmailMessageList));
|
|
|
- if (CollectionUtils.isNotEmpty(enquiryEmailMessageList)) {
|
|
|
- QueryWrapper<EnquiryEmailMessage> enquiryEmailMessageQueryWrapper = new QueryWrapper<>();
|
|
|
- enquiryEmailMessageQueryWrapper.eq("site_code", adwebSite.getCode());
|
|
|
- List<EnquiryEmailMessage> enquiryEmailMessages = enquiryEmailMessageService.list(enquiryEmailMessageQueryWrapper);
|
|
|
- List<EnquiryEmailMessage> sameEnquiryEmailMessageList = new ArrayList<>();
|
|
|
- if (CollectionUtils.isNotEmpty(enquiryEmailMessages)) {
|
|
|
- for (EnquiryEmailMessage enquiryEmailMessage : enquiryEmailMessages) {
|
|
|
- for (EnquiryEmailMessage enquiryEmailMessage1 : enquiryEmailMessageList) {
|
|
|
- if (enquiryEmailMessage.getEnquiryId().equals(enquiryEmailMessage1.getEnquiryId()) && enquiryEmailMessage.getEmail().equals(enquiryEmailMessage1.getEmail())) {
|
|
|
- sameEnquiryEmailMessageList.add(enquiryEmailMessage1);
|
|
|
- }
|
|
|
+ enquiryEmailMessageList.forEach(e -> System.out.println(e.getEmail()));
|
|
|
+
|
|
|
+ log.info("需要添加的询盘邮件:{}", FastJsonUtil.toJSONString(enquiryEmailMessageList));
|
|
|
+ if (CollectionUtils.isNotEmpty(enquiryEmailMessageList)) {
|
|
|
+ QueryWrapper<EnquiryEmailMessage> enquiryEmailMessageQueryWrapper = new QueryWrapper<>();
|
|
|
+ enquiryEmailMessageQueryWrapper.eq("site_code", adwebSite.getCode());
|
|
|
+ List<EnquiryEmailMessage> enquiryEmailMessages = enquiryEmailMessageService.list(enquiryEmailMessageQueryWrapper);
|
|
|
+ List<EnquiryEmailMessage> sameEnquiryEmailMessageList = new ArrayList<>();
|
|
|
+ if (CollectionUtils.isNotEmpty(enquiryEmailMessages)) {
|
|
|
+ for (EnquiryEmailMessage enquiryEmailMessage : enquiryEmailMessages) {
|
|
|
+ for (EnquiryEmailMessage enquiryEmailMessage1 : enquiryEmailMessageList) {
|
|
|
+ if (enquiryEmailMessage.getEnquiryId().equals(enquiryEmailMessage1.getEnquiryId()) && enquiryEmailMessage.getEmail().equals(enquiryEmailMessage1.getEmail())) {
|
|
|
+ sameEnquiryEmailMessageList.add(enquiryEmailMessage1);
|
|
|
}
|
|
|
}
|
|
|
- enquiryEmailMessageList.removeAll(sameEnquiryEmailMessageList);
|
|
|
}
|
|
|
- log.info("最终添加的询盘邮件:{}", FastJsonUtil.toJSONString(enquiryEmailMessageList));
|
|
|
- enquiryEmailMessageService.saveBatch(enquiryEmailMessageList);
|
|
|
- try {
|
|
|
- for (EnquiryEmailMessage message : enquiryEmailMessageList) {
|
|
|
- ObjectMapper objectMapper = new ObjectMapper();
|
|
|
- JedisUtil.lpush(redisKey, objectMapper.writeValueAsBytes(message.getEnquiryId()));
|
|
|
- JedisUtil.publishMsg(EnquiryConstants.ENQUIRY_EMAIL_CHANNEL, EnquiryConstants.ENQUIRY_EMAIL);
|
|
|
- }
|
|
|
- SysUser user = sysUserService.getById(adwebEnquiry.getPrincipalUid());
|
|
|
- if (StringUtils.isNotBlank(adwebEnquiry.getRecordId())) {
|
|
|
- returnSalesperson(adwebSite.getCode(), adwebEnquiry.getRecordId(), user.getUsername());
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- log.info("推送发送询盘邮件的消息失败", e);
|
|
|
+ enquiryEmailMessageList.removeAll(sameEnquiryEmailMessageList);
|
|
|
+ }
|
|
|
+ log.info("最终添加的询盘邮件:{}", FastJsonUtil.toJSONString(enquiryEmailMessageList));
|
|
|
+ enquiryEmailMessageService.saveBatch(enquiryEmailMessageList);
|
|
|
+ try {
|
|
|
+ for (EnquiryEmailMessage message : enquiryEmailMessageList) {
|
|
|
+ ObjectMapper objectMapper = new ObjectMapper();
|
|
|
+ JedisUtil.lpush(redisKey, objectMapper.writeValueAsBytes(message.getEnquiryId()));
|
|
|
+ JedisUtil.publishMsg(EnquiryConstants.ENQUIRY_EMAIL_CHANNEL, EnquiryConstants.ENQUIRY_EMAIL);
|
|
|
+ }
|
|
|
+ SysUser user = sysUserService.getById(adwebEnquiry.getPrincipalUid());
|
|
|
+ if (StringUtils.isNotBlank(adwebEnquiry.getRecordId())) {
|
|
|
+ returnSalesperson(adwebSite.getCode(), adwebEnquiry.getRecordId(), user.getUsername());
|
|
|
}
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.info("推送发送询盘邮件的消息失败", e);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -851,7 +840,7 @@ public class AdwebEnquiryServiceImpl extends ServiceImpl<AdwebEnquiryMapper, Adw
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 判断邮件是否是垃圾询盘
|
|
|
+ * 判断邮件是否是垃圾询盘 =》 基于站点黑名单
|
|
|
* 1、邮件过滤
|
|
|
* 2、根据邮件是否包含外部url过滤
|
|
|
* 3、根据关键词过滤
|
|
@@ -1892,7 +1881,11 @@ public class AdwebEnquiryServiceImpl extends ServiceImpl<AdwebEnquiryMapper, Adw
|
|
|
|
|
|
}
|
|
|
}
|
|
|
- sendValidateEmail(enquiryList, adwebSite, principalEmailMap);
|
|
|
+
|
|
|
+ for (AdwebEnquiry adwebEnquiry : enquiryList) {
|
|
|
+ sendValidateEmail(adwebEnquiry, adwebSite, principalEmailMap);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
} catch (Exception e) {
|