风讯官方论坛

首页 » 产品服务区 » Bug反馈区 » FS4.05站内消息模块最新修复
newstar - 2008-4-8 08:42:00

 附件: 您所在的用户组无法下载或查看附件
请测试!

若有问题,请尽快回复!
lnan3 - 2008-4-8 10:11:00
A用户发送消息给B用户,A用户在发送消息时把消息保存到发件箱中。
测试后问题如下:
    A用户如果在B用户阅读新消息之前就把保存在发件箱中的消息删除掉了,则B用户随后在自己的收件箱中可以无错的正常删除消息。
    A用户如果一直把消息保存在发件箱中未删除,则B用户在阅读到新消息后欲删除短消息时浏览器依旧会报意外错误。返回后会发现消息删除掉了,而且同时会连带着把A用户保存在自己收件箱中相同的消息删除掉。

这是发件箱的 调用有问题:
    Elseif  NoSqlHack(Request.QueryString("type"))="sendbox" then
    RsMessageSQL = "Select MessageID,M_Title,M_FromUserNumber,M_ReadUserNumber,M_Content,M_FromDate,M_ReadTF,isRecyle,isDelF,isDelR,LenContent,isSend,isDraft From FS_ME_Message  where M_FromUserNumber='"&Fs_User.UserNumber&"'  and isRecyle=0 and isDelR=0 and issend=1 Order by MessageID desc"

将红色字体 删除即可!
newstar - 2008-4-8 10:16:00
If Request.Form("Action") = "Del" then
Dim DelID,Str_Tmp,Str_Tmp1
DelID = NoSqlHack(request.Form("MessageID"))
if DelID = "" then
  strShowErr = "<li>你必须选择一项再删除</li>"
  Call ReturnError(strShowErr,"")
End if
if Trim(Request.Form("strAction")) = "drabox" then
  Dim RsTFSQLd,RsTFObjd
  Set RsTFObjd = Server.CreateObject(G_FS_RS)
  RsTFSQLd = "Select isDelR,isSend  From FS_ME_Message  where  MessageId in ("&DelID&") "
  RsTFObjd.Open RsTFSQLd,User_Conn,1,3
  do while not RsTFObjd.eof
  if RsTFObjd("isDelR") = 1 and RsTFObjd("isSend") = 0 then
    User_Conn.execute("Delete From FS_ME_Message where MessageId in ("&DelID&")")
  Else
    User_Conn.execute("Update FS_ME_Message set isDraft = 0  where MessageId in ("&DelID&") and M_FromUserNumber ='"& Fs_User.UserNumber&"'")
  End if
  RsTFObjd.movenext
  loop

Elseif  Trim(Request.Form("strAction")) = "sendbox"  then
  Dim RsTFSQL,RsTFObj
  Set RsTFObj = Server.CreateObject(G_FS_RS) 
  RsTFSQL = "Select isDelR,isDraft  From FS_ME_Message  where  MessageId in ("&DelID&") "
  RsTFObj.Open RsTFSQL,User_Conn,1,3
  do while not RsTFObj.eof
  if RsTFObj("isDelR") = 1 and RsTFObj("isDraft")=0 then
    User_Conn.execute("Delete From FS_ME_Message where MessageId in ("&DelID&")")
  Else
    User_Conn.execute("Update FS_ME_Message set isSend = 0  where MessageId in ("&DelID&") and M_FromUserNumber ='"& Fs_User.UserNumber&"'")
  End if
  RsTFObj.movenext
  loop

Elseif  Trim(Request.Form("strAction")) = "rebox"  then
  Dim RsTFSQL1,RsTFObj1
  Set RsTFObj1 = Server.CreateObject(G_FS_RS)
  RsTFSQL1 = "Select isDelF,isSend,isDraft From FS_ME_Message where MessageId in ("&DelID&") "
  RsTFObj1.Open RsTFSQL1,User_Conn,1,3
  do while not RsTFObj1.eof
  if RsTFObj1("isSend") = 0 and RsTFObj1("isDraft")=0 then
      User_Conn.execute("Delete From FS_ME_Message where MessageId in ("&DelID&") and M_ReadUserNumber ='"& Fs_User.UserNumber&"'")
    Else
    User_Conn.execute("Update FS_ME_Message set isDelR = 1  where MessageId in ("&DelID&") and M_ReadUserNumber ='"& Fs_User.UserNumber&"'")
  End if
  RsTFObj1.movenext
  loop

Else
  strShowErr = "<li>错误的参数</li>"
  Call ReturnError(strShowErr,"")
'User_Conn.execute("Update FS_ME_Message set isDelR = 1  where MessageId in ("&DelID&") and M_ReadUserNumber ='"& Fs_User.UserNumber&"'")
End if
strShowErr = "<li>删除短信成功</li>"
Response.Redirect("lib/Success.asp?ErrCodes="&Server.URLEncode(strShowErr)&"&ErrorUrl=")
Response.end
End if

红色 只是大体标注!
newstar - 2008-4-8 10:40:00
已更新,请重新测试!
lnan3 - 2008-4-8 11:47:00
隆重宣布,你修复后的消息模块测试通过!已知BUG已全部修复!:)
newstar辛苦了!

顺便补充一句,会员的那个人气排行榜也存在BUG,不管是谁,只要刷新就会给该会员增加人气1!不知如何加以限制,望楼主也能考虑考虑。我个人认为不管什么系统,功能不要多也不要太赶时髦,但现有的功能起码每个一个细节都要做的很精,这样才能迎来使用者和购买者。不知我说的对还是错,个人意见吧!FOOSUN以往的版本从3.x到4.x一直在改进,但一直BUG很多!也不见你们在坛子里兄弟们中做一个需求调研和系统调研呢?

newstar 回复:
  目前我只是尽个人的能力,做一些力所能及的事!我所做的修复在官方版本确认以前,也只代表个人。
所以 在我的修复过程中,也可能存在不尽完善的地方,还请多多支持!^&^
四季逗 - 2008-4-8 17:29:00
:default5:
1
查看完整版本: FS4.05站内消息模块最新修复