|
@@ -278,6 +278,72 @@ public class CardInfoServiceImpl extends SuperService implements CardInfoService
|
|
|
return ResultContent.buildSuccess();
|
|
return ResultContent.buildSuccess();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Transactional
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public ResultContent bindByCode(String code) {
|
|
|
|
|
+ // 卡池数据
|
|
|
|
|
+ CardInfoPool cardInfoPool = cardInfoPoolDao.findTopByCode(code);
|
|
|
|
|
+ if (ObjectUtils.isEmpty(cardInfoPool)) {
|
|
|
|
|
+ return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, code));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (cardInfoPool.getIsUsed() != null && cardInfoPool.getIsUsed()) {
|
|
|
|
|
+ return ResultContent.buildFail(String.format("卡片已使用:%s", cardInfoPool.getCode()));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (cardInfoPool.getCardCancelState() != null && cardInfoPool.getCardCancelState() != CardCancelState.Common) {
|
|
|
|
|
+ return ResultContent.buildFail(String.format("卡片:%s", cardInfoPool.getCardCancelState().getRemark()));
|
|
|
|
|
+ }
|
|
|
|
|
+ String userId = getCurrentUserId();
|
|
|
|
|
+ String projectOid = getCurrentProjectOid();
|
|
|
|
|
+
|
|
|
|
|
+ List<OrganizationUser> organizationUsers = organizationUserService.getUserOrgList(userId, projectOid);
|
|
|
|
|
+ if (ObjectUtils.isEmpty(organizationUsers)) {
|
|
|
|
|
+ return ResultContent.buildFail("用户未加入机构");
|
|
|
|
|
+ }
|
|
|
|
|
+ OrganizationUser organizationUser = organizationUsers.get(0);
|
|
|
|
|
+
|
|
|
|
|
+ // 用户信息
|
|
|
|
|
+ UserAccount account = userCountDao.findTopByUserId(userId);
|
|
|
|
|
+ if (ObjectUtils.isEmpty(account)) {
|
|
|
|
|
+ return ResultContent.buildFail("机构用户信息为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ CardInfo cardInfo = cardInfoDao.findByCode(code);
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(cardInfo)) {
|
|
|
|
|
+ return ResultContent.buildFail(String.format("卡号已存在:%s", code));
|
|
|
|
|
+ }
|
|
|
|
|
+ cardInfo = new CardInfo();
|
|
|
|
|
+ initEntity(cardInfo);
|
|
|
|
|
+
|
|
|
|
|
+ cardInfo.setName(cardInfoPool.getName());
|
|
|
|
|
+ cardInfo.setCode(cardInfoPool.getCode());
|
|
|
|
|
+ cardInfo.setCardType(cardInfoPool.getCardType());
|
|
|
|
|
+
|
|
|
|
|
+ cardInfo.setProjectOid(cardInfoPool.getProjectOid());
|
|
|
|
|
+ cardInfo.setSchoolOid(cardInfoPool.getSchoolOid());
|
|
|
|
|
+ cardInfo.setAboutAuthType(cardInfoPool.getAboutAuthType());
|
|
|
|
|
+ cardInfo.setAboutOid(cardInfoPool.getAboutOid());
|
|
|
|
|
+ cardInfo.setOid(cardInfoPool.getOid());
|
|
|
|
|
+ cardInfo.setOrganization(organizationUser.getOrganization());
|
|
|
|
|
+ cardInfo.setOrganizationUser(organizationUser);
|
|
|
|
|
+
|
|
|
|
|
+ cardInfo.setCardState(CardState.Enable);
|
|
|
|
|
+ cardInfo.setUserAccount(account);
|
|
|
|
|
+ cardInfo.setUserId(userId);
|
|
|
|
|
+ cardInfo.setUserName(account.getName());
|
|
|
|
|
+ cardInfo.setPhone(account.getPhone());
|
|
|
|
|
+ cardInfo.setRemark("用户搜索绑定");
|
|
|
|
|
+ cardInfoDao.save(cardInfo);
|
|
|
|
|
+
|
|
|
|
|
+ // 标记卡池这张卡已使用
|
|
|
|
|
+ cardInfoPool.setIsUsed(Boolean.TRUE);
|
|
|
|
|
+ cardInfoPool.setUseUserId(userId);
|
|
|
|
|
+ cardInfoPool.setUseTime(System.currentTimeMillis());
|
|
|
|
|
+ cardInfoPoolDao.save(cardInfoPool);
|
|
|
|
|
+
|
|
|
|
|
+ // 用户卡片增多
|
|
|
|
|
+ devicePermissEventService.sendUserInfoChangeEvent(cardInfo.getUserId(), cardInfo.getProjectOid());
|
|
|
|
|
+ return ResultContent.buildSuccess();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 解绑卡片
|
|
* 解绑卡片
|
|
|
*
|
|
*
|