多个手机号发送短信,并验证手机号

本文介绍了一个基于Java的短信模板管理系统,包括短信模板的增删改查、短信发送及发送记录查询等功能。系统通过前端页面实现对短信模板的管理,并提供了发送短信的功能。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<jsp:include page="/jsp/common/header.jsp"></jsp:include>
<script src="${ctx }/js/order/messageTemplate.js"></script>
<table class="queryTable" >
    <tr>
        <td class="queryTitle" width="80px">短信模板:</td>
        <td class="queryContent" ><input class="inputText" type="text" id="messageTypeName" /></td>
        <td class="queryTitle" width="80px">状态:</td>
        <td class="queryContent" >
          <select id="ifStart" class="easyui-combobox" style="width: 100px" panelHeight="auto">
             <option value="">全部</option>
             <option value="Y">启动</option>
             <option value="N">禁用</option>
          </select>
          <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search"  onclick="doQuery()">&nbsp;&nbsp;</a>
        </td>
    </tr>
</table>

<table id="messageTemplateGrid"></table>

<!-- 添加短信模板Div -->
<div id="addMessageTemplateDiv" class="easyui-window" title="" iconCls="icon-edit" style="width:600px; height:200px;text-align:center; background: #fafafa;">
     <div class="easyui-layout" fit="true">
        <div region="center" border="false" style="background:#fff;border:1px solid #ccc;">
            <form id="addForm"  method="POST">
                <table class="queryTable" width="100%" >
                    <tr>
                        <td class="queryTitle" width="100">短信类型</td>
                        <td class="queryContent" >
                            <input id="addMessageTypeId" class="easyui-combobox" style="width: 250px" panelHeight="auto" editable="false">
                        </td>
                    </tr>
                    <tr>
                        <td class="queryTitle" width="100">内容</td>
                        <td class="queryContent" >
                            <textarea
                                id="addContent" 
                                style="width: 250px; height: 50px;">
                            </textarea>
                        </td>
                    </tr>
                    <tr>
                        <td class="queryTitle" width="100"></td>
                        <td class="queryContent" >
                            <input type="checkbox" id="addIfStart" value="Y" onclick="clickInfo();"/> 启动
                        </td>
                    </tr>                    
                </table>
            </form>
        </div>
        <div region="south" border="false" style="text-align:center;height:30px;line-height:30px;">
            <a class="easyui-linkbutton" iconCls="icon-ok" href="javascript:void(0);" onclick="saveMessageTemplate('add');">确定</a>&nbsp;&nbsp;
            <a class="easyui-linkbutton" iconCls="icon-ok" href="javascript:void(0);" onclick="reset('add');">重置</a>&nbsp;&nbsp;
            <a class="easyui-linkbutton" iconCls="icon-cancel" href="javascript:void(0);" onclick="closeWin('addMessageTemplateDiv');">取消</a>
        </div>
    </div>        
</div>

