-海深不蓝森浓不绿 2019-08-27 16:19 采纳率: 0%
浏览 2093

微信小程序商品加入购物车重复

请问下该怎么做判断

    还需要调用接口吗?

    wx.request({
    url: api.CartAdd,
    method: 'POST', 
    data: { UserId:uid,ProductId: that.p_id , Quantity: that.data.number },
    complete:function(res){

      if (res.data != null) {
        wx.showToast({
          title: '添加成功'
        });

      that.setData({ 
        openAttr: !that.data.openAttr,
        cartGoodsCount:res.data.Quantity
      }); 

      }
      else{

        wx.showToast({
          image: '/images/icon_error.png',
          title: res.errMsg,
          mask: true
        });
      }
    }
  })


        .NET
        API:
[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);
        }

    }
  • 写回答

1条回答 默认 最新

  • 爱前端不爱恋爱 2019-08-27 17:07
    关注

    这个创建一个数组就可以了 判断商品是否存在 存在就累加数量 不存在就添加商品 数量为1

    评论

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突