Пример #1
0
        /// <summary>
        /// 添加操作日志
        /// </summary>
        /// <param name="LogType">操作类别</param>
        /// <param name="obj">操作对象</param>
        /// <param name="detail">介绍内容</param>
        protected void AddAdminLogs(Entity.SysLogMethodType LogType, string detail, int user_id = 0)
        {
            if (!WebSite.LogMethodInDB)
            {
                return;
            }


            if (WorkContext.UserInfo != null)
            {
                user_id = WorkContext.UserInfo.ID;
            }

            var entity = new Entity.SysLogMethod()
            {
                AddTime   = DateTime.Now,
                Detail    = detail,
                SysUserID = user_id,
                Type      = LogType
            };

            new System.Threading.Thread(new System.Threading.ThreadStart(delegate()
            {
                BaseBLL <Entity.SysLogMethod> bll = new BaseBLL <Entity.SysLogMethod>();
                bll.Add(entity);
            }))
            {
                IsBackground = true
            }.Start();
        }
Пример #2
0
        /// <summary>
        /// 新增/修改 大赛公告
        /// </summary>
        /// <param name="data">
        /// competition_notice对象
        /// </param>
        /// <returns></returns>
        public ApiResult AddNotice(dynamic data)
        {
            ApiResult apiResult = new ApiResult();

            if (Util.isNotNull(data))
            {
                BaseBLL <competition_notice> bll = new BaseBLL <competition_notice>();
                string json   = Newtonsoft.Json.JsonConvert.SerializeObject(data);
                var    notice = Newtonsoft.Json.JsonConvert.DeserializeObject <competition_notice>(json);
                if (notice?.competition_season_id > 0)
                {
                    //修改
                    notice.update_time = DateTime.Now;
                    bll.Update(notice);
                }
                else if (Util.isNotNull(notice))
                {
                    //新增
                    notice.create_time = DateTime.Now;
                    notice.update_time = DateTime.Now;
                    bll.Add(notice);
                }
            }
            else
            {
                apiResult.success = false;
                apiResult.message = "参数错误";
            }
            return(apiResult);
        }
Пример #3
0
        public ActionResult AddArticalCi([FromBody] string content)
        {
            BaseBLL <artilce_sensitive_vocabulary> bll = new BaseBLL <artilce_sensitive_vocabulary>();

            string[] array = content.Split(' ');
            foreach (string ci in array)
            {
                if (Util.isNotNull(ci))
                {
                    var vocabulary = bll.Find(o => o.vocabulary == ci);
                    if (vocabulary?.artilce_sensitive_vocabulary_id > 0)
                    {
                        continue;
                    }
                    bll.Add(new artilce_sensitive_vocabulary()
                    {
                        vocabulary  = ci,
                        create_time = DateTime.Now
                    });
                }
            }
            return(new JsonResult()
            {
                Data = "上传完成"
            });
        }
Пример #4
0
        private void addMenu(ref JsonData Result)
        {
            var pid      = this.getInt("pid");
            var text     = this.getString("text");
            var type     = this.getString("type");
            var ordernum = this.getInt("ordernum");
            int id       = bll.Add(new WxMenu()
            {
                PID = pid, BtnName = text, BtnType = "click", OrderNum = ordernum, ReplyType = -1, ReplyID = -1, UpdateTime = DateTime.Now
            });
            WxMenu obj = bll.GetModel <WxMenu>(id);

            if (type == "main")
            {
                obj.BtnKey = "m" + id;
            }
            else
            {
                obj.BtnKey = "s" + id;
            }
            bll.Update(obj);
        }
