예제 #1
0
        public void GetPointChange()
        {
            string flag = "";

            try
            {
                int       pageIndex     = (this.Request["pageIndex"] == null) ? 2 : int.Parse(this.Request["pageIndex"]);
                int       pageSize      = (this.Request["pageSize"] == null) ? 5 : int.Parse(this.Request["pageSize"]);
                string    MemWeiXinCard = this.Request["MemWeiXinCard"];
                string    strWhere      = "MemWeiXinCard='" + MemWeiXinCard + "' and PointLog.PointShopID = SysShop.ShopID and PointLog.PointMemID = Mem.MemID and Mem.MemLevelID=MemLevel.LevelID and PointLog.PointUserID = SysUser.UserID";
                int       count;
                DataTable dt = new Chain.BLL.PointLog().GetListSP(pageSize, pageIndex, out count, new string[]
                {
                    strWhere
                }).Tables[0];
                flag = JsonPlus.ToJson(dt, "PointNumber,PointRemark,PointCreateTime");
            }
            catch
            {
            }
            this.Response.Write(flag);
        }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            WxPayData notifyData = new Notify(this.Page).GetNotifyData();

            if (!notifyData.IsSet("transaction_id"))
            {
                WxPayData res = new WxPayData();
                res.SetValue("return_code", "FAIL");
                res.SetValue("return_msg", "支付结果中微信订单号不存在");
                Log.Error(base.GetType().ToString(), "The Pay result is error : " + res.ToXml());
                this.Page.Response.Write(res.ToXml());
                this.Page.Response.End();
            }
            string transaction_id = notifyData.GetValue("transaction_id").ToString();
            string out_trade_no   = notifyData.GetValue("out_trade_no").ToString();

            if (!this.QueryOrder(transaction_id))
            {
                WxPayData res = new WxPayData();
                res.SetValue("return_code", "FAIL");
                res.SetValue("return_msg", "订单查询失败");
                Log.Error(base.GetType().ToString(), "Order query failure : " + res.ToXml());
                this.Page.Response.Write(res.ToXml());
                this.Page.Response.End();
            }
            else
            {
                string   attach = notifyData.GetValue("attach").ToString();
                string[] data   = attach.Split(new char[]
                {
                    ','
                });
                Chain.BLL.PointLog bllPoint = new Chain.BLL.PointLog();
                int     intUserID           = 1;
                int     intUserShopID       = 1;
                int     intMemID            = int.Parse(data[0]);
                decimal money           = decimal.Parse(data[1]);
                decimal giveMoney       = decimal.Parse(data[2]);
                string  rechargeAccount = data[3];
                int     point           = int.Parse(data[4]);
                int     count           = new Chain.BLL.MemRecharge().GetRecordCount("RechargeAccount='" + rechargeAccount + "'");
                if (count <= 0)
                {
                    if (money + giveMoney <= 0m)
                    {
                        this.Context.Response.Write("-6");
                    }
                    else
                    {
                        string               strRemark   = "无";
                        DateTime             createTime  = DateTime.Now;
                        Chain.BLL.Mem        bllMem      = new Chain.BLL.Mem();
                        Chain.Model.Mem      modelMem    = bllMem.GetModel(intMemID);
                        Chain.BLL.PointLog   bllPoingLog = new Chain.BLL.PointLog();
                        Chain.Model.PointLog mdPoint     = new Chain.Model.PointLog();
                        string               Remark      = string.Concat(new object[]
                        {
                            "会员微信充值,充值金额:[",
                            money.ToString(),
                            "],赠送:[",
                            giveMoney,
                            "],备注:",
                            strRemark
                        });
                        decimal sumMoney = money + giveMoney;
                        Chain.Model.MemRecharge mdRechange = new Chain.Model.MemRecharge();
                        mdRechange.RechargeMemID       = intMemID;
                        mdRechange.RechargeAccount     = rechargeAccount;
                        mdRechange.RechargeMoney       = money + giveMoney;
                        mdRechange.RechargeShopID      = intUserShopID;
                        mdRechange.RechargeUserID      = intUserID;
                        mdRechange.RechargeCreateTime  = createTime;
                        mdRechange.RechargeIsApprove   = true;
                        mdRechange.RechargeRemark      = strRemark;
                        mdRechange.RechargePoint       = point;
                        mdRechange.RechargeType        = 6;
                        mdRechange.RechargeGive        = giveMoney;
                        mdRechange.RechargeCardBalance = modelMem.MemMoney + sumMoney;
                        int flag = new Chain.BLL.MemRecharge().Add(mdRechange);
                        modelMem.MemMoney += sumMoney;
                        modelMem.MemPoint += point;
                        bllMem.Update(modelMem);
                        Chain.Model.MoneyChangeLog moneyChangeLogModel = new Chain.Model.MoneyChangeLog();
                        moneyChangeLogModel.MoneyChangeMemID      = modelMem.MemID;
                        moneyChangeLogModel.MoneyChangeUserID     = intUserID;
                        moneyChangeLogModel.MoneyChangeType       = 1;
                        moneyChangeLogModel.MoneyChangeAccount    = rechargeAccount;
                        moneyChangeLogModel.MoneyChangeMoney      = sumMoney;
                        moneyChangeLogModel.MemMoney              = modelMem.MemMoney;
                        moneyChangeLogModel.MoneyChangeCreateTime = DateTime.Now;
                        moneyChangeLogModel.MoneyChangeGiveMoney  = giveMoney;
                        new Chain.BLL.MoneyChangeLog().Add(moneyChangeLogModel);
                        mdPoint.PointMemID      = modelMem.MemID;
                        mdPoint.PointNumber     = point;
                        mdPoint.PointChangeType = 15;
                        mdPoint.PointRemark     = string.Concat(new object[]
                        {
                            "会员充值,充值金额:[",
                            money,
                            "],获得积分:[",
                            point,
                            "]"
                        });
                        mdPoint.PointShopID     = intUserShopID;
                        mdPoint.PointCreateTime = DateTime.Now;
                        mdPoint.PointUserID     = intUserID;
                        mdPoint.PointOrderCode  = rechargeAccount;
                        bllPoint.Add(mdPoint);
                        if (PubFunction.curParameter.bolShopPointManage)
                        {
                            PubFunction.SetShopPoint(intUserID, intUserShopID, point, "会员充值扣除店铺积分", 2);
                        }
                        MEMPointUpdate.MEMPointRate(modelMem, point, rechargeAccount, 15, intUserID, intUserShopID);
                        modelMem = new Chain.BLL.Mem().GetModel(modelMem.MemID);
                        PubFunction.UpdateMemLevel(modelMem);
                        WxPayData res = new WxPayData();
                        res.SetValue("return_code", "SUCCESS");
                        res.SetValue("return_msg", "OK");
                        Log.Info(base.GetType().ToString(), "order query success : " + res.ToXml());
                        this.Page.Response.Write(res.ToXml());
                        this.Page.Response.End();
                    }
                }
            }
        }
