新版仿ok交易所-后端
zyy
2025-09-03 a1c2c8df8c2741fdb4e1d30b1dd70e57133e1cb7
trading-order-admin/src/main/java/com/yami/trading/admin/controller/ico/AdminIcoController.java
@@ -8,6 +8,7 @@
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.domain.Result;
import com.yami.trading.common.exception.YamiShopBindException;
@@ -36,6 +37,9 @@
   @Autowired
   private UserSubscriptionService   userSubscriptionService;
   @Autowired
   ItemService itemService;
   /**
    * 产品列表数据
    */
@@ -53,12 +57,27 @@
   @ApiOperation(value = "保存新币")
   @PostMapping("save")
   public  Result <String> save(@Valid @RequestBody Ico ico) {
      long count;
      if (ico.getId() == null) { //新增校验
         long count = icoService.count(new LambdaQueryWrapper<Ico>()
               .eq(Ico::getSymbol, ico.getSymbol()));
         if(count > 0){
            throw new YamiShopBindException("代币符号已存在");
         count = icoService.count(new LambdaQueryWrapper<Ico>()
               .eq(Ico::getSymbol, ico.getSymbol()).or().eq(Ico::getSymbolData, ico.getSymbolData()));
      } else {
         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("代币符号或数据源编码已存在");
      }
      //产品表
      long iCount = itemService.count(new LambdaQueryWrapper<Item>()
            .eq(Item::getSymbol, ico.getSymbol()).or().eq(Item::getSymbolData, ico.getSymbolData()));
      if(iCount > 0){
         throw new YamiShopBindException("产品表已存在数据");
      }
      //新增或编辑表单保存
      icoService.saveOrUpdate(ico);
@@ -91,6 +110,7 @@
   @GetMapping("recordList")
   public Result<Page<UserSubscriptionDTO>> recordList(IcoQuery icoQuery, Page<UserSubscriptionDTO> page) throws Exception {
      QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (icoQuery, IcoQuery.class);
      queryWrapper.eq("u.del_flag", "0");
      Page<UserSubscriptionDTO> result = userSubscriptionService.findPage(page, queryWrapper);
      return Result.ok(result);
   }