package com.yami.trading.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.yami.trading.bean.model.User;
|
import com.yami.trading.bean.model.UserSimRelation;
|
import com.yami.trading.dao.user.UserSimRelationMapper;
|
import com.yami.trading.service.user.UserService;
|
import com.yami.trading.service.user.UserSimRelationService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.context.annotation.Lazy;
|
import org.springframework.stereotype.Service;
|
|
/**
|
* 主账户与模拟账户关联 Service 实现
|
*/
|
@Service
|
public class UserSimRelationServiceImpl extends ServiceImpl<UserSimRelationMapper, UserSimRelation> implements UserSimRelationService {
|
|
@Autowired
|
@Lazy
|
private UserService userService;
|
|
@Override
|
public UserSimRelation findByMainUserId(String mainUserId) {
|
return getOne(new LambdaQueryWrapper<UserSimRelation>()
|
.eq(UserSimRelation::getMainUserId, mainUserId)
|
.last("LIMIT 1"));
|
}
|
|
@Override
|
public UserSimRelation findBySimUserId(String simUserId) {
|
return getOne(new LambdaQueryWrapper<UserSimRelation>()
|
.eq(UserSimRelation::getSimUserId, simUserId)
|
.last("LIMIT 1"));
|
}
|
|
@Override
|
public String getMainUserId(String currentUserId) {
|
User user = userService.getById(currentUserId);
|
if (user == null) {
|
return null;
|
}
|
if (user.getAccountType() != null && user.getAccountType() == 1) {
|
UserSimRelation relation = findBySimUserId(currentUserId);
|
return relation != null ? relation.getMainUserId() : currentUserId;
|
}
|
return currentUserId;
|
}
|
|
@Override
|
public String getSimUserId(String mainUserId) {
|
UserSimRelation relation = findByMainUserId(mainUserId);
|
return relation != null ? relation.getSimUserId() : null;
|
}
|
}
|