package org.example.ssmico.demos.web.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.example.ssmico.demos.web.entity.IcoNewCurrency; import org.example.ssmico.demos.web.service.IcoNewCurrencySerivce; import org.example.ssmico.demos.web.util.DateUtils; import org.example.ssmico.demos.web.util.ResultObject; import org.example.ssmico.demos.web.util.ServerResponse; import org.example.ssmico.demos.web.vo.IcoNewCurrencyVo; import org.modelmapper.ModelMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.*; import static cn.hutool.json.XMLTokener.entity; /** * @program: dabao * @description: 新币 * @create: 2024-04-10 14:41 **/ @Controller @RequestMapping({"/wap/api/icoNewCurrency"}) @CrossOrigin public class IcoNewCurrencyController { @Autowired private IcoNewCurrencySerivce icoNewCurrencySerivce; /** * 新币添加 * @param icoNewCurrencyVo * @return */ @ResponseBody @RequestMapping(value = "/add.action", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") public ServerResponse add(@RequestBody IcoNewCurrencyVo icoNewCurrencyVo) { try { IcoNewCurrency icoNewCurrency = new ModelMapper().map(icoNewCurrencyVo, IcoNewCurrency.class); if(StringUtils.isNotBlank(icoNewCurrencyVo.getListingTime())){ icoNewCurrency.setListingTime(DateUtils.toDateHms(icoNewCurrencyVo.getListingTime())); } if(StringUtils.isNotBlank(icoNewCurrencyVo.getApplicationStartTime())){ icoNewCurrency.setApplicationStartTime(DateUtils.toDateHms(icoNewCurrencyVo.getApplicationStartTime())); } if(StringUtils.isNotBlank(icoNewCurrencyVo.getApplicationEndTime())){ icoNewCurrency.setApplicationEndTime(DateUtils.toDateHms(icoNewCurrencyVo.getApplicationEndTime())); } long count = icoNewCurrencySerivce.count(new LambdaQueryWrapper() .eq(IcoNewCurrency::getTokenCode,icoNewCurrency.getTokenCode()).eq(IcoNewCurrency::getType,icoNewCurrency.getType())); if (count > 0) { return ServerResponse.createByErrorMsg("已存在"); } return ServerResponse.createBySuccess(icoNewCurrencySerivce.save(icoNewCurrency)); }catch (Exception e){ e.printStackTrace(); } return ServerResponse.createBySuccess(); } /** * 新币分页查询 * @param tokenCode * @param pageNo * @param request * @return */ @ResponseBody @RequestMapping(value = "/getPageList.action", method = RequestMethod.GET, produces = "application/json;charset=UTF-8") public ServerResponse getPageList(String tokenCode, Integer pageNo, Integer size) { // 判断pageNo和size是否为空,为空则设置默认值 if (null == pageNo || null == size) { pageNo = 1; size = 10; } // 创建分页对象 Page page = new Page<>(pageNo, size); // 构造查询条件 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); if (StringUtils.isNotBlank(tokenCode)) { queryWrapper.eq(IcoNewCurrency::getTokenCode, tokenCode); } // 分页查询数据 Page pageList = icoNewCurrencySerivce.page(page, queryWrapper); // 返回结果 return ServerResponse.createBySuccess(pageList); } /** * app获取新股 * @return */ @ResponseBody @RequestMapping(value = "/getList.action", method = RequestMethod.GET, produces = "application/json;charset=UTF-8") public ResultObject getList(Integer type) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(IcoNewCurrency::getListingStatus,1); queryWrapper.gt(IcoNewCurrency::getListingTime,new Date()); if(null != type && type != 0){ queryWrapper.eq(IcoNewCurrency::getType, type); queryWrapper.or(a->a.eq(IcoNewCurrency::getType,type).isNull(IcoNewCurrency::getListingTime)); }else{ queryWrapper.or(a->a.isNull(IcoNewCurrency::getListingTime)); } queryWrapper.groupBy(IcoNewCurrency::getTokenCode) .orderByAsc(IcoNewCurrency::getListingTime); List list = icoNewCurrencySerivce.list(queryWrapper); ResultObject resultObject = new ResultObject(); resultObject.setData(list); return resultObject; } /** * app获取未上市新股 * @return */ @ResponseBody @RequestMapping(value = "/getUnlisted.action", method = RequestMethod.GET, produces = "application/json;charset=UTF-8") public ResultObject getUnlisted() { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(IcoNewCurrency::getListingStatus,1).gt(IcoNewCurrency::getListingTime,new Date()).or(a->a.eq(IcoNewCurrency::getListingStatus,1).isNull(IcoNewCurrency::getListingTime)); List list = icoNewCurrencySerivce.list(queryWrapper); ResultObject resultObject = new ResultObject(); resultObject.setData(list); return resultObject; } /** * 修改ico * @param icoNewCurrencyVo * @return */ @ResponseBody @RequestMapping(value = "/update.action", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") public ServerResponse update(@RequestBody IcoNewCurrencyVo icoNewCurrencyVo) { try { IcoNewCurrency icoNewCurrency = new ModelMapper().map(icoNewCurrencyVo, IcoNewCurrency.class); if(StringUtils.isNotBlank(icoNewCurrencyVo.getListingTime())){ icoNewCurrency.setListingTime(DateUtils.toDateHms(icoNewCurrencyVo.getListingTime())); } if(StringUtils.isNotBlank(icoNewCurrencyVo.getApplicationStartTime())){ icoNewCurrency.setApplicationStartTime(DateUtils.toDateHms(icoNewCurrencyVo.getApplicationStartTime())); } if(StringUtils.isNotBlank(icoNewCurrencyVo.getApplicationEndTime())){ icoNewCurrency.setApplicationEndTime(DateUtils.toDateHms(icoNewCurrencyVo.getApplicationEndTime())); } long count = icoNewCurrencySerivce.count(new LambdaQueryWrapper() .eq(IcoNewCurrency::getTokenCode,icoNewCurrency.getTokenCode()) .ne(IcoNewCurrency::getId, icoNewCurrency.getId()) .eq(IcoNewCurrency::getType,icoNewCurrency.getType())); if (count > 0) { return ServerResponse.createByErrorMsg("已存在"); } icoNewCurrencySerivce.updateById(icoNewCurrency); }catch (Exception e){ e.printStackTrace(); } return ServerResponse.createBySuccess(); } /** * 获取ICO * @param id * @return */ @ResponseBody @RequestMapping(value = "/getById.action", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") public ServerResponse getById(String id) { return ServerResponse.createBySuccess(icoNewCurrencySerivce.getById(id)); } /** * 删除ico * @param id * @return */ @ResponseBody @RequestMapping(value = "/deleteById.action", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") public ServerResponse deleteById(String id) { icoNewCurrencySerivce.removeById(id); return ServerResponse.createBySuccess(); } }