company.go 5.3 KB
package controllers

import (
	"encoding/json"
	"oppmg/common/log"
	"oppmg/protocol"
	servecompany "oppmg/services/company"
	"strconv"
)

type CompanyController struct {
	BaseController
}

//URLMapping 实现ControllerInterface中的URLMapping
func (c *CompanyController) URLMapping() {
	//c.Mapping("AccessToken", c.AccessToken)
}

// DepartmentAdd 部门列表
// @router /:companyid/department [get]
func (c *CompanyController) DepartmentList() {
	log.Debug("DepartmentList param:%v", c.Ctx.Input.Param(":companyid"))

	var msg *protocol.ResponseMessage
	defer func() {
		c.ResposeJson(msg)
	}()
	var (
		param     string
		companyid int64
		err       error
	)
	param = c.Ctx.Input.Param(":companyid")
	companyid, err = strconv.ParseInt(param, 10, 64)
	if err != nil {
		msg = protocol.BadRequestParam("1")
		return
	}
	if companyid <= 0 {
		msg = protocol.BadRequestParam("1")
		return
	}
	departs, err := servecompany.DepartmentListAll(companyid)
	listdata := protocol.ResponseDepartmentList{
		List: departs,
	}
	msg = protocol.NewReturnResponse(listdata, err)
}

// DepartmentAdd 部门列表
// @router /department/:id [get]
func (c *CompanyController) DepartmentOne() {
	log.Debug("DepartmentOne param:%v", c.Ctx.Input.Param(":id"))
	var msg *protocol.ResponseMessage
	defer func() {
		c.ResposeJson(msg)
	}()
	var (
		param string
		id    int64
		err   error
	)
	param = c.Ctx.Input.Param(":id")
	id, err = strconv.ParseInt(param, 10, 64)
	if err != nil {
		msg = protocol.BadRequestParam("1")
		return
	}
	if id <= 0 {
		msg = protocol.BadRequestParam("1")
		return
	}
	msg = protocol.NewReturnResponse(nil, nil)
}

// DepartmentAdd 添加部门
// @router /department [post]
func (c *CompanyController) DepartmentAdd() {
	var msg *protocol.ResponseMessage
	defer func() {
		c.ResposeJson(msg)
	}()
	var param protocol.RequestDepartmentAdd
	if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
		log.Error("json 解析失败 err:%s", err)
		msg = protocol.BadRequestParam("1")
		return
	}
	if param.CompanyID <= 0 {
		log.Error("param.CompanyID <= 0")
		msg = protocol.BadRequestParam("1")
		return
	}
	//err := protocol.NewErrWithMessage("101", nil)
	err := servecompany.DepartmentAdd(param)
	msg = protocol.NewReturnResponse(nil, err)
	return
}

// DepartmentUpdate 更新部门
// @router /department [put]
func (c *CompanyController) DepartmentUpdate() {
	var msg *protocol.ResponseMessage
	defer func() {
		c.ResposeJson(msg)
	}()

	var param protocol.RequestDepartmentEdit
	if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
		log.Error("json 解析失败 err:%s", err)
		msg = protocol.BadRequestParam("1")
		return
	}
	if param.ID <= 0 {
		log.Error(" param.ID <= 0 ")
		msg = protocol.BadRequestParam("1")
		return
	}
	err := servecompany.DepartmentEdit(param)
	msg = protocol.NewReturnResponse(nil, err)
	return
}

// DepartmentUpdate 删除部门
// @router /department [delete]
func (c *CompanyController) DepartmentDelete() {
	var msg *protocol.ResponseMessage
	defer func() {
		c.ResposeJson(msg)
	}()

	var param protocol.RequestDepartmentDelete
	if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
		log.Error("json 解析失败 err:%s", err)
		msg = protocol.BadRequestParam("1")
		return
	}

	err := servecompany.DepartmentDelete(param)
	msg = protocol.NewReturnResponse(nil, err)
	return
}

// PositionAdd 添加职位
// @router /position [post]
func (c *CompanyController) PositionAdd() {
	var msg *protocol.ResponseMessage
	defer func() {
		c.ResposeJson(msg)
	}()
	var param protocol.RequestPositionAdd
	if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
		log.Error("json 解析失败 err:%s", err)
		msg = protocol.BadRequestParam("1")
		return
	}
	positioninfo, err := servecompany.PositionAdd(param)
	msg = protocol.NewReturnResponse(positioninfo, err)
	return
}

// PositionEdit 编辑职位
// @router /position [put]
func (c *CompanyController) PositionEdit() {
	var msg *protocol.ResponseMessage
	defer func() {
		c.ResposeJson(msg)
	}()
	var param protocol.RequestPositionEdit
	if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
		log.Error("json 解析失败 err:%s", err)
		msg = protocol.BadRequestParam("1")
		return
	}
	positioninfo, err := servecompany.PositionEdit(param)
	msg = protocol.NewReturnResponse(positioninfo, err)
	return
}

// PositionDelete 删除职位
// @router /position [delete]
func (c *CompanyController) PositionDelete() {
	var msg *protocol.ResponseMessage
	defer func() {
		c.ResposeJson(msg)
	}()
	var param protocol.RequestPositionDelete
	if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
		log.Error("json 解析失败 err:%s", err)
		msg = protocol.BadRequestParam("1")
		return
	}
	err := servecompany.PositionDelete(param)
	msg = protocol.NewReturnResponse(nil, err)
	return
}

// PositionList 获取职位列表
// @router /:companyid/position [get]
func (c *CompanyController) PositionList() {
	var msg *protocol.ResponseMessage
	defer func() {
		c.ResposeJson(msg)
	}()

	var (
		err       error
		list      []protocol.ResponsePositionInfo
		companyid int64
	)
	param := c.Ctx.Input.Param(":companyid")
	companyid, _ = strconv.ParseInt(param, 10, 64)
	if companyid <= 0 {
		msg = protocol.BadRequestParam("1")
		return
	}
	list, err = servecompany.GetPositionList(companyid)
	msg = protocol.NewReturnResponse(list, err)
	return
}