From de9c894d3e5190c85ddead96b349e159935d528c Mon Sep 17 00:00:00 2001
From: duxuecheng <641367895@qq.com>
Date: Thu, 19 Oct 2023 11:34:25 +0800
Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B410=E6=9C=8819=E6=97=A511:34:23?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Seasky.SFP.StuChargePay.BLL/ChargePay_BLL.cs  |  7 ++-
 .../Charge_NetOrder_En.cs                     |  7 +++
 Seasky.SFP.StuChargePay.Entity/LoginModel.cs  |  3 ++
 .../SPPMainLoginEn.cs                         |  5 ++
 .../Charge_NetOrder_Mod.cs                    |  6 +++
 .../Seasky.SFP.StuChargePay.WCF.csproj.user   |  2 +-
 Seasky.SFP.StuChargePay.WCF/Web.config        |  4 +-
 .../Controllers/DemoController.cs             |  2 +-
 .../Controllers/LoginController.cs            |  5 +-
 .../Controllers/MobilePayController.cs        |  1 +
 .../PayCommon/PushOrderToThird.cs             | 50 ++++++++++++++++---
 .../Seasky.SFP.StuChargePay.csproj.user       |  2 +-
 Seasky.SFP.StuChargePay/Views/Demo/Index.aspx |  2 +-
 Seasky.SFP.StuChargePay/Web.config            |  4 +-
 14 files changed, 81 insertions(+), 19 deletions(-)

diff --git a/Seasky.SFP.StuChargePay.BLL/ChargePay_BLL.cs b/Seasky.SFP.StuChargePay.BLL/ChargePay_BLL.cs
index 799fdf0..8d47ae1 100644
--- a/Seasky.SFP.StuChargePay.BLL/ChargePay_BLL.cs
+++ b/Seasky.SFP.StuChargePay.BLL/ChargePay_BLL.cs
@@ -175,6 +175,12 @@ namespace Seasky.SFP.StuChargePay.BLL
             */
             string OrderCode = string.Format("{0}{1}", OrderDate.ToString("yyMMddHHmmss"), OrderIndex.ToString().PadLeft(8, '0'));
 
+            if (!String.IsNullOrWhiteSpace(Mod.PrefixOrder))
+            {
+                OrderCode = Mod.PrefixOrder + "_" + OrderCode;
+            }
+
+
             Mod.OrderCode = OrderCode;
             Mod.OrderDate = OrderDate;
             Mod.OrderState = (int)enumNetOrderState.鏀粯涓�;
@@ -214,7 +220,6 @@ namespace Seasky.SFP.StuChargePay.BLL
                     return ResultInfo.UnSuccessResultInfo("褰撳墠鎵规璁剧疆浜嗗涓鍚堟潯浠剁殑缃戦摱鏀粯鏂瑰紡锛岃閫氱煡绠$悊鍛樺鐞嗭紒");
                 }
 
-
                 Mod.OccurTypeID = occurTypes[0].OccurTypeID;
                 Mod.OccurTypeName = occurTypes[0].OccurTypeName;
 
diff --git a/Seasky.SFP.StuChargePay.Entity/Charge_NetOrder_En.cs b/Seasky.SFP.StuChargePay.Entity/Charge_NetOrder_En.cs
index 49f90d8..496e5ef 100644
--- a/Seasky.SFP.StuChargePay.Entity/Charge_NetOrder_En.cs
+++ b/Seasky.SFP.StuChargePay.Entity/Charge_NetOrder_En.cs
@@ -39,6 +39,11 @@ namespace Seasky.SFP.StuChargePay.Entity
         public int OrderCardType { get; set; }
         public List<Charge_NetDetail_En> ListNetDetail { get; set; }
 
+        /// <summary>
+        /// 璁㈠崟鍓嶇紑  2023骞�10鏈�19鏃�09:14:15 
+        /// </summary>
+        public String PrefixOrder { get; set; }
+
         public string OrderTimeStr
         {
             get { return this.OrderDate.ToString("yyyyMMddHHmmss"); }
@@ -147,6 +152,8 @@ namespace Seasky.SFP.StuChargePay.Entity
             Mod.ReturnTime = this.ReturnTime;
             Mod.BankBalanceDate = this.BalanceTime;
             Mod.OrderCardType = this.OrderCardType;
+
+            Mod.PrefixOrder = this.PrefixOrder;
             return Mod;
         }
 
