From 36b74b6b8a498bcfc55b0490e7e4750b70e0d9aa Mon Sep 17 00:00:00 2001
From: unknown <min.ling@yoho01.local>
Date: Wed, 13 Feb 2019 17:39:05 +0800
Subject: [PATCH] 短信日志表增加运营商记录

---
 dal/src/main/java/com/yoho/message/dal/model/MessageSmsLog.java                       | 10 ++++++++++
 dal/src/main/resources/META-INF/mybatis/MessageSmsLogMapper.xml                       | 20 +++++++++++++++-----
 sms/src/main/java/com/yoho/yhmessage/sms/consumer/MsgCenterSmsByMobileMqListener.java | 28 ++++++++++++++--------------
 sms/src/main/java/com/yoho/yhmessage/sms/consumer/MsgCenterSmsByUidMqListener.java    | 28 +++++++++++++---------------
 sms/src/main/java/com/yoho/yhmessage/sms/service/ISmsLogService.java                  |  2 +-
 sms/src/main/java/com/yoho/yhmessage/sms/service/impl/SmsLogServiceImpl.java          | 26 +++++++++++++-------------
 6 files changed, 66 insertions(+), 48 deletions(-)

diff --git a/dal/src/main/java/com/yoho/message/dal/model/MessageSmsLog.java b/dal/src/main/java/com/yoho/message/dal/model/MessageSmsLog.java
index 34dc6c1..469af3a 100644
--- a/dal/src/main/java/com/yoho/message/dal/model/MessageSmsLog.java
+++ b/dal/src/main/java/com/yoho/message/dal/model/MessageSmsLog.java
@@ -11,6 +11,16 @@ public class MessageSmsLog {
 
     private String content;
 
+    private Integer smsProviderCode;
+
+    public Integer getSmsProviderCode() {
+        return smsProviderCode;
+    }
+
+    public void setSmsProviderCode(Integer smsProviderCode) {
+        this.smsProviderCode = smsProviderCode;
+    }
+
     public Integer getId() {
         return id;
     }
diff --git a/dal/src/main/resources/META-INF/mybatis/MessageSmsLogMapper.xml b/dal/src/main/resources/META-INF/mybatis/MessageSmsLogMapper.xml
index 1098fbb..dbfd08e 100644
--- a/dal/src/main/resources/META-INF/mybatis/MessageSmsLogMapper.xml
+++ b/dal/src/main/resources/META-INF/mybatis/MessageSmsLogMapper.xml
@@ -6,12 +6,13 @@
     <result column="mobile" property="mobile" jdbcType="VARCHAR" />
     <result column="create_time" property="createTime" jdbcType="INTEGER" />
     <result column="send_scene" property="sendScene" jdbcType="VARCHAR" />
+    <result column="sms_provider_code" property="smsProviderCode" jdbcType="INTEGER" />
   </resultMap>
   <resultMap id="ResultMapWithBLOBs" type="com.yoho.message.dal.model.MessageSmsLog" extends="BaseResultMap" >
     <result column="content" property="content" jdbcType="LONGVARCHAR" />
   </resultMap>
   <sql id="Base_Column_List" >
-    id, mobile, create_time, send_scene
+    id, mobile, create_time, send_scene,sms_provider_code
   </sql>
   <sql id="Blob_Column_List" >
     content
@@ -30,9 +31,9 @@
   </delete>
   <insert id="insert" parameterType="com.yoho.message.dal.model.MessageSmsLog" >
     insert into message_sms_log (id, mobile, create_time, 
-      send_scene, content)
+      send_scene, content,sms_provider_code)
     values (#{id,jdbcType=INTEGER}, #{mobile,jdbcType=VARCHAR}, #{createTime,jdbcType=INTEGER}, 
-      #{sendScene,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARCHAR})
+      #{sendScene,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARCHAR},#{smsProviderCode,jdbcType=INTEGER})
   </insert>
   <insert id="insertSelective" parameterType="com.yoho.message.dal.model.MessageSmsLog" >
     insert into message_sms_log
@@ -52,6 +53,9 @@
       <if test="content != null" >
         content,
       </if>
+      <if test="smsProviderCode != null" >
+        sms_provider_code,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides="," >
       <if test="id != null" >
@@ -69,6 +73,9 @@
       <if test="content != null" >
         #{content,jdbcType=LONGVARCHAR},
       </if>
+      <if test="smsProviderCode != null" >
+        #{smsProviderCode,jdbcType=INTEGER},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKeySelective" parameterType="com.yoho.message.dal.model.MessageSmsLog" >
@@ -86,6 +93,9 @@
       <if test="content != null" >
         content = #{content,jdbcType=LONGVARCHAR},
       </if>
+      <if test="smsProviderCode != null" >
+        sms_provider_code = #{smsProviderCode,jdbcType=INTEGER},
+      </if>
     </set>
     where id = #{id,jdbcType=INTEGER}
   </update>
@@ -108,10 +118,10 @@
   <insert id="insertSmsLogBatch" parameterType="map"
 		useGeneratedKeys="false">
 		INSERT INTO ${tableName}
-		(mobile, content, create_time, send_scene)
+		(mobile, content, create_time, send_scene,sms_provider_code)
 		VALUES
 		<foreach collection="logList" item="model" separator=",">
-			(#{model.mobile}, #{model.content}, #{model.createTime}, #{model.sendScene})
+			(#{model.mobile}, #{model.content}, #{model.createTime}, #{model.sendScene}, #{model.smsProviderCode})
 		</foreach>
 	</insert>
 </mapper>
\ No newline at end of file
diff --git a/sms/src/main/java/com/yoho/yhmessage/sms/consumer/MsgCenterSmsByMobileMqListener.java b/sms/src/main/java/com/yoho/yhmessage/sms/consumer/MsgCenterSmsByMobileMqListener.java
index 49dfd0f..c4c6f14 100644
--- a/sms/src/main/java/com/yoho/yhmessage/sms/consumer/MsgCenterSmsByMobileMqListener.java
+++ b/sms/src/main/java/com/yoho/yhmessage/sms/consumer/MsgCenterSmsByMobileMqListener.java
@@ -1,25 +1,24 @@
 package com.yoho.yhmessage.sms.consumer;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
-
-import com.yoho.core.rabbitmq.YhConsumer;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
 import com.alibaba.fastjson.JSONObject;
+import com.yoho.core.rabbitmq.YhConsumer;
 import com.yoho.service.model.msgcenter.sms.McBatchSmsByMobileBO;
 import com.yoho.yhmessage.sms.common.ErrorCodeEnum;
 import com.yoho.yhmessage.sms.helper.SMSSendHelper;
 import com.yoho.yhmessage.sms.service.ISmsLogService;
 import com.yoho.yhmessage.sms.service.model.Response;
 import com.yoho.yhmessage.sms.service.model.SendNoticeResultBean;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * 
@@ -72,7 +71,8 @@ public class MsgCenterSmsByMobileMqListener implements YhConsumer {
 				log.warn("send sms fail, reason is {}, content is {}, mobileList is {}", resp == null ? "error" : resp.getMessage(), batchSmsByMobileBO.getContent(), batchSmsByMobileBO.getMobile());
 			} else {
 				log.info("MsgCenterSmsByMobileMqListener,handle msgcenter.inner.sms.bymobile success, message is [{}].", message);
-				smsLogService.doLogSms(Arrays.toString(resp.getData().getSuccessList().toArray()), batchSmsByMobileBO.getContent(), batchSmsByMobileBO.getSendScene());
+				smsLogService.doLogSms(Arrays.toString(resp.getData().getSuccessList().toArray()), batchSmsByMobileBO.getContent(), batchSmsByMobileBO.getSendScene(),StringUtils.isBlank(providerCode) ? 0
+						: Integer.parseInt(providerCode));
 			}
 		} catch (Exception e) {
 			log.error(e.getMessage(), e);
diff --git a/sms/src/main/java/com/yoho/yhmessage/sms/consumer/MsgCenterSmsByUidMqListener.java b/sms/src/main/java/com/yoho/yhmessage/sms/consumer/MsgCenterSmsByUidMqListener.java
index 4e0a381..8019e2f 100644
--- a/sms/src/main/java/com/yoho/yhmessage/sms/consumer/MsgCenterSmsByUidMqListener.java
+++ b/sms/src/main/java/com/yoho/yhmessage/sms/consumer/MsgCenterSmsByUidMqListener.java
@@ -1,20 +1,7 @@
 package com.yoho.yhmessage.sms.consumer;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
-import com.yoho.core.rabbitmq.YhConsumer;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.util.CollectionUtils;
 import com.alibaba.fastjson.JSONObject;
+import com.yoho.core.rabbitmq.YhConsumer;
 import com.yoho.message.dal.IUserProfileDao;
 import com.yoho.message.dal.model.UserProfile;
 import com.yoho.service.model.msgcenter.sms.McBatchSmsByMobileBO;
@@ -24,6 +11,16 @@ import com.yoho.yhmessage.sms.helper.SMSSendHelper;
 import com.yoho.yhmessage.sms.service.ISmsLogService;
 import com.yoho.yhmessage.sms.service.model.Response;
 import com.yoho.yhmessage.sms.service.model.SendNoticeResultBean;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import java.util.*;
 
 /**
  * 
@@ -82,7 +79,8 @@ public class MsgCenterSmsByUidMqListener implements YhConsumer {
 					log.warn("send sms fail, reason is {}, content is {}, mobileList is {}", resp == null ? "error" : resp.getMessage(),batchSmsByMobileBO.getContent(),batchSmsByMobileBO.getMobile());
 				} else {
 					log.info("MsgCenterSmsByUidMqListener,handle msgcenter.inner.sms.byuid success, message is [{}].", message);
-					smsLogService.doLogSms(Arrays.toString(resp.getData().getSuccessList().toArray()), batchSmsByMobileBO.getContent(), batchSmsByMobileBO.getSendScene());
+					smsLogService.doLogSms(Arrays.toString(resp.getData().getSuccessList().toArray()), batchSmsByMobileBO.getContent(), batchSmsByMobileBO.getSendScene(),StringUtils.isBlank(providerCode) ? 0
+							: Integer.parseInt(providerCode));
 				}
 			} else {
 				log.warn("no mobile info by uid {}, content is {}", Arrays.toString(batchSmsByUidBO.getUid().toArray()), batchSmsByUidBO.getContent());
diff --git a/sms/src/main/java/com/yoho/yhmessage/sms/service/ISmsLogService.java b/sms/src/main/java/com/yoho/yhmessage/sms/service/ISmsLogService.java
index f01dc9b..c932041 100644
--- a/sms/src/main/java/com/yoho/yhmessage/sms/service/ISmsLogService.java
+++ b/sms/src/main/java/com/yoho/yhmessage/sms/service/ISmsLogService.java
@@ -21,5 +21,5 @@ public interface ISmsLogService {
 	 * @param content
 	 * @param scene <br>
 	 */
-	void doLogSms(String mobile, String content, String scene);
+	void doLogSms(String mobile, String content, String scene,int smsProviderCode);
 }
diff --git a/sms/src/main/java/com/yoho/yhmessage/sms/service/impl/SmsLogServiceImpl.java b/sms/src/main/java/com/yoho/yhmessage/sms/service/impl/SmsLogServiceImpl.java
index 08c7f49..8b66cda 100644
--- a/sms/src/main/java/com/yoho/yhmessage/sms/service/impl/SmsLogServiceImpl.java
+++ b/sms/src/main/java/com/yoho/yhmessage/sms/service/impl/SmsLogServiceImpl.java
@@ -1,12 +1,10 @@
 package com.yoho.yhmessage.sms.service.impl;
 
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.List;
-
+import com.alibaba.fastjson.JSONObject;
+import com.yoho.message.dal.MessageSmsLogMapper;
+import com.yoho.message.dal.model.MessageSmsLog;
+import com.yoho.yhmessage.sms.service.ISmsLogService;
+import com.yoho.yhmessage.sms.service.model.SmsLog;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -14,11 +12,12 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import com.alibaba.fastjson.JSONObject;
-import com.yoho.message.dal.MessageSmsLogMapper;
-import com.yoho.message.dal.model.MessageSmsLog;
-import com.yoho.yhmessage.sms.service.ISmsLogService;
-import com.yoho.yhmessage.sms.service.model.SmsLog;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.List;
 
 /**
  * 
@@ -53,7 +52,7 @@ public class SmsLogServiceImpl implements ISmsLogService {
 	 * @param content
 	 * @param scene <br>
 	 */
-	public void doLogSms(String mobile, String content, String scene) {
+	public void doLogSms(String mobile, String content, String scene,int smsProviderCode) {
 		SmsLog smsLog = new SmsLog();
 		smsLog.setContent(content);
 		smsLog.setMobile(StringUtils.trimToEmpty(mobile));
@@ -71,6 +70,7 @@ public class SmsLogServiceImpl implements ISmsLogService {
 					log.setCreateTime((int) (System.currentTimeMillis() / 1000));
 					log.setSendScene(scene);
 					log.setContent(content);
+					log.setSmsProviderCode(smsProviderCode);
 					messageSmsLogs.add(log);
 				}
 				messageSmsLogMapper.insertSmsLogBatch(getLogTableName(), messageSmsLogs);
--
libgit2 0.24.0