Authored by unknown

短信日志表增加运营商记录

... ... @@ -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;
}
... ...
... ... @@ -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
... ...
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);
... ...
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());
... ...
... ... @@ -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);
}
... ...
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);
... ...