diff --git a/Seasky.SFP.StuChargePay.Entity/LoginModel.cs b/Seasky.SFP.StuChargePay.Entity/LoginModel.cs
index 82806b3..a429d8f 100644
--- a/Seasky.SFP.StuChargePay.Entity/LoginModel.cs
+++ b/Seasky.SFP.StuChargePay.Entity/LoginModel.cs
@@ -24,6 +24,9 @@ namespace Seasky.SFP.StuChargePay.Entity
 
         public String RedirectUri { get; set; }
 
+        public String PrefixOrder { get; set; }
+
+
         //public String SsbOpenId { get; set; }
 
         /// <summary>
diff --git a/Seasky.SFP.StuChargePay.Entity/SPPMainLoginEn.cs b/Seasky.SFP.StuChargePay.Entity/SPPMainLoginEn.cs
index c79664f..7d4aa71 100644
--- a/Seasky.SFP.StuChargePay.Entity/SPPMainLoginEn.cs
+++ b/Seasky.SFP.StuChargePay.Entity/SPPMainLoginEn.cs
@@ -30,5 +30,10 @@ namespace Seasky.SFP.StuChargePay.Entity
         public String judgeType { get; set; }
 
         public String studentCode { get; set; }
+
+        /// <summary>
+        /// 璁㈠崟鍓嶇紑
+        /// </summary>
+        public String prefixOrder { get; set; }
     }
 }
diff --git a/Seasky.SFP.StuChargePay.Model/Charge_NetOrder_Mod.cs b/Seasky.SFP.StuChargePay.Model/Charge_NetOrder_Mod.cs
index 36a9e8c..792df0e 100644
--- a/Seasky.SFP.StuChargePay.Model/Charge_NetOrder_Mod.cs
+++ b/Seasky.SFP.StuChargePay.Model/Charge_NetOrder_Mod.cs
@@ -444,6 +444,12 @@ namespace Seasky.SFP.StuChargePay.Model
         {
             get { return this.m_orderCardType == null ? 0 : this.m_orderCardType.Value; }
         }
+
+
+        /// <summary>
+        ///  璁㈠崟鍓嶇紑 2023骞�10鏈�19鏃�09:13:44 
+        /// </summary>
+        public String PrefixOrder { get; set; }
     }
 
     /// <summary>
diff --git a/Seasky.SFP.StuChargePay.WCF/Seasky.SFP.StuChargePay.WCF.csproj.user b/Seasky.SFP.StuChargePay.WCF/Seasky.SFP.StuChargePay.WCF.csproj.user
index af59629..3bae6b1 100644
--- a/Seasky.SFP.StuChargePay.WCF/Seasky.SFP.StuChargePay.WCF.csproj.user
+++ b/Seasky.SFP.StuChargePay.WCF/Seasky.SFP.StuChargePay.WCF.csproj.user
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
+    <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
     <NameOfLastUsedPublishProfile>E:\gongsinet\stuchargepay\Seasky.SFP.StuChargePay.WCF\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
   </PropertyGroup>
   <ProjectExtensions>
diff --git a/Seasky.SFP.StuChargePay.WCF/Web.config b/Seasky.SFP.StuChargePay.WCF/Web.config
index bf943f9..f54a686 100644
--- a/Seasky.SFP.StuChargePay.WCF/Web.config
+++ b/Seasky.SFP.StuChargePay.WCF/Web.config
@@ -2,8 +2,8 @@
 <configuration>
   <appSettings>
     <!--<add key="SqlConn" value="Data Source=192.169.1.5;Initial Catalog=SFP_Main_Test;User ID=sa;Password=123456" />-->
-    <add key="SqlConn" value="Data Source=192.168.1.32,64518;Initial Catalog=SFP_Main;User ID=sfp_sa;Password=seasky$2012$" />
-     <!--<add key="SqlConn" value="Data Source=DXC;Initial Catalog=SFP_Main;User ID=sa;Password=123456" />-->
+    <!--<add key="SqlConn" value="Data Source=192.168.1.32,64518;Initial Catalog=SFP_Main;User ID=sfp_sa;Password=seasky$2012$" />-->
+     <add key="SqlConn" value="Data Source=DXC;Initial Catalog=SFP_Main;User ID=sa;Password=123456" />
   </appSettings>
   <system.web>
     <compilation debug="true" targetFramework="4.0" />
