コード例 #1
0
        private string AddUserPayment(FlashDealItem item, int userId, miniAppBuyMode payWay, int payPrice, int payOrderId = 0, int buyCount = 0)
        {
            FlashDeal    deal     = FlashDealBLL.SingleModel.GetModel(item.DealId);
            DealSnapshot snapshot = JsonConvert.DeserializeObject <DealSnapshot>(JsonConvert.SerializeObject(deal));

            //支付方式
            snapshot.PayWay = payWay.ToString();
            //支付物品
            snapshot.ItemTitle = item.Title;
            //物品原价
            snapshot.OrigPrice = item.OrigPrice;
            //插入支付记录
            FlashDealPayment payRecord = new FlashDealPayment
            {
                AddTime    = DateTime.Now,
                DealId     = deal.Id,
                ItemId     = item.Id,
                UserId     = userId,
                Aid        = item.Aid,
                PayWay     = (int)payWay,
                PayPrice   = payPrice,
                PayOrderId = payOrderId,
                Snapshot   = JsonConvert.SerializeObject(snapshot),
                BuyCount   = buyCount,
            };

            return(BuildAddSql(payRecord));
        }
コード例 #2
0
        public bool AddByFlashItem(FlashDealItem flashItem, C_UserInfo user, TmpType pageType = TmpType.小程序电商模板)
        {
            FlashDeal flashDeal = FlashDealBLL.SingleModel.GetModel(flashItem.DealId);

            object sendContent = new
            {
                keyword1 = new { value = "限时秒杀开始啦!", color = "#000000" },               //交易类型
                keyword2 = new { value = flashDeal.Title, color = "#000000" },          //活动信息
                keyword3 = new { value = flashItem.Title, color = "#000000" },          //商品信息
                keyword4 = new { value = flashDeal.End.ToString(), color = "#000000" }, //到期日
            };

            SubscribeMessage newMsg = new SubscribeMessage
            {
                State       = (int)SubscribeMsgState.等待发送,
                Template    = (int)SendTemplateMessageTypeEnum.秒杀开始通知,
                ContentType = (int)SubscribeMsgType.小程序模板消息,
                UserId      = user.Id,
                SourceId    = flashDeal.Id,
                OpenId      = user.OpenId,
                PageType    = (int)pageType,
                SendTime    = flashDeal.Begin,
                SendContent = JsonConvert.SerializeObject(sendContent)
            };

            int newId = 0;

            return(int.TryParse(Add(newMsg).ToString(), out newId) && newId > 0);
        }
コード例 #3
0
ファイル: FlashDealController.cs プロジェクト: soon14/vzan
        public JsonResult DeleteItem(XcxAppAccountRelation authData, int flashDealId = 0, List <FlashDealItem> deleteItem = null)
        {
            if (deleteItem == null)
            {
                return(ReturnJson(message: "请完善填写秒杀商品设置"));
            }

            FlashDeal belongDeal = FlashDealBLL.SingleModel.GetModel(flashDealId);

            if (belongDeal == null)
            {
                return(ReturnJson(message: "秒杀活动不存在"));
            }
            if (!FlashDealBLL.SingleModel.Editable(belongDeal))
            {
                return(ReturnJson(message: "秒杀活动未下架,不可编辑"));
            }

            if (FlashDealItemBLL.SingleModel.GetByDealId(flashDealId)?.Count == 1)
            {
                return(ReturnJson(message: "不可删除,活动需要至少一个秒杀商品"));
            }
            string errorMsg = string.Empty;

            if (deleteItem.Exists(item => item.Aid != belongDeal.Aid || item.DealId != belongDeal.Id))
            {
                return(ReturnJson(message: "非法操作"));
            }

            bool result = FlashDealItemBLL.SingleModel.DelItems(items: deleteItem);

            return(ReturnJson(isOk: result, message: result ? "删除成功" : "删除失败"));
        }
