|
@@ -163,6 +163,10 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
|
|
|
|
|
private final NetflixTempAccountUserMapper netflixTempAccountUserMapper;
|
|
private final NetflixTempAccountUserMapper netflixTempAccountUserMapper;
|
|
|
|
|
|
|
|
|
|
+ private final NetflixUserAccountStatusRecordMapper netflixUserAccountStatusRecordMapper;
|
|
|
|
|
+
|
|
|
|
|
+ private final AccountNetflixStateMapper accountNetflixStateMapper;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public SearchResult<RenewalView> getMyTicket(long userId, Boolean isLoginPopularize, String customId, String account, String orderNo) {
|
|
public SearchResult<RenewalView> getMyTicket(long userId, Boolean isLoginPopularize, String customId, String account, String orderNo) {
|
|
|
User u = userMapper.selectById(userId);
|
|
User u = userMapper.selectById(userId);
|
|
@@ -1039,6 +1043,14 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
if (newRelation == null) {
|
|
if (newRelation == null) {
|
|
|
throw BusinessRuntimeException.getInstance("更换异常,请重新提交");
|
|
throw BusinessRuntimeException.getInstance("更换异常,请重新提交");
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ NetflixUserAccountStatusRecord netflixUserAccountStatusRecord = netflixUserAccountStatusRecordMapper.selectOne(Wrappers.lambdaQuery(NetflixUserAccountStatusRecord.class)
|
|
|
|
|
+ .eq(NetflixUserAccountStatusRecord::getRelationId, relationId)
|
|
|
|
|
+ .last("limit 1"));
|
|
|
|
|
+ if (netflixUserAccountStatusRecord != null) {
|
|
|
|
|
+ netflixUserAccountStatusRecord.setDeleted(false);
|
|
|
|
|
+ netflixUserAccountStatusRecordMapper.updateById(netflixUserAccountStatusRecord);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -1087,6 +1099,86 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
return accountView;
|
|
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 = netflixUserAccountStatusRecordMapper.selectCount(Wrappers.lambdaQuery(NetflixUserAccountStatusRecord.class)
|
|
|
|
|
+ .eq(NetflixUserAccountStatusRecord::getRelationId, relationId)
|
|
|
|
|
+ .eq(NetflixUserAccountStatusRecord::getUserId, userId)
|
|
|
|
|
+ .eq(NetflixUserAccountStatusRecord::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();
|
|
|
|
|
+ }
|
|
|
|
|
+ NetflixUserAccountStatusRecord netflixUserAccountStatusRecord = new NetflixUserAccountStatusRecord();
|
|
|
|
|
+ netflixUserAccountStatusRecord.setAccount(account);
|
|
|
|
|
+ netflixUserAccountStatusRecord.setRelationId(relationId);
|
|
|
|
|
+ netflixUserAccountStatusRecord.setPassword(password);
|
|
|
|
|
+ netflixUserAccountStatusRecord.setUserId(renewalView.getUserId());
|
|
|
|
|
+ netflixUserAccountStatusRecord.setState(state);
|
|
|
|
|
+
|
|
|
|
|
+ OrderDon orderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class)
|
|
|
|
|
+ .eq(OrderDon::getRelationId, renewalView.getRelationId())
|
|
|
|
|
+ .eq(OrderDon::getUserId, renewalView.getUserId())
|
|
|
|
|
+ .notIn(OrderDon::getStatus, Constant.noOrderAllStatus)
|
|
|
|
|
+ .orderByDesc(OrderDon::getId)
|
|
|
|
|
+ .last("limit 1"));
|
|
|
|
|
+ if (orderDon != null) {
|
|
|
|
|
+ netflixUserAccountStatusRecord.setOrderId(orderDon.getId());
|
|
|
|
|
+ }
|
|
|
|
|
+ netflixUserAccountStatusRecordMapper.insert(netflixUserAccountStatusRecord);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Integer getNetflixErrorAccountStatus(long userId, Long relationId) {
|
|
|
|
|
+ List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
|
|
+ NetflixUserAccountStatusRecord netflixUseAccountStatusRecord = netflixUserAccountStatusRecordMapper.selectOne(Wrappers.lambdaQuery(NetflixUserAccountStatusRecord.class)
|
|
|
|
|
+ .eq(NetflixUserAccountStatusRecord::getRelationId, relationId)
|
|
|
|
|
+ .eq(NetflixUserAccountStatusRecord::getDeleted, 1)
|
|
|
|
|
+ .in(NetflixUserAccountStatusRecord::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<NetflixUserAccountStatusRecord> getUserNetflixSubmitRecord(long userId) {
|
|
|
|
|
+ List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
|
|
+ List<NetflixUserAccountStatusRecord> netflixUseAccountStatusRecords = netflixUserAccountStatusRecordMapper.selectList(Wrappers.lambdaQuery(NetflixUserAccountStatusRecord.class)
|
|
|
|
|
+ .in(NetflixUserAccountStatusRecord::getUserId, userIdList)
|
|
|
|
|
+ .eq(NetflixUserAccountStatusRecord::getDeleted, 1)
|
|
|
|
|
+ .select(NetflixUserAccountStatusRecord::getOrderId, NetflixUserAccountStatusRecord::getRelationId, NetflixUserAccountStatusRecord::getState, NetflixUserAccountStatusRecord::getCreatedTime));
|
|
|
|
|
+ return netflixUseAccountStatusRecords;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private DistributePosterGoodsDetailView setGoodsPoster(RenewalView ticket, User user, List<Long> userIds) {
|
|
private DistributePosterGoodsDetailView setGoodsPoster(RenewalView ticket, User user, List<Long> userIds) {
|
|
|
DistributePosterGoodsDetailView distributePosterGoodsDetailView = beanSearcher.searchFirst(DistributePosterGoodsDetailView.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
DistributePosterGoodsDetailView distributePosterGoodsDetailView = beanSearcher.searchFirst(DistributePosterGoodsDetailView.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
|
.field(DistributePosterGoodsFrontView::getGoodsId, ticket.getGoodsId()).build());
|
|
.field(DistributePosterGoodsFrontView::getGoodsId, ticket.getGoodsId()).build());
|