houyaf 3 år sedan
förälder
incheckning
ed9049f35e

+ 21 - 0
datamodels/ent_cat.go

@@ -0,0 +1,21 @@
+package datamodels
+
+import "time"
+
+type EntCat struct {
+	EntCatId    int64     `json:"entCatId"        xorm:"'ent_cat_id'      bigint     pk comment('主键ID')          "`
+	EntCatTitle string    `json:"entCatTitle"     xorm:"'ent_cat_title'   varchar(50)   comment('单位类型名称')     "`
+	EntCatDesc  string    `json:"entCatDesc"      xorm:"'ent_cat_desc'    varchar(50)   comment('描述')            "`
+	IsFixed     int64     `json:"isFixed"         xorm:"'is_fixed'        int           comment('是否可修改')       "`
+	CreatedBy   int64     `json:"createdBy"       xorm:"'created_by'"`
+	CreatedAt   time.Time `json:"createdAt"       xorm:"'created_at'"`
+	UpdatedBy   int64     `json:"updatedBy"       xorm:"'updated_by'"`
+	UpdatedAt   time.Time `json:"updatedAt"       xorm:"'updated_at'"`
+	DeletedFlag int64     `json:"deletedFlag"     xorm:"'deleted_flag'"`
+	DeletedBy   int64     `json:"deletedBy"       xorm:"'deleted_by'"`
+	DeletedAt   time.Time `json:"deletedAt"       xorm:"'deleted_at'"`
+}
+
+func (t *EntCat) TableName() string {
+	return "ent_cat"
+}

+ 110 - 0
repositories/system/ent_cat_repo.go

@@ -0,0 +1,110 @@
+package system
+
+import (
+	"fmt"
+	"time"
+	"xorm.io/xorm"
+	"xps/datamodels"
+	"xps/viewmodels"
+)
+
+type EntCatRepo struct {
+	engine *xorm.Engine
+}
+
+func NewEntCatRepo(engine *xorm.Engine) *EntCatRepo {
+	return &EntCatRepo{
+		engine: engine,
+	}
+}
+
+func (d *EntCatRepo) GetByPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
+	keywords := m["keywords"].(string)
+	limit := m["limit"].(int)
+	page := m["page"].(int)
+
+	sqlSelect := `SELECT A.*`
+	sqlFrom := `FROM   ent_cat   AS A `
+	sqlWhere := `WHERE A.deleted_flag = 0 `
+	if keywords != "" {
+		sqlWhere += ` AND A.ent_cat_title like ` + "'%" + keywords + "%'"
+	}
+
+	sqlCount := `SELECT COUNT(*) `
+	total, err1 := d.engine.SQL(sqlCount + sqlFrom + sqlWhere).Count(new(datamodels.EntCat))
+	if err1 != nil {
+		return nil, err1
+	}
+
+	sqlOrderBy := " ORDER BY ent_cat_id DESC "
+	pageStart := (page - 1) * limit
+	sqlLimit := fmt.Sprintf(" LIMIT %d OFFSET %d ", limit, pageStart)
+
+	datalist := make([]datamodels.EntCat, 0)
+	err2 := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy + sqlLimit).Find(&datalist)
+	if err2 != nil {
+		return nil, err2
+	}
+
+	pageResult := &viewmodels.PageResult{}
+	pageResult.Data = datalist
+	pageResult.Total = total
+	pageResult.PageSize = limit
+	pageResult.Page = page
+	return pageResult, nil
+}
+
+func (d *EntCatRepo) GetByList(m map[string]interface{}) ([]viewmodels.EntCatInfo, error) {
+	keywords := m["keywords"].(string)
+
+	sqlSelect := `SELECT A.* `
+	sqlFrom := `FROM  ent_cat   AS A    `
+	sqlWhere := `WHERE A.deleted_flag = 0 `
+	if keywords != "" {
+		sqlWhere += ` AND   A.ent_cat_title like ` + "'%" + keywords + "%'"
+	}
+
+	sqlOrderBy := " ORDER BY ent_cat_id DESC "
+	datalist := make([]viewmodels.EntCatInfo, 0)
+	err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy).Find(&datalist)
+	if err != nil {
+		return nil, err
+	}
+	return datalist, nil
+}
+
+func (d *EntCatRepo) GetById(entCatId int64) (*viewmodels.EntCatInfo, error) {
+	data := &viewmodels.EntCatInfo{}
+	ok, err := d.engine.Where("ent_cat_id = ?", entCatId).Get(data)
+	if !ok && err == nil {
+		return nil, err
+	} else {
+		return data, nil
+	}
+}
+
+func (d *EntCatRepo) Create(data *datamodels.EntCat) error {
+	data.CreatedAt = time.Now()
+	_, err := d.engine.Insert(data)
+	return err
+}
+
+func (d *EntCatRepo) Update(data *datamodels.EntCat) error {
+	entCatId := data.EntCatId
+
+	data.UpdatedAt = time.Now()
+	_, err := d.engine.Where("ent_cat_id = ?", entCatId).Update(data)
+	return err
+}
+
+func (d *EntCatRepo) Delete(m map[string]interface{}) error {
+	entCatId := m["entCatId"].(int64)
+	deletedBy := m["deletedBy"].(int64)
+
+	data := &datamodels.EntCat{}
+	data.DeletedFlag = 1
+	data.DeletedBy = deletedBy
+	data.DeletedAt = time.Now()
+	_, err := d.engine.Where("ent_cat_id = ?", entCatId).Update(data)
+	return err
+}