コード例 #4
0
ファイル: FlashDealController.cs プロジェクト: soon14/vzan
        public JsonResult AddItem(XcxAppAccountRelation authData, int flashDealId = 0, List <FlashDealItem> newItem = null)
        {
            if (newItem == null)
            {
                return(ReturnJson(message: "请完善填写秒杀商品设置"));
            }

            FlashDeal belongDeal = FlashDealBLL.SingleModel.GetModel(flashDealId);

            if (belongDeal == null)
            {
                return(ReturnJson(message: "秒杀活动不存在"));
            }
            if (!FlashDealBLL.SingleModel.Editable(belongDeal))
            {
                return(ReturnJson(message: "秒杀活动未下架,不可编辑"));
            }


            string errorMsg = string.Empty;

            if (newItem.Exists(item => !FlashDealItemBLL.SingleModel.CheckInputVaild(item, out errorMsg)))
            {
                return(ReturnJson(message: errorMsg));
            }
            if (FlashDealItemBLL.SingleModel.CheckRepeatItem(newItems: newItem, authData: authData))
            {
                return(ReturnJson(message: "添加失败,活动商品重复"));
            }

            bool result = FlashDealItemBLL.SingleModel.AddItems(newItems: newItem, deal: belongDeal);

            return(ReturnJson(isOk: result, message: result ? "添加成功" : "添加失败"));
        }
コード例 #5
0
ファイル: FlashDealController.cs プロジェクト: soon14/vzan
        public JsonResult onShelf(XcxAppAccountRelation authData, int?flashDealId = null)
        {
            if (!flashDealId.HasValue || flashDealId.Value <= 0)
            {
                return(ReturnJson(message: "非法参数"));
            }

            FlashDeal updateDeal = FlashDealBLL.SingleModel.GetModel(flashDealId.Value);

            if (!FlashDealBLL.SingleModel.CheckAuth(authData, updateDeal) || !FlashDealBLL.SingleModel.CheckOnShelf(updateDeal))
            {
                return(ReturnJson(message: "非法操作"));
            }
            if (updateDeal.End <= DateTime.Now)
            {
                return(ReturnJson(message: "活动结束日期小于当前时间,请重新调整"));
            }

            bool result = false;

            if (updateDeal.Begin <= DateTime.Now)
            {
                result = FlashDealBLL.SingleModel.StartNow(updateDeal);
            }
            else
            {
                result = FlashDealBLL.SingleModel.UpdateOnShelf(updateDeal);
            }
            return(ReturnJson(isOk: result, message: result ? "更新成功" : "更新失败"));
        }
コード例 #6
0
ファイル: FlashDealController.cs プロジェクト: soon14/vzan
        public JsonResult Add(XcxAppAccountRelation authData = null, FlashDeal inputDeal = null, List <FlashDealItem> inputItem = null)
        {
            if (inputDeal == null || inputItem == null || inputItem.Count == 0)
            {
                return(ReturnJson(message: "请完善填写秒杀设置"));
            }

            string errorMsg = string.Empty;

            if (!FlashDealBLL.SingleModel.CheckInputVaild(inputDeal, out errorMsg))
            {
                return(ReturnJson(message: errorMsg));
            }

            if (inputItem.Exists(item => !FlashDealItemBLL.SingleModel.CheckInputVaild(item, out errorMsg)))
            {
                return(ReturnJson(message: errorMsg));
            }
            inputDeal.Aid = authData.Id;
            inputItem.ForEach(item => { item.Aid = authData.Id; });

            var result = FlashDealBLL.SingleModel.AddNewDeal(inputDeal, inputItem);

            return(ReturnJson(isOk: result, message: result ? "添加成功" : "添加失败"));
        }
コード例 #7
0
        public bool UpdateSendTime(FlashDeal flashDeal)
        {
            List <FlashDealItem> updateItems = FlashDealItemBLL.SingleModel.GetByDealId(flashDeal.Id);
            List <string>        updateSql   = new List <string>();

            updateItems.ForEach(flashItem =>
            {
                List <string> sql = BuildUpdateSendTimeSql(flashItem.Id, SendTemplateMessageTypeEnum.秒杀开始通知, flashDeal.Begin);
                if (sql?.Count > 0)
                {
                    updateSql.AddRange(sql);
                }
            });
            TransactionModel tran = new TransactionModel();

            tran.Add(updateSql.ToArray());
            return(ExecuteTransactionDataCorect(tran.sqlArray, tran.ParameterArray));
        }
