| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package system
- import (
- "fmt"
- "log"
- "time"
- "xorm.io/xorm"
- "xps/datamodels"
- "xps/viewmodels"
- )
- type AppPermitRepo struct {
- engine *xorm.Engine
- }
- // New Instance
- func NewAppPermitRepo(engine *xorm.Engine) *AppPermitRepo {
- return &AppPermitRepo{
- engine: engine,
- }
- }
- func (d *AppPermitRepo) GetByList(appKey string, roleId int64, keywords string) []viewmodels.AppPermitInfo {
- var datalist = make([]viewmodels.AppPermitInfo, 0)
- sqlSelect := `SELECT A.app_id,
- A.role_id,
- A.permit_id,
- A.permit_title,
- A.permit_code,
- A.permit_desc,
- A.permit_type,
- A.root_id,
- A.parent_id,
- A.sort_no
- `
- sqlFrom := `FROM app_permit AS A
- JOIN app AS B ON (A.app_id = B.app_id)
- `
- sqlWhere := `WHERE A.deleted_flag = 0
- AND B.app_key = '` + appKey + "'"
- if keywords != "" {
- sqlWhere += ` AND A.role_id = ` + fmt.Sprintf("%d", roleId)
- }
- if keywords != "" {
- sqlWhere += ` AND A.permit_title like ` + "'%" + keywords + "%'"
- }
- sqlOrderBy := " ORDER BY A.app_id, A.role_id, A.parent_id, A.sort_no "
- err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy).Find(&datalist)
- if err != nil {
- log.Fatal(err)
- }
- return datalist
- }
- // Delete
- func (d *AppPermitRepo) Delete(ocId int64, groupTypeId int64) error {
- data := &datamodels.AppPermit{DeletedFlag: 1, DeletedAt: time.Now()}
- _, err := d.engine.Where("oc_id = ?", ocId).Where("group_cat_id = ?", groupTypeId).Update(data)
- return err
- }
- // Update
- func (d *AppPermitRepo) Update(ocId int64, groupTypeId int64, data *datamodels.AppPermit) error {
- _, err := d.engine.Where("oc_id = ?", ocId).Where("group_cat_id = ?", groupTypeId).Update(data)
- return err
- }
- func (d *AppPermitRepo) Create(data *datamodels.AppPermit) error {
- _, err := d.engine.Insert(data)
- return err
- }
|