From a8ecdb8fccf3805f3ba841bd493a0e6dccb0274d Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 15 Jun 2021 10:43:52 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/coin/entity/GbzOrderEntity.java | 23 +++++++ src/main/java/com/xcong/excoin/modules/coin/parameter/dto/GbzListDto.java | 21 +++++++ src/main/java/com/xcong/excoin/modules/coin/controller/GbzOrderController.java | 73 ++++++++++++++++++++++++ src/main/resources/mapper/walletCoinOrder/GbzOrderDao.xml | 9 +++ src/main/java/com/xcong/excoin/websocket/TradePlateSendWebSocket.java | 1 src/main/java/com/xcong/excoin/modules/coin/parameter/dto/GbzAddDto.java | 18 ++++++ src/main/java/com/xcong/excoin/modules/coin/dao/GbzOrderDao.java | 11 +++ 7 files changed, 156 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/coin/controller/GbzOrderController.java b/src/main/java/com/xcong/excoin/modules/coin/controller/GbzOrderController.java new file mode 100644 index 0000000..e39fdd3 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/coin/controller/GbzOrderController.java @@ -0,0 +1,73 @@ +package com.xcong.excoin.modules.coin.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xcong.excoin.common.LoginUserUtils; +import com.xcong.excoin.common.enumerates.CoinTypeEnum; +import com.xcong.excoin.common.response.Result; +import com.xcong.excoin.modules.coin.dao.GbzOrderDao; +import com.xcong.excoin.modules.coin.entity.GbzOrderEntity; +import com.xcong.excoin.modules.coin.parameter.dto.GbzAddDto; +import com.xcong.excoin.modules.coin.parameter.dto.GbzListDto; +import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao; +import com.xcong.excoin.modules.member.entity.MemberEntity; +import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; + +@Slf4j +@Validated +@RestController +@RequestMapping(value = "/api/gbz") +@Api(value = "GbzOrderController", tags = "gbz订单接口类") +public class GbzOrderController { + + @Autowired + private GbzOrderDao gbzOrderDao; + + @Autowired + private MemberWalletCoinDao memberWalletCoinDao; + + @ApiOperation(value = "新增订单", notes = "新增订单") + @PostMapping(value = "/add") + public Result add(@RequestBody GbzAddDto gbzAddDto) { + MemberEntity loginUser = LoginUserUtils.getAppLoginUser(); + BigDecimal price = new BigDecimal(66); + BigDecimal amount = BigDecimal.valueOf(gbzAddDto.getCount()).multiply(price); + GbzOrderEntity gbzOrder = new GbzOrderEntity(); + gbzOrder.setPrice(price); + gbzOrder.setAmount(amount); + gbzOrder.setCnt(gbzAddDto.getCount()); + gbzOrder.setMemberId(loginUser.getId()); + gbzOrder.setSymbol(CoinTypeEnum.BZZ.name()); + + gbzOrderDao.insert(gbzOrder); + + MemberWalletCoinEntity wallet = memberWalletCoinDao.selectWalletCoinBymIdAndCode(loginUser.getId(), CoinTypeEnum.USDT.name()); + memberWalletCoinDao.updateBlockBalance(wallet.getId(), amount.negate(), BigDecimal.ZERO, 0); + return Result.ok("购买成功"); + } + + + @ApiOperation(value = "获取订单列表") + @PostMapping(value = "/findList") + public Result findList(@RequestBody GbzListDto gbzListDto) { + Page<GbzOrderEntity> page = new Page<>(gbzListDto.getPageNum(), gbzListDto.getPageSize()); + IPage<GbzOrderEntity> result = gbzOrderDao.selectInPage(page); + + return Result.ok(result.getRecords()); + } + + @ApiOperation(value = "获取最新价") + @GetMapping(value = "/findPrice") + public Result findPrice() { + return Result.ok(BigDecimal.valueOf(66)); + } + +} diff --git a/src/main/java/com/xcong/excoin/modules/coin/dao/GbzOrderDao.java b/src/main/java/com/xcong/excoin/modules/coin/dao/GbzOrderDao.java new file mode 100644 index 0000000..caf955c --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/coin/dao/GbzOrderDao.java @@ -0,0 +1,11 @@ +package com.xcong.excoin.modules.coin.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xcong.excoin.modules.coin.entity.GbzOrderEntity; + +public interface GbzOrderDao extends BaseMapper<GbzOrderEntity> { + + IPage<GbzOrderEntity> selectInPage(Page<GbzOrderEntity> page); +} diff --git a/src/main/java/com/xcong/excoin/modules/coin/entity/GbzOrderEntity.java b/src/main/java/com/xcong/excoin/modules/coin/entity/GbzOrderEntity.java new file mode 100644 index 0000000..e4c479a --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/coin/entity/GbzOrderEntity.java @@ -0,0 +1,23 @@ +package com.xcong.excoin.modules.coin.entity; + + +import com.baomidou.mybatisplus.annotation.TableName; +import com.xcong.excoin.common.system.base.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@TableName("gbz_order") +public class GbzOrderEntity extends BaseEntity { + + private BigDecimal price; + + private BigDecimal amount; + + private Integer cnt; + + private Long memberId; + + private String symbol; +} diff --git a/src/main/java/com/xcong/excoin/modules/coin/parameter/dto/GbzAddDto.java b/src/main/java/com/xcong/excoin/modules/coin/parameter/dto/GbzAddDto.java new file mode 100644 index 0000000..d29bbd5 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/coin/parameter/dto/GbzAddDto.java @@ -0,0 +1,18 @@ +package com.xcong.excoin.modules.coin.parameter.dto; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "GbzAddDto", description = "订单新增接口参数接受类") +public class GbzAddDto { + + @ApiModelProperty(value = "数量") + @NotNull(message = "数量不能为空") + private Integer count; +} diff --git a/src/main/java/com/xcong/excoin/modules/coin/parameter/dto/GbzListDto.java b/src/main/java/com/xcong/excoin/modules/coin/parameter/dto/GbzListDto.java new file mode 100644 index 0000000..edd0128 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/coin/parameter/dto/GbzListDto.java @@ -0,0 +1,21 @@ +package com.xcong.excoin.modules.coin.parameter.dto; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "GbzListDto", description = "订单列表接口参数类") +public class GbzListDto { + + @NotNull(message = "参数错误") + @ApiModelProperty(value = "当前页", example = "1") + private Integer pageNum; + + @NotNull(message = "参数错误") + @ApiModelProperty(value = "条数", example = "10") + private Integer pageSize; +} diff --git a/src/main/java/com/xcong/excoin/websocket/TradePlateSendWebSocket.java b/src/main/java/com/xcong/excoin/websocket/TradePlateSendWebSocket.java index efab375..eb1a474 100644 --- a/src/main/java/com/xcong/excoin/websocket/TradePlateSendWebSocket.java +++ b/src/main/java/com/xcong/excoin/websocket/TradePlateSendWebSocket.java @@ -79,6 +79,7 @@ public void onMessage(String message, Session session) { // 盘口订阅方法 {sub: 'market.btcusdt.depth.10,id: symbol} JSONObject jsonObject = JSON.parseObject(message); + log.info("订阅参数:{}", jsonObject); // 盘口的判断 if (jsonObject.containsKey("sub") && jsonObject.get("sub").toString().contains("depth")) { diff --git a/src/main/resources/mapper/walletCoinOrder/GbzOrderDao.xml b/src/main/resources/mapper/walletCoinOrder/GbzOrderDao.xml new file mode 100644 index 0000000..36a6b2b --- /dev/null +++ b/src/main/resources/mapper/walletCoinOrder/GbzOrderDao.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.xcong.excoin.modules.coin.dao.GbzOrderDao"> + + <select id="selectInPage" resultType="com.xcong.excoin.modules.coin.entity.GbzOrderEntity"> + select * from gbz_order + order by create_time desc + </select> +</mapper> \ No newline at end of file -- Gitblit v1.9.1