package com.yuanchu.limslaboratory.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.SerialNumber;
import com.yuanchu.limslaboratory.service.SerialNumberService;
import com.yuanchu.limslaboratory.utils.JackSonUtil;
import com.yuanchu.limslaboratory.utils.MyUtil;
import com.yuanchu.limslaboratory.utils.RedisUtil;
import com.yuanchu.limslaboratory.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
* 前端控制器
*
*
* @author 江苏鵷雏网络科技有限公司
* @since 2023-07-11
*/
@Api(tags = "标准库-->2、型号")
@RestController
@RequestMapping("/serial-number")
public class SerialNumberController {
@Autowired
private SerialNumberService serialNumberService;
@ApiOperation("添加型号")
@PostMapping("/add")
public Result> addSerialNumberInformation(@RequestHeader("X-Token") String token,@RequestBody SerialNumber serialNumber) throws Exception {
Object object = RedisUtil.get(token);
Map unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
serialNumber.setUserId((Integer) unmarshal.get("id"));
Integer isStandardsSuccess = serialNumberService.addSerialNumberInformation(serialNumber);
if (isStandardsSuccess == 1) {
return Result.success("添加【"+ serialNumber.getName() +"】成功!");
}
return Result.fail("添加【"+ serialNumber.getName() +"】失败!");
}
@ApiOperation("点击侧边栏标准,分页查询所有型号")
@ApiImplicitParams(value = {
@ApiImplicitParam(value = "型号/型号名称", name = "IdOrNameOfSerialNumber", dataTypeClass = String.class),
@ApiImplicitParam(value = "标准号Id", name = "standardsId", dataTypeClass = String.class, required = true),
@ApiImplicitParam(name = "pageNo", value = "起始页", dataTypeClass = Integer.class, required = true),
@ApiImplicitParam(name = "pageSize", value = "每一页数量", dataTypeClass = Integer.class, required = true),
})
@GetMapping("/list")
public Result> listSerialNumberInformation(String IdOrNameOfSerialNumber, String standardsId, Integer pageNo, Integer pageSize){
IPage