Browse Source

询价单、公共询价单发送短信前进行手机号格式验证

hejq 8 years ago
parent
commit
00bc0087f2

+ 11 - 8
src/main/java/com/uas/platform/b2b/erp/service/impl/PublicInquiryServiceImpl.java

@@ -61,6 +61,8 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
 
     private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
 
+    private static final String TEL_REGEXP = "^((\\(\\d{3}\\))|(\\d{3}\\-))?(13|15|18|17)\\d{9}$";
+
     @Override
     public List<PurcInquiry> convertInquiry(List<BatchInquiry> inquiries) {
         Long enuu = SystemSession.getUser().getEnterprise().getUu();
@@ -205,14 +207,15 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
                             }
                             // 发短信
                             for (String userTel : userTels) {
-                                try {
-                                    sms.setReceiver(userTel);
-                                    sms.setTemplateId(messageConf.getMsgInquiryForB2B());
-                                    HttpUtil.sendPost(messageConf.getMessageUrl(), FlexJsonUtils.toJsonDeep(sms));
-
-                                } catch (Exception e) {
-                                    logger.log("公共询价发送短信出错", inquiry.getEnUU() + "," +inquiry.getCode() +" 发送失败", 0);
-                                    e.printStackTrace();
+                                if(userTel.matches(TEL_REGEXP)) {
+                                    try {
+                                        sms.setReceiver(userTel);
+                                        sms.setTemplateId(messageConf.getMsgInquiryForB2B());
+                                        HttpUtil.sendPost(messageConf.getMessageUrl(), FlexJsonUtils.toJsonDeep(sms));
+                                    } catch (Exception e) {
+                                        logger.log("公共询价发送短信出错", inquiry.getEnUU() + "," +inquiry.getCode() +" 发送失败", 0);
+                                        e.printStackTrace();
+                                    }
                                 }
                             }
                             enUUs.add(inquiryItem.getVendUU());

+ 13 - 11
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -116,12 +116,13 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 
 	private final static UsageBufferedLogger usageLogger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
 
+    static final String TEL_REGEXP = "^((\\(\\d{3}\\))|(\\d{3}\\-))?(13|15|18|17)\\d{9}$";
+
 	@Override
 	public void save(List<PurchaseInquiryItem> inquiryItems) {
-		inquiryItems = purchaseInquiryItemDao.save(inquiryItems);
-		saveUserOrders(inquiryItems);
+        inquiryItems = purchaseInquiryItemDao.save(inquiryItems);
+        saveUserOrders(inquiryItems);
 		sendRemind(PurchaseInquiryItem.distinct(inquiryItems));
-//		ContextUtils.publishEvent(new PurchaseInquiryItemSaveEvent(inquiryItems));  // 之前的索引分词,已弃用
 		// 产生消息
 		List<PurchaseInquiry> inquiries = PurchaseInquiryItem.distinct(inquiryItems);
 		List<PurchaseInquiryItem> items = new ArrayList<>();
@@ -273,14 +274,15 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 							}
 							// 发短信
 							for (String userTel : userTels) {
-								try {
-									sms.setReceiver(userTel);
-									sms.setTemplateId(messageConf.getMsgInquiryForB2B());
-									HttpUtil.sendPost(messageConf.getMessageUrl(), FlexJsonUtils.toJsonDeep(sms));
-
-								} catch (Exception e) {
-									usageLogger.log("询价发送短信", "企业UU:" + inquiry.getEnUU() + ",单号:" +inquiry.getCode() +"短信发送失败", "询价发送短信出错");
-								}
+								if(userTel.matches(TEL_REGEXP)) {//手机号判断
+                                    try {
+                                        sms.setReceiver(userTel);
+                                        sms.setTemplateId(messageConf.getMsgInquiryForB2B());
+                                        HttpUtil.sendPost(messageConf.getMessageUrl(), FlexJsonUtils.toJsonDeep(sms));
+                                    } catch (Exception e) {
+                                        usageLogger.log("询价发送短信", "企业UU:" + inquiry.getEnUU() + ",单号:" +inquiry.getCode() +"短信发送失败", "询价发送短信出错");
+                                    }
+                                }
 							}
 							enUUs.add(inquiryItem.getVendUU());
 						}