Exemplo n.º 1
0
        /// <summary>
        /// 保存商品 如果id为0 则添加新纪录
        /// </summary>
        /// <param name="orders"></param>
        /// <returns>返回新插入的id,或者是否插入成功</returns>
        public static int SaveOrders(Orders orders)
        {
            var cmdText = string.Empty;
            List <MySqlParameter> parameters = new List <MySqlParameter>();

            if (orders.Id > 0)
            {
                cmdText = @"UPDATE Orders SET
                                        UserId                      = ?UserId        ,
                                        Gids                        = ?Gids          ,
                                        Imgs                        = ?Imgs          ,
                                        Nums                        = ?Nums          ,
                                        Titles                      = ?Titles        ,
                                        Contents                      = ?Contents        ,
                                        NowPrices                   = ?NowPrices     ,
                                        OriginalPrices              = ?OriginalPrices,
                                        TotalPrice                  = ?TotalPrice    ,
                                        StotalPrice                 = ?StotalPrice   ,
                                        Pid                         = ?Pid           ,
                                        OrderTime                   = ?OrderTime     ,
                                        OrderType                   = ?OrderType     ,
                                        OrderPeople                 = ?OrderPeople   ,
                                        CouponId                    = ?CouponId      ,
                                        CtotalPrice                 = ?CtotalPrice   ,
                                        Address                     = ?Address       ,
                                        LinkMan                     = ?LinkMan       ,
                                        Mobile                      = ?Mobile        ,
                                        Remark                      = ?Remark        ,
                                        Status                      = ?Status        ,
                                        SellerId                      = ?SellerId        ,
                                        Ccontent                      = ?Ccontent        ,
                                        CreateTime                  = ?CreateTime    ,
                                        Boxno                  = ?Boxno    ,
                                        CouponTitle                  = ?CouponTitle   ,
                                        SendPrice                  = ?SendPrice   ,
                                        FreeSendPrice                  = ?FreeSendPrice   ,
                                        HasDelivery                  = ?HasDelivery    
                                    WHERE
                                        Id = ?Id";
                parameters.Add(new MySqlParameter("?Id", orders.Id));
                parameters.Add(new MySqlParameter("?UserId", orders.UserId));
                parameters.Add(new MySqlParameter("?Gids", Utility.GetString(orders.GidList)));
                parameters.Add(new MySqlParameter("?Imgs", Utility.GetString(orders.ImgList)));
                parameters.Add(new MySqlParameter("?Nums", Utility.GetString(orders.NumList)));
                parameters.Add(new MySqlParameter("?Titles", Utility.GetString(orders.TitleList)));
                parameters.Add(new MySqlParameter("?Contents", Utility.GetString(orders.ContentList)));
                parameters.Add(new MySqlParameter("?NowPrices", Utility.GetString(orders.NowPriceList)));
                parameters.Add(new MySqlParameter("?OriginalPrices", Utility.GetString(orders.OriginalPriceList)));
                parameters.Add(new MySqlParameter("?TotalPrice", orders.TotalPrice));
                parameters.Add(new MySqlParameter("?StotalPrice", orders.StotalPrice));
                parameters.Add(new MySqlParameter("?Pid", orders.Pid));
                parameters.Add(new MySqlParameter("?OrderTime", orders.OrderTime));
                parameters.Add(new MySqlParameter("?OrderType", orders.OrderType));
                parameters.Add(new MySqlParameter("?OrderPeople", orders.OrderPeople));
                parameters.Add(new MySqlParameter("?CouponId", orders.CouponId));
                parameters.Add(new MySqlParameter("?CtotalPrice", orders.CtotalPrice));
                parameters.Add(new MySqlParameter("?Address", orders.Address));
                parameters.Add(new MySqlParameter("?LinkMan", orders.LinkMan));
                parameters.Add(new MySqlParameter("?Mobile", orders.Mobile));
                parameters.Add(new MySqlParameter("?Remark", orders.Remark));
                parameters.Add(new MySqlParameter("?Status", (int)orders.Status));
                parameters.Add(new MySqlParameter("?CreateTime", orders.CreateTime));
                parameters.Add(new MySqlParameter("?SellerId", orders.SellerId));
                parameters.Add(new MySqlParameter("?Ccontent", orders.Ccontent));
                parameters.Add(new MySqlParameter("?Boxno", orders.Boxno));
                parameters.Add(new MySqlParameter("?CouponTitle", orders.CouponTitle));
                parameters.Add(new MySqlParameter("?SendPrice", orders.SendPrice));
                parameters.Add(new MySqlParameter("?FreeSendPrice", orders.FreeSendPrice));
                parameters.Add(new MySqlParameter("?HasDelivery", orders.HasDelivery));

                if (orders.Status == OrderStatus.Pay)
                {
                    var merchant = MerchantHelper.GetMerchant(orders.SellerId);
                    if (merchant.HasPrint == 1)
                    {
                        //云打印
                        Utility.SendOrdersMsgToPrint(orders);
                    }
                    if (Utility._msg_opensend == "1")
                    {
                        if (merchant != null)
                        {
                            //订单付款  通知商户 有两个地方有
                            SendMsgClass3 jsobject = new SendMsgClass3();
                            jsobject.param1 = string.IsNullOrEmpty(merchant.Name) ? "商户名称为空" : merchant.Name;
                            jsobject.param2 = orders.Id.ToString();
                            jsobject.param3 = Utility._domainurl + "/view/dev/Index.aspx";

                            if (Utility.SendMsg(merchant.ManagerPhone, MsgTempleId.OrdersRemindMerchant, jsobject) != "发送成功")
                            {
                                logger.InfoFormat("短信模板:{0},Phone:{3},发送失败OrdersId:{1},SellerId:{2}",
                                                  (int)MsgTempleId.OrdersRemindMerchant, orders.Id, orders.SellerId, merchant.ManagerPhone);
                            }

                            //通知会员
                            var user = AccountHelper.GetUser(orders.UserId);
                            if (user != null)
                            {
                                SendMsgClass4 jsobject2 = new SendMsgClass4();
                                jsobject2.param1 = string.IsNullOrEmpty(user.UserName) ? user.Phone : user.UserName;
                                jsobject2.param2 = orders.Id.ToString();
                                jsobject2.param3 = orders.TotalPrice.ToString();
                                jsobject2.param4 = string.IsNullOrEmpty(merchant.Name) ? "商户名称为空" : merchant.Name;

                                if (Utility.SendMsg(user.Phone, MsgTempleId.OrdersFinish, jsobject2) != "发送成功")
                                {
                                    logger.InfoFormat("短信模板:{0},Phone:{3},发送失败OrdersId:{1},SellerId:{2}",
                                                      (int)MsgTempleId.OrdersFinish, orders.Id, orders.SellerId, user.Phone);
                                }
                            }
                            else
                            {
                                logger.InfoFormat("订单查找用户失败OrdersId:{0},UserId:{1}", orders.Id, orders.UserId);
                            }
                        }
                        else
                        {
                            logger.InfoFormat("订单查找商户失败OrdersId:{0},SellerId:{1}", orders.Id, orders.SellerId);
                        }
                    }
                }
            }
            else
            {
                cmdText = @"insert into Orders
                                        (
                                        UserId        ,
                                        Gids          ,
                                        Imgs          ,
                                        Nums          ,
                                        Titles        ,
                                        Contents        ,
                                        NowPrices     ,
                                        OriginalPrices,
                                        TotalPrice    ,
                                        StotalPrice   ,
                                        Pid           ,
                                        OrderTime     ,
                                        OrderType     ,
                                        OrderPeople   ,
                                        CouponId      ,
                                        CtotalPrice   ,
                                        Address       ,
                                        LinkMan       ,
                                        Mobile        ,
                                        Remark        ,
                                        Status         ,
                                        SellerId       ,
                                        Ccontent       ,
                                        CreateTime    ,
                                        CouponTitle    ,
                                        SendPrice    ,
                                        FreeSendPrice    ,
                                        HasDelivery    
                                        ) 
                                        values
                                        (
                                        ?UserId        ,
                                        ?Gids          ,
                                        ?Imgs          ,
                                        ?Nums          ,
                                        ?Titles        ,
                                        ?Contents        ,
                                        ?NowPrices     ,
                                        ?OriginalPrices,
                                        ?TotalPrice    ,
                                        ?StotalPrice   ,
                                        ?Pid           ,
                                        ?OrderTime     ,
                                        ?OrderType     ,
                                        ?OrderPeople   ,
                                        ?CouponId      ,
                                        ?CtotalPrice   ,
                                        ?Address       ,
                                        ?LinkMan       ,
                                        ?Mobile        ,
                                        ?Remark        ,
                                        ?Status        ,
                                        ?SellerId      ,
                                        ?Ccontent      ,
                                        ?CreateTime ,
                                        ?CouponTitle ,
                                        ?SendPrice ,
                                        ?FreeSendPrice ,
                                        ?HasDelivery 
                                        )";
                parameters.Add(new MySqlParameter("?UserId", orders.UserId));
                parameters.Add(new MySqlParameter("?Gids", Utility.GetString(orders.GidList)));
                parameters.Add(new MySqlParameter("?Imgs", Utility.GetString(orders.ImgList)));
                parameters.Add(new MySqlParameter("?Nums", Utility.GetString(orders.NumList)));
                parameters.Add(new MySqlParameter("?Titles", Utility.GetString(orders.TitleList)));
                parameters.Add(new MySqlParameter("?Contents", Utility.GetString(orders.ContentList)));
                parameters.Add(new MySqlParameter("?NowPrices", Utility.GetString(orders.NowPriceList)));
                parameters.Add(new MySqlParameter("?OriginalPrices", Utility.GetString(orders.OriginalPriceList)));
                parameters.Add(new MySqlParameter("?TotalPrice", orders.TotalPrice));
                parameters.Add(new MySqlParameter("?StotalPrice", orders.StotalPrice));
                parameters.Add(new MySqlParameter("?Pid", orders.Pid));
                parameters.Add(new MySqlParameter("?OrderTime", orders.OrderTime));
                parameters.Add(new MySqlParameter("?OrderType", orders.OrderType));
                parameters.Add(new MySqlParameter("?OrderPeople", orders.OrderPeople));
                parameters.Add(new MySqlParameter("?CouponId", orders.CouponId));
                parameters.Add(new MySqlParameter("?CtotalPrice", orders.CtotalPrice));
                parameters.Add(new MySqlParameter("?Address", orders.Address));
                parameters.Add(new MySqlParameter("?LinkMan", orders.LinkMan));
                parameters.Add(new MySqlParameter("?Mobile", orders.Mobile));
                parameters.Add(new MySqlParameter("?Remark", orders.Remark));
                parameters.Add(new MySqlParameter("?Status", (int)orders.Status));
                parameters.Add(new MySqlParameter("?CreateTime", orders.CreateTime));
                parameters.Add(new MySqlParameter("?SellerId", orders.SellerId));
                parameters.Add(new MySqlParameter("?Ccontent", orders.Ccontent));
                parameters.Add(new MySqlParameter("?CouponTitle", orders.CouponTitle));
                parameters.Add(new MySqlParameter("?SendPrice", orders.SendPrice));
                parameters.Add(new MySqlParameter("?FreeSendPrice", orders.FreeSendPrice));
                parameters.Add(new MySqlParameter("?HasDelivery", orders.HasDelivery));
            }
            try
            {
                using (var conn = Utility.ObtainConn(Utility._gameDbConn))
                {
                    var num = MySqlHelper.ExecuteNonQuery(conn, CommandType.Text, cmdText, parameters.ToArray());

                    if (orders.Id == 0)
                    {//插入 获得新id
                        //LAST_INSERT_ID是基于Connection的,只要每个线程都使用独立的Connection对象,LAST_INSERT_ID函数将
                        //返回该Connection对AUTO_INCREMENT列最新的insert or update*作生成的第一个record的ID。这个值不能
                        //被其它客户端(Connection)影响,保证了你能够找回自己的 ID 而不用担心其它客户端的活动,而且不需
                        //要加锁。
                        cmdText = @"select LAST_INSERT_ID();";
                        var reader = MySqlHelper.ExecuteReader(conn, CommandType.Text, cmdText);
                        if (reader.HasRows)
                        {
                            if (reader.Read())
                            {
                                num = reader.GetInt32(0);
                            }
                        }
                    }
                    return(num);
                }
            }
            catch (System.Exception ex)
            {
                throw;
            }
        }
