/// <summary> /// 发送个推信息【按用户列表进行发送】【可批量,支持IOS和安卓 批量与单个用户,通知与传透】 /// 程序可自动判定这些用户是否有推送设置,如果有才会提交推送平台进行发送 /// </summary> /// <param name="condtion"></param> /// <returns></returns> internal static ReplayBase SendGTuiPushByUsersList(SendGeTuiPushByUsersIdRequestModel condtion) { ReplayBase result = new ReplayBase(); SendGeTuiPushBySetRequestModel q = new SendGeTuiPushBySetRequestModel() { createdBy = condtion.createdBy, customInfo = condtion.customInfo, messageType = condtion.messageType, msg = condtion.msg, title = condtion.title }; if (condtion.userIds.Count > 0) { //获取用户列表 List <MembersBaseInfoModel> userlist = MembersService.GetMembersList(new GetMembersListRequstModel() { userIds = condtion.userIds }); foreach (MembersBaseInfoModel user in userlist) { if (user.getuiPushSet != null) { q.pushSets.Add(new GeTuiSetModel() { clientId = user.getuiPushSet.clientId, deviceType = (EnumUserDeviceType)user.getuiPushSet.deviceType, userId = user.UserId }); } } if (q.pushSets.Count > 0) { result = SendGTuiPushByPusSets(q); } else { result.ReturnCode = EnumErrorCode.EmptyDate; result.ReturnMessage = "设置的接收者中均无推送接收配置,无法进行推送"; } } else { result.ReturnCode = EnumErrorCode.EmptyDate; result.ReturnMessage = "请至少传入一条接收者的推送设置"; } return(result); }
/// <summary> /// 根据用户的ID,登录名或者部门获取用户列表(不翻页,可用于发送短信,推送,批量设置用户等操作) /// </summary> /// <param name="condtion"></param> /// <returns></returns> internal static List <MembersBaseInfoModel> GetMembersList(GetMembersListRequstModel condtion) { List <MembersBaseInfoModel> result = new List <MembersBaseInfoModel>(); try { //如果有设置部门 if (condtion.depIds.Count > 0) { List <string> depuserids = new List <string>(); if (condtion.getChilds) { //需要获取子部门的ID List <string> depids = new List <string>(); foreach (string depid in condtion.depIds) { SearchMemberDepartmentRequst dq = new SearchMemberDepartmentRequst() { getchild = true, departmentId = depid }; MembersService ms = new MembersService(); SearchMemberDepartmentReplay dp = ms.SearchDepartments(dq); if (dp.rows.Count > 0) { foreach (MemberDepartmentBaseInfoModel m in dp.rows) { if (!depids.Contains(m.depmentid)) { depids.Add(m.depmentid); } } } } condtion.depIds = depids; } SearchMembersRequestModel d = new SearchMembersRequestModel() { departmentIds = condtion.depIds, getOtherOrgDepartmentInfo = false }; depuserids = BaseSysTemDataBaseManager.DepGetUserIdListBydepartment(d); foreach (string depuserid in depuserids) { if (!condtion.userIds.Contains(depuserid)) { condtion.userIds.Add(depuserid); } } } if (condtion.userIds.Count == 0 && condtion.loginNames.Count == 0) { //判断用户ID或者loginName是否有值,如果没有则直接返回一个空的数组 return(result); } else { result = BaseSysTemDataBaseManager.MemberGetMemberListByIdsOrLoginName(condtion); } } catch (Exception e) { SysManagerService.SysSaveErrorLogMsg(e.ToString(), condtion); result = new List <MembersBaseInfoModel>(); } return(result); }