无关风月
2024-07-03 1ab3022a08c32087cbc131fd00e25affacbb5eff
ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
@@ -90,8 +90,12 @@
        if (goodQuery.getType() != null && goodQuery.getType().size() > 0) {
            StringBuilder temp = new StringBuilder("");
            for (String s : goodQuery.getType()) {
                wrapper.apply("FIND_IN_SET('" + s + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数
                temp.append(s);
                temp.append(",");
            }
            String string = temp.toString();
            String substring = string.substring(0, string.length() - 1);
            wrapper.eq("typeIds",substring);
        }
        wrapper.eq("isDelete", 0);
        return R.ok(goodsService.page(new PageInfo<>(goodQuery.getPageNumber(), goodQuery.getPageSize()), wrapper));
@@ -109,10 +113,14 @@
        wrapper = keywords != null && !"".equals(keywords.trim()) ? wrapper.like("name", keywords) : wrapper;
        // 类型匹配 todo
        if (goodQuery.getType() != null && !goodQuery.getType().isEmpty()) {
            StringBuilder temp = new StringBuilder("");
            for (String s : goodQuery.getType()) {
                // 将每个类型 ID 应用于 FIND_IN_SET 函数
                wrapper.apply("FIND_IN_SET('" + s + "', typeIds)");
                temp.append(s);
                temp.append(",");
            }
            String string = temp.toString();
            String substring = string.substring(0, string.length() - 1);
            wrapper.eq("typeIds",substring);
        }
        wrapper.eq("isDelete", 0);
        wrapper.orderByAsc("sort");
@@ -142,7 +150,7 @@
        wrapper.or().apply("FIND_IN_SET('" + id + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数
        wrapper.eq("isDelete", 0);
        List<TGoods> list = goodsService.list(wrapper);
        if (!list.isEmpty()){
        if (!list.isEmpty()) {
            return R.fail("当前商品分类被使用,无法删除!");
        }
        TGoodsType byId = goodsTypeService.getById(id);
@@ -164,7 +172,7 @@
            Long temp = 0L;
            List<TOrder> list1 = orderService.list(new QueryWrapper<TOrder>().eq("goodsId", tGoods.getId()));
            for (TOrder tOrder : list1) {
                temp+=tOrder.getCount();
                temp += tOrder.getCount();
            }
            tGoods.setInventory(temp);
            // 剩余兑换数量
@@ -210,12 +218,22 @@
    @PostMapping("/updateGoods")
    @ApiOperation(value = "修改", tags = {"后台-商品管理"})
    public R updateGoods(@RequestBody TGoods dto) {
        if (dto.getTotal() != null) {
            dto.setSurplus(dto.getTotal());
        } else {
            dto.setSurplus(0);
        TGoods byId = goodsService.getById(dto.getId());
        if (!Objects.equals(byId.getTotal(), dto.getTotal())){
            // 如果修改了商品总数 那么需要再判断当前商品已被购买了多少
            List<TOrder> list = orderService.list(new QueryWrapper<TOrder>()
                    .eq("goodsId", dto.getId()));
            Integer temp = 0;
            for (TOrder tOrder : list) {
                temp += tOrder.getCount();
            }
            if (dto.getTotal()<temp){
                return R.fail("商品总数不能小于当前商品已兑换数量,"+"当前商品已兑换数量为:"+temp);
            }
        }
        goodsService.updateById(dto);
        goodsService.updateOne(dto);
        return R.ok("修改成功");
    }
@@ -244,6 +262,10 @@
    @GetMapping("/exchangeRecord")
    @ApiOperation(value = "学习端-兑换记录", tags = {"学习端-商城"})
    public R<List<ExchangeRecordVO>> exchangeRecord() {
        LoginUserParent loginUserStudy = tokenService.getLoginUserStudy();
        if (null == loginUserStudy) {
            return R.tokenError("登录失效!");
        }
        List<ExchangeRecordVO> exchangeRecord = orderService.exchangeRecord(tokenService.getLoginUserStudy().getUserid());
        for (ExchangeRecordVO record : exchangeRecord) {
            TGoods goods = goodsService.getById(record.getGoodsId());
@@ -848,8 +870,8 @@
        TUser byId1 = studyClient.getUserById(byId.getUserId()).getData();
        tGoodsVO.setUserName(byId1.getName());
        tGoodsVO.setPhone(byId1.getPhone());
        if (byId.getProvince()!=null && byId.getCity() != null){
            tGoodsVO.setConsigneeAddress(byId.getProvince()+byId.getCity()+tGoodsVO.getConsigneeAddress());
        if (byId.getProvince() != null && byId.getCity() != null) {
            tGoodsVO.setConsigneeAddress(byId.getProvince() + byId.getCity() + tGoodsVO.getConsigneeAddress());
        }
        return R.ok(tGoodsVO);
    }