This commit is contained in:
liulu
2024-10-28 11:32:18 +08:00
parent e59811ced4
commit 17356d0314
76 changed files with 3304 additions and 135 deletions
@@ -0,0 +1,143 @@
package com.sunyard.chsm.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sunyard.chsm.dto.DeviceDTO;
import com.sunyard.chsm.dto.ManufacturersDeviceDTO;
import com.sunyard.chsm.enums.ManufacturerModelEnum;
import com.sunyard.chsm.model.R;
import com.sunyard.chsm.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 密码机管理接口
*
* @author liulu
* @since 2024/10/15
*/
@Slf4j
@RestController("sp_DeviceController")
@RequestMapping("/device")
public class DeviceController {
@Resource
private DeviceService deviceService;
/**
* 分页查询密码设备列表
*
* @param query 查询条件
* @return 分页列表
*/
@GetMapping("/pageList")
public R<Page<DeviceDTO.View>> servicePageList(DeviceDTO.Query query) {
Page<DeviceDTO.View> page = deviceService.selectPageList(query);
return R.data(page);
}
/**
* 查询未分组设备列表
*
* @return 列表
*/
@GetMapping("/ungrouped/list")
public R<List<DeviceDTO.View>> getUngroupedList() {
List<DeviceDTO.View> res = deviceService.getUngroupedList();
return R.data(res);
}
/**
* 查询设备详情
*
* @param id id
* @return 详情
*/
@GetMapping("/detail")
public R<DeviceDTO.Detail> getById(Long id) {
DeviceDTO.Detail res = deviceService.getDetailById(id);
return R.data(res);
}
/**
* 查询已适配的厂商设备列表
*
* @return 列表
*/
@GetMapping("/adapted/list")
public R<List<ManufacturersDeviceDTO>> getAdaptedList() {
List<ManufacturersDeviceDTO> manufacturers = Arrays.stream(ManufacturerModelEnum.values())
.collect(Collectors.groupingBy(ManufacturerModelEnum::getManufacturer))
.entrySet().stream()
.map(it -> {
ManufacturersDeviceDTO adaptedDevices = new ManufacturersDeviceDTO();
adaptedDevices.setCode(it.getKey().getCode());
adaptedDevices.setName(it.getKey().getName());
List<ManufacturersDeviceDTO.Model> modelList = it.getValue().stream().map(it2 -> {
ManufacturersDeviceDTO.Model model = new ManufacturersDeviceDTO.Model();
model.setModel(it2.getModel());
model.setName(it2.getName());
return model;
})
.collect(Collectors.toList());
adaptedDevices.setModels(modelList);
return adaptedDevices;
})
.collect(Collectors.toList());
return R.data(manufacturers);
}
/**
* 添加密码设备
*
* @param save 参数
* @return id
*/
@PostMapping
public R<String> save(@Valid @RequestBody DeviceDTO.Save save) {
Long id = deviceService.save(save);
return R.data(String.valueOf(id));
}
/**
* 修改密码设备
*
* @param update 参数
* @return void
*/
@PutMapping
public R<Void> update(@Valid @RequestBody DeviceDTO.Save update) {
deviceService.update(update);
return R.ok();
}
/**
* 删除密码设备
*
* @param id id
* @return void
*/
@DeleteMapping
public R<Void> delete(Long id) {
deviceService.delete(id);
return R.ok();
}
}