|
|
@@ -163,6 +163,10 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
|
|
|
private final NetflixTempAccountUserMapper netflixTempAccountUserMapper;
|
|
|
|
|
|
+ private final NetflixUseAccountStatusRecordMapper netflixUseAccountStatusRecordMapper;
|
|
|
+
|
|
|
+ private final AccountNetflixStateMapper accountNetflixStateMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public SearchResult<RenewalView> getMyTicket(long userId, Boolean isLoginPopularize, String customId, String account, String orderNo) {
|
|
|
User u = userMapper.selectById(userId);
|
|
|
@@ -1039,6 +1043,14 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
if (newRelation == null) {
|
|
|
throw BusinessRuntimeException.getInstance("更换异常,请重新提交");
|
|
|
}
|
|
|
+
|
|
|
+ NetflixUseAccountStatusRecord netflixUseAccountStatusRecord = netflixUseAccountStatusRecordMapper.selectOne(Wrappers.lambdaQuery(NetflixUseAccountStatusRecord.class)
|
|
|
+ .eq(NetflixUseAccountStatusRecord::getRelationId, relationId)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (netflixUseAccountStatusRecord != null) {
|
|
|
+ netflixUseAccountStatusRecord.setDeleted(false);
|
|
|
+ netflixUseAccountStatusRecordMapper.updateById(netflixUseAccountStatusRecord);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -1087,6 +1099,76 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
return accountView;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void nfErrorAccountSubmit(long userId, Long relationId) {
|
|
|
+ List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
+ RenewalView renewalView = beanSearcher.searchFirst(RenewalView.class, MapUtils.builder()
|
|
|
+ .field(RenewalView::getUserId, userIdList).op(Operator.InList)
|
|
|
+ .field(RenewalView::getRelationId, relationId)
|
|
|
+ .field(RenewalView::getExpiryTime, DateTime.now()).op(Operator.GreaterThan).build());
|
|
|
+ if (renewalView == null) {
|
|
|
+ throw BusinessRuntimeException.getInstance("车票不存在");
|
|
|
+ }
|
|
|
+ if (renewalView.getGoodsId() != 1) {
|
|
|
+ throw BusinessRuntimeException.getInstance("只支持奈飞车票");
|
|
|
+ }
|
|
|
+ String account = renewalView.getAccount();
|
|
|
+ String password = renewalView.getPassword();
|
|
|
+
|
|
|
+ Integer selectCount = netflixUseAccountStatusRecordMapper.selectCount(Wrappers.lambdaQuery(NetflixUseAccountStatusRecord.class)
|
|
|
+ .eq(NetflixUseAccountStatusRecord::getRelationId, relationId)
|
|
|
+ .eq(NetflixUseAccountStatusRecord::getUserId, userId)
|
|
|
+ .eq(NetflixUseAccountStatusRecord::getAccount, account));
|
|
|
+ if (selectCount > 0) {
|
|
|
+ throw BusinessRuntimeException.getInstance("该账号正在检测中");
|
|
|
+ }
|
|
|
+ AccountNetflixState accountNetflixState = accountNetflixStateMapper.selectOne(Wrappers.lambdaQuery(AccountNetflixState.class)
|
|
|
+ .eq(AccountNetflixState::getAccount, account)
|
|
|
+ .last("limit 1"));
|
|
|
+ Integer state = 0;
|
|
|
+ if (accountNetflixState != null && (accountNetflixState.getState() == 2 || accountNetflixState.getState() == 3)) {
|
|
|
+ state = accountNetflixState.getState();
|
|
|
+ }
|
|
|
+ NetflixUseAccountStatusRecord netflixUseAccountStatusRecord = new NetflixUseAccountStatusRecord();
|
|
|
+ netflixUseAccountStatusRecord.setAccount(account);
|
|
|
+ netflixUseAccountStatusRecord.setRelationId(relationId);
|
|
|
+ netflixUseAccountStatusRecord.setPassword(password);
|
|
|
+ netflixUseAccountStatusRecord.setUserId(renewalView.getUserId());
|
|
|
+ netflixUseAccountStatusRecord.setState(state);
|
|
|
+ netflixUseAccountStatusRecordMapper.insert(netflixUseAccountStatusRecord);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Integer getNetflixErrorAccountStatus(long userId, Long relationId) {
|
|
|
+ List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
+ NetflixUseAccountStatusRecord netflixUseAccountStatusRecord = netflixUseAccountStatusRecordMapper.selectOne(Wrappers.lambdaQuery(NetflixUseAccountStatusRecord.class)
|
|
|
+ .eq(NetflixUseAccountStatusRecord::getRelationId, relationId)
|
|
|
+ .eq(NetflixUseAccountStatusRecord::getDeleted, 1)
|
|
|
+ .in(NetflixUseAccountStatusRecord::getUserId, userIdList)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (netflixUseAccountStatusRecord == null) {
|
|
|
+ throw BusinessRuntimeException.getInstance("未有提交记录");
|
|
|
+ }
|
|
|
+ Integer state = netflixUseAccountStatusRecord.getState();
|
|
|
+ //2是登录失败 3是被封号
|
|
|
+ if (state == 3 || state == 2) {
|
|
|
+ if (netflixUseAccountStatusRecord.getCreatedTime().compareTo(DateUtil.offsetMinute(DateTime.now(), -10)) > 0) {
|
|
|
+ state = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return state;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<NetflixUseAccountStatusRecord> getUserNetflixSubmitRecord(long userId) {
|
|
|
+ List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
+ List<NetflixUseAccountStatusRecord> netflixUseAccountStatusRecords = netflixUseAccountStatusRecordMapper.selectList(Wrappers.lambdaQuery(NetflixUseAccountStatusRecord.class)
|
|
|
+ .in(NetflixUseAccountStatusRecord::getUserId, userIdList)
|
|
|
+ .eq(NetflixUseAccountStatusRecord::getDeleted, 1)
|
|
|
+ .select(NetflixUseAccountStatusRecord::getRelationId, NetflixUseAccountStatusRecord::getState, NetflixUseAccountStatusRecord::getCreatedTime));
|
|
|
+ return netflixUseAccountStatusRecords;
|
|
|
+ }
|
|
|
+
|
|
|
private DistributePosterGoodsDetailView setGoodsPoster(RenewalView ticket, User user, List<Long> userIds) {
|
|
|
DistributePosterGoodsDetailView distributePosterGoodsDetailView = beanSearcher.searchFirst(DistributePosterGoodsDetailView.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
|
.field(DistributePosterGoodsFrontView::getGoodsId, ticket.getGoodsId()).build());
|