role.go 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365
  1. package dao
  2. import (
  3. "runtime/debug"
  4. "bet24.com/database"
  5. "bet24.com/log"
  6. )
  7. //角色列表
  8. type (
  9. roleInfo struct {
  10. RoleID int //角色ID
  11. RoleName string //角色名称
  12. }
  13. roleList_out struct {
  14. List []roleInfo
  15. }
  16. roleList struct {
  17. database.Trans_base
  18. Out roleList_out
  19. }
  20. )
  21. func NewRoleList() *roleList {
  22. return &roleList{}
  23. }
  24. func (this *roleList) DoAction(ch chan<- interface{}) {
  25. defer func() {
  26. if err := recover(); err != nil {
  27. log.Release("transaction recover fail %v", err)
  28. log.Release("%s", debug.Stack())
  29. }
  30. if ch != nil {
  31. ch <- this
  32. }
  33. }()
  34. statement := database.NewStatement()
  35. statement.SetNeedReturnValue(false)
  36. statement.SetOpenRecordSet(true)
  37. statement.SetProcName("Manage_AdminRole_GetList")
  38. sqlstring := statement.GenSql()
  39. retRows := CenterDB.ExecSql(sqlstring)
  40. rowLen := len(retRows)
  41. if rowLen <= 0 {
  42. this.State = false
  43. return
  44. }
  45. this.State = true
  46. this.Out.List = make([]roleInfo, rowLen)
  47. for i := 0; i < rowLen; i++ {
  48. ret := retRows[i]
  49. out := &this.Out.List[i]
  50. out.RoleID = int((*ret[0].(*interface{})).(int64))
  51. out.RoleName = (*ret[1].(*interface{})).(string)
  52. }
  53. }
  54. //添加角色用户
  55. type (
  56. roleUserAdd_in struct {
  57. OpUserID int //操作员ID
  58. OpUserName string //操作员名称
  59. AdminUserID int //管理员ID
  60. AdminRoleIDs string //管理角色ID集 (格式如:1,2,3,)
  61. IpAddress string //IP地址
  62. }
  63. roleUserAdd struct {
  64. database.Trans_base
  65. In roleUserAdd_in
  66. }
  67. )
  68. func NewRoleUserAdd() *roleUserAdd {
  69. return &roleUserAdd{}
  70. }
  71. func (this *roleUserAdd) DoAction(ch chan<- interface{}) {
  72. defer func() {
  73. if err := recover(); err != nil {
  74. log.Release("transaction recover fail %v", err)
  75. log.Release("%s", debug.Stack())
  76. }
  77. if ch != nil {
  78. ch <- this
  79. }
  80. }()
  81. statement := database.NewStatement()
  82. statement.SetNeedReturnValue(false)
  83. statement.SetOpenRecordSet(true)
  84. statement.SetProcName("Manage_RoleUser_AddUser")
  85. statement.AddParamter("@OpUserID", database.AdParamInput, database.AdInteger, 4, this.In.OpUserID)
  86. statement.AddParamter("@OpUserName", database.AdParamInput, database.AdVarChar, 32, this.In.OpUserName)
  87. statement.AddParamter("@AdminUserID", database.AdParamInput, database.AdVarChar, 32, this.In.AdminUserID)
  88. statement.AddParamter("@AdminRoleIDs", database.AdParamInput, database.AdVarChar, 1024, this.In.AdminRoleIDs)
  89. statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, this.In.IpAddress)
  90. sqlstring := statement.GenSql()
  91. retRows := CenterDB.ExecSql(sqlstring)
  92. rowLen := len(retRows)
  93. if rowLen <= 0 {
  94. this.State = false
  95. return
  96. }
  97. this.State = true
  98. }
  99. //用户角色列表
  100. type (
  101. roleListByAdmin_in struct {
  102. AdminUserID int //管理员ID
  103. }
  104. roleAdminInfo struct {
  105. RoleID int //角色ID
  106. RoleName string //角色名称
  107. AdminUserID int //管理员ID
  108. }
  109. roleListByAdmin_out struct {
  110. List []roleAdminInfo
  111. }
  112. roleListByAdmin struct {
  113. database.Trans_base
  114. In roleListByAdmin_in
  115. Out roleListByAdmin_out
  116. }
  117. )
  118. func NewRoleListByAdmin() *roleListByAdmin {
  119. return &roleListByAdmin{}
  120. }
  121. func (this *roleListByAdmin) DoAction(ch chan<- interface{}) {
  122. defer func() {
  123. if err := recover(); err != nil {
  124. log.Release("transaction recover fail %v", err)
  125. log.Release("%s", debug.Stack())
  126. }
  127. if ch != nil {
  128. ch <- this
  129. }
  130. }()
  131. statement := database.NewStatement()
  132. statement.SetNeedReturnValue(false)
  133. statement.SetOpenRecordSet(true)
  134. statement.SetProcName("Manage_AdminRole_GetListByAdmin")
  135. statement.AddParamter("@AdminUserID", database.AdParamInput, database.AdVarChar, 32, this.In.AdminUserID)
  136. sqlstring := statement.GenSql()
  137. retRows := CenterDB.ExecSql(sqlstring)
  138. rowLen := len(retRows)
  139. if rowLen <= 0 {
  140. this.State = false
  141. return
  142. }
  143. this.State = true
  144. this.Out.List = make([]roleAdminInfo, rowLen)
  145. for i := 0; i < rowLen; i++ {
  146. ret := retRows[i]
  147. out := &this.Out.List[i]
  148. out.RoleID = int((*ret[0].(*interface{})).(int64))
  149. out.RoleName = (*ret[1].(*interface{})).(string)
  150. out.AdminUserID = int((*ret[2].(*interface{})).(int64))
  151. }
  152. }
  153. //角色设置页面
  154. type (
  155. roleSetPage_in struct {
  156. OpUserID int //操作员ID
  157. OpUserName string //操作员名称
  158. AdminRoleID int //角色ID
  159. AdminPageIDs string //页面ID集(格式如:1,2,3,)
  160. IpAddress string //IP地址
  161. }
  162. roleSetPage_out struct {
  163. RetCode int //操作结果
  164. ErrorMsg string //操作描述
  165. }
  166. roleSetPage struct {
  167. database.Trans_base
  168. In roleSetPage_in
  169. Out roleSetPage_out
  170. }
  171. )
  172. func NewRoleSetPage() *roleSetPage {
  173. return &roleSetPage{}
  174. }
  175. func (this *roleSetPage) DoAction(ch chan<- interface{}) {
  176. defer func() {
  177. if err := recover(); err != nil {
  178. log.Release("transaction recover fail %v", err)
  179. log.Release("%s", debug.Stack())
  180. }
  181. if ch != nil {
  182. ch <- this
  183. }
  184. }()
  185. statement := database.NewStatement()
  186. statement.SetNeedReturnValue(false)
  187. statement.SetOpenRecordSet(true)
  188. statement.SetProcName("Manage_AdminRole_SetPage")
  189. statement.AddParamter("@OpUserID", database.AdParamInput, database.AdInteger, 4, this.In.OpUserID)
  190. statement.AddParamter("@OpUserName", database.AdParamInput, database.AdVarChar, 32, this.In.OpUserName)
  191. statement.AddParamter("@AdminRoleID", database.AdParamInput, database.AdInteger, 4, this.In.AdminRoleID)
  192. statement.AddParamter("@AdminPageIDs", database.AdParamInput, database.AdVarChar, 2048, this.In.AdminPageIDs)
  193. statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, this.In.IpAddress)
  194. sqlstring := statement.GenSql()
  195. retRows := CenterDB.ExecSql(sqlstring)
  196. rowLen := len(retRows)
  197. if rowLen <= 0 {
  198. this.State = false
  199. return
  200. }
  201. this.State = true
  202. }
  203. //角色页面列表
  204. type (
  205. rolePageList_in struct {
  206. AdminRoleID int //角色ID
  207. }
  208. rolePageInfo struct {
  209. AdminRoleID int //角色ID
  210. AdminPageID int //页面ID
  211. PageName string //页面名称
  212. }
  213. rolePageList_out struct {
  214. AdminRoleName string //角色名称
  215. List []rolePageInfo
  216. }
  217. rolePageList struct {
  218. database.Trans_base
  219. In rolePageList_in
  220. Out rolePageList_out
  221. }
  222. )
  223. func NewRolePageList() *rolePageList {
  224. return &rolePageList{}
  225. }
  226. func (this *rolePageList) DoAction(ch chan<- interface{}) {
  227. defer func() {
  228. if err := recover(); err != nil {
  229. log.Release("transaction recover fail %v", err)
  230. log.Release("%s", debug.Stack())
  231. }
  232. if ch != nil {
  233. ch <- this
  234. }
  235. }()
  236. statement := database.NewStatement()
  237. statement.SetNeedReturnValue(false)
  238. statement.SetOpenRecordSet(true)
  239. statement.SetProcName("Manage_AdminRole_GetPageList")
  240. statement.AddParamter("@AdminRoleID", database.AdParamInput, database.AdInteger, 4, this.In.AdminRoleID)
  241. statement.AddParamter("@AdminRoleName", database.AdParamOutput, database.AdNVarChar, 32, this.Out.AdminRoleName)
  242. sqlstring := statement.GenSql()
  243. retRows := CenterDB.ExecSql(sqlstring)
  244. rowLen := len(retRows)
  245. if rowLen <= 0 {
  246. this.State = false
  247. return
  248. }
  249. this.State = true
  250. if rowLen > 1 {
  251. this.Out.List = make([]rolePageInfo, rowLen-1)
  252. for i := 0; i < rowLen-1; i++ {
  253. ret := retRows[i]
  254. out := &this.Out.List[i]
  255. out.AdminRoleID = int((*ret[0].(*interface{})).(int64))
  256. out.AdminPageID = int((*ret[1].(*interface{})).(int64))
  257. out.PageName = (*ret[2].(*interface{})).(string)
  258. }
  259. }
  260. this.Out.AdminRoleName = (*retRows[rowLen-1][0].(*interface{})).(string)
  261. }
  262. //角色用户列表
  263. type (
  264. roleUserInfo struct {
  265. AdminUserID int //管理员ID
  266. AdminUserName string //管理员名称
  267. AdminRoleID int //角色ID
  268. AdminRoleName string //角色名称
  269. Crdate string //时间
  270. }
  271. roleUserList_out struct {
  272. List []roleUserInfo
  273. }
  274. roleUserList struct {
  275. database.Trans_base
  276. Out roleUserList_out
  277. }
  278. )
  279. func NewRoleUserList() *roleUserList {
  280. return &roleUserList{}
  281. }
  282. func (this *roleUserList) DoAction(ch chan<- interface{}) {
  283. defer func() {
  284. if err := recover(); err != nil {
  285. log.Release("transaction recover fail %v", err)
  286. log.Release("%s", debug.Stack())
  287. }
  288. if ch != nil {
  289. ch <- this
  290. }
  291. }()
  292. statement := database.NewStatement()
  293. statement.SetNeedReturnValue(false)
  294. statement.SetOpenRecordSet(true)
  295. statement.SetProcName("Manage_RoleUser_GetList")
  296. sqlstring := statement.GenSql()
  297. retRows := CenterDB.ExecSql(sqlstring)
  298. rowLen := len(retRows)
  299. if rowLen <= 0 {
  300. this.State = false
  301. return
  302. }
  303. this.State = true
  304. this.Out.List = make([]roleUserInfo, rowLen)
  305. for i := 0; i < rowLen; i++ {
  306. ret := retRows[i]
  307. out := &this.Out.List[i]
  308. out.AdminUserID = int((*ret[0].(*interface{})).(int64))
  309. out.AdminUserName = (*ret[1].(*interface{})).(string)
  310. out.AdminRoleID = int((*ret[2].(*interface{})).(int64))
  311. out.AdminRoleName = (*ret[3].(*interface{})).(string)
  312. out.Crdate = (*ret[4].(*interface{})).(string)
  313. }
  314. }