RadioCardController.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using Microsoft.AspNetCore.Mvc;
  2. using Microsoft.AspNetCore.Http;
  3. using Microsoft.Extensions.Logging;
  4. using Microsoft.Extensions.Options;
  5. using System.IO;
  6. using System.Collections.Generic;
  7. using LitJson;
  8. using Library;
  9. using System.Linq;
  10. using System;
  11. using MySystem.MainModels;
  12. namespace MySystem.Areas.Api.Controllers.v1
  13. {
  14. public class RadioCardController : BaseController
  15. {
  16. public RadioCardController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
  17. {
  18. }
  19. //测试
  20. // string apiKey = "12345678";
  21. //生产
  22. string apiKey = "n^ZbEjK%";
  23. #region 广电卡获取机构用户信息
  24. [HttpPost]
  25. [Route("/kxs/gdk/getuserinfo")]
  26. public Dictionary<string, object> GetUserInfo()
  27. {
  28. StreamReader sr = new StreamReader(Request.Body);
  29. string requestMes = sr.ReadToEnd();
  30. function.WriteLog(DateTime.Now.ToString() + ":" + requestMes, "广电卡获取机构用户信息");
  31. JsonData req = JsonMapper.ToObject(requestMes);
  32. string sign = req["sign"].ToString(); //接口签名
  33. string brhUserId = req["brhUserId"].ToString(); //机构用户编码
  34. string month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
  35. int UserId = int.Parse(function.CheckInt(dbconn.DesDecrypt(brhUserId, apiKey)));
  36. Users user = maindb.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
  37. Dictionary<string, object> obj = new Dictionary<string, object>();
  38. Dictionary<string, object> data = new Dictionary<string, object>();
  39. if(user.AuthFlag == 0)
  40. {
  41. obj.Add("resultCode", 0);
  42. obj.Add("errorCode", 40000);
  43. obj.Add("errorDesc", "用户暂未认证");
  44. obj.Add("data", data);
  45. return obj;
  46. }
  47. string timestamp = req["timestamp"].ToString(); //时间戳,精确到秒。签名用参数
  48. obj.Add("resultCode", 1);
  49. data.Add("name",user.RealName); //用户姓名
  50. data.Add("brhMobile",user.Mobile); //机构用户手机号
  51. data.Add("gender",int.Parse(function.CheckInt(user.CertId.Substring(16, 1))) % 2 == 0 ? "1" : "0"); //性别:0 男,1 女
  52. data.Add("idcardNo",user.CertId); //用户身份证号
  53. data.Add("brhUserRegTime",user.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")); //机构用户注册时间
  54. decimal SimTradeAmount = maindb.SimCardDaySummary.Where(m => m.UserId == UserId && m.SeoTitle == "team" && m.TradeMonth == month).Sum(m => m.TradeAmount);
  55. data.Add("paymentPerformance",SimTradeAmount); //用户上月业绩,单位:分
  56. int Percent = function.get_Random(1, 35);
  57. decimal SimProfit = SimTradeAmount * Percent / 100;
  58. data.Add("paymentIncome",SimProfit.ToString()); //用户上月分润收入,单位:分
  59. obj.Add("data", data);
  60. return obj;
  61. }
  62. #endregion
  63. }
  64. }