示例#1
0
        /// <summary>
        /// 提交商品数据
        /// </summary>
        /// <returns></returns>
        public JsonResult AjaxAddGoods()
        {
            string     userToken = CurrentToken;
            string     goods     = Request["goods"];
            string     del_items = Request["del_items"] ?? "";
            RespResult response  = new RespResult();

            if (string.IsNullOrEmpty(goods))
            {
                response.Error        = DataStructure.AppError.ERROR_INVALID_PARAMETER;
                response.ErrorMessage = "数据丢失!";
            }
            else
            {
                try
                {
                    ProductModel product = JsonHelper.Deserialize <ProductModel>(goods);
                    product.QQ    = product.QQ == "QQ" ? string.Empty : product.QQ;
                    product.Phone = product.Phone == "手机号" ? string.Empty : product.Phone;
                    if (!string.IsNullOrEmpty(CurrentToken))
                    {
                        userToken = CurrentToken;
                    }
                    //未登录的情况(先注册)
                    else
                    {
                        string            username   = string.IsNullOrEmpty(product.Phone) || product.Phone == "手机号" ? product.QQ : product.Phone;
                        UserServiceClient userclient = new UserServiceClient();
                        try
                        {
                            response = userclient.Register(username, SecurityHelper.MD5("000000"));
                            if (response.Error == AppError.ERROR_SUCCESS)
                            {
                                AdvancedResult <string> regLogin = userclient.Login(username, SecurityHelper.MD5("000000"));
                                userToken = regLogin.Data;
                            }
                        }
                        finally
                        {
                            userclient.Close();
                            userclient = null;
                        }
                    }

                    ProductServiceClient client = new ProductServiceClient();

                    if (product == null)
                    {
                        response.Error        = DataStructure.AppError.ERROR_INVALID_PARAMETER;
                        response.ErrorMessage = "无效数据!";
                    }
                    else
                    {
                        AdvancedResult <int> productResponse;
                        if (product.Id > 0)
                        {
                            RespResult result = client.EditBBPostInfo(product.Id, product.Title, product.QQ, product.Phone, product.Description, product.IsWash, product.Price, product.Age, product.ItemType, product.ItemSort, product.Sex, userToken);
                            productResponse              = new AdvancedResult <int>();
                            productResponse.Data         = product.Id;
                            productResponse.Error        = result.Error;
                            productResponse.ErrorMessage = result.ErrorMessage;
                            productResponse.ExMessage    = result.ExMessage;
                        }
                        else
                        {
                            productResponse = client.publishBBPost(product.Title, product.QQ, product.Phone, product.Description, product.IsWash, product.Price, product.Age, product.ItemType, product.ItemSort, product.Sex, userToken);
                        }

                        if (productResponse.Error == DataStructure.AppError.ERROR_SUCCESS)
                        {
                            foreach (var pitem in product.Pics)
                            {
                                //if (pitem.Pid > 0)
                                //{
                                //    client.EditeBBPic(pitem.Pid, pitem.PicId, CurrentToken);
                                //}
                                //else
                                //{
                                client.BindBBPic(productResponse.Data, pitem.PicId, userToken);
                                //}
                            }
                        }
                        response.ErrorMessage = productResponse.ErrorMessage;
                        response.ExMessage    = productResponse.ExMessage;
                        response.Error        = productResponse.Error;
                    }
                    int[] delItemsList = del_items.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(a => Convert.ToInt32(a)).Where(a => a > 0).ToArray();
                    foreach (int itemId in delItemsList)
                    {
                        client.DeleteBBPic(itemId, userToken);
                    }
                    client.Close();
                    client = null;
                }
                catch (Exception ex)
                {
                    response.ExMessage = "保存失败!" + ex.Message;
                    response.Error     = DataStructure.AppError.ERROR_FAILED;
                }
            }
            return(Json(response));
        }