From cc09b6fe6ffac34a4eeeb26d313b187713cae0de Mon Sep 17 00:00:00 2001
From: heyuntao <heyuntao@LAPTOP-MP4HD5NS>
Date: 星期五, 05 五月 2023 09:43:29 +0800
Subject: [PATCH] no message

---
 Api.Operater/Controllers/TkUserinfoController.cs |  157 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 107 insertions(+), 50 deletions(-)

diff --git a/Api.Operater/Controllers/TkUserinfoController.cs b/Api.Operater/Controllers/TkUserinfoController.cs
index 9d2dbf9..f77836a 100644
--- a/Api.Operater/Controllers/TkUserinfoController.cs
+++ b/Api.Operater/Controllers/TkUserinfoController.cs
@@ -30,6 +30,7 @@
 using CommonUtil.Security;
 using CommonUtil.Top;
 using CommonUtil.Db;
+using System.Text;
 
 namespace Api.Operater.Controllers
 {
@@ -336,35 +337,6 @@
         }
 
         /// <summary>
-        ///  鏌ヨ鎴戠殑璁㈠崟鏄庣粏鎺ュ彛
-        /// </summary>
-        /// <param name="request"></param>
-        /// <returns></returns>
-        [HttpPost]
-        [ProducesDefaultResponseType(typeof(GetTkTradeListResponse))]
-        public IActionResult GetTkTradeList([FromBody] GetTkTradeListRequest request)
-        {
-            //鍒嗛〉鎸夋椂闂存煡璇㈣处鍗曟槑缁�
-            var whereexpress = Expressionable.Create<TkTrade>()
-                .And(t => t.Memberid == request.Id.ToString())
-                .AndIF(!request.stime.IsNull() && request.stime > DateTime.Parse("1900-01-01 00:00:00"), t => t.Created >= request.stime)
-                .AndIF(!request.etime.IsNull() && request.etime > DateTime.Parse("1900-01-01 00:00:00"), t => t.Created <= request.etime)
-                .AndIF(!request.tid.IsNullOrEmpty(), t => t.Tid == request.tid)
-                .ToExpression();
-            int totalcount = 0;
-            var orderlist = new TkTradeDAL().ListPageGet(whereexpress, t => t.Created, DbEnum.OrderType.Desc, request.PageNo, request.PageSize, ref totalcount);
-            GetTkTradeListResponse getTkOrderRecord = new GetTkTradeListResponse();
-            if (orderlist.Count > 0)
-            {
-                getTkOrderRecord.TkTrades = orderlist;
-                getTkOrderRecord.PageNo = request.PageNo;
-                getTkOrderRecord.PageSize = request.PageSize;
-                getTkOrderRecord.TotalCount = totalcount;
-            }
-            return Success(getTkOrderRecord);
-        }
-
-        /// <summary>
         /// 鐢熸垚娴锋姤浜岀淮鐮�
         /// </summary>
         /// <param name="request"></param>
