Ver código fonte

修改推购,新增vip老客户

zhuyiyi 7 meses atrás
pai
commit
e4cb316700

+ 14 - 0
BizCom/Dao/CeErpStayGoods.cs

@@ -25,6 +25,16 @@ namespace BizCom
             get { return _t_id; }
             set { _t_id = value; }
         }
+        private string _ctid = "";
+        /// <summary>
+        ///²ðµ¥ºÅ
+        /// </summary>
+        [Property]
+        public string ctid
+        {
+            get { return _ctid; }
+            set { _ctid = value; }
+        }
 
         private string _status = "";
         /// <summary>
@@ -159,6 +169,10 @@ namespace BizCom
             set { _product_id = value; }
         }
 
+        public static CeErpStayGoods GetByCtid(string ctid)
+        {
+            return FindFirst(Expression.Eq("ctid", ctid));
+        }
         public static CeErpStayGoods GetByTid(string t_id)
         {
             return FindFirst(Expression.Eq("t_id", t_id));

+ 9 - 2
SiteCore/Handler/sync.order.cs

@@ -78,6 +78,7 @@ namespace SiteCore.Handler
             //commonHelper.loginGetOrder(2152);
 
             //string res = apiHelper.API_GetWaybill("SF-CAINIAO-LYZSJF", "C1_4386726036959480136");
+        
             List<string> lw = new List<string>();
             string tid = GetPostString("ctid");
             string date1 = GetPostString("date1");
@@ -155,7 +156,7 @@ namespace SiteCore.Handler
                     lw.Add(string.Format("pay_time >= DATEADD(DAY, -31, GETDATE()) "));
                 }
 
