From 739fa50013ab9bd3d7460fc12fb51f3ab810ecc5 Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Tue, 30 Jan 2024 17:33:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E4=BB=AA=E5=99=A8ID=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=BB=91=E5=AE=9A=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/ret/WxBindingInstrumentInfo.java | 223 ++++++++++++++++++ .../controller/WxInstrumentController.java | 8 + .../service/IWxInstrumentService.java | 3 + .../service/impl/WxInstrumentServiceImpl.java | 39 +++ 4 files changed, 273 insertions(+) create mode 100644 flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/ret/WxBindingInstrumentInfo.java diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/ret/WxBindingInstrumentInfo.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/ret/WxBindingInstrumentInfo.java new file mode 100644 index 0000000..1199402 --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/ret/WxBindingInstrumentInfo.java @@ -0,0 +1,223 @@ +package com.flossom.common.core.domain.ret; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.flossom.common.core.web.domain.BaseEntity; + +import java.time.LocalTime; +import java.util.Date; + +/** + * 用户绑定仪器信息 + */ +public class WxBindingInstrumentInfo extends BaseEntity { + + /** + * 仪器ID + */ + private Long instrumentId; + + /** + * 仪器名称 + */ + private String instrumentName; + + /** + * 仪器:1、普通仪器 2、iot仪器 + */ + private Integer instrumentType; + + /** + * iot仪器特有:仪器型号 + */ + private String instrumentModel; + + /** + * 仪器封面(图片地址) + */ + private String instrumentBanner; + + /** + * 仪器logo图(图片地址) + */ + private String instrumentLogo; + + /** + * 序列号位置图片(图片地址) + */ + private String instrumentSerialImageLocation; + + /** + * 序列号 + */ + private String bindingSerial; + + + /** + * 序列号图片 + */ + private String bindingSerialImage; + /** + * 保修日期 + */ + private Long instrumentGuarantee; + + + /** + * 护理时长 + */ + @JsonFormat(pattern = "HH:mm:ss") + private LocalTime instrumentNursingTime; + + /** + * iot版本 + */ + private String instrumentIotVersion; + + /** + * iot升级数据文件 + */ + private String instrumentIotUpgradeData; + + /** + * 是否开启扫机身码:0、关闭 1、开启 + */ + private Integer instrumentIsScanCode; + + /** + * 是否支持购买:0、不支持 1、支持 + */ + private Integer instrumentIsPurchase; + + /** + * 绑定时间 + */ + private Date bindingDateTime; + + public Long getInstrumentId() { + return instrumentId; + } + + public void setInstrumentId(Long instrumentId) { + this.instrumentId = instrumentId; + } + + public String getInstrumentName() { + return instrumentName; + } + + public void setInstrumentName(String instrumentName) { + this.instrumentName = instrumentName; + } + + public Integer getInstrumentType() { + return instrumentType; + } + + public void setInstrumentType(Integer instrumentType) { + this.instrumentType = instrumentType; + } + + public String getInstrumentModel() { + return instrumentModel; + } + + public void setInstrumentModel(String instrumentModel) { + this.instrumentModel = instrumentModel; + } + + public String getInstrumentBanner() { + return instrumentBanner; + } + + public void setInstrumentBanner(String instrumentBanner) { + this.instrumentBanner = instrumentBanner; + } + + public String getInstrumentLogo() { + return instrumentLogo; + } + + public void setInstrumentLogo(String instrumentLogo) { + this.instrumentLogo = instrumentLogo; + } + + public String getInstrumentSerialImageLocation() { + return instrumentSerialImageLocation; + } + + public void setInstrumentSerialImageLocation(String instrumentSerialImageLocation) { + this.instrumentSerialImageLocation = instrumentSerialImageLocation; + } + + public String getBindingSerial() { + return bindingSerial; + } + + public void setBindingSerial(String bindingSerial) { + this.bindingSerial = bindingSerial; + } + + public String getBindingSerialImage() { + return bindingSerialImage; + } + + public void setBindingSerialImage(String bindingSerialImage) { + this.bindingSerialImage = bindingSerialImage; + } + + public Long getInstrumentGuarantee() { + return instrumentGuarantee; + } + + public void setInstrumentGuarantee(Long instrumentGuarantee) { + this.instrumentGuarantee = instrumentGuarantee; + } + + public LocalTime getInstrumentNursingTime() { + return instrumentNursingTime; + } + + public void setInstrumentNursingTime(LocalTime instrumentNursingTime) { + this.instrumentNursingTime = instrumentNursingTime; + } + + public String getInstrumentIotVersion() { + return instrumentIotVersion; + } + + public void setInstrumentIotVersion(String instrumentIotVersion) { + this.instrumentIotVersion = instrumentIotVersion; + } + + public String getInstrumentIotUpgradeData() { + return instrumentIotUpgradeData; + } + + public void setInstrumentIotUpgradeData(String instrumentIotUpgradeData) { + this.instrumentIotUpgradeData = instrumentIotUpgradeData; + } + + public Integer getInstrumentIsScanCode() { + return instrumentIsScanCode; + } + + public void setInstrumentIsScanCode(Integer instrumentIsScanCode) { + this.instrumentIsScanCode = instrumentIsScanCode; + } + + public Integer getInstrumentIsPurchase() { + return instrumentIsPurchase; + } + + public void setInstrumentIsPurchase(Integer instrumentIsPurchase) { + this.instrumentIsPurchase = instrumentIsPurchase; + } + + public Date getBindingDateTime() { + return bindingDateTime; + } + + public void setBindingDateTime(Date bindingDateTime) { + this.bindingDateTime = bindingDateTime; + } +} 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 c157759..1e6ef3f 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 @@ -148,4 +148,12 @@ public class WxInstrumentController extends BaseController { return R.ok(wxInstrumentService.upgrade(instrumentId)); } + /** + * 根据仪器ID获取绑定记录 + */ + @GetMapping(value = "/bindingInstrumentInfo") + public R bindingInstrumentInfo(@NotBlank(message = "仪器ID不能为空") @RequestParam("instrumentId") Long instrumentId) { + return R.ok(wxInstrumentService.bindingInstrumentInfo(instrumentId)); + } + } diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/IWxInstrumentService.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/IWxInstrumentService.java index a31806c..01b847b 100644 --- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/IWxInstrumentService.java +++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/IWxInstrumentService.java @@ -1,6 +1,7 @@ package com.flossom.miniProgram.service; import com.flossom.common.core.domain.entity.*; +import com.flossom.common.core.domain.ret.WxBindingInstrumentInfo; import com.flossom.common.core.domain.ret.WxModeRet; import java.util.List; @@ -29,4 +30,6 @@ public interface IWxInstrumentService { WxInstrumentSerial determineSerialIsSameInstrument(String serial, Long instrumentId); String upgrade(Long instrumentId); + + WxBindingInstrumentInfo bindingInstrumentInfo(Long instrumentId); } 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 ef1bd4e..d8504d1 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 @@ -1,7 +1,9 @@ package com.flossom.miniProgram.service.impl; import com.alibaba.nacos.common.utils.CollectionUtils; +import com.fasterxml.jackson.annotation.JsonFormat; import com.flossom.common.core.domain.entity.*; +import com.flossom.common.core.domain.ret.WxBindingInstrumentInfo; import com.flossom.common.core.domain.ret.WxModeRet; import com.flossom.common.core.enums.*; import com.flossom.common.core.exception.ServiceException; @@ -24,6 +26,7 @@ import java.io.*; import java.net.URL; import java.time.Instant; import java.time.LocalDateTime; +import java.time.LocalTime; import java.time.ZoneId; import java.util.ArrayList; import java.util.Date; @@ -233,6 +236,8 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService { wxUserInstrumentLog.setStatus(Status.OK.getCode().longValue()); wxUserInstrumentLog.setCreateBy(wxUserMember.getNickname()); wxUserInstrumentLog.setCreateTime(DateUtils.getNowDate()); + wxUserInstrumentLog.setUpdateBy(wxUserMember.getNickname()); + wxUserInstrumentLog.setUpdateTime(DateUtils.getNowDate()); wxUserInstrumentLogMapper.insertWxUserInstrumentLog(wxUserInstrumentLog); // 会员信息中的仪器数量加1 @@ -437,4 +442,38 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService { } return null; } + + @Override + public WxBindingInstrumentInfo bindingInstrumentInfo(Long instrumentId) { + WxUserMember wxUserMember = SecurityUtils.getLoginUser().getWxUserMember(); + WxUserInstrument query = new WxUserInstrument(); + query.setUserId(wxUserMember.getId()); + query.setInstrumentId(instrumentId); + query.setBindingStatus(BindingStatusEnums.BINDED.getCode()); + List wxUserInstrumentList = wxUserInstrumentMapper.selectListByUserIdAndInstrumentId(query); + if (wxUserInstrumentList == null || wxUserInstrumentList.size() != 0) { + throw new ServiceException("没有绑定该仪器"); + } + WxUserInstrument wxUserInstrument = wxUserInstrumentList.get(0); + WxInstrument wxInstrument = wxInstrumentMapper.selectWxInstrumentById(instrumentId); + // 封装返回信息 + WxBindingInstrumentInfo wxBindingInstrumentInfo = new WxBindingInstrumentInfo(); + wxBindingInstrumentInfo.setInstrumentId(wxInstrument.getId()); + wxBindingInstrumentInfo.setInstrumentName(wxInstrument.getName()); + wxBindingInstrumentInfo.setInstrumentType(wxInstrument.getType()); + wxBindingInstrumentInfo.setInstrumentModel(wxInstrument.getModel()); + wxBindingInstrumentInfo.setInstrumentBanner(wxInstrument.getBanner()); + wxBindingInstrumentInfo.setInstrumentLogo(wxInstrument.getLogo()); + wxBindingInstrumentInfo.setInstrumentSerialImageLocation(wxInstrument.getSerial()); + wxBindingInstrumentInfo.setBindingSerial(wxUserInstrument.getSerial()); + wxBindingInstrumentInfo.setBindingSerialImage(wxUserInstrument.getSerialImage()); + wxBindingInstrumentInfo.setInstrumentGuarantee(wxUserInstrument.getGuarantee()); + wxBindingInstrumentInfo.setInstrumentNursingTime(wxInstrument.getNursingTime()); + wxBindingInstrumentInfo.setInstrumentIotVersion(wxInstrument.getIotVersion()); + wxBindingInstrumentInfo.setInstrumentIotUpgradeData(wxInstrument.getIotUpgradeData()); + wxBindingInstrumentInfo.setInstrumentIsScanCode(wxInstrument.getIsScanCode()); + wxBindingInstrumentInfo.setInstrumentIsPurchase(wxInstrument.getIsPurchase()); + wxBindingInstrumentInfo.setBindingDateTime(wxUserInstrument.getUpdateTime()); + return wxBindingInstrumentInfo; + } }