| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Http;
- using Microsoft.Extensions.Logging;
- using Microsoft.Extensions.Options;
- using System.IO;
- using System.Collections.Generic;
- using LitJson;
- using Library;
- using System.Linq;
- using System;
- using MySystem.MainModels;
- namespace MySystem.Areas.Api.Controllers.v1
- {
- public class RadioCardController : BaseController
- {
- public RadioCardController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
- {
- }
- //测试
- // string apiKey = "12345678";
- //生产
- string apiKey = "n^ZbEjK%";
- #region 广电卡获取机构用户信息
- [HttpPost]
- [Route("/kxs/gdk/getuserinfo")]
- public Dictionary<string, object> GetUserInfo()
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- function.WriteLog(DateTime.Now.ToString() + ":" + requestMes, "广电卡获取机构用户信息");
- JsonData req = JsonMapper.ToObject(requestMes);
- string sign = req["sign"].ToString(); //接口签名
- string brhUserId = req["brhUserId"].ToString(); //机构用户编码
- string month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
- int UserId = int.Parse(function.CheckInt(dbconn.DesDecrypt(brhUserId, apiKey)));
- Users user = maindb.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
- Dictionary<string, object> obj = new Dictionary<string, object>();
- Dictionary<string, object> data = new Dictionary<string, object>();
- if(user.AuthFlag == 0)
- {
- obj.Add("resultCode", 0);
- obj.Add("errorCode", 40000);
- obj.Add("errorDesc", "用户暂未认证");
- obj.Add("data", data);
- return obj;
- }
- string timestamp = req["timestamp"].ToString(); //时间戳,精确到秒。签名用参数
- obj.Add("resultCode", 1);
- data.Add("name",user.RealName); //用户姓名
- data.Add("brhMobile",user.Mobile); //机构用户手机号
- data.Add("gender",int.Parse(function.CheckInt(user.CertId.Substring(16, 1))) % 2 == 0 ? "1" : "0"); //性别:0 男,1 女
- data.Add("idcardNo",user.CertId); //用户身份证号
- data.Add("brhUserRegTime",user.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")); //机构用户注册时间
- decimal SimTradeAmount = maindb.SimCardDaySummary.Where(m => m.UserId == UserId && m.SeoTitle == "team" && m.TradeMonth == month).Sum(m => m.TradeAmount);
- decimal SimTradeAmountResult = SimTradeAmount * 100;
- data.Add("paymentPerformance",SimTradeAmountResult.ToString("f0")); //用户上月业绩,单位:分
- int Percent = function.get_Random(1, 35);
- decimal SimProfit = SimTradeAmount * Percent;
- data.Add("paymentIncome",SimProfit.ToString("f0")); //用户上月分润收入,单位:分
- obj.Add("data", data);
- return obj;
- }
- #endregion
- #region 预扣款-添加预扣款
- [Route("/v1/kxsmain/tochargebackrecord/addtochargebackrecord")]
- public JsonResult AddToChargeBackRecord(string value)
- {
- // value = DesDecrypt(value);
- function.WriteLog(DateTime.Now.ToString() + "\n" + value + "\n\n", "预扣款-添加预扣款");
- JsonData data = JsonMapper.ToObject(value);
- AppResultJson result = AddToChargeBackRecordDo(value);
- return Json(new AppResultJson() { Status = result.Status, Info = result.Info, Data = result.Data });
- }
- private AppResultJson AddToChargeBackRecordDo(string value)
- {
- JsonData data = JsonMapper.ToObject(value);
- string PosSn = data["PosSn"].ToString(); //机具SN
- Dictionary<string, object> Obj = new Dictionary<string, object>();
- var pos = maindb.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosSn && m.Status > -1) ?? new PosMachinesTwo();
- if (pos.Id > 0)
- {
- bool check = maindb.ToChargeBackRecord.Any(m => m.Field1 == PosSn && m.ChargeType == 124);
- if(!check)
- {
- var brand = maindb.KqProducts.FirstOrDefault(m => m.Id == pos.BrandId) ?? new KqProducts();
- var amount = 0.00M;
- if (brand.Kind == 1) amount = 200;
- if (brand.Kind == 2) amount = 300;
- var ToChargeBackRecord = maindb.ToChargeBackRecord.Add(new ToChargeBackRecord
- {
- CreateDate = DateTime.Now,
- SeoTitle = SysUserName + "_" + SysRealName,
- SeoDescription = "循环过期(" + PosSn + ")",
- Remark = "循环过期(" + PosSn + ")",
- Field1 = PosSn,
- ChargeType = 124,
- Kind = 0,
- ChargeAmount = amount,
- UserId = pos.BuyUserId,
- }).Entity;
- UserAccount account = maindb.UserAccount.FirstOrDefault(m => m.Id == pos.BuyUserId);
- if(account != null)
- {
- account.ToChargeAmount += amount;
- }
- maindb.SaveChanges();
- }
- return new AppResultJson() { Status = "1", Info = "成功", Data = Obj };
- }
- else
- {
- return new AppResultJson() { Status = "-1", Info = "机具不存在", Data = Obj };
- }
- }
- #endregion
- }
- }
|