hjl
2024-06-21 a9bf1fc6ffb80c2de56e1730595b3abde4910484
ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
@@ -25,6 +25,7 @@
import io.swagger.annotations.ApiOperationSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -163,6 +164,11 @@
    @PostMapping("/addGoods")
    @ApiOperation(value = "添加", tags = {"后台-商品管理"})
    public R addGoods(@RequestBody TGoods dto) {
        if (dto.getTotal() != null) {
            dto.setSurplus(dto.getTotal());
        } else {
            dto.setSurplus(0);
        }
        goodsService.save(dto);
        return R.ok("添加成功");
    }
@@ -178,6 +184,11 @@
    @PostMapping("/updateGoods")
    @ApiOperation(value = "修改", tags = {"后台-商品管理"})
    public R updateGoods(@RequestBody TGoods dto) {
        if (dto.getTotal() != null) {
            dto.setSurplus(dto.getTotal());
        } else {
            dto.setSurplus(0);
        }
        goodsService.updateById(dto);
        return R.ok("修改成功");
    }
@@ -287,6 +298,7 @@
        }
        TOrder byId = orderService.getById(id);
        byId.setState(3);
        byId.setCompleteTime(new Date());
        return R.ok(orderService.updateById(byId));
    }
@@ -590,7 +602,11 @@
    @ApiOperation(value = "可兑换商品推荐", tags = {"学习端-商城"})
    @ApiOperationSupport(order = 38)
    public R<List<TGoodsVO>> goodRecommend() {
        return R.ok(goodsService.goodRecommend(tokenService.getLoginUserStudy().getUserid()));
        LoginUserParent loginUserStudy = tokenService.getLoginUserStudy();
        if (null == loginUserStudy) {
            return R.tokenError("登录失效!");
        }
        return R.ok(goodsService.goodRecommend(loginUserStudy.getUserid()));
    }
    /**
@@ -615,6 +631,9 @@
            @ApiImplicitParam(value = "商品id", name = "goodId", dataType = "String", required = true)
    })
    public R<GoodDetailVO> goodDetail(@RequestParam String goodId) {
        if (tokenService.getLoginUserStudy() == null) {
            return R.tokenError("登录失效!");
        }
        // 商品详情
        TGoods goods = goodsService.lambdaQuery().eq(TGoods::getId, goodId).one();
        if (null == goods) {
@@ -628,7 +647,19 @@
            number += goods.getBasicCount();
        }
        number += orderService.getGoodBuyNumber(goods.getId());
        return R.ok(new GoodDetailVO(goods, goodsTypes, number));
        // 剩余兑换数量
        Integer residueNumber = null;
        if (null != goods.getTotal()) {
            // 计算剩余兑换数量
            List<TOrder> orderList = orderService.lambdaQuery().eq(TOrder::getGoodsId, goodId)
                    .eq(TOrder::getDisabled, 0).list();
            Integer item = 0;
            for (TOrder order : orderList) {
                item += order.getCount();
            }
            residueNumber = goods.getTotal() - item;
        }
        return R.ok(new GoodDetailVO(goods, goodsTypes, number, residueNumber));
    }
    /**
@@ -643,9 +674,9 @@
            @ApiImplicitParam(value = "商品id", name = "goodId", dataType = "String", required = true)
    })
    public R<GoodDetailVO> goodDetailParent(@RequestParam String goodId) {
        if (tokenService.getLoginUser1() == null) {
            return R.tokenError("登录失效");
        }
//        if (tokenService.getLoginUser1() == null) {
//            return R.tokenError("登录失效");
//        }
        // 商品详情
        TGoods goods = goodsService.lambdaQuery().eq(TGoods::getId, goodId).one();
        if (null == goods) {
@@ -654,8 +685,24 @@
        // 商品分类详情
        List<TGoodsType> goodsTypes = goodsTypeService.lambdaQuery().in(TGoodsType::getId, Arrays.asList(goods.getTypeIds().split(","))).list();
        // 已兑换人数
        int number = goods.getBasicCount() + orderService.getGoodBuyNumber(goods.getId());
        return R.ok(new GoodDetailVO(goods, goodsTypes, number));
        int number = 0;
        if (null != goods.getBasicCount()) {
            number += goods.getBasicCount();
        }
        number += orderService.getGoodBuyNumber(goods.getId());
        // 剩余兑换数量
        Integer residueNumber = null;
        if (null != goods.getTotal()) {
            // 计算剩余兑换数量
            List<TOrder> orderList = orderService.lambdaQuery().eq(TOrder::getGoodsId, goodId)
                    .eq(TOrder::getDisabled, 0).list();
            Integer item = 0;
            for (TOrder order : orderList) {
                item += order.getCount();
            }
            residueNumber = goods.getTotal() - item;
        }
        return R.ok(new GoodDetailVO(goods, goodsTypes, number, residueNumber));
    }
    /**
@@ -673,7 +720,8 @@
        }
        Recipient recipient = recipientService.lambdaQuery()
                .eq(Recipient::getUserId, tokenService.getLoginUserStudy().getUserid())
                .eq(Recipient::getIsDefault, 1).one();
                .eq(Recipient::getIsDefault, 1)
                .eq(Recipient::getDisabled, 0).one();
        GoodDetailVO goodDetailVO = goodsService.redeemNow(goodId, recipient);
        LocalDateTime currentDateTime = LocalDateTime.now();
        // 格式化日期和时间信息
@@ -683,10 +731,11 @@
        Random random = new Random();
        StringBuilder randomPart = new StringBuilder();
        for (int i = 0; i < 3; i++) {
            randomPart.append((char) (random.nextInt(26) + 'A')); // 大写字母
            // 大写字母
            randomPart.append((char) (random.nextInt(26) + 'A'));
        }
        // 组合订单编号
        String orderNumber = formattedDateTime + randomPart.toString();
        String orderNumber = formattedDateTime + randomPart;
        goodDetailVO.setOrderNumber(orderNumber);
        return R.ok(goodDetailVO);
    }
@@ -743,6 +792,7 @@
    @PostMapping("/goodExchange")
    @ApiOperation(value = "家长端-商品兑换确认", tags = {"家长端-商品兑换确认"})
    public R goodExchange(@RequestBody GoodExchangeDTO goodExchange) {
        System.err.println("家长兑换:");
        Recipient recipient = recipientService.getById(Integer.valueOf(goodExchange.getRecipientId()));
        return goodsService.goodExchange1(goodExchange, recipient);
    }
@@ -750,7 +800,8 @@
    @PostMapping("/goodExchangeStudy")
    @ApiOperation(value = "商品兑换确认", tags = {"学习端-商城"})
    @ApiOperationSupport(order = 42)
    public R goodExchangeStudy(@RequestBody GoodExchangeDTO goodExchange) {
    public R<String> goodExchangeStudy(@RequestBody @Validated GoodExchangeDTO goodExchange) {
        System.err.println("学习兑换:");
        Recipient recipient = recipientService.getById(goodExchange.getRecipientId());
        return goodsService.goodExchange(goodExchange, recipient);
    }