From 705909e14fe4e9f2fc261ee4eb40a8b41fa2f6d4 Mon Sep 17 00:00:00 2001
From: wzp <2880584989@qq.com>
Date: 星期二, 12 七月 2022 17:37:26 +0800
Subject: [PATCH] 增加免密登陆的token

---
 web/web/GwOrder.ashx |  327 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 227 insertions(+), 100 deletions(-)

diff --git a/web/web/GwOrder.ashx b/web/web/GwOrder.ashx
index 30c4bfd..041cf20 100644
--- a/web/web/GwOrder.ashx
+++ b/web/web/GwOrder.ashx
@@ -9,6 +9,7 @@
 {
     private GwOrderDao _Dao = new GwOrderDao();
     private GwSpDao _GwSpDao = new GwSpDao();
+    private GwClientDao _GwClientDao = new GwClientDao();
     private GwOpGroupDao _GwOpGroupDao = new GwOpGroupDao();
     private GwProductDao _GwProductDao = new GwProductDao();
     private SysXhDao _SysXhDao = new SysXhDao();
@@ -22,10 +23,18 @@
     private List<GwOpGroup> _GroupList;
     private List<GwProduct> _ProductList;   //浜у搧鍙婁骇鍝佸垎绫�
     //private List<GwProduct> _ProductClassList;  //浜у搧鍒嗙被
+    
+    private int _userId = -1;
+    private string _userType = "";
+    private string _account = "";
 
     public override JsonPageResult ProcessRequestInternal(PageContext<SysUser> context)
     {
         string @string = context.GetString("action");
+        _userId = context.SessionObject.UserID;
+        _userType = context.SessionObject.UserType;
+        _account = context.SessionObject.Account;
+
         switch (@string)
         {
             case "delete":
@@ -46,6 +55,8 @@
                 return this.Cancel(context);      //鍙栨秷    
             case "audit":
                 return this.Audit(context);      //璁㈠崟瀹℃牳
+            case "getOrderBySpId":
+                return this.GetOrderBySpId(context);      //璁㈠崟瀹℃牳
 
             default:
                 throw new Exception("Invalid Action=" + @string);
@@ -58,16 +69,18 @@
         //Console.WriteLine("List.............[" + context.GetInt("name") + "][" + context.GetInt("classes") + "]");
         string spId = context.GetString("spId");
         string clientId = context.GetString("clientId");
-        string clientName = context.GetString("clientName");
+        string compay = context.GetString("compay");
         int flag = context.GetInt("flag");
         DateTime startDate = context.GetDateTime("startDate");
-        DateTime endDate = context.GetDateTime("endDate");
+        DateTime endDate = context.GetDateTime("endDate")==DateTime.Parse("0001-01-01 00:00:00")? DateTime.Now : context.GetDateTime("endDate");
 
         int recordCount = 0;
         int pageSize = context.GetInt("pageSize", 50);
         int pageIndex = context.GetInt("pageIndex", 1);
+            
+        string permissionsSQL = new GwClientDao().GetClientPermissions(_userId, _userType, "GWC");
 
-        List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, startDate, endDate, pageSize, pageIndex, out recordCount);
+        List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, compay, flag, startDate, endDate.AddDays(1.0), pageSize, pageIndex, permissionsSQL, out recordCount);
 
         string str1 = "";
         if (list != null && list.Count > 0)
@@ -78,17 +91,20 @@
             {
                 ++num;
 
-                str1 += "<tr><td>" + bean.OrderId + "</td>";
-                str1 = str1 + "<td>" + bean.SpId + "</td>";
-                str1 = str1 + "<td>" + bean.ClientId + "-" + bean.ClientName + "</td>";
+                //str1 += "<tr><td>" + bean.OrderId + "</td>";
+                str1 = str1 + "<tr><td>" + bean.SpId + "</td>";
+                str1 = str1 + "<td>" + bean.ClientId + "</td>";
+                str1 = str1 + "<td>" + bean.Company + "</td>";
                 str1 = str1 + "<td>" + ProductToName(bean.ProductId) + "</td>";
                 //str1 = str1 + "<td>" + bean.ComboId + "</td>";
                 str1 = str1 + "<td>" + bean.BasicNum + "</td>";
                 str1 = str1 + "<td>" + bean.GivingNum + "</td>";
-                str1 = str1 + string.Format("<td>{0}鍏�/鏉�</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
                 str1 = str1 + "<td>" + bean.OrderNumTotal + "</td>";
-                str1 = str1 + string.Format("<td>{0}鍏�</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));;
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.PayAmount) / new Decimal(1000)));
                 str1 = str1 + "<td>" + bean.BeforeBalanceNum + "</td>";
+                str1 = str1 + "<td>" + bean.Auditor + "</td>";
                 str1 = str1 + "<td>" + bean.Creator + "</td>";
                 str1 = str1 + "<td>" + bean.CreateTime + "</td>";
                 str1 = str1 + "<td>" + StatusToName(bean.Status) + "</td>";
@@ -101,7 +117,7 @@
             }
         }
         else
