|
@@ -0,0 +1,92 @@
|
|
|
+package com.zanxiang.manage.service.Impl;
|
|
|
+
|
|
|
+import com.alibaba.nacos.common.utils.CollectionUtils;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.zanxiang.common.utils.bean.BeanUtils;
|
|
|
+import com.zanxiang.manage.domain.dto.UserDTO;
|
|
|
+import com.zanxiang.manage.domain.params.UserNameAuthListParam;
|
|
|
+import com.zanxiang.manage.domain.vo.UserNameAuthVO;
|
|
|
+import com.zanxiang.manage.service.UserExtService;
|
|
|
+import com.zanxiang.manage.service.UserService;
|
|
|
+import com.zanxiang.mybatis.entity.UserExt;
|
|
|
+import com.zanxiang.mybatis.mapper.UserExtMapper;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.logging.log4j.util.Strings;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.LocalTime;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.function.Function;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+
|
|
|
+ * @author : lingfeng
|
|
|
+ * @time : 2022-06-29
|
|
|
+ * @description : 玩家拓展信息
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@Service
|
|
|
+public class UserExtServiceImpl extends ServiceImpl<UserExtMapper, UserExt> implements UserExtService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private UserService userService;
|
|
|
+
|
|
|
+
|
|
|
+ * 获取玩家实名认证列表
|
|
|
+ *
|
|
|
+ * @param param : 查询参数
|
|
|
+ * @return : 返回单页数据
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public IPage<UserNameAuthVO> authList(UserNameAuthListParam param) {
|
|
|
+ String userName = param.getUserName();
|
|
|
+ String nickname = param.getNickname();
|
|
|
+
|
|
|
+ List<UserDTO> userDTOList = userService.getLikeUserNameOrNickName(userName, nickname);
|
|
|
+
|
|
|
+ Map<Long, UserDTO> map = userDTOList.stream().collect(Collectors.toMap(UserDTO::getId, Function.identity()));
|
|
|
+
|
|
|
+ List<Long> userIdList = userDTOList.stream().map(UserDTO::getId).collect(Collectors.toList());
|
|
|
+ return page(param.toPage(), new QueryWrapper<UserExt>().lambda()
|
|
|
+ .eq(UserExt::getIsAuth, Boolean.TRUE)
|
|
|
+ .eq(param.getUserId() != null, UserExt::getUserId, param.getUserId())
|
|
|
+ .in(CollectionUtils.isNotEmpty(userIdList), UserExt::getUserId, userIdList)
|
|
|
+ .ge(param.getBeginDate() != null, UserExt::getCreateTime, param.getBeginDate() == null ? null : LocalDateTime.of(param.getBeginDate(), LocalTime.MIN))
|
|
|
+ .le(param.getEndDate() != null, UserExt::getCreateTime, param.getEndDate() == null ? null : LocalDateTime.of(param.getEndDate(), LocalTime.MAX))
|
|
|
+ .eq(param.getPlatformId() != null, UserExt::getAuthPlatform, param.getPlatformId())
|
|
|
+ .eq(Strings.isNotBlank(param.getRealName()), UserExt::getRealName, param.getRealName())
|
|
|
+ .eq(Strings.isNotBlank(param.getIdCard()), UserExt::getIdCard, param.getIdCard())
|
|
|
+ .eq(Strings.isNotBlank(param.getZxbPi()), UserExt::getZxbPi, param.getZxbPi())
|
|
|
+ .orderByDesc(UserExt::getCreateTime))
|
|
|
+ .convert(u -> this.toVo(u, map));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 玩家实名认证信息转化
|
|
|
+ *
|
|
|
+ * @param userExt : 玩家实名信息
|
|
|
+ * @return : 返回玩家实名信息
|
|
|
+ */
|
|
|
+ private UserNameAuthVO toVo(UserExt userExt, Map<Long, UserDTO> map) {
|
|
|
+ UserNameAuthVO userNameAuthVO = BeanUtils.copy(userExt, UserNameAuthVO.class);
|
|
|
+ if (Objects.isNull(userNameAuthVO)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ UserDTO userDTO = map.get(userNameAuthVO.getUserId());
|
|
|
+ if (userDTO == null) {
|
|
|
+ userDTO = userService.getById(userNameAuthVO.getUserId());
|
|
|
+ }
|
|
|
+ if (userDTO != null) {
|
|
|
+ userNameAuthVO.setUsername(userDTO.getUsername());
|
|
|
+ userNameAuthVO.setNickname(userDTO.getNickname());
|
|
|
+ }
|
|
|
+ return userNameAuthVO;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|