| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.google.common.collect.Lists; |
| | | import com.yami.trading.bean.data.domain.Realtime; |
| | | import com.yami.trading.bean.ico.domain.Ico; |
| | | import com.yami.trading.bean.ico.domain.UserSubscription; |
| | | import com.yami.trading.bean.ico.dto.UserSubscriptionDTO; |
| | | import com.yami.trading.bean.ico.query.IcoQuery; |
| | | import com.yami.trading.bean.item.domain.Item; |
| | | import com.yami.trading.bean.item.query.ItemQuery; |
| | | import com.yami.trading.common.config.RequestDataHelper; |
| | | import com.yami.trading.common.domain.Result; |
| | | import com.yami.trading.common.exception.YamiShopBindException; |
| | | import com.yami.trading.common.query.QueryWrapperGenerator; |
| | | import com.yami.trading.huobi.data.DataCache; |
| | | import com.yami.trading.security.common.util.SecurityUtils; |
| | | import com.yami.trading.service.data.RealtimeService; |
| | | import com.yami.trading.service.ico.IcoService; |
| | | import com.yami.trading.service.ico.UserSubscriptionService; |
| | | import com.yami.trading.service.item.ItemService; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.Valid; |
| | | import java.math.BigDecimal; |
| | | import java.time.Instant; |
| | | import java.util.Date; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | ItemService itemService; |
| | | |
| | | @Autowired |
| | | RealtimeService realtimeService; |
| | | |
| | | /** |
| | | * 产品列表数据 |
| | |
| | | if(iCount > 0){ |
| | | throw new YamiShopBindException("产品表已存在数据"); |
| | | } |
| | | if(count > 0){ |
| | | throw new YamiShopBindException("代币符号或数据源编码已存在"); |
| | | } |
| | | } else { |
| | | Ico model = icoService.getById(ico.getId()); |
| | | if (model == null) { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | count = icoService.count(new LambdaQueryWrapper<Ico>() |
| | | .ne(Ico::getId, ico.getId()) |
| | | .and(wrapper -> wrapper |
| | | .eq(Ico::getSymbol, ico.getSymbol()) |
| | | .or() |
| | | .eq(Ico::getSymbolData, ico.getSymbolData()))); |
| | | } |
| | | if(count > 0){ |
| | | throw new YamiShopBindException("代币符号或数据源编码已存在"); |
| | | if(count > 0){ |
| | | throw new YamiShopBindException("代币符号或数据源编码已存在"); |
| | | } |
| | | |
| | | //更新ico实时价格 |
| | | if (model.getUnitAmount().compareTo(BigDecimal.ZERO) >0 && |
| | | model.getUnitAmount().compareTo(ico.getUnitAmount()) != 0){ |
| | | String symbol = ico.getSymbol(); |
| | | RequestDataHelper.set("symbol", symbol); |
| | | LambdaQueryWrapper<Realtime> queryWrapper = new LambdaQueryWrapper<Realtime>() |
| | | .eq(Realtime::getSymbol, symbol) |
| | | .orderByDesc(Realtime::getTs) |
| | | .last("LIMIT 1"); |
| | | Realtime realtime = realtimeService.getOne(queryWrapper); |
| | | realtime.setClose(ico.getUnitAmount()); |
| | | realtimeService.updateById(realtime); |
| | | RequestDataHelper.clear(); |
| | | DataCache.putRealtime(symbol, realtime); |
| | | } |
| | | } |
| | | //新增或编辑表单保存 |
| | | icoService.saveOrUpdate(ico); |