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.
 
 
 
 
 
 

675 regels
31 KiB

  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 = dataItemIBLL.GetDetailList("BCdPartyFace", "");
  295. DictDataModel dictDataModel = new DictDataModel();
  296. foreach (var t in data)
  297. {
  298. dictDataModel.Items.Add(new SysDictDetailApiViewModel
  299. {
  300. ItemName = t.F_ItemName,
  301. ItemValue = t.F_ItemValue
  302. });
  303. }
  304. return Success("OK", dictDataModel);
  305. }
  306. if (req == "Nation")
  307. {
  308. var data = dataItemIBLL.GetDetailList("National", "");
  309. DictDataModel dictDataModel = new DictDataModel();
  310. foreach (var t in data)
  311. {
  312. dictDataModel.Items.Add(new SysDictDetailApiViewModel
  313. {
  314. ItemName = t.F_ItemName,
  315. ItemValue = t.F_ItemValue
  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. EmpInfoEntity empinfo = null;
  346. if (!string.IsNullOrEmpty(userModel.HeadBytes))
  347. {
  348. try
  349. {
  350. string radomstr = Util.CommonHelper.CreateNo();
  351. byte[] headbytes = Convert.FromBase64String(userModel.HeadBytes);
  352. string filepath = ConfigurationManager.AppSettings["AnnexesFile"] + "\\" + userModel.Account +
  353. "\\" + DateTime.Now.ToString("yyyyMMdd");
  354. if (!Directory.Exists(filepath))
  355. {
  356. Directory.CreateDirectory(filepath);
  357. }
  358. File.WriteAllBytes(filepath+"\\"+ radomstr + ".jpg",headbytes);
  359. userinfo.F_HeadIcon = "/Resource/" + userModel.Account +"/"+DateTime.Now.ToString("yyyyMMdd") +"/"+ radomstr + ".jpg";
  360. //更新子表
  361. empinfo = empInfoIbll.GetEmpInfoEntityByEmpNo(userinfo.F_Account);
  362. if (!string.IsNullOrEmpty(empinfo.Photo))
  363. {
  364. var annexesFileEntity = annexesFileIBLL.GetEntityByFolderId(empinfo.Photo);
  365. annexesFileEntity.F_FilePath = filepath + "\\" + radomstr + ".jpg";
  366. annexesFileEntity.F_FileName = radomstr + ".jpg";
  367. annexesFileEntity.F_FileSize = headbytes.Length.ToString();
  368. annexesFileEntity.F_FileExtensions = ".jpg";
  369. annexesFileEntity.F_FileType = "jpg";
  370. annexesFileIBLL.SaveEntityByKey(annexesFileEntity.F_Id,annexesFileEntity);
  371. }
  372. else
  373. {
  374. string folderid = Guid.NewGuid().ToString();
  375. var annexesFileEntity =new AnnexesFileEntity();
  376. annexesFileEntity.F_Id = Guid.NewGuid().ToString();
  377. annexesFileEntity.F_FolderId = folderid;
  378. annexesFileEntity.F_FilePath = filepath + "\\" + radomstr + ".jpg";
  379. annexesFileEntity.F_FileName = radomstr + ".jpg";
  380. annexesFileEntity.F_FileSize = headbytes.Length.ToString();
  381. annexesFileEntity.F_FileExtensions = ".jpg";
  382. annexesFileEntity.F_FileType = "jpg";
  383. annexesFileEntity.F_CreateDate = DateTime.Now;
  384. annexesFileEntity.F_CreateUserId = userinfo.F_Account;
  385. annexesFileEntity.F_CreateUserName = userinfo.F_RealName;
  386. annexesFileIBLL.SaveEntity(folderid, annexesFileEntity);
  387. empInfoIbll.UpdatePhoto(empinfo.EmpId, folderid);
  388. }
  389. }
  390. catch (Exception e)
  391. {
  392. }
  393. }
  394. //更新教师信息
  395. empinfo = empInfoIbll.GetEmpInfoEntityByEmpNo(userinfo.F_Account);
  396. empinfo.EmpName= userModel.RealName;
  397. empinfo.Birthday = userModel.Birthday;
  398. empinfo.EMail = userModel.Email;
  399. empinfo.LocusOfResidence = userModel.Origin;
  400. empinfo.NationalityNo = userModel.Nation;
  401. empinfo.PartyFaceNo = userModel.Political;
  402. empInfoIbll.SaveEntity(null, empinfo.EmpId, empinfo);
  403. //更新baseuser
  404. userinfo.F_Mobile = userModel.Mobile;
  405. userinfo.F_RealName = userModel.RealName;
  406. userinfo.F_Gender = Convert.ToInt32(userModel.Gender);
  407. userinfo.F_Birthday = userModel.Birthday;
  408. userIbll.SaveEntity(userModel.UserId, userinfo);
  409. return Success("OK");
  410. }
  411. private Response GetUserInfo(dynamic _)
  412. {
  413. string id = Request.Query["id"];
  414. if (string.IsNullOrEmpty(id))
  415. {
  416. return Fail("响应失败id为空");
  417. }
  418. try
  419. {
  420. var userEntity = userIbll.GetEntityByUserId(id);
  421. var empinfoEntity = empInfoIbll.GetEmpInfoEntityByEmpNo(userEntity.F_Account);
  422. UserModel userModel = new UserModel();
  423. if (userEntity != null && empinfoEntity != null)
  424. {
  425. userModel.UserId = userEntity.F_UserId;
  426. userModel.Secretkey = userEntity.F_Secretkey;
  427. userModel.Account = userEntity.F_Account;
  428. userModel.RealName = userEntity.F_RealName;
  429. userModel.NickName = userEntity.F_NickName;
  430. userModel.Birthday = userEntity.F_Birthday;
  431. userModel.HeadIcon = userEntity.F_HeadIcon;
  432. userModel.HeadIsNew = true;
  433. userModel.CardId = empinfoEntity.IdentityCardNo;
  434. userModel.Gender = userEntity.F_Gender.HasValue ? userEntity.F_Gender.ToString() : "1";
  435. userModel.Nation = empinfoEntity.NationalityNo;
  436. userModel.Origin = empinfoEntity.LocusOfResidence;
  437. userModel.Political = empinfoEntity.PartyFaceNo;
  438. userModel.DepartmentId = userEntity.F_DepartmentId;
  439. userModel.DepName = userEntity.F_DepartmentId != null ? departmentIbll.GetEntity(userEntity.F_DepartmentId).F_FullName : "";
  440. userModel.OrganizeId = userEntity.F_CompanyId;
  441. userModel.OrganizeName = userEntity.F_CompanyId != null ? companyIbll.GetEntity(userEntity.F_CompanyId).F_FullName : "";
  442. userModel.Description = "";
  443. userModel.DutyName = "";
  444. userModel.Mobile = userEntity.F_Mobile;
  445. userModel.Telephone = userEntity.F_Telephone;
  446. userModel.Email = userEntity.F_Email;
  447. userModel.Address = empinfoEntity.LocusOfResidence;
  448. userModel.Status = 1;
  449. userModel.LastLoginTime = userEntity.F_ModifyDate;
  450. return Success("OK", userModel);
  451. }
  452. else
  453. {
  454. return Fail("响应失败");
  455. }
  456. }
  457. catch (Exception e)
  458. {
  459. return Fail("响应失败");
  460. }
  461. }
  462. private Response GetGroups(dynamic _)
  463. {
  464. string userId = Request.Query["userId"];
  465. if (string.IsNullOrEmpty(userId))
  466. {
  467. return Fail("响应失败userId为空");
  468. }
  469. try
  470. {
  471. List<GroupModel> grouplist = new List<GroupModel>();
  472. var empinfolist = empInfoIbll.GetAllList();
  473. var chartgroup = chartGroupIbll.GetGroupListByUserId(userId);
  474. foreach (var ctitem in chartgroup)
  475. {
  476. GroupModel gm = new GroupModel();
  477. gm.GroupId = ctitem.Id;
  478. gm.GroupName = ctitem.GroupName;
  479. gm.GroupType = 0;
  480. gm.SortCode = ctitem.SortCode;
  481. gm.CreateTime = DateTime.Now;
  482. gm.CreateName = "";
  483. gm.Description = "";
  484. var groupuser = chartGroupIbll.GetUserList(ctitem.Id);
  485. foreach (var userdeptitem in groupuser)
  486. {
  487. var empinfoEntity = empinfolist.FirstOrDefault(m => m.EmpNo == userdeptitem.F_Account);
  488. if (empinfoEntity != null)
  489. gm.UserModels.Add(new UserModel
  490. {
  491. UserId = userdeptitem.F_UserId,
  492. Secretkey = userdeptitem.F_Secretkey,
  493. Account = userdeptitem.F_Account,
  494. RealName = userdeptitem.F_RealName,
  495. NickName = userdeptitem.F_NickName,
  496. Birthday = userdeptitem.F_Birthday,
  497. HeadIcon = userdeptitem.F_HeadIcon,
  498. HeadIsNew = true,
  499. CardId = empinfoEntity.IdentityCardNo,
  500. Gender = userdeptitem.F_Gender.HasValue ? userdeptitem.F_Gender.ToString() : "1",
  501. Nation = empinfoEntity.NationalityNo,
  502. Origin = empinfoEntity.LocusOfResidence,
  503. Political = empinfoEntity.PartyFaceNo,
  504. DepartmentId = userdeptitem.F_DepartmentId,
  505. DepName = userdeptitem.F_DepartmentId != null
  506. ? departmentIbll.GetEntity(userdeptitem.F_DepartmentId).F_FullName
  507. : "",
  508. OrganizeId = userdeptitem.F_CompanyId,
  509. OrganizeName = userdeptitem.F_CompanyId != null
  510. ? companyIbll.GetEntity(userdeptitem.F_CompanyId).F_FullName
  511. : "",
  512. Description = "",
  513. DutyName = "",
  514. Mobile = userdeptitem.F_Mobile,
  515. Telephone = userdeptitem.F_Telephone,
  516. Email = userdeptitem.F_Email,
  517. Address = empinfoEntity.LocusOfResidence,
  518. Status = 1,
  519. LastLoginTime = userdeptitem.F_ModifyDate
  520. });
  521. }
  522. grouplist.Add(gm);
  523. }
  524. return Success("OK", grouplist);
  525. }
  526. catch (Exception e)
  527. {
  528. return Fail("响应失败");
  529. }
  530. }
  531. private Response GetUserOrgList(dynamic _)
  532. {
  533. string orgId = Request.Query["orgId"];
  534. if (string.IsNullOrEmpty(orgId))
  535. {
  536. return Fail("响应失败orgId为空");
  537. }
  538. try
  539. {
  540. var userlist = userIbll.GetAllList();
  541. var empinfolist = empInfoIbll.GetAllList();
  542. List<DepUserModel> depUserList = new List<DepUserModel>();
  543. var deptlist = departmentIbll.GetList(orgId).OrderBy(m=>m.F_Order);
  544. foreach (var deptitem in deptlist)
  545. {
  546. DepUserModel depUserModel = new DepUserModel();
  547. depUserModel.DepId = deptitem.F_DepartmentId;
  548. depUserModel.DepName = deptitem.F_FullName;
  549. depUserModel.OrgId = deptitem.F_CompanyId;
  550. depUserModel.SortCode = deptitem.F_SortCode;
  551. var userdept = userlist.Where(m => m.F_DepartmentId == deptitem.F_DepartmentId);
  552. foreach (var userdeptitem in userdept)
  553. {
  554. var empinfoEntity = empinfolist.FirstOrDefault(m => m.EmpNo == userdeptitem.F_Account);
  555. if (empinfoEntity != null)
  556. depUserModel.UserModels.Add(new UserModel
  557. {
  558. UserId = userdeptitem.F_UserId,
  559. Secretkey = userdeptitem.F_Secretkey,
  560. Account = userdeptitem.F_Account,
  561. RealName = userdeptitem.F_RealName,
  562. NickName = userdeptitem.F_NickName,
  563. Birthday = userdeptitem.F_Birthday,
  564. HeadIcon = userdeptitem.F_HeadIcon,
  565. HeadIsNew = true,
  566. CardId = empinfoEntity.IdentityCardNo,
  567. Gender = userdeptitem.F_Gender.HasValue ? userdeptitem.F_Gender.ToString() : "1",
  568. Nation = empinfoEntity.NationalityNo,
  569. Origin = empinfoEntity.LocusOfResidence,
  570. Political = empinfoEntity.PartyFaceNo,
  571. DepartmentId = userdeptitem.F_DepartmentId,
  572. DepName = userdeptitem.F_DepartmentId != null
  573. ? departmentIbll.GetEntity(userdeptitem.F_DepartmentId).F_FullName
  574. : "",
  575. OrganizeId = userdeptitem.F_CompanyId,
  576. OrganizeName = userdeptitem.F_CompanyId != null
  577. ? companyIbll.GetEntity(userdeptitem.F_CompanyId).F_FullName
  578. : "",
  579. Description = "",
  580. DutyName = "",
  581. Mobile = userdeptitem.F_Mobile,
  582. Telephone = userdeptitem.F_Telephone,
  583. Email = userdeptitem.F_Email,
  584. Address = empinfoEntity.LocusOfResidence,
  585. Status = 1,
  586. LastLoginTime = userdeptitem.F_ModifyDate
  587. });
  588. }
  589. depUserList.Add(depUserModel);
  590. }
  591. return Success("OK", depUserList);
  592. }
  593. catch (Exception e)
  594. {
  595. return Fail("响应失败"+e.Message);
  596. }
  597. }
  598. [System.Web.Mvc.HttpGet]
  599. public Response CheckLogin(dynamic _)
  600. {
  601. UserModel userModel = new UserModel();
  602. string msg = string.Empty;
  603. try
  604. {
  605. string account = Request.Query["account"];
  606. string password = Request.Query["password"];
  607. //验证账户
  608. var userEntity = userIbll.CheckLogin(account, Md5Helper.Encrypt(password, 32));
  609. var empinfoEntity = empInfoIbll.GetEmpInfoEntityByEmpNo(userEntity.F_Account);
  610. msg = userEntity.LoginMsg;
  611. if (userEntity.LoginOk && empinfoEntity != null)
  612. {
  613. userModel.UserId = userEntity.F_UserId;
  614. userModel.Secretkey = userEntity.F_Secretkey;
  615. userModel.Account = userEntity.F_Account;
  616. userModel.RealName = userEntity.F_RealName;
  617. userModel.NickName = userEntity.F_NickName;
  618. userModel.Birthday = userEntity.F_Birthday;
  619. userModel.HeadIcon = userEntity.F_HeadIcon;
  620. userModel.HeadIsNew = true;
  621. userModel.CardId = empinfoEntity.IdentityCardNo;
  622. userModel.Gender = userEntity.F_Gender.HasValue ? userEntity.F_Gender.ToString() : "1";
  623. userModel.Nation = empinfoEntity.NationalityNo;
  624. userModel.Origin = empinfoEntity.LocusOfResidence;
  625. userModel.Political = empinfoEntity.PartyFaceNo;
  626. userModel.DepartmentId = userEntity.F_DepartmentId;
  627. userModel.DepName = userEntity.F_DepartmentId != null ? departmentIbll.GetEntity(userEntity.F_DepartmentId).F_FullName : "";
  628. userModel.OrganizeId = userEntity.F_CompanyId;
  629. userModel.OrganizeName = userEntity.F_CompanyId != null ? companyIbll.GetEntity(userEntity.F_CompanyId).F_FullName : "";
  630. userModel.UserPost = userRelationIBLL.GetObjectIds(userEntity.F_UserId, 2);
  631. userModel.Description = "";
  632. userModel.DutyName = "";
  633. userModel.Mobile = userEntity.F_Mobile;
  634. userModel.Telephone = userEntity.F_Telephone;
  635. userModel.Email = userEntity.F_Email;
  636. userModel.Address = empinfoEntity.LocusOfResidence;
  637. userModel.Status = 1;
  638. userModel.LastLoginTime = userEntity.F_ModifyDate;
  639. return Success(msg, new { Message = msg, UserModel = userModel });
  640. }
  641. else
  642. {
  643. var data =
  644. new
  645. {
  646. type = ResultType.Error,
  647. message = msg,
  648. resultdata = new { Message = msg, UserModel = userModel }
  649. };
  650. return Fail(new { Message = msg, UserModel = userModel });
  651. }
  652. }
  653. catch (Exception ex)
  654. {
  655. return Fail("响应失败"+ex.Message);
  656. }
  657. }
  658. }
  659. }