Commit e31cb219 by java-李谡

短信发送添加日志

parent a060bd53
/** /**
* *
*/ */
package com.ejweb.modules.message.service; 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.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.ejweb.core.base.BaseService; import com.ejweb.core.base.BaseService;
...@@ -26,57 +17,68 @@ import com.ejweb.modules.message.bean.ShortMsgUserListBean; ...@@ -26,57 +17,68 @@ import com.ejweb.modules.message.bean.ShortMsgUserListBean;
import com.ejweb.modules.message.dao.ShortMessageDao; import com.ejweb.modules.message.dao.ShortMessageDao;
import com.ejweb.modules.message.entity.ShortMsgUserListEntity; import com.ejweb.modules.message.entity.ShortMsgUserListEntity;
import com.ejweb.modules.message.entity.SmsRecordEntity; import com.ejweb.modules.message.entity.SmsRecordEntity;
import com.ejweb.modules.notice.bean.NewsNoticeListBean;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; 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 * @author huhy, renmb
* @version 1.0 * @version 1.0
* @time 2016年9月23日 * @team suzhou
* @time 2016年9月23日
*/ */
@Service @Service
@Transactional(readOnly = true) @Transactional(readOnly = true, rollbackFor = Exception.class)
public class ShortMessageService extends BaseService<ShortMessageDao>{ public class ShortMessageService extends BaseService<ShortMessageDao> {
private final static Logger logger = Logger.getLogger(ShortMessageService.class);
/** /**
* 向指定的手机发送短信信息 * 向指定的手机发送短信信息
* *
* @author renmb
* @time 2016年9月25日
* @param phone
* @param message
* @return * @return
* @author renmb
* @time 2016年9月25日
*/ */
@Transactional(readOnly = false) @Transactional(rollbackFor = Exception.class)
public boolean addMessageToPhone(ShortMsgBean bean){ public boolean addMessageToPhone(ShortMsgBean bean) {
try { try {
String phone = bean.getPhone(); String phone = bean.getPhone();
if(StringUtils.isEmpty(phone)) if (StringUtils.isEmpty(phone)) {
return false; return false;
}
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
String[] phones = phone.split(",|,"); String[] phones = phone.split(",|,");
for (int i=0,len = phones.length;i<len;i++) { for (int i = 0, len = phones.length; i < len; i++) {
if(i > 0){ if (i > 0) {
builder.append(","); builder.append(",");
} }
builder.append(phones[i].replaceAll("^0+", "")); builder.append(phones[i].replaceAll("^0+", ""));
} }
phone = builder.toString();//phone.replaceAll("^0+", ""); phone = builder.toString();
if(StringUtils.isEmpty(phone)) if (StringUtils.isEmpty(phone)) {
return false; return false;
}
HCFetcher fetcher = HCFetcher.getInstance(); 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);
FetchEntity entity = fetcher.post(GConstants.JDAIR_SMS_API+"&mobile="+phone+"&msg="+URLEncoder.encode(bean.getMessage(), "UTF-8"),null); if (entity != null && entity.isSuccess()) {
if(entity != null && entity.isSuccess()){
String resultStr = entity.getContent("utf-8"); 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"); String resultCode = result.getJSONObject("result").getString("resultCode");
if ("1000".equals(resultCode)) {// 判断 调用接口是否成功 // 判断 调用接口是否成功
if ("1000".equals(resultCode)) {
SmsRecordEntity record = new SmsRecordEntity(); SmsRecordEntity record = new SmsRecordEntity();
record.setClientip(bean.getClientip()); record.setClientip(bean.getClientip());
record.setCreateTime(new Date()); record.setCreateTime(new Date());
...@@ -87,13 +89,13 @@ public class ShortMessageService extends BaseService<ShortMessageDao>{ ...@@ -87,13 +89,13 @@ public class ShortMessageService extends BaseService<ShortMessageDao>{
record.setUserId(bean.getUserId()); record.setUserId(bean.getUserId());
record.setGroupId(bean.getGroupId()); record.setGroupId(bean.getGroupId());
this.addSmsRecords(record); this.addSmsRecords(record);
List<ShortMsgUserListBean> userList = bean.getUserList(); List<ShortMsgUserListBean> userList = bean.getUserList();
if(userList != null && userList.size()>0){ if (userList != null && userList.size() > 0) {
Date createDate = new Date(); Date createDate = new Date();
List<ShortMsgUserListEntity> smsUserList = new ArrayList<ShortMsgUserListEntity>(); List<ShortMsgUserListEntity> smsUserList = new ArrayList<ShortMsgUserListEntity>();
for(ShortMsgUserListBean user:userList){ for (ShortMsgUserListBean user : userList) {
ShortMsgUserListEntity smsUser = new ShortMsgUserListEntity(); ShortMsgUserListEntity smsUser = new ShortMsgUserListEntity();
smsUser.setId(IdWorker.getNextNumId()); smsUser.setId(IdWorker.getNextNumId());
smsUser.setCreateDate(createDate); smsUser.setCreateDate(createDate);
...@@ -102,12 +104,14 @@ public class ShortMessageService extends BaseService<ShortMessageDao>{ ...@@ -102,12 +104,14 @@ public class ShortMessageService extends BaseService<ShortMessageDao>{
smsUser.setUserId(user.getUserId()); smsUser.setUserId(user.getUserId());
smsUser.setUserMobile(user.getUserMobile()); smsUser.setUserMobile(user.getUserMobile());
smsUser.setUserType(user.getUserType()); smsUser.setUserType(user.getUserType());
smsUserList.add(smsUser); smsUserList.add(smsUser);
} }
this.addUser2SmsRecords(smsUserList); this.addUser2SmsRecords(smsUserList);
} }
return true; return true;
} else {
logger.error("短信发送错误:" + result.toJSONString());
} }
} }
} }
...@@ -117,47 +121,54 @@ public class ShortMessageService extends BaseService<ShortMessageDao>{ ...@@ -117,47 +121,54 @@ public class ShortMessageService extends BaseService<ShortMessageDao>{
} }
return false; return false;
} }
/** /**
* 添加发送短信记录 * 添加发送短信记录
* *
* @author renmb
* @time 2016年10月4日
* @param entity * @param entity
* @return * @return
* @author renmb
* @time 2016年10月4日
*/ */
@Transactional(readOnly = false) @Transactional(rollbackFor = Exception.class)
public Integer addSmsRecords(SmsRecordEntity entity){ public Integer addSmsRecords(SmsRecordEntity entity) {
return dao.addSmsRecords(entity); return dao.addSmsRecords(entity);
} }
@Transactional(readOnly = false)
public Integer addUser2SmsRecords(List<ShortMsgUserListEntity> smsUserList){ @Transactional(rollbackFor = Exception.class)
if(smsUserList != null && smsUserList.size()>0) public Integer addUser2SmsRecords(List<ShortMsgUserListEntity> smsUserList) {
if (smsUserList != null && smsUserList.size() > 0) {
return dao.addUser2SmsRecords(smsUserList); return dao.addUser2SmsRecords(smsUserList);
}
return 0; return 0;
} }
public List<ShortMsgUserListEntity> findSmsUserList(ShortMsgListBean bean){
public List<ShortMsgUserListEntity> findSmsUserList(ShortMsgListBean bean) {
return dao.findSmsUserList(bean); return dao.findSmsUserList(bean);
} }
/** /**
* 查询用户短信列表 * 查询用户短信列表
* *
* @author renmb
* @time 2017年3月7日
* @param bean * @param bean
* @return * @return
* @author renmb
* @time 2017年3月7日
*/ */
public PageEntity<SmsRecordEntity> findUserSmsMesaageList(ShortMsgListBean bean){ public PageEntity<SmsRecordEntity> findUserSmsMesaageList(ShortMsgListBean bean) {
PageInfo<SmsRecordEntity> pageInfo = null; PageInfo<SmsRecordEntity> pageInfo = null;
// 必须紧贴dao的查询方法 // 必须紧贴dao的查询方法
PageHelper.startPage(bean.getPageNo(), bean.getPageSize()); PageHelper.startPage(bean.getPageNo(), bean.getPageSize());
pageInfo = new PageInfo<SmsRecordEntity>(dao.findUserSmsMesaageList(bean)); pageInfo = new PageInfo<SmsRecordEntity>(dao.findUserSmsMesaageList(bean));
if(pageInfo.getPages()<bean.getPageNo()){// 页码大于总页数,则返回NULL // 页码大于总页数,则返回NULL
if (pageInfo.getPages() < bean.getPageNo()) {
return null; return null;
} }
List<SmsRecordEntity> list = pageInfo.getList(); List<SmsRecordEntity> list = pageInfo.getList();
if (list == null || list.size() == 0) {// 如果没有数据则返回NULL // 如果没有数据则返回NULL
if (list == null || list.size() == 0) {
return null; return null;
} }
PageEntity<SmsRecordEntity> page = new PageEntity<SmsRecordEntity>(); PageEntity<SmsRecordEntity> page = new PageEntity<SmsRecordEntity>();
...@@ -168,18 +179,4 @@ public class ShortMessageService extends BaseService<ShortMessageDao>{ ...@@ -168,18 +179,4 @@ public class ShortMessageService extends BaseService<ShortMessageDao>{
page.setList(pageInfo.getList()); page.setList(pageInfo.getList());
return page; 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