|
|
@@ -1,5 +1,6 @@
|
|
|
package com.uas.platform.b2b.erp.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.uas.message.mail.service.MailService;
|
|
|
import com.uas.platform.b2b.core.util.ContextUtils;
|
|
|
import com.uas.platform.b2b.core.util.DateFormatUtils;
|
|
|
@@ -22,10 +23,6 @@ import com.uas.platform.b2b.temporary.model.UserInfo;
|
|
|
import com.uas.platform.core.logging.BufferedLoggerManager;
|
|
|
import com.uas.platform.core.model.Constant;
|
|
|
import com.uas.platform.core.model.Status;
|
|
|
-import com.uas.platform.core.util.HttpUtil;
|
|
|
-import com.uas.platform.core.util.serializer.FlexJsonUtils;
|
|
|
-import org.slf4j.Logger;
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -82,7 +79,7 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
|
|
|
List<PurcInquiry> purcInquiries = new ArrayList<PurcInquiry>();
|
|
|
if(!CollectionUtils.isEmpty(inquiries)) {
|
|
|
for(BatchInquiry inquiry : inquiries) {
|
|
|
- PurcInquiry old = inquiryDao.findByCode(inquiry.getBi_code());
|
|
|
+ PurcInquiry old = inquiryDao.findByCodeAndEnUU(inquiry.getBi_code(), enuu);
|
|
|
//先判断是否已经存在,不存在才进行存储
|
|
|
if(null == old) {
|
|
|
PurcInquiry purcInquiry = inquiry.covert();
|
|
|
@@ -140,8 +137,20 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
- // 产生消息
|
|
|
- sendMessage(inquiryItems);
|
|
|
+ // 产生消息 使用线程会丢数据
|
|
|
+// sendMessage(inquiryItems);
|
|
|
+ List<PurcInquiry> distinctInquiries = PurcInquiryItem.distinct(inquiryItems);
|
|
|
+ List<PurcInquiryItem> items = new ArrayList<>();
|
|
|
+ for (PurcInquiry inquiry : distinctInquiries) {
|
|
|
+ Set<Long> enUUs = new HashSet<>();
|
|
|
+ for (PurcInquiryItem inquiryItem : inquiry.getInquiryItems()) {
|
|
|
+ if (!enUUs.contains(inquiryItem.getVendUU())) {
|
|
|
+ items.add(inquiryItem);
|
|
|
+ enUUs.add(inquiryItem.getVendUU());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ContextUtils.publishEvent(new PurcInquirySaveReleaseEvent(items));
|
|
|
// 发送通知
|
|
|
Long userUU = SystemSession.getUser().getUserUU();
|
|
|
Long enUU = SystemSession.getUser().getEnterprise().getUu();
|
|
|
@@ -240,10 +249,10 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
|
|
|
mailService.send(messageConf.getTplInquiryForB2B(), userEmail.getEmemail(), model);
|
|
|
// 线程内无法访问Systemsession,会报nullPoint,采用存储过程
|
|
|
// usageLogger.log("询价发送邮件", "企业UU:" + inquiry.getEnUU() + ",单号:" +inquiry.getCode() +" 发送邮件成功", "询价发送邮件成功");
|
|
|
- noticeDao.saveErpLog(userName, userIp, enUU, userUU, "发送询价单通知邮件", "发送成功,询价单号" + inquiry.getCode());
|
|
|
+ noticeDao.saveErpLog(userName, userIp, enUU, userUU, "公共询价单通知邮件", "发送成功,询价单号" + inquiry.getCode());
|
|
|
} catch (Exception e) {
|
|
|
// usageLogger.log("询价发送邮件", "企业UU:" + inquiry.getEnUU() + ",单号:" +inquiry.getCode() +" 发送邮件失败", "询价发送邮件出错");
|
|
|
- noticeDao.saveErpLog(userName, userIp, enUU, userUU, "发送询价单通知邮件", "发送失败,询价单号" + inquiry.getCode());
|
|
|
+ noticeDao.saveErpLog(userName, userIp, enUU, userUU, "公共询价单通知邮件", "发送失败,询价单号" + inquiry.getCode());
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|