Пример #5
0
        /// <summary>
        /// 投票(每人每天最多5票)
        /// </summary>
        /// <param name="uid"></param>
        /// <param name="article_id"></param>
        /// <returns></returns>
        public ApiResult Vote(int uid, int article_id)
        {
            ApiResult apiResult   = new ApiResult();
            var       checkResult = Util.CheckParameters(
                new Parameter {
                Value = uid.ToString(), Msg = "uid 不能为空值"
            },
                new Parameter {
                Value = uid.ToString(), Msg = "uid 必须是数字类型", Regex = @"^[1-9]\d*$"
            },
                new Parameter {
                Value = article_id.ToString(), Msg = "article_id 不能为空值"
            },
                new Parameter {
                Value = article_id.ToString(), Msg = "article_id 必须是数字类型", Regex = @"^[1-9]\d*$"
            }
                );

            if (!checkResult.OK)
            {
                apiResult.success = false;
                apiResult.status  = ApiStatusCode.InvalidParam;
                apiResult.message = checkResult.Msg;
                return(apiResult);
            }
            BaseBLL <vote_record> vote_blll = new BaseBLL <vote_record>();
            //今天已投票数
            DateTime start      = DateTime.Now.Date;
            DateTime end        = DateTime.Now.AddDays(1).Date;
            int      vote_count = vote_blll.Count(o => o.uid == uid && o.create_time >= start && o.create_time < end);

            if (vote_count < 5)
            {
                vote_blll.Add(new vote_record
                {
                    article_id  = article_id,
                    uid         = uid,
                    create_time = DateTime.Now
                });
                apiResult.success = true;
                apiResult.message = "您今天已投了" + (vote_count + 1) + "票啦!";
                apiResult.data    = vote_count + 1;
            }
            else
            {
                apiResult.success = false;
                apiResult.message = "您今天已投了" + vote_count + "票啦!";
            }
            return(apiResult);
        }
Пример #6
0
        public void TestMethod_Insert_T()
        {
            UserTestEntity user = new UserTestEntity
            {
                Name        = "小师弟",
                Age         = 18,
                Sex         = 1,
                Description = "测试实体插入",
                Mobile      = "15890909090"
            };

            user.Create();

            BaseBLL <UserTestEntity> bll = new BaseBLL <UserTestEntity>();
            int res = bll.Add(user);

            Console.WriteLine("执行结果:{0}", res);
        }
Пример #7
0
 private void button1_Click(object sender, EventArgs e)
 {
     var con = Tools.CheckIllegalControls(this.tbxRePwd, this.tbxPwd, this.tbxName, this.cmbRole);
     if (con != null)
     {
         MessageBox.Show("该项不能为空");
         con.Focus();
         return;
     }
     if (this.tbxPwd.Text != this.tbxRePwd.Text)
     {
         MessageBox.Show("输入的密码不一样");
         this.tbxRePwd.Focus();
         return;
     }
     var bll = new BaseBLL<t_User>();
     var urBll = new BaseBLL<t_UserRole>();
     var user = new t_User()
     {
         ID = Guid.NewGuid(),
         Pwd = this.tbxPwd.Text,
         RoleID = new Guid(this.cmbRole.SelectedValue.ToString()),
         User = this.tbxName.Text
     };
     var ur = new t_UserRole()
     {
         RoleID = user.RoleID,
         UserID = user.ID
     };
     if (bll.Query(u => u.User == user.User).Any())
     {
         MessageBox.Show("该用户名已被注册"); return;
     }
     if (bll.Add(user) && urBll.Add(ur))
     {
         if (MessageBox.Show("注册成功", "", MessageBoxButtons.OK) == DialogResult.OK)
         {
             this.Close();
         }
     }
 }
