Ejemplo n.º 1
0
        /// <summary>
        /// 获取签名
        /// </summary>
        /// <param name="reqEleme"></param>
        /// <param name="websiteModel"></param>
        /// <returns></returns>
        public string GetSign(ElemeRequset reqEleme, WebsiteInfo websiteModel)
        {
            SortedDictionary <string, string> dic = new SortedDictionary <string, string>();

            dic.Add("appId", reqEleme.appId.ToString());
            dic.Add("requestId", reqEleme.requestId);
            dic.Add("type", reqEleme.type.ToString());
            dic.Add("message", reqEleme.message);
            dic.Add("shopId", reqEleme.shopId.ToString());
            dic.Add("timestamp", reqEleme.timestamp.ToString());
            dic.Add("userId", reqEleme.userId.ToString());
            string signo = string.Empty;

            foreach (var item in dic)
            {
                signo += string.Format("{0}={1}", item.Key, item.Value);
            }
            if (websiteModel != null && !string.IsNullOrEmpty(websiteModel.ElemeAppSecret))
            {
                signo += websiteModel.ElemeAppSecret;
            }
            string value = ZentCloud.Common.DEncrypt.GetMD5(signo, "UTF-8").ToUpper();

            return(value);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 商户同意取消申请 type=23
        /// </summary>
        public void MerchantAgreeCencel(ElemeRequset reqEleme, WebsiteInfo websiteModel)
        {
            ToLog("商户同意取消申请=" + reqEleme.message);
            var sign  = reqEleme.signature;
            var value = GetSign(reqEleme, websiteModel);

            if (sign == value)
            {
                RespApplyCencel oorder    = ZentCloud.Common.JSONHelper.JsonToModel <RespApplyCencel>(reqEleme.message);
                WXMallOrderInfo mallOrder = bllMall.Get <WXMallOrderInfo>(string.Format(" WebsiteOwner='{0}' AND OutOrderId='{1}'", websiteModel.WebsiteOwner, oorder.orderId));
                if (mallOrder != null)
                {
                    mallOrder.Status         = "已取消";
                    mallOrder.IsRefund       = 0;
                    mallOrder.OutOrderStatus = GetRefStatus(oorder.refundStatus);
                    bllMall.Update(mallOrder);
                }
                resp.msg = "ok";
            }
            else
            {
                resp.msg = "验签错误";
            }
            Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
        }
Ejemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string host = HttpContext.Current.Request.Url.Host;

            WebsiteDomainInfo domain = bllWebsite.Get <WebsiteDomainInfo>(string.Format(" WebsiteDomain='{0}'", host));

            var websiteModel = bllWebsite.Get <WebsiteInfo>(string.Format(" WebsiteOwner='{0}'", domain.WebsiteOwner));

            if (Request.RequestType.ToUpper() == "POST")
            {
                string       body     = PostInput();
                ElemeRequset reqEleme = Newtonsoft.Json.JsonConvert.DeserializeObject <ElemeRequset>(body);
                switch (reqEleme.type)
                {
                case 10:
                    OrderEntry(reqEleme, websiteModel);    //订单生效
                    break;

                case 18:
                    ReceiptConfirm(reqEleme, websiteModel);    //订单已完成
                    break;

                case 20:
                    OrderAppyCancel(reqEleme, websiteModel);    //用户申请取消订单
                    break;

                case 21:
                    withdrawCelcel(reqEleme, websiteModel);    //用户撤回取消
                    break;

                case 22:
                    MerchantrefuseCencal(reqEleme, websiteModel);    //商户拒绝取消
                    break;

                case 23:
                    MerchantAgreeCencel(reqEleme, websiteModel);    //商户同意取消
                    break;

                default:
                    break;
                }
            }
            else
            {
                var getMsg = new
                {
                    message = "ok"
                };
                Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(getMsg));
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 订单生效type=10
        /// </summary>
        public void OrderEntry(ElemeRequset reqEleme, WebsiteInfo websiteModel)
        {
            var sign  = reqEleme.signature;
            var value = GetSign(reqEleme, websiteModel);

            if (sign == value)
            {
                AddOrder(reqEleme.message, websiteModel.WebsiteOwner);
                resp.msg = "ok";
            }
            else
            {
                resp.msg = "验签错误";
            }
            Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 订单已完成 type=18
        /// </summary>
        /// <param name="oorderInfo"></param>
        /// <param name="websiteOwner"></param>
        public void ReceiptConfirm(ElemeRequset reqEleme, WebsiteInfo websiteModel)
        {
            var sign  = reqEleme.signature;
            var value = GetSign(reqEleme, websiteModel);

            if (sign == value)
            {
                RespApplyCencel oorder    = ZentCloud.Common.JSONHelper.JsonToModel <RespApplyCencel>(reqEleme.message);
                WXMallOrderInfo mallOrder = bllMall.Get <WXMallOrderInfo>(string.Format(" WebsiteOwner='{0}' AND OutOrderId='{1}'", websiteModel.WebsiteOwner, oorder.orderId));
                if (mallOrder != null)
                {
                    mallOrder.Status         = "交易成功";
                    mallOrder.ReceivingTime  = DateTime.Now;
                    mallOrder.OutOrderStatus = GetRefStatus(oorder.refundStatus);
                    bllMall.Update(mallOrder);
                }
                resp.msg = "ok";
            }
            else
            {
                resp.msg = "验签错误";
            }
            Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
        }