Exemplo n.º 2
0
        private void Withdraw()
        {
            var item = new ExtractMoney();

            item.SellerId    = GetInt("sellerId");
            item.Money       = GetFloat("money");
            item.Bank        = GetString("bank");
            item.CardNumber  = GetLong("cardnumber");
            item.AccountName = GetString("accountname");
            item.CreateTime  = DateTime.Now;

            var user = AccountHelper.GetUser(item.SellerId);

            if (user == null)
            {
                throw new ArgumentNullException("user为空:" + item.SellerId);
            }
            if (item.CardNumber <= 0 || item.Bank.Length < 1 || item.AccountName.Length < 1)
            {
                ReturnErrorMsg("提现失败,卡号、开户行、开户名等信息是必填项,请填写正确");
            }


            //目前商户的用户信息分三张表存储
            //提现确认打款后才扣钱
            //user.Money -= item.Money;
            //AccountHelper.SaveAccount(user);

            //商家更新
            var seller = MerchantHelper.GetMerchant(item.SellerId);

            seller.CardNumber  = item.CardNumber;
            seller.Bank        = item.Bank;
            seller.AccountName = item.AccountName;
            float fee = ParamHelper.PlatformCfgData.SignList.FirstOrDefault(s => s.Id == seller.Sid).Prec *item.Money / 100;

            item.Fee = fee;
            if (seller.Money < (item.Money + item.Fee))
            {
                ReturnErrorMsg(string.Format("提现失败,没有这么多的资金可以提现,提现金额:{0},手续费:{1}", item.Money, item.Fee));
                return;
            }

            seller.Money = seller.Money - item.Money - item.Fee;
            MerchantHelper.SaveMerchant(seller);



            //提现表更新
            item.Balance     = seller.Money;
            item.UserAccount = user.UserName;//存储商户账户
            ExtractMoneyHelper.Create(item);
            ReturnCorrectMsg(string.Format("提现{0}申请成功,手续费:{1},请耐心等待后台人员处理", item.Money, item.Fee));

            //发短信
            if (Utility._msg_opensend == "1")
            //Utility.SendMsg(verificationCode.Code, verificationCode.Phone, Utility._modifyphone_message);
            {
                SendMsgClass4 jsobject = new SendMsgClass4();

                jsobject.param1 = string.IsNullOrEmpty(seller.Name) ? "商户名称为空" : seller.Name;
                jsobject.param2 = item.Money.ToString();
                jsobject.param3 = "3~5";
                jsobject.param4 = Utility._3vurl;

                if (Utility.SendMsg(seller.Phone, MsgTempleId.MerchantWithdraw, jsobject) != "发送成功")
                {
                    logger.InfoFormat("短信模板:{0},Phone:{3},发送失败merchantId:{1},Name:{2}",
                                      (int)MsgTempleId.MerchantWithdraw, seller.Id, seller.Name, seller.Phone);
                    //ReturnErrorMsg("短信发送失败");
                    //return;
                }
            }
            ReturnCorrectMsg(string.Format("提现{0}申请成功,手续费:{1},请耐心等待后台人员处理", item.Money, item.Fee));
        }