Пример #8
0
        public ApiResult WeixinLogin(dynamic data)
        {
            ApiResult apiResult   = new ApiResult();
            var       checkResult = Util.CheckParameters(
                new Parameter {
                Value = data?.code, Msg = "code不能为空"
            },
                new Parameter {
                Value = data?.userinfo.ToString(), Msg = "userInfo不能为空"
            },
                new Parameter {
                Value = data?.appcode, Msg = "appcode不能为空!"
            }
                );

            if (!checkResult.OK)
            {
                apiResult.success = false;
                apiResult.status  = ApiStatusCode.InvalidParam;
                apiResult.message = checkResult.Msg;
                return(apiResult);
            }

            try
            {
                //根据code查找APPID与Secret,获取微信session、openid和unionid
                string appcode = data.appcode.ToString();
                BaseBLL <weixin_applet> weixinAppletBll = new BaseBLL <weixin_applet>();
                weixin_applet           weixinApplet    = weixinAppletBll.Find(x => x.appcode == appcode);
                WeixinXAPI weixinxapi   = new WeixinXAPI(weixinApplet.appid, weixinApplet.secret);
                string     str          = weixinxapi.codeToSession(data.code.ToString());
                JObject    session_json = JObject.Parse(str);
                if (session_json["errcode"].To <string>().IsNotNullAndEmpty())
                {
                    apiResult.success = false;
                    apiResult.status  = ApiStatusCode.NotFound;
                    apiResult.message = str;
                    return(apiResult);
                }
                string openid      = session_json["openid"].ToString();
                string session_key = session_json["session_key"].ToString();
                string unionid     = session_json["unionid"].To <string>();
                if (StringHelper.IsNullOrEmpty(unionid) && !StringHelper.IsNullOrEmpty(data?.encryptedData) && !StringHelper.IsNullOrEmpty(data?.iv))
                {
                    string  info         = DEncrypt.XCXDecrypt(data?.encryptedData.ToString(), session_key, data?.iv.ToString());
                    JObject userInfoJson = JObject.Parse(info);
                    unionid = userInfoJson["unionId"].To <string>();
                }

                weixin_user userInfo = new weixin_user
                {
                    openid           = openid,
                    unionid          = unionid,
                    nickname         = data.userinfo["nickName"],
                    sex              = data.userinfo["gender"],
                    language         = data.userinfo["language"],
                    city             = data.userinfo["city"],
                    province         = data.userinfo["province"],
                    country          = data.userinfo["country"],
                    headimgurl       = data.userinfo["avatarUrl"],
                    source_code      = appcode,
                    weixin_applet_id = weixinApplet.id
                };

                if (Util.isNotNull(userInfo.unionid))
                {
                    //查询当前openid的用户是否存在
                    //如果不存在则要创建,创建时,先创建 iuser ,再创建 weixin_user
                    BaseBLL <weixin_user> weixinUserBll = new BaseBLL <weixin_user>();
                    var  weixinUser  = weixinUserBll.Find(x => x.unionid == unionid);
                    bool first_login = false;
                    //可能是第一次登陆,在网页端登陆
                    if (weixinUser == null)
                    {
                        //微信开发平台的openid与小程序的openid不一致
                        first_login = true;
                        //先存iuser
                        var             iuser    = new iuser();
                        BaseBLL <iuser> iuserBll = new BaseBLL <iuser>();
                        iuser.random     = sys.getRandomStr();
                        iuser.createtime = DateTime.Now;
                        iuser.updatetime = DateTime.Now;
                        iuser            = iuserBll.Add(iuser);
                        //再存weixin_user
                        userInfo.uid            = iuser.id;
                        userInfo.sub_time       = DateTime.Now;
                        userInfo.first_sub_time = DateTime.Now;
                        LogHelper.Info("first_login:"******",userInfo:" + Newtonsoft.Json.JsonConvert.SerializeObject(userInfo));
                        weixinUser = weixinUserBll.Add(userInfo);
                    }
                    else
                    {
                        weixinUser.nickname   = userInfo.nickname;
                        weixinUser.headimgurl = userInfo.headimgurl;
                        LogHelper.Info("first_login:"******",userInfo:" + Newtonsoft.Json.JsonConvert.SerializeObject(userInfo));
                        weixinUserBll.Update(weixinUser);
                    }

                    apiResult.success = true;
                    apiResult.data    = new { first_login = first_login, weixinUser = weixinUser };
                    apiResult.status  = ApiStatusCode.OK;
                }
                else
                {
                    return(new ApiResult()
                    {
                        success = false,
                        message = "unionid不能为空,小程序必须绑定开放平台"
                    });
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex.Message, ex);
                apiResult.success = false;
                apiResult.status  = ApiStatusCode.Error;
            }

            return(apiResult);
        }
