From f81f17153ce39e784d35adf159badf16e57469be Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 14 May 2021 15:07:28 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 50 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java index 0e979f0..5fbb658 100644 --- a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java @@ -65,6 +65,8 @@ private MemberDao memberDao; @Autowired private YunDingProducter yunDingProducter; + @Autowired + private RedisUtils redisUtils; @Override public Result findAllInfo() { @@ -107,7 +109,7 @@ for(YdProductVo ydProductVo : records){ ydProductVo.setProfitT(prifitT); - if(ydProductVo.getTotalT().compareTo(BigDecimal.ZERO) < 1) { + if(ydProductVo.getSurplusT().compareTo(BigDecimal.ZERO) < 1) { ydProductVo.setStatus(2); } } @@ -204,9 +206,39 @@ return Result.fail("请重新选择产品"); } - if (quantity.compareTo(BigDecimal.valueOf(ydProductEntity.getLimitedNum())) < 1) { - return Result.fail("产品限购" + ydProductEntity.getLimitedNum()); + Integer status = ydProductEntity.getStatus(); + if(YdProductEntity.STATUE_WORK != status){ + if(YdProductEntity.STATUE_END == status){ + return Result.fail("产品已售罄"); + } + if(YdProductEntity.STATUE_READY == status){ + return Result.fail("产品未开售"); + } } + + //限购总量 + Integer limitedNum = ydProductEntity.getLimitedNum(); + //获取目前待生效,已生效的总T数 + int quantityOwn = 0; + QueryWrapper<YdOrderEntity> powerReradyQuery = new QueryWrapper<>(); + powerReradyQuery.eq("member_id",memberId); + powerReradyQuery.eq("product_id",payProductDto.getId()); + powerReradyQuery.eq("type",YdOrderEntity.PRODUCT_ORDER); + powerReradyQuery.ne("state",YdOrderEntity.ORDER_STATE_END); + List<YdOrderEntity> powerReradyQuerys = ydOrderDao.selectList(powerReradyQuery); + if(CollUtil.isNotEmpty(powerReradyQuerys)){ + for(YdOrderEntity ydOrderEntity : powerReradyQuerys){ + quantityOwn = quantityOwn + ydOrderEntity.getQuantity(); + } + } + int quantityInt = quantity.intValue(); + if(quantityOwn + quantityInt > limitedNum){ + return Result.fail("产品限购"+limitedNum); + } + +// if (quantity.compareTo(BigDecimal.valueOf(ydProductEntity.getLimitedNum())) < 1) { +// return Result.fail("产品限购" + ydProductEntity.getLimitedNum()); +// } BigDecimal salePrice = ydProductEntity.getSalePrice(); //剩余产品数量 BigDecimal surplusT = ydProductEntity.getSurplusT(); @@ -317,9 +349,9 @@ powerReradyQuery.eq("member_id",memberId); powerReradyQuery.eq("type",YdOrderEntity.PRODUCT_ORDER); powerReradyQuery.eq("state",YdOrderEntity.ORDER_STATE_READY); - List<YdOrderEntity> PowerReradyQuery = ydOrderDao.selectList(powerReradyQuery); - if(CollUtil.isNotEmpty(PowerReradyQuery)){ - for(YdOrderEntity order : PowerReradyQuery){ + List<YdOrderEntity> powerReradyQuerys = ydOrderDao.selectList(powerReradyQuery); + if(CollUtil.isNotEmpty(powerReradyQuerys)){ + for(YdOrderEntity order : powerReradyQuerys){ int quantity = order.getQuantity(); powerReady = powerReady + quantity; } @@ -546,6 +578,7 @@ YdOrderEntity orderEntity = new YdOrderEntity(); orderEntity.setType(YdOrderEntity.AGENT_ORDER); orderEntity.setMemberId(memberId); + orderEntity.setProductId(id); orderEntity.setAmount(salePrice); ydOrderDao.insert(orderEntity); @@ -559,6 +592,17 @@ return Result.ok("购买成功"); } + @Override + public Result getXchPrice() { + log.info("获取XCH当前价"); + BigDecimal xchNewPrices = BigDecimal.ZERO; + String xchNewPrice = redisUtils.getString("XCH_NEW_PRICE"); + if(StrUtil.isNotEmpty(xchNewPrice)){ + xchNewPrices = new BigDecimal(xchNewPrice); + } + return Result.ok(xchNewPrices); + } + /** * 去加减币币账户余额,减少产品的剩余数目 -- Gitblit v1.9.1