예제 #3
0
    public static void PointRateUpdate(Chain.Model.Mem mem, int point, int pointType, int mymemID, Chain.Model.SysUser User, string OrderAccount)
    {
        if (MEMPointUpdate.NowRateLevel <= MEMPointUpdate.RateLevel && mem.MemRecommendID != 0)
        {
            Chain.Model.Mem TEMPMEM = MEMPointUpdate.bll.GetModel(mem.MemRecommendID);
            if (TEMPMEM != null)
            {
                int temp = 0;
                if (MEMPointUpdate.RateType)
                {
                    temp = Convert.ToInt32(decimal.Truncate(point * (MEMPointUpdate.MEMRate[MEMPointUpdate.NowRateLevel - 1] / 100m)));
                }
                else
                {
                    temp = Convert.ToInt32(MEMPointUpdate.MEMRate[MEMPointUpdate.NowRateLevel - 1]);
                }
                if (PubFunction.IsShopPoint(User.UserShopID, ref temp))
                {
                    TEMPMEM.MemPoint += temp;
                    int flag = MEMPointUpdate.bll.Update(TEMPMEM);
                    MEMPointUpdate.sumPoint += temp;
                    if (flag == 1)
                    {
                        PubFunction.UpdateMemLevel(TEMPMEM);
                        Chain.Model.PointLog modelPoint = new Chain.Model.PointLog();
                        modelPoint.PointMemID      = TEMPMEM.MemID;
                        modelPoint.PointNumber     = temp;
                        modelPoint.PointChangeType = 9;
                        modelPoint.PointShopID     = TEMPMEM.MemShopID;
                        modelPoint.PointCreateTime = DateTime.Now;
                        modelPoint.PointUserID     = TEMPMEM.MemUserID;
                        modelPoint.PointOrderCode  = MEMPointUpdate.PointOrderCode;
                        modelPoint.PointGiveMemID  = mymemID;
                        switch (pointType)
                        {
                        case -1:
                            modelPoint.PointRemark = string.Concat(new object[]
                            {
                                "卡号:",
                                MEMPointUpdate.MEMCard,
                                ",姓名:",
                                MEMPointUpdate.MEMName,
                                "的会员商品消费退货,获得积分:[",
                                temp,
                                "]"
                            });
                            break;

                        case 0:
                        case 4:
                            break;

                        case 1:
                            modelPoint.PointRemark = string.Concat(new object[]
                            {
                                "卡号:",
                                MEMPointUpdate.MEMCard,
                                ",姓名:",
                                MEMPointUpdate.MEMName,
                                "的会员商品消费,获得积分:[",
                                temp,
                                "]"
                            });
                            break;

                        case 2:
                            modelPoint.PointRemark = string.Concat(new object[]
                            {
                                "卡号:",
                                MEMPointUpdate.MEMCard,
                                ",姓名:",
                                MEMPointUpdate.MEMName,
                                "的会员快速消费,获得积分:[",
                                temp,
                                "]"
                            });
                            break;

                        case 3:
                            modelPoint.PointRemark = string.Concat(new object[]
                            {
                                "卡号:",
                                MEMPointUpdate.MEMCard,
                                ",姓名:",
                                MEMPointUpdate.MEMName,
                                "的会员充次,获得积分:[",
                                temp,
                                "]"
                            });
                            break;

                        case 5:
                            modelPoint.PointRemark = string.Concat(new object[]
                            {
                                "卡号:",
                                MEMPointUpdate.MEMCard,
                                ",姓名:",
                                MEMPointUpdate.MEMName,
                                "的会员注册,获得积分:[",
                                temp,
                                "]"
                            });
                            break;

                        case 6:
                            modelPoint.PointRemark = string.Concat(new object[]
                            {
                                "卡号:",
                                MEMPointUpdate.MEMCard,
                                ",姓名:",
                                MEMPointUpdate.MEMName,
                                "的会员手动增加积分,获得积分:[",
                                temp,
                                "]"
                            });
                            break;

                        default:
                            switch (pointType)
                            {
                            case 14:
                                modelPoint.PointRemark = string.Concat(new object[]
                                {
                                    "卡号:",
                                    MEMPointUpdate.MEMCard,
                                    ",姓名:",
                                    MEMPointUpdate.MEMName,
                                    "的会员充时增加积分,获得积分:[",
                                    temp,
                                    "]"
                                });
                                break;

                            case 15:
                                modelPoint.PointRemark = string.Concat(new object[]
                                {
                                    "卡号:",
                                    MEMPointUpdate.MEMCard,
                                    ",姓名:",
                                    MEMPointUpdate.MEMName,
                                    "的会员充值增加积分,获得积分:[",
                                    temp,
                                    "]"
                                });
                                break;
                            }
                            break;
                        }
                        Chain.BLL.PointLog bllPoint = new Chain.BLL.PointLog();
                        bllPoint.Add(modelPoint);
                        PubFunction.SaveSysLog(TEMPMEM.MemUserID, 3, "会员积分提成", "会员" + TEMPMEM.MemName + "积分提成成功", TEMPMEM.MemShopID, DateTime.Now, PubFunction.ipAdress);
                    }
                    MEMPointUpdate.NowRateLevel++;
                    MEMPointUpdate.PointRateUpdate(TEMPMEM, point, pointType, mymemID, User, OrderAccount);
                }
            }
        }
    }