Пример #9
0
        /// <summary>
        /// 添加通知
        /// </summary>
        /// <param name="data">
        /// {
        ///   "notice_id": 若大于零则为修改,小于零则为新增,
        ///   "title": 通知标题,
        ///   "content": 通知内容,
        ///   "logo": 通知的 logo,
        ///   "is_top": 0 不置顶,1 置顶,
        ///   "publish_time": 发布时间,在该时间后才能查询到该通知,若不设置,则为当前时间
        /// }
        /// </param>
        /// <returns></returns>
        public ApiResult AddNotice(dynamic data)
        {
            ApiResult apiResult = new ApiResult();

            if (Util.isNotNull(data))
            {
                string json               = Newtonsoft.Json.JsonConvert.SerializeObject(data);
                var    notice             = Newtonsoft.Json.JsonConvert.DeserializeObject <user_notice>(json);
                BaseBLL <user_notice> bll = new BaseBLL <user_notice>();
                if (notice?.notice_id > 0)
                {
                    //如果是置顶,应先将之前置顶的数据取消
                    if (notice.is_top == 1)
                    {
                        var is_top_notices = bll.FindList <int>(o => o.is_top == 1);
                        List <user_notice> is_top_notice_list = new List <user_notice>();
                        foreach (var _notice in is_top_notices)
                        {
                            _notice.is_top      = 0;
                            _notice.update_time = DateTime.Now;
                            is_top_notice_list.Add(_notice);
                        }
                        bll.UpdateMore(is_top_notice_list);
                    }
                    // 修改
                    var findNotice = bll.Find(n => n.notice_id == notice.notice_id);
                    if (findNotice == null)
                    {
                        apiResult.success = false;
                        apiResult.message = "不存在该通知";
                        return(apiResult);
                    }
                    notice.create_time = findNotice.create_time;
                    notice.update_time = DateTime.Now;
                    bll.Update(notice);
                }
                else if (Util.isNotNull(notice))
                {
                    //如果是置顶,应先将之前置顶的数据取消
                    if (notice.is_top == 1)
                    {
                        var is_top_notices = bll.FindList <int>(o => o.is_top == 1);
                        List <user_notice> is_top_notice_list = new List <user_notice>();
                        foreach (var _notice in is_top_notices)
                        {
                            _notice.is_top      = 0;
                            _notice.update_time = DateTime.Now;
                            is_top_notice_list.Add(_notice);
                        }
                        bll.UpdateMore(is_top_notice_list);
                    }
                    // 新增
                    if (!notice.publish_time.HasValue)
                    {
                        notice.publish_time = DateTime.Now;
                    }
                    notice.create_time = DateTime.Now;
                    notice.update_time = DateTime.Now;
                    bll.Add(notice);
                }
                else
                {
                    apiResult.success = false;
                    apiResult.message = "参数错误";
                    return(apiResult);
                }
            }
            else
            {
                apiResult.success = false;
                apiResult.message = "参数错误";
            }

            apiResult.success = true;
            apiResult.message = "成功";
            return(apiResult);
        }
Пример #10
0
        /// <summary>
        /// 录入个人信息
        /// </summary>
        /// <param name="data">
        /// {"author_info_id":0,"uid":1,"user_name":"xxx","sex":"男","area":"xxx","school":"xxxx","grade":"一年级","age":9,"phone":"1234567","teacher":"xxx","idcard":"2424242424242424242424242424"}
        /// </param>
        /// <returns></returns>
        public ApiResult AddUserInfo(dynamic data)
        {
            ApiResult apiResult = new ApiResult();

            LogHelper.Info("录入个人信息data:" + data);
            if (Util.isNotNull(data))
            {
                LogHelper.Info("录入个人信息data:" + Newtonsoft.Json.JsonConvert.SerializeObject(data));
                string json = Newtonsoft.Json.JsonConvert.SerializeObject(data);
                var    user = Newtonsoft.Json.JsonConvert.DeserializeObject <author_info>(json);
                if (user == null || user.uid == 0)
                {
                    return(new ApiResult()
                    {
                        success = false,
                        message = "参数错误"
                    });
                }
                string idcrad = user?.idcard;
                if (Util.isNull(idcrad) || !System.Text.RegularExpressions.Regex.IsMatch(user.idcard, @"(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)"))
                {
                    return(new ApiResult()
                    {
                        success = false,
                        message = "身份证输入不合法"
                    });
                }
                BaseBLL <author_info> bll = new BaseBLL <author_info>();
                if (user.author_info_id > 0)
                {
                    var _user = bll.Find(o => o.author_info_id == user.author_info_id);
                    if (_user?.author_info_id > 0)
                    {
                        user.update_time = DateTime.Now;
                        user.create_time = _user.create_time;
                        user.uid         = _user.uid;
                        bll.Update(user);
                    }
                    else
                    {
                        return(new ApiResult()
                        {
                            success = false,
                            message = "修改失败"
                        });
                    }
                }
                else
                {
                    user.create_time = DateTime.Now;
                    user.update_time = DateTime.Now;
                    bll.Add(user);
                }
                apiResult.success = true;
                apiResult.message = "成功";
            }
            else
            {
                apiResult.success = false;
                apiResult.message = "参数错误";
            }

            return(apiResult);
        }
