Procházet zdrojové kódy

优化工程架构

zhou.xiaoning před 5 roky
rodič
revize
bf73dc27a1

+ 7 - 7
controllers/common/notice.go

@@ -3,10 +3,10 @@ package common
 import (
 	"fmt"
 	"mtp2_if/db"
-	"mtp2_if/dbmodels"
 	"mtp2_if/global/app"
 	"mtp2_if/global/e"
 	"mtp2_if/logger"
+	"mtp2_if/models"
 	"mtp2_if/utils"
 	"net/http"
 	"sort"
@@ -24,8 +24,8 @@ type QueryNoticeReq struct {
 
 // QueryNoticeRsp 通知公告系统消息查询返回模型
 type QueryNoticeRsp struct {
-	dbmodels.Noticemsg `xorm:"extends"`
-	Readed             bool `json:"readed" xorm:"-"` // 是否已读
+	models.Noticemsg `xorm:"extends"`
+	Readed           bool `json:"readed" xorm:"-"` // 是否已读
 }
 
 // QueryNotice 通知公告系统消息查询
@@ -55,7 +55,7 @@ func QueryNotice(c *gin.Context) {
 	rst := make([]QueryNoticeRsp, 0)
 	engine := db.GetEngine()
 	// 获取登录账号所属会员信息
-	var userAccount dbmodels.Useraccount
+	var userAccount models.Useraccount
 	if has, _ := engine.Join("LEFT", "LOGINACCOUNT", "LOGINACCOUNT.USERID = USERACCOUNT.USERID").
 		Where("LOGINACCOUNT.LOGINID = ?", req.LoginID).Get(&userAccount); !has {
 		// 查询失败
@@ -196,7 +196,7 @@ func NoticeReaded(c *gin.Context) {
 
 	engine := db.GetEngine()
 	// 获取登录账号所属会员信息
-	var userAccount dbmodels.Useraccount
+	var userAccount models.Useraccount
 	if has, _ := engine.Join("LEFT", "LOGINACCOUNT", "LOGINACCOUNT.USERID = USERACCOUNT.USERID").
 		Where("LOGINACCOUNT.LOGINID = ?", req.LoginID).Get(&userAccount); !has {
 		// 查询失败
@@ -206,7 +206,7 @@ func NoticeReaded(c *gin.Context) {
 	}
 
 	// 尝试获取指定已读数据
-	msgReceiver := &dbmodels.Msgreceiver{Autoid: int32(req.NoticeID), Managerid: userAccount.Userid, Receivertype: 2}
+	msgReceiver := &models.Msgreceiver{Autoid: int32(req.NoticeID), Managerid: userAccount.Userid, Receivertype: 2}
 	has, err := engine.Get(msgReceiver)
 	if err != nil {
 		// 执行失败
@@ -225,7 +225,7 @@ func NoticeReaded(c *gin.Context) {
 		}
 	} else {
 		// 找不到记录则新建一条
-		m := new(dbmodels.Msgreceiver)
+		m := new(models.Msgreceiver)
 		m.Autoid = int32(req.NoticeID)
 		m.Managerid = userAccount.Userid
 		m.Readstatus = 2

+ 2 - 3
controllers/common/table.go

@@ -1,7 +1,6 @@
 package common
 
 import (
-	"mtp2_if/dbmodels"
 	"mtp2_if/global/app"
 	"mtp2_if/global/e"
 	"mtp2_if/logger"
@@ -71,8 +70,8 @@ type QueryTableDefineReq struct {
 
 // QueryTableDefineRsp 查询交易端列表头信息返回模型
 type QueryTableDefineRsp struct {
-	dbmodels.Tabledefine `xorm:"extends"`
-	Columns              []dbmodels.Tablecolumnconfig `json:"columns" xorm:"-"` // 列头信息数组
+	models.Tabledefine `xorm:"extends"`
+	Columns            []models.Tablecolumnconfig `json:"columns" xorm:"-"` // 列头信息数组
 }
 
 // QueryTableDefine 查询交易端列表头信息

+ 3 - 3
controllers/taaccount/taaccount.go

@@ -3,10 +3,10 @@ package taaccount
 import (
 	"fmt"
 	"mtp2_if/db"
-	"mtp2_if/dbmodels"
 	"mtp2_if/global/app"
 	"mtp2_if/global/e"
 	"mtp2_if/logger"
+	"mtp2_if/models"
 	"net/http"
 
 	"github.com/gin-gonic/gin"
@@ -21,7 +21,7 @@ type QueryAmountLogReq struct {
 
 // QueryAmountLogRsp 资金流水查询(当前)返回模型
 type QueryAmountLogRsp struct {
-	dbmodels.Taaccountlog `xorm:"extends"`
+	models.Taaccountlog `xorm:"extends"`
 
 	MarketName      string `json:"marketname"  xorm:"'MARKETNAME'"`        // 市场名称
 	TradeMode       uint32 `json:"trademode"  xorm:"'TRADEMODE'"`          // 交易模式
@@ -123,7 +123,7 @@ type QueryHisAmountLogReq struct {
 
 // QueryHisAmountLogRsp 资金流水查询(历史)返回模型
 type QueryHisAmountLogRsp struct {
-	dbmodels.Histaaccountlog `xorm:"extends"`
+	models.Histaaccountlog `xorm:"extends"`
 
 	MarketName      string `json:"marketname"  xorm:"'MARKETNAME'"`        // 市场名称
 	TradeMode       uint32 `json:"trademode"  xorm:"'TRADEMODE'"`          // 交易模式

+ 3 - 3
controllers/user/login.go

@@ -56,8 +56,8 @@ func GetLoginID(c *gin.Context) {
 // }
 
 // type LoginQueryRsp struct {
-// 	UserAccount dbmodels.Useraccount `json:"userAccount"` // 账户信息
-// 	TaAccounts  []dbmodels.Taaccount `json:"taAccounts"`  // 资金账户列表
+// 	UserAccount models.Useraccount `json:"userAccount"` // 账户信息
+// 	TaAccounts  []models.Taaccount `json:"taAccounts"`  // 资金账户列表
 
 // }
 
@@ -73,7 +73,7 @@ func GetLoginID(c *gin.Context) {
 // 	}
 
 // 	var (
-// 		userAccount *dbmodels.Useraccount // 用户表信息
+// 		userAccount *models.Useraccount // 用户表信息
 // 		err         error
 // 	)
 

+ 4 - 5
controllers/user/user.go

@@ -1,7 +1,6 @@
 package user
 
 import (
-	"mtp2_if/dbmodels"
 	"mtp2_if/global/app"
 	"mtp2_if/global/e"
 	"mtp2_if/logger"
@@ -36,7 +35,7 @@ func QueryUserReferNum(c *gin.Context) {
 	}
 
 	var (
-		userAccount *dbmodels.Useraccount
+		userAccount *models.Useraccount
 		err         error
 	)
 	if userAccount, err = models.GetUserAccount(req.UserID); err != nil {
@@ -61,7 +60,7 @@ type QueryUserInfoReq struct {
 // @Produce json
 // @Security ApiKeyAuth
 // @Param userID query int true "用户ID"
-// @Success 200 {object} dbmodels.Userinfo
+// @Success 200 {object} models.Userinfo
 // @Failure 500 {object} app.Response
 // @Router /User/QueryUserInfo [get]
 // @Tags 用户信息
@@ -78,7 +77,7 @@ func QueryUserInfo(c *gin.Context) {
 
 	// 查询数据
 	var (
-		data *dbmodels.Userinfo
+		data *models.Userinfo
 		err  error
 	)
 	if data, err = models.GetUserInfo(req.UserID); err != nil {
@@ -120,7 +119,7 @@ func GetUserAuthStatus(c *gin.Context) {
 
 	isAuth := false
 	var (
-		userAccount *dbmodels.Useraccount
+		userAccount *models.Useraccount
 		err         error
 	)
 	if userAccount, err = models.GetUserAccount(req.UserID); err != nil {

+ 0 - 139
dbmodels/commonDBModels.go

@@ -1,139 +0,0 @@
-package dbmodels
-
-import "time"
-
-// Funcmenulist 功能菜单表
-type Funcmenulist struct {
-	Resourcecode  string `json:"resourcecode"  xorm:"'RESOURCECODE'" binding:"required"` // 资源代码 - M001 一级菜单编码   0001 二级菜单编码   0001 三级菜单M00100000000  系统管理M00100010000  参数管理M00100010001  参数管理--修改M00100010002  参数管理--删除M00100020000  区域管理
-	Resourcename  string `json:"resourcename"  xorm:"'RESOURCENAME'"`                    // 资源名
-	Resourcelevel uint32 `json:"resourcelevel"  xorm:"'RESOURCELEVEL'"`                  // 级别1-一级 2-二级 3-三级4-四级
-	Menutype      uint32 `json:"menutype"  xorm:"'MENUTYPE'"`                            // 1- 管理端   2-  交易端 3 - 已失效
-	Parentcode    string `json:"parentcode"  xorm:"'PARENTCODE'"`                        // 上级资源代码
-	URL           string `json:"url"  xorm:"'URL'"`                                      // URL
-	Sort          uint32 `json:"sort"  xorm:"'SORT'"`                                    // 排序 - 一级时,是所有一级菜单的排序顺序;二级时是所属同一个一级菜单下的排序、三级时是同一个二级菜单下的排序
-	Iconame       string `json:"iconame"  xorm:"'ICONAME'"`                              // 菜单图标
-	Remark        string `json:"remark"  xorm:"'REMARK'"`                                // Remark
-}
-
-// TableName is FUNCMENULIST
-func (Funcmenulist) TableName() string {
-	return "FUNCMENULIST"
-}
-
-// Rolefuncmenu 角色菜单表
-type Rolefuncmenu struct {
-	Roleid       uint32 `json:"roleid"  xorm:"'ROLEID'" binding:"required"`             // 角色权限ID
-	Resourcecode string `json:"resourcecode"  xorm:"'RESOURCECODE'" binding:"required"` // 菜单代码
-}
-
-// TableName is ROLEFUNCMENU
-func (Rolefuncmenu) TableName() string {
-	return "ROLEFUNCMENU"
-}
-
-// Tabledefine 列表定义表
-type Tabledefine struct {
-	Tablekey  string `json:"tablekey"  xorm:"'TABLEKEY'" binding:"required"` // 列表Key
-	Tabletype uint32 `json:"tabletype"  xorm:"'TABLETYPE'"`                  // 列表类型 - 1:管理端 2:终端
-	Tablename string `json:"tablename"  xorm:"'TABLENAME'"`                  // 列表名称
-	Tabelmenu string `json:"tabelmenu"  xorm:"'TABELMENU'"`                  // 列表菜单
-	Remark    string `json:"remark"  xorm:"'REMARK'"`                        // Remark
-}
-
-// TableName is TABLEDEFINE
-func (Tabledefine) TableName() string {
-	return "TABLEDEFINE"
-}
-
-// Tablecolumnconfig 列表表头配置表
-type Tablecolumnconfig struct {
-	Autoid          uint64 `json:"autoid"  xorm:"'AUTOID'" binding:"required"` // AutoID
-	Tablekey        string `json:"tablekey"  xorm:"'TABLEKEY'"`                // 列表Key
-	Columnfield     string `json:"columnfield"  xorm:"'COLUMNFIELD'"`          // 列字段
-	Columntitle     string `json:"columntitle"  xorm:"'COLUMNTITLE'"`          // 列Title
-	Columnwidth     string `json:"columnwidth"  xorm:"'COLUMNWIDTH'"`          // 列宽
-	Orderindex      uint32 `json:"orderindex"  xorm:"'ORDERINDEX'"`            // 顺序
-	Isshow          uint32 `json:"isshow"  xorm:"'ISSHOW'"`                    // 是否显示 - 0:不显示 1:显示
-	Aligntype       uint32 `json:"aligntype"  xorm:"'ALIGNTYPE'"`              // 对齐方式 - 1:居中对齐 2:左对齐 3:右对齐
-	Formattertype   string `json:"formattertype"  xorm:"'FORMATTERTYPE'"`      // 格式化类型
-	Formatterstring string `json:"formatterstring"  xorm:"'FORMATTERSTRING'"`  // 格式化字符
-	Remark          string `json:"remark"  xorm:"'REMARK'"`                    // 备注
-	Needsummary     uint32 `json:"needsummary"  xorm:"'NEEDSUMMARY'"`          // 是否需要汇总 - 0:不需要 1:需要
-	Summarytype     uint32 `json:"summarytype"  xorm:"'SUMMARYTYPE'"`          // 汇总类型 - 1:加总 2:最后一个
-	Groupname       string `json:"groupname"  xorm:"'GROUPNAME'"`              // 表头分组名称
-}
-
-// TableName is TABLECOLUMNCONFIG
-func (Tablecolumnconfig) TableName() string {
-	return "TABLECOLUMNCONFIG"
-}
-
-// Enumdicitem 枚举项字典表
-type Enumdicitem struct {
-	Autoid          uint64 `json:"autoid"  xorm:"'AUTOID'" binding:"required"`             // 自增ID
-	Enumdicid       uint32 `json:"enumdicid"  xorm:"'ENUMDICID'" binding:"required"`       // 所属枚举ID
-	Enumdiccode     string `json:"enumdiccode"  xorm:"'ENUMDICCODE'" binding:"required"`   // 所属枚举代码
-	Enumdicname     string `json:"enumdicname"  xorm:"'ENUMDICNAME'"`                      // 枚举项名称
-	Enumitemname    uint64 `json:"enumitemname"  xorm:"'ENUMITEMNAME'" binding:"required"` // 枚举项值
-	Enumitemstatus  uint32 `json:"enumitemstatus"  xorm:"'ENUMITEMSTATUS'"`                // 枚举项状态 - 1.启用 2.不启用
-	Bankmappedvalue string `json:"bankmappedvalue"  xorm:"'BANKMAPPEDVALUE'"`              // 银行服务对应值
-	Remark          string `json:"remark"  xorm:"'REMARK'"`                                // 备注
-	Enumitemvalue   string `json:"enumitemvalue"  xorm:"'ENUMITEMVALUE'"`                  // 通用值 - [币种通用简写]
-	Param1          string `json:"param1"  xorm:"'PARAM1'"`                                // 参数1[币种:币种小数位]
-	Param2          string `json:"param2"  xorm:"'PARAM2'"`                                // 参数1[币种:币种显示单位]
-}
-
-// TableName is ENUMDICITEM
-func (Enumdicitem) TableName() string {
-	return "ENUMDICITEM"
-}
-
-// Noticemsg 公告消息表
-type Noticemsg struct {
-	Autoid        int32     `json:"autoid"  xorm:"'AUTOID'" binding:"required"` // 自增ID
-	Msgtype       int32     `json:"msgtype"  xorm:"'MSGTYPE'"`                  // 消息类型 - 1:公告通知 2:系统消息
-	Title         string    `json:"title"  xorm:"'TITLE'"`                      // 标题
-	Content       string    `json:"content"  xorm:"'CONTENT'"`                  // 内容
-	Scheduletime  time.Time `json:"scheduletime"  xorm:"'SCHEDULETIME'"`        // 计划发送时间
-	Publisher     string    `json:"publisher"  xorm:"'PUBLISHER'"`              // 消息发布者
-	Sendtype      int32     `json:"sendtype"  xorm:"'SENDTYPE'"`                // 推送方式 - 1:全体广播 2:按会员广播 3:个人推送 4:按会员广播(仅会员)
-	Userid        int64     `json:"userid"  xorm:"'USERID'"`                    // 会员/投资者ID推送方式 为 个人时,填写投资者ID
-	Istop         int32     `json:"istop"  xorm:"'ISTOP'"`                      // 是否置顶 - 0:不置顶 1:置顶
-	Sentstatus    int32     `json:"sentstatus"  xorm:"'SENTSTATUS'"`            // 推送状态 - 0:未推送 1:已推送 2:审核拒绝
-	Endtime       time.Time `json:"endtime"  xorm:"'ENDTIME'"`                  // 结束时间
-	Creatorid     int64     `json:"creatorid"  xorm:"'CREATORID'"`              // 建仓人
-	Createtime    time.Time `json:"createtime"  xorm:"'CREATETIME'"`            // 创建时间
-	Auditoruserid int64     `json:"auditoruserid"  xorm:"'AUDITORUSERID'"`      // 审核人
-	Audittime     time.Time `json:"audittime"  xorm:"'AUDITTIME'"`              // 审核日期
-	Auditremark   string    `json:"auditremark"  xorm:"'AUDITREMARK'"`          // 审核备注
-}
-
-// TableName is NOTICEMSG
-func (Noticemsg) TableName() string {
-	return "NOTICEMSG"
-}
-
-// Memberrecv 会员消息接受表
-type Memberrecv struct {
-	Msgid    int32 `json:"msgid"  xorm:"'MSGID'" binding:"required"`       // 消息ID
-	Memberid int64 `json:"memberid"  xorm:"'MEMBERID'" binding:"required"` // 会员用户ID
-}
-
-// TableName is MEMBERRECV
-func (Memberrecv) TableName() string {
-	return "MEMBERRECV"
-}
-
-// Msgreceiver 管理端消息接收者
-type Msgreceiver struct {
-	Autoid       int32     `json:"autoid"  xorm:"'AUTOID'" binding:"required"`             // 消息ID
-	Managerid    int64     `json:"managerid"  xorm:"'MANAGERID'" binding:"required"`       // 用户ID
-	Readstatus   int32     `json:"readstatus"  xorm:"'READSTATUS'" binding:"required"`     // 消息状态 - 1:未阅读 2:已阅读 3:已删除
-	Receivertype int32     `json:"receivertype"  xorm:"'RECEIVERTYPE'" binding:"required"` // 接收用户类型 - 1:管理端用户 2:终端用户
-	Updatetime   time.Time `json:"updatetime"  xorm:"'UPDATETIME'"`                        // 更新时间
-}
-
-// TableName is MSGRECEIVER
-func (Msgreceiver) TableName() string {
-	return "MSGRECEIVER"
-}

+ 68 - 2
dbmodels/accountDBModels.go → models/account.go

@@ -1,6 +1,11 @@
-package dbmodels
+package models
 
-import "time"
+import (
+	"encoding/hex"
+	"mtp2_if/db"
+	"mtp2_if/global/utils"
+	"time"
+)
 
 // Loginaccount 登录账户
 type Loginaccount struct {
@@ -319,3 +324,64 @@ type Histaaccountlog struct {
 func (Histaaccountlog) TableName() string {
 	return "HIS_TAACCOUNTLOG"
 }
+
+// GetLoginAccountByLoginCode 通过登录代码查询登录账号信息
+func GetLoginAccountByLoginCode(loginCode string) (*Loginaccount, error) {
+	engine := db.GetEngine()
+
+	// 如果要使用 *Loginaccount, 则应初始化后再使用
+	var loginaccount *Loginaccount
+	loginaccount = &Loginaccount{}
+	// var loginaccount Loginaccount
+	if _, err := engine.Where("LOGINCODE = ?", loginCode).Get(loginaccount); err != nil {
+		return nil, err
+	}
+
+	return loginaccount, nil
+}
+
+// GetLoginAccountByMobile 通过手机号码查询登录账号信息
+func GetLoginAccountByMobile(mobile string) (*Loginaccount, error) {
+	engine := db.GetEngine()
+
+	var loginaccount *Loginaccount
+	// 手机号码需要AES加密
+	key, _ := hex.DecodeString(utils.AESSecretKey)
+	if mobileEncrypted, err := utils.AESEncrypt([]byte(mobile), key); err == nil {
+		// 加密成功后进行查询
+		if _, err := engine.Join("INNER", "USERINFO", "USERINFO.USERID = LOGINACCOUNT.USERID").
+			Where("USERINFO.MOBILE = ?", hex.EncodeToString(mobileEncrypted)).Get(loginaccount); err != nil {
+			return nil, err
+		}
+	}
+
+	return loginaccount, nil
+}
+
+// GetUserAccount 获取用户账户信息
+func GetUserAccount(userID int) (*Useraccount, error) {
+	engine := db.GetEngine()
+	var userAccount *Useraccount
+
+	_, err := engine.Where("USERID = ?", userID).Get(userAccount)
+	if err != nil {
+		// 查询失败
+		return nil, err
+	}
+
+	return userAccount, nil
+}
+
+// GetUserInfo 获取用户信息
+func GetUserInfo(userID int) (*Userinfo, error) {
+	engine := db.GetEngine()
+	var userInfo *Userinfo
+
+	_, err := engine.Where("USERID = ?", userID).Get(userInfo)
+	if err != nil {
+		// 查询失败
+		return nil, err
+	}
+
+	return userInfo, nil
+}

+ 0 - 69
models/accountModels.go

@@ -1,69 +0,0 @@
-package models
-
-import (
-	"encoding/hex"
-	"mtp2_if/db"
-	"mtp2_if/dbmodels"
-	"mtp2_if/global/utils"
-)
-
-// GetLoginAccountByLoginCode 通过登录代码查询登录账号信息
-func GetLoginAccountByLoginCode(loginCode string) (*dbmodels.Loginaccount, error) {
-	engine := db.GetEngine()
-
-	// 如果要使用 *dbmodels.Loginaccount, 则应初始化后再使用
-	var loginaccount *dbmodels.Loginaccount
-	loginaccount = &dbmodels.Loginaccount{}
-	// var loginaccount dbmodels.Loginaccount
-	if _, err := engine.Where("LOGINCODE = ?", loginCode).Get(loginaccount); err != nil {
-		return nil, err
-	}
-
-	return loginaccount, nil
-}
-
-// GetLoginAccountByMobile 通过手机号码查询登录账号信息
-func GetLoginAccountByMobile(mobile string) (*dbmodels.Loginaccount, error) {
-	engine := db.GetEngine()
-
-	var loginaccount *dbmodels.Loginaccount
-	// 手机号码需要AES加密
-	key, _ := hex.DecodeString(utils.AESSecretKey)
-	if mobileEncrypted, err := utils.AESEncrypt([]byte(mobile), key); err == nil {
-		// 加密成功后进行查询
-		if _, err := engine.Join("INNER", "USERINFO", "USERINFO.USERID = LOGINACCOUNT.USERID").
-			Where("USERINFO.MOBILE = ?", hex.EncodeToString(mobileEncrypted)).Get(loginaccount); err != nil {
-			return nil, err
-		}
-	}
-
-	return loginaccount, nil
-}
-
-// GetUserAccount 获取用户账户信息
-func GetUserAccount(userID int) (*dbmodels.Useraccount, error) {
-	engine := db.GetEngine()
-	var userAccount *dbmodels.Useraccount
-
-	_, err := engine.Where("USERID = ?", userID).Get(userAccount)
-	if err != nil {
-		// 查询失败
-		return nil, err
-	}
-
-	return userAccount, nil
-}
-
-// GetUserInfo 获取用户信息
-func GetUserInfo(userID int) (*dbmodels.Userinfo, error) {
-	engine := db.GetEngine()
-	var userInfo *dbmodels.Userinfo
-
-	_, err := engine.Where("USERID = ?", userID).Get(userInfo)
-	if err != nil {
-		// 查询失败
-		return nil, err
-	}
-
-	return userInfo, nil
-}

+ 0 - 0
models/actionModels.go → models/action.go


+ 152 - 16
models/commonModels.go → models/common.go

@@ -4,11 +4,147 @@ import (
 	"errors"
 	"fmt"
 	"mtp2_if/db"
-	"mtp2_if/dbmodels"
 	"mtp2_if/global/utils"
 	"strconv"
+	"time"
 )
 
+// Funcmenulist 功能菜单表
+type Funcmenulist struct {
+	Resourcecode  string `json:"resourcecode"  xorm:"'RESOURCECODE'" binding:"required"` // 资源代码 - M001 一级菜单编码   0001 二级菜单编码   0001 三级菜单M00100000000  系统管理M00100010000  参数管理M00100010001  参数管理--修改M00100010002  参数管理--删除M00100020000  区域管理
+	Resourcename  string `json:"resourcename"  xorm:"'RESOURCENAME'"`                    // 资源名
+	Resourcelevel uint32 `json:"resourcelevel"  xorm:"'RESOURCELEVEL'"`                  // 级别1-一级 2-二级 3-三级4-四级
+	Menutype      uint32 `json:"menutype"  xorm:"'MENUTYPE'"`                            // 1- 管理端   2-  交易端 3 - 已失效
+	Parentcode    string `json:"parentcode"  xorm:"'PARENTCODE'"`                        // 上级资源代码
+	URL           string `json:"url"  xorm:"'URL'"`                                      // URL
+	Sort          uint32 `json:"sort"  xorm:"'SORT'"`                                    // 排序 - 一级时,是所有一级菜单的排序顺序;二级时是所属同一个一级菜单下的排序、三级时是同一个二级菜单下的排序
+	Iconame       string `json:"iconame"  xorm:"'ICONAME'"`                              // 菜单图标
+	Remark        string `json:"remark"  xorm:"'REMARK'"`                                // Remark
+}
+
+// TableName is FUNCMENULIST
+func (Funcmenulist) TableName() string {
+	return "FUNCMENULIST"
+}
+
+// Rolefuncmenu 角色菜单表
+type Rolefuncmenu struct {
+	Roleid       uint32 `json:"roleid"  xorm:"'ROLEID'" binding:"required"`             // 角色权限ID
+	Resourcecode string `json:"resourcecode"  xorm:"'RESOURCECODE'" binding:"required"` // 菜单代码
+}
+
+// TableName is ROLEFUNCMENU
+func (Rolefuncmenu) TableName() string {
+	return "ROLEFUNCMENU"
+}
+
+// Tabledefine 列表定义表
+type Tabledefine struct {
+	Tablekey  string `json:"tablekey"  xorm:"'TABLEKEY'" binding:"required"` // 列表Key
+	Tabletype uint32 `json:"tabletype"  xorm:"'TABLETYPE'"`                  // 列表类型 - 1:管理端 2:终端
+	Tablename string `json:"tablename"  xorm:"'TABLENAME'"`                  // 列表名称
+	Tabelmenu string `json:"tabelmenu"  xorm:"'TABELMENU'"`                  // 列表菜单
+	Remark    string `json:"remark"  xorm:"'REMARK'"`                        // Remark
+}
+
+// TableName is TABLEDEFINE
+func (Tabledefine) TableName() string {
+	return "TABLEDEFINE"
+}
+
+// Tablecolumnconfig 列表表头配置表
+type Tablecolumnconfig struct {
+	Autoid          uint64 `json:"autoid"  xorm:"'AUTOID'" binding:"required"` // AutoID
+	Tablekey        string `json:"tablekey"  xorm:"'TABLEKEY'"`                // 列表Key
+	Columnfield     string `json:"columnfield"  xorm:"'COLUMNFIELD'"`          // 列字段
+	Columntitle     string `json:"columntitle"  xorm:"'COLUMNTITLE'"`          // 列Title
+	Columnwidth     string `json:"columnwidth"  xorm:"'COLUMNWIDTH'"`          // 列宽
+	Orderindex      uint32 `json:"orderindex"  xorm:"'ORDERINDEX'"`            // 顺序
+	Isshow          uint32 `json:"isshow"  xorm:"'ISSHOW'"`                    // 是否显示 - 0:不显示 1:显示
+	Aligntype       uint32 `json:"aligntype"  xorm:"'ALIGNTYPE'"`              // 对齐方式 - 1:居中对齐 2:左对齐 3:右对齐
+	Formattertype   string `json:"formattertype"  xorm:"'FORMATTERTYPE'"`      // 格式化类型
+	Formatterstring string `json:"formatterstring"  xorm:"'FORMATTERSTRING'"`  // 格式化字符
+	Remark          string `json:"remark"  xorm:"'REMARK'"`                    // 备注
+	Needsummary     uint32 `json:"needsummary"  xorm:"'NEEDSUMMARY'"`          // 是否需要汇总 - 0:不需要 1:需要
+	Summarytype     uint32 `json:"summarytype"  xorm:"'SUMMARYTYPE'"`          // 汇总类型 - 1:加总 2:最后一个
+	Groupname       string `json:"groupname"  xorm:"'GROUPNAME'"`              // 表头分组名称
+}
+
+// TableName is TABLECOLUMNCONFIG
+func (Tablecolumnconfig) TableName() string {
+	return "TABLECOLUMNCONFIG"
+}
+
+// Enumdicitem 枚举项字典表
+type Enumdicitem struct {
+	Autoid          uint64 `json:"autoid"  xorm:"'AUTOID'" binding:"required"`             // 自增ID
+	Enumdicid       uint32 `json:"enumdicid"  xorm:"'ENUMDICID'" binding:"required"`       // 所属枚举ID
+	Enumdiccode     string `json:"enumdiccode"  xorm:"'ENUMDICCODE'" binding:"required"`   // 所属枚举代码
+	Enumdicname     string `json:"enumdicname"  xorm:"'ENUMDICNAME'"`                      // 枚举项名称
+	Enumitemname    uint64 `json:"enumitemname"  xorm:"'ENUMITEMNAME'" binding:"required"` // 枚举项值
+	Enumitemstatus  uint32 `json:"enumitemstatus"  xorm:"'ENUMITEMSTATUS'"`                // 枚举项状态 - 1.启用 2.不启用
+	Bankmappedvalue string `json:"bankmappedvalue"  xorm:"'BANKMAPPEDVALUE'"`              // 银行服务对应值
+	Remark          string `json:"remark"  xorm:"'REMARK'"`                                // 备注
+	Enumitemvalue   string `json:"enumitemvalue"  xorm:"'ENUMITEMVALUE'"`                  // 通用值 - [币种通用简写]
+	Param1          string `json:"param1"  xorm:"'PARAM1'"`                                // 参数1[币种:币种小数位]
+	Param2          string `json:"param2"  xorm:"'PARAM2'"`                                // 参数1[币种:币种显示单位]
+}
+
+// TableName is ENUMDICITEM
+func (Enumdicitem) TableName() string {
+	return "ENUMDICITEM"
+}
+
+// Noticemsg 公告消息表
+type Noticemsg struct {
+	Autoid        int32     `json:"autoid"  xorm:"'AUTOID'" binding:"required"` // 自增ID
+	Msgtype       int32     `json:"msgtype"  xorm:"'MSGTYPE'"`                  // 消息类型 - 1:公告通知 2:系统消息
+	Title         string    `json:"title"  xorm:"'TITLE'"`                      // 标题
+	Content       string    `json:"content"  xorm:"'CONTENT'"`                  // 内容
+	Scheduletime  time.Time `json:"scheduletime"  xorm:"'SCHEDULETIME'"`        // 计划发送时间
+	Publisher     string    `json:"publisher"  xorm:"'PUBLISHER'"`              // 消息发布者
+	Sendtype      int32     `json:"sendtype"  xorm:"'SENDTYPE'"`                // 推送方式 - 1:全体广播 2:按会员广播 3:个人推送 4:按会员广播(仅会员)
+	Userid        int64     `json:"userid"  xorm:"'USERID'"`                    // 会员/投资者ID推送方式 为 个人时,填写投资者ID
+	Istop         int32     `json:"istop"  xorm:"'ISTOP'"`                      // 是否置顶 - 0:不置顶 1:置顶
+	Sentstatus    int32     `json:"sentstatus"  xorm:"'SENTSTATUS'"`            // 推送状态 - 0:未推送 1:已推送 2:审核拒绝
+	Endtime       time.Time `json:"endtime"  xorm:"'ENDTIME'"`                  // 结束时间
+	Creatorid     int64     `json:"creatorid"  xorm:"'CREATORID'"`              // 建仓人
+	Createtime    time.Time `json:"createtime"  xorm:"'CREATETIME'"`            // 创建时间
+	Auditoruserid int64     `json:"auditoruserid"  xorm:"'AUDITORUSERID'"`      // 审核人
+	Audittime     time.Time `json:"audittime"  xorm:"'AUDITTIME'"`              // 审核日期
+	Auditremark   string    `json:"auditremark"  xorm:"'AUDITREMARK'"`          // 审核备注
+}
+
+// TableName is NOTICEMSG
+func (Noticemsg) TableName() string {
+	return "NOTICEMSG"
+}
+
+// Memberrecv 会员消息接受表
+type Memberrecv struct {
+	Msgid    int32 `json:"msgid"  xorm:"'MSGID'" binding:"required"`       // 消息ID
+	Memberid int64 `json:"memberid"  xorm:"'MEMBERID'" binding:"required"` // 会员用户ID
+}
+
+// TableName is MEMBERRECV
+func (Memberrecv) TableName() string {
+	return "MEMBERRECV"
+}
+
+// Msgreceiver 管理端消息接收者
+type Msgreceiver struct {
+	Autoid       int32     `json:"autoid"  xorm:"'AUTOID'" binding:"required"`             // 消息ID
+	Managerid    int64     `json:"managerid"  xorm:"'MANAGERID'" binding:"required"`       // 用户ID
+	Readstatus   int32     `json:"readstatus"  xorm:"'READSTATUS'" binding:"required"`     // 消息状态 - 1:未阅读 2:已阅读 3:已删除
+	Receivertype int32     `json:"receivertype"  xorm:"'RECEIVERTYPE'" binding:"required"` // 接收用户类型 - 1:管理端用户 2:终端用户
+	Updatetime   time.Time `json:"updatetime"  xorm:"'UPDATETIME'"`                        // 更新时间
+}
+
+// TableName is MSGRECEIVER
+func (Msgreceiver) TableName() string {
+	return "MSGRECEIVER"
+}
+
 // QuotePrimaryMenu 报价牌一级分类菜单
 type QuotePrimaryMenu struct {
 	Index        int                  `json:"Index"`        // 序号
@@ -59,7 +195,7 @@ func GetQuoteMenu(loginID int) ([]QuotePrimaryMenu, error) {
 	var marketIDs []int
 
 	// 获取账户类型 - 1:交易所 2:机构 3:会员子机构 4:经纪人 5:投资者 6:客户  (目前可能登录交易端的账号类型为 2 5)
-	userAccount := new(dbmodels.Useraccount)
+	userAccount := new(Useraccount)
 	has, err := engine.Join("INNER", "LOGINACCOUNT", "USERACCOUNT.UserID = LOGINACCOUNT.UserID").Where("LOGINACCOUNT.LoginID = ?", loginID).Get(userAccount)
 	if err != nil || !has {
 		return nil, err
@@ -122,7 +258,7 @@ func GetQuoteMenu(loginID int) ([]QuotePrimaryMenu, error) {
 	}
 
 	// ********************* 构建行情报价牌菜单 *********************
-	datas := make([]dbmodels.Funcmenulist, 0)
+	datas := make([]Funcmenulist, 0)
 	if err := engine.Join("INNER", "ROLEFUNCMENU", "FUNCMENULIST.RESOURCECODE = ROLEFUNCMENU.RESOURCECODE").
 		Where("FUNCMENULIST.PARENTCODE = 'trader_master_menu'").
 		Asc("SORT").
@@ -218,7 +354,7 @@ func GetOperationMenu() ([]OperationPrimaryMenu, error) {
 	rst := make([]OperationPrimaryMenu, 0)
 
 	// 获取一级功能菜单
-	opm := make([]dbmodels.Funcmenulist, 0)
+	opm := make([]Funcmenulist, 0)
 	if err := engine.Join("INNER", "ROLEFUNCMENU", "FUNCMENULIST.RESOURCECODE = ROLEFUNCMENU.RESOURCECODE").
 		Where("FUNCMENULIST.PARENTCODE = 'trader_operation_master_menu'").
 		Asc("SORT").
@@ -233,7 +369,7 @@ func GetOperationMenu() ([]OperationPrimaryMenu, error) {
 		}
 
 		// 获取二级功能菜单
-		osm := make([]dbmodels.Funcmenulist, 0)
+		osm := make([]Funcmenulist, 0)
 		if err := engine.Join("INNER", "ROLEFUNCMENU", "FUNCMENULIST.RESOURCECODE = ROLEFUNCMENU.RESOURCECODE").
 			Where("FUNCMENULIST.PARENTCODE = ?", operationPrimaryMenu.Key).
 			Asc("SORT").
@@ -248,7 +384,7 @@ func GetOperationMenu() ([]OperationPrimaryMenu, error) {
 			}
 
 			// 获取三级功能菜单
-			otm := make([]dbmodels.Funcmenulist, 0)
+			otm := make([]Funcmenulist, 0)
 			if err := engine.Join("INNER", "ROLEFUNCMENU", "FUNCMENULIST.RESOURCECODE = ROLEFUNCMENU.RESOURCECODE").
 				Where("FUNCMENULIST.PARENTCODE = ?", operationSecondaryMenu.Key).
 				Asc("SORT").
@@ -275,10 +411,10 @@ func GetOperationMenu() ([]OperationPrimaryMenu, error) {
 
 // GetClientTableDefines 获取终端列表定义信息
 // tableKey 列表Key
-func GetClientTableDefines(tableKey string) ([]dbmodels.Tabledefine, error) {
+func GetClientTableDefines(tableKey string) ([]Tabledefine, error) {
 	engine := db.GetEngine()
 
-	tableDefiles := make([]dbmodels.Tabledefine, 0)
+	tableDefiles := make([]Tabledefine, 0)
 	s := engine.Where("TABLEDEFINE.TableType = 2") // TableType = 2 表示终端专用表定义
 	if len(tableKey) > 0 {
 		s = s.And("TABLEDEFINE.TableKey = ?", tableKey)
@@ -292,11 +428,11 @@ func GetClientTableDefines(tableKey string) ([]dbmodels.Tabledefine, error) {
 
 // GetClientTableColumns 获取客户端指定表的列头信息
 // tableKey 列表Key
-func GetClientTableColumns(tableKey string) ([]dbmodels.Tablecolumnconfig, error) {
+func GetClientTableColumns(tableKey string) ([]Tablecolumnconfig, error) {
 	engine := db.GetEngine()
 
 	// 获取列表数据
-	tablecolumnconfigs := make([]dbmodels.Tablecolumnconfig, 0)
+	tablecolumnconfigs := make([]Tablecolumnconfig, 0)
 	// 这里的表名必须要大写 (Oracle的表名都是大写)
 	if err := engine.Join("INNER", "TABLEDEFINE", "TABLEDEFINE.TableKey = TABLECOLUMNCONFIG.TableKey").
 		Where("TABLEDEFINE.TableType = 2 and TABLEDEFINE.TableKey = ?", tableKey).Find(&tablecolumnconfigs); err != nil {
@@ -310,13 +446,13 @@ func GetClientTableColumns(tableKey string) ([]dbmodels.Tablecolumnconfig, error
 // @param loginID int 登录账号
 // @param msgType int 消息类型 - 1:公告通知 2:系统消息
 // @param onlyUnRead bool 是否只获取未读信息
-func GetNotices(loginID, msgType int, onlyUnRead bool) ([]dbmodels.Noticemsg, error) {
+func GetNotices(loginID, msgType int, onlyUnRead bool) ([]Noticemsg, error) {
 	engine := db.GetEngine()
 
-	rst := make([]dbmodels.Noticemsg, 0)
+	rst := make([]Noticemsg, 0)
 
 	// 获取登录账号所属会员信息
-	var userAccount dbmodels.Useraccount
+	var userAccount Useraccount
 	if has, _ := engine.Join("LEFT", "LOGINACCOUNT", "LOGINACCOUNT.USERID = USERACCOUNT.USERID").
 		Where("LOGINACCOUNT.LOGINID = ?", loginID).Get(&userAccount); !has {
 		return nil, errors.New("获取登录账号所属会员ID失败")
@@ -327,7 +463,7 @@ func GetNotices(loginID, msgType int, onlyUnRead bool) ([]dbmodels.Noticemsg, er
 	engine.Table("MSGRECEIVER").Select("AUTOID").Where("RECEIVERTYPE = 2 and MANAGERID = ?", userAccount.Userid).Find(&msgReceivers)
 
 	// 查询SENDTYPE = 1的数据
-	datas1 := make([]dbmodels.Noticemsg, 0)
+	datas1 := make([]Noticemsg, 0)
 	s := engine.Where("SENDTYPE = 1 and SYSDATE > SCHEDULETIME and SYSDATE < ENDTIME and SENTSTATUS=1").
 		And("PUBLISHER = ? or PUBLISHER in (select USERACCOUNT.USERID from USERACCOUNT where USERACCOUNT.USERTYPE = 1)", userAccount.Memberuserid)
 	if msgType > 0 {
@@ -343,7 +479,7 @@ func GetNotices(loginID, msgType int, onlyUnRead bool) ([]dbmodels.Noticemsg, er
 	rst = append(rst, datas1...)
 
 	// 查询SENDTYPE = 2的数据
-	datas2 := make([]dbmodels.Noticemsg, 0)
+	datas2 := make([]Noticemsg, 0)
 	s = engine.Where(fmt.Sprintf(`AUTOID in (select MEMBERRECV.MSGID from MEMBERRECV where MEMBERRECV.MEMBERID = %d)`, userAccount.Memberuserid)).
 		And("SENDTYPE = 2 and SYSDATE > SCHEDULETIME and SYSDATE < ENDTIME and SENTSTATUS=1")
 	if msgType > 0 {
@@ -359,7 +495,7 @@ func GetNotices(loginID, msgType int, onlyUnRead bool) ([]dbmodels.Noticemsg, er
 	rst = append(rst, datas2...)
 
 	// 查询SENDTYPE = 3的数据
-	datas3 := make([]dbmodels.Noticemsg, 0)
+	datas3 := make([]Noticemsg, 0)
 	s = engine.Where(fmt.Sprintf(`USERID = (SELECT USERID FROM LOGINACCOUNT WHERE LOGINID = %d)`, loginID)).
 		And("SENDTYPE = 3 and SYSDATE > SCHEDULETIME and SYSDATE < ENDTIME and SENTSTATUS=1")
 	if msgType > 0 {

+ 0 - 0
models/cpTradeModels.go → models/cpTrade.go


+ 0 - 0
models/deliveryModes.go → models/delivery.go


+ 0 - 0
models/erms2Models.go → models/erms2.go


+ 0 - 0
models/goodsModels.go → models/goods.go


+ 0 - 0
models/marketModels.go → models/market.go


+ 0 - 0
models/orderModels.go → models/order.go


+ 26 - 3
models/quote.go

@@ -1,8 +1,31 @@
 package models
 
+import "time"
+
+// CycleType 周期类型
+type CycleType int
+
 const (
-	CycleType_Min = iota
-	CycleType_5Min
+	// CycleTypeSecond 周期类型 - 秒
+	CycleTypeSecond CycleType = 0
+	// CycleTypeMinutes1 周期类型 - 秒
+	CycleTypeMinutes1 CycleType = 1
+	// CycleTypeMinutes5 周期类型 - 秒
+	CycleTypeMinutes5 CycleType = 2
+	// CycleTypeMinutes30 周期类型 - 秒
+	CycleTypeMinutes30 CycleType = 3
+	// CycleTypeMinutes60 周期类型 - 秒
+	CycleTypeMinutes60 CycleType = 4
+	// CycleTypeMinutes120 周期类型 - 秒
+	CycleTypeMinutes120 CycleType = 120
+	// CycleTypeMinutes240 周期类型 - 秒
+	CycleTypeMinutes240 CycleType = 240
+	// CycleTypeMinutesDay 周期类型 - 秒
+	CycleTypeMinutesDay CycleType = 11
+	// CycleTypeTik 周期类型 - 秒
+	CycleTypeTik CycleType = 10
 )
 
-func GetHistoryCycle()
+func GetHistoryCycleDatas(goodsCode, exchangeCode string, startTime, endTime time.Time, count int)  {
+
+}

+ 0 - 0
models/szdzModels.go → models/szdz.go