You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

UserApiController.cs.14708.1.2019-11-27.17-54-45.9048 31 KiB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Configuration;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.Http;
  8. using System.Web.Http.Results;
  9. using Learun.Application.Base.AuthorizeModule;
  10. using Learun.Application.Base.SystemModule;
  11. using Learun.Application.OA.File.FileFolder;
  12. using Learun.Application.OA.File.FileInfo;
  13. using Learun.Application.Organization;
  14. using Learun.Application.TwoDevelopment.EducationalAdministration;
  15. using Learun.Application.TwoDevelopment.Permission;
  16. using Learun.Util;
  17. using Nancy;
  18. using Nancy.Extensions;
  19. using Newtonsoft.Json;
  20. using Permission.Service.DTO.ApiModels;
  21. using Permission.Utils.FormatModels;
  22. using UserModel = Permission.Service.DTO.ApiModels.UserModel;
  23. namespace Learun.Application.WebApi.Modules.Feixing
  24. {
  25. public class UserApiController : FeixingNoAuthentication
  26. {
  27. private UserIBLL userIbll = new UserBLL();
  28. private EmpInfoIBLL empInfoIbll = new EmpInfoBLL();
  29. private DepartmentIBLL departmentIbll = new DepartmentBLL();
  30. private CompanyIBLL companyIbll = new CompanyBLL();
  31. private Perm_ChartGroupIBLL chartGroupIbll = new Perm_ChartGroupBLL();
  32. private DataItemIBLL dataItemIBLL = new DataItemBLL();
  33. DataSourceIBLL dataSourceIBLL = new DataSourceBLL();
  34. private FileFolderIBLL fileFolderBLL = new FileFolderBLL();
  35. private FileInfoIBLL fileInfoBLL = new FileInfoBLL();
  36. Perm_FunctionIBLL permFunctionIbll = new Perm_FunctionBLL();
  37. AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL();
  38. private UserRelationIBLL userRelationIBLL = new UserRelationBLL();
  39. public UserApiController()
  40. : base("/api/")
  41. {
  42. Get["/userlogin"] = CheckLogin;
  43. Get["/getusers"] = GetUserOrgList;
  44. Get["/getgroups"] = GetGroups;
  45. Get["/getuser"] = GetUserInfo;
  46. Post["/updateuser"] = UpdateUserInfo;
  47. Get["/getdictitems"] = GetDictitems;
  48. Get["/getdfiles"] = GetdFiles;
  49. Post["savefolder"] = SaveFolder;
  50. Post["/editfolder"] = EditFolder;
  51. Post["/editdfile"] = EditFile;
  52. Post["/delfolder"] = DelFolder;
  53. Post["/delfile"] = DelFile;
  54. Get["/getmainserver"] = GetMainServer;
  55. Get["/getssopublicsecret"] = GetSSOPublicSecret;
  56. Post["/savefile"] = SaveFile;
  57. Get["/getsystems"] = GetSystems;
  58. }
  59. private Response GetSystems(dynamic _)
  60. {
  61. string userid = Request.Query["userId"];
  62. var data = permFunctionIbll.GetListByUserId(userid);
  63. List<SystemInfoApiViewModel> sysinfolist = new List<SystemInfoApiViewModel>();
  64. foreach (var dataitem in data)
  65. {
  66. SystemInfoApiViewModel sysinfo = new SystemInfoApiViewModel();
  67. sysinfo.Id = dataitem.FId;
  68. sysinfo.SysTypeName = dataitem.FTName;
  69. sysinfo.SysName = dataitem.FName;
  70. sysinfo.SysHost = dataitem.FUrl;
  71. sysinfo.SysInterface = dataitem.FInterfaceUrl;
  72. sysinfo.IsManagerPage = Convert.ToInt32(dataitem.FIsManagePage != null && dataitem.FIsManagePage.Value);
  73. sysinfo.SysSecret = dataitem.FSecret;
  74. var imagePath = annexesFileIBLL.GetEntityByFolderId(dataitem.FImage).F_FilePath;
  75. if (!string.IsNullOrEmpty(imagePath))
  76. sysinfo.SysLogo = imagePath.Substring(imagePath.IndexOf("Resource") - 1);
  77. sysinfolist.Add(sysinfo);
  78. }
  79. return Success("ok", sysinfolist);
  80. }
  81. private Response SaveFile(dynamic _)
  82. {
  83. var reqbody = JsonConvert.DeserializeObject<dynamic>(Request.Body.AsString());
  84. if (reqbody == null)
  85. {
  86. return Fail("响应失败,参数错误");
  87. }
  88. FileInfoEntity folder = new FileInfoEntity();
  89. folder.Create();
  90. folder.F_FileName = reqbody.FileName;
  91. folder.F_CreateUserId = reqbody.UserId;
  92. folder.F_ModifyUserId = reqbody.UserId;
  93. folder.F_FolderId = reqbody.FolderId;
  94. if (folder.F_FolderId==null)
  95. {
  96. folder.F_FolderId = "0";
  97. }
  98. folder.F_FileSize = reqbody.FileSize;
  99. folder.F_FileExtensions = reqbody.ExtendName;
  100. folder.F_FileType = folder.F_FileExtensions.TrimStart('.');
  101. folder.F_FilePath = reqbody.FileUrl;
  102. folder.F_DeleteMark = 0;
  103. fileInfoBLL.SaveForm(null, folder);
  104. return Success("ok", folder.F_FolderId);
  105. }
  106. private Response GetSSOPublicSecret(dynamic _)
  107. {
  108. string webrootpath = ConfigurationManager.AppSettings.Get("SSOPublicSecret");
  109. return Success("ok", webrootpath);
  110. }
  111. private Response GetMainServer(dynamic _)
  112. {
  113. string webrootpath = ConfigurationManager.AppSettings.Get("webrootpath");
  114. return Success("ok", webrootpath);
  115. }
  116. private Response DelFile(dynamic _)
  117. {
  118. var reqbody = JsonConvert.DeserializeObject<dynamic>(Request.Body.AsString());
  119. if (reqbody == null)
  120. {
  121. return Fail("响应失败,参数错误");
  122. }
  123. FileInfoEntity fileInfo = fileInfoBLL.GetEntity(reqbody.fileid.ToString());
  124. if (fileInfo != null)
  125. {
  126. fileInfoBLL.RemoveForm(fileInfo.F_FileId);
  127. }
  128. return Success("ok");
  129. }
  130. private Response DelFolder(dynamic _)
  131. {
  132. var reqbody = JsonConvert.DeserializeObject<dynamic>(Request.Body.AsString());
  133. if (reqbody == null)
  134. {
  135. return Fail("响应失败,参数错误");
  136. }
  137. FileFolderEntity fileInfo = fileFolderBLL.GetEntity(reqbody.fileid.ToString());
  138. if (fileInfo != null)
  139. {
  140. fileFolderBLL.RemoveForm(fileInfo.F_FolderId);
  141. }
  142. return Success("ok");
  143. }
  144. private Response EditFile(dynamic _)
  145. {
  146. var reqbody = JsonConvert.DeserializeObject<dynamic>(Request.Body.AsString());
  147. if (reqbody == null)
  148. {
  149. return Fail("响应失败,参数错误");
  150. }
  151. FileInfoEntity fileInfo = fileInfoBLL.GetEntity(reqbody.fileid.ToString());
  152. fileInfo.F_FileName = reqbody.newfilename;
  153. fileInfo.F_ModifyUserId = reqbody.userid;
  154. fileInfoBLL.SaveForm(fileInfo.F_FileId, fileInfo);
  155. return Success("ok");
  156. }
  157. private Response EditFolder(dynamic _)
  158. {
  159. var reqbody = JsonConvert.DeserializeObject<dynamic>(Request.Body.AsString());
  160. if (reqbody == null)
  161. {
  162. return Fail("响应失败,参数错误");
  163. }
  164. FileFolderEntity folder = fileFolderBLL.GetEntity(reqbody.folderid.ToString());
  165. folder.F_FolderName = reqbody.newfoldername;
  166. folder.F_ModifyUserId = reqbody.userid;
  167. fileFolderBLL.SaveForm(folder.F_FolderId, folder);
  168. return Success("ok");
  169. }
  170. private Response SaveFolder(dynamic _)
  171. {
  172. var reqbody = JsonConvert.DeserializeObject<dynamic>(Request.Body.AsString());
  173. if (reqbody == null)
  174. {
  175. return Fail("响应失败,参数错误");
  176. }
  177. FileFolderEntity folder = new FileFolderEntity();
  178. folder.Create();
  179. folder.F_FolderName = reqbody.FolderName;
  180. folder.F_CreateUserId = reqbody.UserId;
  181. folder.F_ModifyUserId = reqbody.UserId;
  182. folder.F_ParentId = reqbody.Parent;
  183. folder.F_DeleteMark = 0;
  184. fileFolderBLL.SaveForm(null, folder);
  185. return Success("ok", folder.F_FolderId);
  186. }
  187. private Response GetdFiles(dynamic _)
  188. {
  189. string userid = Request.Query["userid"];
  190. if (string.IsNullOrEmpty(userid))
  191. {
  192. return Fail("响应失败userid为空");
  193. }
  194. try
  195. {
  196. string webrootpath = ConfigurationManager.AppSettings.Get("webrootpath");
  197. List<NetDiskFile> diskFilelist = new List<NetDiskFile>();
  198. List<BaseFile> files = new List<BaseFile>();
  199. var folderlist = fileFolderBLL.GetList(userid).Where(m => m.F_DeleteMark == 0);
  200. foreach (var folderEntity in folderlist)
  201. {
  202. BaseFile baseFile = new BaseFile
  203. {
  204. FileId = folderEntity.F_FolderId,
  205. Name = folderEntity.F_FolderName,
  206. ParentId = string.IsNullOrEmpty(folderEntity.F_ParentId) ? "0" : folderEntity.F_ParentId,
  207. FileType = 0,
  208. DownloadPath = "",
  209. TotalBytes = 0,
  210. ModifiedTime = folderEntity.F_ModifyDate ?? folderEntity.F_CreateDate.Value
  211. };
  212. files.Add(baseFile);
  213. }
  214. var filelist = fileInfoBLL.GetList(userid).Where(m => m.F_DeleteMark == 0);
  215. foreach (var fileInfoEntity in filelist)
  216. {
  217. BaseFile baseFile = new BaseFile
  218. {
  219. FileId = fileInfoEntity.F_FileId,
  220. Name = fileInfoEntity.F_FileName,
  221. ParentId = fileInfoEntity.F_FolderId,
  222. FileType = FileTypeConvert.ConvertToIntType(fileInfoEntity.F_FileType),
  223. DownloadPath = webrootpath + fileInfoEntity.F_FilePath.TrimStart('~'),
  224. TotalBytes = Convert.ToInt32(fileInfoEntity.F_FileSize),
  225. ModifiedTime = fileInfoEntity.F_ModifyDate ?? fileInfoEntity.F_CreateDate.Value
  226. };
  227. files.Add(baseFile);
  228. }
  229. var d = files.Where(f => f.ParentId == "0").ToList();
  230. foreach (var fmodel in d)
  231. {
  232. NetDiskFile diskFile = new NetDiskFile
  233. {
  234. FileId = fmodel.FileId,
  235. Name = fmodel.Name,
  236. FileType = fmodel.FileType,
  237. TotalBytes = fmodel.TotalBytes,
  238. DownloadPath = fmodel.DownloadPath,
  239. ModifiedTime = fmodel.ModifiedTime,
  240. ChildFiles = CreateChildTree(files, fmodel)
  241. };
  242. diskFilelist.Add(diskFile);
  243. }
  244. var data = diskFilelist.OrderBy(r => r.FileType).ToList();
  245. return Success("ok", data);
  246. }
  247. catch (Exception e)
  248. {
  249. return Fail("响应失败");
  250. }
  251. }
  252. /// <summary>
  253. /// 递归生成子树
  254. /// </summary>
  255. /// <param name="list"></param>
  256. /// <param name="model"></param>
  257. /// <returns></returns>
  258. private List<NetDiskFile> CreateChildTree(List<BaseFile> list, BaseFile model)
  259. {
  260. string parentid = model.FileId;//根节点ID
  261. List<NetDiskFile> nodeList = new List<NetDiskFile>();
  262. var children = list.Where(t => t.ParentId == parentid);
  263. if (children.Any())
  264. {
  265. NetDiskFile node = null;
  266. foreach (var chl in children)
  267. {
  268. node = new NetDiskFile
  269. {
  270. FileId = chl.FileId,
  271. Name = chl.Name,
  272. FileType = chl.FileType,
  273. TotalBytes = chl.TotalBytes,
  274. DownloadPath = chl.DownloadPath,
  275. ModifiedTime = chl.ModifiedTime,
  276. ChildFiles = CreateChildTree(list, chl)
  277. };
  278. nodeList.Add(node);
  279. }
  280. }
  281. return nodeList;
  282. }
  283. private Response GetDictitems(dynamic _)
  284. {
  285. try
  286. {
  287. string req = Request.Query["code"];
  288. if (string.IsNullOrEmpty(req))
  289. {
  290. return Fail("响应失败code为空");
  291. }
  292. if (req == "Political")
  293. {
  294. var data = dataSourceIBLL.GetDataTable("BCdPartyFace", "");
  295. DictDataModel dictDataModel = new DictDataModel();
  296. for (int i = 0; i < data.Rows.Count; i++)
  297. {
  298. dictDataModel.Items.Add(new SysDictDetailApiViewModel
  299. {
  300. ItemName = data.Rows[i]["partyface"].ToString(),
  301. ItemValue = data.Rows[i]["partyfaceno"].ToString()
  302. });
  303. }
  304. return Success("OK", dictDataModel);
  305. }
  306. if (req == "Nation")
  307. {
  308. var data = dataSourceIBLL.GetDataTable("BCdNationality", "");
  309. DictDataModel dictDataModel = new DictDataModel();
  310. for (int i = 0; i < data.Rows.Count; i++)
  311. {
  312. dictDataModel.Items.Add(new SysDictDetailApiViewModel
  313. {
  314. ItemName = data.Rows[i]["nationality"].ToString(),
  315. ItemValue = data.Rows[i]["nationalityno"].ToString()
  316. });
  317. }
  318. return Success("OK", dictDataModel);
  319. }
  320. if (req == "gender")
  321. {
  322. var data = dataItemIBLL.GetDetailList("usersex", "");
  323. DictDataModel dictDataModel = new DictDataModel();
  324. foreach (var t in data)
  325. {
  326. dictDataModel.Items.Add(new SysDictDetailApiViewModel
  327. {
  328. ItemName = t.F_ItemName,
  329. ItemValue = t.F_ItemValue
  330. });
  331. }
  332. return Success("OK", dictDataModel);
  333. }
  334. return Fail("响应失败code未找到");
  335. }
  336. catch (Exception e)
  337. {
  338. return Fail("响应失败");
  339. }
  340. }
  341. private Response UpdateUserInfo(dynamic model)
  342. {
  343. UserModel userModel = JsonConvert.DeserializeObject<UserModel>(Request.Body.AsString());
  344. var userinfo = userIbll.GetEntityByUserId(userModel.UserId);
  345. if (!string.IsNullOrEmpty(userModel.HeadBytes))
  346. {
  347. try
  348. {
  349. string radomstr = Util.CommonHelper.CreateNo();
  350. byte[] headbytes = Convert.FromBase64String(userModel.HeadBytes);
  351. string filepath = ConfigurationManager.AppSettings["AnnexesFile"] + "\\" + userModel.Account +
  352. "\\" + DateTime.Now.ToString("yyyyMMdd");
  353. if (!Directory.Exists(filepath))
  354. {
  355. Directory.CreateDirectory(filepath);
  356. }
  357. File.WriteAllBytes(filepath+"\\"+ radomstr + ".jpg",headbytes);
  358. userinfo.F_HeadIcon = "/Resource/" + userModel.Account +"/"+DateTime.Now.ToString("yyyyMMdd") +"/"+ radomstr + ".jpg";
  359. //更新子表
  360. var empinfo = empInfoIbll.GetEmpInfoEntityByEmpNo(userinfo.F_Account);
  361. if (!string.IsNullOrEmpty(empinfo.Photo))
  362. {
  363. var annexesFileEntity = annexesFileIBLL.GetEntityByFolderId(empinfo.Photo);
  364. annexesFileEntity.F_FilePath = filepath + "\\" + radomstr + ".jpg";
  365. annexesFileEntity.F_FileName = radomstr + ".jpg";
  366. annexesFileEntity.F_FileSize = headbytes.Length.ToString();
  367. annexesFileEntity.F_FileExtensions = ".jpg";
  368. annexesFileEntity.F_FileType = "jpg";
  369. annexesFileIBLL.SaveEntityByKey(annexesFileEntity.F_Id,annexesFileEntity);
  370. }
  371. else
  372. {
  373. string folderid = Guid.NewGuid().ToString();
  374. var annexesFileEntity =new AnnexesFileEntity();
  375. annexesFileEntity.F_Id = Guid.NewGuid().ToString();
  376. annexesFileEntity.F_FolderId = folderid;
  377. annexesFileEntity.F_FilePath = filepath + "\\" + radomstr + ".jpg";
  378. annexesFileEntity.F_FileName = radomstr + ".jpg";
  379. annexesFileEntity.F_FileSize = headbytes.Length.ToString();
  380. annexesFileEntity.F_FileExtensions = ".jpg";
  381. annexesFileEntity.F_FileType = "jpg";
  382. annexesFileEntity.F_CreateDate = DateTime.Now;
  383. annexesFileEntity.F_CreateUserId = userinfo.F_Account;
  384. annexesFileEntity.F_CreateUserName = userinfo.F_RealName;
  385. annexesFileIBLL.SaveEntity(folderid, annexesFileEntity);
  386. empInfoIbll.UpdatePhoto(empinfo.EmpId, folderid);
  387. }
  388. }
  389. catch (Exception e)
  390. {
  391. }
  392. }
  393. userinfo.F_Mobile = userModel.Mobile;
  394. userinfo.F_RealName = userModel.RealName;
  395. userinfo.F_Gender = Convert.ToInt32(userModel.Gender);
  396. userinfo.F_Birthday = userModel.Birthday;
  397. userIbll.SaveEntity(userModel.UserId, userinfo);
  398. return Success("OK");
  399. }
  400. private Response GetUserInfo(dynamic _)
  401. {
  402. string id = Request.Query["id"];
  403. if (string.IsNullOrEmpty(id))
  404. {
  405. return Fail("响应失败id为空");
  406. }
  407. try
  408. {
  409. var userEntity = userIbll.GetEntityByUserId(id);
  410. var empinfoEntity = empInfoIbll.GetEmpInfoEntityByEmpNo(userEntity.F_Account);
  411. UserModel userModel = new UserModel();
  412. if (userEntity != null && empinfoEntity != null)
  413. {
  414. userModel.UserId = userEntity.F_UserId;
  415. userModel.Secretkey = userEntity.F_Secretkey;
  416. userModel.Account = userEntity.F_Account;
  417. userModel.RealName = userEntity.F_RealName;
  418. userModel.NickName = userEntity.F_NickName;
  419. userModel.Birthday = userEntity.F_Birthday;
  420. userModel.HeadIcon = userEntity.F_HeadIcon;
  421. userModel.HeadIsNew = true;
  422. userModel.CardId = empinfoEntity.IdentityCardNo;
  423. userModel.Gender = userEntity.F_Gender.HasValue ? userEntity.F_Gender.ToString() : "1";
  424. userModel.Nation = empinfoEntity.NationalityNo;
  425. userModel.Origin = empinfoEntity.LocusOfResidence;
  426. userModel.Political = empinfoEntity.PartyFaceNo;
  427. userModel.DepartmentId = userEntity.F_DepartmentId;
  428. userModel.DepName = userEntity.F_DepartmentId != null ? departmentIbll.GetEntity(userEntity.F_DepartmentId).F_FullName : "";
  429. userModel.OrganizeId = userEntity.F_CompanyId;
  430. userModel.OrganizeName = userEntity.F_CompanyId != null ? companyIbll.GetEntity(userEntity.F_CompanyId).F_FullName : "";
  431. userModel.Description = "";
  432. userModel.DutyName = "";
  433. userModel.Mobile = userEntity.F_Mobile;
  434. userModel.Telephone = userEntity.F_Telephone;
  435. userModel.Email = userEntity.F_Email;
  436. userModel.Address = empinfoEntity.LocusOfResidence;
  437. userModel.Status = 1;
  438. userModel.LastLoginTime = userEntity.F_ModifyDate;
  439. return Success("OK", userModel);
  440. }
  441. else
  442. {
  443. return Fail("响应失败");
  444. }
  445. }
  446. catch (Exception e)
  447. {
  448. return Fail("响应失败");
  449. }
  450. }
  451. private Response GetGroups(dynamic _)
  452. {
  453. string userId = Request.Query["userId"];
  454. if (string.IsNullOrEmpty(userId))
  455. {
  456. return Fail("响应失败userId为空");
  457. }
  458. try
  459. {
  460. List<GroupModel> grouplist = new List<GroupModel>();
  461. var empinfolist = empInfoIbll.GetAllList();
  462. var chartgroup = chartGroupIbll.GetGroupListByUserId(userId);
  463. foreach (var ctitem in chartgroup)
  464. {
  465. GroupModel gm = new GroupModel();
  466. gm.GroupId = ctitem.Id;
  467. gm.GroupName = ctitem.GroupName;
  468. gm.GroupType = 0;
  469. gm.SortCode = ctitem.SortCode;
  470. gm.CreateTime = DateTime.Now;
  471. gm.CreateName = "";
  472. gm.Description = "";
  473. var groupuser = chartGroupIbll.GetUserList(ctitem.Id);
  474. foreach (var userdeptitem in groupuser)
  475. {
  476. var empinfoEntity = empinfolist.FirstOrDefault(m => m.EmpNo == userdeptitem.F_Account);
  477. if (empinfoEntity != null)
  478. gm.UserModels.Add(new UserModel
  479. {
  480. UserId = userdeptitem.F_UserId,
  481. Secretkey = userdeptitem.F_Secretkey,
  482. Account = userdeptitem.F_Account,
  483. RealName = userdeptitem.F_RealName,
  484. NickName = userdeptitem.F_NickName,
  485. Birthday = userdeptitem.F_Birthday,
  486. HeadIcon = userdeptitem.F_HeadIcon,
  487. HeadIsNew = true,
  488. CardId = empinfoEntity.IdentityCardNo,
  489. Gender = userdeptitem.F_Gender.HasValue ? userdeptitem.F_Gender.ToString() : "1",
  490. Nation = empinfoEntity.NationalityNo,
  491. Origin = empinfoEntity.LocusOfResidence,
  492. Political = empinfoEntity.PartyFaceNo,
  493. DepartmentId = userdeptitem.F_DepartmentId,
  494. DepName = userdeptitem.F_DepartmentId != null
  495. ? departmentIbll.GetEntity(userdeptitem.F_DepartmentId).F_FullName
  496. : "",
  497. OrganizeId = userdeptitem.F_CompanyId,
  498. OrganizeName = userdeptitem.F_CompanyId != null
  499. ? companyIbll.GetEntity(userdeptitem.F_CompanyId).F_FullName
  500. : "",
  501. Description = "",
  502. DutyName = "",
  503. Mobile = userdeptitem.F_Mobile,
  504. Telephone = userdeptitem.F_Telephone,
  505. Email = userdeptitem.F_Email,
  506. Address = empinfoEntity.LocusOfResidence,
  507. Status = 1,
  508. LastLoginTime = userdeptitem.F_ModifyDate
  509. });
  510. }
  511. grouplist.Add(gm);
  512. }
  513. return Success("OK", grouplist);
  514. }
  515. catch (Exception e)
  516. {
  517. return Fail("响应失败");
  518. }
  519. }
  520. private Response GetUserOrgList(dynamic _)
  521. {
  522. string orgId = Request.Query["orgId"];
  523. if (string.IsNullOrEmpty(orgId))
  524. {
  525. return Fail("响应失败orgId为空");
  526. }
  527. try
  528. {
  529. var userlist = userIbll.GetAllList();
  530. var empinfolist = empInfoIbll.GetAllList();
  531. List<DepUserModel> depUserList = new List<DepUserModel>();
  532. var deptlist = departmentIbll.GetList(orgId);
  533. foreach (var deptitem in deptlist)
  534. {
  535. DepUserModel depUserModel = new DepUserModel();
  536. depUserModel.DepId = deptitem.F_DepartmentId;
  537. depUserModel.DepName = deptitem.F_FullName;
  538. depUserModel.OrgId = deptitem.F_CompanyId;
  539. depUserModel.SortCode = deptitem.F_SortCode;
  540. var userdept = userlist.Where(m => m.F_DepartmentId == deptitem.F_DepartmentId);
  541. foreach (var userdeptitem in userdept)
  542. {
  543. var empinfoEntity = empinfolist.FirstOrDefault(m => m.EmpNo == userdeptitem.F_Account);
  544. if (empinfoEntity != null)
  545. depUserModel.UserModels.Add(new UserModel
  546. {
  547. UserId = userdeptitem.F_UserId,
  548. Secretkey = userdeptitem.F_Secretkey,
  549. Account = userdeptitem.F_Account,
  550. RealName = userdeptitem.F_RealName,
  551. NickName = userdeptitem.F_NickName,
  552. Birthday = userdeptitem.F_Birthday,
  553. HeadIcon = userdeptitem.F_HeadIcon,
  554. HeadIsNew = true,
  555. CardId = empinfoEntity.IdentityCardNo,
  556. Gender = userdeptitem.F_Gender.HasValue ? userdeptitem.F_Gender.ToString() : "1",
  557. Nation = empinfoEntity.NationalityNo,
  558. Origin = empinfoEntity.LocusOfResidence,
  559. Political = empinfoEntity.PartyFaceNo,
  560. DepartmentId = userdeptitem.F_DepartmentId,
  561. DepName = userdeptitem.F_DepartmentId != null
  562. ? departmentIbll.GetEntity(userdeptitem.F_DepartmentId).F_FullName
  563. : "",
  564. OrganizeId = userdeptitem.F_CompanyId,
  565. OrganizeName = userdeptitem.F_CompanyId != null
  566. ? companyIbll.GetEntity(userdeptitem.F_CompanyId).F_FullName
  567. : "",
  568. Description = "",
  569. DutyName = "",
  570. Mobile = userdeptitem.F_Mobile,
  571. Telephone = userdeptitem.F_Telephone,
  572. Email = userdeptitem.F_Email,
  573. Address = empinfoEntity.LocusOfResidence,
  574. Status = 1,
  575. LastLoginTime = userdeptitem.F_ModifyDate
  576. });
  577. }
  578. depUserList.Add(depUserModel);
  579. }
  580. return Success("OK", depUserList);
  581. }
  582. catch (Exception e)
  583. {
  584. return Fail("响应失败");
  585. }
  586. }
  587. [System.Web.Mvc.HttpGet]
  588. public Response CheckLogin(dynamic _)
  589. {
  590. UserModel userModel = new UserModel();
  591. string msg = string.Empty;
  592. try
  593. {
  594. string account = Request.Query["account"];
  595. string password = Request.Query["password"];
  596. //验证账户
  597. var userEntity = userIbll.CheckLogin(account, Md5Helper.Encrypt(password, 32));
  598. var empinfoEntity = empInfoIbll.GetEmpInfoEntityByEmpNo(userEntity.F_Account);
  599. msg = userEntity.LoginMsg;
  600. if (userEntity.LoginOk && empinfoEntity != null)
  601. {
  602. userModel.UserId = userEntity.F_UserId;
  603. userModel.Secretkey = userEntity.F_Secretkey;
  604. userModel.Account = userEntity.F_Account;
  605. userModel.RealName = userEntity.F_RealName;
  606. userModel.NickName = userEntity.F_NickName;
  607. userModel.Birthday = userEntity.F_Birthday;
  608. userModel.HeadIcon = userEntity.F_HeadIcon;
  609. userModel.HeadIsNew = true;
  610. userModel.CardId = empinfoEntity.IdentityCardNo;
  611. userModel.Gender = userEntity.F_Gender.HasValue ? userEntity.F_Gender.ToString() : "1";
  612. userModel.Nation = empinfoEntity.NationalityNo;
  613. userModel.Origin = empinfoEntity.LocusOfResidence;
  614. userModel.Political = empinfoEntity.PartyFaceNo;
  615. userModel.DepartmentId = userEntity.F_DepartmentId;
  616. userModel.DepName = userEntity.F_DepartmentId != null ? departmentIbll.GetEntity(userEntity.F_DepartmentId).F_FullName : "";
  617. userModel.OrganizeId = userEntity.F_CompanyId;
  618. userModel.OrganizeName = userEntity.F_CompanyId != null ? companyIbll.GetEntity(userEntity.F_CompanyId).F_FullName : "";
  619. userModel.UserPost = userRelationIBLL.GetObjectIds(userEntity.F_UserId, 2);
  620. userModel.Description = "";
  621. userModel.DutyName = "";
  622. userModel.Mobile = userEntity.F_Mobile;
  623. userModel.Telephone = userEntity.F_Telephone;
  624. userModel.Email = userEntity.F_Email;
  625. userModel.Address = empinfoEntity.LocusOfResidence;
  626. userModel.Status = 1;
  627. userModel.LastLoginTime = userEntity.F_ModifyDate;
  628. return Success(msg, new { Message = msg, UserModel = userModel });
  629. }
  630. else
  631. {
  632. var data =
  633. new
  634. {
  635. type = ResultType.Error,
  636. message = msg,
  637. resultdata = new { Message = msg, UserModel = userModel }
  638. };
  639. return Fail(new { Message = msg, UserModel = userModel });
  640. }
  641. }
  642. catch (Exception ex)
  643. {
  644. return Fail("响应失败"+ex.Message+msg);
  645. }
  646. }
  647. }
  648. }