private string GetXml(RoomUserEntity entity) { var flag = entity.SyncVersion == 0 ? "C" : "U"; //增|删|改,C|D|U if (entity.Deleted) { flag = "D"; } var person = _personRepository.GetById(entity.PersonUUID); //用户 var room = _roomService.GetById(entity.RoomUUID); //房间信息 var area = _areaService.GetById(room.AreaUUID); // 区域信息 //卡 var cardQuery = from c in _cardRepository.Table join uc in _userCardRepository.Table on c.CardUUID equals uc.CardUUID where !uc.Deleted && uc.RoomUserUUID == entity.RoomUserUUID orderby c.CreateTime descending select c; var card = cardQuery.FirstOrDefault(); var xmlBuilder = new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); xmlBuilder.Append("<Tpp2Fpp>"); xmlBuilder.Append("<ReqHeader>"); xmlBuilder.AppendFormat("<ReqSeqNo>{0}</ReqSeqNo>", Utils.MakeRndName()); xmlBuilder.AppendFormat("<ReqSPID>{0}</ReqSPID>", DESHelper.Encrypt3Des(Constant.LkbAccount, Constant.DescKeyBytes)); xmlBuilder.AppendFormat("<ReqCode>{0}</ReqCode>", DESHelper.Encrypt3Des(Constant.LkbPassword, Constant.DescKeyBytes)); xmlBuilder.Append("</ReqHeader>"); xmlBuilder.Append("<ReqBody>"); xmlBuilder.Append("<userhouse>"); xmlBuilder.AppendFormat("<userid>{0}</userid>", entity.RoomUserUUID); xmlBuilder.AppendFormat("<houseid>{0}</houseid>", room.AreaUUID); xmlBuilder.AppendFormat("<date>{0}</date>", entity.LiveDate.HasValue ? entity.LiveDate.Value.ToString("yyyyMMddHHmmss") : ""); xmlBuilder.AppendFormat("<udate>{0}</udate>", entity.CreateDate.ToString("yyyyMMddHHmmss")); xmlBuilder.AppendFormat("<reltype>{0}</reltype>", entity.FamilyRelationDict?.DictCode ?? ""); //关联类型 xmlBuilder.AppendFormat("<parm1>{0}</parm1>", ""); //持卡类型:1:主卡, 2:附属卡 xmlBuilder.AppendFormat("<parm2>{0}</parm2>", ""); xmlBuilder.AppendFormat("<edate>{0}</edate>", entity.LeaveDate.HasValue ? entity.LeaveDate.Value.ToString("yyyyMMddHHmmss") : ""); xmlBuilder.AppendFormat("<state>{0}</state>", ""); //文档中未提及 xmlBuilder.AppendFormat("<idcard>{0}</idcard>", DESHelper.Encrypt3Des(person.IDCardNo, Constant.DescKeyBytes)); //证件号码(需要加密) 必填 xmlBuilder.AppendFormat("<arcode>{0}</arcode>", area.AreaCode); //房屋区域层级编码 必填 xmlBuilder.AppendFormat("<crk_uuid>{0}</crk_uuid>", card.CardUUID); xmlBuilder.AppendFormat("<crk_crkno>{0}</crk_crkno>", card.CardNo); xmlBuilder.AppendFormat("<flag>{0}</flag>", flag); xmlBuilder.Append("</userhouse>"); xmlBuilder.Append("</ReqBody> "); xmlBuilder.Append("</Tpp2Fpp> "); return(xmlBuilder.ToString()); }
public void UpdateLeaveStatus(RoomUserEntity roomUser) { var entity = _roomUserRepository.GetById(roomUser.RoomUserUUID); entity.Status = 0; _roomUserRepository.Update(entity); var person = _personRepository.GetById(entity.PersonUUID); person.IsLived = 2; _personRepository.Update(person); Synchronization(entity.RoomUserUUID); }