<!-- 编辑短信模板Div -->
<div id="updMessageTemplateDiv" class="easyui-window" title="" iconCls="icon-edit" style="width:600px; height:200px;text-align:center; background: #fafafa;">
     <div class="easyui-layout" fit="true">
        <div region="center" border="false" style="background:#fff;border:1px solid #ccc;">
            <form id="updForm"  method="POST">
                <input type="hidden" id="messageTemplateIdHidden" name="messageTemplateIdHidden" value="" />
                <input type="hidden" id="messageTypeIdHidden" name="messageTypeIdHidden" value="" />
                <input type="hidden" id="contentHidden" name="contentHidden" value="" />
                <input type="hidden" id="ifStartHidden" name="ifStartHidden" value="" />
                <table class="queryTable" width="100%" >
                    <tr>
                        <td class="queryTitle" width="100">短信类型</td>
                        <td class="queryContent" >
                            <input id="updMessageTypeId" class="easyui-combobox" style="width: 250px" panelHeight="auto" editable="false">
                        </td>
                    </tr>
                    <tr>
                        <td class="queryTitle" width="100">内容</td>
                        <td class="queryContent" >
                            <textarea
                                id="updContent" 
                                style="width: 250px; height: 50px;" maxlength="250">
                            </textarea>
                        </td>
                    </tr>
                    <tr>
                        <td class="queryTitle" width="100"></td>
                        <td class="queryContent" >
                            <input type="checkbox" id="updIfStart" value="Y" /> 启动
                        </td>
                    </tr>                
                </table>
            </form>
        </div>
        <div region="south" border="false" style="text-align:center;height:30px;line-height:30px;" id="updcontroldiv">
            <a class="easyui-linkbutton" iconCls="icon-ok" href="javascript:void(0);" onclick="saveMessageTemplate('upd');">确定</a>&nbsp;&nbsp;
            <a class="easyui-linkbutton" iconCls="icon-ok" href="javascript:void(0);" onclick="reset('upd');">重置</a>&nbsp;&nbsp;
            <a class="easyui-linkbutton" iconCls="icon-cancel" href="javascript:void(0);" onclick="closeWin('updMessageTemplateDiv');">取消</a>
        </div>
    </div>    
<!-- 发送短信Div -->
<div id="sendMessageDiv" class="easyui-window" title="" iconCls="icon-edit" style="width:800px; height:150px;text-align:center; background: #fafafa;">
     <div class="easyui-layout" fit="true">
        <div region="center" border="false" style="background:#fff;border:1px solid #ccc;">
            <form id="sendForm"  method="POST">
                <table class="queryTable" width="100%" >
                    <tr>
                        <td class="queryTitle" width="100">号码:</td>
                        <td class="queryContent" >
                            <textarea
                                id="phones" 
                                style="width: 700px; height: 50px;">
                            </textarea>
                        </td>
                    </tr>
                </table>
            </form>
            <div>多个号码之间使用逗号分割,例如:123,456,789   最后一个号码后不要逗号,发送错误,后续号码停止发送!</div>
        </div>
        <div region="south" border="false" style="text-align:center;height:30px;line-height:30px;">
            <a class="easyui-linkbutton" iconCls="icon-ok" href="javascript:void(0);" onclick="sendMessage();">发送</a>&nbsp;&nbsp;
            <a class="easyui-linkbutton" iconCls="icon-cancel" href="javascript:void(0);" onclick="closeWin('sendMessageDiv');">取消</a>
        </div>
    </div>        
</div>    
</div>

 

