123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- /* ==============================================================================
- * 功能描述:加锁,解锁请求解析
- * 创 建 者:Garrett
- * 创建日期:2018/8/13 10:08:50
- * ==============================================================================*/
- using Newtonsoft.Json.Linq;
- using SAGA.DotNetUtils.Extend;
- using SAGA.MBI.Common;
- using SAGA.MBI.DataArrange;
- using SAGA.MBI.Model;
- using SAGA.MBI.RequestData;
- using SAGA.MBI.Tools;
- namespace SAGA.MBI.JsonConvert
- {
- /// <summary>
- /// LockRequest
- /// </summary>
- public class LockConvert
- {
- /// <summary>
- /// 获取楼层的加锁状态
- /// </summary>
- /// <param name="floorid">楼层id</param>
- /// <param name="msg">提示信息</param>
- /// <returns></returns>
- public static MFloorLock QueryFloorLockState(string floorid)
- {
- MFloorLock floorLock = new MFloorLock();
- MFloorLockState state = MFloorLockState.Unknow;
- string json = LockRequest.QueryFloorLockState(floorid);
- if (json.IsSuccessRequest())
- {
- JObject jobject = JObject.Parse(json);
- string name = jobject.GetValueEx("name");
- string userPhone = jobject.GetValueEx("phoneNum");
- if (name.IsNullOrEmptyExt() && userPhone.IsNullOrEmptyExt())
- state = MFloorLockState.ULock;
- else
- {
- if (userPhone == MBIControl.ManageInfo.Phone_Num)
- state = MFloorLockState.LockBySelf;
- else
- {
- state = MFloorLockState.LockByOther;
- }
- floorLock.UserName = name;
- floorLock.UserPhone = userPhone;
- }
- }
- floorLock.LockState = state;
- return floorLock;
- }
- /// <summary>
- /// 申请锁
- /// </summary>
- /// <param name="floorid">楼层id</param>
- /// <param name="msg">提示信息</param>
- /// <returns></returns>
- public static bool LockFloor(string floorid, ref string msg)
- {
- //当前用户的手机号
- bool result = false;
- JObject lockJObject = GetLockLogJObject(floorid);
- string json = LockRequest.LockFloor(floorid, MBIControl.ManageInfo.Phone_Num, lockJObject);
- if (json.IsSuccessRequest(ref msg))
- {
- result = true;
- }
- else
- {
- JObject jobject = JObject.Parse(json);
- string name = jobject.GetValueEx("name");
- string userPhone = jobject.GetValueEx("phoneNum");
- if (!name.IsNullOrEmptyExt() && !userPhone.IsNullOrEmptyExt())
- {
- if (userPhone == MBIControl.ManageInfo.Phone_Num)
- result = true;
- else
- {
- msg = $"申请锁失败:\r\n本层已被用户 {name} 锁定,手机号为 {userPhone}";
- }
- }
- }
- return result;
- }
- /// <summary>
- /// 解锁
- /// </summary>
- /// <param name="floorid"></param>
- /// <param name="msg"></param>
- /// <returns></returns>
- public static bool UnLockFloor(string floorid, ref string msg)
- {
- //当前用户的手机号
- bool result = false;
- JObject lockJObject = GetLockLogJObject(floorid);
- string json = LockRequest.UnLockFloor(floorid, MBIControl.ManageInfo.Phone_Num, lockJObject);
- if (json.IsSuccessRequest(ref msg))
- {
- result = true;
- }
- else
- {
- result = false;
- JObject jobject = JObject.Parse(json);
- string name = jobject.GetValueEx("name");
- string userPhone = jobject.GetValueEx("phoneNum");
- if (!name.IsNullOrEmptyExt() && !userPhone.IsNullOrEmptyExt())
- msg = $"解锁失败!\r\n本层加锁用户为 {name} ,手机号为 {userPhone}";
- else
- {
- msg = jobject.GetValueEx("ResultMsg");
- }
- }
- return result;
- }
- /// <summary>
- /// 添加加锁,解锁日志
- /// </summary>
- /// <param name="floorid">楼层id</param>
- /// <param name="userPhone">用户手机号</param>
- /// <param name="userName">用户名称</param>
- /// <param name="islock">是否为加锁</param>
- /// <returns></returns>
- private static JObject GetLockLogJObject(string floorid)
- {
- JObject jObject = new JObject();
- TreeNodeItem floorItem = DalModeFileManange.GetFloorTreeById(floorid);
- if (floorItem != null)
- {
- var floor = floorItem.Item as MFloor;
- jObject.Add("floorName", floor?.ToString());
- var buildingItem = floorItem.Parent;
- var building = buildingItem.Item as MBuilding;
- jObject.Add("buildingId", building?.Id);
- jObject.Add("buildingName", building?.ToString());
- var project = MBIControl.ProjectCur;
- jObject.Add("projectId", project?.Id);
- jObject.Add("projectName", project?.ToString());
- }
- return jObject;
- }
- }
- }
|