-            str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
+            str1 += "<tr><td colspan=\"16\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
 
         return new JsonPageResult(true,  new
         {
@@ -115,16 +131,18 @@
     {
         string spId = context.GetString("spId");
         string clientId = context.GetString("clientId");
-        string clientName = context.GetString("clientName");
+        string company = context.GetString("company");
         int flag = context.GetInt("flag");
         DateTime startDate = context.GetDateTime("startDate");
-        DateTime endDate = context.GetDateTime("endDate");
+        DateTime endDate = context.GetDateTime("endDate")==DateTime.Parse("0001-01-01 00:00:00")? DateTime.Now : context.GetDateTime("endDate");
 
         int recordCount = 0;
         int pageSize = context.GetInt("pageSize", 50);
         int pageIndex = context.GetInt("pageIndex", 1);
+            
+        string permissionsSQL = new GwClientDao().GetClientPermissions(_userId, _userType, "GWC");
 
-        List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, startDate, endDate, pageSize, pageIndex, out recordCount);
+        List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, company, flag, startDate, endDate.AddDays(1.0), pageSize, pageIndex, permissionsSQL, out recordCount);
 
         string str1 = "";
         if (list != null && list.Count > 0)
@@ -135,17 +153,20 @@
             {
                 ++num;
 
-                str1 += "<tr><td>" + bean.OrderId + "</td>";
-                str1 = str1 + "<td>" + bean.SpId + "</td>";
-                str1 = str1 + "<td>" + bean.ClientId + "-" + bean.ClientName + "</td>";
+                //str1 += "<tr><td>" + bean.OrderId + "</td>";
+                str1 = str1 + "<tr><td>" + bean.SpId + "</td>";
+                str1 = str1 + "<td>" + bean.ClientId + "</td>";
+                str1 = str1 + "<td>" + bean.Company + "</td>";
                 str1 = str1 + "<td>" + ProductToName(bean.ProductId) + "</td>";
                 //str1 = str1 + "<td>" + bean.ComboId + "</td>";
                 str1 = str1 + "<td>" + bean.BasicNum + "</td>";
                 str1 = str1 + "<td>" + bean.GivingNum + "</td>";
-                str1 = str1 + string.Format("<td>{0}鍏�/鏉�</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
                 str1 = str1 + "<td>" + bean.OrderNumTotal + "</td>";
-                str1 = str1 + string.Format("<td>{0}鍏�</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));;
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.PayAmount) / new Decimal(1000)));
                 str1 = str1 + "<td>" + bean.BeforeBalanceNum + "</td>";
+                str1 = str1 + "<td>" + bean.Auditor + "</td>";
                 str1 = str1 + "<td>" + bean.Creator + "</td>";
                 str1 = str1 + "<td>" + bean.CreateTime + "</td>";
                 str1 = str1 + "<td>" + StatusToName(bean.Status) + "</td>";
@@ -162,7 +183,7 @@
             }
         }
         else
