From a11012741501f78df1b7ad193bdfe89db7caa787 Mon Sep 17 00:00:00 2001 From: jieyuu <645634619@qq.com> Date: Tue, 3 Sep 2024 17:33:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E5=8D=95=E8=8E=B7=E5=8F=96=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=94=B6=E8=8E=B7=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/net/jieyuu/utils/JsonData.java | 22 +++++- .../controller/ProductOrderController.java | 4 +- .../net/jieyuu/feign/UserFeignService.java | 21 ++++++ .../jieyuu/service/ProductOrderService.java | 5 +- .../service/impl/ProductOrderServiceImpl.java | 46 ++++++++++++- .../net/jieyuu/vo/ProductOrderAddressVO.java | 68 +++++++++++++++++++ .../jieyuu/controller/BannerController.java | 2 +- .../net/jieyuu/controller/CartController.java | 2 +- .../jieyuu/controller/ProductController.java | 2 +- 9 files changed, 160 insertions(+), 12 deletions(-) create mode 100644 xdclass-order-service/src/main/java/net/jieyuu/feign/UserFeignService.java create mode 100644 xdclass-order-service/src/main/java/net/jieyuu/vo/ProductOrderAddressVO.java diff --git a/xdclass-common/src/main/java/net/jieyuu/utils/JsonData.java b/xdclass-common/src/main/java/net/jieyuu/utils/JsonData.java index b9a7b6f..8022093 100644 --- a/xdclass-common/src/main/java/net/jieyuu/utils/JsonData.java +++ b/xdclass-common/src/main/java/net/jieyuu/utils/JsonData.java @@ -1,5 +1,7 @@ package net.jieyuu.utils; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -26,8 +28,18 @@ public class JsonData { private String msg; + /** + * 获取远程调用数据对象 + * 注意 支持多单词下划线转驼峰(序列化和反序列化) + * 空对象不序列化 + */ + public T getData(TypeReference typeReference) { + return JSON.parseObject(JSON.toJSONString(data), typeReference); + } + /** * 成功,传入数据 + * * @return */ public static JsonData buildSuccess() { @@ -35,7 +47,8 @@ public class JsonData { } /** - * 成功,传入数据 + * 成功,传入数据 + * * @param data * @return */ @@ -45,6 +58,7 @@ public class JsonData { /** * 失败,传入描述信息 + * * @param msg * @return */ @@ -55,6 +69,7 @@ public class JsonData { /** * 自定义状态码和错误信息 + * * @param code * @param msg * @return @@ -65,10 +80,11 @@ public class JsonData { /** * 传入枚举,返回信息 + * * @param codeEnum * @return */ - public static JsonData buildResult(BizCodeEnum codeEnum){ - return JsonData.buildCodeAndMsg(codeEnum.getCode(),codeEnum.getMessage()); + public static JsonData buildResult(BizCodeEnum codeEnum) { + return JsonData.buildCodeAndMsg(codeEnum.getCode(), codeEnum.getMessage()); } } \ No newline at end of file diff --git a/xdclass-order-service/src/main/java/net/jieyuu/controller/ProductOrderController.java b/xdclass-order-service/src/main/java/net/jieyuu/controller/ProductOrderController.java index 054ce14..5e1ea1d 100644 --- a/xdclass-order-service/src/main/java/net/jieyuu/controller/ProductOrderController.java +++ b/xdclass-order-service/src/main/java/net/jieyuu/controller/ProductOrderController.java @@ -26,7 +26,7 @@ import java.io.IOException; * @author jieyuu * @since 2024-08-17 */ -@Api("订单模块") +@Api(tags = "订单模块") @RestController @RequestMapping("/api/order/v1") @Slf4j @@ -39,7 +39,7 @@ public class ProductOrderController { @PostMapping("confirm") public void confirmOrder(@ApiParam("订单对象") @RequestBody ConfirmOrderRequest confirmOrderRequest, HttpServletResponse response) { - JsonData jsonData = orderService.confirmOrder(orderService); + JsonData jsonData = orderService.confirmOrder(confirmOrderRequest); if (jsonData.getCode() == 0) { //根据端类型选择返回类型 String client = confirmOrderRequest.getClientType(); diff --git a/xdclass-order-service/src/main/java/net/jieyuu/feign/UserFeignService.java b/xdclass-order-service/src/main/java/net/jieyuu/feign/UserFeignService.java new file mode 100644 index 0000000..3582930 --- /dev/null +++ b/xdclass-order-service/src/main/java/net/jieyuu/feign/UserFeignService.java @@ -0,0 +1,21 @@ +package net.jieyuu.feign; + + +import net.jieyuu.utils.JsonData; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + + +@FeignClient(name = "xdclass-user-service") +public interface UserFeignService { + /** + * 查看地址详情,接口本身已经防止了水平越权 + * + * @param id + * @return + */ + @GetMapping("/api/address/v1/find/{address_id}") + public JsonData detail(@PathVariable("address_id") long id); + +} diff --git a/xdclass-order-service/src/main/java/net/jieyuu/service/ProductOrderService.java b/xdclass-order-service/src/main/java/net/jieyuu/service/ProductOrderService.java index 7675ef8..1f8e492 100644 --- a/xdclass-order-service/src/main/java/net/jieyuu/service/ProductOrderService.java +++ b/xdclass-order-service/src/main/java/net/jieyuu/service/ProductOrderService.java @@ -2,6 +2,7 @@ package net.jieyuu.service; import net.jieyuu.model.ProductOrderDO; import com.baomidou.mybatisplus.extension.service.IService; +import net.jieyuu.request.ConfirmOrderRequest; import net.jieyuu.utils.JsonData; /** @@ -17,10 +18,10 @@ public interface ProductOrderService extends IService { /** * 创建订单 * - * @param orderService + * @param orderRequest * @return */ - JsonData confirmOrder(ProductOrderService orderService); + JsonData confirmOrder(ConfirmOrderRequest orderRequest); /** diff --git a/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java b/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java index 1e95dfc..f7e283a 100644 --- a/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java +++ b/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java @@ -1,11 +1,21 @@ package net.jieyuu.service.impl; +import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jieyuu.enums.BizCodeEnum; +import net.jieyuu.exception.BizException; +import net.jieyuu.feign.UserFeignService; +import net.jieyuu.interceptor.LoginInterceptor; +import net.jieyuu.model.LoginUser; import net.jieyuu.model.ProductOrderDO; import net.jieyuu.mapper.ProductOrderMapper; +import net.jieyuu.request.ConfirmOrderRequest; import net.jieyuu.service.ProductOrderService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import net.jieyuu.utils.CommonUtil; import net.jieyuu.utils.JsonData; +import net.jieyuu.vo.ProductOrderAddressVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -18,11 +28,15 @@ import org.springframework.stereotype.Service; * @since 2024-08-17 */ @Service +@Slf4j public class ProductOrderServiceImpl extends ServiceImpl implements ProductOrderService { @Autowired private ProductOrderMapper productOrderMapper; + @Autowired + private UserFeignService userFeignService; + /** * * 防重提交 * * 用户微服务-确认收货地址 @@ -37,15 +51,43 @@ public class ProductOrderServiceImpl extends ServiceImpl() { + }); + + return productOrderAddressVO; + } + /** * 查询订单状态 * diff --git a/xdclass-order-service/src/main/java/net/jieyuu/vo/ProductOrderAddressVO.java b/xdclass-order-service/src/main/java/net/jieyuu/vo/ProductOrderAddressVO.java new file mode 100644 index 0000000..95d699b --- /dev/null +++ b/xdclass-order-service/src/main/java/net/jieyuu/vo/ProductOrderAddressVO.java @@ -0,0 +1,68 @@ +package net.jieyuu.vo; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 电商-公司收发货地址表 + *

+ * + * @author jieyuu + * @since 2024-02-12 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("address") +public class ProductOrderAddressVO implements Serializable { + + private Long id; + + /** + * 用户id + */ + private Long userId; + + /** + * 是否默认收货地址:0->否;1->是 + */ + private Integer defaultStatus; + + /** + * 收发货人姓名 + */ + private String receiveName; + + /** + * 收货人电话 + */ + private String phone; + + /** + * 省/直辖市 + */ + private String province; + + /** + * 市 + */ + private String city; + + /** + * 区 + */ + private String region; + + /** + * 详细地址 + */ + private String detailAddress; + + private Date createTime; + + +} diff --git a/xdclass-product-service/src/main/java/net/jieyuu/controller/BannerController.java b/xdclass-product-service/src/main/java/net/jieyuu/controller/BannerController.java index e07de82..03817ed 100644 --- a/xdclass-product-service/src/main/java/net/jieyuu/controller/BannerController.java +++ b/xdclass-product-service/src/main/java/net/jieyuu/controller/BannerController.java @@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController; * @since 2024-08-07 */ -@Api("轮播图模块") +@Api(tags = "轮播图模块") @RestController @RequestMapping("/api/banner/v1") public class BannerController { diff --git a/xdclass-product-service/src/main/java/net/jieyuu/controller/CartController.java b/xdclass-product-service/src/main/java/net/jieyuu/controller/CartController.java index be5a379..3689279 100644 --- a/xdclass-product-service/src/main/java/net/jieyuu/controller/CartController.java +++ b/xdclass-product-service/src/main/java/net/jieyuu/controller/CartController.java @@ -25,7 +25,7 @@ import java.util.Map; * @since 2024-08-07 */ -@Api("购物车") +@Api(tags = "购物车") @RestController @RequestMapping("/api/cart/v1/") public class CartController { diff --git a/xdclass-product-service/src/main/java/net/jieyuu/controller/ProductController.java b/xdclass-product-service/src/main/java/net/jieyuu/controller/ProductController.java index 2399076..8b92935 100644 --- a/xdclass-product-service/src/main/java/net/jieyuu/controller/ProductController.java +++ b/xdclass-product-service/src/main/java/net/jieyuu/controller/ProductController.java @@ -21,7 +21,7 @@ import java.util.Map; * @author jieyuu * @since 2024-08-07 */ -@Api("商品模块") +@Api(tags = "商品模块") @RestController @RequestMapping("/api/product/v1") public class ProductController {