Commit 81e313fe authored by 吴春's avatar 吴春

提交修改的信息

parent e54c52b9
......@@ -26,7 +26,11 @@ namespace EheMall.Business.Handlers
[AutofacResolve]
private IPhoneMsgService phoneMsgService { get; set; }
[AutofacResolve]
private IMemberService memberService { get; set; }
[AutofacResolve]
private IUserService userService { get; set; }
#region 短信验证相关
......@@ -100,6 +104,159 @@ namespace EheMall.Business.Handlers
}
/// <summary>
/// 发送短信验证码
/// </summary>
/// <param name="eventData"></param>
public void HandleEvent(CheckCodeSendCommand eventData)
{
#region 发送短信验证码
string sMessage = "";
bool bResult = true;
string sPhone = eventData.sPhone.Trim();
string sKey = eventData.sKey;
bResult = CheckCanBeSend(sPhone, sKey, ref sMessage);
if (!bResult)
{
eventData.bResult = bResult;
eventData.sMessage = sMessage;
}
else
{
Dictionary<string, object> paramsList = new Dictionary<string, object>();
paramsList["sPhone"] = sPhone;
// 1001 - 修改密码;1002 - 修改手机号码;1003 - 通知剧场人员;1004 - 下单发短信
//发送短信验证码之前都要根据场景先判断手机号码是否存在
string TypeStr = "SMS_132045009";
if (eventData.iType == 1001)
{
var item = memberService.GetByPhone(sPhone);
if (item == null)
{
bResult = false;
eventData.bResult = bResult;
eventData.sMessage = "手机号码不存在";
}
else
{
if (item.bIsDeleted)
{
bResult = false;
eventData.bResult = bResult;
eventData.sMessage = "用户被冻结,无法获取验证码";
}
}
TypeStr = "SMS_132045009";
}
else if (eventData.iType == 1002)
{
var item = memberService.GetByPhone(sPhone);
if (item == null)
{
bResult = false;
eventData.bResult = bResult;
eventData.sMessage = "手机号码不存在";
}
else
{
if (item.bIsDeleted)
{
bResult = false;
eventData.bResult = bResult;
eventData.sMessage = "用户被冻结,无法获取验证码";
}
}
TypeStr = "SMS_132045009";
}
else if (eventData.iType == 1003)
{
var model = userService.Get(eventData.UserID);
if (model == null)
{
bResult = false;
eventData.bResult = bResult;
eventData.sMessage = "手机号码不存在";
}
else {
if (string.IsNullOrWhiteSpace(model.sPhone))
{
bResult = false;
eventData.bResult = bResult;
eventData.sMessage = "手机号码不存在";
}
}
TypeStr = "SMS_132045009";
}
else if (eventData.iType == 1004)
{
var item = memberService.GetByPhone(sPhone);
if (item == null)
{
bResult = false;
eventData.bResult = bResult;
eventData.sMessage = "手机号码不存在";
}
TypeStr = "SMS_132045009";
}
if (bResult)
{
string sCode = StringExtensions.GenerateRandomDigitCode(5);
try
{
Business.Services.SMSService.SendCode(eventData.sPhone, eventData.sCode, TypeStr);
var entity = eventData.Map<EHECD_PhoneMsg>();
entity.sCode = sCode;
entity.dAddTime = DateTime.Now;
entity.dExpireTime = DateTime.Now.AddMinutes(3);
entity.sIp = Helpers.CommonHelper.GetIp();
eventData.bResult = bResult;
eventData.sCode = sCode;
var log = _repository.Insert(entity);
this.WriteLog(log, _unitOfWork.Commit());
eventData.sCode = "";
}
catch (Exception)
{
eventData.bResult = false;
eventData.sMessage = "短信发送失败";
}
//SendMsgCommand command = new SendMsgCommand()
//{
// sPhone = sPhone,
// iType = eventData.iType,
// ParamList = new List<string>()
// {
// sCode
// }
//};
//EngineContext.Current.ResolveOptional<IEventBus>().Publish(command);
//if (command.bResult)
//{
// var entity = eventData.Map<EHECD_PhoneMsg>();
// entity.sCode = sCode;
// entity.dAddTime = DateTime.Now;
// entity.dExpireTime = DateTime.Now.AddMinutes(3);
// entity.sIp = Helpers.CommonHelper.GetIp();
// eventData.bResult = bResult;
// eventData.sCode = sCode;
// var log = _repository.Insert(entity);
// this.WriteLog(log, _unitOfWork.Commit());
// eventData.sCode = "";
//}
//else
//{
// eventData.bResult = false;
// eventData.sMessage = "短信发送失败";
//}
}
}
#endregion
}
#region 发送短信时对手机号码的进行验证
/// <summary>
/// 获取短信发送列表
......
......@@ -23,6 +23,8 @@ namespace EheMall.Business.Handlers
public void HandleEvent(SendMsgCommand eventData)
{
//获取短信参数
string sPostUrl = StringExtensions.ReadConfig("msgPostUrl");
string sAccount = StringExtensions.ReadConfig("account");
......
......@@ -54,7 +54,7 @@ namespace EheMall.Business.Handlers
entity.OrderPayState = Models.Enums.OrderPayStateEnum.DueIn;
entity.OrderReturnState = Models.Enums.OrderReturnStateEnum.DueIn;
RNGCryptoServiceProvider csp = new RNGCryptoServiceProvider();
byte[] byteCsp = new byte[4];
byte[] byteCsp = new byte[2];
csp.GetBytes(byteCsp);
entity.CollectingTickets = GetWeekNow() + BitConverter.ToString(byteCsp).Replace("-", "");
entity.iBuyID = eventData.iLogUserId;
......
......@@ -56,7 +56,8 @@ namespace EheMall.Business.Services
{
x.MemberTypeName = x.MemberType.GetLocalizedDescription();
}
else {
else
{
x.MemberTypeName = "";
}
});
......@@ -70,7 +71,7 @@ namespace EheMall.Business.Services
return list;
}
public Member GetByAccount(string Account,Guid ID)
public Member GetByAccount(string Account, Guid ID)
{
if (ID != Guid.Empty)
{
......@@ -82,6 +83,11 @@ namespace EheMall.Business.Services
}
}
public Member GetByPhone(string Phone)
{
return DBHelper.GetSingle<Member>($@"SELECT * FROM Member WHERE bIsDeleted=0 AND {nameof(Member.MobilePhone)}=@Phone", new { Phone });
}
public IEnumerable<object> MemberHistoryOrderList(JObject inputs, out long iCount)
{
StringBuilder sCondition = new StringBuilder();
......@@ -127,7 +133,7 @@ namespace EheMall.Business.Services
return list;
}
public List<Member> MemberLogin(string Accounts,string PassWord)
public List<Member> MemberLogin(string Accounts, string PassWord)
{
StringBuilder sCondition = new StringBuilder();
......
using EheMall.Events;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EheMall.Models
{
/// <summary>
/// 验证码类短信发送
/// </summary>
public class CheckCodeSendCommand : ICommand
{
/// <summary>
/// 给剧场负责人发短信
/// </summary>
public Guid UserID { get; set; }
/// <summary>
/// 手机号码
/// </summary>
public string sPhone { get; set; }
/// <summary>
/// 验证码
/// </summary>
public string sCode { get; set; }
/// <summary>
/// 发送时间
/// </summary>
public DateTime dAddTime { get; set; }
/// <summary>
/// 海霸王:过期时间(分钟)
/// </summary>
public int iExpireTime { get; set; }
/// <summary>
/// 过期时间
/// </summary>
public DateTime dExpireTime { get; set; }
/// <summary>
/// 验证码类型 1001-修改密码;1002-修改手机号码;1003-通知剧场人员;1004-下单发短信
/// </summary>
public int iType { get; set; }
/// <summary>
/// 验证码状态 1-有效 0-无效
/// </summary>
public int iState { get; set; }
/// <summary>
/// ip地址
/// </summary>
public string sIp { get; set; }
/// <summary>
/// 返回的状态
/// </summary>
public bool bResult { get; set; }
/// <summary>
/// 返回的信息
/// </summary>
public string sMessage { get; set; }
/// <summary>
/// 短信所属的模板、功能
/// </summary>
public string sFunction { get; set; }
/// <summary>
/// 短信签名验证的key
/// </summary>
public string sKey { get; set; }
}
}
......@@ -100,7 +100,9 @@
<Compile Include="Commands\文章管理\ArticleTypeDeleteCommand.cs" />
<Compile Include="Commands\文章管理\ArticleTypeCreateCommand.cs" />
<Compile Include="Commands\消息管理\TemplateMsgSendCommand.cs" />
<Compile Include="Commands\短信\CheckCodeSendCommand.cs" />
<Compile Include="Commands\短信\PhoneMsgUpdateCommand.cs" />
<Compile Include="Commands\短信\PhoneMsgVerifyCommand.cs" />
<Compile Include="Commands\系统设置\AdvertisingPicUpdateCommand.cs" />
<Compile Include="Commands\系统设置\AdvertisingPicCreateCommand.cs" />
<Compile Include="Commands\系统设置\AdvertisingPicDeleteCommand.cs" />
......
......@@ -31,7 +31,7 @@ namespace EheMall.Models
public DateTime dExpireTime { get; set; }
/// <summary>
/// 验证码类型 1-注册 2-登录密码 3-支付密码
/// 验证码类型 1001-修改密码;1002-修改手机号码;1003-通知剧场人员;1004-下单发短信
/// </summary>
public int iType { get; set; }
......
......@@ -19,6 +19,8 @@ namespace EheMall.ServiceCenter
Member GetByAccount(string Account,Guid ID);
Member GetByPhone(string Phone);
IEnumerable<object> MemberHistoryOrderList(JObject inputs, out long iCount);
List<Member> MemberLogin(string Accounts, string PassWord);
......
......@@ -35,7 +35,7 @@ namespace EheMall.Web.Areas.Admin.Controllers
/// </summary>
public ScreeningController()
{
_ScreeningService= EngineContext.Current.ResolveOptional<IScreeningService>();
_ScreeningService = EngineContext.Current.ResolveOptional<IScreeningService>();
_TheaterService = EngineContext.Current.ResolveOptional<ITheaterService>();
_TheaterPriceServices = EngineContext.Current.ResolveOptional<ITheaterPriceService>();
_ScreeningPriceService = EngineContext.Current.ResolveOptional<IScreeningPriceService>();
......@@ -47,7 +47,7 @@ namespace EheMall.Web.Areas.Admin.Controllers
{
var List = _TheaterService.GetAllList().ToList();
List<SelectListItem> TheaterTypeEnum = new List<SelectListItem>();
TheaterTypeEnum.Add(new SelectListItem() { Text="不限",Value=""});
TheaterTypeEnum.Add(new SelectListItem() { Text = "不限", Value = "" });
foreach (var item in List)
{
TheaterTypeEnum.Add(new SelectListItem() { Text = item.sName, Value = Convert.ToString(item.ID) });
......@@ -70,8 +70,9 @@ namespace EheMall.Web.Areas.Admin.Controllers
}
[HttpPost]
public ActionResult CreatePrice() {
string TheaterId= Request["TheaterId"].ToString();
public ActionResult CreatePrice()
{
string TheaterId = Request["TheaterId"].ToString();
List<Models.Models.TheaterPrice> priceList = new List<Models.Models.TheaterPrice>();
if (!string.IsNullOrWhiteSpace(TheaterId))
{
......@@ -139,12 +140,13 @@ namespace EheMall.Web.Areas.Admin.Controllers
/// 获取座位列表
/// </summary>
/// <returns></returns>
public ActionResult ScreeningSeat() {
public ActionResult ScreeningSeat()
{
string TheaterId = Request["TheaterId"]?.ToString() ?? "";
string ScreeningId = Request["ScreeningId"]?.ToString() ?? "";
ViewBag.TSListStr = "[]";
//首先根据剧场id 获取剧场所设置的位置
if (TheaterId != ""&&ScreeningId=="")
if (TheaterId != "" && ScreeningId == "")
{
var TheaterSeatList = _TheaterSeatService.GetAllList(new Guid(TheaterId));
//组装数据 返回科长所需要的格式 json数据
......@@ -198,7 +200,7 @@ namespace EheMall.Web.Areas.Admin.Controllers
columnIndex = item2.iCol,
col = item2.iShowNum,
rowIndex = item2.iRow,
IsReserved=0
IsReserved = 0
});
}
TSList.Add(new
......@@ -211,7 +213,8 @@ namespace EheMall.Web.Areas.Admin.Controllers
}
ViewBag.TSListStr = JsonConvert.SerializeObject(TSList);
}
if (ScreeningId != "") {
if (ScreeningId != "")
{
var ScreeningSeatList = _ScreeningStaySeatService.GetList(ScreeningId);
//组装数据 返回科长所需要的格式 json数据
List<object> TSList = new List<object>();
......@@ -306,7 +309,8 @@ namespace EheMall.Web.Areas.Admin.Controllers
{
var entity = this._service.Get(id);
ViewBag.Isback = 2;
if (entity.StartTime < DateTime.Now) {
if (entity.StartTime < DateTime.Now)
{
ViewBag.Isback = 1;
}
......@@ -417,7 +421,8 @@ namespace EheMall.Web.Areas.Admin.Controllers
/// 月度统计
/// </summary>
/// <returns></returns>
public ActionResult ScreeningMonthIndex() {
public ActionResult ScreeningMonthIndex()
{
ViewBag.Month = DateTime.Now.ToString("yyyy-MM");
var List = _TheaterService.GetAllList().ToList();
List<SelectListItem> TheaterTypeEnum = new List<SelectListItem>();
......@@ -435,25 +440,29 @@ namespace EheMall.Web.Areas.Admin.Controllers
/// </summary>
/// <returns></returns>
[HttpPost]
public ActionResult ScreeningMonthStatistics() {
public ActionResult ScreeningMonthStatistics()
{
string Month = Request["Month"]?.ToString() ?? "";
string TheaterId = Request["TheaterId"]?.ToString() ?? "";
if (string.IsNullOrWhiteSpace(Month)) {
if (string.IsNullOrWhiteSpace(Month))
{
return Content("请传递月份");
}
string StartTime = Convert.ToDateTime(Month + "-01").ToString("yyyy-MM-dd");
string EndTime = Convert.ToDateTime(StartTime).AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd");
var list= _ScreeningService.GetScreeningMonthStatistics(StartTime, EndTime, TheaterId);
var list = _ScreeningService.GetScreeningMonthStatistics(StartTime, EndTime, TheaterId);
//遍历集合 提取当月每天数据,没有的赋值默认为空
List<ScreeningMonthExtend> RList = new List<ScreeningMonthExtend>();
while (true) {
while (true)
{
var slist = list.Where(x => x.StartTime.ToString("yyyy-MM-dd") == StartTime).ToList();
RList.Add(new ScreeningMonthExtend
{
DayStr=StartTime,
List= slist
DayStr = StartTime,
WeekStr= WeekStr(Convert.ToDateTime(StartTime)),
List = slist
});
if (StartTime == EndTime)
......@@ -465,5 +474,14 @@ namespace EheMall.Web.Areas.Admin.Controllers
return PartialView(RList);
}
public string WeekStr(DateTime nowTime)
{
string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
string week = Day[Convert.ToInt32(nowTime.DayOfWeek.ToString("d"))].ToString();
return week;
}
}
}
......@@ -185,7 +185,7 @@
{
name: "TotalNum", data: "TotalNum",
render: function (data, type, row) {
return "<a href='javescription:void(0)' onclick=\"SeatInfo('"+row["ID"]+"')\">" + row["BuyCount"] + "/" + row["TotalNum"] + "</a>";
return "<a href='javescription:void(0)' target='_blank' onclick=\"SeatInfo('"+row["ID"]+"')\">" + row["BuyCount"] + "/" + row["TotalNum"] + "</a>";
}
, bSortable: false },
{ name: "CreateDate", data:"CreateDate"}
......@@ -217,7 +217,7 @@
});
function SeatInfo(scId) {
alert("12313213");
window.open("/TicketMall/SaleTheater/SaleTicket?IsShowDetails=1&ScreeningID=" + scId, "_blank", "scrollbars=yes,resizable=1,modal=false,alwaysRaised=yes");
}
</script>
}
......
......@@ -8,19 +8,29 @@
{
<div class="dataListDiv" style="border-bottom: 1px solid #f1ebeb;">
<div class="dataDarstr" style="color:#000000;">
<span class="dataDarstr">@item.DayStr</span><span class="dayWeek">(周三)</span>
</div>
<span class="dataDarstr">@item.DayStr</span><span class="dayWeek">(@item.WeekStr)</span>
</div>
<div class="dataInfoList">
@foreach (var item2 in item.List)
@if (item.List != null && item.List.Any())
{
<div class="dataListP">
<div>剧场名称:@item2.TheaterName</div>
<div>场次名称:@item2.Name</div>
<div>开场时间:@item2.StartTime.ToString("HH:mm")</div>
<div>购买数量:@item2.BuyCount <span>张</span></div>
</div>
foreach (var item2 in item.List)
{
<div class="dataListP">
<div>剧场名称: @item2.TheaterName</div>
<div>场次名称:@item2.Name</div>
<div>开场时间:@item2.StartTime.ToString("HH:mm")</div>
<div>购买数量:<a href="/TicketMall/SaleTheater/SaleTicket?IsShowDetails=1&ScreeningID=@item2.ID" target="_blank">@item2.BuyCount <span>张</span></a></div>
</div>
}
}
else
{
<div class="dataListP">
</div>
}
</div>
</div>
}
\ No newline at end of file
......@@ -603,7 +603,7 @@ header .nav-a:hover {
width: 77%;
}
.news_con li .news_left a {
.news_con li .news_left span {
font-size: 1.8rem;
color: #a38d61;
overflow: hidden;
......
......@@ -73,9 +73,9 @@
<header class="hidden-md hidden-sm hidden-xs">
<div class="nav-abox">
<a href="/En/Index.html" class="nav-a f-cb">
<span class="cn t-f">英文版</span>
</a>
@*<a href="/En/Index.html" class="nav-a f-cb">
<span class="cn t-f">英文版</span>
</a>*@
<a href="#about" class="nav-a Nav_about f-cb Nav_selected">
<span class="cn t-f">芙蓉国粹</span>
</a>
......@@ -122,15 +122,12 @@
<div id=banner class="banner hidden-md hidden-sm hidden-xs">
<img alt="" src="/Areas/Mobile/Content/images/img1.jpg" />
<!--
<img alt="" src="~/Areas/Mobile/images/201811390809.jpg"/>
<img alt="" src="~/Areas/Mobile/images/201814180809.jpg"/>
-->
<img alt="" src="/Areas/Mobile/Content/images/201811390809.jpg" />
<img alt="" src="/Areas/Mobile/Content/images/201814180809.jpg" />
<div id="bannerNav" class="bannerNav">
<p><a href="#"><img src="~/Areas/Mobile/Content/images/icon_white.png" /></a></p>
<a class="trigger imgSelectedimgSelected" href="javascript:void(0)">01</a>
<a class="trigger" href="javascript:void(0)">02</a>
<a class="trigger" href="javascript:void(0)">03</a>
......@@ -251,16 +248,19 @@
foreach (var item in ArticleNewsList)
{
<li class="wow bounceIn">
<div class="news_left fl">
<a href="/Mobile/Home/Details?id=@item.ID">@item.sTitle</a>
<p class="sContentReplace">
@item.sContent
</p>
</div>
<div class="news_right fr">
<span class="hidden-sm hidden-xs">@item.dInsertTime.ToString("MM.dd")</span>
<time class="hidden-sm hidden-xs">@item.dInsertTime.ToString("yyyy")</time>
</div>
<a href="/Mobile/Home/Details?id=@item.ID">
<div class="news_left fl">
<span> @item.sTitle</span>
<p class="sContentReplace">
@item.sContent
</p>
</div>
<div class="news_right fr">
<span class="hidden-sm hidden-xs">@item.dInsertTime.ToString("MM.dd")</span>
<time class="hidden-sm hidden-xs">@item.dInsertTime.ToString("yyyy")</time>
</div>
</a>
</li>
}
}
......@@ -471,8 +471,8 @@
<div class="video_cox">
<div class="videoBox1">
<div class="closeVideo"><img src="/Areas/Mobile/Content/images/videox.png" width="100%" alt=""> </div>
@*<h1>芙蓉国粹</h1>
<div class="videoTime">
<h1>芙蓉国粹</h1>
@* <div class="videoTime">
2018.08.21
</div>*@
</div>
......

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="format-detection" content="email=no, address=no, telephone=no">
<meta name="viewport"
content="width=device-width, initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
<meta content="yes" name="apple-mobile-web-app-capable"><!--IOS中Safari允许全屏浏览-->
<meta content="black" name="apple-mobile-web-app-status-bar-style"><!--IOS中Safari顶端状态条样式-->
<meta content="telephone=no,email=no" name="format-detection" /><!--忽略将页面中的数字识别为电话号码,邮箱-->
<meta http-equiv="Cache-Control" content="no-siteapp" /><!--百度禁止转码-->
<title>芙蓉国粹</title>
<link href="~/Areas/Mobile/Content/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="~/Areas/Mobile/Content/css/swiper.min.css">
<link rel="stylesheet" href="~/Areas/Mobile/Content/css/animate.min.css">
<link rel="stylesheet" href="~/Areas/Mobile/Content/css/index.css">
<script src="~/Areas/Mobile/Content/js/wow.min.js"></script>
<script type="text/javascript" src="~/Areas/Mobile/Content/js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="~/Areas/Mobile/Content/js/jquery.SuperSlide2.js"></script>
<script type="text/javascript" src="~/Areas/Mobile/Content/js/script.js"></script>
<script type="text/javascript" src="~/Areas/Mobile/Content/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="~/Areas/Mobile/Content/js/jquery.simplesidebar.js"></script>
<!--<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>-->
<script src="~/Areas/Mobile/Content/js/jquery.lettering.js" type="text/javascript" charset="utf-8"></script>
<!--IE浏览器-->
<script src="~/Areas/Mobile/Content/js/html5shiv.min.js"></script>
<script src="~/Areas/Mobile/Content/js/respond.min.js"></script>
<!-- Demo styles -->
</head>
<body class="ab-bak">
<header class="hidden-md hidden-sm hidden-xs">
<div class="nav-abox">
<a href="/En/Index.html" class="nav-a f-cb">
<span class="cn t-f">英文版</span>
</a>
<a href="index.html?#about" class="nav-a f-cb">
<span class="cn t-f">芙蓉国粹</span>
</a>
<a href="index.html?#news" class="nav-a f-cb">
<span class="cn t-f">剧院动态</span>
</a>
<a href="index.html?#program" class="nav-a f-cb">
<span class="cn t-f">节目介绍</span>
</a>
<a href="index.html?#gook" class="nav-a f-cb">
<span class="cn t-f">访客留言</span>
</a>
<a href="index.html?#video" class="nav-a f-cb">
<span class="cn t-f">视频播放</span>
</a>
<a href="index.html?#contact" class="nav-a f-cb">
<span class="cn t-f">联系我们</span>
</a>
</div>
</header>
<!--手机导航-->
<div class="toolbar visible-md visible-sm visible-xs clearfix ">
<div class="logo"><img src="~/Areas/Mobile/Content/images/logo_sj.png"> </div>
<div id="open-sb" class="menu-left"><img src="~/Areas/Mobile/Content/images/menu.png"> </div>
</div>
<section class="sidebar">
<div class="subNav"><h5>网站导航</h5></div>
<hr />
<div class="subNav"><h6>芙蓉国粹</h6></div>
<div class="subNav"><h6><a href="index.html?#news">剧院动态</a></h6></div>
<div class="subNav"><h6><a href="index?#program">节目介绍</a></h6></div>
<div class="subNav"><h6><a href="index?#gook">访客留言</a></h6></div>
<div class="subNav"><h6><a href="index?#video">视频播放</a></h6></div>
<div class="subNav"><h6><a href="index?#contact">联系我们</a></h6></div>
</section>
<!--内容页-->
<div class="top-box hidden-md hidden-sm hidden-xs">
<a href="index.html" class="logo fl">
<img src="~/Areas/Mobile/Content/images/logo_sj.png" width="234" height="51" alt="">
</a>
</div>
<div class="st-bg newslist min650 carousel hidden-md hidden-sm hidden-xs">
<div class="container content">
<div class="col-lg-2 col-md-2 col-sm-12 col-xs-12">
<div class="news-box fl f-cb">
<div class="nleft fl por">
<div class="time poa">
<div class="day ffs w-f">24</div>
<div class="year w-f">2018/08</div>
</div>
<div class="title">
<div class="text">[ 年度大戏 ] 浪漫故事引线搭桥精浪漫故事引线搭桥精浪漫故事引线搭桥精</div>
</div>
</div>
</div>
</div>
<div class="col-lg-9 col-md-10 col-sm-12 col-xs-12 pull-left-1 fr confr">
<div class="text">
<p>
<p>《芙蓉国粹·川剧秀传奇变脸》是一台全国首创以川剧元素为主体,展现成都风土人情的情景剧。该剧讲述了两位明末清初的川剧艺人悲欢离合的爱情故事。在该剧演出中你将观赏到精典折子戏片断,领略到川剧演员唱、念、坐、打的基本功...</p>
</p>
</div>
</div>
</div>
</div>
<div class="wfoot hidden-sm hidden-xs" style="margin-left: 0px; margin-right: 0px;">
<p>【蜀戏冠天下】到四川看川戏 就到芙蓉国粹</p>
<p>
<img src="../images/icon_foot.png" alt=""> Copyright©2018 成都芙蓉国粹演艺有限公司 川公网安备 51010402000190号 蜀ICP备11017964号-1
</p>
</div>
<div class="nycont visible-md visible-sm visible-xs ">
<div class="text">
<h2>[ 年度大戏 ] 浪漫故事引线搭桥精浪漫故事引线搭桥精浪漫故事引线搭桥精</h2>
<p>
<p>《芙蓉国粹·川剧秀传奇变脸》是一台全国首创以川剧元素为主体,展现成都风土人情的情景剧。该剧讲述了两位明末清初的川剧艺人悲欢离合的爱情故事。在该剧演出中你将观赏到精典折子戏片断,领略到川剧演员唱、念、坐、打的基本功...</p>
</p>
</div>
<div class="prevnext">
<p class="prev">上一篇:<a href="27.html">[ 年度大戏 ] 浪漫故事引线搭桥精浪漫故事引线搭桥精浪漫故事引线搭桥精</a></p>
<p class="next">下一篇:没有了!</p>
<p class="back"><a href="NewList.html">返回列表</a></p>
</div>
<footer class="sjfoot clearfix">
<p>【蜀戏冠天下】到四川看川戏 就到芙蓉国粹</p>
<p>
<img src="../images/icon_foot.png" alt=""> Copyright©2018 成都芙蓉国粹演艺有限公司 川公网安备 51010402000190号 蜀ICP备11017964号-1
</p>
</footer>
</div>
</body>
</html>
......@@ -44,9 +44,9 @@
<header class=" hidden-sm hidden-xs">
<div class="nav-abox">
<a href="/En/Index.html" class="nav-a f-cb">
@*<a href="/En/Index.html" class="nav-a f-cb">
<span class="cn t-f">英文版</span>
</a>
</a>*@
<a href="/Mobile/Home/Index?#about" class="nav-a f-cb">
<span class="cn t-f">芙蓉国粹</span>
</a>
......
......@@ -43,9 +43,9 @@
<header class=" hidden-sm hidden-xs">
<div class="nav-abox">
<a href="/En/Index.html" class="nav-a f-cb">
@*<a href="/En/Index.html" class="nav-a f-cb">
<span class="cn t-f">英文版</span>
</a>
</a>*@
<a href="/Mobile/Home/Index?#about" class="nav-a f-cb">
<span class="cn t-f">芙蓉国粹</span>
</a>
......
......@@ -42,9 +42,9 @@
<header class="hidden-md hidden-sm hidden-xs">
<div class="nav-abox">
<a href="/En/Index.html" class="nav-a f-cb">
@*<a href="/En/Index.html" class="nav-a f-cb">
<span class="cn t-f">英文版</span>
</a>
</a>*@
<a href="/Mobile/Home/Index?#about" class="nav-a f-cb">
<span class="cn t-f">芙蓉国粹</span>
</a>
......
......@@ -179,8 +179,6 @@ namespace EheMall.Web.Areas.TicketMall.Controllers
ViewBag.Price = new TheaterPrice();
model = new Screening();
}
return View(model);
}
......@@ -613,12 +611,49 @@ namespace EheMall.Web.Areas.TicketMall.Controllers
public ActionResult SendCode()
public ActionResult SendCode(int Type)
{
string code = CreateRandomCode(4);
//string code = CreateRandomCode(4);
//if (Type == 1)//修改手机号码
//{
// Session["UpdateMobileCode"] = code;
//}
//else
//{//修改密码
// Session["ModifyPWCode"] = code;
//}
//Member member = CurrentClient;
//Business.Services.SMSService.SendCode(member.MobilePhone, code, "SMS_132045009");
var result = new JsonResultData();
Member member = CurrentClient;
Business.Services.SMSService.SendCode(member.MobilePhone, code, "SMS_132045009");
return Json(new { valid = true, message = "验证码发送成功" });
int CodeType = 0;
if (Type == 1)//修改手机号码
{
CodeType = 1002;
}
else
{//修改密码
CodeType = 1001;
}
result.RunWithTry(x =>
{
var msg = new CheckCodeSendCommand()
{
iType = CodeType,
sPhone = member.MobilePhone,
sKey = Helpers.PhoneMsgHelper.GenerateKey()
};
EngineContext.Current.ResolveOptional<Events.IEventBus>().Publish(msg);
x.Success = msg.bResult;
if (x.Success)
x.AddMessage("短信发送成功");
else
x.AddErrorMessage("短信发送失败");
});
return Json(result);
//return Json(new { valid = true, message = "验证码发送成功" });
}
[HttpPost]
......@@ -633,12 +668,14 @@ namespace EheMall.Web.Areas.TicketMall.Controllers
return Json(new { valid = false, message = "请输入验证吗" });
}
//验证code
//if (Session["ModifyPWCode"] == null) {
// return Json(new { valid = false, message = "验证码超时,请重新发送" });
//}
//if (Session["ModifyPWCode"].ToString() != entity.SecurityCode) {
// return Json(new { valid = false, message = "验证码输入不正确" });
//}
if (Session["ModifyPWCode"] == null)
{
return Json(new { valid = false, message = "验证码超时,请重新发送" });
}
if (Session["ModifyPWCode"].ToString() != entity.SecurityCode)
{
return Json(new { valid = false, message = "验证码输入不正确" });
}
if (string.IsNullOrWhiteSpace(entity.PassWord))
{
......@@ -683,12 +720,14 @@ namespace EheMall.Web.Areas.TicketMall.Controllers
return Json(new { valid = false, message = "请输入验证吗" });
}
//验证code
//if (Session["ModifyPWCode"] == null) {
// return Json(new { valid = false, message = "验证码超时,请重新发送" });
//}
//if (Session["ModifyPWCode"].ToString() != entity.SecurityCode) {
// return Json(new { valid = false, message = "验证码输入不正确" });
//}
if (Session["UpdateMobileCode"] == null)
{
return Json(new { valid = false, message = "验证码超时,请重新发送" });
}
if (Session["UpdateMobileCode"].ToString() != entity.SecurityCode)
{
return Json(new { valid = false, message = "验证码输入不正确" });
}
if (string.IsNullOrWhiteSpace(entity.MobilePhone))
{
......
......@@ -73,7 +73,7 @@ namespace EheMall.Web.Areas.TicketMall.Controllers
public ActionResult SaleTicket(Guid ScreeningId)
public ActionResult SaleTicket(Guid ScreeningId, int IsShowDetails = 0)
{
var model = _ScreeningService.Get(ScreeningId);//场次信息
if (model == null)
......@@ -217,6 +217,7 @@ namespace EheMall.Web.Areas.TicketMall.Controllers
});
}
ViewBag.Screening = model;
ViewBag.IsShowDetails = IsShowDetails;
return View(TSList);
}
......
......@@ -10,7 +10,7 @@
<div class="w1240">
<div class="productList clearfix">
<div class="pro_Left">
<img src="../upload/201810151438573386.jpg" alt="" />
<img src="@Model.Image" alt="" onerror="this.src='/Areas/TicketMall/Content/Sp_img/images-moren.png'" />
</div>
<div class="pro_Right">
<div class="pro_Title">@Model.Name</div>
......@@ -100,22 +100,24 @@
<span class="price_heji"><span style="font-size:14px;">¥</span><text id="textThirdNum">0</text></span>
</div>
<div class="Ticketline"></div>
<div class="TicketName">信息验证</div>
<div style="margin-bottom:30px;">
<span class="Ticket_Total">总价</span>
<span class="T_Total"><span style="font-size:14px;">¥</span><text id="totalPrice">0</text></span>
</div>
<div>
<span class="Ticket_Total">身份证号</span>
<input type="text" class="ticket_input last_input" placeholder="请输入身份证号" id="idCard" maxlength="18" onkeyup="isCardNo(this)" />
</div>
<div>
<span class="Ticket_Total">手机号</span>
<input type="text" class="ticket_input last_input" placeholder="请输入手机号" id="mobile" maxlength="11" />
</div>
<div>
<input type="button" class="Ticket_sureBtn" value="确认" onclick="SaveOrder(this)" />
</div>
<div class="TicketName">信息验证</div>
<div style="margin-bottom:30px;">
<span class="Ticket_Total">总价</span>
<span class="T_Total"><span style="font-size:14px;">¥</span><text id="totalPrice">0</text></span>
</div>
<div>
<span class="Ticket_Total">身份证号</span>
<input type="text" class="ticket_input last_input" placeholder="请输入身份证号" id="idCard" maxlength="18" onkeyup="isCardNo(this)" />
</div>
<div>
<span class="Ticket_Total">手机号</span>
<input type="text" class="ticket_input last_input" placeholder="请输入手机号" id="mobile" maxlength="11" />
</div>
<div>
<input type="button" class="Ticket_sureBtn" value="确认" onclick="SaveOrder(this)" />
</div>
</div>
</div>
......
......@@ -222,7 +222,7 @@
<span class="Ticket_Total">手机号</span>
<span>
<span class="phone_Number">@Model.MobilePhone</span>
<span class="sendValida" onclick="SendCode()">发送验证码</span>
<span class="sendValida" onclick="SendCode(2)">发送验证码</span>
</span>
</div>
<div class="buyTicket">
......@@ -247,7 +247,7 @@
<span class="Ticket_Total">手机号</span>
<span>
<span class="phone_Number">@Model.MobilePhone</span>
<span class="sendValida">发送验证码</span>
<span class="sendValida" onclick="SendCode(1)">发送验证码</span>
</span>
</div>
<div class="buyTicket">
......@@ -278,16 +278,17 @@
<script src="/Areas/TicketMall/Content/js/layer/layer.js"></script>
<script src="/Areas/TicketMall/Content/js/jquery.flexslider-min.js"></script>
<script type="text/javascript">
function SendCode() {
function SendCode(type) {
$.ajax({
type: "post",
url: "@Url.Action("SendCode")",
data: { Type: type},
success: function (data) {
if (data.valid) {
if (data.bResult) {
layer.msg('发送成功', { icon: 1 });
} else {
layer.msg(data.message, { icon: 2 });
layer.msg(data.sMessage, { icon: 2 });
}
}
});
......@@ -367,7 +368,7 @@
if (!(/^1[123457890]\d{9}$/.test(MobilePhone))) {
alert("手机号码有误,请重填");
return false;
}
}
if (MobilePhone != ValidataPhone) {
layer.msg("再次输入电话不正确");
return;
......
......@@ -50,7 +50,7 @@
<div class="chooseTop clearfix">
<div class="leftInfo clearfix">
<div class="leftImg">
<img src="@ScreeningModel.Image" alt="" />
<img src="@ScreeningModel.Image" alt="" onerror="this.src='/Areas/TicketMall/Content/Sp_img/images-moren.png'" />
</div>
<div class="rightIntroduce">
<div class="rightTitle">
......@@ -61,19 +61,22 @@
<div class="comDiv">场次:@ScreeningModel.StartTime.ToString("yyyy-MM-dd HH:mm:ss")</div>
</div>
</div>
<div class="centerTicket">
<div class="rightCenter">已选座位</div>
<div class="TicketSaleContent seatCked">
@if (ViewBag.IsShowDetails == 0)
{
<div class="centerTicket">
<div class="rightCenter">已选座位</div>
<div class="TicketSaleContent seatCked">
</div>
</div>
</div>
<div class="chooseBtn">
<div class="rightCenter" style="margin-top:10px;">总价</div>
<div class="btnContent">
<div><span style="font-size:14px;">¥</span><span class="tPrice totalPrice"></span></div>
<input type="button" class="sureBtn" value="确认" />
<div class="chooseBtn">
<div class="rightCenter" style="margin-top:10px;">总价</div>
<div class="btnContent">
<div><span style="font-size:14px;">¥</span><span class="tPrice totalPrice"></span></div>
<input type="button" class="sureBtn" value="确认" />
</div>
</div>
</div>
}
</div>
<div class="seatMainContent">
<div class="seatType">
......@@ -112,48 +115,48 @@
</div>
</div>
</div>
<script type="text/javascript">
$(function () {
//点击选座
$(".seat,.changeseat").click(function () {
if ($(this).hasClass('selected')) {
if ('@ViewBag.IsShowDetails' == '0')
{
$(".seat,.changeseat").click(function() {
if ($(this).hasClass('selected')) {
$(this).removeClass('selected');
} else {
} else {
$(this).addClass('selected');
}
}
$(".seatCked").empty();
var temp = '';
$(".seat,.changeseat").each(function () {
if ($(this).hasClass('selected')) {
var rowIndex = $(this).attr("data-row");
var colIndex = $(this).attr("data-col");
temp += '<div class="TicketSaleList">' +
'<span class="TcLeft">' + rowIndex + '排' + colIndex + '号</span>' +
'<span class="dataPrice">¥<span class="prices">' + $(this).attr('data-price') + '</span></span>' +
'</div>'
}
})
var temp = '';
$(".seat,.changeseat").each(function() {
if ($(this).hasClass('selected')) {
var rowIndex = $(this).attr("data-row");
var colIndex = $(this).attr("data-col");
temp += '<div class="TicketSaleList">' +
'<span class="TcLeft">' + rowIndex + '排' + colIndex + '号</span>' +
'<span class="dataPrice">¥<span class="prices">' + $(this).attr('data-price') + '</span></span>' +
'</div>'
}
})
$(".seatCked").append(temp);
var count = 0;
$(".prices").each(function () {
count += parseFloat($(this).html());
})
var count = 0;
$(".prices").each(function() {
count += parseFloat($(this).html());
})
$(".totalPrice").html(count);
});
});
$(".sureBtn").click(function() {
var FirstNum = 0;
var ScondNum = 0;
var ThirdNum = 0;
var FirstNum = 0;
var ParticularlyNum = 0;
var OrderSeatList = [];
$(".sureBtn").click(function () {
var FirstNum = 0;
var ScondNum = 0;
var ThirdNum = 0;
var FirstNum = 0;
var ParticularlyNum = 0;
var OrderSeatList = [];
$(".seat,.changeseat").each(function () {
if ($(this).hasClass('selected')) {
var rowData = {
$(".seat,.changeseat").each(function() {
if ($(this).hasClass('selected')) {
var rowData = {
iCol: "",//列
iRow: "",//行
//sRowName: "",//排名称
......@@ -161,39 +164,40 @@
//iTheaterSeatType: "",//座位类型 (甲,已,丙)
//iTheaterSeatFloor: "",// 楼层类型 (楼厢,楼前,堂厢)
//IsSale: ""//是否代理商已经购买,0-不是,1-是 后台下单需要
};
rowData.iCol = $(this).attr("data-columnIndex");
rowData.iRow = $(this).attr("data-row");
rowData.iShowNum = $(this).attr("data-col");
OrderSeatList.push(rowData);
}
});
};
rowData.iCol = $(this).attr("data-columnIndex");
rowData.iRow = $(this).attr("data-row");
rowData.iShowNum = $(this).attr("data-col");
OrderSeatList.push(rowData);
}
});
if (!OrderSeatList || OrderSeatList.length <= 0) {
return;
}
var str = JSON.stringify(OrderSeatList);
if (!OrderSeatList || OrderSeatList.length <= 0) {
return;
}
var str = JSON.stringify(OrderSeatList);
$(this).prop("disable", true);
$.ajax({
type: "post",
type: "post",
url: "@Url.Action("SaveOrder")",
data: { "TheaterID": '@ScreeningModel.TheaterId', "ScreeningID": '@ScreeningModel.ID', "ParticularlyNum": ParticularlyNum, "FirstNum": FirstNum, "ScondNum": ScondNum, "ThirdNum": ThirdNum, "OrderSeatStr": str },
success: function (data) {
if (data.valid) {
layer.msg('下单成功', {
icon: 1,//提示的样式
end: function () {
window.location.reload();
}
});
} else {
success: function(data) {
if (data.valid) {
layer.msg('下单成功', {
icon: 1,//提示的样式
end: function() {
window.location.reload();
}
});
} else {
$(this).prop("disable", false);
layer.msg(data.message, { icon: 2 });
}
}
});
});
});
layer.msg(data.message, { icon: 2 });
}
}
});
});
}
});
</script>
</div>
<!--尾部-->
......
......@@ -18,7 +18,7 @@
</li>
</ul>
</div>
<div class="common white">
@*<div class="common white">
<div class="ny_title">
<h2><img src="/Areas/TicketMall/Content/Sp_img/tubff.png" width="8" height="8"> 票务中心</h2>
</div>
......@@ -28,5 +28,5 @@
</li>
</ul>
</div>
</div>*@
</div>
\ No newline at end of file
......@@ -15,6 +15,11 @@ namespace EheMall.Web.Extend
/// 日期
/// </summary>
public string DayStr { get; set; }
/// <summary>
/// 星期字段
/// </summary>
public string WeekStr { get; set; }
/// <summary>
/// 集合
/// </summary>
......
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