2025-03-27 15:05:14 +08:00

150 lines
6.5 KiB
C#

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
}
}