コード例 #8
0
ファイル: FlashDealController.cs プロジェクト: soon14/vzan
        public JsonResult Delete(XcxAppAccountRelation authData, int flashDealId = 0)
        {
            if (flashDealId <= 0)
            {
                return(ReturnJson(message: "无效参数_flashDealId"));
            }

            string    errorMsg   = string.Empty;
            FlashDeal deleteDeal = FlashDealBLL.SingleModel.GetModel(flashDealId);

            if (!FlashDealBLL.SingleModel.Editable(deleteDeal))
            {
                return(ReturnJson(message: "不可删除"));
            }

            bool result = FlashDealBLL.SingleModel.DeleteDeal(deleteDeal);

            return(ReturnJson(isOk: result, message: result ? "更新成功" : "更新失败"));
        }
コード例 #9
0
ファイル: FlashDealController.cs プロジェクト: soon14/vzan
        public JsonResult Start(XcxAppAccountRelation authData, int?flashDealId = null)
        {
            if (!flashDealId.HasValue || flashDealId.Value <= 0)
            {
                return(ReturnJson(message: "非法参数"));
            }

            string    errorMsg   = string.Empty;
            FlashDeal updateDeal = FlashDealBLL.SingleModel.GetModel(flashDealId.Value);

            if (!FlashDealBLL.SingleModel.CheckAuth(authData, updateDeal) || !FlashDealBLL.SingleModel.CheckForStart(updateDeal))
            {
                return(ReturnJson(message: "非法操作"));
            }

            bool result = FlashDealBLL.SingleModel.StartNow(updateDeal);

            return(ReturnJson(isOk: result, message: result ? "更新成功" : "更新失败"));
        }
コード例 #10
0
ファイル: FlashDealController.cs プロジェクト: soon14/vzan
        public JsonResult UpdateItem(XcxAppAccountRelation authData, FlashDealItem dealItem = null)
        {
            if (dealItem == null || dealItem.DealId <= 0)
            {
                return(ReturnJson(message: "请完善填写秒杀商品设置"));
            }

            FlashDeal belongDeal = FlashDealBLL.SingleModel.GetModel(dealItem.DealId);

            if (belongDeal == null)
            {
                return(ReturnJson(message: "秒杀活动数据异常:NULL"));
            }
            if (!FlashDealBLL.SingleModel.Editable(belongDeal))
            {
                return(ReturnJson(message: "秒杀活动未下架,不可编辑"));
            }


            string errorMsg = string.Empty;

            if (!FlashDealItemBLL.SingleModel.CheckInputVaild(dealItem, out errorMsg))
            {
                return(ReturnJson(message: errorMsg));
            }

            bool result = false;

            if (dealItem.Id > 0)
            {
                result = FlashDealItemBLL.SingleModel.UpdateItem(dealItem);
            }
            else
            {
                result = FlashDealItemBLL.SingleModel.AddItem(item: dealItem, deal: belongDeal);
            }

            return(ReturnJson(isOk: result, message: result ? "添加成功" : "添加失败"));
        }
コード例 #11
0
ファイル: FlashDealController.cs プロジェクト: soon14/vzan
        public JsonResult Update(XcxAppAccountRelation authData, FlashDeal updateDeal = null)
        {
            if (updateDeal == null)
            {
                return(ReturnJson(message: "请完善填写秒杀设置"));
            }

            string errorMsg = string.Empty;

            if (!FlashDealBLL.SingleModel.CheckInputVaild(updateDeal, out errorMsg))
            {
                return(ReturnJson(message: errorMsg));
            }
            if (!FlashDealBLL.SingleModel.Editable(FlashDealBLL.SingleModel.GetModel(updateDeal.Id)))
            {
                return(ReturnJson(message: "非法操作"));
            }

            bool result = FlashDealBLL.SingleModel.UpdateDeal(updateDeal);

            return(ReturnJson(isOk: result, message: result ? "更新成功" : "更新失败"));
        }
コード例 #12
0
        //public bool UpdateSendTime(FlashDealItem flashItem, DateTime newSendTime)
        //{
        //    List<string> updateSql = BuildUpdateSendTimeSql(flashItem.Id, SendTemplateMessageTypeEnum.秒杀开始通知, newSendTime);
        //    if (updateSql == null || updateSql.Count == 0)
        //    {
        //        return true;
        //    }

        //    TransactionModel tran = new TransactionModel();
        //    tran.Add(updateSql.ToArray());
        //    return ExecuteTransactionDataCorect(tran.sqlArray, tran.ParameterArray);
        //}

        public bool DeleteSubscribe(FlashDeal flashDeal)
        {
            return(DeleteSubscribe(flashDeal.Id, SendTemplateMessageTypeEnum.秒杀开始通知));
        }