Пример #11
0
        /// <summary>
        /// 回调函数
        /// </summary>
        /// <param name="code">请求微信返回的code</param>
        /// <param name="state">请求微信的参数state</param>
        /// <returns></returns>
        public ApiResult LoginReturn(string code, string state)
        {
            ApiResult apiResult = new ApiResult();

            LogHelper.Info("code:" + code + ",state:" + state);
            ////必须用cookie或者session
            //var session = HttpContext.Current.Session["session_weixin_login_state"];
            //string session_state = session == null ? "" : session.ToString();
            //string cookie_state = CookieHelper.GetCookieValue("cookie_weixin_login_state");
            //LogHelper.Info("session_state:" + session_state + ",cookie_state:" + cookie_state);
            //if (state == _state)
            //{
            BaseBLL <weixin_open> bll = new BaseBLL <weixin_open>();
            var    weixin_open        = bll.Find(o => o.appid != null && o.secret != null);
            string appid  = weixin_open.appid;
            string secret = weixin_open.secret;

            WeixinOpenAPI api = new WeixinOpenAPI(appid, secret);

            //string access_token = weixin_open.access_token;
            //string access_token_time = weixin_open.access_token_time == null ? "" : weixin_open.access_token_time.Value.ToString();

            api.GetAccessToken(code);
            LogHelper.Info("access_token:" + api.access_token);
            string user_json = api.GetUserInfo(api.openid);

            LogHelper.Info("user_json:" + user_json);
            JObject obj    = JObject.Parse(user_json);
            string  openid = obj["openid"] == null ? "" : obj["openid"].ToString();

            LogHelper.Info("openid:" + openid);
            BaseBLL <weixin_applet> weixinAppletBll = new BaseBLL <weixin_applet>();
            weixin_applet           weixinApplet    = weixinAppletBll.Find(x => x.appcode == "ZHIYIN");
            weixin_user             userInfo        = new weixin_user
            {
                openid           = obj["openid"] == null ? "" : obj["openid"].ToString(),
                unionid          = obj["unionid"] == null ? "" : obj["unionid"].ToString(),
                nickname         = obj["nickname"] == null ? "" : obj["nickname"].ToString(),
                sex              = obj["sex"] == null ? 0 : int.Parse(obj["sex"].ToString()),
                language         = obj["language"] == null ? "" : obj["language"].ToString(),
                city             = obj["city"] == null ? "" : obj["city"].ToString(),
                province         = obj["province"] == null ? "" : obj["province"].ToString(),
                country          = obj["country"] == null ? "" : obj["country"].ToString(),
                headimgurl       = obj["headimgurl"] == null ? "" : obj["headimgurl"].ToString(),
                source_code      = weixinApplet.appcode,
                weixin_applet_id = weixinApplet.id
            };

            if (!Util.isNotNull(openid))
            {
                return(new ApiResult()
                {
                    success = false,
                    message = "openid为空"
                });
            }
            #region 微信登陆,保存信息
            //如果不存在则要创建,创建时,先创建 iuser ,再创建 weixin_user
            bool first_login = false;
            BaseBLL <weixin_user> weixinUserBll = new BaseBLL <weixin_user>();
            if (Util.isNotNull(userInfo.unionid))
            {
                var weixinUser = weixinUserBll.Find(o => o.unionid == userInfo.unionid);
                //可能是第一次登陆,在网页端登陆
                if (weixinUser == null)
                {
                    //微信开发平台的openid与小程序的openid不一致
                    //var _weixin_user = weixinUserBll.Find(o => o.nickname == userInfo.nickname);
                    first_login = true;
                    //先存iuser
                    var             iuser    = new iuser();
                    BaseBLL <iuser> iuserBll = new BaseBLL <iuser>();
                    iuser.random     = sys.getRandomStr();
                    iuser.createtime = DateTime.Now;
                    iuser.updatetime = DateTime.Now;
                    iuser            = iuserBll.Add(iuser);
                    //再存weixin_user
                    userInfo.uid            = iuser.id;
                    userInfo.sub_time       = DateTime.Now;
                    userInfo.first_sub_time = DateTime.Now;
                    LogHelper.Info("first_login:"******",userInfo:" + Newtonsoft.Json.JsonConvert.SerializeObject(userInfo));
                    weixinUser = weixinUserBll.Add(userInfo);
                }
                else
                {
                    weixinUser.nickname   = userInfo.nickname;
                    weixinUser.headimgurl = userInfo.headimgurl;
                    LogHelper.Info("first_login:"******",userInfo:" + Newtonsoft.Json.JsonConvert.SerializeObject(userInfo));
                    weixinUserBll.Update(weixinUser);
                }

                apiResult.success = true;
                apiResult.data    = new { first_login = first_login, weixinUser = weixinUser };
                apiResult.status  = ApiStatusCode.OK;
            }
            else
            {
                return(new ApiResult()
                {
                    success = false,
                    message = "微信开发平台未获取到unionid"
                });
            }
            #endregion
            //}
            //else
            //{
            //    return new ApiResult()
            //    {
            //        success = false,
            //        message = "请求超时"
            //    };
            //}
            return(apiResult);
        }
