|
|
|
@ -3,7 +3,6 @@ package com.example.demo.serviceImpl.coin; |
|
|
|
import com.example.demo.Util.JWTUtil; |
|
|
|
import com.example.demo.domain.entity.Admin; |
|
|
|
import com.example.demo.domain.entity.User; |
|
|
|
import com.example.demo.domain.vo.coin.Gold; |
|
|
|
import com.example.demo.domain.vo.coin.GoldUser; |
|
|
|
import com.example.demo.domain.vo.coin.Result; |
|
|
|
import com.example.demo.mapper.coin.MarketMapper; |
|
|
|
@ -44,33 +43,62 @@ public class UserServiceImpl implements UserService { |
|
|
|
|
|
|
|
//查找用户部分信息 |
|
|
|
@Override |
|
|
|
public Result selectUser(String jwcode) { |
|
|
|
//解token权限 |
|
|
|
public Result selectUser(String jwcode) { |
|
|
|
// 检查用户是否存在 |
|
|
|
int userCount = userMapper.checkUserExists(jwcode); |
|
|
|
if (userCount == 0) { |
|
|
|
return Result.error("精网号有误!请检查"); |
|
|
|
} |
|
|
|
|
|
|
|
// 解token权限 |
|
|
|
try { |
|
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); |
|
|
|
String token = request.getHeader("token"); |
|
|
|
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class); |
|
|
|
|
|
|
|
if (admin != null) { |
|
|
|
List<String> list = Arrays.asList(admin.getMarkets().split(",")); |
|
|
|
List<String> markets = marketMapper.getMarketIds(list); |
|
|
|
if (markets.contains("9") || markets.contains("9999")){ |
|
|
|
markets=null; |
|
|
|
} |
|
|
|
BigDecimal redSum = redService.selectRedSum(Integer.parseInt(jwcode)); |
|
|
|
|
|
|
|
GoldUser user = userMapper.selectUserCard(jwcode,markets); |
|
|
|
user.setRed(redSum); |
|
|
|
|
|
|
|
return Result.success(user); |
|
|
|
} |
|
|
|
else{ |
|
|
|
return Result.error("用户为空"); |
|
|
|
// 检查是否有特殊权限 |
|
|
|
boolean hasSpecialPermission = markets.contains("9") || markets.contains("9999"); |
|
|
|
|
|
|
|
if (hasSpecialPermission) { |
|
|
|
// 有特殊权限,可访问所有用户 |
|
|
|
BigDecimal redSum = redService.selectRedSum(Integer.parseInt(jwcode)); |
|
|
|
GoldUser user = userMapper.selectUserCard(jwcode, null); |
|
|
|
user.setRed(redSum); |
|
|
|
return Result.success(user); |
|
|
|
} else { |
|
|
|
// 检查用户所在市场是否在管理员权限范围内 |
|
|
|
String userMarketId = userMapper.getUserMarket(jwcode); |
|
|
|
|
|
|
|
if (userMarketId != null) { |
|
|
|
// 根据市场ID获取市场名称 |
|
|
|
String userMarketName = marketMapper.getMarketNameById(userMarketId); |
|
|
|
|
|
|
|
if (markets.contains(userMarketId)) { |
|
|
|
// 有权限访问,返回用户信息 |
|
|
|
BigDecimal redSum = redService.selectRedSum(Integer.parseInt(jwcode)); |
|
|
|
GoldUser user = userMapper.selectUserCard(jwcode, markets); |
|
|
|
user.setRed(redSum); |
|
|
|
return Result.success(user); |
|
|
|
} else { |
|
|
|
// 无权限,返回用户所属地区名称到 data 中 |
|
|
|
return Result.errorWithData( |
|
|
|
java.util.Map.of("market", userMarketName != null ? userMarketName : userMarketId)); |
|
|
|
} |
|
|
|
} else { |
|
|
|
return Result.error("用户市场信息不存在"); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
return Result.error("用户权限验证失败"); |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
return Result.error("用户查找不到"); |
|
|
|
return Result.error("精网号有误!请检查"); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//查找用户全部信息 |
|
|
|
|