111 lines
5.9 KiB
C#
111 lines
5.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using SuperMap.RealEstate.Web.UI.WebControls;
|
|
using SuperMap.RealEstate.ServiceModel;
|
|
using MSPB = SuperMap.RealEstate.MobileServicePlatform.Business;
|
|
using HZQR.Common;
|
|
|
|
namespace SuperMap.RealEstate.SendRec.Common
|
|
{
|
|
public class WeChatPushHelper
|
|
{
|
|
#region 方法 -> 推送消息
|
|
public static void PushMessage(Transaction _Transaction, MSPB.GROUPPUSHDETAIL _GROUPPUSHDETAIL)
|
|
{
|
|
string PushModuleName = "";
|
|
|
|
try
|
|
{
|
|
//获取微信公众号信息
|
|
MSPB.WECHATPUBLICSIGN _WECHATPUBLICSIGN = new MSPB.WECHATPUBLICSIGN(_Transaction);
|
|
_WECHATPUBLICSIGN.WECHATPUBLICSIGN_ID = 3;
|
|
if (_WECHATPUBLICSIGN.Select())
|
|
{
|
|
TextBoxEx RefreshTime = new TextBoxEx();
|
|
TextBoxEx AcessToken = new TextBoxEx();
|
|
//微信公众号名称
|
|
string _WECHATPUBLICSIGN_NAME = _WECHATPUBLICSIGN.WECHATPUBLICSIGN_NAME;
|
|
//微信公众号id
|
|
string _WECHATPUBLICSIGN_ID = _WECHATPUBLICSIGN.KeyID;
|
|
//微信公众号APPID
|
|
string _WECHAT_APPID = _WECHATPUBLICSIGN.WECHAT_APPID;
|
|
//微信公众号APPSECRET
|
|
string _WECHAT_APPSECRET = _WECHATPUBLICSIGN.WECHAT_APPSECRET;
|
|
|
|
//获取微信接口AcessToken
|
|
AcessToken.Text = MSPB.CommonHelper.GetAccess(RefreshTime, _WECHAT_APPID, _WECHAT_APPSECRET);
|
|
|
|
//获取稽核消息模板配置信息
|
|
MSPB.PUSHMODULE _PushModule = new MSPB.PUSHMODULE(_Transaction);
|
|
_PushModule.AddSearchParameter("WECHATPUBLICSIGN_ID", _WECHATPUBLICSIGN_ID);
|
|
_PushModule.AddSearchParameter("PUSHMODULE_NUM", "ProinstApprove");
|
|
if (_PushModule.Search())
|
|
{
|
|
PushModuleName = _PushModule.PUSHMODULE_NAME;
|
|
|
|
//生成推送消息数据
|
|
string _ExPhoneNum = ConfigurationManager.AppSettings["ExPhoneNum"];
|
|
List<MSPB.RTWECHATPUSH> RTWECHATPUSHList = new MSPB.RTWECHATPUSH(_Transaction).FillCollection(
|
|
"WHERE WECHATPUBLICSIGN_ID = " + _WECHATPUBLICSIGN_ID + " AND MOBILEPHONE_NUMBER IN ('" +
|
|
_ExPhoneNum.Replace(",", "','") + "')");
|
|
//string sql = string.Format(@"
|
|
// SELECT
|
|
// RTWECHATPUSH_ID
|
|
// FROM
|
|
// MOBILESERVICE_PLATFORM.T_RTWECHATPUSH A
|
|
// WHERE
|
|
// WECHATPUBLICSIGN_ID = {0} AND RTWECHATPUSH_STATE = 1 AND
|
|
// EXISTS (SELECT 1 FROM T_RTWECAHTPUSHDTAIL B
|
|
// WHERE A.RTWECHATPUSH_ID = B.RTWECHATPUSH_ID AND
|
|
// RTWECAHTPUSHDTAIL_STATE = 1 AND PUSH_MODULE LIKE '%{1}%' AND
|
|
// B.PROVINCE_CODE = 340000 AND ',' || NVL(B.SERVERPART_IDS,{2}) || ',' LIKE '%,{2},%')",
|
|
// _WECHATPUBLICSIGN_ID, _PushModule.PUSHMODULE_CODE, ServerpartId);
|
|
//DataTable dt = new MSPB.RTWECHATPUSH(_Transaction).ExecuteDataTable(sql);
|
|
|
|
//if (dt.Rows.Count > 0)
|
|
//{
|
|
// RTWECHATPUSH_ID = JoinStrFromDataTable(dt, "RTWECHATPUSH_ID");
|
|
// RTWECHATPUSHList = new MSPB.RTWECHATPUSH(_Transaction).FillCollection(string.Format(
|
|
// "WHERE RTWECHATPUSH_ID IN ({0})", RTWECHATPUSH_ID));
|
|
//}
|
|
|
|
//if (RTWECHATPUSHList.Count > 0)
|
|
//{
|
|
//给拥有权限的微信用户推送稽核信息提醒
|
|
foreach (MSPB.RTWECHATPUSH _RTWECHATPUSH in RTWECHATPUSHList)
|
|
{
|
|
LogUtil.WriteLog(null, PushModuleName + "推送人员:" + _RTWECHATPUSH.USER_NAME +
|
|
"【" + _RTWECHATPUSH.MOBILEPHONE_NUMBER + "】",
|
|
DateTime.Now.ToString("yyyyMMdd") + "_ProinstApprove");
|
|
|
|
//定义推送跳转页面地址
|
|
//string JumpUrl = string.IsNullOrWhiteSpace(ConfigurationManager.AppSettings["BayonetUrl_AH"]) ? "" :
|
|
// (ConfigurationManager.AppSettings["BayonetUrl_AH"] + "?id=" + bayonetModel.Bayonet_ID +
|
|
// "&name=" + HttpUtility.UrlEncode(_RTWECHATPUSH.USER_NAME) +
|
|
// "&phone=" + HttpUtility.UrlEncode(_RTWECHATPUSH.MOBILEPHONE_NUMBER));
|
|
//已传入推送小程序
|
|
MSPB.CommonHelper.StartToSend(_PushModule.PUSHMODULE_CODE, AcessToken, _RTWECHATPUSH,
|
|
_GROUPPUSHDETAIL, 4, RefreshTime, _WECHAT_APPID, _WECHAT_APPSECRET);
|
|
|
|
//添加推送日志
|
|
MSPB.CommonHelper.AddPushLog(_Transaction, PushModuleName + "消息推送",
|
|
_RTWECHATPUSH.WECHAT_OPENID, _RTWECHATPUSH.USER_NAME, _RTWECHATPUSH.MOBILEPHONE_NUMBER, 1,
|
|
_GROUPPUSHDETAIL.PUSH_THIRDCONTENT + " " + _GROUPPUSHDETAIL.PUSH_FOURTHCONTENT, _WECHAT_APPID, "");
|
|
}
|
|
//}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogUtil.WriteLog(null, PushModuleName + "推送错误:" + ex.Message,
|
|
DateTime.Now.ToString("yyyyMMdd") + "_ProinstApprove");
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
} |