浏览代码

运营中心额度队列恢复
转移运营中心额度记录

lcl 1 年之前
父节点
当前提交
5769658823
共有 3 个文件被更改,包括 73 次插入123 次删除
  1. 1 1
      AppStart/Tables/OpAmountItem.cs
  2. 71 121
      Controllers/HomeController.cs
  3. 1 1
      Startup.cs

+ 1 - 1
AppStart/Tables/OpAmountItem.cs

@@ -35,7 +35,7 @@ namespace MySystem
         public decimal UseValidAmount { get; set; }
 
 
-        //来源类型,区分表(1订单,2机具,3申请记录,4购买运营中心,5预扣款,6机具券)
+        //来源类型,区分表(1订单,2机具,3申请记录,4购买运营中心,5预扣款,6机具券,7兑换大盟主,8仓库)
         public int DataType { get; set; }
 
 

+ 71 - 121
Controllers/HomeController.cs

@@ -168,136 +168,86 @@ namespace MySystem.Controllers
 
         public string test()
         {
-            WebCMSEntities db = new WebCMSEntities();
-            // AlipayPayBack2Service.Instance.DoOrderV2(db, 269424);
-            // db.Dispose();
-            // List<int> ids = new List<int>();
-            // foreach(int id in ids)
-            // {
-            //     TradeChangeService.Instance.StatTradeAmount(id, 2, 1);
-            // }
-
-            // OpModels.WebCMSEntities db = new OpModels.WebCMSEntities();
-            // PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == "8610086012" && m.ActivationState == 0 && !string.IsNullOrEmpty(m.SeoKeyword) && m.SeoKeyword != "0" && (m.CreditTrade >= 1000 || m.BrandId == 14));
-            // if(pos != null)
-            // {
-            //     SycnSpTradeService.Instance.ActPos(db, pos, 0, 30);
-            // }
-
-            // AlipayPayBack2Service.Instance.OperateAmountChange(db, 392, 40000, 2, 1, "商城购机");
-            // AlipayPayBack2Service.Instance.OperateAmountChange(db, 392, 40000, 1, 2, "商城购机");
-            // db.Dispose();
-
-            string result = "ok";
-
-            // result += SetDepositPostService.Instance.ModifyFee("00005002681889119293", 0.0063M, "3") + "\n\n";
-            // result += SetDepositPostService.Instance.SetFeeForSft("39103661", "0.6300", "3") + "\n\n";
-
-            // Dictionary<string, string> headers = new Dictionary<string, string>();
-            // string token = "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImQyN2E2OGY0NzY0MjRiMzJiNjhhM2JlMTc1ZjQ4OGE3In0.xjKmh1Pu9_DvwI-zpML8Z3oqKs99PQW-9aBg-ru2i-xQZYC3yKEtJ_H1_bcw2byGNnMNXMPRlBoDegLpSebXDA";
-            // headers.Add("Authorization", "Bearer " + token);
-            // string str = "{\"feedback_type\":\"1\",\"content\":\"电饭锅电饭锅大范甘迪\"}";
-            // string resultJson = Encrypt(str, "CBTU1dD4Kd5pyiGWTsI10jRQ3SvKusSV", "DYgjCEIMVrj2W9xN");
-            // string ApiResponse = function.PostWebRequest("http://47.108.118.29:8080/v1/cybmain/feedback/feedSave", resultJson, headers, "application/json");
-            // string ApiResponse = function.GetWebRequest("http://47.108.118.29:8080/v1/cybmain/app/authorization");
-            //{"status":1,"messge":null,"data":{"userId":1,"token":"eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImQyN2E2OGY0NzY0MjRiMzJiNjhhM2JlMTc1ZjQ4OGE3In0.xjKmh1Pu9_DvwI-zpML8Z3oqKs99PQW-9aBg-ru2i-xQZYC3yKEtJ_H1_bcw2byGNnMNXMPRlBoDegLpSebXDA","loginTime":1699331586502,"expireTime":1699417986502,"ipaddr":null,"loginLocation":null,"browser":null,"os":null,"user":null},"other":null,"code":"1","timestamp":null}
-
-            //补广电卡奖励
-            // List<int> ids = new List<int>();
-            // DateTime now = DateTime.Now;
-            // foreach(int id in ids)
-            // {
-            //     PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == id);
-            //     if(pos != null)
-            //     {
-            //         if(pos.BrandId == 14 && pos.IsFirst == 1 && pos.BindingTime > now.AddDays(-30))
-            //         {
-            //             RedisDbconn.Instance.AddList("OpenRewardQueue", id);
-            //         }
-            //         if (pos.LeaderUserId > 0 && pos.IsFirst == 1 && db.Leaders.Any(m => m.Id == pos.LeaderUserId && m.ExpiredDate > now) && pos.BindingTime > now.AddDays(-30))
-            //         {
-            //             RedisDbconn.Instance.AddList("LeaderPrizeQueue", id);
-            //         }
-            //         if (pos.IsFirst == 1 && pos.BindingTime > now.AddDays(-30))
-            //         {
-            //             RedisDbconn.Instance.AddList("OperatePrizeQueue", id);
-            //         }
-            //     }
-            // }
-
-            // DataTable dt = CustomerSqlConn.dtable("select KqMerNo from PosMerchantInfo where Id in (select BindMerchantId from PosMachinesTwo where BrandId in (12,13) and DownFeeFlag=1 and DownFeeDate>'2023-11-10 00:00:00')", MysqlConn.SqlConnStr);
-            // foreach(DataRow dr in dt.Rows)
-            // {
-            //     SetDepositPostService.Instance.BoxFee(dr["KqMerNo"].ToString(), "0.60");
-            // }
-
-            // DataTable dt = CustomerSqlConn.dtable("select Id,DownFeeMan from PosMachinesTwo where BrandId in (12,13) and DownFeeFlag=1 and DownFeeDate>='2023-12-01 00:00:00' order by DownFeeDate desc", MysqlConn.ReadSqlConnStr);
-            // foreach(DataRow dr in dt.Rows)
-            // {
-            //     RedisDbconn.Instance.AddList("SetDepositPostQueue", "{\"RecordId\":\"\",\"PosId\":\"" + dr["Id"].ToString() + "\",\"Fee\": \"0.6\",\"Kind\": \"2\",\"OpMan\": \"" + dr["DownFeeMan"].ToString() + "\"}");
-            // }
-
-            // DataTable dt = CustomerSqlConn.dtable("select Id from Orders where Status>0 and ProductId in (10,11,77,78,79) and CreateDate>='2023-12-10 00:00:00'", MysqlConn.ReadSqlConnStr);
-            // foreach(DataRow dr in dt.Rows)
-            // {
-            //     RedisDbconn.Instance.AddList("AddPosCouponPrizeQueue", dr["Id"].ToString());
-            // }
-
-            // WebCMSEntities db = new WebCMSEntities();
-            // var poslist = db.PosMachinesTwo.Select(m => new { m.Id, m.BrandId, m.CardType, m.IsPurchase, m.PosSn }).Where(m => m.BrandId == 14 && m.CardType == 2 && m.IsPurchase == 1).ToList();
-            // foreach(var pos in poslist)
-            // {
-            //     bool check = db.MachineApply.Any(m => m.SwapSnExpand.Contains(pos.PosSn));
-            //     if(!check)
-            //     {
-            //         PosMachinesTwo edit = db.PosMachinesTwo.FirstOrDefault(m => m.Id == pos.Id);
-            //         if(edit != null)
-            //         {
-            //             edit.IsPurchase = 0;
-            //             db.SaveChanges();
-            //         }
-            //     }
-            // }
-            // PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == "00003102702303069436067") ?? new PosMachinesTwo();
-            // PosMerchantInfo check = db.PosMerchantInfo.FirstOrDefault(m => m.KqSnNo == "00003102702303069436067") ?? new PosMerchantInfo();
-            // // int RecordId = PublicFunction.FeeSetRecord(db, pos, check, 0.63M);
-            // string info = "{\"RecordId\":\"65931\",\"PosId\":\"" + pos.Id + "\",\"Fee\": \"0.63\",\"Kind\": \"2\",\"OpMan\": \""+"系统"+"\"}";
-            // RedisDbconn.Instance.AddList("SetDepositQueue", info);
-
-            // StoreApplyHelper.Instance.DoSomething(db, 49690);
-
-            // db.Dispose();
-
-            return result;
-        }
-
-        public string Encrypt(string plainText, string keyString, string ivString)
-        {
-            byte[] cipherData;
-            Aes aes = Aes.Create();
-            aes.Key = System.Text.Encoding.UTF8.GetBytes(keyString);
-            aes.IV = System.Text.Encoding.UTF8.GetBytes(ivString);
-            aes.Mode = CipherMode.CBC;
-            aes.Padding = PaddingMode.PKCS7;
-            ICryptoTransform cipher = aes.CreateEncryptor(aes.Key, aes.IV);
-
-            using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
+            OpModels.WebCMSEntities db = new OpModels.WebCMSEntities();
+            List<int> ids = new List<int>();
+            List<OpModels.ChangeTypes> typelist = db.ChangeTypes.ToList();
+            List<OpModels.AmountRecord> list = db.AmountRecord.OrderBy(m => m.Id).ToList();
+            int index = 0;
+            foreach(OpModels.AmountRecord sub in list)
             {
-                using (CryptoStream cs = new CryptoStream(ms, cipher, CryptoStreamMode.Write))
+                index += 1;
+                if(!ids.Contains(sub.Id))
                 {
-                    using (System.IO.StreamWriter sw = new System.IO.StreamWriter(cs))
+                    int OperateType = sub.OperateType;
+                    OpModels.ChangeTypes type = typelist.FirstOrDefault(m => m.Name == sub.SeoDescription) ?? new OpModels.ChangeTypes();
+                    decimal UseAmount = sub.UseAmount;
+                    decimal UseTotalAmt = 0;
+                    decimal UseValidForGetAmount = 0;
+                    decimal UseValidAmount = 0;
+                    if(type.Name == "商城购机" || type.Name == "购买小盟主" || type.Name == "购买运营中心")
                     {
-                        sw.Write(plainText);
+                        UseTotalAmt = -UseAmount;
+                        UseValidForGetAmount = UseAmount;
+                        OpModels.AmountRecord same = db.AmountRecord.FirstOrDefault(m => m.UserId == sub.UserId && m.CreateDate >= sub.CreateDate && m.CreateDate <= sub.CreateDate.Value.AddSeconds(5) && m.UseAmount == UseAmount && m.SeoDescription == sub.SeoDescription && m.OperateType == 1) ?? new OpModels.AmountRecord();
+                        ids.Add(same.Id);
+                    }
+                    else
+                    {
+                        if(sub.Version == 1)
+                        {
+                            UseTotalAmt = UseAmount;
+                        }
+                        else if(sub.Version == 2)
+                        {
+                            UseValidForGetAmount = UseAmount;
+                        }
+                        else if(sub.Version == 3)
+                        {
+                            UseValidAmount = UseAmount;
+                        }
+                        else
+                        {
+                            if(sub.OperateType == 1)
+                            {
+                                UseTotalAmt = UseAmount;
+                            }
+                            else
+                            {
+                                UseTotalAmt = -UseAmount;
+                            }
+                        }
+                    }
+                    
+                    OpModels.AmountRecordNew add = db.AmountRecordNew.Add(new OpModels.AmountRecordNew()
+                    {
+                        CreateDate = sub.CreateDate,
+                        UpdateDate = sub.UpdateDate,
+                        ChangeTypeId = type.Id,
+                        Remark = sub.SeoDescription,
+                        AfterValidForGetAmount = sub.AfterValidForGetAmount,
+                        AfterTotalAmt = sub.AfterTotalAmt,
+                        AfterValidAmount = sub.AfterValidAmount,
+                        OperateType = OperateType,
+                        AfterAmount = sub.AfterAmount,
+                        BeforeAmount = sub.BeforeAmount,
+                        UseAmount = UseAmount,
+                        UserId = sub.UserId,
+                        UseValidForGetAmount = UseValidForGetAmount,
+                        UseTotalAmt = UseTotalAmt,
+                        UseValidAmount = UseValidAmount,
+                    }).Entity;
+                    if(index % 100 == 0)
+                    {
+                        db.SaveChanges();
                     }
                 }
-
-                cipherData = ms.ToArray();
             }
+            db.SaveChanges();
+            db.Dispose();
 
-            return Convert.ToBase64String(cipherData);
+            return "ok";
         }
 
-
         public string setlee()
         {
             WebCMSEntities db = new WebCMSEntities();

+ 1 - 1
Startup.cs

@@ -220,7 +220,7 @@ namespace MySystem
                 LeaderAmountMonthChangeQueue.Instance.Start(); //每月一号记录上月盟主储蓄金和可提现余额
                 LeaderCompPrizeHelper.Instance.Start(); //领导人达标奖
                 ResetPosFirstFlagAndIsExecuteService.Instance.Start(); //每月1号计算商户首台机具标记
-                // OperateAmountRecordService.Instance.Start(); //运营中心额度变更
+                OperateAmountRecordService.Instance.Start(); //运营中心额度变更
 
                 ChangePosTimer.Instance.Start(); //售后换新执行机具数据转移
                 RecommendActStatService.Instance.Start(); //推荐王奖励数据统计