using System; using System.Collections.Generic; using System.Linq; using System.Data; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Microsoft.AspNetCore.Authorization; using LitJson; using Library; using MySystem.Service.Main; using MySystem.Models.Main; using System.Text; namespace MySystem.Areas.Api.Controllers.v1 { [Area("Api")] [Route("Api/v1/[controller]/[action]")] public class MerchantInfoController : BaseController { public MerchantInfoController(IHttpContextAccessor accessor) : base(accessor) { } #region 创客-首页-进件查询 // [Authorize] public JsonResult MerchantByStatus(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> dataList = MerchantByStatusDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList }); } public List> MerchantByStatusDo(string value) { JsonData data = JsonMapper.ToObject(value); string SearchKey = data["SearchKey"].ToString(); int Status = int.Parse(function.CheckInt(data["Status"].ToString())); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //所属创客 int PageSize = int.Parse(function.CheckInt(data["PageSize"].ToString())); int PageNum = int.Parse(function.CheckInt(data["PageNum"].ToString())); StringBuilder condition = new StringBuilder(); condition.Condition("UserId", UserId); condition.Condition("Sort", 1); if (Status > 0) { if (Status == 1) Status = 0; if (Status == 2) Status = -1; if (Status == 3) Status = 1; if (Status == 4) Status = 2; condition.Condition("Status", Status); } if(!string.IsNullOrEmpty(SearchKey)) { condition.ConditionLike("Name", SearchKey); } List> list = MerchantInfoService.List(new List(), condition.ToString(), PageNum, PageSize); List> dataList = new List>(); foreach (Dictionary subdata in list) { MerchantAddInfo AddInfo = MerchantAddInfoService.Query(int.Parse(subdata["Id"].ToString())); Dictionary curData = new Dictionary(); curData.Add("Name", subdata["Name"]); //名称 curData.Add("Id", subdata["Id"]); //Id curData.Add("CreateDate", subdata["CreateDate"]); //CreateDate curData.Add("Status", subdata["Status"]); //Status curData.Add("SubjectType", AddInfo.SubjectType); //主体类型 dataList.Add(curData); } return dataList; } #endregion #region 创客-首页-进件查询-详情 // [Authorize] public JsonResult MerchantDetailByStatus(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); Dictionary Obj = MerchantDetailByStatusDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public Dictionary MerchantDetailByStatusDo(string value) { JsonData data = JsonMapper.ToObject(value); Dictionary Obj = new Dictionary(); int Id = int.Parse(function.CheckInt(data["Id"].ToString())); MerchantInfo query = MerchantInfoService.Query(Id); MerchantAddInfo addInfo = MerchantAddInfoService.Query(Id); // Obj.Add("Name", query.Name); //名称 // Obj.Add("CreateDate", query.CreateDate == null ? "" : query.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")); //提交时间 // Obj.Add("Status", addInfo.Status); // Obj.Add("DoTime", addInfo.UpdateDate == null ? "" : addInfo.UpdateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")); // Obj.Add("Season", addInfo.WeChatRemark); // Obj.Add("SignUrl", addInfo.WeChatSignUrl); // Obj.Add("SubjectType", addInfo.SubjectType); Obj.Add("Name", query.Name); //名称 Obj.Add("CreateDate", query.CreateDate == null ? "" : query.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")); //提交时间 List> AuditResult = new List>(); Dictionary WeChat = new Dictionary(); WeChat.Add("Name", "微信"); WeChat.Add("Status", addInfo.Status); WeChat.Add("DoTime", addInfo.UpdateDate == null ? "" : addInfo.UpdateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")); WeChat.Add("Season", addInfo.WeChatRemark); WeChat.Add("SignUrl", addInfo.WeChatSignUrl); AuditResult.Add(WeChat); if(addInfo.QueryCount == -1 || addInfo.QueryCount >= 1) { Dictionary Alipay = new Dictionary(); Alipay.Add("Name", "支付宝"); Alipay.Add("Status", addInfo.QueryCount); Alipay.Add("DoTime", addInfo.UpdateDate == null ? "" : addInfo.UpdateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")); Alipay.Add("Season", addInfo.AlipayRemark); Alipay.Add("SignUrl", function.CheckNull(addInfo.AlipaySignUrl).Replace("\\", "")); AuditResult.Add(Alipay); } Obj.Add("Status", addInfo.Status); Obj.Add("AuditResult", AuditResult); //审核结果 Obj.Add("SubjectType", addInfo.SubjectType); return Obj; } #endregion #region 检查签名是否合法,合法返回1,不合法返回提示信息 /// /// 检查签名是否合法,合法返回1,不合法返回提示信息 /// /// 请求的参数(json字符串) /// 要签名的字段 /// private string CheckSign(string value, string[] signField) { JsonData json = JsonMapper.ToObject(value); Dictionary dic = new Dictionary(); for (int i = 0; i < signField.Length; i++) { dic.Add(signField[i], json[signField[i]].ToString()); } string sign = json["sign"].ToString(); //客户端签名字符串 return new Sign().sign(dic, sign); } #endregion } }