PublicMethodController.cs 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Microsoft.AspNetCore.Mvc;
  6. using Microsoft.AspNetCore.Http;
  7. using Microsoft.Extensions.Logging;
  8. using Microsoft.Extensions.Options;
  9. using System.DrawingCore.Imaging;
  10. using System.IO;
  11. using Library;
  12. using System.Collections;
  13. using LitJson;
  14. using System.Globalization;
  15. using System.Web;
  16. using System.Text.RegularExpressions;
  17. // For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
  18. namespace MySystem.Areas.Api.Controllers
  19. {
  20. [Area("Api")]
  21. [Route("Api/[controller]/[action]")]
  22. public class PublicMethodController : BaseController
  23. {
  24. public PublicMethodController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
  25. {
  26. }
  27. #region 系统-上传图片
  28. public JsonResult UploadPhotoByBase64(string value)
  29. {
  30. try
  31. {
  32. value = value.Replace("data:image/png;base64,", "");
  33. string base64str = HttpUtility.UrlDecode(value).Replace(" ", "+");
  34. string dummyData = base64str.Replace("%", "").Replace(",", "").Replace(" ", "+");
  35. if (dummyData.Length % 4 > 0)
  36. {
  37. dummyData = dummyData.PadRight(dummyData.Length + 4 - dummyData.Length % 4, '=');
  38. }
  39. string Icon = function.base64StringToImage(dummyData, "/static/upload/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/", "MT" + function.MD5_16(Guid.NewGuid().ToString()) + ".png");
  40. return Json(new AppResultJson() { Status = "1", Info = "", Data = Icon });
  41. }
  42. catch (Exception ex)
  43. {
  44. function.WriteLog(DateTime.Now + ":" + ex.ToString(), "系统上传图片异常");
  45. return Json(new AppResultJson() { Status = "1", Info = "", Data = "" });
  46. }
  47. }
  48. #endregion
  49. #region 获取好哒订单结算金额
  50. public int GetSettleOrderAmount(string orderNo, string date)
  51. {
  52. string content = function.ReadInstance("/log/分账回调(好哒)/" + date.Replace("-", "/") + "/content.log");
  53. Match m = Regex.Match(content, "{.*?" + orderNo + ".*?}");
  54. if(m.Success)
  55. {
  56. JsonData jsonObj = JsonMapper.ToObject(m.Value);
  57. return int.Parse(function.CheckInt(jsonObj["settleAmount"].ToString()));
  58. }
  59. return 0;
  60. }
  61. public string GetSettleOrderAmountList(string date)
  62. {
  63. string result = "[";
  64. string content = function.ReadInstance("/log/分账回调(好哒)/" + date.Replace("-", "/") + "/content.log");
  65. MatchCollection mc = Regex.Matches(content, "{.*?}");
  66. foreach(Match m in mc)
  67. {
  68. JsonData jsonObj = JsonMapper.ToObject(m.Value);
  69. int settleAmount = int.Parse(function.CheckInt(jsonObj["settleAmount"].ToString()));
  70. string orderNo = jsonObj["orderNo"].ToString();
  71. result += "{\"settleAmount\":" + settleAmount + ",\"orderNo\":\"" + orderNo + "\"},";
  72. }
  73. result = result.TrimEnd(',');
  74. result += "]";
  75. return result;
  76. }
  77. #endregion
  78. }
  79. }