|
|
@@ -14,11 +14,13 @@ import com.zhongshu.card.client.utils.type.school.CardState;
|
|
|
import com.zhongshu.card.server.core.dao.CardInfoDao;
|
|
|
import com.zhongshu.card.server.core.dao.org.OrganizationDao;
|
|
|
import com.zhongshu.card.server.core.dao.org.UserCountDao;
|
|
|
+import com.zhongshu.card.server.core.dao.school.CardInfoPoolDao;
|
|
|
import com.zhongshu.card.server.core.dao.user.CardInfoLossRecordDao;
|
|
|
import com.zhongshu.card.server.core.domain.org.Organization;
|
|
|
import com.zhongshu.card.server.core.domain.org.UserAccount;
|
|
|
import com.zhongshu.card.server.core.domain.school.CardInfo;
|
|
|
import com.zhongshu.card.server.core.domain.school.CardInfoLossRecord;
|
|
|
+import com.zhongshu.card.server.core.domain.school.CardInfoPool;
|
|
|
import com.zhongshu.card.server.core.service.base.SuperService;
|
|
|
import com.zhongshu.card.server.core.util.BeanUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -58,6 +60,9 @@ public class CardInfoServiceImpl extends SuperService implements CardInfoService
|
|
|
@Autowired
|
|
|
CardInfoLossRecordDao cardInfoLossRecordDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ CardInfoPoolDao cardInfoPoolDao;
|
|
|
+
|
|
|
/**
|
|
|
* 添加或修改卡片信息
|
|
|
*
|
|
|
@@ -88,7 +93,7 @@ public class CardInfoServiceImpl extends SuperService implements CardInfoService
|
|
|
}
|
|
|
}
|
|
|
BeanUtils.copyProperties(param, cardInfo, "cardState");
|
|
|
- if(cardInfo.getCardState() == null) {
|
|
|
+ if (cardInfo.getCardState() == null) {
|
|
|
cardInfo.setCardState(CardState.Enable);
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(oid)) {
|
|
|
@@ -99,8 +104,53 @@ public class CardInfoServiceImpl extends SuperService implements CardInfoService
|
|
|
cardInfo.setUserAccount(account);
|
|
|
cardInfo.setUserId(account.getUserId());
|
|
|
cardInfo.setUserName(account.getName());
|
|
|
+ cardInfo.setPhone(account.getPhone());
|
|
|
+ cardInfoDao.save(cardInfo);
|
|
|
+
|
|
|
+ return ResultContent.buildSuccess();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 从卡池选择卡片绑定到个人
|
|
|
+ *
|
|
|
+ * @param poolId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public ResultContent bindCardFromPool(String poolId) {
|
|
|
+ CardInfoPool cardInfoPool = cardInfoPoolDao.findTopById(poolId);
|
|
|
+ if (ObjectUtils.isEmpty(cardInfoPool)) {
|
|
|
+ return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, poolId));
|
|
|
+ }
|
|
|
+ String code = cardInfoPool.getCode();
|
|
|
+ String projectOid = cardInfoPool.getProjectOid();
|
|
|
+ CardInfo cardInfo = cardInfoDao.findByCode(code);
|
|
|
+ if (ObjectUtils.isNotEmpty(cardInfo)) {
|
|
|
+ return ResultContent.buildFail(String.format("卡号已存在:%s", code));
|
|
|
+ }
|
|
|
+ cardInfo = new CardInfo();
|
|
|
+ initEntity(cardInfo);
|
|
|
+ String userId = getCurrentUserId();
|
|
|
+ UserAccount account = userCountDao.findTopByUserId(userId);
|
|
|
+ cardInfo.setName(cardInfoPool.getName());
|
|
|
+ cardInfo.setCode(cardInfoPool.getCode());
|
|
|
+ cardInfo.setCardType(cardInfoPool.getCardType());
|
|
|
+ cardInfo.setProjectOid(cardInfoPool.getProjectOid());
|
|
|
+ cardInfo.setSchoolOid(cardInfoPool.getSchoolOid());
|
|
|
+ cardInfo.setCardState(CardState.Enable);
|
|
|
+ cardInfo.setUserAccount(account);
|
|
|
+ cardInfo.setUserId(userId);
|
|
|
+ cardInfo.setUserName(account.getName());
|
|
|
+ cardInfo.setPhone(account.getPhone());
|
|
|
cardInfoDao.save(cardInfo);
|
|
|
|
|
|
+ // 标记卡池这张卡一使用
|
|
|
+ cardInfoPool.setIsUsed(Boolean.TRUE);
|
|
|
+ cardInfoPool.setUseUserId(userId);
|
|
|
+ cardInfoPool.setUseTime(System.currentTimeMillis());
|
|
|
+ cardInfoPoolDao.save(cardInfoPool);
|
|
|
+
|
|
|
return ResultContent.buildSuccess();
|
|
|
}
|
|
|
|
|
|
@@ -144,6 +194,15 @@ public class CardInfoServiceImpl extends SuperService implements CardInfoService
|
|
|
return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, id));
|
|
|
}
|
|
|
cardInfoDao.delete(cardInfo);
|
|
|
+
|
|
|
+ // 查看卡池是否有这张卡
|
|
|
+ CardInfoPool cardInfoPool = cardInfoPoolDao.findTopByCode(cardInfo.getCode());
|
|
|
+ if (ObjectUtils.isNotEmpty(cardInfoPool)) {
|
|
|
+ // 把状态设置为未使用
|
|
|
+ cardInfoPool.setIsUsed(Boolean.FALSE);
|
|
|
+ cardInfoPoolDao.save(cardInfoPool);
|
|
|
+ }
|
|
|
+
|
|
|
return ResultContent.buildSuccess();
|
|
|
}
|
|
|
|