Пример #1
0
        public void CreateMemberTest(string userId)
        {
            Extattr extattr = new Extattr()
            {
                attrs = new List <Attr>()
                {
                    new Attr()
                    {
                        name = "员工角色", value = "123"
                    }
                }
            };
            var accessToken = AccessTokenContainer.GetToken(_corpId, base._corpSecret);

            var memberCreateRequest = new  MemberCreateRequest()
            {
                userid       = userId,
                name         = string.Format("单元测试生成-{0}", SystemTime.Now.ToString("yyMMdd-HH:mm")),
                english_name = "english name",
                department   = new long[] { 2 },
                gender       = "1",
                email        = "*****@*****.**",
                extattr      = extattr
            };

            var result = MailListApi.CreateMember(accessToken, memberCreateRequest);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.errcode == ReturnCode_Work.请求成功);
        }
Пример #2
0
        public WorkJsonResult WX_CreateUser(JH_Auth_User Model)
        {
            try
            {
                WorkJsonResult Ret = new WorkJsonResult();
                if (Qyinfo.IsUseWX == "Y")
                {
                    long[] Branch = { new JH_Auth_BranchB().GetEntity(d => d.DeptCode == Model.BranchCode).WXBMCode.Value };

                    MemberCreateRequest User = new MemberCreateRequest();
                    User.userid     = Model.UserName;
                    User.name       = Model.UserRealName;
                    User.mobile     = Model.mobphone;
                    User.department = Branch;
                    User.gender     = Model.Sex == "男" ? "1" : "2";
                    User.enable     = Model.IsUse == "Y" ? 1 : 0;
                    Ret             = MailListApi.CreateMember(GetToken(), User);
                }
                return(Ret);
            }
            catch (Exception ex)
            {
                WorkJsonResult Ret = new WorkJsonResult();
                new QJY.API.JH_Auth_LogB().Insert(new QJY.Data.JH_Auth_Log()
                {
                    CRDate = DateTime.Now, LogContent = Model.UserName + "新增错误:" + ex.ToString()
                });
                return(Ret);
            }
        }
Пример #3
0
        public IHttpActionResult CreateMember([FromBody] MemberCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var member = request.ToMemberVm();

            try
            {
                var response = MemberUnitOfWork.MemberSvc.CreateWithApplication(DataAccessValue, member);

                if (response.IsSuccess)
                {
                    return(Ok(new MemberCreateResponse(response.Member, response.Login)));
                }
                else
                {
                    return(BadRequest(response.Message));
                }
            }
            catch
            {
                //Log to Elmah
                return(InternalServerError(new Exception("Opps.. Seems like there is some issue with the request. please contact the support team.")));
            }
        }
Пример #4
0
        public WorkJsonResult CreateMember(CreateMemberDto dto)
        {
            //dto.AccessToken = GetAccessToken(QyConfig.CorpID, QyConfig.CorpSecret);
            MemberCreateRequest req = EmitMapperHelper.ObjectMapper <CreateMemberDto, MemberCreateRequest>(dto);
            var result = MailListApi.CreateMember(dto.AccessToken, req);

            return(result);
        }
Пример #5
0
        public async Task <IActionResult> CreateAsync([FromBody] MemberCreateRequest request)
        {
            if (request == null)
            {
                return(Fail(WebResource.CreateRequestIsEmpty));
            }
            var id = await MemberService.CreateAsync(request);

            return(Success(id));
        }
Пример #6
0
        public static WorkJsonResult CreateMember(string accessTokenOrAppKey, MemberCreateRequest memberCreateRequest, int timeOut = Config.TIME_OUT)
        {
            return(ApiHandlerWapper.TryCommonApi(accessToken =>
            {
                var url = Config.ApiWorkHost + "/cgi-bin/user/create?access_token={0}";

                JsonSetting jsonSetting = new JsonSetting(true);

                return CommonJsonSend.Send <WorkJsonResult>(accessToken, url, memberCreateRequest, CommonJsonSendType.POST, timeOut, jsonSetting: jsonSetting);

                /*
                 * 返回结果:
                 * {
                 *     "errcode": 0,
                 *     "errmsg": "created"
                 *  }
                 */
            }, accessTokenOrAppKey));
        }
Пример #7
0
        public bool AddUser(WorkUser user)
        {
            if (env.IsDevelopment())
            {
                return(true);
            }
            var entity = new MemberCreateRequest
            {
                userid     = user.UserID,
                name       = user.Name,
                mobile     = user.Mobile,
                department = new long[] { Convert.ToInt64(user.DepartmentIds) },
                gender     = user.Gender.ToString(),
                enable     = 1,
            };
            var reObj = MailListApi.CreateMember(workSetting.Value.ContactsAccessTokenKey, entity);

            return(reObj.errcode == ReturnCode_Work.请求成功);
        }
