Просмотр исходного кода

询价单上传到平台消息产生问题的处理,先关闭短信发送通知

hejq 8 лет назад
Родитель
Сommit
15c8548b13

+ 3 - 0
src/main/java/com/uas/platform/b2b/erp/service/PublicInquiryService.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2b.erp.service;
 
 import com.uas.platform.b2b.erp.model.BatchInquiry;
 import com.uas.platform.b2b.model.PurcInquiry;
+import com.uas.platform.b2b.model.PurcInquiryItem;
 
 import java.util.List;
 
@@ -31,4 +32,6 @@ public interface PublicInquiryService {
      * @param inquiries
      */
     void updateStatus(List<BatchInquiry> inquiries);
+
+    void sendMessage(List<PurcInquiryItem> inquiryItems);
 }

+ 27 - 28
src/main/java/com/uas/platform/b2b/erp/service/impl/PublicInquiryServiceImpl.java

@@ -1,6 +1,5 @@
 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;
@@ -11,7 +10,10 @@ import com.uas.platform.b2b.erp.model.BatchInquiry;
 import com.uas.platform.b2b.erp.service.PublicInquiryService;
 import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
 import com.uas.platform.b2b.event.PurcInquirySaveReleaseEvent;
-import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.model.PurcInquiry;
+import com.uas.platform.b2b.model.PurcInquiryItem;
 import com.uas.platform.b2b.support.MessageConf;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
@@ -22,6 +24,8 @@ 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;
@@ -132,7 +136,7 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
                     items = purcInquiryItemDao.save(items);
                     inquiryItems.addAll(items);
                 } catch (Exception e) {
-                    logger.log("公共询价保存出错", inquiry.getEnUU() + "," +inquiry.getCode() +" 保存失败", 0);
+                    logger.log("公共询价保存出错", inquiry.getEnUU() + "," +inquiry.getCode() +" 保存失败", 1);
                     e.printStackTrace();
                 }
             }
@@ -151,7 +155,8 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
      * 产生消息
      * @param inquiryItems
      */