@@ -372,35 +344,57 @@
         [HttpPost]
         public IActionResult CreateQrCode([FromBody] CreateQrCodeRequest request)
         {
-            int x = 231; int y = 474; int width = 305; int height=336;
-            string posterPath = Path.Combine("", @"D:\poster.png"); // 鏇挎崲涓轰綘鐨勫疄闄呮捣鎶ョ殑缁濆璺緞
 
-            // 鐢熸垚浜岀淮鐮�
-            QRCodeGenerator qrGenerator = new QRCodeGenerator();
-            QRCodeData qrCodeData = qrGenerator.CreateQrCode(request.url, QRCodeGenerator.ECCLevel.Q);
-            QRCode qrCode = new QRCode(qrCodeData);
-            Bitmap qrCodeImage = qrCode.GetGraphic(20); // 璋冩暣 20 浠ユ帶鍒朵簩缁寸爜鐨勫ぇ灏�
-
-            // 鍦ㄦ捣鎶ヤ腑缁樺埗浜岀淮鐮�
-            using (var posterImage = new Bitmap(posterPath))
-            using (var graphics = Graphics.FromImage(posterImage))
+            //鑾峰彇access_token
+            string access_token = string.Empty;
+            MySqlHelper dbmain = new MySqlHelper();
+            DataTable dt = dbmain.ExecuteDataTable("select fx_wx_token from appset");
+            if (dt != null && dt.Rows.Count > 0)
             {
-                // 灏嗕簩缁寸爜缁樺埗鍦ㄦ寚瀹氬尯鍩�
-                RectangleF qrCodeArea = new RectangleF(x, y, width, height);
-                graphics.DrawImage(qrCodeImage, qrCodeArea);
+                access_token = dt.Rows[0]["fx_wx_token"].ToString();
+               string url = $"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={access_token}";
+                WebUtil util = new WebUtil();
+                Dictionary<string, string> dic = new Dictionary<string, string>();
+                dic.Add("scene", $"invite_code={request.invite_code}");
+                // var result = Newtonsoft.Json.JsonConvert.DeserializeObject<GetwxacodeunlimitResponse>(PostJson(url, dic));
+                var result = Post4Download(url, dic);
 
-                // 灏嗙粯鍒跺悗鐨勬捣鎶ヤ繚瀛樹负鍐呭瓨娴�
-                using (var memoryStream = new MemoryStream())
+               
+                //if (result.errcode != "0")
+                //{
+                //    return Error(result.errmsg);
+                //}
+                byte[] imagebytes =result.Item3;
+                Bitmap qrCodeImage = new Bitmap(new MemoryStream(imagebytes));
+                int x = 430; int y = 1513; int width = 361; int height = 365;
+                string posterPath = Path.Combine("", @"D:\poster.png"); // 鏇挎崲涓轰綘鐨勫疄闄呮捣鎶ョ殑缁濆璺緞
+                // 鍦ㄦ捣鎶ヤ腑缁樺埗浜岀淮鐮�
+                using (var posterImage = new Bitmap(posterPath))
+                using (var graphics = Graphics.FromImage(posterImage))
                 {
-                    posterImage.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png);
+                    // 灏嗕簩缁寸爜缁樺埗鍦ㄦ寚瀹氬尯鍩�
+                    RectangleF qrCodeArea = new RectangleF(x, y, width, height);
+                    graphics.DrawImage(qrCodeImage, qrCodeArea);
 
-                    // 灏嗗唴瀛樻祦杞崲涓哄瓧鑺傛暟缁�
-                    byte[] imageBytes = memoryStream.ToArray();
+                    // 灏嗙粯鍒跺悗鐨勬捣鎶ヤ繚瀛樹负鍐呭瓨娴�
+                    using (var memoryStream = new MemoryStream())
+                    {
+                        posterImage.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png);
 
-                    // 杩斿洖鍥惧儚缁欏墠绔�
-                    return File(imageBytes, "image/png");
+                        // 灏嗗唴瀛樻祦杞崲涓哄瓧鑺傛暟缁�
+                        byte[] imageBytes = memoryStream.ToArray();
+
+                        // 杩斿洖鍥惧儚缁欏墠绔�
+                        return File(imageBytes, "image/png");
+                    }
                 }
+
             }
+            else
+            {
+                return Error("鑾峰彇access_token澶辫触");
+            }
+           
         }
 
         /// <summary>
@@ -428,5 +422,68 @@
                 return result;
             }
         }
+
+        public static Tuple<bool, string, byte[]> Post4Download(string postUrl, object dataObj)
+        {
+            try
+            {
+                var json = JsonConvert.SerializeObject(dataObj, new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore, NullValueHandling = NullValueHandling.Ignore });
+                var byteArray = Encoding.UTF8.GetBytes(json);
+
+                var request = (HttpWebRequest)WebRequest.Create(postUrl);
+                request.Method = "POST";
+                request.KeepAlive = false;
+                request.ProtocolVersion = HttpVersion.Version11;
+                request.Timeout = -1;
+                request.ReadWriteTimeout = -1;
+                request.ContentType = "application/json;charset=utf-8";
+                request.ContentLength = byteArray.Length;
+                request.ServicePoint.Expect100Continue = false;
+
+                using (var stream = request.GetRequestStream())
+                {
+                    stream.Write(byteArray, 0, byteArray.Length);
+                    stream.Flush();
+                }
+
+                //鎺ユ敹杩斿洖淇℃伅
+                var message = "";
+                byte[] buf = null;
+                using (var response = (HttpWebResponse)request.GetResponse())
+                {
+                    if (response.StatusCode == HttpStatusCode.OK)
+                    {
+                        buf = new byte[response.ContentLength];
+                        var responseStream = response.GetResponseStream();
+                        if (responseStream != null)
+                        {
+                            var offset = 0;
+                            do
+                            {
+                                var count = responseStream.Read(buf, offset, buf.Length - offset);
+                                offset += count;
+                            } while (offset < buf.Length);
+                        }
+                        else
+                        {
+                            message = "fail, responseStream is null.";
+                        }
+                    }
+                    else
+                    {
+                        message = $"fail, response.StatusCode is {response.StatusCode}.";
+                    }
+                }
+
+                request.Abort();
+
+                return new Tuple<bool, string, byte[]>(!message.StartsWith("fail, "), message, buf);
+            }
+            catch (Exception ex)
+            {
+                return new Tuple<bool, string, byte[]>(false, $"fail, {ex.Message}", null);
+            }
+        }
+
     }
 }

--
Gitblit v1.9.3