public void InitUserIntegralInfo() { _availableIntegrals = 0; _historyIntegral = 0; if (this != null) { MemberIntegral memberIntegral = Himall_MemberIntegral.FirstOrDefault(); if (memberIntegral != null) { _availableIntegrals = memberIntegral.AvailableIntegrals; _historyIntegral = memberIntegral.HistoryIntegrals; } } }
public void Execute(IJobExecutionContext context) { var MemberIntegral = FindBy((client) => { return(client.Query(@"select * from MemberIntegral a where a.MemberId in (select MemberId from MemberIntegral group by MemberId having count(*) > 1) and Id in (select min(Id) from MemberIntegral group by MemberId having count(*)>1)")); }, SysConfig.MainConnect); if (MemberIntegral.Any()) { foreach (var MemberIntegral_ in MemberIntegral) { try { using (TransactionScope scope = new TransactionScope()) { // 合并积分 Himall_MemberIntegral updateModel = entity.Himall_MemberIntegral.Where(w => w.Id == MemberIntegral_.Id).FirstOrDefault(); if (updateModel != null) { updateModel.HistoryIntegrals = entity.Himall_MemberIntegral.Where(w => w.MemberId == MemberIntegral_.MemberId).Sum(s => s.HistoryIntegrals); updateModel.AvailableIntegrals = entity.Himall_MemberIntegral.Where(w => w.MemberId == MemberIntegral_.MemberId).Sum(s => s.AvailableIntegrals); } // 删除其他重复记录 List <Himall_MemberIntegral> delMemberIntegral = entity.Himall_MemberIntegral.Where(w => w.Id != MemberIntegral_.Id && w.MemberId == MemberIntegral_.MemberId).ToList(); entity.Himall_MemberIntegral.RemoveRange(delMemberIntegral); entity.SaveChanges(); scope.Complete(); } } catch (Exception ex) { Log.Error("合并重复的用户积分信息失败:" + ex.Message + "\r\n" + ex.StackTrace); } } } throw new NotImplementedException(); }