package com.ruoyi.web.controller.common; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.enums.EquipmentLog; import com.ruoyi.common.enums.LogType; import com.ruoyi.oa.domain.BsSchool; import com.ruoyi.oa.domain.DevBatch; import com.ruoyi.oa.domain.DevPeripheralUnit; import com.ruoyi.oa.domain.bo.DevEquipmentBo; import com.ruoyi.oa.service.IBsSchoolService; import com.ruoyi.oa.service.IDevBatchService; import com.ruoyi.oa.service.IDevEquipmentService; import com.ruoyi.oa.service.IDevPeripheralUnitService; import com.ruoyi.system.service.ISysDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 智控设备Controller * * @author ruoyi * @date 2021-12-05 */ @Validated @Api(value = "外部接口", tags = {"外部接口"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/externa") public class ExternaController { private final ISysDictDataService dictDataService; private final IDevPeripheralUnitService iDevPeripheralUnitService; private final IDevBatchService iDevBatchService; private final IBsSchoolService iBsSchoolService; private final IDevEquipmentService iDevEquipmentService; /** * 基础信息 */ @ApiOperation("基础信息") @Log(type = LogType.EQUIPMENT_LOG, operation = EquipmentLog.LOAD) @GetMapping public AjaxResult externalAdd() { // 智控设备类型 List dict1 = dictDataService.list(new QueryWrapper().lambda().eq(SysDictData::getDictType, "DICT101")); // β网络工作频段 List dict2 = dictDataService.list(new QueryWrapper().lambda().eq(SysDictData::getDictType, "DICT102")); // 串口通信波特率 List dict3 = dictDataService.list(new QueryWrapper().lambda().eq(SysDictData::getDictType, "DICT103")); // 在用状态 List dict4 = dictDataService.list(new QueryWrapper().lambda().eq(SysDictData::getDictType, "DICT104")); // 办学层次 List dict5 = dictDataService.list(new QueryWrapper().lambda().eq(SysDictData::getDictType, "DICT105")); // 学科范围 List dict6 = dictDataService.list(new QueryWrapper().lambda().eq(SysDictData::getDictType, "DICT106")); // 采集周期 List dict7 = dictDataService.list(new QueryWrapper().lambda().eq(SysDictData::getDictType, "DICT107")); // 外设单元 List peripheralUnit = iDevPeripheralUnitService.list(new QueryWrapper()); // 批次 List batch = iDevBatchService.list(new QueryWrapper()); // 高校 List school = iBsSchoolService.list(new QueryWrapper()); Map map = new HashMap<>(); map.put("DICT101", dict1); map.put("DICT102", dict2); map.put("DICT103", dict3); map.put("DICT104", dict4); map.put("DICT105", dict5); map.put("DICT106", dict6); map.put("DICT107", dict7); map.put("peripheralUnit", peripheralUnit); map.put("batch", batch); map.put("school", school); return AjaxResult.success(map); } /** * 新增智控设备 */ @ApiOperation("新增智控设备") @Log(type = LogType.EQUIPMENT_LOG, operation = EquipmentLog.WRITE) @RepeatSubmit() @PostMapping("/equipment") public AjaxResult equipmentAdd(@Validated(AddGroup.class) @RequestBody DevEquipmentBo bo) { return AjaxResult.success(iDevEquipmentService.externalAdd(bo)); } /** * 编辑智控设备 */ @ApiOperation("新增智控设备(外部调用-去掉权限)") @RepeatSubmit() @Log(type = LogType.EQUIPMENT_LOG, operation = EquipmentLog.SUBMIT_COMMENT) @PutMapping("/equipment") public AjaxResult equipmentEdit(@Validated(AddGroup.class) @RequestBody DevEquipmentBo bo) { return AjaxResult.success(iDevEquipmentService.equipmentEdit(bo)); } }