err=models.DBService.Where("cart_identity=? and product_identity=? and spec_id = ? ",in.CartIdentity,in.ProductIdentity,in.SpecId).First(&cart).Error
iferr!=nil{
if!errors.Is(err,gorm.ErrRecordNotFound){
printer.Error(err.Error())
returnnil,errcode.ErrDB
}
}
vardata=models.OrderCart{
CartIdentity:in.CartIdentity,
ProductID:in.ProductId,
ProductArgs:in.ProductArgs,
Number:in.Number,
ProductIdentity:in.ProductIdentity,
SpecID:in.SpecId,
}
data.PassportIdentity=auth.Identity
data.Identity=utils.UUID()
ifcart.ID==0{
err=models.DBService.Create(&data).Error
}else{
data.Number+=cart.Number
err=models.DBService.Where("cart_identity=? and product_identity=? and spec_id = ? ",in.CartIdentity,in.ProductIdentity,in.SpecId).Updates(&data).Error