@ -1,301 +0,0 @@ | |||
// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved. | |||
package implments | |||
import ( | |||
"/grmi" | |||
meta "/meta/" | |||
model "/models/" | |||
"github.com/go-xorm/xorm" | |||
"xorm.io/core" | |||
) | |||
/****************************************************************************** | |||
* | |||
* @Struct Name : DAOImplement | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 的数据访问对象实现 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
type DAOImplement struct { | |||
session *xorm.Session | |||
meta *grmi.Entity | |||
userid string | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : NewDAOImplement | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 创建一个DAOImplement实例 | |||
* | |||
* @Function Parameters : xorm会话 | |||
* | |||
* @Return Value : DAOImplement实例 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func NewDAOImplement(session *xorm.Session, userid string) *DAOImplement { | |||
return &DAOImplement{session, &meta., userid} | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /dao//DAO.InsertOne | |||
* | |||
******************************************************************************/ | |||
func (impl *DAOImplement) InsertOne(entity *model.) error { | |||
entity.LastUser = impl.userid | |||
_, err := impl.session.Table(impl.meta.TableName).Insert(entity) | |||
if err != nil { | |||
return grmi.NewDataBaseError(err) | |||
} | |||
return nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /dao//DAO.DeleteOne | |||
* | |||
******************************************************************************/ | |||
func (impl *DAOImplement) DeleteOne() error { | |||
_, err := impl.session.Table(impl.meta.TableName).ID(core.PK{ }).Delete(impl.meta.Indicator) | |||
if err != nil { | |||
return grmi.NewDataBaseError(err) | |||
} | |||
return nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /dao//DAO.SelectOne | |||
* | |||
******************************************************************************/ | |||
func (impl *DAOImplement) SelectOne() (*model., error) { | |||
var data model. | |||
ok, err := impl.session.Table(impl.meta.TableName).ID(core.PK{ }).Get(&data) | |||
if err != nil { | |||
return nil, grmi.NewDataBaseError(err) | |||
} | |||
if !ok { | |||
return nil, nil | |||
} | |||
return &data, nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /dao//DAO.UpdateOne | |||
* | |||
******************************************************************************/ | |||
func (impl *DAOImplement) UpdateOne(entity *model.) error { | |||
entity.LastUser = impl.userid | |||
_, err := impl.session.Table(impl.meta.TableName).Cols(impl.meta.UpdatingMembers...).ID(entity.GetKey()).Update(entity) | |||
if err != nil { | |||
return grmi.NewDataBaseError(err) | |||
} | |||
return nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /dao//DAO.Insert | |||
* | |||
******************************************************************************/ | |||
func (impl *DAOImplement) Insert(entities *[]model.) error { | |||
for i := 0; i < len(*entities); i++ { | |||
entity := &(*entities)[i] | |||
entity.LastUser = impl.userid | |||
} | |||
_, err := impl.session.Table(impl.meta.TableName).Insert(entities) | |||
if err != nil { | |||
return grmi.NewDataBaseError(err) | |||
} | |||
return nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /dao//DAO.Delete | |||
* | |||
******************************************************************************/ | |||
func (impl *DAOImplement) Delete(entities *[]model.) error { | |||
for _, entity := range *entities { | |||
_, err := impl.session.Table(impl.meta.TableName).ID(entity.GetKey()).Delete(impl.meta.Indicator) | |||
if err != nil { | |||
return grmi.NewDataBaseError(err) | |||
} | |||
} | |||
return nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /dao//DAO.DeleteWhere | |||
* | |||
******************************************************************************/ | |||
func (impl *DAOImplement) DeleteWhere(predicates []grmi.Predicate) error { | |||
parameters := []interface{}{ } | |||
where := "" | |||
session := impl.session.Table(impl.meta.TableName) | |||
if predicates != nil { | |||
for _, predicate := range predicates { | |||
where += predicate.Build() | |||
parameters = append(parameters, predicate.Values...) | |||
} | |||
session = session.Where(where, parameters...) | |||
} else { | |||
session = session.Where(where, parameters...) | |||
} | |||
_, err := session.Delete(impl.meta.Indicator) | |||
if err != nil { | |||
return grmi.NewDataBaseError(err) | |||
} | |||
return nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /dao//DAO.Select | |||
* | |||
******************************************************************************/ | |||
func (impl *DAOImplement) Select(predicates []grmi.Predicate, orderByFields []grmi.Field) ([]model., error) { | |||
parameters := []interface{}{ } | |||
where := "1 = 1 " | |||
session := impl.session.Table(impl.meta.TableName) | |||
if predicates != nil { | |||
for _, predicate := range predicates { | |||
where += predicate.Build() | |||
parameters = append(parameters, predicate.Values...) | |||
} | |||
session = session.Where(where, parameters...) | |||
} else { | |||
session = session.Where(where, parameters...) | |||
} | |||
if orderByFields != nil { | |||
for _, field := range orderByFields { | |||
session = session.OrderBy(field.ColumnName) | |||
} | |||
} | |||
data := make([]model., 0, 10) | |||
err := session.Find(&data) | |||
if err != nil { | |||
return nil, grmi.NewDataBaseError(err) | |||
} | |||
return data, nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /dao//DAO.SelectAndPaging | |||
* | |||
******************************************************************************/ | |||
func (impl *DAOImplement) SelectAndPaging(paging *grmi.Paging, predicates []grmi.Predicate, orderByFields []grmi.Field) (grmi.PagingResult, error) { | |||
parameters := []interface{}{ } | |||
where := "1 = 1 " | |||
session := impl.session.Table(impl.meta.TableName) | |||
if predicates != nil { | |||
for _, predicate := range predicates { | |||
where += predicate.Build() | |||
parameters = append(parameters, predicate.Values...) | |||
} | |||
session = session.Where(where, parameters...) | |||
} else { | |||
session = session.Where(where, parameters...) | |||
} | |||
count, err := session.Count(impl.meta.Indicator) | |||
if err != nil { | |||
return grmi.EmptyPagingResult, err | |||
} | |||
orderBy := " order by " | |||
if orderByFields != nil { | |||
for _, field := range orderByFields { | |||
if orderBy == " order by " { | |||
orderBy += field.ColumnName | |||
} else { | |||
orderBy += ", " + field.ColumnName | |||
} | |||
} | |||
} | |||
parameters = append(parameters, paging.Offset(), paging.Size) | |||
data := make([]model., 0, 10) | |||
where = " where " + where | |||
err = impl.session.Table(impl.meta.TableName).SQL("select * from "+impl.meta.TableName+where+orderBy+" offset ? row fetch next ? row only", parameters...).Find(&data) | |||
if err != nil { | |||
return grmi.EmptyPagingResult, err | |||
} | |||
return grmi.PagingResult{Records: data, Count: count, PageNumber: paging.Number, PageSize: paging.Size}, nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /dao//DAO.Update | |||
* | |||
******************************************************************************/ | |||
func (impl *DAOImplement) Update(entities *[]model.) error { | |||
for i := 0; i < len(*entities); i++ { | |||
entity := &(*entities)[i] | |||
entity.LastUser = impl.userid | |||
_, err := impl.session.Table(impl.meta.TableName).Cols(impl.meta.UpdatingMembers...).ID(entity.GetKey()).Update(entity) | |||
if err != nil { | |||
return grmi.NewDataBaseError(err) | |||
} | |||
} | |||
return nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /dao//DAO.UpdateWhere | |||
* | |||
******************************************************************************/ | |||
func (impl *DAOImplement) UpdateWhere(predicates []grmi.Predicate, entity *model., columns ...string) error { | |||
parameters := []interface{}{ } | |||
where := "" | |||
session := impl.session.Table(impl.meta.TableName) | |||
if predicates != nil { | |||
for _, predicate := range predicates { | |||
where += predicate.Build() | |||
parameters = append(parameters, predicate.Values...) | |||
} | |||
session = session.Where(where, parameters...) | |||
} else { | |||
session = session.Where(where, parameters...) | |||
} | |||
entity.LastUser = impl.userid | |||
_, err := impl.session.Table(impl.meta.TableName).Cols(columns...).Update(entity) | |||
if err != nil { | |||
return grmi.NewDataBaseError(err) | |||
} | |||
return nil | |||
} |
@ -1,237 +0,0 @@ | |||
// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved. | |||
package | |||
import ( | |||
"github.com/go-xorm/xorm" | |||
"/grmi" | |||
"/dao//implments" | |||
model "/models/" | |||
) | |||
/****************************************************************************** | |||
* | |||
* @Interface Name : DAO | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 的数据访问对象接口 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
type DAO interface { | |||
/****************************************************************************** | |||
* | |||
* @Function Name : InsertOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 插入一条 | |||
* | |||
* @Function Parameters : 需要插入的 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
InsertOne(*model.) error | |||
/****************************************************************************** | |||
* | |||
* @Function Name : DeleteOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 删除指定键的 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
DeleteOne() error | |||
/****************************************************************************** | |||
* | |||
* @Function Name : SelectOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 查找指定键的 | |||
* | |||
* @Return Value : 查找到的 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
SelectOne() (*model., error) | |||
/****************************************************************************** | |||
* | |||
* @Function Name : UpdateOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 修改 | |||
* | |||
* @Function Parameters : 需要修改的 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
UpdateOne(*model.) error | |||
/****************************************************************************** | |||
* | |||
* @Function Name : Insert | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 插入多条 | |||
* | |||
* @Function Parameters : 需要插入的列表 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
Insert(*[]model.) error | |||
/****************************************************************************** | |||
* | |||
* @Function Name : Delete | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 删除多条 | |||
* | |||
* @Function Parameters : 需要删除的列表 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
Delete(*[]model.) error | |||
/****************************************************************************** | |||
* | |||
* @Function Name : DeleteWhere | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 按条件删除 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
DeleteWhere([]grmi.Predicate) error | |||
/****************************************************************************** | |||
* | |||
* @Function Name : Select | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 按条件查询 | |||
* | |||
* @Function Parameters : 查询条件 | |||
* | |||
* @Function Parameters : 排序字段 | |||
* | |||
* @Return Value : 查询结果 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
Select([]grmi.Predicate, []grmi.Field) ([]model., error) | |||
/****************************************************************************** | |||
* | |||
* @Function Name : SelectAndPaging | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 按条件查询并分页 | |||
* | |||
* @Function Parameters : 分页信息 | |||
* | |||
* @Function Parameters : 查询条件 | |||
* | |||
* @Function Parameters : 排序字段 | |||
* | |||
* @Return Value : 查询结果 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
SelectAndPaging(*grmi.Paging, []grmi.Predicate, []grmi.Field) (grmi.PagingResult, error) | |||
/****************************************************************************** | |||
* | |||
* @Function Name : Update | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 修改多条 | |||
* | |||
* @Function Parameters : 需要修改的列表 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
Update(*[]model.) error | |||
/****************************************************************************** | |||
* | |||
* @Function Name : UpdateWhere | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 按条件修改 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
UpdateWhere([]grmi.Predicate, *model., ...string) error | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : NewDAO | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 创建一个DAO实例 | |||
* | |||
* @Function Parameters : xorm会话 | |||
* | |||
* @Return Value : DAO实例 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func NewDAO(session *xorm.Session, userid string) DAO { | |||
return implments.NewDAOImplement(session, userid) | |||
} |
@ -1,35 +0,0 @@ | |||
// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved. | |||
package | |||
import ( | |||
"/grmi" | |||
model "/models/" | |||
) | |||
/****************************************************************************** | |||
* | |||
* @Description : 的字段元数据 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
/****************************************************************************** | |||
* | |||
* @Description : 的元数据 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
var = grmi.NewEntity( | |||
"", | |||
func () interface{} { return &model.{} }, | |||
map[string]grmi.Field{ | |||
}, | |||
[]string{ }, | |||
[]string{ }) |
@ -1,41 +0,0 @@ | |||
// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved. | |||
package | |||
import ( | |||
"/grmi" | |||
"xorm.io/core" | |||
) | |||
/****************************************************************************** | |||
* | |||
* @Struct Name : | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 的实体映射 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
type struct { | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : GetKey | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 获取实体的主键 | |||
* | |||
* @Return Value : 实体的主键 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func (self *) GetKey() core.PK { | |||
return core.PK{ } | |||
} |
@ -1,301 +0,0 @@ | |||
// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved. | |||
package implments | |||
import ( | |||
"/db" | |||
"/grmi" | |||
dal "/dao/" | |||
"/web/models" | |||
meta "/meta/" | |||
model "/models/" | |||
) | |||
/****************************************************************************** | |||
* | |||
* @Description : 的默认查询条件 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
var DefaultConditionOf = grmi.NewCondition( | |||
map[string]grmi.ConditionItem{ | |||
}, | |||
nil, | |||
) | |||
/****************************************************************************** | |||
* | |||
* @Description : 的默认分页查询条件 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
var DefaultConditionOfAndPaging = grmi.NewCondition( | |||
DefaultConditionOf.Items, | |||
grmi.NewPaging(), | |||
) | |||
/****************************************************************************** | |||
* | |||
* @Struct Name : ServiceImplement | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 的服务实现 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
type ServiceImplement struct { | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : NewDAOImplement | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 创建一个DAOImplement实例 | |||
* | |||
* @Return Value : DAOImplement实例 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func NewServiceImplement() *ServiceImplement { | |||
return &ServiceImplement{} | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /services//Service.InsertOne | |||
* | |||
******************************************************************************/ | |||
func (impl *ServiceImplement) InsertOne(user *models.Usertab, entity *model.) error { | |||
grmi.Log(user, "", "InsertOne", "插入一个") | |||
engine := db.Eloquent.Master() | |||
session := engine.NewSession() | |||
defer session.Close() | |||
dao := dal.NewDAO(session, user.Userid) | |||
record, err := dao.SelectOne() | |||
if err != nil { | |||
return err | |||
} | |||
if record != nil { | |||
return grmi.NewBusinessError("已经存在相同主键的记录!") | |||
} | |||
err = dao.InsertOne(entity) | |||
if err != nil { | |||
return err | |||
} | |||
return nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /services//Service.DeleteOne | |||
* | |||
******************************************************************************/ | |||
func (impl *ServiceImplement) DeleteOne(user *models.Usertab, ) error { | |||
grmi.Log(user, "", "DeleteOne", "删除一个") | |||
engine := db.Eloquent.Master() | |||
session := engine.NewSession() | |||
defer session.Close() | |||
dao := dal.NewDAO(session, user.Userid) | |||
record, err := dao.SelectOne() | |||
if err != nil { | |||
return err | |||
} | |||
if record == nil { | |||
return grmi.NewBusinessError("不存在指定记录!") | |||
} | |||
err = dao.DeleteOne() | |||
if err != nil { | |||
return err | |||
} | |||
return nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /services//Service.SelectOne | |||
* | |||
******************************************************************************/ | |||
func (impl *ServiceImplement) SelectOne(user *models.Usertab,) (*model., error) { | |||
grmi.Log(user, "", "SelectOne", "查询一个") | |||
engine := db.Eloquent.Master() | |||
session := engine.NewSession() | |||
defer session.Close() | |||
dao := dal.NewDAO(session, user.Userid) | |||
result, err := dao.SelectOne() | |||
if err != nil { | |||
return nil, err | |||
} | |||
return result, nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /services//Service.UpdateOne | |||
* | |||
******************************************************************************/ | |||
func (impl *ServiceImplement) UpdateOne(user *models.Usertab, entity *model.) error { | |||
grmi.Log(user, "", "UpdateOne", "修改一个") | |||
engine := db.Eloquent.Master() | |||
session := engine.NewSession() | |||
defer session.Close() | |||
dao := dal.NewDAO(session, user.Userid) | |||
record, err := dao.SelectOne() | |||
if err != nil { | |||
return err | |||
} | |||
if record == nil { | |||
return grmi.NewBusinessError("不存在指定记录!") | |||
} | |||
err = dao.UpdateOne(entity) | |||
if err != nil { | |||
return err | |||
} | |||
return nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /services//Service.Insert | |||
* | |||
******************************************************************************/ | |||
func (impl *ServiceImplement) Insert(user *models.Usertab, entities *[]model.) error { | |||
grmi.Log(user, "", "Insert", "插入多个") | |||
engine := db.Eloquent.Master() | |||
session := engine.NewSession() | |||
defer session.Close() | |||
dao := dal.NewDAO(session, user.Userid) | |||
for _, entity := range *entities { | |||
record, err := dao.SelectOne() | |||
if err != nil { | |||
return err | |||
} | |||
if record != nil { | |||
return grmi.NewBusinessError("已经存在相同主键的记录!") | |||
} | |||
} | |||
err := dao.Insert(entities) | |||
if err != nil { | |||
return err | |||
} | |||
return nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /services//Service.Delete | |||
* | |||
******************************************************************************/ | |||
func (impl *ServiceImplement) Delete(user *models.Usertab, entities *[]model.) error { | |||
grmi.Log(user, "", "Delete", "删除多个") | |||
engine := db.Eloquent.Master() | |||
session := engine.NewSession() | |||
defer session.Close() | |||
dao := dal.NewDAO(session, user.Userid) | |||
for _, entity := range *entities { | |||
record, err := dao.SelectOne() | |||
if err != nil { | |||
return err | |||
} | |||
if record == nil { | |||
return grmi.NewBusinessError("不存在指定记录!") | |||
} | |||
} | |||
err := dao.Delete(entities) | |||
if err != nil { | |||
return err | |||
} | |||
return nil | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /services//Service.Select | |||
* | |||
******************************************************************************/ | |||
func (impl *ServiceImplement) Select(user *models.Usertab, urlParameters map[string]string) (interface{}, error) { | |||
grmi.Log(user, "", "Select", "查询") | |||
condition := DefaultConditionOfAndPaging | |||
engine := db.Eloquent.Master() | |||
session := engine.NewSession() | |||
defer session.Close() | |||
predicates, err := condition.BuildPredicates(urlParameters) | |||
if err != nil { | |||
return nil, err | |||
} | |||
dao := dal.NewDAO(session, user.Userid) | |||
if condition.Fill(urlParameters) { | |||
result, err := dao.SelectAndPaging(condition.Paging, predicates, condition.OrderByFields) | |||
if err != nil { | |||
return nil, err | |||
} | |||
return result, nil | |||
} else { | |||
result, err := dao.Select(predicates, condition.OrderByFields) | |||
if err != nil { | |||
return nil, err | |||
} | |||
return result, nil | |||
} | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Reference /services//Service.Update | |||
* | |||
******************************************************************************/ | |||
func (impl *ServiceImplement) Update(user *models.Usertab, entities *[]model.) error { | |||
grmi.Log(user, "", "Update", "修改多个") | |||
engine := db.Eloquent.Master() | |||
session := engine.NewSession() | |||
defer session.Close() | |||
dao := dal.NewDAO(session, user.Userid) | |||
for _, entity := range *entities { | |||
record, err := dao.SelectOne() | |||
if err != nil { | |||
return err | |||
} | |||
if record == nil { | |||
return grmi.NewBusinessError("不存在指定记录!") | |||
} | |||
} | |||
err := dao.Update(entities) | |||
if err != nil { | |||
return err | |||
} | |||
return nil | |||
} |
@ -1,190 +0,0 @@ | |||
// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved. | |||
package | |||
import ( | |||
"/web/models" | |||
model "/models/" | |||
"/services//implments" | |||
) | |||
/****************************************************************************** | |||
* | |||
* @Interface Name : Service | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 的服务接口 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
type Service interface { | |||
/****************************************************************************** | |||
* | |||
* @Function Name : InsertOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 插入一条 | |||
* | |||
* @Function Parameters : 当前访问人员信息 | |||
* | |||
* @Function Parameters : 需要插入的 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
InsertOne(*models.Usertab, *model.) error | |||
/****************************************************************************** | |||
* | |||
* @Function Name : DeleteOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 删除指定键的 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
DeleteOne(*models.Usertab) error | |||
/****************************************************************************** | |||
* | |||
* @Function Name : SelectOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 查找指定键的 | |||
* | |||
* @Return Value : 查找到的 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
SelectOne(*models.Usertab) (*model., error) | |||
/****************************************************************************** | |||
* | |||
* @Function Name : UpdateOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 修改一条 | |||
* | |||
* @Function Parameters : 当前访问人员信息 | |||
* | |||
* @Function Parameters : 需要修改的 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
UpdateOne(*models.Usertab, *model.) error | |||
/****************************************************************************** | |||
* | |||
* @Function Name : Insert | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 插入多条 | |||
* | |||
* @Function Parameters : 当前访问人员信息 | |||
* | |||
* @Function Parameters : 需要插入的列表 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
Insert(*models.Usertab, *[]model.) error | |||
/****************************************************************************** | |||
* | |||
* @Function Name : Delete | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 删除多条 | |||
* | |||
* @Function Parameters : 当前访问人员信息 | |||
* | |||
* @Function Parameters : 需要删除的列表 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
Delete(*models.Usertab, *[]model.) error | |||
/****************************************************************************** | |||
* | |||
* @Function Name : SelectAndPaging | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 查询 | |||
* | |||
* @Function Parameters : 当前访问人员信息 | |||
* | |||
* @Function Parameters : 查询参数 | |||
* | |||
* @Return Value : 查询结果 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
Select(*models.Usertab, map[string]string) (interface{}, error) | |||
/****************************************************************************** | |||
* | |||
* @Function Name : Update | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 修改多条 | |||
* | |||
* @Function Parameters : 当前访问人员信息 | |||
* | |||
* @Function Parameters : 需要修改的列表 | |||
* | |||
* @Return Value : 执行时发生的错误 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
Update(*models.Usertab, *[]model.) error | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : NewService | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 创建一个Service | |||
* | |||
* @Return Value : Service实例 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func NewService() Service { | |||
return implments.NewServiceImplement() | |||
} |
@ -1,362 +0,0 @@ | |||
// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved. | |||
package | |||
import ( | |||
"github.com/kataras/iris/v12/core/router" | |||
"github.com/kataras/iris/v12" | |||
"/web/middleware/jwts" | |||
"/web/models" | |||
model "/models/" | |||
"/web/supports" | |||
) | |||
/****************************************************************************** | |||
* | |||
* @Function Name : RegisterOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 为一个处理单条的方法注册路由 | |||
* | |||
* @Function Parameters : 路由分组 | |||
* | |||
* @Function Parameters : HTTP方法 | |||
* | |||
* @Function Parameters : 路径 | |||
* | |||
* @Function Parameters : 实际处理请求的方法 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func RegisterOne(party router.Party, httpMethod string, path string, method func(*models.Usertab, *model.) error) { | |||
party.Handle(httpMethod, path, func(ctx iris.Context) { | |||
user, ok := jwts.ParseToken(ctx) | |||
if !ok { | |||
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) | |||
return | |||
} | |||
var err error = nil | |||
entity := new(model.) | |||
if ctx.GetContentLength() > 0 { | |||
err := ctx.ReadJSON(entity) | |||
if err != nil { | |||
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) | |||
return | |||
} | |||
} else { | |||
entity = nil | |||
} | |||
err = method(user, entity) | |||
if err != nil { | |||
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) | |||
return | |||
} | |||
supports.Ok(ctx, supports.OptionSuccess, nil) | |||
}) | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : RegisterIDOf | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 为一个通过主键处理单条的方法注册路由 | |||
* | |||
* @Function Parameters : 路由分组 | |||
* | |||
* @Function Parameters : HTTP方法 | |||
* | |||
* @Function Parameters : 路径 | |||
* | |||
* @Function Parameters : 实际处理请求的方法 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func RegisterIDOf(party router.Party, httpMethod string, path string, method func(*models.Usertab, ) error) { | |||
party.Handle(httpMethod, path, func(ctx iris.Context) { | |||
user, ok := jwts.ParseToken(ctx) | |||
if !ok { | |||
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) | |||
return | |||
} | |||
var err error = nil | |||
err = method(user, ) | |||
if err != nil { | |||
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) | |||
return | |||
} | |||
supports.Ok(ctx, supports.OptionSuccess, nil) | |||
}) | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : RegisterInsertOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 为一个插入单条的方法注册路由 | |||
* | |||
* @Function Parameters : 路由分组 | |||
* | |||
* @Function Parameters : 路径 | |||
* | |||
* @Function Parameters : 实际处理请求的方法 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func RegisterInsertOne(party router.Party, path string, method func(*models.Usertab, *model.) error) { | |||
RegisterOne(party, "POST", path, method) | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : RegisterDeleteOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 为一个删除单条的方法注册路由 | |||
* | |||
* @Function Parameters : 路由分组 | |||
* | |||
* @Function Parameters : 路径 | |||
* | |||
* @Function Parameters : 实际处理请求的方法 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func RegisterDeleteOne(party router.Party, path string, method func(*models.Usertab, ) error) { | |||
RegisterIDOf(party, "DELETE", path + "", method) | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : RegisterSelectOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 为一个查找单条的方法注册路由 | |||
* | |||
* @Function Parameters : 路由分组 | |||
* | |||
* @Function Parameters : 路径 | |||
* | |||
* @Function Parameters : 实际处理请求的方法 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func RegisterSelectOne(party router.Party, path string, method func(*models.Usertab, ) (*model., error)) { | |||
party.Get(path + "", func(ctx iris.Context) { | |||
user, ok := jwts.ParseToken(ctx) | |||
if !ok { | |||
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) | |||
return | |||
} | |||
result, err := method(user, ) | |||
if err != nil { | |||
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) | |||
return | |||
} | |||
if result == nil { | |||
supports.Error(ctx, iris.StatusNotFound, supports.NotFound, nil) | |||
return | |||
} | |||
supports.Ok(ctx, supports.OptionSuccess, result) | |||
}) | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : RegisterUpdateOne | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 为一个修改单条的方法注册路由 | |||
* | |||
* @Function Parameters : 路由分组 | |||
* | |||
* @Function Parameters : 路径 | |||
* | |||
* @Function Parameters : 实际处理请求的方法 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func RegisterUpdateOne(party router.Party, path string, method func(*models.Usertab, *model.) error) { | |||
RegisterOne(party, "PUT", path, method) | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : RegisterMulti | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 为一个处理多条的方法注册路由 | |||
* | |||
* @Function Parameters : 路由分组 | |||
* | |||
* @Function Parameters : HTTP方法 | |||
* | |||
* @Function Parameters : 路径 | |||
* | |||
* @Function Parameters : 实际处理请求的方法 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func RegisterMulti(party router.Party, httpMethod string, path string, method func(*models.Usertab, *[]model.) error) { | |||
party.Handle(httpMethod, path, func(ctx iris.Context) { | |||
user, ok := jwts.ParseToken(ctx) | |||
if !ok { | |||
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) | |||
return | |||
} | |||
entities := make([]model., 0, 10) | |||
err := ctx.ReadJSON(&entities) | |||
if err != nil { | |||
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) | |||
return | |||
} | |||
err = method(user, &entities) | |||
if err != nil { | |||
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) | |||
return | |||
} | |||
supports.Ok(ctx, supports.OptionSuccess, nil) | |||
}) | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : RegisterInsert | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 为一个插入多条的方法注册路由 | |||
* | |||
* @Function Parameters : 路由分组 | |||
* | |||
* @Function Parameters : 路径 | |||
* | |||
* @Function Parameters : 实际处理请求的方法 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func RegisterInsert(party router.Party, path string, method func(*models.Usertab, *[]model.) error) { | |||
RegisterMulti(party, "POST", path, method) | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : RegisterDelete | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 为一个删除多条的方法注册路由 | |||
* | |||
* @Function Parameters : 路由分组 | |||
* | |||
* @Function Parameters : 路径 | |||
* | |||
* @Function Parameters : 实际处理请求的方法 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func RegisterDelete(party router.Party, path string, method func(*models.Usertab, *[]model.) error) { | |||
RegisterMulti(party, "DELETE", path, method) | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : RegisterSelect | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 为一个查询的方法注册路由 | |||
* | |||
* @Function Parameters : 路由分组 | |||
* | |||
* @Function Parameters : 路径 | |||
* | |||
* @Function Parameters : 实际处理请求的方法 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func RegisterSelect(party router.Party, path string, method func(*models.Usertab, map[string]string) (interface{}, error)) { | |||
party.Get(path, func(ctx iris.Context) { | |||
user, ok := jwts.ParseToken(ctx) | |||
if !ok { | |||
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) | |||
return | |||
} | |||
result, err := method(user, ctx.URLParams()) | |||
if err != nil { | |||
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) | |||
return | |||
} | |||
supports.Ok(ctx, supports.OptionSuccess, result) | |||
}) | |||
} | |||
/****************************************************************************** | |||
* | |||
* @Function Name : RegisterUpdate | |||
*----------------------------------------------------------------------------- | |||
* | |||
* @Description : 为一个修改多条的方法注册路由 | |||
* | |||
* @Function Parameters : 路由分组 | |||
* | |||
* @Function Parameters : 路径 | |||
* | |||
* @Function Parameters : 实际处理请求的方法 | |||
* | |||
* @Author : 代码生成器创建 | |||
* | |||
* @Date : | |||
* | |||
******************************************************************************/ | |||
func RegisterUpdate(party router.Party, path string, method func(*models.Usertab, *[]model.) error) { | |||
RegisterMulti(party, "PUT", path, method) | |||
} |