ajas获取html单击事件,MS-API。AJAS(示例代码)

//1.获取秒杀商品详情接口

[Route("api/GetProduct")]

[HttpGet]

public ProductInfo GetProduct(int productId = 1)

{

ProductInfo info = new ProductInfo();

info.PId = 1;

info.SPName = "Iphone Xs Max 黑色";

info.SPimage = @"/image/1.png";

info.MarkPrice = 6999.99m;

info.KillPrice = 1999.9m;

info.KillStartTime = DateTime.Now.AddMinutes(-30);

info.KillEndTime = DateTime.Now.AddHours(1);

info.KillStokCount = 100;

info.KillStokCount = productId * 100;

//把秒杀的库存写进Redis里面

SetRedisValue("KillStokCount-" + productId, "100");

return info;

}

//2.秒杀下单

private void SetRedisValue(string key,string value)

{

RedisClient redisClient = new RedisClient("127.0.0.1");

redisClient.Set(key, value);

}

///

/// 获取Redis中的值

///

///

///

private string GetRedisValue(string key)

{

RedisClient redisClient = new RedisClient("127.0.0.1");

return redisClient.Get(key);

}

///

/// 秒杀下单的接口

///

///

[HttpGet]

[Route("api/GetKill")]

public int KillOrder(OrderInfo order)

{

//res返回值表示

//1表示下单成功

//2表示库存不足

//3表示 三分钟之内只能点击一次

int res = 0;

#region 判断用户是不是在三分钟之内点击了一次,记录每次点击的时间

//同一个用户 在三分钟之内只能点击一次

//userId-1 2020-06-24 09:40:41

//userId-2 2020-06-24 09:41:20

var userKill = GetRedisValue("UserId-" + order.UserId);

if (!string.IsNullOrEmpty(userKill))

{

DateTime dateTime = Convert.ToDateTime(userKill);

var tmpvalue = DateTime.Now - dateTime;

if (tmpvalue.TotalMinutes < 3)

{

//用户三分钟之内只能点击一次

res = 3;

return res;

}

SetRedisValue("userId" + order.UserId, DateTime.Now.ToString());

}

else

{

//此处表示用户是第一次点击

SetRedisValue("userId" + order.UserId, DateTime.Now.ToString());

}

#endregion

#region 2.判断商品的库存够不够

ProductInfo info = new ProductInfo();

var maney = Convert.ToInt32(GetRedisValue("KillStokCount-" + info.PId));

if (maney > 0)

{

maney = maney - 1;

SetRedisValue("KillStokCount-" + info.PId, maney.ToString());

}

else

{

res = 2;

return res;

}

#endregion

return res;

}

}

------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值