$(function() {
    createParentHiddenDom("frameName");
    $('#addMessageTemplateDiv').window('close');
    $('#updMessageTemplateDiv').window('close');
    $('#sendMessageDiv').window('close');
    $("#messageTemplateGrid")
            .datagrid(
                    {
                        url : appPath
                                + '/page/messageTemplateAct/getPage',
                        height : 'full',
                        striped : true,
                        remoteSort : false,
                        pagination : true,
                        rownumbers : true,
                        singleSelect : false,
                        queryParams : getQueryParam(),
                        frozenColumns : [ [
                                {
                                    field : 'ck',
                                    checkbox : true
                                },
                                {
                                    field : 'opt',
                                    title : '操作',
                                    width : 100,
                                    align : 'center',
                                    formatter:function(value,rowData,rowIndex) {
                                        if (rowData.ifStart == "N") {
                                            var html="<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/pencil.png' onClick='opreateMessageTemplate("+rowData.id+",\"edit\")' title='编辑'/>";
                                            html +="&nbsp;<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/cancel.png' onclick='cancel("+rowData.id+")' title='删除' />";
                                            html +="&nbsp;<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/ok.png' onClick='doOk("+rowData.id+ ",\"Y\")' title='启用'/>";
                                            html +="&nbsp;<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/search.png' onClick='opreateMessageTemplate("+rowData.id+",\"show\")' title='查看'/>";
                                            return html;
                                        } else {
                                            var html = "&nbsp;<img class='op-enable' src='" + appPath + "/js/lib/jquery-easyui/themes/icons/no.png' onClick='doOk("+rowData.id + ",\"N\")' title='禁用'/>";
                                            html += "&nbsp;<img class='op-enable' src='" + appPath + "/js/lib/jquery-easyui/themes/icons/search.png' onClick='opreateMessageTemplate("+rowData.id+",\"show\")' title='查看'/>";
                                            return html;
                                        }
                                    }
                                } ] ],
                                columns : [ [ {
                                    field : 'messageTypeName',
                                    title : '短信模板',
                                    width : 200,
                                    align : 'left',
                                    sortable : true
                                }, {
                                    field : 'content',
                                    title : '短信模板内容',
                                    width : 400,
                                    align : 'left',
                                    sortable : true
                                }, {
                                    field:'ifStart',
                                    title:'状态',
                                    width:150,
                                    align:'left',
                                    sortable:true,
                                    formatter:function(value){
                                        if(value=="Y"){
                                            return '启动';
                                        }else if(value=="N"){
                                            return '禁用';
                                        }
                                    }
                               },  {
                                    field : 'userName',
                                    title : '操作人',
                                    width : 100,
                                    align : 'left',
                                    sortable : true
                                }, ] ],
                                toolbar : [ {
                                    id : 'btnadd',
                                    text : '添加短信模板',
                                    iconCls : 'icon-add',
                                    handler : function() {
                                        // 清空表单
                                        $('#addForm').form('clear');
                                        getStartMessageTypes("add");
                                        $('#addMessageTemplateDiv').window({
                                            title : '添加短信模板',
                                            iconCls : 'icon-add',
                                            width : 450,
                                            height : 250,
                                            left : 550,
                                            top : 150,
                                            modal : true,
                                            shadow : true,
                                            collapsible : false,
                                            minimizable : false,
                                            maximizable : false
                                        });
                                    }
                                },
                                 {
                                    id:'messageSend',
                                    text:'发送短信',
                                    iconCls:'icon-edit',
                                    handler:function(){
                                        var selections = $("#messageTemplateGrid").datagrid('getSelections');
                                        if (selections == null || selections == '') {
                                            $.messager.alert('提示信息', '没有短信模板,请选择模板后发送', '');
                                            return;
                                        } else if(selections.length>1){
                                            $.messager.alert('提示信息', '请选择一条短信模板', '');
                                            return;
                                        }
                                        checkIfStart(selections[0].id);
                                            
                                    }
                                 },
                                 {
                                    id:'messageSendHistory',
                                    text:'发送短信记录',
                                    iconCls:'icon-search',
                                    handler:function(){
                                        queryMessageSendHistory();
                                    }
                                 }]
                            });
});

/**
 * 查询
 */
function doQuery() {
    $("#messageTemplateGrid").datagrid('load', getQueryParam());
}

/*******************************************************************************
 * 获得参数
 */
function getQueryParam() {
    var MessageTemplate = new Object();
    MessageTemplate.ifStart = $("#ifStart").combobox(
            "getValue");
    if ($("#messageTypeName").val()) {
        MessageTemplate.messageTypeName = $("#messageTypeName").val();
    }
    return MessageTemplate;
}

/*******************************************************************************
 * 查询已经开启的短信类型
 * */
function getStartMessageTypes(type){
    $("#"+type+"MessageTypeId").combobox({
        url:appPath + "/page/messageTemplateAct/getStartMessageTypes",
        valueField:"id",
        textField:"name"
    });
}

/*******************************************************************************
 * 显示短信模板
 */
