From 47c5f38ac8dad527df53969375e876ddf33f0e87 Mon Sep 17 00:00:00 2001 From: longbinbin <2284496322@qq.com> Date: Fri, 6 Dec 2024 15:29:47 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/mobile/AppGoodsController.java | 4 +- .../goods/{GoodsVO.java => GoodsPageVO.java} | 5 +- .../service/impl/mobile/GoodsServiceImpl.java | 46 +++++++++---------- .../service/impl/pc/OrderServiceImpl.java | 13 ++++-- .../basic/service/mobile/GoodsService.java | 4 +- 5 files changed, 37 insertions(+), 35 deletions(-) rename src/main/java/com/ycwl/basic/model/mobile/goods/{GoodsVO.java => GoodsPageVO.java} (88%) diff --git a/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java b/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java index c13d206..52938df 100644 --- a/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java +++ b/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java @@ -2,7 +2,7 @@ package com.ycwl.basic.controller.mobile; import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq; import com.ycwl.basic.model.mobile.goods.GoodsReqQuery; -import com.ycwl.basic.model.mobile.goods.GoodsVO; +import com.ycwl.basic.model.mobile.goods.GoodsPageVO; import com.ycwl.basic.model.pc.source.resp.SourceRespVO; import com.ycwl.basic.service.mobile.GoodsService; import com.ycwl.basic.utils.ApiResponse; @@ -28,7 +28,7 @@ public class AppGoodsController { @ApiOperation("商品列表") @PostMapping("/goodsList") - public ApiResponse> goodsList(@RequestBody GoodsReqQuery query) { + public ApiResponse> goodsList(@RequestBody GoodsReqQuery query) { return goodsService.goodsList(query); } diff --git a/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsVO.java b/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsPageVO.java similarity index 88% rename from src/main/java/com/ycwl/basic/model/mobile/goods/GoodsVO.java rename to src/main/java/com/ycwl/basic/model/mobile/goods/GoodsPageVO.java index 78128b8..ade6d5c 100644 --- a/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsVO.java +++ b/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsPageVO.java @@ -1,13 +1,10 @@ package com.ycwl.basic.model.mobile.goods; -import com.ycwl.basic.model.pc.source.resp.SourceRespVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; -import java.util.Date; -import java.util.List; /** * @Author:longbinbin @@ -15,7 +12,7 @@ import java.util.List; */ @Data @ApiModel("商品") -public class GoodsVO { +public class GoodsPageVO { @ApiModelProperty("商品名称") private String goodsName; @ApiModelProperty("景区id") diff --git a/src/main/java/com/ycwl/basic/service/impl/mobile/GoodsServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/mobile/GoodsServiceImpl.java index 400ceb9..52d2cc4 100644 --- a/src/main/java/com/ycwl/basic/service/impl/mobile/GoodsServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/mobile/GoodsServiceImpl.java @@ -5,7 +5,7 @@ import com.ycwl.basic.mapper.pc.SourceMapper; import com.ycwl.basic.mapper.pc.VideoMapper; import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq; import com.ycwl.basic.model.mobile.goods.GoodsReqQuery; -import com.ycwl.basic.model.mobile.goods.GoodsVO; +import com.ycwl.basic.model.mobile.goods.GoodsPageVO; import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO; import com.ycwl.basic.model.pc.source.req.SourceReqQuery; import com.ycwl.basic.model.pc.source.resp.SourceRespVO; @@ -32,9 +32,9 @@ public class GoodsServiceImpl implements GoodsService { @Autowired private ScenicMapper scenicMapper; - public ApiResponse> goodsList(GoodsReqQuery query) { + public ApiResponse> goodsList(GoodsReqQuery query) { //查询原素材 - List goodsList = new ArrayList<>(); + List goodsList = new ArrayList<>(); VideoReqQuery videoReqQuery = new VideoReqQuery(); videoReqQuery.setScenicId(query.getScenicId()); @@ -43,16 +43,16 @@ public class GoodsServiceImpl implements GoodsService { //查询成片vlog List videoList = videoMapper.list(videoReqQuery); videoList.forEach(videoRespVO -> { - GoodsVO goodsVO = new GoodsVO(); - goodsVO.setGoodsName(videoRespVO.getTemplateName()); - goodsVO.setScenicId(videoRespVO.getScenicId()); - goodsVO.setScenicName(videoRespVO.getScenicName()); - goodsVO.setLongitude(videoRespVO.getLongitude()); - goodsVO.setLatitude(videoRespVO.getLatitude()); - goodsVO.setGoodsType(1); - goodsVO.setGoodsId(videoRespVO.getId()); - goodsVO.setTemplateCoverUrl(videoRespVO.getTemplateCoverUrl()); - goodsList.add(goodsVO); + GoodsPageVO goodsPageVO = new GoodsPageVO(); + goodsPageVO.setGoodsName(videoRespVO.getTemplateName()); + goodsPageVO.setScenicId(videoRespVO.getScenicId()); + goodsPageVO.setScenicName(videoRespVO.getScenicName()); + goodsPageVO.setLongitude(videoRespVO.getLongitude()); + goodsPageVO.setLatitude(videoRespVO.getLatitude()); + goodsPageVO.setGoodsType(1); + goodsPageVO.setGoodsId(videoRespVO.getId()); + goodsPageVO.setTemplateCoverUrl(videoRespVO.getTemplateCoverUrl()); + goodsList.add(goodsPageVO); }); @@ -63,20 +63,20 @@ public class GoodsServiceImpl implements GoodsService { //查询源素材 List sourceList = sourceMapper.listGroupByType(sourceReqQuery); sourceList.forEach(sourceRespVO -> { - GoodsVO goodsVO = new GoodsVO(); + GoodsPageVO goodsPageVO = new GoodsPageVO(); Integer type = sourceRespVO.getType(); if(type==1){ - goodsVO.setGoodsName("原片集"); + goodsPageVO.setGoodsName("原片集"); }else { - goodsVO.setGoodsName("照片集"); + goodsPageVO.setGoodsName("照片集"); } - goodsVO.setScenicId(sourceRespVO.getScenicId()); - goodsVO.setScenicName(sourceRespVO.getScenicName()); - goodsVO.setLongitude(sourceRespVO.getLongitude()); - goodsVO.setLatitude(sourceRespVO.getLatitude()); - goodsVO.setGoodsType(2); - goodsVO.setSourceType(type); - goodsList.add(goodsVO); + goodsPageVO.setScenicId(sourceRespVO.getScenicId()); + goodsPageVO.setScenicName(sourceRespVO.getScenicName()); + goodsPageVO.setLongitude(sourceRespVO.getLongitude()); + goodsPageVO.setLatitude(sourceRespVO.getLatitude()); + goodsPageVO.setGoodsType(2); + goodsPageVO.setSourceType(type); + goodsList.add(goodsPageVO); }); return ApiResponse.success(goodsList); diff --git a/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java index 5cad6e0..7cef9b6 100644 --- a/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java @@ -95,6 +95,7 @@ public class OrderServiceImpl implements OrderService { OrderItemEntity orderItemEntity = new OrderItemEntity(); BeanUtil.copyProperties(orderItemDTO, orderItemEntity); orderItemEntity.setOrderId(orderId); + orderItems.add(orderItemEntity); }); int addOrderItems = orderMapper.addOrderItems(orderItems); if (addOrderItems == NumberConstant.ZERO) { @@ -102,8 +103,7 @@ public class OrderServiceImpl implements OrderService { return ApiResponse.fail("订单添加失败"); } - /* 成片的时候子订单只会有一个,素材的时候 子订单多个且价格与子订单数量无关,只与子订单商品对应景区定义的价格相同*/ - GoodsPriceQueryReq goodsPriceQueryReq = new GoodsPriceQueryReq(); + Integer goodsType = order.getOrderItemList().get(NumberConstant.ZERO).getGoodsType(); Long goodsId = order.getOrderItemList().get(NumberConstant.ZERO).getGoodsId(); @@ -115,8 +115,13 @@ public class OrderServiceImpl implements OrderService { SourceRespVO sourceRespVO = sourceMapper.getById(goodsId); goodsName= SourceTypeNameEnum.getRemark( sourceRespVO.getType()); } - BigDecimal price = goodsService.queryPrice(goodsPriceQueryReq.setGoodsId(goodsId) - .setGoodsType(goodsType)).getData(); + + /* 成片的时候子订单只会有一个,素材的时候 子订单多个且价格与子订单数量无关,只与子订单商品对应景区定义的价格相同*/ + GoodsPriceQueryReq goodsPriceQueryReq = new GoodsPriceQueryReq(); + goodsPriceQueryReq.setGoodsId(goodsId); + goodsPriceQueryReq.setGoodsType(goodsType); +// goodsPriceQueryReq.setScenicId(order.get) + BigDecimal price = goodsService.queryPrice(goodsPriceQueryReq).getData(); MemberRespVO memberRespVO = memberService.getUserInfo().getData(); WXPayOrderReqVO wxPayOrderReqVO = new WXPayOrderReqVO(); diff --git a/src/main/java/com/ycwl/basic/service/mobile/GoodsService.java b/src/main/java/com/ycwl/basic/service/mobile/GoodsService.java index 62469d0..f7840d8 100644 --- a/src/main/java/com/ycwl/basic/service/mobile/GoodsService.java +++ b/src/main/java/com/ycwl/basic/service/mobile/GoodsService.java @@ -2,7 +2,7 @@ package com.ycwl.basic.service.mobile; import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq; import com.ycwl.basic.model.mobile.goods.GoodsReqQuery; -import com.ycwl.basic.model.mobile.goods.GoodsVO; +import com.ycwl.basic.model.mobile.goods.GoodsPageVO; import com.ycwl.basic.model.pc.source.resp.SourceRespVO; import com.ycwl.basic.utils.ApiResponse; @@ -20,7 +20,7 @@ public interface GoodsService { * @param query 查询条件 * @return */ - ApiResponse> goodsList(GoodsReqQuery query); + ApiResponse> goodsList(GoodsReqQuery query); /** * 查询源素材商品列表 From 5e6a52536ac2eaab6863ff6779fce5d23d25e57d Mon Sep 17 00:00:00 2001 From: longbinbin <2284496322@qq.com> Date: Fri, 6 Dec 2024 16:11:36 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=95=86=E5=93=81?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=9F=A5=E8=AF=A2=E4=BB=A5=E5=8F=8A=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=96=B0=E5=A2=9E=E8=AE=A2=E5=8D=95=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/mobile/AppGoodsController.java | 14 ++--- .../model/mobile/goods/GoodsDetailVO.java | 42 +++++++++++++ .../basic/model/mobile/goods/GoodsPageVO.java | 4 +- .../pc/order/req/OrderAddOrUpdateReq.java | 5 +- .../model/pc/source/resp/SourceRespVO.java | 2 - .../service/impl/mobile/GoodsServiceImpl.java | 62 +++++++++++++++++-- .../service/impl/pc/OrderServiceImpl.java | 24 +++---- .../basic/service/mobile/GoodsService.java | 10 ++- src/main/resources/mapper/pc/SourceMapper.xml | 1 + 9 files changed, 135 insertions(+), 29 deletions(-) create mode 100644 src/main/java/com/ycwl/basic/model/mobile/goods/GoodsDetailVO.java diff --git a/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java b/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java index 015488c..81531fc 100644 --- a/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java +++ b/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java @@ -1,5 +1,6 @@ package com.ycwl.basic.controller.mobile; +import com.ycwl.basic.model.mobile.goods.GoodsDetailVO; import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq; import com.ycwl.basic.model.mobile.goods.GoodsReqQuery; import com.ycwl.basic.model.mobile.goods.GoodsPageVO; @@ -35,16 +36,15 @@ public class AppGoodsController { @ApiOperation("源素材(原片/照片)商品列表") @PostMapping("/sourceGoodsList") - public ApiResponse> sourceGoodsList(@RequestBody GoodsReqQuery query) { + public ApiResponse> sourceGoodsList(@RequestBody GoodsReqQuery query) { return goodsService.sourceGoodsList(query); } -// @ApiOperation("成片vlog商品详情") -// @GetMapping("/getVideoGoodsDetail/{goodId}") -// public ApiResponse videoGoodsDetail(@RequestBody GoodsReqQuery query) { -// -// return ApiResponse.success(""); -// } + @ApiOperation("成片vlog商品详情") + @GetMapping("/getVideoGoodsDetail/{goodId}") + public ApiResponse videoGoodsDetail(@PathVariable("goodId") Long goodsId) { + return goodsService.videoGoodsDetail(goodsId); + } @ApiOperation("查询价格") @PostMapping("/queryPrice") diff --git a/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsDetailVO.java b/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsDetailVO.java new file mode 100644 index 0000000..60d24d0 --- /dev/null +++ b/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsDetailVO.java @@ -0,0 +1,42 @@ +package com.ycwl.basic.model.mobile.goods; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Author:longbinbin + * @Date:2024/12/5 15:10 + */ +@Data +@ApiModel("商品详情") +public class GoodsDetailVO { + @ApiModelProperty("商品名称") + private String goodsName; + @ApiModelProperty("景区id") + private Long scenicId; + @ApiModelProperty("景区名称") + private String scenicName; + @ApiModelProperty("经度") + private BigDecimal longitude; + @ApiModelProperty("纬度") + private BigDecimal latitude; + @ApiModelProperty("商品类型 1:成片视频 2:源素材") + private Integer goodsType; + @ApiModelProperty("源素材类型 1:视频 2:图片") + private Integer sourceType; + @ApiModelProperty("商品id goodsType=1时为videoId,goodsType=2时为sourceId") + private Long goodsId; + @ApiModelProperty("模版封面图片") + private String templateCoverUrl; + @ApiModelProperty("图片文件存储地址") + private String url; + @ApiModelProperty("视频文件存储地址") + private String videoUrl; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; +} diff --git a/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsPageVO.java b/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsPageVO.java index ade6d5c..b011bd3 100644 --- a/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsPageVO.java +++ b/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsPageVO.java @@ -11,7 +11,7 @@ import java.math.BigDecimal; * @Date:2024/12/5 15:10 */ @Data -@ApiModel("商品") +@ApiModel("移动端商品列表响应信息") public class GoodsPageVO { @ApiModelProperty("商品名称") private String goodsName; @@ -27,7 +27,7 @@ public class GoodsPageVO { private Integer goodsType; @ApiModelProperty("源素材类型 1:视频 2:图片") private Integer sourceType; - @ApiModelProperty("商品id goodsType为1时才有值") + @ApiModelProperty("商品(vlog)id goodsType为1时才有值") private Long goodsId; @ApiModelProperty("模版封面图片") private String templateCoverUrl; diff --git a/src/main/java/com/ycwl/basic/model/pc/order/req/OrderAddOrUpdateReq.java b/src/main/java/com/ycwl/basic/model/pc/order/req/OrderAddOrUpdateReq.java index 1f846c0..02f5120 100644 --- a/src/main/java/com/ycwl/basic/model/pc/order/req/OrderAddOrUpdateReq.java +++ b/src/main/java/com/ycwl/basic/model/pc/order/req/OrderAddOrUpdateReq.java @@ -1,6 +1,7 @@ package com.ycwl.basic.model.pc.order.req; import com.fasterxml.jackson.annotation.JsonFormat; +import com.ycwl.basic.model.mobile.goods.GoodsDetailVO; import com.ycwl.basic.model.pc.order.entity.OrderItemEntity; import com.ycwl.basic.model.pc.order.resp.OrderItemVO; import io.swagger.annotations.ApiModel; @@ -96,6 +97,6 @@ public class OrderAddOrUpdateReq { @ApiModelProperty("订单退款时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date refundAt; - @ApiModelProperty("订单明细") - private List orderItemList; + @ApiModelProperty("订单商品明细") + private List goodsItemList; } diff --git a/src/main/java/com/ycwl/basic/model/pc/source/resp/SourceRespVO.java b/src/main/java/com/ycwl/basic/model/pc/source/resp/SourceRespVO.java index 00ff142..d575279 100644 --- a/src/main/java/com/ycwl/basic/model/pc/source/resp/SourceRespVO.java +++ b/src/main/java/com/ycwl/basic/model/pc/source/resp/SourceRespVO.java @@ -51,6 +51,4 @@ public class SourceRespVO { private String videoUrl; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTime; } diff --git a/src/main/java/com/ycwl/basic/service/impl/mobile/GoodsServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/mobile/GoodsServiceImpl.java index 52d2cc4..09a8467 100644 --- a/src/main/java/com/ycwl/basic/service/impl/mobile/GoodsServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/mobile/GoodsServiceImpl.java @@ -3,6 +3,7 @@ package com.ycwl.basic.service.impl.mobile; import com.ycwl.basic.mapper.pc.ScenicMapper; import com.ycwl.basic.mapper.pc.SourceMapper; import com.ycwl.basic.mapper.pc.VideoMapper; +import com.ycwl.basic.model.mobile.goods.GoodsDetailVO; import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq; import com.ycwl.basic.model.mobile.goods.GoodsReqQuery; import com.ycwl.basic.model.mobile.goods.GoodsPageVO; @@ -13,6 +14,7 @@ import com.ycwl.basic.model.pc.video.req.VideoReqQuery; import com.ycwl.basic.model.pc.video.resp.VideoRespVO; import com.ycwl.basic.service.mobile.GoodsService; import com.ycwl.basic.utils.ApiResponse; +import com.ycwl.basic.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -83,14 +85,49 @@ public class GoodsServiceImpl implements GoodsService { } @Override - public ApiResponse> sourceGoodsList(GoodsReqQuery query) { - SourceReqQuery sourceReqQuery = new SourceReqQuery(); + public ApiResponse> sourceGoodsList(GoodsReqQuery query) { + Integer sourceType = query.getSourceType(); + SourceReqQuery sourceReqQuery = new SourceReqQuery(); sourceReqQuery.setScenicId(query.getScenicId()); sourceReqQuery.setIsBuy(query.getIsBuy()); sourceReqQuery.setMemberId(query.getMemberId()); - sourceReqQuery.setType(query.getSourceType()); + sourceReqQuery.setType(sourceType); List list = sourceMapper.list(sourceReqQuery); - return ApiResponse.success(list); + List goodsDetailVOList = new ArrayList<>(); + + String goodsNamePrefix = ""; + if(sourceType==1){ + goodsNamePrefix="视频"; + }else if (sourceType==2){ + goodsNamePrefix="图片"; + }else { + goodsNamePrefix="其他类型"; + } + //图片编号 + int i=1; + for (SourceRespVO sourceRespVO : list) { + GoodsDetailVO goodsDetailVO = new GoodsDetailVO(); + String shootingTime = DateUtils.format(sourceRespVO.getCreateTime(), "yyyy.MM.dd HH:mm:ss"); + if(i<10){ + goodsDetailVO.setGoodsName(goodsNamePrefix +"0"+i+" "+shootingTime); + }else { + goodsDetailVO.setGoodsName(goodsNamePrefix +i+" "+shootingTime); + } + goodsDetailVO.setScenicId(sourceRespVO.getScenicId()); + goodsDetailVO.setScenicName(sourceRespVO.getScenicName()); + goodsDetailVO.setLongitude(sourceRespVO.getLongitude()); + goodsDetailVO.setLatitude(sourceRespVO.getLatitude()); + goodsDetailVO.setGoodsType(2); + goodsDetailVO.setSourceType(sourceType); + goodsDetailVO.setGoodsId(sourceRespVO.getId()); + goodsDetailVO.setVideoUrl(sourceRespVO.getVideoUrl()); + goodsDetailVO.setUrl(sourceRespVO.getUrl()); + goodsDetailVO.setCreateTime(sourceRespVO.getCreateTime()); + goodsDetailVOList.add(goodsDetailVO); + i++; + } + + return ApiResponse.success(goodsDetailVOList); } @Override @@ -125,4 +162,21 @@ public class GoodsServiceImpl implements GoodsService { } return ApiResponse.fail("不合法的商品,请联系管理员"); } + + @Override + public ApiResponse videoGoodsDetail(Long goodsId) { + GoodsDetailVO goodsDetailVO = new GoodsDetailVO(); + VideoRespVO videoRespVO = videoMapper.getById(goodsId); + goodsDetailVO.setGoodsName(videoRespVO.getTemplateName()); + goodsDetailVO.setScenicId(videoRespVO.getScenicId()); + goodsDetailVO.setScenicName(videoRespVO.getScenicName()); + goodsDetailVO.setLongitude(videoRespVO.getLongitude()); + goodsDetailVO.setLatitude(videoRespVO.getLatitude()); + goodsDetailVO.setGoodsType(1); + goodsDetailVO.setGoodsId(videoRespVO.getId()); + goodsDetailVO.setVideoUrl(videoRespVO.getVideoUrl()); + goodsDetailVO.setTemplateCoverUrl(videoRespVO.getTemplateCoverUrl()); + goodsDetailVO.setCreateTime(videoRespVO.getCreateTime()); + return ApiResponse.success(goodsDetailVO); + } } diff --git a/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java index 0873764..fc6a1c3 100644 --- a/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java @@ -11,6 +11,7 @@ import com.ycwl.basic.exception.AppException; import com.ycwl.basic.mapper.pc.OrderMapper; import com.ycwl.basic.mapper.pc.SourceMapper; import com.ycwl.basic.mapper.pc.VideoMapper; +import com.ycwl.basic.model.mobile.goods.GoodsDetailVO; import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq; import com.ycwl.basic.model.mobile.order.RefundOrderReq; import com.ycwl.basic.model.pc.member.resp.MemberRespVO; @@ -92,12 +93,14 @@ public class OrderServiceImpl implements OrderService { if (add == NumberConstant.ZERO) { return ApiResponse.fail("订单添加失败"); } else { - List orderItemList = order.getOrderItemList(); + List goodsItemList = order.getGoodsItemList(); List orderItems = new ArrayList<>(); - orderItemList.forEach(orderItemDTO -> { + goodsItemList.forEach(goodsDto -> { OrderItemEntity orderItemEntity = new OrderItemEntity(); - BeanUtil.copyProperties(orderItemDTO, orderItemEntity); + orderItemEntity.setId(SnowFlakeUtil.getLongId()); orderItemEntity.setOrderId(orderId); + orderItemEntity.setGoodsType(goodsDto.getGoodsType()); + orderItemEntity.setGoodsId(goodsDto.getGoodsId()); orderItems.add(orderItemEntity); }); int addOrderItems = orderMapper.addOrderItems(orderItems); @@ -106,24 +109,23 @@ public class OrderServiceImpl implements OrderService { return ApiResponse.fail("订单添加失败"); } - - Integer goodsType = order.getOrderItemList().get(NumberConstant.ZERO).getGoodsType(); - Long goodsId = order.getOrderItemList().get(NumberConstant.ZERO).getGoodsId(); + GoodsDetailVO goodsDetailVO = goodsItemList.get(NumberConstant.ZERO); + Integer goodsType = goodsDetailVO.getGoodsType(); + Long goodsId = goodsDetailVO.getGoodsId(); String goodsName = null; if (goodsType == NumberConstant.ONE) { - VideoRespVO videoRespVO = videoMapper.getById(goodsId); - goodsName = videoRespVO.getTemplateName(); + goodsName = goodsDetailVO.getGoodsName(); } else if (goodsType == NumberConstant.TWO) { - SourceRespVO sourceRespVO = sourceMapper.getById(goodsId); - goodsName = SourceTypeNameEnum.getRemark(sourceRespVO.getType()); + Integer sourceType = goodsDetailVO.getSourceType(); + goodsName = SourceTypeNameEnum.getRemark(sourceType); } /* 成片的时候子订单只会有一个,素材的时候 子订单多个且价格与子订单数量无关,只与子订单商品对应景区定义的价格相同*/ GoodsPriceQueryReq goodsPriceQueryReq = new GoodsPriceQueryReq(); goodsPriceQueryReq.setGoodsId(goodsId); goodsPriceQueryReq.setGoodsType(goodsType); -// goodsPriceQueryReq.setScenicId(order.get) + goodsPriceQueryReq.setScenicId(goodsDetailVO.getScenicId()); BigDecimal price = goodsService.queryPrice(goodsPriceQueryReq).getData(); MemberRespVO memberRespVO = memberService.getUserInfo().getData(); diff --git a/src/main/java/com/ycwl/basic/service/mobile/GoodsService.java b/src/main/java/com/ycwl/basic/service/mobile/GoodsService.java index f7840d8..65866cf 100644 --- a/src/main/java/com/ycwl/basic/service/mobile/GoodsService.java +++ b/src/main/java/com/ycwl/basic/service/mobile/GoodsService.java @@ -1,5 +1,6 @@ package com.ycwl.basic.service.mobile; +import com.ycwl.basic.model.mobile.goods.GoodsDetailVO; import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq; import com.ycwl.basic.model.mobile.goods.GoodsReqQuery; import com.ycwl.basic.model.mobile.goods.GoodsPageVO; @@ -27,7 +28,7 @@ public interface GoodsService { * @param query * @return */ - ApiResponse> sourceGoodsList(GoodsReqQuery query); + ApiResponse> sourceGoodsList(GoodsReqQuery query); /** * 查询订单应付价格 @@ -35,4 +36,11 @@ public interface GoodsService { * @return */ ApiResponse queryPrice(GoodsPriceQueryReq queryPriceData); + + /** + * + * @param goodsId 商品(vlog)id + * @return + */ + ApiResponse videoGoodsDetail(Long goodsId); } diff --git a/src/main/resources/mapper/pc/SourceMapper.xml b/src/main/resources/mapper/pc/SourceMapper.xml index afbbe92..10034cb 100644 --- a/src/main/resources/mapper/pc/SourceMapper.xml +++ b/src/main/resources/mapper/pc/SourceMapper.xml @@ -34,6 +34,7 @@ and so.create_time >= #{startTime} and so.create_time <= #{endTime} + order by so.create_time desc