package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUserApplet;
import com.ruoyi.system.mapper.TAppUserMapper;
import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.query.AppUserListQuery;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.TAppUserService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
/**
*
* 用户管理 服务实现类
*
*
* @author xiaochen
* @since 2025-11-06
*/
@Slf4j
@Service
@RequiredArgsConstructor(onConstructor_ = {@Lazy})
public class TAppUserServiceImpl extends ServiceImpl implements TAppUserService {
private final ISysUserService sysUserService;
@Override
public PageInfo pageList(AppUserListQuery query) {
PageInfo pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
List list = this.baseMapper.pageList(query,pageInfo);
pageInfo.setRecords( list);
return pageInfo;
}
@Override
public void confirmSuperior(Integer superiorType, Integer superiorId, LoginUserApplet loginUserApplet) {
TAppUser appUser = this.lambdaQuery().eq(TAppUser::getId, loginUserApplet.getUserId()).ne(TAppUser::getStatus,3)
.last("LIMIT 1").one();
if (Objects.nonNull(appUser)) {
if (superiorType.equals(1)) {
//查询上级用户所属公司ID
SysUser sysUser = sysUserService.selectUserById(superiorId.longValue());
if (Objects.nonNull(sysUser)) {
appUser.setReferrerSysUserId(superiorId);
} else {
log.info("推广员不存在,绑定superiorId={}", superiorId);
}
} else {
if (appUser.getReferrerStatus().equals(1)) {
appUser.setReferrerUserId(superiorId);
appUser.setReferrerTime(LocalDateTime.now());
}
}
this.updateById(appUser);
}
}
}