-            str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
+            str1 += "<tr><td colspan=\"16\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
 
         return new JsonPageResult(true,  new
         {
@@ -188,16 +209,21 @@
 
         string spId = context.GetString("spId");
         string clientId = context.GetString("clientId");
-        string clientName = context.GetString("clientName");
+        string company = context.GetString("company");
         int flag = context.GetInt("flag");
+        //string startDate = context.GetString("startDate");
+        //string endDate = context.GetString("endDate");
         DateTime startDate = context.GetDateTime("startDate");
-        DateTime endDate = context.GetDateTime("endDate");
+        DateTime endDate = context.GetDateTime("endDate")==DateTime.Parse("0001-01-01 00:00:00")? DateTime.Now : context.GetDateTime("endDate");
 
         int recordCount = 0;
         int pageSize = context.GetInt("pageSize", 50);
         int pageIndex = context.GetInt("pageIndex", 1);
+            
+        string permissionsSQL = new GwClientDao().GetClientPermissions(_userId, _userType, "GWC");
 
-        List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, startDate, endDate, pageSize, pageIndex, out recordCount);
+        //List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, Convert.ToDateTime(startDate), Convert.ToDateTime(endDate).AddDays(1.0), pageSize, pageIndex, out recordCount);
+        List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, company, flag, startDate, endDate.AddDays(1.0), pageSize, pageIndex, permissionsSQL, out recordCount);
 
         string str1 = "";
         if (list != null && list.Count > 0)
@@ -208,23 +234,26 @@
             {
                 ++num;
 
-                str1 += "<tr><td>" + bean.OrderId + "</td>";
-                str1 = str1 + "<td>" + bean.SpId + "</td>";
-                str1 = str1 + "<td>" + bean.ClientId + "-" + bean.ClientName + "</td>";
+                //str1 += "<tr><td>" + bean.OrderId + "</td>";
+                str1 = str1 + "<tr><td>" + bean.SpId + "</td>";
+                str1 = str1 + "<td>" + bean.ClientId + "</td>";
+                str1 = str1 + "<td>" + bean.Company + "</td>";
                 str1 = str1 + "<td>" + ProductToName(bean.ProductId) + "</td>";
                 //str1 = str1 + "<td>" + bean.ComboId + "</td>";
                 str1 = str1 + "<td>" + bean.BasicNum + "</td>";
                 str1 = str1 + "<td>" + bean.GivingNum + "</td>";
-                str1 = str1 + string.Format("<td>{0}鍏�/鏉�</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
                 str1 = str1 + "<td>" + bean.OrderNumTotal + "</td>";
-                str1 = str1 + string.Format("<td>{0}鍏�</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));;
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.PayAmount) / new Decimal(1000)));
                 str1 = str1 + "<td>" + bean.BeforeBalanceNum + "</td>";
+                str1 = str1 + "<td>" + bean.Auditor + "</td>";
                 str1 = str1 + "<td>" + bean.Creator + "</td>";
                 str1 = str1 + "<td>" + bean.CreateTime + "</td>";
                 str1 = str1 + "<td>" + StatusToName(bean.Status) + "</td>";
                 //str1 = str1 + "<td>" + bean.Remark + "</td>";
 
-                str1 += "<td  class=\"text-right\">";
+                str1 += "<td  class=\"text-center\">";
                 str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-detail btn  btn-success btn-xs\"><i class=\"fa fa-search\"></i>&nbsp;鏌ョ湅</a> ", (object) bean.OrderId);
                 //str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-audit btn  btn-success btn-xs\"><i class=\"fa fa-search\"></i>&nbsp;瀹℃牳</a> ", (object) bean.OrderId);
                 //if(bean.Status == 0) {
@@ -235,7 +264,7 @@
             }
         }
         else
