diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/controller/WxInstrumentController.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/controller/WxInstrumentController.java index 9f8c36b..a101d13 100644 --- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/controller/WxInstrumentController.java +++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/controller/WxInstrumentController.java @@ -70,6 +70,15 @@ public class WxInstrumentController extends BaseController { return R.ok(); } + /** + * 用户选择仪器后,通过扫码序列号与仪器绑定 + */ + @GetMapping(value = "/scanCodeBinding") + public R scanCodeBinding(@NotBlank(message = "序列号不能为空") @RequestParam("serial") String serial, + @NotBlank(message = "仪器ID不能为空") @RequestParam("instrumentId") Long instrumentId) { + return R.ok(wxInstrumentService.scanCodeBinding(serial, instrumentId)); + } + /** * 获取已绑定的仪器列表 */ @@ -88,8 +97,6 @@ public class WxInstrumentController extends BaseController { /** * 根据序列号获取仪器信息 - * - * @return 当返回 203 时,需要页面跳转到联系客服 */ @GetMapping(value = "/getInstrumentInfoBySerial") public R getInstrumentInfoBySerial(@NotBlank(message = "序列号不能为空") @RequestParam("serial") String serial) { diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java index de0c837..907c7ea 100644 --- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java +++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java @@ -354,4 +354,15 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService { wxInstrumentMode.setStatus(Status.OK.getCode()); return wxInstrumentModeMapper.selectWxInstrumentModeList(wxInstrumentMode); } + + @Override + public WxInstrumentSerial scanCodeBinding(String serial, Long instrumentId) { + /* 1、获取序列号信息 */ + WxInstrumentSerial wxInstrumentSerial = getInstrumentInfoBySerial(serial); + if (wxInstrumentSerial.getInstrumentId() == instrumentId) { + logger.info("用户选择的仪器与序列号对应的仪器不一致,序列号:{}, 仪器ID:{}", serial, instrumentId); + throw new ServiceReturnCodeException("用户选择的仪器与序列号对应的仪器不一致", 204); + } + return wxInstrumentSerial; + } }