SnController.java 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package cn.fastfun.controller.api;
  2. import cn.fastfun.service.ProductService;
  3. import cn.fastfun.service.entity.Product;
  4. import cn.fastfun.service.entity.Sn;
  5. import cn.fastfun.util.ResolveUtil;
  6. import com.bridge.dto.ApiDTO;
  7. import com.bridge.dto.QueryParamExp;
  8. import io.swagger.annotations.Api;
  9. import io.swagger.annotations.ApiOperation;
  10. import io.swagger.annotations.ApiParam;
  11. import org.springframework.web.bind.annotation.PostMapping;
  12. import org.springframework.web.bind.annotation.RequestBody;
  13. import org.springframework.web.bind.annotation.RestController;
  14. import javax.annotation.Resource;
  15. import java.util.Arrays;
  16. import java.util.Map;
  17. @Api(tags = "sn解析")
  18. @RestController
  19. public class SnController {
  20. @Resource
  21. ProductService productService;
  22. @ApiOperation(value = "对提交的sn进行解析")
  23. @PostMapping("/api/v1/sn")
  24. public ApiDTO save(@RequestBody @ApiParam(name = "SN字符串", value = "传入String格式", required = true) Sn sn) {
  25. Map<String,String> snSplitResult = ResolveUtil.splitImei(sn.getNumber());
  26. Product productTypeCheckResult = productService.getOne(
  27. Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("产品类型代码")),
  28. QueryParamExp.eq("snTypeEn",1)));
  29. Product packManufacturerCheckResult = productService.getOne(
  30. Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("pack制造商代码")),
  31. QueryParamExp.eq("snTypeEn",2)));
  32. Product cellManufacturerCheckResult = productService.getOne(
  33. Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("电芯厂家代码")),
  34. QueryParamExp.eq("snTypeEn",3)));
  35. Product ChemicalSystemCheckResult = productService.getOne(
  36. Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("化学体系代码")),
  37. QueryParamExp.eq("snTypeEn",4)));
  38. Product batteryPlatformCheckResult = productService.getOne(
  39. Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("电池平台代码")),
  40. QueryParamExp.eq("snTypeEn",5)));
  41. Product CapacityCheckResult = productService.getOne(
  42. Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("容量代码")),
  43. QueryParamExp.eq("snTypeEn",6)));
  44. Product productExpansionCheckResult = productService.getOne(
  45. Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("产品扩展代码")),
  46. QueryParamExp.eq("snTypeEn",7)));
  47. String productionDate = snSplitResult.get("生产日期代码");
  48. String productionDateCheckResult = ResolveUtil.resolveDate(productionDate);
  49. sn.setProductType(null == productTypeCheckResult ? "未录入该产品类型" : productTypeCheckResult.getSnTypeDesc());
  50. sn.setPackManufacturer(null == packManufacturerCheckResult ? "未录入该pack制造商": packManufacturerCheckResult.getSnTypeDesc());
  51. sn.setCellManufacturer(null == cellManufacturerCheckResult ? "未录入该电芯制造商": cellManufacturerCheckResult.getSnTypeDesc());
  52. sn.setChemicalSystem(null == ChemicalSystemCheckResult ? "未录入该化学体系": ChemicalSystemCheckResult.getSnTypeDesc());
  53. sn.setBatteryPlatform(null == batteryPlatformCheckResult ? "未录入该电池平台": batteryPlatformCheckResult.getSnTypeDesc());
  54. sn.setCapacity(null == CapacityCheckResult ? "未录入该容量信息": CapacityCheckResult.getSnTypeDesc());
  55. sn.setProductExpansion(null == productExpansionCheckResult ? "未录入该扩展类型": productExpansionCheckResult.getSnTypeDesc());
  56. sn.setProductionDate(productionDateCheckResult);
  57. sn.setSerialNumber(snSplitResult.get("序列号代码"));
  58. return ApiDTO.ok("解析完成",sn);
  59. }
  60. }