+ 52 - 0
service/system/ent_cat_service.go

@@ -0,0 +1,52 @@
+package system
+
+import (
+	"xps/datamodels"
+	"xps/datasource"
+	"xps/repositories/system"
+	"xps/viewmodels"
+)
+
+type EntCatService interface {
+	GetByList(m map[string]interface{}) ([]viewmodels.EntCatInfo, error)
+	GetByPage(m map[string]interface{}) (*viewmodels.PageResult, error)
+	GetById(entCatId int64) (*viewmodels.EntCatInfo, error)
+	Create(d *datamodels.EntCat) error
+	Update(d *datamodels.EntCat) error
+	Delete(m map[string]interface{}) error
+}
+
+type entCatService struct {
+	repo *system.EntCatRepo
+}
+
+func NewEntCatService() EntCatService {
+	return &entCatService{
+		repo: system.NewEntCatRepo(datasource.InstanceMaster()),
+	}
+}
+
+func (s *entCatService) GetByList(m map[string]interface{}) ([]viewmodels.EntCatInfo, error) {
+	return s.repo.GetByList(m)
+}
+
+func (s *entCatService) GetByPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
+	return s.repo.GetByPage(m)
+}
+
+func (s *entCatService) GetById(entCatId int64) (*viewmodels.EntCatInfo, error) {
+	return s.repo.GetById(entCatId)
+}
+
+func (s *entCatService) Create(EntCat *datamodels.EntCat) error {
+	EntCat.EntCatId = NewID()
+	return s.repo.Create(EntCat)
+}
+
+func (s *entCatService) Update(EntCat *datamodels.EntCat) error {
+	return s.repo.Update(EntCat)
+}
+
+func (s *entCatService) Delete(m map[string]interface{}) error {
+	return s.repo.Delete(m)
+}

+ 21 - 0
viewmodels/ent_cat_info.go

@@ -0,0 +1,21 @@
+package viewmodels
+
+import "time"
+
+type EntCatInfo struct {
+	EntCatId    int64     `json:"entCatId"        xorm:"'ent_cat_id'      bigint     pk comment('主键ID')          "`
+	EntCatTitle string    `json:"entCatTitle"     xorm:"'ent_cat_title'   varchar(50)   comment('单位类型名称')     "`
+	EntCatDesc  string    `json:"entCatDesc"      xorm:"'ent_cat_desc'    varchar(50)   comment('描述')            "`
+	IsFixed     int64     `json:"isFixed"         xorm:"'is_fixed'        int           comment('是否可修改')       "`
+	CreatedBy   int64     `json:"createdBy"       xorm:"'created_by'"`
+	CreatedAt   time.Time `json:"createdAt"       xorm:"'created_at'"`
+	UpdatedBy   int64     `json:"updatedBy"       xorm:"'updated_by'"`
+	UpdatedAt   time.Time `json:"updatedAt"       xorm:"'updated_at'"`
+	DeletedFlag int64     `json:"deletedFlag"     xorm:"'deleted_flag'"`
+	DeletedBy   int64     `json:"deletedBy"       xorm:"'deleted_by'"`
+	DeletedAt   time.Time `json:"deletedAt"       xorm:"'deleted_at'"`
+}
+
+func (t *EntCatInfo) TableName() string {
+	return "ent_cat"
+}