function opreateMessageTemplate(messageTemplateId,type) {
    getStartMessageTypes("upd");
    doAjax({
        url : appPath + '/page/messageTemplateAct/opreateMessageTemplate/'
                + messageTemplateId,
        type : 'post',
        dataType : "json",
        success : function(data) {
            // 短信模板Id
            $("#messageTemplateIdHidden").val(data.id);
            
            $("#messageTypeIdHidden").val(data.messageTypeId);
            $("#contentHidden").val(data.content);
            $("#ifStartHidden").val(data.ifStart);
            // 短信类型名称
            $('#updMessageTypeId').combobox("select", data.messageTypeId);
            // 内容
            $('#updContent').val(data.content);
            // 是否启动
            if(data.ifStart=="Y"){
                $('#updIfStart').attr('checked','true');
            }else{
                $('#updIfStart').removeAttr('checked');
            }
            
            var title;
            if(type=="edit"){
                title="修改短信模板";
            }else{
                title="查看短信模板";
            }
            $('#updMessageTemplateDiv').window({
                title : title,
                iconCls : 'icon-edit',
                width : 450,
                height : 250,
                left : 550,
                top : 150,
                modal : true,
                shadow : true,
                collapsible : false,
                minimizable : false,
                maximizable : false
            });
            if(type=="show"){
                $('#updcontroldiv').css('display','none');
                $('#updIfStart').unbind("click");
            }else{
                $('#updIfStart').bind("click",function(){
                    if($("#updIfStart").is(":checked")){
                        $.messager.alert('提示信息', '确定后默认开启', 'info');
                    }else{
                        $.messager.alert('提示信息', '确定后默认不开启', 'info');
                    }
                });
                
                $('#updcontroldiv').css('display','block');
            }
            
            $('#updMessageTemplateDiv').window('open');
            
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            $.messager.alert('提示信息', '抱歉,显示失败,' + textStatus, 'error');
        }
    });
}

/**
 * 保存短信模板(添加、更新)
 */
function saveMessageTemplate(type) {
    //短信类型
    var messageTypeId = $("#" + type + "MessageTypeId").combobox("getValue");
    if(messageTypeId ==""){
        $.messager.alert("提示", "请选择短信类型!", "info");
        return;
    }
    if ($('#' + type + 'Content').val() == "") {
        $.messager.alert("提示", "请输入短信模板内容!", "info");
        return;
    } 
    // 短信模板内容
    var content = $.trim($('#' + type + 'Content').val());
    if(content.length>250){
        $.messager.alert("提示", "短信模板内容不超过250个字符!", "info");
        return;
    }
    // 是否启动
    var ifStart;
    if($('#' + type + 'IfStart').is(":checked")){
        ifStart = "Y";
    }else{
        ifStart = "N";
    }
    
    var messageTemplate = new Object();
    
    // 更新的场合,设置短信模板Id
    if (type == 'upd') {
        messageTemplate.id = $("#messageTemplateIdHidden").val(); 
    }
    messageTemplate.content = content;
    messageTemplate.ifStart = ifStart;
    messageTemplate.messageTypeId = messageTypeId;
    
    $.messager.confirm('提示信息','确定保存该短信模板?',function(r){
        if(r){
            doAjax({
                url : appPath + "/page/messageTemplateAct/saveOrUpdate",
                type : 'post',
                data : messageTemplate,
                success : function(data) {
                    switch (data) {
                    case "ok":
                        if (type == 'add') {
                            $.messager.alert('提示信息', '保存成功', 'info');
                        } else {
                            $.messager.alert('提示信息', '更新成功', 'info');
                        }
                        break;
                    default:
                        $.messager.alert('提示信息', '抱歉,失败了', 'error');
                        break;
                    }
                    $('#' + type + 'MessageTemplateDiv').window('close');
                    doQuery();
                    return;
                },
                error : function(XMLHttpRequest, textStatus, errorThrown) {
                    $.messager.alert('提示信息', '抱歉,保存失败,' + textStatus, 'error');
                }
            });
        }
    });
    
}

/**
 * 启动或者禁用
 * */
