diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserInstrumentServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserInstrumentServiceImpl.java index 0152579..f794b2d 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserInstrumentServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserInstrumentServiceImpl.java @@ -11,6 +11,7 @@ import com.flossom.common.core.domain.entity.WxUserInstrument; import com.flossom.common.core.domain.entity.WxUserInstrumentLog; import com.flossom.common.core.domain.entity.WxUserMember; import com.flossom.common.core.domain.req.WxUserInstrumentExportVm; +import com.flossom.common.core.enums.BindingStatusEnums; import com.flossom.common.core.mapper.*; import com.flossom.common.core.utils.DateUtils; import com.flossom.common.core.utils.StringUtils; @@ -141,6 +142,26 @@ public class WxUserInstrumentServiceImpl implements IWxUserInstrumentService public int updateWxUserInstrument(WxUserInstrument wxUserInstrument) { wxUserInstrument.setUpdateTime(DateUtils.getNowDate()); + if (BindingStatusEnums.UN_BOUND.getCode() == wxUserInstrument.getBindingStatus()) { + // 如果操作解绑,用户绑定仪器需要减一 + WxUserInstrument userInstrument = wxUserInstrumentMapper.selectWxUserInstrumentById(wxUserInstrument.getId()); + if(Objects.nonNull(userInstrument)) { + // 获取绑定的用户 + Long userId = userInstrument.getUserId(); + if (Objects.nonNull(userId)) { + WxUserMember userMember = wxUserMemberMapper.selectWxUserMemberById(userId); + if (Objects.nonNull(userMember)) { + Integer devicesNum = userMember.getDevicesNum(); + if (devicesNum > 0) { + devicesNum = devicesNum - 1; + // 更新处理 + userMember.setDevicesNum(devicesNum); + wxUserMemberMapper.updateWxUserMember(userMember); + } + } + } + } + } return wxUserInstrumentMapper.updateWxUserInstrument(wxUserInstrument); }