Пример #12
0
 public BlogUser Add([FromBody] BlogUser model)
 {
     return(bll.Add(model));
 }
Пример #13
0
 public BlogType Add([FromBody] BlogType model)
 {
     return(bll.Add(model));
 }
Пример #14
0
        /// <summary>
        /// 上传作品(一个赛季/一个人只能有一份作品)(必须在作品征集时间段内上传)
        /// formdata:"article_id":0,"article_title":"xxxx","uid":1,"","article_content":"xxxxx","article_pic":"图片","zone_id"(赛区):1,"competiontion_season_id"(赛季):1
        /// </summary>
        /// <returns></returns>

        public ApiResult UploadArticle()
        {
            ApiResult apiResult = new ApiResult();

            #region 参数检测
            //var pic = System.Web.HttpContext.Current.Request.Files[0];
            var    _article_pic             = System.Web.HttpContext.Current.Request.Form["article_pic"];
            string _article_id              = System.Web.HttpContext.Current.Request.Form["article_id"];
            string _article_title           = System.Web.HttpContext.Current.Request.Form["article_title"];
            string _uid                     = System.Web.HttpContext.Current.Request.Form["uid"];
            string _article_content         = System.Web.HttpContext.Current.Request.Form["article_content"];
            string _zone_id                 = System.Web.HttpContext.Current.Request.Form["zone_id"];
            string _competiontion_season_id = System.Web.HttpContext.Current.Request.Form["competiontion_season_id"];
            LogHelper.Info("zone_id:" + _zone_id);
            //一个赛季,一个作者,只能有一份作品
            var checkResult = Util.CheckParameters(
                new Parameter {
                Value = _zone_id, Msg = "zone_id 不能为空值"
            },
                new Parameter {
                Value = _zone_id, Msg = "zone_id 必须是数字类型", Regex = @"^[1-9]\d*$"
            },
                new Parameter {
                Value = _uid, Msg = "uid 不能为空值"
            },
                new Parameter {
                Value = _uid, Msg = "uid 必须是数字类型", Regex = @"^[1-9]\d*$"
            },
                new Parameter {
                Value = _article_title, Msg = "article_title 不能为空值"
            },
                new Parameter {
                Value = _article_content, Msg = "article_content 不能为空值"
            }
                );
            if (!checkResult.OK)
            {
                apiResult.success = false;
                apiResult.status  = ApiStatusCode.InvalidParam;
                apiResult.message = checkResult.Msg;
                return(apiResult);
            }
            int uid        = int.Parse(_uid);
            int zone_id    = int.Parse(_zone_id);
            int article_id = int.Parse(_article_id);
            #endregion
            #region 赛季检查
            //开启的赛季
            int competiontion_season_id = 0;
            if (Util.isNotNull(_competiontion_season_id))
            {
                competiontion_season_id = int.Parse(_competiontion_season_id);
            }
            else
            {
                //查到当前默认开启的赛季
                BaseBLL <competition_notice> notice_bll = new BaseBLL <competition_notice>();
                var competion_season = notice_bll.Find(o => o.is_delete == 0 && o.is_open == 1);
                competiontion_season_id = competion_season?.competition_season_id ?? 0;
                //是否已过期
                if (competion_season.preliminaries_start_date > DateTime.Now.Date)
                {
                    return(new ApiResult()
                    {
                        success = false,
                        message = "大赛投稿时间还没开始"
                    });
                }
                if (competion_season.preliminaries_end_date < DateTime.Now.Date)
                {
                    return(new ApiResult()
                    {
                        success = false,
                        message = "大赛投稿已截止"
                    });
                }
            }
            if (competiontion_season_id == 0)
            {
                return(new ApiResult()
                {
                    success = false,
                    message = "当前没有开启任何赛季"
                });
            }
            #endregion
            ArticleBLL bll = new ArticleBLL();
            BaseBLL <article_states> state_bll   = new BaseBLL <article_states>();
            BaseBLL <articles>       article_bll = new BaseBLL <articles>();
            if (article_id > 0)
            {
                //判断状态是否可修改
                int article_state = state_bll.Find(o => o.article_id == article_id)?.article_state ?? 0;
                if (article_state > 1)
                {
                    return(new ApiResult()
                    {
                        success = false,
                        message = "当前状态不可修改"
                    });
                }
                #region 修改
                var article = article_bll.Find(o => o.article_id == article_id);
                if (article?.article_id > 0)
                {
                    //修改
                    article.article_pic     = _article_pic ?? "";
                    article.article_title   = _article_title;
                    article.article_content = _article_content;
                    article.create_time     = DateTime.Now;
                    article.update_time     = DateTime.Now;
                    if (article_bll.Update(article))
                    {
                        //关联表更新
                        BaseBLL <article_competition_season> article_season_bll = new BaseBLL <article_competition_season>();
                        var article_competition_season = article_season_bll.Find(o => o.article_id == article_id);
                        if (article_competition_season?.article_season_id > 0)
                        {
                            article_competition_season.zone_id = zone_id;
                            article_competition_season.competiontion_season_id = competiontion_season_id;
                            article_competition_season.update_time             = DateTime.Now;
                            article_season_bll.Update(article_competition_season);
                        }
                        //更新作品的状态
                        BaseBLL <article_states> states_bll = new BaseBLL <article_states>();
                        var article_states = states_bll.Find(o => o.article_id == article_id);
                        if (article_states?.article_id > 0)
                        {
                            article_states.article_state = 0;
                            article_states.return_remark = "";
                            article_states.return_tag    = "";
                            article_states.update_time   = DateTime.Now;
                            states_bll.Update(article_states);
                        }
                        apiResult.success = true;
                        apiResult.message = "修改成功";
                    }
                    else
                    {
                        apiResult.success = false;
                        apiResult.message = "修改失败";
                    }
                }
                else
                {
                    apiResult.success = false;
                    apiResult.message = "数据不存在";
                }
                #endregion
            }
            else
            {
                #region 新增

                //是否已存在
                if (bll.ExistUserArticle(uid, competiontion_season_id))
                {
                    return(new ApiResult()
                    {
                        success = false,
                        message = "您在当前赛季已经有一份作品了~"
                    });
                }

                articles article = new articles();
                //后台自动生成
                article.article_pic     = _article_pic ?? "";
                article.article_title   = _article_title;
                article.article_content = _article_content;
                article.create_time     = DateTime.Now;
                article.uid             = uid;
                article.update_time     = DateTime.Now;
                var result = article_bll.Add(article);
                if (result?.article_id > 0)
                {
                    //更新编号
                    apiResult = bll.UploadAritcleNo(result);
                    if (apiResult.success)
                    {
                        //更新关联表
                        BaseBLL <article_competition_season> article_season_bll = new BaseBLL <article_competition_season>();
                        article_season_bll.Add(new article_competition_season()
                        {
                            article_id = result.article_id,
                            zone_id    = zone_id,
                            competiontion_season_id = competiontion_season_id,
                            create_time             = DateTime.Now,
                            update_time             = DateTime.Now,
                        });
                        //更新状态表
                        state_bll.Add(new article_states()
                        {
                            article_id    = result.article_id,
                            article_state = 0,
                            create_time   = DateTime.Now,
                            update_time   = DateTime.Now,
                        });
                        apiResult.success = true;
                        apiResult.message = "保存成功";
                    }
                }
                else
                {
                    apiResult.success = false;
                    apiResult.message = "保存失败";
                }

                #endregion
            }
            return(apiResult);
        }
        private void btnWant_Click(object sender, EventArgs e)
        {
            try
            {
                if (MessageBox.Show("此操作将会展示你的个人信息给对方", "确认竞标", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    var seBll = new BaseBLL<t_Session>();
                    var session = new t_Session()
                    {
                        ID = Guid.NewGuid(),
                        AchivementID = Program.loginUserID,
                        RequireID = this.requirement.PostID,
                        RequirementID = this.requirement.ID,
                        SessionDate = DateTime.Now
                    };
                    var showinfo = userBll.Query(u => u.ID == Program.loginUserID).Select(u => u.ShowInfo).FirstOrDefault();
                    var chat = new t_ChatContent()
                    {
                        ID = Guid.NewGuid(),
                        Date = DateTime.Now,
                        SessionID = session.ID,
                        SpeakID = Program.loginUserID,
                        Content = showinfo ?? string.Empty
                    };

                    if (seBll.Add(session) && chatBll.Add(chat))
                    {
                        MessageBox.Show("已竞标,请静候佳音");
                    }
                    else
                    {
                        MessageBox.Show("啊偶~前方高能预警,请稍后重试");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "发生位置网络故障,请稍后重试");
            }
        }
Пример #16
0
        /// <summary>
        ///  生成小程序码(圆形)
        /// </summary>
        /// <param name="path">地址</param>
        /// <param name="appcode">小程序标识</param>
        /// <returns></returns>
        public static string CreateCircleWxaCodeByPath(string path, string appcode)
        {
            string img_path = string.Empty;
            BaseBLL <weixin_applet> appBLL = new BaseBLL <weixin_applet>();
            weixin_applet           app    = appBLL.Find(x => x.appcode == appcode);
            string code_name = app.applet_name;
            string code_desc = $"{app.applet_name}小程序码";

            //1、进入首先记录调用情况
            //2、根据path去搜索,如果找到则返回没找到继续执行
            //3、生成小程序图片上传到服务器
            //4、存入数据库
            #region 记录调用情况
            BaseBLL <weixin_applet_log> logBLL = new BaseBLL <weixin_applet_log>();
            weixin_applet_log           log    = new weixin_applet_log();
            log.appcode     = appcode;
            log.title       = "后台生成小程序码WeiXinHelper.CreateCircleWxaCodeByPath";
            log.ip          = Util.GetUserIp();
            log.createtime  = DateTime.Now;
            log.request_url = System.Web.HttpContext.Current.Request.RawUrl;
            log.info        = $"接口参数为:path:{path},appcode:{appcode}";
            logBLL.Add(log);
            #endregion

            //2、根据path去搜索,如果找到则返回没找到继续执行
            BaseBLL <weixin_applet_code> appCodeBLL = new BaseBLL <weixin_applet_code>();
            weixin_applet_code           appletCode = appCodeBLL.Find(x => x.xcx_url == path && x.weixin_applet_id == app.id && x.code_type == 2);
            if (appletCode != null)
            {
                img_path = appletCode.img_path;
            }
            else
            {
                //3、生成小程序图片上传到服务器
                WeixinXAPI weixinApi = new WeixinXAPI(app.appid, app.secret, app.access_token,
                                                      app.access_token_time?.ToString() ?? "", app.id);
                if (weixinApi.rootSuccess)
                {
                    string imgpath = weixinApi.CreateWxaCode(path);
                    if (!string.IsNullOrEmpty(imgpath))
                    {
                        //4、存入数据库
                        #region 存入数据库
                        var newAppCode = new weixin_applet_code
                        {
                            code_name        = code_name,
                            code_desc        = code_desc,
                            weixin_applet_id = app.id,
                            create_time      = DateTime.Now,
                            random           = sys.getRandomStr(),
                            img_path         = imgpath,
                            is_delete        = 0,
                            xcx_url          = path,
                            code_type        = 2
                        };
                        appCodeBLL.Add(newAppCode);
                        #endregion
                    }
                    img_path = imgpath;
                }
            }
            return(img_path);
        }