diff --git a/Seasky.SFP.StuChargePay/Controllers/DemoController.cs b/Seasky.SFP.StuChargePay/Controllers/DemoController.cs
index cdb409c..7b3338b 100644
--- a/Seasky.SFP.StuChargePay/Controllers/DemoController.cs
+++ b/Seasky.SFP.StuChargePay/Controllers/DemoController.cs
@@ -40,7 +40,7 @@ namespace Seasky.SFP.StuChargePay.Controllers
         public ActionResult lzDecrypt()
         {
             String guid = Guid.NewGuid().ToString() + " lzDecrypt ";
-            String jsonStr = this.Request.Params["jsoninfo"];
+            String jsonStr = HttpUtility.UrlDecode(this.Request.Params["jsoninfo"]);
 
             Helper.Log(guid + "鎺ユ敹鍒扮殑寰呰В瀵嗗瓧绗︿覆:" + jsonStr, true, logPath);
 
diff --git a/Seasky.SFP.StuChargePay/Controllers/LoginController.cs b/Seasky.SFP.StuChargePay/Controllers/LoginController.cs
index 49faed5..60268ac 100644
--- a/Seasky.SFP.StuChargePay/Controllers/LoginController.cs
+++ b/Seasky.SFP.StuChargePay/Controllers/LoginController.cs
@@ -304,6 +304,7 @@ namespace Seasky.SFP.StuChargePay.Controllers
                 {
                     loginModel.IsPC = !CommEn.IsMoblie(this.HttpContext);
                     loginModel.LoginType = "Loginlz";
+                    loginModel.PrefixOrder = t.prefixOrder;
                     createOrUpdateCookie(loginModel, logEntity);
                     // Helper.Log(guid + " 姝e湪璺宠浆 瀛﹀彿锛�" + loginModel.StudentCode + "濮撳悕锛�" + loginModel.PersonName + ",personid锛�" + loginModel.PersonID, true, ConfigEn.TongYongLogPath);
                     logEntity.LogWrite("姝e湪璺宠浆 瀛﹀彿锛�" + loginModel.StudentCode + "濮撳悕锛�" + loginModel.PersonName + ",personid锛�" + loginModel.PersonID);
@@ -355,7 +356,7 @@ namespace Seasky.SFP.StuChargePay.Controllers
 
             }
             LoginModel dtStudentInfo = new Student_En().GetStudentInfoWithStudentCode(studentcode);
-           
+
             msg = " 绯荤粺涓湭鎵惧埌瀛﹀彿锛�" + studentcode + " 璇风粦瀹氭纭殑瀛﹀彿";
             if (dtStudentInfo == null)
             {
@@ -368,7 +369,7 @@ namespace Seasky.SFP.StuChargePay.Controllers
                 dtStudentInfo.RedirectUri = redirecturi;
                 dtStudentInfo.LoginType = "logincn";
                 createOrUpdateCookie(dtStudentInfo, logEntity);
-              
+
                 logEntity.LogWrite("姝e湪璺宠浆 瀛﹀彿锛�" + studentcode + "濮撳悕锛�" + dtStudentInfo.PersonName + ",personid锛�" + dtStudentInfo.PersonID);
                 if (CommEn.IsMoblie(this.HttpContext))
                 {
diff --git a/Seasky.SFP.StuChargePay/Controllers/MobilePayController.cs b/Seasky.SFP.StuChargePay/Controllers/MobilePayController.cs
index e25008f..ac37205 100644
--- a/Seasky.SFP.StuChargePay/Controllers/MobilePayController.cs
+++ b/Seasky.SFP.StuChargePay/Controllers/MobilePayController.cs
@@ -191,6 +191,7 @@ namespace Seasky.SFP.StuChargePay.Controllers
             netOrder.PayerName = LoginUser.PersonName; //dt.Rows[0]["PersonName"].ToString();
             netOrder.OrderCardType = 1;
             netOrder.ListNetDetail = list;
+            netOrder.PrefixOrder = LoginUser.PrefixOrder ?? "";
             Charge_NetOrder_En ourOrder = new Charge_NetOrder_En();
             ourOrder.Target = LoginUser.IsPC ? "_blank" : "_self";
             rst = netOrder.AddNetOrder(LoginUser.PersonID, out ourOrder);
diff --git a/Seasky.SFP.StuChargePay/PayCommon/PushOrderToThird.cs b/Seasky.SFP.StuChargePay/PayCommon/PushOrderToThird.cs
index c0a964a..e351f33 100644
--- a/Seasky.SFP.StuChargePay/PayCommon/PushOrderToThird.cs
+++ b/Seasky.SFP.StuChargePay/PayCommon/PushOrderToThird.cs
@@ -25,6 +25,12 @@ namespace Seasky.SFP.StuChargePay.PayCommon
 
         private LoginModel _LoginModel { get; set; }
 
+
+        public bool _SpecialNeedJump { get; private set; }
+
+        public String _SpecialNeedJumpType { get; private set; }
+
+
         private PushOrderToThird()
         {
             this._DicParams = new Dictionary<string, string>();
@@ -36,25 +42,44 @@ namespace Seasky.SFP.StuChargePay.PayCommon
             this._LogEntity = p_LogEntity;
             this._LoginModel = loginModel;
 
+            string[] orderSplit = this._BankReturnInfo.OrderCode.Split('_');
+            if (orderSplit.Length == 1)
+            {
+                _LogEntity.LogWrite($"闈炵壒娈婅鍗曞彿锛歿this._BankReturnInfo.OrderCode},涓嶇敤璺宠浆鍒扮涓夋柟绯荤粺");
+                this._SpecialNeedJump = false;
+            }
+            else
+            {
+                this._SpecialNeedJumpType = orderSplit[0];
+                _LogEntity.LogWrite($"鐗规畩璁㈠崟鍙凤細{this._BankReturnInfo.OrderCode},闇€瑕佽烦杞埌绗笁鏂圭郴缁�!璺宠浆鐨勭被鍨嬶細{this._SpecialNeedJumpType}");
+                this._SpecialNeedJump = true;
+            }
         }
 
         public void PushReulstToThird()
         {
+            if (!this._SpecialNeedJump)
+            {
+                return;
+            }
+
+
             if (String.IsNullOrWhiteSpace(ConfigEn.ThirdNotifyUrl))
             {
                 _LogEntity.LogWrite("鏈厤缃甌hirdNotifyUrl 鏁呮棤闇€鎵ц寮傛鎺ㄩ€佺粰绗笁鏂�");
                 return;
             }
 
-            if (this._LoginModel == null || !this._LoginModel.LoginType.Equals("Loginlz"))
-            {
+            //if (this._LoginModel == null || !this._LoginModel.LoginType.Equals("Loginlz"))
+            //{
+            //    String msg = this._LoginModel == null ? "_LoginModel 涓虹┖" : ("LoginType:" + this._LoginModel.LoginType);
+            //    msg += "锛屽彧鏈� Loginlz鎵嶈繘琛岃烦杞埌绗笁鏂圭郴缁燂紒";
+            //    _LogEntity.LogWrite(msg);
+            //    return;
+            //}
+
 
 
-                String msg = this._LoginModel == null ? "_LoginModel 涓虹┖" : ("LoginType:" + this._LoginModel.LoginType);
-                msg += "锛屽彧鏈� Loginlz鎵嶈繘琛岃烦杞埌绗笁鏂圭郴缁燂紒";
-                _LogEntity.LogWrite(msg);
-                return;
-            }
             DataTable dtInfo = Charge_NetOrder_En.GetItemAndPersonInfoByOrderCode(this._BankReturnInfo.OrderCode);
 
             this._DicParams.Add("uniqueid", _LogEntity.UniqueID);
@@ -100,7 +125,11 @@ namespace Seasky.SFP.StuChargePay.PayCommon
             AsyncWebUtil.RequestBeginGetRequest(ConfigEn.ThirdNotifyUrl, this._DicParams,
                   (obj, respStr, statusCode, webEx) =>
                   {
-                      _LogEntity.LogWrite("寮傛杩斿洖淇℃伅:" + respStr + ",鐘舵€�:" + statusCode);
+                      _LogEntity.LogWrite("寮傛杩斿洖 鐘舵€侊細" + statusCode);
+                      if (statusCode != 200)
+                      {
+                          _LogEntity.LogWrite("寮傛杩斿洖淇℃伅:" + respStr + ",鐘舵€�:" + statusCode);
+                      }
                       if (webEx != null)
                       {
                           _LogEntity.LogWrite("杩斿洖寮傚父淇℃伅:" + webEx.Message + ",StackTrace:" + webEx.StackTrace);
@@ -116,6 +145,11 @@ namespace Seasky.SFP.StuChargePay.PayCommon
         /// <returns></returns>
         public String BuildFormHtml()
         {
+            if (!this._SpecialNeedJump)
+            {
+                return "";
+            }
+
             if (String.IsNullOrWhiteSpace(ConfigEn.ThirdReturnUrl))
             {
                 _LogEntity.LogWrite("鏈厤缃涓夋柟璺宠浆鍦板潃锛佷笉杩涜椤甸潰璺宠浆...");
diff --git a/Seasky.SFP.StuChargePay/Seasky.SFP.StuChargePay.csproj.user b/Seasky.SFP.StuChargePay/Seasky.SFP.StuChargePay.csproj.user
index 624f945..68f19d3 100644
--- a/Seasky.SFP.StuChargePay/Seasky.SFP.StuChargePay.csproj.user
+++ b/Seasky.SFP.StuChargePay/Seasky.SFP.StuChargePay.csproj.user
@@ -2,7 +2,7 @@
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <ProjectView>ShowAllFiles</ProjectView>
-    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
+    <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
     <NameOfLastUsedPublishProfile>E:\gongsinet\stuchargepay\Seasky.SFP.StuChargePay\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
   </PropertyGroup>
   <ProjectExtensions>
diff --git a/Seasky.SFP.StuChargePay/Views/Demo/Index.aspx b/Seasky.SFP.StuChargePay/Views/Demo/Index.aspx
index f27aded..00701c9 100644
--- a/Seasky.SFP.StuChargePay/Views/Demo/Index.aspx
+++ b/Seasky.SFP.StuChargePay/Views/Demo/Index.aspx
@@ -9,7 +9,7 @@
     <div>
         <fieldset>
             <legend>鏃呬笓json 鍔犲瘑</legend>
-            <label>鍔犲瘑妯″瀷锛歿"icNo":"璇佷欢鍙�","personName":"濮撳悕"}</label>
+            <label>鍔犲瘑妯″瀷锛歿"studentCode":"瀛﹀彿","personName":"濮撳悕","judgeType":"1","prefixOrder":"GJ"}</label>
             <form action="<%=Url.Content("~/Demo/lzEncrypt") %>" method="post" style="width: 100%;">
             json:<textarea id="jsoninfo" name="jsoninfo" style="width: 100%;" rows="4" cols="5">
              
diff --git a/Seasky.SFP.StuChargePay/Web.config b/Seasky.SFP.StuChargePay/Web.config
index 7d7352c..c383ef1 100644
--- a/Seasky.SFP.StuChargePay/Web.config
+++ b/Seasky.SFP.StuChargePay/Web.config
@@ -86,9 +86,9 @@
     <add key="PublicKey_lz" value="zTs8OOvJvmuFDNTiRG%2BBcg%3D%3D"/>
 
     <!--鏀粯绯荤粺璺宠浆鍥炴潵鍚庡悓姝ヨ烦杞洖鍐欏埌绗笁鏂瑰湴鍧€ 2021骞�12鏈�31鏃�14:12:46-->
-    <add key="Third_Return_Url" value=""/>
+    <add key="Third_Return_Url" value="http://www.baidu.com"/>
     <!--鏀粯绯荤粺璺宠浆鍥炴潵鍚庡紓姝ュ洖鍐欏埌绗笁鏂瑰湴鍧€ 2021骞�12鏈�31鏃�14:12:46-->
-    <add key="Third_Notify_Url" value=""/>
+    <add key="Third_Notify_Url" value="http://www.baidu.com"/>
     <!-- 璺宠浆鍒扮涓夋柟鍦板潃鏃跺€欏鏁版嵁鍔犵 2021骞�12鏈�31鏃�14:19:40 -->
     <add key="Third_Data_Key" value="seasky"/>
     
-- 
GitLab