using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Microsoft.AspNetCore.Authorization; using System.Web; using MySystem.Models.Main1; using MySystem.Service.Main1; using LitJson; using Library; namespace MySystem.Areas.Api.Controllers.v1.Main1 { [Area("Api")] [Route("/v1/QrCodePlateMain/[controller]/[action]")] public class ConsumerOrdersController : BaseController { public ConsumerOrdersController(IHttpContextAccessor accessor) : base(accessor) { } #region 交易查询-直连商户交易列表 [Authorize] public JsonResult DirectConsumerOrdersList(string value) { value = PublicFunction.DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); Dictionary Other = new Dictionary(); List> dataList = DirectConsumerOrdersListDo(value, out Other); return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList, Other = Other }); } private List> DirectConsumerOrdersListDo(string value, out Dictionary Other) { JsonData data = JsonMapper.ToObject(value); string MerchantName = data["MerchantName"].ToString(); //商户名称 string MakerCode = data["MakerCode"].ToString(); //创客编号 string OrderNo = data["OrderNo"].ToString(); //交易号 string CreateDate = data["CreateDate"].ToString(); //交易时间 string PayMode = data["PayMode"].ToString(); //交易平台(1 支付宝 2 微信) string IsAct = data["IsAct"].ToString(); //是否参与分账(0 否 1 是) string Status = data["Status"].ToString(); //交易状态(0 未支付 1 已支付) string SubjectType = data["SubjectType"].ToString(); //主体类型(1 企业 2 个体) int pageSize = int.Parse(function.CheckInt(data["page_size"].ToString())); int pageNum = int.Parse(function.CheckInt(data["page_num"].ToString())); string condition = ""; if (!string.IsNullOrEmpty(data["MerchantName"].ToString())) { var merAddInfo = MerchantAddInfoService.Query(" and CertMerchantName='" + MerchantName + "'"); condition += " and MerchantId='" + merAddInfo.Id + "'"; } if (!string.IsNullOrEmpty(data["MakerCode"].ToString())) { var Ids = MerchantInfoUtil.QueryMerchantIdByMakerCode(MakerCode); condition += " and MerchantId in (" + Ids + ")"; } if (!string.IsNullOrEmpty(data["OrderNo"].ToString())) { condition += " and OrderNo='" + OrderNo + "'"; } if (!string.IsNullOrEmpty(data["CreateDate"].ToString())) { string[] datelist = CreateDate.Split(new string[] { " - " }, StringSplitOptions.None); string start = datelist[0]; string end = datelist[1]; condition += " and CreateDate>='" + start + " 00:00:00' and CreateDate<='" + end + " 23:59:59'"; } if (!string.IsNullOrEmpty(data["PayMode"].ToString())) { condition += " and PayMode='" + PayMode + "'"; } if (!string.IsNullOrEmpty(data["IsAct"].ToString())) { condition += " and IsAct='" + IsAct + "'"; } if (!string.IsNullOrEmpty(data["Status"].ToString())) { if (Status == "0") { condition += " and Status=0"; } else { condition += " and Status>0"; } } if (!string.IsNullOrEmpty(data["SubjectType"].ToString())) { if (data["SubjectType"].ToString() == "1") SubjectType = "SUBJECT_TYPE_ENTERPRISE"; //企业公司 if (data["SubjectType"].ToString() == "2") SubjectType = "SUBJECT_TYPE_INDIVIDUAL"; //个体工商户 var Ids = MerchantInfoUtil.QueryMerchantIdBySubjectType(SubjectType); condition += " and MerchantId in (" + Ids + ")"; } List relationData = new List(); List> dataList = new List>(); Other = new Dictionary(); int count = 0; List> source = ConsumerOrdersService.List(relationData, condition, out count, pageNum, pageSize); foreach (Dictionary subdata in source) { Dictionary curData = new Dictionary(); curData.Add("Id", subdata["Id"].ToString()); //Id var query = MerchantAddInfoService.Query(int.Parse(subdata["MerchantId"].ToString())); var subjectType = 0; curData.Add("MerchantName", query.CertMerchantName); //交易商户 curData.Add("PayMoney", subdata["PayMoney"].ToString()); //交易金额 var status = 0; if (subdata["Status"].ToString() != "0") status = 1; curData.Add("Status", status); //交易状态(0 未支付 1 已支付) curData.Add("PayMode", subdata["PayMode"].ToString()); //交易平台(1 支付宝 2 微信) curData.Add("OrderNo", subdata["OrderNo"].ToString()); //交易号 curData.Add("CreateDate", subdata["CreateDate"].ToString() == null ? "" : DateTime.Parse(subdata["CreateDate"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); //交易时间 curData.Add("MaxDivi", subdata["MaxDivi"].ToString()); //分账金额 if (query.SubjectType == "SUBJECT_TYPE_ENTERPRISE") subjectType = 1; //企业公司 if (query.SubjectType == "SUBJECT_TYPE_INDIVIDUAL") subjectType = 2; //个体工商户 curData.Add("SubjectType", subjectType); //主体类型(1 企业 2 个体) dataList.Add(curData); } Other.Add("Count", count); //总数 return dataList; } #endregion #region 交易查询-直连订单查询分账 [Authorize] public JsonResult DirectQueryDivideAccounts(string value) { value = PublicFunction.DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> dataList = DirectQueryDivideAccountsDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList }); } private List> DirectQueryDivideAccountsDo(string value) { JsonData data = JsonMapper.ToObject(value); string Id = data["Id"].ToString(); //订单Id int pageSize = int.Parse(function.CheckInt(data["page_size"].ToString())); int pageNum = int.Parse(function.CheckInt(data["page_num"].ToString())); string condition = ""; List relationData = new List(); List> dataList = new List>(); List> source = ConsumerOrdersService.List(relationData, condition, pageNum, pageSize); foreach (Dictionary subdata in source) { Dictionary curData = new Dictionary(); dataList.Add(curData); } return dataList; } #endregion } }