-                if (PKey != "admin")
+                if (PKey != "admin" && poscode != "SysAdmin")
                 {
                     string usershop = CurrentUser.User.pemShop;
                     lw.Add(string.Format("ShopId in ({0})", usershop));
@@ -1243,11 +1244,16 @@ namespace SiteCore.Handler
                     else if (tag == 4 || tag == 5)
                     {
                         CeErpTrade main = CeErpTrade.Get(entity.tid);
-                        CeErpStayGoods pers = CeErpStayGoods.GetByTid(entity.tid);
+                        CeErpStayGoods pers = CeErpStayGoods.GetByCtid(entity.ctid);
+                        if (pers == null)
+                        {
+                            pers = CeErpStayGoods.GetByTid(entity.tid);
+                        }
                         if (pers == null)
                         {
                             pers = new CeErpStayGoods();
                             pers.t_id = entity.tid;
+                            pers.ctid = entity.ctid;
                             pers.status = "待审核";
                             pers.audit_type = 0;
                             if (tag == 4)
@@ -1273,6 +1279,7 @@ namespace SiteCore.Handler
                         }
                         else
                         {
+                            pers.ctid = entity.ctid;
                             pers.audit_type = 0;
                             pers.Update();
                         }

+ 41 - 0
SiteCore/WebCache.cs

@@ -1,4 +1,5 @@
 using BizCom;
+using NPOI.SS.Formula.Functions;
 using SQLData;
 using System;
 using System.Collections.Generic;
@@ -1030,6 +1031,46 @@ namespace SiteCore
                 //else sql = string.Format("select top {0} {1} from {2} ", dStruct.PageSize, dStruct.Fileds, tableName);
                 DataTable dt = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
                 return dt;
+                /*int pageSize = 1000;
+                int pageIndex = 1;
+                DataTable dt = new DataTable();
+                while (true)
+                {
+                    StringBuilder sql = new StringBuilder();
+                    if (dStruct.PageSize != 100000)
+                    {
+                        sql.AppendFormat("select top {0} {1} from {2}", dStruct.PageSize, dStruct.Fileds, tableName);
+                    }
+                    else
+                    {
+                        sql.AppendFormat("SELECT TOP {2} * FROM (SELECT row_number()  OVER(ORDER BY ID) AS rownumber, {0} FROM {1} WITH(NOLOCK) ", dStruct.Fileds, tableName, pageSize);
+                    }
+
+                    if (where.Length > 0) sql.AppendFormat(" where {0}", where);
+
+                    sql.AppendFormat(" ) temp_row where rownumber > (({0} - 1) * {1}); ", pageIndex, pageSize);
+                    DataTable dt_temp = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
+                    if (pageIndex == 1)
+                    {
+                        dt = dt_temp.Clone();
+                    }
+                    else
+                    {
+                        dt.Merge(dt_temp);
+                    }
+                    if (dt_temp.Rows.Count < pageSize)
+                    {
+                        break;
+                    }
+                    pageIndex++;
+
+                }
+
+                //if (dStruct.Order.Length > 0) sql.AppendFormat(" order by {0}", dStruct.Order);
+                //if (where.Length > 0) sql = string.Format("select top {0} {1} from {2} where {3}", dStruct.PageSize, dStruct.Fileds, tableName, where);
+                //else sql = string.Format("select top {0} {1} from {2} ", dStruct.PageSize, dStruct.Fileds, tableName);
+
+                return dt;*/
             }
 
             SqlParameter[] sqlParameter ={

+ 4 - 4
SiteCore/taobao/commonHelper.cs

@@ -3152,16 +3152,16 @@ namespace SiteCore
 
         public static void checkIsVipOld(CeErpTrade ceErpTrade)
         {
-            if (ceErpTrade == null)
+            if (ceErpTrade == null || string.IsNullOrEmpty(ceErpTrade.buyer_nick))
             {
                 return;
             }
 
-            string sql = string.Format("SELECT count(*) as number FROM [dbo].[Ce_ErpTrade] WHERE (buyer_nick = '{0}' or buyer_id = '{1}' ) and status = 'COMPLETE' and seller_nick = '{2}'", ceErpTrade.buyer_nick, ceErpTrade.buyer_id, ceErpTrade.seller_nick);
+            string sql = string.Format("SELECT count(*) as number FROM [dbo].[Ce_ErpTrade] WITH(NOLOCK) WHERE (buyer_nick = '{0}' or buyer_id = '{1}' ) and status = 'COMPLETE' and seller_nick = '{2}' and tid <> '{3}'", ceErpTrade.buyer_nick, ceErpTrade.buyer_id, ceErpTrade.seller_nick, ceErpTrade.tid);
             DataTable dataTable = DbHelper.DbConn.ExecuteDataset(sql).Tables[0];
-            if (dataTable == null && dataTable.Rows.Count > 0)
+            if (dataTable != null && dataTable.Rows.Count > 0)
             {
-                int count = Convert.ToInt16(dataTable.Rows[0]["number"]);
+                int count = Convert.ToInt32(dataTable.Rows[0]["number"]);
                 if (count > 0)
                 {
                     DbHelper.DbConn.ExecuteNonQuery(string.Format("UPDATE [dbo].[CE_ErpTradeCell] set VipCustomer = 1 WHERE tid='{0}';", ceErpTrade.tid));

+ 16 - 4
SiteCore/taobao/preSalesHelper.cs

@@ -387,7 +387,11 @@ namespace SiteCore.Handler
                     entity.wechatTag = 0;
                     entity.UpdateTime = DateTime.Now;
                     entity.Update();
-                    CeErpStayGoods pers = CeErpStayGoods.GetByTid(entity.tid);
+                    CeErpStayGoods pers = CeErpStayGoods.GetByCtid(entity.ctid);
+                    if (pers == null)
+                    {
+                        pers = CeErpStayGoods.GetByTid(entity.tid);
+                    }
                     if (pers != null)
                     {
                         pers.status = "取消推购";
@@ -1034,11 +1038,16 @@ namespace SiteCore.Handler
                     else if (tag == 4 || tag == 5)
                     {
                         CeErpTrade main = CeErpTrade.Get(entity.tid);
-                        CeErpStayGoods pers = CeErpStayGoods.GetByTid(entity.tid);
+                        CeErpStayGoods pers = CeErpStayGoods.GetByCtid(entity.ctid);
+                        if (pers == null)
+                        {
+                            pers = CeErpStayGoods.GetByTid(entity.tid);
+                        }
                         if (pers == null)
                         {
                             pers = new CeErpStayGoods();
                             pers.t_id = entity.tid;
+                            pers.ctid = entity.ctid;
                             pers.status = "待审核";
                             pers.audit_type = 0;
                             if (tag == 4)
@@ -1064,6 +1073,7 @@ namespace SiteCore.Handler
                         }
                         else
                         {
+                            pers.ctid = entity.ctid;
                             pers.audit_type = 0;
                             pers.Update();
                         }
@@ -1616,8 +1626,10 @@ namespace SiteCore.Handler
                 createItemOrder(orderList, trade);
                 List<Api_trade_info.bizOrderSplit> bizOrderSplit = bizOrder.bizOrderSplits;
                 callResult = createCellOrder(bizOrderSplit, trade, isCreate);
-
-                commonHelper.checkIsVipOld(trade);
+                if (isCreate)
+                {
+                    commonHelper.checkIsVipOld(trade);
+                }
 
                 if (!string.IsNullOrEmpty(bizOrder.weChatId) && !string.IsNullOrEmpty(bizOrder.phone))
                 {

+ 6 - 2
SiteCore/taobao/tmcHelper.cs

@@ -1084,11 +1084,15 @@ namespace SiteCore
                 try
                 {
                     createCellOrder(trade, tObj.refOid, tObj.sellerMemo, tObj.openBuyerNick);
+                    if (entity.VipCustomer != 1)
+                    {
+                        commonHelper.checkIsVipOld(trade);
+                    }
 
                 }
                 catch (Exception ex)
                 {
-                    XLog.SaveLog(0, res + "|2|" + ex.Message);
+                    XLog.SaveLog(0, res + "|2|" + ex);
                 }
             }
 
@@ -1718,7 +1722,7 @@ namespace SiteCore
                     }
 
                 }
-                commonHelper.checkIsVipOld(father);
+
                 commonHelper.setSpuData(father);
                 //autoCell(tid);
             }