-            str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
+            str1 += "<tr><td colspan=\"16\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
 
         return new JsonPageResult(true,  new
         {
@@ -284,13 +313,22 @@
     {
         string spId = context.GetString("spId");
         string orderId = context.GetString("orderId");
-        int basicNum = context.GetInt("basicNum");
-        int givingNum = context.GetInt("givingNum");
+        Int64 basicNum = context.GetInt64("basicNum");
+        Int64 givingNum = context.GetInt64("givingNum");
+        string clientId = "";
+        Int64 payAmount = 0;
+        Int64 tmpPayAmount = Math.Max((int) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
+        payAmount = tmpPayAmount;
         //double price = context.GetDecimal(price);
-        int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 1);
+        int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
         string remark = context.GetString("remark");
         int status = context.GetInt("status");  //0-瀹℃牳涓嶉�氳繃锛�1-瀹℃牳閫氳繃
         string auditReason = context.GetString("auditReason");
+
+        if (status == 0 && string.IsNullOrEmpty(auditReason) )
+        {
+            throw new ArgumentException("璇疯緭鍏ヤ笉閫氳繃鍘熷洜锛�");
+        }
         DateTime createTime = DateTime.Now;
         string creator = context.OperatorID;
 
@@ -307,7 +345,7 @@
         if (gwOrder.Status !=0 && gwOrder.Status !=1)
             throw new ArgumentException("璇ヨ鍗曞凡澶勭悊,鎿嶄綔澶辫触锛�");
 
-
+        clientId = gwOrder.ClientId;
 
         //鑾峰彇璁㈠崟瀹℃牳娴佺▼
         string flowGroup = null;    //娴佺▼缁勫悎
@@ -417,35 +455,51 @@
         }
         else if(status==1)
         {
-                int beforeBasicNum = 0;
-                int beforeGivingNum = 0;
-                int balance = 0;
-            if(string.IsNullOrEmpty(nextFlowCode))
+            Int64 beforeBasicNum = 0;
+            Int64 beforeGivingNum = 0;
+            Int64 balance = 0;
+            Int64 topUpAmountTotal = 0;
+            if (string.IsNullOrEmpty(nextFlowCode))
             {
-                orderStatus = 2;
+                orderStatus = 2;                    
 
                 //鑾峰彇璐﹀彿淇℃伅
                 GwSp gwSp = _GwSpDao.Get(spId);
 
                 beforeBasicNum = gwSp.BasicNum;
                 beforeGivingNum = gwSp.GivingNum;
-                balance = Convert.ToInt32(gwSp.Balance);
+                //balance = Convert.ToInt32(gwSp.Balance);
 
-                    //涓�1-棰勪粯璐�
-                if (gwSp.ChargeType.Equals("1") && gwSp.Balance < num * basicNum )
+                //鑾峰彇瀹㈡埛淇℃伅
+                GwClient gwClient = _GwClientDao.Get(gwSp.ClientID);
+                balance =  Int64.Parse(gwClient.Balance.ToString() );
+                topUpAmountTotal = Int64.Parse(gwClient.Top_up_Amount_Total.ToString() );
+
+                //涓�1-棰勪粯璐�
+                //if (gwSp.ChargeType==1 && (balance + payAmount) < num * basicNum)
+                if (gwClient.ChargeType==1 && (balance + payAmount) < num * basicNum)
                 {
-                        throw new ArgumentException("璐﹀彿浣欓涓嶈冻锛岃鑱旂郴绠$悊鍛橈紒");
+                    throw new ArgumentException("瀹㈡埛浣欓鍙婂厖鍊奸噾棰濅笉瓒宠喘涔帮紝璇疯皟鏁村悗鎻愪氦锛�");
                 }
 
                 //gwSp.Balance = balance - num * basicNum;
                 //gwSp.BasicNum = beforeBasicNum + basicNum;
                 //gwSp.GivingNum = beforeGivingNum + givingNum;
+                //鏇存柊璐﹀彿鍏呭�兼暟鎹�
+                _GwSpDao.UpdateBalanceByOrder( payAmount, basicNum , givingNum , spId );
 
-                _GwSpDao.UpdateBalanceByOrder(balance - num * basicNum
-                    , beforeBasicNum + basicNum
-                    , beforeGivingNum + givingNum
-                    , spId
-                    );
+
+                //鏈夊厖鍊奸噾棰濇椂锛屾洿鏂板鎴风疮璁″厖鍊奸噾棰濓紙鍘橈級
+                if (payAmount > 0 || basicNum > 0 ) {
+                    //GwClient gwClient = new GwClient();
+                    //gwClient = new GwClient();
+                    //gwClient.Balance = ((balance + payAmount) - num * basicNum) ;   //鍏呭�间綑棰�:鍗曚綅锛堝帢锛�
+                    //gwClient.Top_up_Amount_Total = topUpAmountTotal + payAmount;    //鍏呭�奸噾棰�:鍗曚綅锛堝帢锛�
+                    //gwClient.ClientID = clientId;
+                    
+                    //鏇存柊瀹㈡埛鍏呭�兼暟鎹�
+                    _GwClientDao.UpdateClientAmount(payAmount-( num * basicNum), payAmount, clientId );
+                }
             }
             else
             {
@@ -462,8 +516,8 @@
             //newGwOrder.OrderAmountTotal = basicNum * num ;
             //newGwOrder.BeforeBalanceNum = beforeGivingNum + beforeGivingNum;
             //newGwOrder.Status = orderStatus;
-                //鏇存柊璁㈠崟
-               _Dao.UpdateBalanceAndStatus(basicNum, givingNum, basicNum + givingNum, basicNum * num, beforeGivingNum + beforeGivingNum,orderStatus, orderId );
+            //鏇存柊璁㈠崟
+            _Dao.UpdateBalanceAndStatus(basicNum, givingNum, basicNum + givingNum, basicNum * num, payAmount,  beforeGivingNum + beforeGivingNum, orderStatus, orderId );
 
             //Dao.Update(newGwOrder);
 
@@ -490,20 +544,23 @@
         string clientId = context.GetString("clientId");
         string productId = context.GetString("productId");
         //string comboId = context.GetString("comboId");
-        int basicNum = context.GetInt("basicNum", 0);
-        int givingNum = context.GetInt("givingNum", 0);
+        Int64 basicNum = context.GetInt("basicNum", 0);
+        Int64 givingNum = context.GetInt("givingNum", 0);
         int price = 0;
 
-        int orderNumTotal = context.GetInt("orderNumTotal", 0);
-        int orderAmountTotal = context.GetInt("orderAmountTotal", 0);
-        int beforeBalanceNum = context.GetInt("beforeBalanceNum", 0);
+        Int64 orderNumTotal = context.GetInt("orderNumTotal", 0);
+        Int64 orderAmountTotal = context.GetInt("orderAmountTotal", 0);
+        Int64 payAmount = 0;
+        Int64 beforeBalanceNum = context.GetInt("beforeBalanceNum", 0);
         //瀹㈡湇浜哄憳鎻愪氦璁㈠崟鏃剁殑鐘舵�佷负1-瀹℃牳涓��
         int status = 1; //0-寰呭鏍革紙宸叉彁浜わ級锛�1-瀹℃牳涓紱2-瀹℃牳閫氳繃锛�3-瀹℃牳涓嶉�氳繃锛�4-鍙栨秷锛涚敵璇疯鍗曞湪鏈鏍告儏鍐典笅鍙互鍙栨秷銆�
         string remark = context.GetString("remark");
         DateTime createTime = DateTime.Now;
         string creator = context.OperatorID;
 
-        int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 1);
+        Int64 tmpPayAmount = Math.Max((Int64) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
+        payAmount = tmpPayAmount;
+        int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
         price = num;
 
         //鏍¢獙
@@ -516,16 +573,40 @@
 
         if (string.IsNullOrEmpty(clientId))
         {
-            throw new ArgumentException("瀹㈡埛涓嶈兘涓虹┖锛�");
+            throw new ArgumentException("瀹㈡埛璐﹀彿涓嶈兘涓虹┖锛�");
         }
         if (string.IsNullOrEmpty(spId))
         {
-            throw new ArgumentException("璐﹀彿涓嶈兘涓虹┖锛�");
+            throw new ArgumentException("鐭俊璐﹀彿涓嶈兘涓虹┖锛�");
         }
 
-        if (basicNum<=0 && givingNum <= 0)
+        if (basicNum<=0 && givingNum <= 0 && payAmount <=0)
         {
-            throw new ArgumentException("鍩烘湰鏉℃暟鎴栬禒閫佹潯鏁板繀椤诲ぇ浜庨浂锛�");
+            throw new ArgumentException("鍏呭�奸噾棰濇垨鍩烘湰鏉℃暟鎴栬禒閫佹潯鏁板繀椤诲ぇ浜庨浂锛�");
+        }
+
+        //鑾峰彇璐﹀彿淇℃伅
+        GwSp gwSp = _GwSpDao.Get(spId);
+        Int64 balance = 0;
+        if (gwSp == null)
+        {
+            throw new ArgumentException("璐﹀彿涓嶅瓨鍦紒");
+        }
+        else if (gwSp.Status==0)
+        {
+            throw new ArgumentException("璐﹀彿宸茬鐢紒");
+        }
+
+
+        //鑾峰彇瀹㈡埛淇℃伅
+        GwClient gwClient = _GwClientDao.Get(gwSp.ClientID);
+        balance =  Int64.Parse(gwClient.Balance.ToString() );
+
+        //涓�1-棰勪粯璐�
+        //if (gwSp.ChargeType==1 && (balance + payAmount) < num * basicNum)
+        if (gwClient.ChargeType==1 && (balance + payAmount) < num * basicNum)
+        {
+            throw new ArgumentException("瀹㈡埛浣欓鍙婂厖鍊奸噾棰濅笉瓒宠喘涔帮紝璇疯皟鏁村悗鎻愪氦锛�");
         }
 
         //鑾峰彇璁㈠崟瀹℃牳娴佺▼
@@ -588,18 +669,6 @@
             throw new ArgumentException("鐢ㄦ埛娌℃湁鍏呭�兼潈闄愶紝璇疯仈绯荤鐞嗗憳锛�");
         }
 
-
-        //鑾峰彇璁㈠崟淇℃伅
-        GwSp gwSp = _GwSpDao.Get(spId);
-        if (gwSp == null)
-        {
-            throw new ArgumentException("璐﹀彿涓嶅瓨鍦紒");
-        }
-        else if (gwSp.Status==0)
-        {
-            throw new ArgumentException("璐﹀彿宸茬鐢紒");
-        }
-
         productId = gwSp.ProductId;
         price = gwSp.Price;
 
@@ -620,6 +689,7 @@
             Price = price,    //鍗曚环鎹㈢畻
             OrderNumTotal = orderNumTotal,
             OrderAmountTotal = orderAmountTotal,
+            PayAmount = payAmount,
             BeforeBalanceNum = beforeBalanceNum,
             Status = status,
             Remark = remark,
@@ -628,19 +698,22 @@
 
         });
 
-
-        string auditId = _SysXhDao.getXh("GW_ORDER_AUDIT");  //鑾峰彇鐢熸垚璁㈠崟瀹℃牳ID
-        this._GwOrderAuditDao.Add(new GwOrderAudit()
+        //娴佺▼缁勫悎涓虹┖鏃�
+        if (!string.IsNullOrEmpty(flowGroup))
         {
-            AuditId = auditId,
-            OrderId = orderId,
-            AuditSort = sort,
-            AuditStatus = status,
-            Auditor = creator,
-            //AuditReason = null,
-            AuditTime = createTime
+            string auditId = _SysXhDao.getXh("GW_ORDER_AUDIT");  //鑾峰彇鐢熸垚璁㈠崟瀹℃牳ID
+            this._GwOrderAuditDao.Add(new GwOrderAudit()
+            {
+                AuditId = auditId,
+                OrderId = orderId,
+                AuditSort = sort,
+                AuditStatus = status,
+                Auditor = creator,
+                //AuditReason = null,
+                AuditTime = createTime
 
-        });
+            });
+        }
 
 
         return new JsonPageResult(true, "鐢熸垚璁㈠崟淇℃伅鎴愬姛锛�");
