|
@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.chelvc.cloud.vehicle.client.constant.PlatformConstant;
|
|
|
+import com.chelvc.cloud.vehicle.client.dto.MerchantAssetDTO;
|
|
|
import com.chelvc.cloud.vehicle.server.dao.AssetMapper;
|
|
|
import com.chelvc.cloud.vehicle.server.entity.Asset;
|
|
|
import com.chelvc.cloud.vehicle.server.service.AssetService;
|
|
|
+import com.chelvc.cloud.vehicle.server.service.BalanceDetailService;
|
|
|
import com.chelvc.framework.common.exception.ResourceUnavailableException;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -18,6 +20,9 @@ import java.time.LocalDateTime;
|
|
|
@Service
|
|
|
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
|
|
|
public class AssetServiceImpl extends ServiceImpl<AssetMapper, Asset> implements AssetService {
|
|
|
+
|
|
|
+ private final BalanceDetailService balanceDetailService;
|
|
|
+
|
|
|
@Override
|
|
|
public Asset queryAsset(Long userId, Integer type) {
|
|
|
LambdaQueryWrapper<Asset> wrapper = Wrappers.lambdaQuery();
|
|
@@ -78,4 +83,23 @@ public class AssetServiceImpl extends ServiceImpl<AssetMapper, Asset> implements
|
|
|
}
|
|
|
baseMapper.updatePlatformAsset(platformRealityAmount, payAmount, LocalDateTime.now(), PlatformConstant.PLATFORM_ID);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public MerchantAssetDTO getMerchantAsset(Long merchantId) {
|
|
|
+ if(merchantId == null){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ MerchantAssetDTO merchantAsset = balanceDetailService.getMerchantAsset(merchantId);
|
|
|
+ LambdaQueryWrapper<Asset> wrapper = Wrappers.lambdaQuery();
|
|
|
+ wrapper.eq(Asset::getUserId, merchantId);
|
|
|
+ wrapper.eq(Asset::getType, 2);
|
|
|
+ Asset asset = baseMapper.selectOne(wrapper);
|
|
|
+ if(asset != null){
|
|
|
+ BigDecimal total = asset.getTotal();
|
|
|
+ BigDecimal frozen = asset.getFrozen();
|
|
|
+ merchantAsset.setAsset(total);
|
|
|
+ merchantAsset.setWithdraw(total.subtract(frozen));
|
|
|
+ }
|
|
|
+ return merchantAsset;
|
|
|
+ }
|
|
|
}
|