.NET Web API 实现小程序产品加入购物车功能 判断是否有重复的 累加

请大佬帮忙看下 写法是否有问题 参数

postman测试可以的 小程序调用时还是重复添加

[HttpPost]
public async Task<IActionResult> Create(string productid,int quantity, WsUserCartViewModel model)
{
 var predicate = PredicateBuilder.True<WsUserCart>();
 predicate = predicate.And(a => a.Deleted == false);
    if (!string.IsNullOrEmpty(productid))
    {
            predicate = predicate.And(a => a.ProductId == productid);
    }
    var page = _wsUserCartService.GetPagedList(predicate, 1, 10000).Result;
    //查询是否有数据  条件ProductId(唯一的)
    if (page.Count==0)
    { //添加数据   
            if (ModelState.IsValid)
            {
                model.CreatedOn = DateTime.Now;
                model.UpdatedOn = DateTime.Now;
                await _wsUserCartService.AddViewModel(model);
            }
            return Ok(model);
    }
    else
    { //查询当前购物车列表 上面if里添加的这条数据 的数量  在下面 修改的时候 加上修改的数量 总数量=page1[0].Quantity+quantity
            var page1 = _wsUserCartService.GetPagedList(predicate, 1, 10000).Result;
            var id = page[0].Id;
            var ucmodel = await _wsUserCartService.GetViewModel(id);
            ucmodel.Quantity = page1[0].Quantity+quantity;
            await _wsUserCartService.UpdateViewModel(ucmodel);
            return Ok(ucmodel);
    }

}

图片说明

考虑下是不是并发导致,数据库或者代码层面加锁,比如数据库乐观锁,根据数据版本(Version)记录机制实现;代码也可以通过redis原子操作实现等