@@ -654,19 +727,23 @@
         string clientId = context.GetString("clientId");
         string productId = context.GetString("productId");
         string comboId = context.GetString("clientId");
-        int basicNum = context.GetInt("basicNum", 0);
-        int givingNum = context.GetInt("givingNum", 0);
+        Int64 basicNum = context.GetInt("basicNum", 0);
+        Int64 givingNum = context.GetInt("givingNum", 0);
         int price = 0;
 
-        int orderNumTotal = context.GetInt("orderNumTotal", 0);
-        int orderAmountTotal = context.GetInt("orderAmountTotal", 0);
-        int beforeBalanceNum = context.GetInt("beforeBalanceNum", 0);
+        Int64 orderNumTotal = context.GetInt("orderNumTotal", 0);
+        Int64 orderAmountTotal = context.GetInt("orderAmountTotal", 0);
+        Int64 payAmount = 0;
+        Int64 beforeBalanceNum = context.GetInt("beforeBalanceNum", 0);
         int status = 0;
         string remark = context.GetString("remark");
         DateTime createTime = DateTime.Now;
         string creator = context.OperatorID;
 
-        int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 1);
+        Int64 tmpPayAmount = Math.Max((Int64) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
+        payAmount = tmpPayAmount;
+
+        int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
         price = num;
 
         //鏍¢獙
@@ -679,11 +756,11 @@
 
         if (string.IsNullOrEmpty(clientId))
         {
-            throw new ArgumentException("瀹㈡埛涓嶈兘涓虹┖锛�");
+            throw new ArgumentException("瀹㈡埛璐﹀彿涓嶈兘涓虹┖锛�");
         }
         if (string.IsNullOrEmpty(spId))
         {
-            throw new ArgumentException("璐﹀彿涓嶈兘涓虹┖锛�");
+            throw new ArgumentException("鐭俊璐﹀彿涓嶈兘涓虹┖锛�");
         }
 
         if (basicNum<=0 && givingNum <= 0)
@@ -703,6 +780,7 @@
             Price = price,    //鍗曚环鎹㈢畻
             OrderNumTotal = orderNumTotal,
             OrderAmountTotal = orderAmountTotal,
+            PayAmount = payAmount,
             BeforeBalanceNum = beforeBalanceNum,
             Status = status,
             Remark = remark,
@@ -718,6 +796,55 @@
     private JsonPageResult Get(PageContext<SysUser> context)
     {
         return new JsonPageResult(true, this._Dao.Get(context.GetString("orderId")));
+    }
+
+    //鏍规嵁瀹㈡埛API璐﹀彿鑾峰彇鍏呭�煎垵濮嬩俊鎭�
+    private JsonPageResult GetOrderBySpId(PageContext<SysUser> context)
+    {
+        string spId = context.GetString("spId");
+            
+            if (!string.IsNullOrEmpty(spId))
+        {
+            GwSp  gwSp = new GwSpDao().Get(spId);
+            if(gwSp==null)
+            {
+                throw new ArgumentException("璐﹀彿涓嶅瓨鍦紒");
+
+            }
+            else if (gwSp.Status==0)
+            {
+                throw new ArgumentException("璐﹀彿鐘舵�佸凡鍋滅敤锛�");
+
+            }
+
+            
+            GwOrder gwOrder = new GwOrder();
+
+            GwClient gwClient = new GwClient();
+            using (GwClientDao gwClientDao = new GwClientDao())
+            {
+                gwClient = gwClientDao.Get(gwSp.ClientID);
+                gwOrder.Company = gwClient.Company;
+                gwOrder.Balance = long.Parse(gwClient.Balance.ToString() );    //浣欓
+            }
+
+                gwOrder.SpId = gwSp.SpID;
+                gwOrder.ClientId = gwSp.ClientID;
+                gwOrder.ProductId = gwSp.ProductId;
+                gwOrder.ProductName = gwSp.ProductName;
+                gwOrder.Price = gwSp.Price;
+                gwOrder.BasicNum = gwSp.BasicNum;  //鍩烘湰鏉℃暟
+                gwOrder.GivingNum = gwSp.GivingNum;                
+                
+            return new JsonPageResult(true, gwOrder);
+        }
+        else
+        {
+             throw new ArgumentException("璇烽�夋嫨鐭俊璐﹀彿锛�");
+
+        }
+
+
     }
 
     //鑾峰彇閫氶亾鍒楄〃
@@ -765,9 +892,9 @@
         if (classes == -1)
             return string.Empty;
         else if(classes == 0)
-            return "0-浜у搧鍒嗙被";
+            return "浜у搧鍒嗙被";
         else if(classes == 1)
-            return "1-浜у搧";
+            return "浜у搧";
 
         return string.Empty;
     }
