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<IcoNewCurrency>()
|
.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<IcoNewCurrency> page = new Page<>(pageNo, size);
|
// 构造查询条件
|
LambdaQueryWrapper<IcoNewCurrency> queryWrapper = new LambdaQueryWrapper<>();
|
if (StringUtils.isNotBlank(tokenCode)) {
|
queryWrapper.eq(IcoNewCurrency::getTokenCode, tokenCode);
|
}
|
// 分页查询数据
|
Page<IcoNewCurrency> 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<IcoNewCurrency> 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<IcoNewCurrency> 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<IcoNewCurrency> queryWrapper = new LambdaQueryWrapper<>();
|
queryWrapper.eq(IcoNewCurrency::getListingStatus,1).gt(IcoNewCurrency::getListingTime,new Date()).or(a->a.eq(IcoNewCurrency::getListingStatus,1).isNull(IcoNewCurrency::getListingTime));
|
List<IcoNewCurrency> 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<IcoNewCurrency>()
|
.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<IcoNewCurrency> 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();
|
}
|
|
}
|