1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package cn.fastfun.controller.api;
- import cn.fastfun.service.ProductService;
- import cn.fastfun.service.entity.Product;
- import cn.fastfun.service.entity.Sn;
- import cn.fastfun.util.ResolveUtil;
- import com.bridge.dto.ApiDTO;
- import com.bridge.dto.QueryParamExp;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RestController;
- import javax.annotation.Resource;
- import java.util.Arrays;
- import java.util.Map;
- @Api(tags = "sn解析")
- @RestController
- public class SnController {
- @Resource
- ProductService productService;
- @ApiOperation(value = "对提交的sn进行解析")
- @PostMapping("/api/v1/sn")
- public ApiDTO save(@RequestBody @ApiParam(name = "SN字符串", value = "传入String格式", required = true) Sn sn) {
- Map<String,String> snSplitResult = ResolveUtil.splitImei(sn.getNumber());
- Product productTypeCheckResult = productService.getOne(
- Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("产品类型代码")),
- QueryParamExp.eq("snTypeEn",1)));
- Product packManufacturerCheckResult = productService.getOne(
- Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("pack制造商代码")),
- QueryParamExp.eq("snTypeEn",2)));
- Product cellManufacturerCheckResult = productService.getOne(
- Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("电芯厂家代码")),
- QueryParamExp.eq("snTypeEn",3)));
- Product ChemicalSystemCheckResult = productService.getOne(
- Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("化学体系代码")),
- QueryParamExp.eq("snTypeEn",4)));
- Product batteryPlatformCheckResult = productService.getOne(
- Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("电池平台代码")),
- QueryParamExp.eq("snTypeEn",5)));
- Product CapacityCheckResult = productService.getOne(
- Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("容量代码")),
- QueryParamExp.eq("snTypeEn",6)));
- Product productExpansionCheckResult = productService.getOne(
- Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("产品扩展代码")),
- QueryParamExp.eq("snTypeEn",7)));
- String productionDate = snSplitResult.get("生产日期代码");
- String productionDateCheckResult = ResolveUtil.resolveDate(productionDate);
- sn.setProductType(null == productTypeCheckResult ? "未录入该产品类型" : productTypeCheckResult.getSnTypeDesc());
- sn.setPackManufacturer(null == packManufacturerCheckResult ? "未录入该pack制造商": packManufacturerCheckResult.getSnTypeDesc());
- sn.setCellManufacturer(null == cellManufacturerCheckResult ? "未录入该电芯制造商": cellManufacturerCheckResult.getSnTypeDesc());
- sn.setChemicalSystem(null == ChemicalSystemCheckResult ? "未录入该化学体系": ChemicalSystemCheckResult.getSnTypeDesc());
- sn.setBatteryPlatform(null == batteryPlatformCheckResult ? "未录入该电池平台": batteryPlatformCheckResult.getSnTypeDesc());
- sn.setCapacity(null == CapacityCheckResult ? "未录入该容量信息": CapacityCheckResult.getSnTypeDesc());
- sn.setProductExpansion(null == productExpansionCheckResult ? "未录入该扩展类型": productExpansionCheckResult.getSnTypeDesc());
- sn.setProductionDate(productionDateCheckResult);
- sn.setSerialNumber(snSplitResult.get("序列号代码"));
- return ApiDTO.ok("解析完成",sn);
- }
- }
|