using System; using System.Collections.Generic; using System.Linq; using System.Web; using Business = SuperMap.RealEstate.HighWay.Storage.Business; using HZQR.Common; using Newtonsoft.Json.Linq; using System.Text; namespace SuperMap.RealEstate.HighWay.Handler.CommonInterface { public class Publicity { #region 点赞 public static string ThumbUp(ServiceModel.Transaction _Transaction) { string reString = ""; JObject info = new JObject(); try { string _TABLE_ID = CommonHelper.Request("TABLE_ID"); //业务关联内码 //int thumbUpState = CommonHelper.Request("THUMBUP_STATE").TryParseToInt(); //点赞or取消点赞 string _STAFF_ID = CommonHelper.Request("STAFF_ID"); //点赞人 string _STAFF_NAME = CommonHelper.Request("STAFF_NAME"); //点赞人名称 string _TABLE_NAME = "HIGHWAY_STORAGE.T_PUBLICITY"; //业务关联表名称 int thumbUpState = 0; Business.THUMBUP _THUMBUP = new Business.THUMBUP(_Transaction); _THUMBUP.AddSearchParameter("TABLE_ID", _TABLE_ID); _THUMBUP.AddSearchParameter("TABLE_NAME", _TABLE_NAME); _THUMBUP.AddSearchParameter("STAFF_ID", _STAFF_ID); if (_THUMBUP.Search()) { if (_THUMBUP.THUMBUP_STATE.Value == -1) { thumbUpState = 1; } else { thumbUpState = -1; } } else { thumbUpState = 1; } if (thumbUpState == 1 && _THUMBUP.GetCount("WHERE THUMBUP_STATE = 1 AND STAFF_ID = " + _STAFF_ID + " AND TO_CHAR(OPERATE_DATE,'YYYYMM') = TO_CHAR(SYSDATE,'YYYYMM')") == 3) { info["ResultCode"] = "200"; } else { _THUMBUP = new Business.THUMBUP(_Transaction); _THUMBUP.AddSearchParameter("TABLE_ID", _TABLE_ID); _THUMBUP.AddSearchParameter("TABLE_NAME", _TABLE_NAME); _THUMBUP.AddSearchParameter("STAFF_ID", _STAFF_ID); if (_THUMBUP.Search()) { //已经点赞过,修改 _THUMBUP.THUMBUP_STATE = thumbUpState; _THUMBUP.OPERATE_DATE = DateTime.Now; _THUMBUP.Update(); } else { //未点过赞,记录点赞记录。 _THUMBUP.ResetProperty(); _THUMBUP.TABLE_ID = _TABLE_ID.TryParseToInt(); _THUMBUP.TABLE_NAME = _TABLE_NAME; _THUMBUP.THUMBUP_STATE = thumbUpState; _THUMBUP.STAFF_ID = _STAFF_ID.TryParseToInt(); _THUMBUP.STAFF_NAME = _STAFF_NAME; _THUMBUP.OPERATE_DATE = DateTime.Now; _THUMBUP.Insert(); } //修改阳光公示表的点赞数 string sql = "UPDATE HIGHWAY_STORAGE.T_PUBLICITY SET THUMBUP_COUNT = THUMBUP_COUNT + " + thumbUpState + " WHERE PUBLICITY_ID = " + _TABLE_ID; _THUMBUP.ExecuteNonQuery(sql, null); info["ResultCode"] = "100"; } //查询最终的点赞数 string sqlWhere = string.Format("WHERE TABLE_ID = {0} AND TABLE_NAME='{1}' AND THUMBUP_STATE = 1", _TABLE_ID, _TABLE_NAME); int count = new Business.THUMBUP(_Transaction).GetCount(sqlWhere); info["ThumbUpCount"] = count; //点赞数量 reString = info.ToString(); } catch (Exception ex) { ex = ex ?? ex.InnerException; info["ResultCode"] = "999"; info["ResultDesc"] = ex.Message; reString = info.ToString(); } return reString; } #endregion #region 评论 public static string AddComment(ServiceModel.Transaction _Transaction) { string reString = ""; try { string _TABLE_ID = CommonHelper.Request("TABLE_ID"); //业务关联内码 string _STAFF_ID = CommonHelper.Request("STAFF_ID"); //评论人 string _STAFF_NAME = CommonHelper.Request("STAFF_NAME"); //评论人名称 string _COMMENT_CONTENT = CommonHelper.Request("COMMENT_CONTENT"); //评论内容 string _TABLE_NAME = "HIGHWAY_STORAGE.T_PUBLICITY"; //业务关联表名称 Business.COMMENT _COMMENT = new Business.COMMENT(_Transaction); //评论可以重复添加 _COMMENT.TABLE_ID = _TABLE_ID.TryParseToInt(); _COMMENT.TABLE_NAME = _TABLE_NAME; _COMMENT.COMMENT_STATE = 1; _COMMENT.COMMENT_CONTENT = _COMMENT_CONTENT; _COMMENT.STAFF_ID = _STAFF_ID.TryParseToInt(); _COMMENT.STAFF_NAME = _STAFF_NAME; _COMMENT.OPERATE_DATE = DateTime.Now; _COMMENT.Insert(); //修改阳光公示表的评论数 string sql = string.Format("UPDATE HIGHWAY_STORAGE.T_PUBLICITY SET COMMENT_COUNT = COMMENT_COUNT+1 WHERE PUBLICITY_ID = {0}", _TABLE_ID); _COMMENT.ExecuteNonQuery(sql, null); //查询最终的评论数 string sqlWhere = string.Format(@"WHERE TABLE_ID = {0} AND TABLE_NAME='{1}'", _TABLE_ID, _TABLE_NAME); int count = new Business.COMMENT(_Transaction).GetCount(sqlWhere); JObject info = new JObject(); info["CommentCount"] = count; //评论数量 string list = Business.COMMENT.GetCommentList(_Transaction, _TABLE_ID, _TABLE_NAME); info["CommentList"] = list; reString = info.ToString(); } catch (Exception ex) { ex = ex ?? ex.InnerException; reString = ex.Message; } return reString; } #endregion } }