device_controller.go 3.4 KB
package controllers

import (
	"github.com/linmadan/egglib-go/web/beego"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/device/command"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/device/query"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/device/service"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
)

type DeviceController struct {
	beego.BaseController
}

func (controller *DeviceController) CreateDevice() {
	deviceService := service.NewDeviceService(nil)
	createDeviceCommand := &command.CreateDeviceCommand{}
	Must(controller.Unmarshal(createDeviceCommand))
	data, err := deviceService.CreateDevice(ParseOperateInfo(controller.BaseController), createDeviceCommand)
	controller.Response(data, err)
}

func (controller *DeviceController) UpdateDevice() {
	deviceService := service.NewDeviceService(nil)
	updateDeviceCommand := &command.UpdateDeviceCommand{}
	Must(controller.Unmarshal(updateDeviceCommand))
	deviceId, _ := controller.GetInt(":deviceId")
	updateDeviceCommand.DeviceId = deviceId
	data, err := deviceService.UpdateDevice(updateDeviceCommand)
	controller.Response(data, err)
}

func (controller *DeviceController) GetDevice() {
	deviceService := service.NewDeviceService(nil)
	getDeviceQuery := &query.GetDeviceQuery{}
	deviceId, _ := controller.GetInt(":deviceId")
	getDeviceQuery.DeviceId = deviceId
	data, err := deviceService.GetDevice(getDeviceQuery)
	controller.Response(data, err)
}

func (controller *DeviceController) RemoveDevice() {
	deviceService := service.NewDeviceService(nil)
	removeDeviceCommand := &command.RemoveDeviceCommand{}
	Must(controller.Unmarshal(removeDeviceCommand))
	deviceId, _ := controller.GetInt(":deviceId")
	removeDeviceCommand.DeviceId = deviceId
	data, err := deviceService.RemoveDevice(removeDeviceCommand)
	controller.Response(data, err)
}

func (controller *DeviceController) BatchRemoveDevice() {
	deviceService := service.NewDeviceService(nil)
	removeDeviceCommand := &command.BatchRemoveDeviceCommand{}
	Must(controller.Unmarshal(removeDeviceCommand))
	data, err := deviceService.BatchRemoveDevice(removeDeviceCommand)
	controller.Response(data, err)
}

func (controller *DeviceController) ListDevice() {
	deviceService := service.NewDeviceService(nil)
	listDeviceQuery := &query.ListDeviceQuery{}
	offset, _ := controller.GetInt("offset")
	listDeviceQuery.Offset = offset
	limit, _ := controller.GetInt("limit")
	listDeviceQuery.Limit = limit
	data, err := deviceService.ListDevice(listDeviceQuery)
	controller.Response(data, err)
}

func (controller *DeviceController) SearchDevice() {
	deviceService := service.NewDeviceService(nil)
	cmd := &query.SearchDeviceQuery{}
	Must(controller.Unmarshal(cmd))
	operateInfo := ParseOperateInfo(controller.BaseController)
	//cmd.OrgId = operateInfo.OrgId
	cmd.CompanyId = operateInfo.CompanyId
	cmd.InOrgIds = operateInfo.OrgIds
	total, data, err := deviceService.SearchDevice(ParseOperateInfo(controller.BaseController), cmd)
	ResponseGrid(controller.BaseController, total, data, err)
}

func (controller *DeviceController) BatchAddDevice() {
	productService := service.NewDeviceService(nil)
	cmd := &struct {
		List []*domain.ImportDeviceItem `json:"list"`
	}{}
	Must(controller.Unmarshal(cmd))
	data, err := productService.BatchAddProduct(ParseOperateInfo(controller.BaseController), cmd.List)
	controller.Response(data, err)
}