namespace YLErp.Modules.TradeModule { /// /// 交易审核日志 /// public class TradeAuditLogService : YLBaseService { public TradeAuditLogService(OptUserInfo userInfo) : base(userInfo) { } public TradeAuditLogService(YLBaseService baseService) : base(baseService) { } /// /// 获取成交确认字段变更信息 /// public IEnumerable GetLastConfirmChangeMsg(int tradeId) { var lastConfirmId = DbContext.TradeAuditLog .Where(n => n.TradeId == tradeId && n.OptType.Contains("确认交易")) .OrderByDescending(n => n.id) .Select(n => (long?)n.id).FirstOrDefault(); IEnumerable changes = null; if (lastConfirmId.HasValue) { var datas = DbContext.TradeAuditLog .Where(n => n.TradeId == tradeId && (n.AuditFlag & TradeAuditFlag.changMsg) == TradeAuditFlag.changMsg) .OrderBy(n => n.id).Select(n => new { n.DataType, n.Changes }).ToArray(); foreach (var data in datas) { TradeChangeInfo[] changes2 = null; if (data.DataType == "C02") { var arr = JsonHelper.ToObject(data.Changes); List list = new List(); foreach (var item in arr) { if (item[4] != "1") { continue; } list.Add(new TradeChangeInfo() { PropName = item[0], DisplayName = item[1], OldValue = item[2], NewValue = item[3], AuditFlag = TradeAuditFlag.changMsg }); } changes2 = list.ToArray(); } else { changes2 = TradeChangeUtil.DeserializeChanges(data.Changes).Where(n => n.IsChangeMsg).ToArray(); } if (changes == null) { changes = changes2; } else { changes = TradeChangeUtil.MergeChanges(changes, changes2); } } } return changes; } } }