From d4d9ea89dd109cb975eaa3412a15c5ff6e8d11dd Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期三, 02 七月 2025 18:58:33 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- buyer-api/src/main/java/cn/lili/controller/order/CartController.java | 72 +++++++++++++++++++++++++++++++++++- 1 files changed, 70 insertions(+), 2 deletions(-) diff --git a/buyer-api/src/main/java/cn/lili/controller/order/CartController.java b/buyer-api/src/main/java/cn/lili/controller/order/CartController.java index 005a1c0..70fc330 100644 --- a/buyer-api/src/main/java/cn/lili/controller/order/CartController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/CartController.java @@ -1,26 +1,35 @@ package cn.lili.controller.order; +import cn.hutool.json.JSONUtil; import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; +import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.ResultMessage; +import cn.lili.modules.order.cart.entity.dto.BuyBackDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; import cn.lili.modules.order.cart.entity.vo.TradeParams; import cn.lili.modules.order.cart.service.CartService; import cn.lili.modules.order.order.entity.vo.ReceiptVO; +import cn.lili.utils.COSUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.MediaType; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; import javax.validation.constraints.Min; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.util.List; /** * 涔板绔紝璐墿杞︽帴鍙� @@ -39,6 +48,8 @@ */ @Autowired private CartService cartService; + @Autowired + private COSUtil cosUtil; @ApiOperation(value = "鍚戣喘鐗╄溅涓坊鍔犱竴涓骇鍝�") @@ -63,12 +74,45 @@ throw new ServiceException(ResultCode.CART_ERROR); } } + @ApiOperation(value = "鍚戣喘鐗╄溅涓鐩栨坊鍔犱竴涓骇鍝�") + @PostMapping("/addCard") + @ApiImplicitParams({ + @ApiImplicitParam(name = "skuId", value = "浜у搧ID", required = true, dataType = "Long", paramType = "query"), + @ApiImplicitParam(name = "num", value = "姝や骇鍝佺殑璐拱鏁伴噺", required = true, dataType = "int", paramType = "query"), + @ApiImplicitParam(name = "cartType", value = "璐墿杞︾被鍨嬶紝榛樿鍔犲叆璐墿杞�", paramType = "query") + }) + public ResultMessage<Object> addCard(@NotNull(message = "浜у搧id涓嶈兘涓虹┖") String skuId, + @NotNull(message = "璐拱鏁伴噺涓嶈兘涓虹┖") @Min(value = 1, message = "鍔犲叆璐墿杞︽暟閲忓繀椤诲ぇ浜�0") Integer num) { + try { + //璇诲彇閫変腑鐨勫垪琛� + cartService.add(skuId, num, CartTypeEnum.CART.name(), true); + return ResultUtil.success(); + } catch (ServiceException se) { + log.info(se.getMsg(), se); + throw se; + } catch (Exception e) { + log.error(ResultCode.CART_ERROR.message(), e); + throw new ServiceException(ResultCode.CART_ERROR); + } + } @ApiOperation(value = "鑾峰彇璐墿杞﹂〉闈㈣喘鐗╄溅璇︽儏") @GetMapping("/all") public ResultMessage<TradeDTO> cartAll() { - return ResultUtil.data(this.cartService.getAllTradeDTO()); + TradeDTO allTradeDTO = this.cartService.getAllTradeDTO(); + allTradeDTO.getSkuList().forEach(item->{ + String goodsVideo = item.getGoodsSku().getGoodsVideo(); + if (StringUtils.isNotBlank(goodsVideo)&&!goodsVideo.contains("http")) { + item.getGoodsSku().setGoodsVideo(cosUtil.getPreviewUrl(goodsVideo)); + } + + String thumbnail = item.getGoodsSku().getThumbnail(); + if (StringUtils.isNotBlank(thumbnail)&&!thumbnail.contains("http")) { + item.getGoodsSku().setThumbnail(cosUtil.getPreviewUrl(thumbnail)); + } + }); + return ResultUtil.data(allTradeDTO); } @ApiOperation(value = "鑾峰彇璐墿杞︽暟閲�") @@ -151,6 +195,15 @@ } + @ApiOperation(value = "鍐嶆璐拱") + @Validated + @PostMapping(value = "/sku/buyBack") + public ResultMessage<Object> buyBack(@RequestBody @Valid @NotEmpty List<BuyBackDTO> backDTO) { + cartService.buyBack(backDTO); + return ResultUtil.success(); + } + + @ApiOperation(value = "鑾峰彇缁撶畻椤甸潰璐墿杞﹁鎯�") @ApiImplicitParams({ @ApiImplicitParam(name = "way", value = "璐墿杞﹁喘涔帮細CART/绔嬪嵆璐拱锛欱UY_NOW/鎷煎洟璐拱锛歅INTUAN / 绉垎璐拱锛歅OINT ", required = true, paramType = "query") @@ -159,7 +212,22 @@ public ResultMessage<TradeDTO> cartChecked(@NotNull(message = "璇诲彇閫変腑鍒楄〃") String way) { try { //璇诲彇閫変腑鐨勫垪琛� - return ResultUtil.data(this.cartService.getCheckedTradeDTO(CartTypeEnum.valueOf(way))); + TradeDTO checkedTradeDTO = this.cartService.getCheckedTradeDTO(CartTypeEnum.valueOf(way)); + checkedTradeDTO.getSkuList().forEach(item->{ + + + String goodsVideo = item.getGoodsSku().getGoodsVideo(); + if (StringUtils.isNotBlank(goodsVideo)&&!goodsVideo.contains("http")) { + item.getGoodsSku().setGoodsVideo(cosUtil.getPreviewUrl(goodsVideo)); + } + + String thumbnail = item.getGoodsSku().getThumbnail(); + if (StringUtils.isNotBlank(thumbnail)&&!thumbnail.contains("http")) { + item.getGoodsSku().setThumbnail(cosUtil.getPreviewUrl(thumbnail)); + } + }); + System.err.println(JSONUtil.toJsonStr(checkedTradeDTO)); + return ResultUtil.data(checkedTradeDTO); } catch (ServiceException se) { log.error(se.getMsg(), se); throw se; -- Gitblit v1.8.0