|
@@ -30,58 +30,113 @@ namespace MySystem
|
|
WebCMSEntities spdb = new WebCMSEntities();
|
|
WebCMSEntities spdb = new WebCMSEntities();
|
|
PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
|
|
PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
|
|
DateTime start = DateTime.Now.AddDays(-5);
|
|
DateTime start = DateTime.Now.AddDays(-5);
|
|
- var Binds = spdb.BindRecord.Select(m => new { m.Id, m.CreateTime, m.Status, m.MerNo, m.MerSnNo }).Where(m => m.CreateTime >= start && m.Status == 1).OrderByDescending(m => m.Id).ToList();
|
|
|
|
|
|
+ var Binds = spdb.BindRecord.Select(m => new { m.Id, m.CreateTime, m.Status, m.MerNo, m.MerSnNo, m.Field1 }).Where(m => m.CreateTime >= start && m.Status == 1).OrderByDescending(m => m.Id).ToList();
|
|
foreach (var Bind in Binds)
|
|
foreach (var Bind in Binds)
|
|
{
|
|
{
|
|
var tran = db.Database.BeginTransaction();
|
|
var tran = db.Database.BeginTransaction();
|
|
try
|
|
try
|
|
{
|
|
{
|
|
- PxcModels.MachineForSnNo posFor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == Bind.MerSnNo) ?? new PxcModels.MachineForSnNo();
|
|
|
|
- PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId);
|
|
|
|
- if (pos != null)
|
|
|
|
|
|
+ if(Bind.Field1 == "解绑")
|
|
{
|
|
{
|
|
- pos.BindingState = 1;
|
|
|
|
- pos.BindingTime = Bind.CreateTime;
|
|
|
|
- pos.Status = 0;
|
|
|
|
- PxcModels.MachineForMerNo merFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == Bind.MerNo);
|
|
|
|
- if (merFor == null)
|
|
|
|
|
|
+ string PosSn = Bind.MerSnNo;
|
|
|
|
+ string MerNo = Bind.MerNo;
|
|
|
|
+ PxcModels.MachineForSnNo forSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == PosSn);
|
|
|
|
+ PxcModels.MachineForMerNo forMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == MerNo);
|
|
|
|
+ PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == forSnNo.SnId);
|
|
|
|
+ if (pos.ActivationState == 0 && pos.BuyUserId > 0 && pos.BindingState == 0)
|
|
{
|
|
{
|
|
- merFor = db.MachineForMerNo.Add(new PxcModels.MachineForMerNo()
|
|
|
|
|
|
+ if (forMerNo != null)
|
|
{
|
|
{
|
|
- MerNo = Bind.MerNo,
|
|
|
|
- SnId = pos.Id,
|
|
|
|
- }).Entity;
|
|
|
|
|
|
+ db.MachineForMerNo.Remove(forMerNo);
|
|
|
|
+ db.SaveChanges();
|
|
|
|
+ }
|
|
|
|
+ db.MachineUnBind.Add(new PxcModels.MachineUnBind()
|
|
|
|
+ {
|
|
|
|
+ CreateDate = DateTime.Now,
|
|
|
|
+ MerchantId = pos.BindMerchantId,
|
|
|
|
+ AuditDate = DateTime.Now,
|
|
|
|
+ AuditDesc = "金控推送解绑",
|
|
|
|
+ AuditStatus = 1,
|
|
|
|
+ SnNo = pos.PosSn,
|
|
|
|
+ BrandId = pos.BrandId,
|
|
|
|
+ UserId = pos.BuyUserId,
|
|
|
|
+ ApplyNo = "U" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8),
|
|
|
|
+ });
|
|
|
|
+ pos.BindMerchantId = 0;
|
|
|
|
+ pos.BindingState = 0;
|
|
|
|
+ pos.BindingTime = DateTime.Parse("1900-01-01");
|
|
|
|
+ pos.UserId = pos.BuyUserId;
|
|
|
|
+ string IdBrand = pos.BuyUserId + "_" + pos.BrandId;
|
|
|
|
+ PxcModels.UserMachineData userData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
|
|
|
|
+ if (userData == null)
|
|
|
|
+ {
|
|
|
|
+ userData = db.UserMachineData.Add(new PxcModels.UserMachineData()
|
|
|
|
+ {
|
|
|
|
+ IdBrand = IdBrand,
|
|
|
|
+ }).Entity;
|
|
|
|
+ db.SaveChanges();
|
|
|
|
+ }
|
|
|
|
+ userData.BindCount -= 1;
|
|
|
|
+ userData.UnBindCount += 1;
|
|
|
|
+ db.SaveChanges();
|
|
|
|
+
|
|
|
|
+ BindRecord edit = spdb.BindRecord.FirstOrDefault(m => m.Id == Bind.Id);
|
|
|
|
+ if (edit != null)
|
|
|
|
+ {
|
|
|
|
+ edit.Status = 2;
|
|
|
|
+ spdb.SaveChanges();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- else
|
|
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ PxcModels.MachineForSnNo posFor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == Bind.MerSnNo) ?? new PxcModels.MachineForSnNo();
|
|
|
|
+ PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId);
|
|
|
|
+ if (pos != null)
|
|
{
|
|
{
|
|
- merFor.SnId = pos.Id;
|
|
|
|
- }
|
|
|
|
- db.SaveChanges();
|
|
|
|
- RedisDbconn.Instance.Set("PosMachinesTwo", pos);
|
|
|
|
|
|
+ pos.BindingState = 1;
|
|
|
|
+ pos.BindingTime = Bind.CreateTime;
|
|
|
|
+ pos.Status = 0;
|
|
|
|
+ PxcModels.MachineForMerNo merFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == Bind.MerNo);
|
|
|
|
+ if (merFor == null)
|
|
|
|
+ {
|
|
|
|
+ merFor = db.MachineForMerNo.Add(new PxcModels.MachineForMerNo()
|
|
|
|
+ {
|
|
|
|
+ MerNo = Bind.MerNo,
|
|
|
|
+ SnId = pos.Id,
|
|
|
|
+ }).Entity;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ merFor.SnId = pos.Id;
|
|
|
|
+ }
|
|
|
|
+ db.SaveChanges();
|
|
|
|
+ RedisDbconn.Instance.Set("PosMachinesTwo", pos);
|
|
|
|
|
|
- BindRecord edit = spdb.BindRecord.FirstOrDefault(m => m.Id == Bind.Id);
|
|
|
|
- if (edit != null)
|
|
|
|
- {
|
|
|
|
- edit.Status = 2;
|
|
|
|
- spdb.SaveChanges();
|
|
|
|
- }
|
|
|
|
|
|
+ BindRecord edit = spdb.BindRecord.FirstOrDefault(m => m.Id == Bind.Id);
|
|
|
|
+ if (edit != null)
|
|
|
|
+ {
|
|
|
|
+ edit.Status = 2;
|
|
|
|
+ spdb.SaveChanges();
|
|
|
|
+ }
|
|
|
|
|
|
- string IdBrand = pos.UserId + "_" + pos.BrandId;
|
|
|
|
- PxcModels.UserMachineData MachineData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
|
|
|
|
- if (MachineData == null)
|
|
|
|
- {
|
|
|
|
- MachineData = db.UserMachineData.Add(new PxcModels.UserMachineData()
|
|
|
|
|
|
+ string IdBrand = pos.UserId + "_" + pos.BrandId;
|
|
|
|
+ PxcModels.UserMachineData MachineData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
|
|
|
|
+ if (MachineData == null)
|
|
{
|
|
{
|
|
- IdBrand = IdBrand,
|
|
|
|
- }).Entity;
|
|
|
|
|
|
+ MachineData = db.UserMachineData.Add(new PxcModels.UserMachineData()
|
|
|
|
+ {
|
|
|
|
+ IdBrand = IdBrand,
|
|
|
|
+ }).Entity;
|
|
|
|
+ db.SaveChanges();
|
|
|
|
+ }
|
|
|
|
+ MachineData.BindCount += 1;
|
|
|
|
+ MachineData.UnBindCount -= 1;
|
|
db.SaveChanges();
|
|
db.SaveChanges();
|
|
|
|
+ RedisDbconn.Instance.Set("UserMachineData:" + IdBrand, MachineData);
|
|
}
|
|
}
|
|
- MachineData.BindCount += 1;
|
|
|
|
- MachineData.UnBindCount -= 1;
|
|
|
|
- db.SaveChanges();
|
|
|
|
- tran.Commit();
|
|
|
|
- RedisDbconn.Instance.Set("UserMachineData:" + IdBrand, MachineData);
|
|
|
|
}
|
|
}
|
|
|
|
+ tran.Commit();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
catch (Exception ex)
|
|
{
|
|
{
|