Beispiel #1
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit hit = new RaycastHit();
            Ray        ray = cam.ScreenPointToRay(Input.mousePosition);
            if (Physics.Raycast(ray, out hit, 1000.0f))
            {
                fansController = hit.transform.GetComponent <FansController>();

                if (fansController)
                {
                    fansController.activateFan = true;
                    return;
                    //Debug.Log(fanControl.gameObject.name);
                }

                //bubbleActivator = hit.transform.GetComponent<BubbleActivator>();
                //if (bubbleActivator)
                //{
                //    bubbleActivator.HitBubble();
                //}
            }
        }
        else if (Input.GetMouseButtonUp(0))
        {
            if (fansController == null)
            {
                return;
            }
            fansController.activateFan = false;
        }
    }
Beispiel #2
0
    public override void Init(IModule module)
    {
        base.Init(module);

        IView view = InstantiateView <FansView>("Supporter/Prefabs/FansView");

        controller      = new FansController();
        controller.View = (FansView)view;
        RegisterController(controller);

        controller.Start();
    }
Beispiel #3
0
        /// <summary>
        /// 购买资格信息
        /// </summary>
        /// <param name="buyQualificationInfoModelGet"></param>
        /// <returns></returns>
        public IHttpActionResult QueryBuyQualificationInfo(BuyQualificationInfoModelGet buyQualificationInfoModelGet)
        {
            FansController fansController = new FansController();
            BuyQualificationInfoModelResult buyQualificationInfoModelResult = new BuyQualificationInfoModelResult();

            //buyQualificationInfoModelResult.FansGenerationCountModelResults =
            //    fansController.QueryAllFansVipInfo(buyQualificationInfoModelGet.UserId);
            buyQualificationInfoModelResult.FansVipCountModelResults =
                fansController.QueryFirstFansVipCount(buyQualificationInfoModelGet.UserId);
            return(Json(new ResultDataModel <BuyQualificationInfoModelResult> {
                Data = buyQualificationInfoModelResult
            }));
        }
        public IHttpActionResult GaveCommodityStoreOrder(StoreOrderModelGet_ modelGet)
        {
            try
            {
                if (modelGet.CommodityId < 0 || modelGet.Count < 1 || modelGet.ConsignorUserId < 0)
                {
                    return(Json(new ResultDataModel <StoreOrderModelResult> {
                        Code = 4010, Messages = "数据参数有误",
                    }));
                }
                modelGet.BuyUserId = 1;
                DataTable dtDataTable = _cloudMinerDal.QueryCloudMinerInfo(modelGet.CommodityId);
                CloudMinerInfoModelResult cloudMinerInfoModelResult = ModelConvertHelper <CloudMinerInfoModelResult> .ConvertToModel(dtDataTable).FirstOrDefault();

                if (cloudMinerInfoModelResult == null)
                {
                    LogHelper.error(string.Format("创建订单失败:商品已下架或不存在当前商品\n\r商品编号:{0} \n\r时间:{1:yyyy-MM-dd HH:mm:ss}", modelGet.CommodityId, DateTime.Now));
                    throw new Exception();
                }
                //if (cloudMinerInfoModelResult.Amount != modelGet.UnitPrice)
                //{
                //    LogHelper.error(string.Format("创建订单失败:订单金额与商品当前价格不一致\n\r商品编号:{0} \n\r时间:{1:yyyy-MM-dd HH:mm:ss}", modelGet.CommodityId, DateTime.Now));
                //    throw new Exception();
                //}

                DataTable dtUserVipInfo = _userInfoDal.QueryUserVipInfo(modelGet.ConsignorUserId);
                if (dtUserVipInfo.Rows.Count <= 0)
                {
                    LogHelper.error(string.Format("创建订单失败:用户VIP信息不存在\n\r用户编号:{0} \n\r时间:{1:yyyy-MM-dd HH:mm:ss}", modelGet.BuyUserId + "赠送给:" + modelGet.ConsignorUserId, DateTime.Now));
                    throw new Exception();
                }
                if (cloudMinerInfoModelResult.Rank > Convert.ToInt32(dtUserVipInfo.Rows[0]["Rank"]))
                {
                    LogHelper.error(string.Format("创建订单失败:用户等级不足,不能购买此商品\n\r用户编号:{0} \n\r时间:{1:yyyy-MM-dd HH:mm:ss}", modelGet.BuyUserId + "赠送给:" + modelGet.ConsignorUserId, DateTime.Now));
                    return(Json(new ResultDataModel <StoreOrderModelResult> {
                        Code = 4301, Messages = "不符合购买条件,请详阅产品购买规则"
                    }));
                }
                UserCloudMinerDal userCloudMinerDal = new UserCloudMinerDal();
                int userRunningCoun = userCloudMinerDal.QueryRunningCloudMinerCount(modelGet.ConsignorUserId, modelGet.CommodityId);
                if (cloudMinerInfoModelResult.PurchaseRestrictionCount < userRunningCoun + modelGet.Count)
                {
                    return(Json(new ResultDataModel <StoreOrderModelResult> {
                        Code = -1, Messages = "已超出购买数量限制"
                    }));
                }
                //获取商品粉丝直推粉丝各等级人数限制
                IList <BuyCommodityRuleFansVipModelResult> buyCommodityRuleFansModelResults = ModelConvertHelper <BuyCommodityRuleFansVipModelResult> .ConvertToModel(_cloudMinerDal.QueryBuyCommodityRuleFansVip(modelGet.CommodityId));

                FansController fansController = new FansController();
                //获取用户直推粉丝各等级人数
                IList <FansVipCountModelResult> fansVipCountModelResults =
                    fansController.QueryFirstFansVipCount(modelGet.ConsignorUserId);
                foreach (var item in buyCommodityRuleFansModelResults)
                {
                    if (item.Count > fansVipCountModelResults.Where(n => n.Rank >= item.Rank).Sum(s => s.FansCount))
                    {
                        return(Json(new ResultDataModel <StoreOrderModelResult> {
                            Code = 4301, Messages = "不符合购买条件,请详阅产品购买规则"
                        }));
                    }
                }

                ////获取商品粉丝直推粉丝各等级人数限制
                //IList<BuyCommodityRuleFansGenerationModelResult> buyCommodityRuleFansGenerationModelResults = ModelConvertHelper<BuyCommodityRuleFansGenerationModelResult>.ConvertToModel(_cloudMinerDal.QueryBuyCommodityRuleFansGeneration(modelGet.CommodityId));
                //IList<FansGenerationCountModelResult> fansGenerationCountModelResults =
                //    fansController.QueryAllFansVipInfo(modelGet.BuyUserId);
                //foreach (var item in buyCommodityRuleFansGenerationModelResults)
                //{
                //    if (item.GenerationCount > fansGenerationCountModelResults.Where(n => n.GenerationId >= item.GenerationId).Sum(s => s.GenerationCount))
                //    {
                //        return Json(new ResultDataModel<StoreOrderModelResult> { Code = 4301, Messages = "不符合购买条件,请详阅产品购买规则" });
                //    }
                //}

                DateTime dtNow = DateTime.Now;
                modelGet.TotalPrice = cloudMinerInfoModelResult.Amount * modelGet.Count;
                modelGet.UnitPrice  = cloudMinerInfoModelResult.Amount;
                string orderNo = GetTransactionNo(modelGet.Type, modelGet.BuyUserId);

                int orderId = new StoreOrderDal().InsertStoreOrderInfo(orderNo, modelGet.CommodityId, modelGet.Count,
                                                                       modelGet.UnitPrice, modelGet.TotalPrice, "01", dtNow.ToString("yyyy-MM-dd HH:mm:ss"), modelGet.BuyUserId, modelGet.ConsignorUserId);
                CreateGaveCommodityStoreOrderModelResult result = new CreateGaveCommodityStoreOrderModelResult();
                result.OrderNo = orderNo;
                result.OrderId = orderId;
                return(Json(new ResultDataModel <CreateGaveCommodityStoreOrderModelResult> {
                    Code = orderId > 0 ? 0 : -1, Messages = orderId > 0 ? "" : "创建订单失败", Data = result
                }));
            }
            catch (Exception)
            {
                return(Json(new ResultDataModel <StoreOrderModelResult> {
                    Code = 4001, Messages = "服务器内部出现错误"
                }));
            }
        }
Beispiel #5
0
 private void Start()
 {
     fansController = transform.parent.GetComponent <FansController>();
 }