|
|
@@ -20,8 +20,8 @@ import com.cyksj.config.wxlogin.WxOpenPlatYHLXLoginConfig;
|
|
|
import com.cyksj.dto.UserSharedDto;
|
|
|
import com.cyksj.mapper.*;
|
|
|
import com.cyksj.mapper.channel.ChannelPopularizeMapper;
|
|
|
-import com.cyksj.mapper.claudecode.PopularizeTrialTicketRecordMapper;
|
|
|
import com.cyksj.mapper.claudecode.ClaudeCodeUserTrialReceiveRecordMapper;
|
|
|
+import com.cyksj.mapper.claudecode.PopularizeTrialTicketRecordMapper;
|
|
|
import com.cyksj.mapper.corp.*;
|
|
|
import com.cyksj.mapper.manage.coupon.CouponDistributePopularizeMapper;
|
|
|
import com.cyksj.mapper.manage.coupon.CouponRecommendMapper;
|
|
|
@@ -45,6 +45,7 @@ import com.cyksj.service.distribute.equipment.EquipmentDistributeService;
|
|
|
import com.cyksj.service.exchange.ExchangeCodeService;
|
|
|
import com.cyksj.service.mange.coupon.CouponCommonService;
|
|
|
import com.cyksj.service.market.task.BindTaskService;
|
|
|
+import com.cyksj.service.relation.GroupRelationClearService;
|
|
|
import com.cyksj.service.relation.GroupRelationFrontService;
|
|
|
import com.cyksj.service.shop.YhShopDistributeService;
|
|
|
import com.cyksj.service.sys.SysConfigService;
|
|
|
@@ -162,6 +163,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
|
|
|
private final NanoUserQuotaMapper nanoUserQuotaMapper;
|
|
|
|
|
|
+ private final GroupRelationClearService groupRelationClearService;
|
|
|
+
|
|
|
+ private final UserBlackRecordMapper blackRecordMapper;
|
|
|
+
|
|
|
private static final GlobalThreadPoolTaskExecutor TASK_POOL = GlobalThreadPoolTaskExecutor.getInstance();
|
|
|
|
|
|
@Override
|
|
|
@@ -331,6 +336,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
if (popularizeGoodsId != null) {
|
|
|
setPopularizeUserInfo(popularizeGoodsId, userIdList, userId, userWhoami);
|
|
|
}
|
|
|
+ userWhoami.setIsBlack(user.getIsBlack());
|
|
|
return userWhoami;
|
|
|
}
|
|
|
|
|
|
@@ -932,6 +938,51 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
return syncInfoView;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Throwable.class)
|
|
|
+ public void revokedAccount(Long userId) {
|
|
|
+ User user = userMapper.selectById(userId);
|
|
|
+
|
|
|
+ if (user.getIsBlack()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //关联用户
|
|
|
+ List<Long> userIds = userBindRelationService.getRelationUserIdList(userId, user);
|
|
|
+ //清除车票数据
|
|
|
+ List<RenewalView> groupsRelations = beanSearcher.searchAll(RenewalView.class, MapUtils.builder()
|
|
|
+ .field(RenewalView::getUserId, 0).op(Operator.GreaterThan)
|
|
|
+ .field(RenewalView::getUserId, userIds).op(Operator.InList)
|
|
|
+ .field(RenewalView::getStatus, List.of("validity", "overdue", "outside")).op(Operator.InList)
|
|
|
+ .orderBy(RenewalView::getExpiryTime).asc()
|
|
|
+ .build());
|
|
|
+ groupsRelations.forEach(ticket -> {
|
|
|
+ GroupsRelation relation = groupsRelationMapper.selectById(ticket.getRelationId());
|
|
|
+ groupRelationClearService.clearTicket(relation, UserTicketClearedRecord.Source.black);
|
|
|
+ });
|
|
|
+ //清会员
|
|
|
+ Optional.ofNullable(vipUserMapper.selectOne(Wrappers.lambdaQuery(VipUser.class)
|
|
|
+ .in(VipUser::getUserId, userIds)
|
|
|
+ .gt(VipUser::getExpiryTime, DateTime.now())
|
|
|
+ .last("limit 1"))).ifPresent(vipUser -> {
|
|
|
+ //设置当天拉黑的时间
|
|
|
+ vipUser.setExpiryTime(DateUtil.beginOfDay(DateTime.now()));
|
|
|
+ vipUserMapper.updateById(vipUser);
|
|
|
+ });
|
|
|
+
|
|
|
+ List<User> users = userMapper.selectBatchIds(userIds);
|
|
|
+ for (User relateUser : users) {
|
|
|
+ relateUser.setIsBlack(Boolean.TRUE);
|
|
|
+ userMapper.updateById(relateUser);
|
|
|
+
|
|
|
+ //用户拉黑记录
|
|
|
+ UserBlackRecord userBlackRecord = new UserBlackRecord();
|
|
|
+ userBlackRecord.setOperateUserId(userId);
|
|
|
+ userBlackRecord.setUserId(relateUser.getId());
|
|
|
+ userBlackRecord.setStatus(user.getIsBlack());
|
|
|
+ blackRecordMapper.insert(userBlackRecord);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 处理大学生快递站用户
|
|
|
*/
|