-    private void sendMessage(final List<PurcInquiryItem> inquiryItems) {
+    @Override
+    public void sendMessage(final List<PurcInquiryItem> inquiryItems) {
         ThreadTask.getInstance().execute(new Runnable() {
             @Override
             public void run() {
@@ -180,7 +185,7 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
      * @param userIp
      * @param enUU @return
      */
-    private void sendRemind(final List<PurcInquiry> inquiries, final Long userUU, final String userName, final String userIp, final Long enUU){
+    private void sendRemind(final List<PurcInquiry> inquiries, final Long userUU, final String userName, final String userIp, final Long enUU) {
         ThreadTask.getInstance().execute(new Runnable() {
             @Override
             public void run() {
@@ -222,13 +227,10 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
                             // 不存在被分配客户的业务员则添加系统管理员
                             if (CollectionUtils.isEmpty(userEmails) && CollectionUtils.isEmpty(userTels)) {
                                 Enterprise enterprise = enterpriseDao.findOne(inquiryItem.getVendUU());
-                                if (null != enterprise) {
-                                    User admin = userDao.findOne(enterprise.getEnAdminuu());
-                                    if (null != admin) {
-                                        UserInfo adminInfo = new UserInfo(admin);
-                                        userEmails.add(adminInfo);
-                                        userTels.add(adminInfo);
-                                    }
+                                if (null != enterprise && null != enterprise.getAdmin()) {
+                                    UserInfo adminInfo = new UserInfo(enterprise.getAdmin());
+                                    userEmails.add(adminInfo);
+                                    userTels.add(adminInfo);
                                 }
                             }
                             for (UserInfo userEmail : userEmails) {
@@ -247,22 +249,19 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
                                 }
                             }
                             // 发短信
-                            for (UserInfo userTel : userTels) {
-                                if(null != userTel.getEmphone() && userTel.getEmphone().matches(TEL_REGEXP)) {//手机号判断
-                                    try {
-                                        sms.setReceiver(userTel.getEmphone());
-                                        sms.setTemplateId(messageConf.getMsgInquiryForB2B());
-                                        HttpUtil.sendPost(messageConf.getMessageUrl(), FlexJsonUtils.toJsonDeep(sms));
-//										usageLogger.log("询价发送短信", "企业UU:" + inquiry.getEnUU() + ",单号:" +inquiry.getCode() +"短信发送成功", "询价发送短信成功");
-
-                                        noticeDao.saveErpLog(userName, userIp, enUU, userUU, "发送询价单通知短信", "发送成功,询价单号" + inquiry.getCode());
-                                    } catch (Exception e) {
-                                        noticeDao.saveErpLog(userName, userIp, enUU, userUU, "发送询价单通知短信", "发送失败,询价单号" + inquiry.getCode());
-//                                        usageLogger.log("询价发送短信", "企业UU:" + inquiry.getEnUU() + ",单号:" +inquiry.getCode() +"短信发送失败", "询价发送短信出错");
-                                        e.printStackTrace();
-                                    }
-                                }
-                            }
+//                            for (UserInfo userTel : userTels) {
+//                                if(null != userTel.getEmphone() && userTel.getEmphone().matches(TEL_REGEXP)) {//手机号判断
+//                                    try {
+//                                        sms.setReceiver(userTel.getEmphone());
+//                                        sms.setTemplateId(messageConf.getMsgInquiryForB2B());
+//                                        HttpUtil.sendPost(messageConf.getMessageUrl(), FlexJsonUtils.toJsonDeep(sms));
+//                                        noticeDao.saveErpLog(userName, userIp, enUU, userUU, "发送询价单通知短信", "发送成功,询价单号" + inquiry.getCode());
+//                                    } catch (Exception e) {
+//                                        noticeDao.saveErpLog(userName, userIp, enUU, userUU, "发送询价单通知短信", "发送失败,询价单号" + inquiry.getCode());
+//                                        e.printStackTrace();
+//                                    }
+//                                }
+//                            }
                             enUUs.add(inquiryItem.getVendUU());
                         }
                     }

+ 19 - 20
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -293,32 +293,27 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 										mailService.send(messageConf.getTplAutoInquiryForB2B(), userEmail.getEmemail(), model);
 										System.out.println("发送邮件成功:" + JSON.toJSON(userEmail));
 										// 线程内无法访问Systemsession,会报nullPoint,采用存储过程
-//										usageLogger.log("询价发送邮件", "企业UU:" + inquiry.getEnUU() + ",单号:" +inquiry.getCode() +" 发送邮件成功", "询价发送邮件成功");
 										noticeDao.saveErpLog(userName, userIp, enUU, userUU, "发送询价单通知邮件", "发送成功,询价单号" + inquiry.getCode() + ",接收邮箱:" + userEmail.getEmemail());
 									} catch (Exception e) {
-//										usageLogger.log("询价发送邮件", "企业UU:" + inquiry.getEnUU() + ",单号:" +inquiry.getCode() +" 发送邮件失败", "询价发送邮件出错");
 										noticeDao.saveErpLog(userName, userIp, enUU, userUU, "发送询价单通知邮件", "发送失败,询价单号" + inquiry.getCode() + ",接收邮箱:" + userEmail.getEmemail());
 										e.printStackTrace();
 									}
 								}
 							}
 							// 发短信
-							for (UserInfo userTel : userTels) {
-								if(null != userTel.getEmphone() && userTel.getEmphone().matches(TEL_REGEXP)) {//手机号判断
-                                    try {
-                                        sms.setReceiver(userTel.getEmphone());
-                                        sms.setTemplateId(messageConf.getMsgAutoInquiryForB2B());
-                                        HttpUtil.sendPost(messageConf.getMessageUrl(), FlexJsonUtils.toJsonDeep(sms));
-//										usageLogger.log("询价发送短信", "企业UU:" + inquiry.getEnUU() + ",单号:" +inquiry.getCode() +"短信发送成功", "询价发送短信成功");
-
-										noticeDao.saveErpLog(userName, userIp, enUU, userUU, "发送询价单通知短信", "发送成功,询价单号" + inquiry.getCode() + ",接收手机:" + userTel.getEmphone());
-                                    } catch (Exception e) {
-										noticeDao.saveErpLog(userName, userIp, enUU, userUU, "发送询价单通知短信", "发送失败,询价单号" + inquiry.getCode() + ",接收手机:" + userTel.getEmphone());
-//                                        usageLogger.log("询价发送短信", "企业UU:" + inquiry.getEnUU() + ",单号:" +inquiry.getCode() +"短信发送失败", "询价发送短信出错");
-										e.printStackTrace();
-                                    }
-                                }
-							}
+//							for (UserInfo userTel : userTels) {
+//								if(null != userTel.getEmphone() && userTel.getEmphone().matches(TEL_REGEXP)) {//手机号判断
+//                                    try {
+//                                        sms.setReceiver(userTel.getEmphone());
+//                                        sms.setTemplateId(messageConf.getMsgAutoInquiryForB2B());
+//                                        HttpUtil.sendPost(messageConf.getMessageUrl(), FlexJsonUtils.toJsonDeep(sms));
+//										noticeDao.saveErpLog(userName, userIp, enUU, userUU, "发送询价单通知短信", "发送成功,询价单号" + inquiry.getCode() + ",接收手机:" + userTel.getEmphone());
+//                                    } catch (Exception e) {
+//										noticeDao.saveErpLog(userName, userIp, enUU, userUU, "发送询价单通知短信", "发送失败,询价单号" + inquiry.getCode() + ",接收手机:" + userTel.getEmphone());
+//										e.printStackTrace();
+//                                    }
+//                                }
+//							}
 							enUUs.add(inquiryItem.getVendUU());
 						}
 					}
@@ -329,9 +324,13 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 
 	@Override
 	public List<PurchaseInquiryItem> findNotUploadReply() {
+        List<PurchaseInquiryItem> items =  purchaseInquiryItemDao.findByEnUUAndBackStatus(SystemSession.getUser().getEnterprise().getUu(),
+                (short) Status.NOT_UPLOAD.value());
+        if(!CollectionUtils.isEmpty(items)) {
+            //TODO 这个地方是后续查询要传输到ERP的询价单报价信息加传输状态过滤
 //        purchaseInquiryItemDao.updateStatus(SystemSession.getUser().getEnterprise().getUu(), Constant.NO);
-		return purchaseInquiryItemDao.findByEnUUAndBackStatus(SystemSession.getUser().getEnterprise().getUu(),
-				(short) Status.NOT_UPLOAD.value());
+        }
+		return items;
 	}
 
 	@Override