@@ -778,9 +905,9 @@
         if (isDefault == -1)
             return string.Empty;
         else if(isDefault == 0)
-            return "0-涓�у寲";
+            return "涓�у寲";
         else if(isDefault == 1)
-            return "1-绯荤粺榛樿";
+            return "绯荤粺榛樿";
 
         return string.Empty;
     }
@@ -791,9 +918,9 @@
         if (isEnable == -1)
             return string.Empty;
         else if(isEnable == 0)
-            return "0-鍋滅敤";
+            return "鍋滅敤";
         else if(isEnable == 1)
-            return "1-鍚敤";
+            return "鍚敤";
 
         return string.Empty;
     }
@@ -815,15 +942,15 @@
         if (status == -1)
             return string.Empty;
         else if(status == 0)
-            return "0-寰呭鏍革紙宸叉彁浜わ級";
+            return "寰呭鏍革紙宸叉彁浜わ級";
         else if(status == 1)
-            return "1-瀹℃牳涓�";
+            return "瀹℃牳涓�";
         else if(status == 2)
-            return "2-瀹℃牳閫氳繃";
+            return "瀹℃牳閫氳繃";
         else if(status == 3)
-            return "3-瀹℃牳涓嶉�氳繃";
+            return "瀹℃牳涓嶉�氳繃";
         else if(status == 4)
-            return "4-鍙栨秷";
+            return "鍙栨秷";
 
         return string.Empty;
     }

--
Gitblit v1.9.1