function doOk(messageTemplateId,ifStart){
    var messageTemplate = new Object();
    messageTemplate.id = messageTemplateId;
    messageTemplate.ifStart = ifStart;
    $.messager.defaults = { ok: "确定", cancel: "取消" };
    var info;
    if(ifStart=='Y'){
        info = "是否要启动现有的短信模板?";
    }else{
        info = "是否要禁用现有的短信模板?";
    }
    $.messager.confirm('提示信息',info,function(r){
        if(r){
            doAjax({
                url : appPath + "/page/messageTemplateAct/saveOrUpdate",
                type : 'post',
                data : messageTemplate,
                success : function(data) {
                    switch (data) {
                    case "ok":
                        if (ifStart == 'Y') {
                            $.messager.alert('提示信息', '启动成功', 'info');
                        } else {
                            $.messager.alert('提示信息', '禁用成功', 'info');
                        }
                        break;
                    default:
                        $.messager.alert('提示信息', '抱歉,失败了', 'error');
                        break;
                    }
                    doQuery();
                    return;
                },
                error : function(XMLHttpRequest, textStatus, errorThrown) {
                    $.messager.alert('提示信息', '抱歉,保存失败,' + textStatus, 'error');
                }
            });
        }
    });
    
}
/**
 *删除 
 * */
function cancel(id){
    var messageTemplate = new Object();
    messageTemplate.id=id;
    messageTemplate.isDelete='Y';
    $.messager.defaults = { ok: "确定", cancel: "取消" };
    $.messager.confirm('提示信息','您确定要删除?',function(r){
        if(r){
        doAjax({
            url : appPath + '/page/messageTemplateAct/saveOrUpdate',
            type : 'post',
            data : messageTemplate,
            success : function(data) {
                if (data=="ok") {
                    $.messager.alert('提示信息', '删除成功', 'success');
                    doQuery();
                } else {
                    $.messager.alert('提示信息', data.msg + ',操作失败', 'error');
                }
            },
            error : function(XMLHttpRequest, textStatus, errorThrown) {
                $.messager.alert('提示信息', '操作未能完成' + textStatus, 'error');
            }
        });
        }
    });
}

/**
 *重置
 * */
function reset(type){
    if(type=="upd"){//修改时候重置恢复编辑前内容
        // 短信类型名称
        $('#updMessageTypeId').combobox("select", $('#messageTypeIdHidden').val());
        // 内容
        $('#updContent').val($('#contentHidden').val());
        // 是否启动
        if($('#ifStartHidden').val()=="Y"){
            $('#updIfStart').attr('checked','true');
        }else{
            $('#updIfStart').removeAttr('checked');
        }
    }else{//新增时候重置清空
        $("#" + type + "MessageTypeId").combobox("select", "");
        $('#' + type + 'Content').val('');
        $('#' + type +'IfStart').removeAttr('checked');
    }
}

function clickInfo(){
    if($('#addIfStart').is(":checked")){
        $.messager.alert('提示信息', '确定后默认开启', 'info');
    }else{
        $.messager.alert('提示信息', '确定后默认不开启', 'info');
    }
}

/**
 * 关闭窗口
 */
function closeWin(dlg) {
    $('#' + dlg).window('close');
}

/**
 * 判断短信模板以及短信类型是否开启
 * 
 * */
