diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/controller/BarCodeController.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/controller/BarCodeController.java index 2f73eaae..302235a9 100644 --- a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/controller/BarCodeController.java +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/controller/BarCodeController.java @@ -5,12 +5,12 @@ package com.skyeye.eve.controller; import com.skyeye.annotation.api.Api; +import com.skyeye.annotation.api.ApiImplicitParam; import com.skyeye.annotation.api.ApiImplicitParams; import com.skyeye.annotation.api.ApiOperation; import com.skyeye.common.object.InputObject; import com.skyeye.common.object.OutputObject; import com.skyeye.eve.entity.barcode.BarCodeApiMation; -import com.skyeye.eve.entity.dict.SysDictDataQueryDO; import com.skyeye.eve.service.BarCodeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; @@ -44,4 +44,18 @@ public class BarCodeController { barCodeService.writeBarCode(inputObject, outputObject); } + /** + * 根据条形码code获取数据信息 + * + * @param inputObject 入参以及用户信息等获取对象 + * @param outputObject 出参以及提示信息的返回值对象 + */ + @ApiOperation(id = "getDataByBarCode", value = "根据条形码code获取数据信息", method = "GET", allUse = "2") + @ApiImplicitParams({ + @ApiImplicitParam(id = "barCode", name = "barCode", value = "条形码code", required = "required")}) + @RequestMapping("/post/BarCodeController/getDataByBarCode") + public void getDataByBarCode(InputObject inputObject, OutputObject outputObject) { + barCodeService.getDataByBarCode(inputObject, outputObject); + } + } diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/BarCodeService.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/BarCodeService.java index 62e13820..da14aee6 100644 --- a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/BarCodeService.java +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/BarCodeService.java @@ -21,4 +21,5 @@ public interface BarCodeService extends IService { void writeBarCode(InputObject inputObject, OutputObject outputObject); + void getDataByBarCode(InputObject inputObject, OutputObject outputObject); } diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/impl/BarCodeServiceImpl.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/impl/BarCodeServiceImpl.java index 2327bbf7..b3977e66 100644 --- a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/impl/BarCodeServiceImpl.java +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/eve/service/impl/BarCodeServiceImpl.java @@ -4,18 +4,25 @@ package com.skyeye.eve.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.skyeye.common.object.InputObject; import com.skyeye.common.object.OutputObject; import com.skyeye.common.util.DateUtil; +import com.skyeye.common.util.mybatisplus.MybatisPlusUtil; import com.skyeye.eve.dao.BarCodeDao; import com.skyeye.eve.entity.barcode.BarCodeApiMation; import com.skyeye.eve.entity.barcode.BarCodeMation; import com.skyeye.eve.service.BarCodeService; +import com.skyeye.eve.service.IBarCodeService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.List; +import java.util.Map; /** * @ClassName: BarCodeServiceImpl @@ -31,6 +38,12 @@ public class BarCodeServiceImpl extends ServiceImpl i @Autowired private BarCodeDao barCodeDao; + @Autowired + private IBarCodeService iBarCodeService; + + @Autowired + private DiscoveryClient discoveryClient; + /** * 批量新增条形码 * @@ -49,4 +62,31 @@ public class BarCodeServiceImpl extends ServiceImpl i }); this.saveBatch(barCodeList); } + + /** + * 根据条形码code获取数据信息 + * + * @param inputObject 入参以及用户信息等获取对象 + * @param outputObject 出参以及提示信息的返回值对象 + */ + @Override + public void getDataByBarCode(InputObject inputObject, OutputObject outputObject) { + String barCode = inputObject.getParams().get("barCode").toString(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(BarCodeMation::getCodeNum), barCode); + BarCodeMation barCodeMation = barCodeDao.selectOne(queryWrapper); + + // 根据服务名获取服务实例 + List allInstances = discoveryClient.getInstances(barCodeMation.getSpringApplicationName()); + if (CollectionUtils.isEmpty(allInstances)) { + outputObject.setreturnMessage("this service[{}] has no instance.", barCodeMation.getSpringApplicationName()); + return; + } + + // 调用SDK服务获取数据信息 + Map result = iBarCodeService.getDataSdkByObjectId(allInstances.get(0).getUri(), barCodeMation.getObjectId(), + barCodeMation.getCodeImplClass()); + outputObject.setBean(result); + outputObject.settotal(1); + } } diff --git a/skyeye-promote/skyeye-web/src/main/resources/bootstrap.yml b/skyeye-promote/skyeye-web/src/main/resources/bootstrap.yml index 81dd7829..b25056bb 100644 --- a/skyeye-promote/skyeye-web/src/main/resources/bootstrap.yml +++ b/skyeye-promote/skyeye-web/src/main/resources/bootstrap.yml @@ -27,6 +27,7 @@ spring: logging: level: com.skyeye.eve.dao: debug + com.skyeye.eve.rest: debug webroot: # 工作流相关的服务