| | |
| | | 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); |
| | | // sort排序 |
| | | wrapper.orderByAsc("CASE WHEN sort IS NULL THEN 1 ELSE 0 END") |
| | | .orderByAsc("sort") |
| | | .orderByDesc("createTime"); |
| | | return R.ok(goodsService.page(new PageInfo<>(goodQuery.getPageNumber(), goodQuery.getPageSize()), wrapper)); |
| | | } |
| | | |
| | |
| | | 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"); |
| | | // sort排序 |
| | | wrapper.orderByAsc("CASE WHEN sort IS NULL THEN 1 ELSE 0 END") |
| | | .orderByAsc("sort") |
| | | .orderByDesc("createTime"); |
| | | return R.ok(goodsService.page(new PageInfo<>(goodQuery.getPageNumber(), goodQuery.getPageSize()), wrapper)); |
| | | } |
| | | |
| | |
| | | @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("修改成功"); |
| | | } |
| | | |
| | |
| | | .eq(Recipient::getUserId, tokenService.getLoginUserStudy().getUserid()) |
| | | .eq(Recipient::getIsDefault, 1) |
| | | .eq(Recipient::getDisabled, 0).one(); |
| | | if (null == recipient) { |
| | | recipient = recipientService.lambdaQuery() |
| | | .eq(Recipient::getUserId, tokenService.getLoginUserStudy().getUserid()) |
| | | .eq(Recipient::getDisabled, 0) |
| | | .orderByDesc(Recipient::getCreateTime) |
| | | .last("limit 1").one(); |
| | | } |
| | | GoodDetailVO goodDetailVO = goodsService.redeemNow(goodId, recipient); |
| | | LocalDateTime currentDateTime = LocalDateTime.now(); |
| | | // 格式化日期和时间信息 |
| | |
| | | .eq(Recipient::getIsDefault, 1).one(); |
| | | if (recipient == null) { |
| | | // 随便取一条地址数据 |
| | | List<Recipient> list = recipientService.lambdaQuery() |
| | | recipient = recipientService.lambdaQuery() |
| | | .eq(Recipient::getUserId, tokenService.getLoginUser1().getUserid()) |
| | | .list(); |
| | | if (!list.isEmpty()) { |
| | | recipient = list.get(0); |
| | | } |
| | | .orderByDesc(Recipient::getCreateTime) |
| | | .eq(Recipient::getDisabled, 0).last("limit 1") |
| | | .one(); |
| | | } |
| | | GoodDetailVO goodDetailVO = goodsService.redeemNow(goodId, recipient); |
| | | LocalDateTime currentDateTime = LocalDateTime.now(); |