+ 98 - 0
web/controllers/ent_cat_controller.go

@@ -0,0 +1,98 @@
+package controllers
+
+import (
+	"github.com/kataras/iris/v12/mvc"
+	"xps/datamodels"
+	"xps/service/system"
+)
+
+type EntCatController struct {
+	Base
+	Service system.EntCatService
+}
+
+func (c *EntCatController) BeforeActivation(b mvc.BeforeActivation) {
+	b.Handle("GET", "/", "GetByList")
+	b.Handle("GET", "/page", "GetByPage")
+	b.Handle("GET", "/{entCatId:int64}", "GetById")
+	b.Handle("POST", "/add", "Create")
+	b.Handle("PUT", "/update", "Update")
+	b.Handle("DELETE", "/{entCatId:int64}", "DeleteByID")
+}
+
+func (c *EntCatController) GetByList() *JsonResult {
+	params := c.buildParams()
+	data, err := c.Service.GetByList(params)
+	if err != nil {
+		return ResultErr(err.Error(), nil)
+	}
+	return ResultOk("获取成功", data)
+}
+
+func (c *EntCatController) GetByPage() *JsonResult {
+	params := c.buildParams()
+	data, err := c.Service.GetByPage(params)
+	if err != nil {
+		return ResultErr(err.Error(), nil)
+	} else {
+		return ResultOk("获取成功", data)
+	}
+}
+
+func (c *EntCatController) GetById(entCatId int64) *JsonResult {
+	data, err := c.Service.GetById(entCatId)
+	if err != nil {
+		return ResultErr(err.Error(), nil)
+	} else {
+		return ResultOk("获取成功", data)
+	}
+}
+
+func (c *EntCatController) Create() *JsonResult {
+	userId := c.GetCurUserId()
+
+	entCat := datamodels.EntCat{}
+	entCat.CreatedBy = userId
+	err := c.Ctx.ReadJSON(&entCat)
+	if err != nil {
+		return ResultErr("读取数据失败", nil)
+	}
+
+	err = c.Service.Create(&entCat)
+	if err != nil {
+		return ResultErr(err.Error(), nil)
+	} else {
+		return ResultOk("新增成功", nil)
+	}
+}
+
+func (c *EntCatController) Update() *JsonResult {
+	userId := c.GetCurUserId()
+
+	entCat := datamodels.EntCat{}
+	if err := c.Ctx.ReadJSON(&entCat); err != nil {
+		return ResultErr("读取数据失败", nil)
+	}
+
+	entCat.UpdatedBy = userId
+	err := c.Service.Update(&entCat)
+	if err != nil {
+		return ResultErr(err.Error(), nil)
+	} else {
+		return ResultOk("更新成功", nil)
+	}
+}
+
+func (c *EntCatController) DeleteByID(entCatId int64) *JsonResult {
+	userId := c.GetCurUserId()
+
+	var m = make(map[string]interface{})
+	m["entCatId"] = entCatId
+	m["deletedBy"] = userId
+	err := c.Service.Delete(m)
+	if err != nil {
+		return ResultErr(err.Error(), nil)
+	} else {
+		return ResultOk("删除成功", nil)
+	}
+}

+ 11 - 1
web/router/routes.go

@@ -119,11 +119,21 @@ func Configure(b *bootstrap.Bootstrapper) {
 		taskCatApp.Handle(new(controllers.TaskCatController))
 	}
 
+	// EntCat
+	entCat := b.Party("/ent", crs).AllowMethods(iris.MethodOptions)
+	{
+		entCat.Use(middleware.AuthToken)
+		entCatService := system.NewEntCatService()
+		entCatApp := mvc.New(entCat.Party("/cat"))
+		entCatApp.Register(entCatService)
+		entCatApp.Handle(new(controllers.EntCatController))
+	}
+
 	// PartnerCat
 	partnerCat := b.Party("/partner", crs).AllowMethods(iris.MethodOptions)
 	{
 		partnerCat.Use(middleware.AuthToken)
-		partnerCatService := system.NewTaskCatService()
+		partnerCatService := system.NewPartnerCatService()
 		partnerCatApp := mvc.New(partnerCat.Party("/cat"))
 		partnerCatApp.Register(partnerCatService)
 		partnerCatApp.Handle(new(controllers.PartnerCatController))