【新增】优惠券增加发放功能,可以将优惠券发放到特定用户内。

This commit is contained in:
大灰灰
2022-09-25 01:57:59 +08:00
parent 893fddddfc
commit 8deb3814fc
3 changed files with 188 additions and 3 deletions

View File

@@ -52,6 +52,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
private readonly ICoreCmsPromotionConditionServices _coreCmsPromotionConditionServices;
private readonly ICoreCmsPromotionResultServices _coreCmsPromotionResultServices;
private readonly ICoreCmsCouponServices _coreCmsCouponServices;
private readonly ICoreCmsUserServices _userServices;
private readonly ICoreCmsGoodsServices _goodsServices;
@@ -67,7 +68,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
, ICoreCmsUserGradeServices coreCmsUserGradeServices
, ICoreCmsPromotionConditionServices coreCmsPromotionConditionServices
, ICoreCmsPromotionResultServices coreCmsPromotionResultServices
, ICoreCmsCouponServices coreCmsCouponServices, ICoreCmsGoodsServices goodsServices)
, ICoreCmsCouponServices coreCmsCouponServices, ICoreCmsGoodsServices goodsServices, ICoreCmsUserServices userServices)
{
_webHostEnvironment = webHostEnvironment;
_coreCmsPromotionServices = coreCmsPromotionServices;
@@ -80,6 +81,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
_coreCmsPromotionResultServices = coreCmsPromotionResultServices;
_coreCmsCouponServices = coreCmsCouponServices;
_goodsServices = goodsServices;
_userServices = userServices;
}
#region ============================================================
@@ -415,6 +417,96 @@ namespace CoreCms.Net.Web.Admin.Controllers
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPromotion/GetGrant
/// <summary>
/// 分发优惠券
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("分发优惠券")]
public async Task<AdminUiCallBack> GetGrant([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsPromotionServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
jm.data = new
{
model
};
return jm;
}
#endregion
#region ============================================================
// POST: Admins/CoreCmsPromotion/DoGrant
/// <summary>
/// 分发优惠券提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("分发优惠券提交")]
public async Task<AdminUiCallBack> DoGrant([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _coreCmsPromotionServices.QueryByIdAsync(entity.id);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
if (entity.data == null)
{
jm.msg = "请输入合法的序列或手机号码";
return jm;
}
var userId = entity.data.ObjectToString();
CoreCmsUser user = null;
if (CommonHelper.IsMobile(userId))
{
user = await _userServices.QueryByClauseAsync(p => p.mobile == userId, true);
}
else
{
int id = 0;
var isInt = int.TryParse(userId, out id);
if (isInt && id > 0)
{
user = await _userServices.QueryByClauseAsync(p => p.id == id, true);
}
}
if (user == null)
{
jm.msg = "用户查询失败";
return jm;
}
var result = await _coreCmsCouponServices.AddData(user.id, entity.id, model);
//事物处理过程结束
var bl = result.status;
jm.code = bl ? 0 : 1;
jm.msg = bl ? "发放成功" : "发放失败";
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsPromotion/DoDelete/10
/// <summary>