mail.go 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. package controller
  2. import (
  3. "bet24.com/log"
  4. "bet24.com/servers/adminserver/character"
  5. "bet24.com/servers/adminserver/config"
  6. "bet24.com/servers/adminserver/dao"
  7. "bet24.com/servers/adminserver/google"
  8. "bet24.com/servers/adminserver/item"
  9. "bet24.com/servers/adminserver/serverdata"
  10. item_inventory "bet24.com/servers/micros/item_inventory/proto"
  11. "encoding/json"
  12. "github.com/gin-gonic/gin"
  13. "net/http"
  14. )
  15. // 留言板列表
  16. func ServiceMessageList(c *gin.Context) {
  17. obj := dao.NewServiceMessageList()
  18. if err := c.ShouldBind(&obj.In); err != nil {
  19. log.Debug("%s shouldBind err %v", "serviceMessageList", err)
  20. return
  21. }
  22. obj.DoAction(nil)
  23. c.JSON(http.StatusOK, obj.Out)
  24. return
  25. }
  26. // 用户留言详细信息
  27. func ServiceDetailList(c *gin.Context) {
  28. obj := dao.NewServiceDetailList()
  29. if err := c.ShouldBind(&obj.In); err != nil {
  30. log.Debug("%s shouldBind err %v", "serviceDetailList", err)
  31. return
  32. }
  33. obj.DoAction(nil)
  34. // 是否开启翻译
  35. if ok, _ := google.IsTranslate(); ok {
  36. for idx, v := range obj.Out.List {
  37. if v.Msg == "" || v.TransMsg != "" {
  38. continue
  39. }
  40. transMsg, err := google.Translate(config.Server.GOOGLE_OTHER_LANGUAGE, config.Server.GOOGLE_ZH_LANGUAGE, v.Msg)
  41. if err != nil {
  42. log.Error("controller.ServiceDetailList google.Translate error %+v --> %s", err, v.Msg)
  43. continue
  44. }
  45. obj.Out.List[idx].TransMsg = transMsg
  46. transObj := dao.NewMsgTranslate()
  47. transObj.In.MessageID = v.MessageID
  48. transObj.In.OpUserID = -1
  49. transObj.In.OpUserName = "System"
  50. transObj.In.TransMsg = transMsg
  51. go transObj.DoAction()
  52. }
  53. }
  54. c.JSON(http.StatusOK, obj.Out)
  55. return
  56. }
  57. // 客服回复
  58. func ServiceSend(c *gin.Context) {
  59. obj := dao.NewServiceSend()
  60. if err := c.ShouldBind(&obj.In); err != nil {
  61. log.Debug("%s shouldBind err %v", "serviceSend", err)
  62. return
  63. }
  64. obj.In.Msg = character.GetSpecialCharacter(obj.In.Msg)
  65. obj.In.TransMsg = character.GetSpecialCharacter(obj.In.TransMsg)
  66. // 是否开启翻译
  67. if ok, _ := google.IsTranslate(); ok {
  68. log.Debug("ServiceSend obj.In 2 ==> %+v", obj.In)
  69. if obj.In.Msg == "" && obj.In.TransMsg != "" {
  70. msg, err := google.Translate(config.Server.GOOGLE_ZH_LANGUAGE, config.Server.GOOGLE_OTHER_LANGUAGE, obj.In.TransMsg)
  71. if err != nil {
  72. log.Error("controller.ServiceDetailList google.Translate error %+v --> %s", err, obj.In.TransMsg)
  73. }
  74. obj.In.Msg = msg
  75. }
  76. } else if obj.In.TransMsg != "" {
  77. obj.In.Msg = obj.In.TransMsg
  78. obj.In.TransMsg = ""
  79. }
  80. // 没有消息,不允许发送
  81. if obj.In.Msg == "" {
  82. c.JSON(http.StatusOK, nil)
  83. return
  84. }
  85. obj.DoAction(nil)
  86. c.JSON(http.StatusOK, nil)
  87. return
  88. }
  89. // 系统广播列表
  90. func TimeBroadcastList(c *gin.Context) {
  91. obj := dao.NewTimeBroadcastList()
  92. if err := c.ShouldBind(&obj.In); err != nil {
  93. log.Debug("%s shouldBind err %v", "timeBroadcastList", err)
  94. return
  95. }
  96. obj.DoAction(nil)
  97. c.JSON(http.StatusOK, obj.Out)
  98. return
  99. }
  100. // 定时广播发送
  101. func TimeBroadcastSend(c *gin.Context) {
  102. obj := dao.NewTimeBroadcastSend()
  103. if err := c.ShouldBind(&obj.In); err != nil {
  104. log.Debug("%s shouldBind err %v", "TimeBroadcastSend", err)
  105. return
  106. }
  107. obj.DoAction(nil)
  108. c.JSON(http.StatusOK, nil)
  109. return
  110. }
  111. // 定时广播删除
  112. func TimeBroadcastDel(c *gin.Context) {
  113. obj := dao.NewTimeBroadcastDel()
  114. if err := c.ShouldBind(&obj.In); err != nil {
  115. log.Debug("%s shouldBind err %v", "timeBroadcastDel", err)
  116. return
  117. }
  118. obj.DoAction(nil)
  119. c.JSON(http.StatusOK, nil)
  120. return
  121. }
  122. // 客服留言小红点提示
  123. func Tip(c *gin.Context) {
  124. c.JSON(http.StatusOK, struct {
  125. List interface{}
  126. }{
  127. List: serverdata.Tip.GetList(),
  128. })
  129. return
  130. }
  131. // 发送系统消息
  132. func SysMessageSend(c *gin.Context) {
  133. obj := dao.NewSysMessageSend()
  134. if err := c.ShouldBind(&obj.In); err != nil {
  135. log.Debug("%s shouldBind err %v", "sysMessageSend", err)
  136. return
  137. }
  138. var items []item_inventory.ItemPack
  139. items = append(items, item.AddItems(obj.In.ItemID_1, obj.In.ItemCount_1)...)
  140. items = append(items, item.AddItems(obj.In.ItemID_2, obj.In.ItemCount_2)...)
  141. items = append(items, item.AddItems(obj.In.ItemID_3, obj.In.ItemCount_3)...)
  142. items = append(items, item.AddItems(obj.In.ItemID_4, obj.In.ItemCount_4)...)
  143. items = append(items, item.AddItems(obj.In.ItemID_5, obj.In.ItemCount_5)...)
  144. if len(items) > 0 {
  145. buff, _ := json.Marshal(items)
  146. obj.In.Tools = string(buff)
  147. }
  148. obj.DoAction(nil)
  149. c.JSON(http.StatusOK, obj.Out)
  150. return
  151. }
  152. // 获取系统消息列表
  153. func SysMessageList(c *gin.Context) {
  154. obj := dao.NewSysMessageList()
  155. if err := c.ShouldBind(&obj.In); err != nil {
  156. log.Debug("%s shouldBind err %v", "sysMessageList", err)
  157. return
  158. }
  159. obj.DoAction(nil)
  160. c.JSON(http.StatusOK, obj.Out)
  161. return
  162. }
  163. // 客服留言翻译
  164. func MsgTranslate(c *gin.Context) {
  165. obj := dao.NewMsgTranslate()
  166. if err := c.ShouldBind(&obj.In); err != nil {
  167. log.Debug("%s shouldBind err %v", "MsgTranslate", err)
  168. return
  169. }
  170. obj.DoAction()
  171. c.JSON(http.StatusOK, "")
  172. return
  173. }
  174. // 留言标签列表
  175. func MsgTagList(c *gin.Context) {
  176. obj := dao.NewMsgTagList()
  177. obj.DoAction()
  178. c.JSON(http.StatusOK, obj.Out)
  179. return
  180. }
  181. // 留言标签统计
  182. func MsgTagStat(c *gin.Context) {
  183. obj := dao.NewMsgTagStat()
  184. if err := c.ShouldBind(&obj.In); err != nil {
  185. log.Debug("%s shouldBind err %v", "MsgTagStat", err)
  186. return
  187. }
  188. obj.DoAction()
  189. c.JSON(http.StatusOK, obj.Out)
  190. return
  191. }
  192. // 根据标签获取列表
  193. func ServiceMessageListByTag(c *gin.Context) {
  194. obj := dao.NewServiceMessageListByTag()
  195. if err := c.ShouldBind(&obj.In); err != nil {
  196. log.Debug("%s shouldBind err %v", "ServiceMessageListByTag", err)
  197. return
  198. }
  199. obj.DoAction()
  200. c.JSON(http.StatusOK, obj.Out)
  201. return
  202. }
  203. // 获取客服留言信息
  204. func ServiceMessageInfo(c *gin.Context) {
  205. obj := dao.NewServiceMessageInfo()
  206. if err := c.ShouldBind(&obj.In); err != nil {
  207. log.Debug("%s shouldBind err %v", "ServiceMessageInfo", err)
  208. return
  209. }
  210. obj.DoAction()
  211. c.JSON(http.StatusOK, obj.Out)
  212. return
  213. }
  214. // 标签统计
  215. func ServiceMessageTagStat(c *gin.Context) {
  216. obj := dao.NewServiceMessageTagStat()
  217. if err := c.ShouldBind(&obj.In); err != nil {
  218. log.Debug("%s shouldBind err %v", "ServiceMessageTagStat", err)
  219. return
  220. }
  221. obj.DoAction()
  222. c.JSON(http.StatusOK, obj.Out)
  223. return
  224. }