213
This commit is contained in:
parent
5bd8167c2e
commit
863d897e02
|
|
@ -3,10 +3,13 @@ using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
using CoreCms.Net.Configuration;
|
using CoreCms.Net.Configuration;
|
||||||
using CoreCms.Net.RedisMQ.Subscribe;
|
using CoreCms.Net.RedisMQ.Subscribe;
|
||||||
using CoreCms.Net.Utility.Extensions;
|
using CoreCms.Net.Utility.Extensions;
|
||||||
|
|
||||||
using InitQ;
|
using InitQ;
|
||||||
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
|
||||||
namespace CoreCms.Net.Core.Config
|
namespace CoreCms.Net.Core.Config
|
||||||
|
|
@ -36,7 +39,9 @@ namespace CoreCms.Net.Core.Config
|
||||||
typeof(LogingSubscribe),
|
typeof(LogingSubscribe),
|
||||||
|
|
||||||
typeof(UserSubscribe),
|
typeof(UserSubscribe),
|
||||||
|
# if DEBUG
|
||||||
typeof(WeChatPayNoticeSubscribe),
|
typeof(WeChatPayNoticeSubscribe),
|
||||||
|
# endif
|
||||||
typeof(SendWxTemplateMessageSubscribe),
|
typeof(SendWxTemplateMessageSubscribe),
|
||||||
typeof(AfterSalesReviewSubscribe),
|
typeof(AfterSalesReviewSubscribe),
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,7 @@ public class SQController : ControllerBase
|
||||||
{
|
{
|
||||||
var userId = _user.ID;
|
var userId = _user.ID;
|
||||||
|
|
||||||
var list = await _dbBase.Ado.SqlQueryAsync<SQReservationsApiDto>($"SELECT r.*, p.role AS Role, p.is_arrive, CASE WHEN r.status = 1 THEN 0 WHEN r.status = 2 THEN 1 WHEN r.status = 0 THEN 2 WHEN r.status = 3 THEN 3 END AS orderid FROM SQReservations r LEFT JOIN SQReservationParticipants p ON r.id = p.reservation_id WHERE r.status < 4 AND p.user_id = {userId} AND p.status = 0 AND DATEADD(day,2, end_time) > GETDATE() ORDER BY orderid asc, r.start_time ASC ");
|
var list = await _dbBase.Ado.SqlQueryAsync<SQReservationsApiDto>($"SELECT r.*, p.role AS Role, p.is_arrive, CASE WHEN r.status = 1 THEN 0 WHEN r.status = 2 THEN 1 WHEN r.status = 0 THEN 2 WHEN r.status = 3 THEN 3 END AS orderid FROM SQReservations r LEFT JOIN SQReservationParticipants p ON r.id = p.reservation_id WHERE r.status < 4 AND p.user_id = {userId} AND p.status = 0 AND DATEADD(day,2, end_time) > GETDATE() ORDER BY orderid asc, r.start_time Desc ");
|
||||||
if (list != null && list.Count > 0)
|
if (list != null && list.Count > 0)
|
||||||
{
|
{
|
||||||
var roomList = await _SQRoomsServices.GetRoomList();
|
var roomList = await _SQRoomsServices.GetRoomList();
|
||||||
|
|
@ -635,6 +635,82 @@ public class SQController : ControllerBase
|
||||||
Msg = "您已加入该预约"
|
Msg = "您已加入该预约"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
var user = _userServices.QueryById(userId);
|
||||||
|
// 2.0.1 校验用户条件 是否符合要求 如 性别(user.sex 1男2女) 年龄(user.birthday这个是生日 用生日去动态计算年龄) 信用分(credit_score)
|
||||||
|
//reservation.credit_limit 最低信誉分 同 用户表的的 信用分
|
||||||
|
// reservation.gender_limit 0 不限 1男 2 女
|
||||||
|
// 最大 和最小 年龄 0 不限制 reservation.max_age reservation.min_age
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
return new WebApiDto
|
||||||
|
{
|
||||||
|
Code = 404,
|
||||||
|
Data = null,
|
||||||
|
Msg = "用户不存在"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// 信誉分校验
|
||||||
|
if (reservation.credit_limit > 0 && user.credit_score < reservation.credit_limit)
|
||||||
|
{
|
||||||
|
return new WebApiDto
|
||||||
|
{
|
||||||
|
Code = 400,
|
||||||
|
Data = null,
|
||||||
|
Msg = $"您的信誉分不足,最低要求为{reservation.credit_limit}"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// 性别限制:0 不限,1 男,2 女
|
||||||
|
if (reservation.gender_limit == 1 || reservation.gender_limit == 2)
|
||||||
|
{
|
||||||
|
if (user.sex != reservation.gender_limit)
|
||||||
|
{
|
||||||
|
return new WebApiDto
|
||||||
|
{
|
||||||
|
Code = 400,
|
||||||
|
Data = null,
|
||||||
|
Msg = "您的性别不符合该预约要求"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 年龄限制(按生日计算实际年龄)
|
||||||
|
if (reservation.min_age > 0 || reservation.max_age > 0)
|
||||||
|
{
|
||||||
|
if (!user.birthday.HasValue)
|
||||||
|
{
|
||||||
|
return new WebApiDto
|
||||||
|
{
|
||||||
|
Code = 400,
|
||||||
|
Data = null,
|
||||||
|
Msg = "请先完善生日信息以校验年龄"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
var today = DateTime.Today;
|
||||||
|
var birth = user.birthday.Value.Date;
|
||||||
|
var age = today.Year - birth.Year;
|
||||||
|
if (birth > today.AddYears(-age)) age--;
|
||||||
|
|
||||||
|
if (reservation.min_age > 0 && age < reservation.min_age)
|
||||||
|
{
|
||||||
|
return new WebApiDto
|
||||||
|
{
|
||||||
|
Code = 400,
|
||||||
|
Data = null,
|
||||||
|
Msg = $"年龄小于最小限制:{reservation.min_age}岁"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (reservation.max_age > 0 && age > reservation.max_age)
|
||||||
|
{
|
||||||
|
return new WebApiDto
|
||||||
|
{
|
||||||
|
Code = 400,
|
||||||
|
Data = null,
|
||||||
|
Msg = $"年龄超过最大限制:{reservation.max_age}岁"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 2.1 校验用户是否有其它预约时间冲突
|
// 2.1 校验用户是否有其它预约时间冲突
|
||||||
// 2.1 校验用户是否有其它预约时间冲突(只查未开始或正在进行中的预约)
|
// 2.1 校验用户是否有其它预约时间冲突(只查未开始或正在进行中的预约)
|
||||||
|
|
@ -989,6 +1065,16 @@ public class SQController : ControllerBase
|
||||||
is_arrive = 2
|
is_arrive = 2
|
||||||
},
|
},
|
||||||
it => it.reservation_id == dto.reservation_id && it.status == 0 && falseUserIds.Contains(it.user_id));
|
it => it.reservation_id == dto.reservation_id && it.status == 0 && falseUserIds.Contains(it.user_id));
|
||||||
|
//添加鸽子次数
|
||||||
|
foreach (var user_id in falseUserIds)
|
||||||
|
{
|
||||||
|
var user = await _userServices.QueryByIdAsync(user_id);
|
||||||
|
if (user != null)
|
||||||
|
{
|
||||||
|
user.dove_count++;
|
||||||
|
}
|
||||||
|
await _userServices.UpdateAsync(user);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4) 确保发起者始终为已赴约(1)
|
// 4) 确保发起者始终为已赴约(1)
|
||||||
|
|
|
||||||
|
|
@ -1297,7 +1297,13 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||||
{
|
{
|
||||||
@params.Add("trade_type", "JSAPI_OFFICIAL");
|
@params.Add("trade_type", "JSAPI_OFFICIAL");
|
||||||
}
|
}
|
||||||
|
if (@params["money"].ToString() != "5" && @params["money"].ToString() != "10")
|
||||||
|
{
|
||||||
|
jm.status = false;
|
||||||
|
jm.msg = "参数不正确";
|
||||||
|
return jm;
|
||||||
|
}
|
||||||
|
@params["money"] = "0.01";
|
||||||
//生成支付单,并发起支付
|
//生成支付单,并发起支付
|
||||||
jm = await _billPaymentsServices.Pay("", "wechatpay", _user.ID, 6, @params);
|
jm = await _billPaymentsServices.Pay("", "wechatpay", _user.ID, 6, @params);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user