Пример #8
0
        public async Task <ApiResponse <SignedInMember> > CreateMember(MemberCreateRequest request)
        {
            if (string.IsNullOrEmpty(request.Address))
            {
                return(ApiResponse.BadRequestResult <SignedInMember>("invalid address"));
            }

            if (string.IsNullOrEmpty(request.Password))
            {
                return(ApiResponse.BadRequestResult <SignedInMember>("invalid password"));
            }

            var member = new Member()
            {
                UserName = request.Address,
            };

            var createdResult = await _memberManager.CreateAsync(member, request.Password);

            if (!createdResult.Succeeded)
            {
                return(ApiResponse.BadRequestResult <SignedInMember>(createdResult.Errors.FirstOrDefault().Code ?? "create failure"));
            }

            var userClaim = new MemberClaim()
            {
                UserId  = member.Id,
                Address = member.UserName,
            };
            var token = CreateMemberToken(userClaim);

            return(ApiResponse.Ok(new SignedInMember()
            {
                Token = token,
                Address = member.UserName,
            }));
        }
Пример #9
0
        public ActionResult UploadUser()
        {
            try
            {
                //同步部门
                GetDepartmentListResult result = MailListApi.GetDepartmentList(WeixinWorkService.GetToken());
                var departments = dbContext.SysDepartment.OrderByDescending(c => c.DepartmentName).ToList();
                foreach (var item in departments)
                {
                    if (item.DepartmentId == Guid.Parse("2379788E-45F0-417B-A103-0B6440A9D55D"))
                    {
                        continue;
                    }

                    var            parentId = Convert.ToInt64(departments.Where(c => c.DepartmentId == item.ParentId).FirstOrDefault().WeixinWorkId);
                    DepartmentList qyDep    = result.department.Where(c => c.id == item.WeixinWorkId).FirstOrDefault();
                    if (qyDep == null)
                    {
                        var createResult = MailListApi.CreateDepartment(WeixinWorkService.GetToken(), item.DepartmentName, parentId == 0 ? 1 : parentId, 1000 - (item.OrderNo.HasValue ? item.OrderNo.Value : 0));
                        item.WeixinWorkId = createResult.id;
                    }
                    else
                    {
                        MailListApi.UpdateDepartment(WeixinWorkService.GetToken(), qyDep.id, item.DepartmentName, parentId == 0 ? 1 : parentId, 1000 - (item.OrderNo.HasValue ? item.OrderNo.Value : 0));
                    }
                    dbContext.SaveChanges();
                }
                //同步用户
                var users = dbContext.SysUser.Where(c => c.UserCode != "admin").ToList();
                foreach (var userItem in users)
                {
                    long[] longArr = new long[1];
                    longArr[0] = Convert.ToInt64(dbContext.SysDepartment.Where(c => c.DepartmentId == userItem.DepartmentId).FirstOrDefault().WeixinWorkId);
                    try
                    {
                        var memberResult = MailListApi.GetMember(WeixinWorkService.GetToken(), userItem.UserCode);
                        if (memberResult.errcode == Senparc.Weixin.ReturnCode_Work.UserID不存在)
                        {
                            MemberCreateRequest request = new MemberCreateRequest();
                            request.email      = userItem.Email;
                            request.department = longArr;
                            request.enable     = 1;
                            request.mobile     = userItem.Mobile;
                            request.name       = userItem.UserName;
                            request.userid     = userItem.UserCode;
                            MailListApi.CreateMember(WeixinWorkService.GetToken(), request);
                        }
                        else
                        {
                            MemberUpdateRequest updateRequest = new MemberUpdateRequest();
                            updateRequest.department = longArr;
                            updateRequest.email      = userItem.Email;
                            updateRequest.enable     = 1;
                            updateRequest.mobile     = userItem.Mobile;
                            updateRequest.name       = userItem.UserName;
                            updateRequest.userid     = userItem.UserCode;
                            MailListApi.UpdateMember(WeixinWorkService.GetToken(), updateRequest);
                        }
                    }
                    catch { }
                }
                return(Json(new { Code = 0, Msg = "同步成功!" }));
            }
            catch (Exception ex)
            {
                LogHelper.SaveLog(ex);
                return(Json(new { Code = 1, Msg = "服务器异常,请联系管理员!" }));
            }
        }
Пример #10
0
        public async Task <ActionResult> Create(MemberCreateRequest requst)
        {
            var data = await _MemberManager.CreateMember(requst);

            return(Result(data));
        }