function checkIfStart(messageTemplateId){
    doAjax({
        url : appPath + "/page/messageTemplateAct/checkIfStart/"+messageTemplateId,
        type : 'post',
        dataType : "json",
        success : function(data) {
            if (data=="OK") {
                $('#sendForm').form('clear');
                $('#sendMessageDiv').window({
                    title : '发送短信',
                    iconCls : 'icon-add',
                    width : 800,
                    height : 150,
                    left : 300,
                    top : 150,
                    modal : true,
                    shadow : true,
                    collapsible : false,
                    minimizable : false,
                    maximizable : false
                });
            } else if(data=="TEMPLATE"){
                $.messager.alert('提示信息', '短信模板已禁用', 'info');
            }else if(data=="TYPE"){
                $.messager.alert('提示信息', '短信类型已禁用', 'info');
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            $.messager.alert('提示信息', '出错了', 'error');
        }
    });
    
}

/**
 * 发送短信
 * 
 * */
function sendMessage(){
    // 手机号码
    var phonesStr = $.trim($('#phones').val());
    if(phonesStr.charAt(phonesStr.length-1)==","){
        $.messager.alert('提示信息', '输入的号码有误,请重新输入', 'info');
        return;
    }
    var phones = phonesStr.split(",");
    for(var i=0;i<phones.length;i++){
         var partten = /^1[3,5,8]\d{9}$/;
         if(partten.test(phones[i]))
         {
              //是手机号码
              continue;
         }
         else
         {
              //不是手机号码
             $.messager.alert('提示信息', '输入的号码有误,请重新输入', 'info');
             return;
         }
    }
    var selections = $("#messageTemplateGrid").datagrid('getSelections');
    var messageTemplateId = selections[0].id;
    //发送短信
    doAjax({
        url : appPath + "/page/messageTemplateAct/sendMessage/"+phonesStr+"/"+messageTemplateId,
        type : 'post',
        dataType : "json",
        success : function(data) {
            if (data=="ok") {
                $.messager.alert('提示信息', '发送成功', 'success');
                $('#sendMessageDiv').window('close');
            } else {
                $.messager.alert('提示信息', '发送失败', 'error');
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            $.messager.alert('提示信息', '发送失败', 'error');
        }
    });
}

/**
 * 发送短信记录查询
 */
function queryMessageSendHistory(){
    $(window.parent.document).find("#sendMessageFrameName").val($(self).attr("name"));
    parent.addTab("发送短信记录",appPath+"/jsp/order/message_history_query.jsp","icon icon-users",true,"sendMessageQueryFrame");
}

 

package com.founder.ec.order.action;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONObject;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.founder.ec.common.service.SystemService;
import com.founder.ec.common.utils.DateUtils;
import com.founder.ec.common.utils.HttpSenderUtil;
import com.founder.ec.common.utils.MD5;
import com.founder.ec.order.model.MessageRecord;
import com.founder.ec.order.model.MessageTemplate;
import com.founder.ec.order.model.MessageType;
import com.founder.ec.order.service.MessageRecordService;
import com.founder.ec.order.service.MessageTemplateService;
import com.founder.ec.order.service.MessageTypeService;
import com.founder.ec.utils.PropertyConfigurer;

@Controller
@RequestMapping(value="/messageTemplateAct")
public class MessageTemplateAction{
 
  @Autowired
  private MessageTemplateService messageTemplateService;
  @Autowired
  private MessageTypeService messageTypeService;
  @Autowired
  private MessageRecordService messageRecordService;
  @Autowired
  private SystemService  systemService;
  
  
  @RequestMapping(value="/getPage")
  @ResponseBody
  public Map<String,Object> getPage(HttpServletRequest request,MessageTemplate messageTemplate)
  {
    int pageSize=10,pageNo=1;
    pageNo = Integer.parseInt(request.getParameter("page"));
    pageSize= Integer.parseInt(request.getParameter("rows"));
    
    return messageTemplateService.getPage(messageTemplate, pageNo, pageSize);
     
  }
  
  /**
   * 根据Id获取短信模板
   */
  @RequestMapping(value = "/opreateMessageTemplate/{messageTemplateId}")
  public void opreateMessageTemplate(HttpServletResponse response, @PathVariable Long messageTemplateId) {
      MessageTemplate messageTemplate = messageTemplateService.getMessageTemplateById(messageTemplateId);
      try {
        response.getWriter().print(JSONObject.fromObject(messageTemplate));
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
  }
  
  /**
   * 保存或更新
   * 
   * */
  @RequestMapping(value="/saveOrUpdate")
  @ResponseBody
  public String saveMessageTemplate(HttpServletRequest request,MessageTemplate messageTemplate){
      Integer userId = (Integer)request.getSession().getAttribute("userId");
      if (null == messageTemplate.getId()) {
          messageTemplate.setAddUserId(userId);
          messageTemplate.setAddTime(DateUtils.longToDateAll(System.currentTimeMillis()));
          messageTemplate.setEditUserId(userId);
          messageTemplate.setEditTime(DateUtils.longToDateAll(System.currentTimeMillis()));
          messageTemplateService.save(messageTemplate);
      }else{
          messageTemplate.setEditUserId(userId);
          messageTemplate.setEditTime(DateUtils.longToDateAll(System.currentTimeMillis()));
          messageTemplateService.update(messageTemplate);
      }
      
      return "ok";
    }
  
  /**
   * 查询所有已经开启的短信类型
   *
   * */
  @RequestMapping(value = "/getStartMessageTypes")
  public void getStartMessageTypes(HttpServletResponse response, HttpServletRequest request) throws IOException{
      
      response.getWriter().print(net.sf.json.JSONArray.fromObject(messageTypeService.getStartMessageTypes()));
  }
  
  /**
   * 查询短信发送记录
   * 
   * */
  @RequestMapping(value="/getMessageRecordPage")
  @ResponseBody
  public Map<String,Object> getMessageRecordPage(HttpServletRequest request,MessageRecord messageRecord)
  {
    int pageSize=10,pageNo=1;
    pageNo = Integer.parseInt(request.getParameter("page"));
    
    pageSize= Integer.parseInt(request.getParameter("rows"));
    
    return messageRecordService.getPage(messageRecord, pageNo, pageSize);
     
  }
  
  /**
   * 发送短信
   * 
   */
  @RequestMapping(value = "/sendMessage/{phonesStr}/{messageTemplateId}")
  @ResponseBody
  public String sendMessage(HttpServletRequest request,HttpServletResponse response, @PathVariable String phonesStr, @PathVariable Long messageTemplateId){
      Integer userId = (Integer)request.getSession().getAttribute("userId");
      try {
        MessageTemplate messageTemplate = messageTemplateService.getMessageTemplateById(messageTemplateId);
          //发送的消息
          String  msg=messageTemplate.getContent();
          //发送数据
          long time = new Date().getTime();
          msg = URLEncoder.encode(msg, "UTF-8");
          String check="",param ="",NOTICE_ADDRESS ="",returnStr="";
          String[] phones = phonesStr.split(",");
          for(int i=0;i<phones.length;i++){
              check = MD5.getMD5(time + "www.j1.com");
              param = "t=" + time + "&mobile="+phones[i]+"&msg=" + msg + "&check=" + check;
              NOTICE_ADDRESS=(String)PropertyConfigurer.getContextProperty("notice.address");
              returnStr= HttpSenderUtil.sendPost(NOTICE_ADDRESS, param); //真实地址
              System.out.println("returnStr:"+returnStr);
          }
          //将发送短信记录存进表message_record
          MessageRecord messageRecord = new MessageRecord();
          messageRecord.setMessageTemplateId(messageTemplateId);
          messageRecord.setPhones(phonesStr);
          messageRecord.setUserId(userId);
          messageRecord.setSendTime(DateUtils.longToDateAll(System.currentTimeMillis()));
          messageRecordService.save(messageRecord);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

      return "ok";
  }
  
  /**
   * 检查短信类型与短信模板是否开启
   * 
   * */
  @RequestMapping(value = "/checkIfStart/{messageTemplateId}")
  @ResponseBody
  public String checkIfStart(HttpServletResponse response, @PathVariable Long messageTemplateId){
    MessageTemplate messageTemplate = messageTemplateService.getMessageTemplateById(messageTemplateId);
    if("N".equals(messageTemplate.getIfStart())){
        return "TEMPLATE";
    }else{
        MessageType messageType = messageTypeService.getMessageTypeById(messageTemplate.getMessageTypeId());
        if("N".equals(messageType.getIfStart())){
            return "TYPE";
        }else{
            return "OK";
        }
    }
      
  }
  
}

http://***/ec-order/page/messageTemplateAct/sendMessage/158***23367/26

转载于:https://www.cnblogs.com/wangchuanfu/p/7229483.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值