|
|
@@ -1,12 +1,24 @@
|
|
|
package com.kxs.user.biz.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.kxs.common.core.exception.GlobalCustomerException;
|
|
|
+import com.kxs.common.security.util.SecurityUtils;
|
|
|
+import com.kxs.user.api.model.KxsPartner;
|
|
|
+import com.kxs.user.api.model.KxsUserAmount;
|
|
|
+import com.kxs.user.api.vo.kxsapp.leader.LeaderInfoVO;
|
|
|
import com.kxs.user.biz.mapper.KxsLeaderMapper;
|
|
|
import com.kxs.user.api.model.KxsLeader;
|
|
|
+import com.kxs.user.biz.mapper.KxsPartnerMapper;
|
|
|
+import com.kxs.user.biz.mapper.KxsUserAmountMapper;
|
|
|
import com.kxs.user.biz.service.KxsLeaderService;
|
|
|
+import com.kxs.user.biz.service.KxsPartnerService;
|
|
|
+import com.kxs.user.biz.service.KxsUserAmountService;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.List;
|
|
|
+import java.util.Optional;
|
|
|
|
|
|
/**
|
|
|
* 盟主表(KxsLeader)表服务实现类
|
|
|
@@ -15,7 +27,35 @@ import java.util.List;
|
|
|
* @since 2024-02-22 15:39:26
|
|
|
*/
|
|
|
@Service("kxsLeaderService")
|
|
|
+@RequiredArgsConstructor
|
|
|
public class KxsLeaderServiceImpl extends ServiceImpl<KxsLeaderMapper, KxsLeader> implements KxsLeaderService {
|
|
|
|
|
|
+ private final KxsUserAmountMapper kxsUserAmountMapper;
|
|
|
+
|
|
|
+ private final KxsPartnerMapper kxsPartnerMapper;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public LeaderInfoVO leaderInfo() {
|
|
|
+
|
|
|
+ Long userId = SecurityUtils.getUser().getId();
|
|
|
+
|
|
|
+ KxsLeader leader = getById(userId);
|
|
|
+ Optional.ofNullable(leader).orElseThrow(() -> new GlobalCustomerException("盟主信息不存在"));
|
|
|
+
|
|
|
+ KxsUserAmount userAmount = kxsUserAmountMapper.selectById(userId);
|
|
|
+ Optional.ofNullable(userAmount).orElseThrow(() -> new GlobalCustomerException("用户账户不存在"));
|
|
|
+
|
|
|
+ KxsPartner kxsPartner = kxsPartnerMapper.selectByPartner(userId.intValue(), LocalDateTime.now());
|
|
|
+ if(kxsPartner != null){
|
|
|
+ userAmount.setLeaderBalanceAmount(userAmount.getLeaderBalanceAmount().add(kxsPartner.getWithdrawalAmount()));
|
|
|
+ userAmount.setLeaderReserve(userAmount.getLeaderReserve().add(kxsPartner.getAmount()));
|
|
|
+ }
|
|
|
+
|
|
|
+ return LeaderInfoVO.builder()
|
|
|
+ .status(leader.getStatus())
|
|
|
+ .leaderReserve(userAmount.getLeaderReserve())
|
|
|
+ .leaderBalanceAmount(userAmount.getLeaderBalanceAmount()).build();
|
|
|
+ }
|
|
|
}
|
|
|
|