|
|
@@ -22,48 +22,28 @@ func NewXBusRepo(engine *xorm.Engine) *XBusRepo {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func (d *XBusRepo) BuildPageQueryParam(params []viewmodels.QueryParam)(string, int, int, error) {
|
|
|
+func (d *XBusRepo) BuildQueryParam(params []viewmodels.QueryParam) string {
|
|
|
sqlWhere := " WHERE 1 = 1 "
|
|
|
- limit := int(0)
|
|
|
- page := int(0)
|
|
|
- ok := false
|
|
|
for _, param := range params {
|
|
|
- if param.Name == "limit" {
|
|
|
- limit, ok = param.Value.(int)
|
|
|
- if !ok {
|
|
|
- return sqlWhere, limit, page, errors.New("limit值不正确")
|
|
|
- }
|
|
|
- } else if param.Name == "page" {
|
|
|
- page, ok = param.Value.(int)
|
|
|
- if !ok {
|
|
|
- return sqlWhere, limit, page, errors.New("page值不正确")
|
|
|
- }
|
|
|
+ paramType := param.Type
|
|
|
+ if paramType == constant.DATA_TYPE_DATE ||
|
|
|
+ paramType == constant.DATA_TYPE_DATETIME ||
|
|
|
+ paramType == constant.DATA_TYPE_VARCHAR {
|
|
|
+ sqlWhere += fmt.Sprintf(" %s %v %s '%v'", param.LogicalOperator, param.Name, param.CompareOperator, param.Value )
|
|
|
} else {
|
|
|
sqlWhere += fmt.Sprintf(" %s %v %s %v", param.LogicalOperator, param.Name, param.CompareOperator, param.Value )
|
|
|
}
|
|
|
}
|
|
|
- return sqlWhere, limit, page, nil
|
|
|
+ return sqlWhere
|
|
|
}
|
|
|
|
|
|
-func (d *XBusRepo) BuildQueryParam(params []viewmodels.QueryParam)(string, error) {
|
|
|
- sqlWhere := " WHERE 1 = 1 "
|
|
|
- for _, param := range params {
|
|
|
- sqlWhere += fmt.Sprintf(" %s %v %s %v", param.LogicalOperator, param.Name, param.CompareOperator, param.Value )
|
|
|
- }
|
|
|
- return sqlWhere, nil
|
|
|
-}
|
|
|
-
|
|
|
-func (d *XBusRepo) GetPage(sqlStatement, sqlCount string, params []viewmodels.QueryParam) (*viewmodels.PageResult, error) {
|
|
|
- sqlWhere, limit, page, err1 := d.BuildPageQueryParam(params)
|
|
|
+func (d *XBusRepo) GetPage(sqlStatement, sqlCount string, params []viewmodels.QueryParam, page int, limit int) (*viewmodels.PageResult, error) {
|
|
|
+ sqlWhere := d.BuildQueryParam(params)
|
|
|
+ res, err1 := d.engine.Query(sqlCount + sqlWhere)
|
|
|
if err1 != nil {
|
|
|
return nil, err1
|
|
|
}
|
|
|
|
|
|
- res, err2 := d.engine.Query(sqlCount + sqlWhere)
|
|
|
- if err2 != nil {
|
|
|
- return nil, err2
|
|
|
- }
|
|
|
-
|
|
|
total := int64(0)
|
|
|
for _, v := range res[0] {
|
|
|
total, _ = strconv.ParseInt(string(v), 10, 64)
|
|
|
@@ -72,9 +52,9 @@ func (d *XBusRepo) GetPage(sqlStatement, sqlCount string, params []viewmodels.Qu
|
|
|
pageStart := (page - 1) * limit
|
|
|
sqlLimit := fmt.Sprintf(" LIMIT %d OFFSET %d ", limit, pageStart)
|
|
|
|
|
|
- results, err4 := d.engine.QueryInterface(sqlStatement + sqlWhere + sqlLimit)
|
|
|
- if err4 != nil {
|
|
|
- return nil, err4
|
|
|
+ results, err2 := d.engine.QueryInterface(sqlStatement + sqlWhere + sqlLimit)
|
|
|
+ if err2 != nil {
|
|
|
+ return nil, err2
|
|
|
}
|
|
|
|
|
|
pageResult := &viewmodels.PageResult{}
|
|
|
@@ -87,11 +67,7 @@ func (d *XBusRepo) GetPage(sqlStatement, sqlCount string, params []viewmodels.Qu
|
|
|
}
|
|
|
|
|
|
func (d *XBusRepo) GetList(sqlStatement string, params []viewmodels.QueryParam) ([]map[string]interface{}, error) {
|
|
|
- sqlWhere, err1 := d.BuildQueryParam(params)
|
|
|
- if err1 != nil {
|
|
|
- return nil, err1
|
|
|
- }
|
|
|
-
|
|
|
+ sqlWhere := d.BuildQueryParam(params)
|
|
|
results, err := d.engine.QueryInterface(sqlStatement + sqlWhere)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
@@ -100,11 +76,7 @@ func (d *XBusRepo) GetList(sqlStatement string, params []viewmodels.QueryParam)
|
|
|
}
|
|
|
|
|
|
func (d *XBusRepo) GetById(sqlStatement string, params []viewmodels.QueryParam)(map[string]interface{}, error){
|
|
|
- sqlWhere, err1 := d.BuildQueryParam(params)
|
|
|
- if err1 != nil {
|
|
|
- return nil, err1
|
|
|
- }
|
|
|
-
|
|
|
+ sqlWhere := d.BuildQueryParam(params)
|
|
|
results, err := d.engine.QueryInterface(sqlStatement + sqlWhere)
|
|
|
if err != nil {
|
|
|
return nil, err
|