Commit e31cb219 by java-李谡

短信发送添加日志

parent a060bd53
......@@ -3,15 +3,6 @@
*/
package com.ejweb.modules.message.service;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ejweb.core.base.BaseService;
......@@ -26,57 +17,68 @@ import com.ejweb.modules.message.bean.ShortMsgUserListBean;
import com.ejweb.modules.message.dao.ShortMessageDao;
import com.ejweb.modules.message.entity.ShortMsgUserListEntity;
import com.ejweb.modules.message.entity.SmsRecordEntity;
import com.ejweb.modules.notice.bean.NewsNoticeListBean;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
*
* @team suzhou
* @author huhy, renmb
* @version 1.0
* @team suzhou
* @time 2016年9月23日
*/
@Service
@Transactional(readOnly = true)
public class ShortMessageService extends BaseService<ShortMessageDao>{
@Transactional(readOnly = true, rollbackFor = Exception.class)
public class ShortMessageService extends BaseService<ShortMessageDao> {
private final static Logger logger = Logger.getLogger(ShortMessageService.class);
/**
* 向指定的手机发送短信信息
*
* @return
* @author renmb
* @time 2016年9月25日
* @param phone
* @param message
* @return
*/
@Transactional(readOnly = false)
public boolean addMessageToPhone(ShortMsgBean bean){
@Transactional(rollbackFor = Exception.class)
public boolean addMessageToPhone(ShortMsgBean bean) {
try {
String phone = bean.getPhone();
if(StringUtils.isEmpty(phone))
if (StringUtils.isEmpty(phone)) {
return false;
}
StringBuilder builder = new StringBuilder();
String[] phones = phone.split(",|,");
for (int i=0,len = phones.length;i<len;i++) {
if(i > 0){
for (int i = 0, len = phones.length; i < len; i++) {
if (i > 0) {
builder.append(",");
}
builder.append(phones[i].replaceAll("^0+", ""));
}
phone = builder.toString();//phone.replaceAll("^0+", "");
if(StringUtils.isEmpty(phone))
phone = builder.toString();
if (StringUtils.isEmpty(phone)) {
return false;
}
HCFetcher fetcher = HCFetcher.getInstance();
// fetcher.setPolitenessDelay(3000);
FetchEntity entity = fetcher.post(GConstants.JDAIR_SMS_API+"&mobile="+phone+"&msg="+URLEncoder.encode(bean.getMessage(), "UTF-8"),null);
if(entity != null && entity.isSuccess()){
FetchEntity entity = fetcher.post(GConstants.JDAIR_SMS_API + "&mobile=" + phone + "&msg=" + URLEncoder.encode(bean.getMessage(), "UTF-8"), null);
if (entity != null && entity.isSuccess()) {
String resultStr = entity.getContent("utf-8");
if (StringUtils.isNotBlank(resultStr)) {// 成功获取数据
JSONObject result = JSON.parseObject(resultStr);// 解析JSON数据
// 成功获取数据
if (StringUtils.isNotBlank(resultStr)) {
// 解析JSON数据
JSONObject result = JSON.parseObject(resultStr);
String resultCode = result.getJSONObject("result").getString("resultCode");
if ("1000".equals(resultCode)) {// 判断 调用接口是否成功
// 判断 调用接口是否成功
if ("1000".equals(resultCode)) {
SmsRecordEntity record = new SmsRecordEntity();
record.setClientip(bean.getClientip());
record.setCreateTime(new Date());
......@@ -89,10 +91,10 @@ public class ShortMessageService extends BaseService<ShortMessageDao>{
this.addSmsRecords(record);
List<ShortMsgUserListBean> userList = bean.getUserList();
if(userList != null && userList.size()>0){
if (userList != null && userList.size() > 0) {
Date createDate = new Date();
List<ShortMsgUserListEntity> smsUserList = new ArrayList<ShortMsgUserListEntity>();
for(ShortMsgUserListBean user:userList){
for (ShortMsgUserListBean user : userList) {
ShortMsgUserListEntity smsUser = new ShortMsgUserListEntity();
smsUser.setId(IdWorker.getNextNumId());
......@@ -108,6 +110,8 @@ public class ShortMessageService extends BaseService<ShortMessageDao>{
this.addUser2SmsRecords(smsUserList);
}
return true;
} else {
logger.error("短信发送错误:" + result.toJSONString());
}
}
}
......@@ -117,47 +121,54 @@ public class ShortMessageService extends BaseService<ShortMessageDao>{
}
return false;
}
/**
* 添加发送短信记录
*
* @author renmb
* @time 2016年10月4日
* @param entity
* @return
* @author renmb
* @time 2016年10月4日
*/
@Transactional(readOnly = false)
public Integer addSmsRecords(SmsRecordEntity entity){
@Transactional(rollbackFor = Exception.class)
public Integer addSmsRecords(SmsRecordEntity entity) {
return dao.addSmsRecords(entity);
}
@Transactional(readOnly = false)
public Integer addUser2SmsRecords(List<ShortMsgUserListEntity> smsUserList){
if(smsUserList != null && smsUserList.size()>0)
@Transactional(rollbackFor = Exception.class)
public Integer addUser2SmsRecords(List<ShortMsgUserListEntity> smsUserList) {
if (smsUserList != null && smsUserList.size() > 0) {
return dao.addUser2SmsRecords(smsUserList);
}
return 0;
}
public List<ShortMsgUserListEntity> findSmsUserList(ShortMsgListBean bean){
public List<ShortMsgUserListEntity> findSmsUserList(ShortMsgListBean bean) {
return dao.findSmsUserList(bean);
}
/**
* 查询用户短信列表
*
* @author renmb
* @time 2017年3月7日
* @param bean
* @return
* @author renmb
* @time 2017年3月7日
*/
public PageEntity<SmsRecordEntity> findUserSmsMesaageList(ShortMsgListBean bean){
public PageEntity<SmsRecordEntity> findUserSmsMesaageList(ShortMsgListBean bean) {
PageInfo<SmsRecordEntity> pageInfo = null;
// 必须紧贴dao的查询方法
PageHelper.startPage(bean.getPageNo(), bean.getPageSize());
pageInfo = new PageInfo<SmsRecordEntity>(dao.findUserSmsMesaageList(bean));
if(pageInfo.getPages()<bean.getPageNo()){// 页码大于总页数,则返回NULL
// 页码大于总页数,则返回NULL
if (pageInfo.getPages() < bean.getPageNo()) {
return null;
}
List<SmsRecordEntity> list = pageInfo.getList();
if (list == null || list.size() == 0) {// 如果没有数据则返回NULL
// 如果没有数据则返回NULL
if (list == null || list.size() == 0) {
return null;
}
PageEntity<SmsRecordEntity> page = new PageEntity<SmsRecordEntity>();
......@@ -168,18 +179,4 @@ public class ShortMessageService extends BaseService<ShortMessageDao>{
page.setList(pageInfo.getList());
return page;
}
// public static void main(String[] args){
// StringBuilder builder = new StringBuilder();
// String phone = "13357826761,0013357826761,13357826761";
// String[] phones = phone.split(",|,");
// for (int i=0,len = phones.length;i<len;i++) {
// if(i > 0){
//
// builder.append(",");
// }
// builder.append(phones[0].replaceAll("^0+", ""));
// }
// phone = builder.toString();//phone.replaceAll("^0+", "");
// System.out.println(phone);
// }
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment