Пример #1
0
        public CommonRtn signup([FromForm] SignupInput input)
        {
            var exisitUser = (from user in this.sysContext.users where user.phone == input.phone select user).Count();
            var message    = (from msg in this.sysContext.messages where msg.phone == input.phone orderby msg.createTime descending select msg).First();

            if (message == null)
            {
                return(CommonRtn.Error("请先发送短信验证码"));
            }
            if (message.code != input.authcode)
            {
                return(CommonRtn.Error("短信验证码错误"));
            }
            if (exisitUser > 0)
            {
                return(new CommonRtn {
                    success = false, message = "用户已经注册"
                });
            }
            else
            {
                var user = new User
                {
                    phone         = input.phone,
                    loginPassword = DESEncrypt.Encrypt(input.loginPassword),
                    id            = Guid.NewGuid().ToString()
                };
                this.sysContext.users.Add(user);
                this.sysContext.SaveChanges();
                return(new CommonRtn {
                    success = true, message = "注册成功"
                });
            }
        }
Пример #2
0
        public CommonRtn forgotPassword([FromForm] AppForgotPasswordInput input)
        {
            var userExist = (from user in this.sysContext.users where user.phone == input.phone select user).First();

            if (userExist != null)
            {
                var msg = (from message in this.sysContext.messages where message.phone == input.phone orderby message.createTime select message).First();
                if (msg != null)
                {
                    if (msg.code == input.authcode)
                    {
                        userExist.loginPassword = DESEncrypt.Encrypt(input.newPassword);
                        var token = userService.getUserToken(new AppTokenOutput {
                            user = userExist
                        });
                        return(CommonRtn.Success(new Dictionary <string, object> {
                            { "token", token }
                        }));
                    }
                    else
                    {
                        return(CommonRtn.Error("短信验证码错误"));
                    }
                }
                else
                {
                    return(CommonRtn.Error("请先发送短信验证码"));
                }
            }
            else
            {
                return(CommonRtn.Error("手机号尚未注册为用户"));
            }
        }
Пример #3
0
        public CommonRtn searchCompanyUserListByKeyword([FromForm] AppSearchUserInput input)
        {
            var options = new DataSourceLoadOptions();

            var token     = this.commonService.getAuthenticationHeader();
            var instance  = this.userService.decodeToken(token);
            var companyId = instance.user.companyId;

            options.Filter = new List <object> {
                new string[] { "companyId", "=", companyId }
            };
            options.Filter.Add("and");
            options.Filter.Add(new List <string> {
                "name", "contains", input.keyword
            });

            // options.Select = new string[] { "name", "id", "jobNumber","companyId",
            // "postId","companyFrameworkId",
            //  "totleScore", "company", "post", "companyFramework" };
            var query = (from user in this.sysContext.users select user)
                        .Include(u => u.company)
                        .Include(u => u.post)
                        .Include(u => u.companyFramework);

            return(CommonRtn.Success(new Dictionary <string, object> {
                { "data", DataSourceLoader.Load(query, options) }
            }));
        }
Пример #4
0
        public object insert([FromRoute] string dvoFullName, [FromForm] DevExtremInput input)
        {
            var type     = Assembly.GetEntryAssembly().GetType(dvoFullName);
            var viewAttr = (ViewAttribute)type.GetCustomAttribute(typeof(ViewAttribute));
            var dbSet    = (from m in this.db.GetType().GetMembers() where m.Name == viewAttr.entity select m).FirstOrDefault();

            if (dbSet != null)
            {
                // viewAttr.entity
                // var dbSetMethodInfo = typeof (DbContext).GetMethod ("Set");

                // dynamic dbSet = dbSetMethodInfo.MakeGenericMethod (type).Invoke (this.db, null);
                dynamic instance = Activator.CreateInstance(type);
                JsonConvert.PopulateObject(input.values, instance);
                //Validate(order);
                // if (!ModelState.IsValid)
                // return false;
                // this.hk.orgManage.Add (user);
                // dbSet.Add (instance);
                // db.SaveChanges ();
                return(null);

                // return instance;
            }
            else
            {
                return(CommonRtn.Error("找不到DVO"));
            }
        }
Пример #5
0
        public object login(LoginInput input)
        {
            var user = (from u in this.db.users where u.username == input.username select u).FirstOrDefault();

            if (user != null)
            {
                if (user.password == input.password)
                {
                    var token = new JwtBuilder()
                                .WithAlgorithm(new HMACSHA256Algorithm())
                                .WithSecret(Config.secret)
                                .AddClaim("user", user)
                                .Build();
                    user.token = token;

                    return(CommonRtn.Success("user", user));
                }
                else
                {
                    return(CommonRtn.Error("密码错误"));
                }
            }
            else
            {
                return(CommonRtn.Error("用户不存在"));
            }
        }
Пример #6
0
        public CommonRtn searchCompanyFramework([FromForm] SearchCompanyFrameworkInput input)
        {
            var options = new DataSourceLoadOptions();
            var token   = this.commonService.getAuthenticationHeader();

            Console.WriteLine(token);
            var instance  = this.userService.decodeToken(token);
            var companyId = instance.user.companyId;

            Console.WriteLine("companuyId:" + companyId);
            List <CompanyFramework> companyFrameworks;

            if (input.companyFrameworkId == null || input.companyFrameworkId == String.Empty)
            {
                companyFrameworks = (from companyFramework in this.sysContext.companyFrameworks
                                     where companyFramework.companyId == companyId
                                     select new CompanyFramework
                {
                    id = companyFramework.id,
                    companyId = companyFramework.companyId,
                    department = companyFramework.department,
                    userNum = companyFramework.userNum,
                    subCompanyFrameworkNum = (from cf in this.sysContext.companyFrameworks where companyFramework.id == cf.parentId select cf).Count(),
                }).ToList();

                return(CommonRtn.Success(new Dictionary <string, object> {
                    { "companyFrameworks", companyFrameworks }, { "users", new ArrayList() }
                }));
            }
            else
            {
                companyFrameworks = (from companyFramework in this.sysContext.companyFrameworks
                                     where companyFramework.companyId == companyId && companyFramework.parentId == input.companyFrameworkId

                                     select new CompanyFramework
                {
                    parentId = companyFramework.parentId,
                    id = companyFramework.id,
                    companyId = companyFramework.companyId,
                    department = companyFramework.department,
                    userNum = companyFramework.userNum,
                    subCompanyFrameworkNum = (from cf in this.sysContext.companyFrameworks where companyFramework.id == cf.parentId select cf).Count(),
                }).ToList();

                // var cfIds = companyFrameworks.Select(cf => cf.id).Distinct().ToArray();
                // Console.WriteLine(JsonConvert.SerializeObject(cfIds));

                var users = (from user in this.sysContext.users
                             where user.companyFrameworkId == input.companyFrameworkId &&
                             user.companyId == instance.user.companyId
                             select user).ToArray();
                users = users.Where(user => user.id != instance.user.id).ToArray();
                return(CommonRtn.Success(new Dictionary <string, object> {
                    { "companyFrameworks", companyFrameworks }, { "users", users }
                }));
            }
        }
Пример #7
0
        public CommonRtn getMyMsgSetting()
        {
            var tokenUser = this.userService.getUserFromAuthcationHeader();
            var user      = this.sysContext.users.Find(tokenUser.id);

            return(CommonRtn.Success(new Dictionary <string, object> {
                { "msgEnable", user.msgEnable }
            }));
        }
Пример #8
0
        public CommonRtn getUserBaseInfo([FromForm] GetUserBaseInfoInput input)
        {
            var user = this.sysContext.users.Find(input.userId);

            Console.WriteLine("input userId:" + input.userId);
            Console.WriteLine(user);
            return(CommonRtn.Success(new Dictionary <string, object> {
                { "user", user }
            }));
        }
Пример #9
0
        public CommonRtn changeAvator([FromForm] AppChangeAvatorInput input)
        {
            var token    = this.commonService.getAuthenticationHeader();
            var instance = this.userService.decodeToken(token);
            var user     = this.sysContext.users.Find(instance.user.id);

            user.headPortrait = input.url;
            this.sysContext.SaveChanges();
            return(CommonRtn.Success(new Dictionary <string, object> {
            }));
        }
Пример #10
0
        public object payOrder(int orderId)
        {
            var order = this.db.orders.Find(orderId);

            if (order != null)
            {
                order.status = OrderStatus.Pay;
                this.db.SaveChanges();
                return(CommonRtn.Success(null, "购买成功"));
            }
            else
            {
                return(CommonRtn.Error("购买失败"));
            }
        }
Пример #11
0
        public object send(int orderId)
        {
            var order = this.db.orders.Find(orderId);

            if (order != null)
            {
                order.status = OrderStatus.Send;
                this.db.SaveChanges();
                return(CommonRtn.Success(null, "成功"));
            }
            else
            {
                return(CommonRtn.Error("未知的订单"));
            }
        }
Пример #12
0
        public CommonRtn signup([FromBody] LoginInput input)
        {
            var user = (from u in this.db.users where u.username == input.username select u).FirstOrDefault();

            if (user != null)
            {
                return(CommonRtn.Error("用户已经注册"));
            }
            else
            {
                var newUser = new User {
                    nickname = "新用户", username = input.username, password = input.password, roleType = RoleType.User
                };
                this.db.users.Add(newUser);
                this.db.SaveChanges();
                return(CommonRtn.Success(new Dictionary <string, object> {
                    { "user", newUser }
                }));
            }
        }
Пример #13
0
        public CommonRtn searchWorkReportByKeyword([FromForm] SearchWorkReportByKeyword input)
        {
            var tokenUser = this.userService.getUserFromAuthcationHeader();
            var query     = (from workreport in this.oaContext.workreports
                             where workreport.title.Contains(input.keyword) && (
                                 (workreport.subPersonId == tokenUser.id) ||
                                 (workreport.inputPerson == tokenUser.id) ||
                                 ("," + workreport.ccPersonIds + ",").Contains("," + tokenUser.id + ","))

                             select workreport);
            var options = new DataSourceLoadOptions();

            options.Skip = input.page * input.pageSize;
            options.Take = input.pageSize;
            var data = DataSourceLoader.Load(query, options).data;

            return(CommonRtn.Success(new Dictionary <string, object> {
                { "data", data }
            }));
        }
Пример #14
0
        public CommonRtn appLogin([FromForm] AppUserLoginInput loginInput)
        {
            var exisitUser = (from user in this.sysContext.users where user.phone == loginInput.phone select user).FirstOrDefault();

            if (exisitUser != null)
            {
                // if (DESEncrypt.DecryptString(exisitUser.loginPassword) == loginInput.loginPassword)
                // {
                var loginIp = this.commonService.getRequestIp();
                exisitUser.loginNumber++;
                exisitUser.loginIP   = loginIp;
                exisitUser.mechineId = loginInput.mechineId;
                var token = this.userService.getUserToken(
                    new AppTokenOutput
                {
                    user = new User
                    {
                        id                 = exisitUser.id,
                        phone              = exisitUser.phone,
                        companyId          = exisitUser.companyId,
                        companyFrameworkId = exisitUser.companyFrameworkId
                    }
                });
                exisitUser.token = token;
                Console.WriteLine("companyFrameowrkId:" + this.userService.decodeToken(token).user.companyFrameworkId);
                Console.WriteLine("cpmid" + exisitUser.companyFrameworkId);
                Console.WriteLine("companyId" + exisitUser.companyId);
                this.sysContext.SaveChanges();

                return(CommonRtn.Success(new Dictionary <string, object>()
                {
                    { "token", token }, { "user", exisitUser }
                }, "登录成功"));
            }
            else
            {
                return(CommonRtn.Error("登录失败,用户不存在"));
            }
        }
Пример #15
0
        public object appLogin([FromBody] AppUserLoginInput loginInput)
        {
            var exisitUser = (from user in this.sysContext.users where user.phone == loginInput.phone select user).FirstOrDefault();

            if (exisitUser != null)
            {
                if (DESEncrypt.DecryptString(exisitUser.loginPassword) == loginInput.loginPassword)
                {
                    var loginIp = this.commonService.getRequestIp();
                    exisitUser.loginNumber++;
                    exisitUser.loginIP   = loginIp;
                    exisitUser.mechineId = loginInput.mechineId;
                    var token = this.userService.getUserToken(new AppTokenOutput {
                        user = exisitUser
                    });
                    exisitUser.token = token;
                    this.sysContext.SaveChanges();

                    return(new CommonRtn {
                        success = true, message = "登录成功", resData = new Dictionary <string, object>()
                        {
                            { "token", token }
                        }
                    });
                }
                else
                {
                    return(CommonRtn.Error("登录失败,用户密码错误"));
                }
            }
            else
            {
                return(new CommonRtn {
                    success = false, message = "登录失败,用户不存在",
                });
            }
        }
Пример #16
0
        public CommonRtn resetPassword([FromForm] ResetPasswordInput input)
        {
            var tokenUser = this.userService.getUserFromAuthcationHeader();
            var user      = this.sysContext.users.Find(tokenUser.id);

            if (user != null)
            {
                if (DESEncrypt.DecryptString(user.loginPassword) == input.oldPassword)
                {
                    user.loginPassword = DESEncrypt.Encrypt(input.newPassword);
                    this.sysContext.SaveChanges();
                    return(CommonRtn.Success(new Dictionary <string, object> {
                    }, "修改密码成功"));
                }
                else
                {
                    return(CommonRtn.Error("旧密码错误"));
                }
            }
            else
            {
                return(CommonRtn.Error("用户尚未登录"));
            }
        }
Пример #17
0
        public CommonRtn searchCompanyUserListIos([FromForm] object input)
        {
            var options = new DataSourceLoadOptions();

            var token     = this.commonService.getAuthenticationHeader();
            var instance  = this.userService.decodeToken(token);
            var companyId = instance.user.companyId;

            options.Filter = new List <object> {
                new string[] { "companyId", "=", companyId }
            };
            // options.Select = new string[] { "name", "id", "jobNumber","companyId",
            // "postId","companyFrameworkId",
            //  "totleScore", "company", "post", "companyFramework" };
            var query = (from user in this.sysContext.users select user)
                        .Include(u => u.company)
                        .Include(u => u.post)
                        .Include(u => u.companyFramework);
            var users   = DataSourceLoader.Load(query, options).data;
            var data    = new Dictionary <string, object>();
            var LETTERS = new string[] {
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H",
                "I",
                "J",
                "K",
                "L",
                "M",
                "N",
                "L",
                "M",
                "N",
                "O",
                "P",
                "Q",
                "R",
                "S",
                "T",
                "U",
                "V",
                "W",
                "X",
                "Y",
                "Z"
            };

            foreach (var letter in LETTERS)
            {
                var letterUsers = new List <User>();
                data[letter] = letterUsers;
            }

            foreach (var user in users)
            {
                var userEntity = JsonConvert.DeserializeObject <User>(JsonConvert.SerializeObject(user));
                // if (userEntity.token == null)
                //     Console.WriteLine ("no token");
                var name       = userEntity.name;
                var name2PIN   = NPinyin.Pinyin.GetInitials(name, false, 0);
                var nameLetter = "";
                if (name2PIN.Length > 0)
                {
                    nameLetter = name2PIN.ElementAt(0).ToString();
                    Console.WriteLine("letter:" + nameLetter);
                }
                else
                {
                }
                // Console.WriteLine ("pinyin:" + name2PIN);

                if (name != null && name != "" && name.Length > 0)
                {
                    Console.WriteLine("nameLetter:" + nameLetter);

                    if (LETTERS.Contains(nameLetter))
                    {
                        ((List <User>)data[nameLetter]).Add(userEntity);
                    }
                    else
                    {
                        Console.WriteLine("**************");
                        var exist = data.Keys.Where(key => key == "#").FirstOrDefault();
                        if (exist == null || exist == String.Empty)
                        {
                            data["#"] = new List <User>();
                        }
                        ((List <User>)data["#"]).Add(userEntity);

                        // Console.WriteLine(letter + ":" + name + ":" + nameLetter);
                    }
                }
                else
                {
                    Console.WriteLine("no name:" + name);
                }
            }

            var keys = data.Keys.ToArray().OrderBy(k => k);

            foreach (var key in keys)
            {
                var userList = (List <User>)data[key];
                if (userList.Count <= 0)
                {
                    data.Remove(key);
                }
            }
            return(CommonRtn.Success(new Dictionary <string, object> {
                { "data", data }
            }));
        }