xiaoyong931011
2021-05-14 6aab3e401fc146885d5fb5cb5048cd09de4a6f18
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() {
@@ -204,6 +206,34 @@
            return Result.fail("请重新选择产品");
        }
        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();
            }
        }
        if(quantityOwn >= limitedNum){
            return Result.fail("产品限购"+limitedNum);
        }
        if (quantity.compareTo(BigDecimal.valueOf(ydProductEntity.getLimitedNum())) < 1) {
            return Result.fail("产品限购" + ydProductEntity.getLimitedNum());
        }
@@ -288,6 +318,7 @@
        BigDecimal totalProfitAll = BigDecimal.ZERO;
        QueryWrapper<YdOrderEntity> objectQueryWrapper = new QueryWrapper<>();
        objectQueryWrapper.eq("member_id",memberId);
        objectQueryWrapper.eq("type",YdOrderEntity.PRODUCT_ORDER);
        List<YdOrderEntity> ydOrderEntities = ydOrderDao.selectList(objectQueryWrapper);
        if(CollUtil.isNotEmpty(ydOrderEntities)){
            for(YdOrderEntity order : ydOrderEntities){
@@ -301,6 +332,7 @@
        QueryWrapper<YdOrderEntity> powerNowQuery = new QueryWrapper<>();
        powerNowQuery.eq("member_id",memberId);
        powerNowQuery.eq("state",YdOrderEntity.ORDER_STATE_WORK);
        powerNowQuery.eq("type",YdOrderEntity.PRODUCT_ORDER);
        List<YdOrderEntity> PowerNowQuery = ydOrderDao.selectList(powerNowQuery);
        if(CollUtil.isNotEmpty(PowerNowQuery)){
            for(YdOrderEntity order : PowerNowQuery){
@@ -313,10 +345,11 @@
        int powerReady = 0;
        QueryWrapper<YdOrderEntity> powerReradyQuery = new QueryWrapper<>();
        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;
            }
@@ -543,6 +576,7 @@
        YdOrderEntity orderEntity = new YdOrderEntity();
        orderEntity.setType(YdOrderEntity.AGENT_ORDER);
        orderEntity.setMemberId(memberId);
        orderEntity.setProductId(id);
        orderEntity.setAmount(salePrice);
        ydOrderDao.insert(orderEntity);
@@ -556,6 +590,13 @@
        return Result.ok("购买成功");
    }
    @Override
    public Result getXchPrice() {
        log.info("获取XCH当前价");
        String xchNewPrice = redisUtils.getString("XCH_NEW_PRICE");
        return Result.ok(xchNewPrice);
    }
    /**
     * 去加减币币账户余额,减少产品的剩余数目