| | |
| | | import com.yami.trading.admin.model.TransferModel; |
| | | import com.yami.trading.admin.model.UpdateWalltModel; |
| | | import com.yami.trading.bean.contract.domain.ContractOrder; |
| | | import com.yami.trading.bean.data.domain.Realtime; |
| | | import com.yami.trading.bean.item.domain.Item; |
| | | import com.yami.trading.bean.model.CapitaltWallet; |
| | | import com.yami.trading.bean.model.Wallet; |
| | | import com.yami.trading.bean.model.WalletExtend; |
| | | import com.yami.trading.common.annotation.SysLog; |
| | | import com.yami.trading.common.domain.Result; |
| | | import com.yami.trading.common.exception.BusinessException; |
| | |
| | | import com.yami.trading.service.CapitaltWalletService; |
| | | import com.yami.trading.service.WalletService; |
| | | import com.yami.trading.service.contract.ContractOrderService; |
| | | import com.yami.trading.service.data.DataService; |
| | | import com.yami.trading.service.user.UserService; |
| | | import com.yami.trading.service.user.WalletExtendService; |
| | | import com.yami.trading.sys.service.SysUserService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.checkerframework.checker.units.qual.A; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Qualifier; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | |
| | | |
| | | import javax.validation.Valid; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.text.DecimalFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.concurrent.atomic.AtomicReference; |
| | | |
| | | /** |
| | | * @program: trading-order-master |
| | |
| | | |
| | | @Autowired |
| | | private ContractOrderService contractOrderService; |
| | | @Autowired |
| | | WalletExtendService walletExtendService; |
| | | |
| | | @Qualifier("dataService") |
| | | private DataService dataService; |
| | | |
| | | |
| | | @ApiOperation(value = "划转") |
| | |
| | | // 获取资金账户(capital) |
| | | CapitaltWallet capitaltWallet = capitaltWalletService.getOne(new LambdaQueryWrapper<>(CapitaltWallet.class) |
| | | .eq(CapitaltWallet::getUserId, partyId).last(" limit 1 ")); |
| | | |
| | | List<WalletExtend> walletExtends = walletExtendService.findByUserId(partyId); |
| | | AtomicReference<BigDecimal> walletExtendMoneyRef = new AtomicReference<>(BigDecimal.ZERO); |
| | | walletExtends.forEach(f -> { |
| | | double closePrice = walletService.getRealtimePrice(f.getWallettype()); |
| | | BigDecimal amount = new BigDecimal(String.valueOf(f.getAmount())); |
| | | BigDecimal price = new BigDecimal(String.valueOf(closePrice)); |
| | | BigDecimal money = amount.multiply(price); |
| | | walletExtendMoneyRef.updateAndGet(current -> current.add(money)); |
| | | }); |
| | | BigDecimal walletExtendMoney = walletExtendMoneyRef.get(); |
| | | Map<String, BigDecimal> assets = new HashMap<>(); |
| | | assets.put("contract",wallet.getMoney()); |
| | | assets.put("capital",capitaltWallet.getMoney()); |
| | | |
| | | assets.put("contract",wallet.getMoney().setScale(2,RoundingMode.DOWN)); |
| | | assets.put("capital",capitaltWallet.getMoney().add(walletExtendMoney).setScale(2,RoundingMode.DOWN)); |
| | | assets.put("capitalUSDT",capitaltWallet.getMoney());//划转专用 |
| | | return Result.succeed(assets); |
| | | } |
| | | |
| | | |
| | | |
| | | } |