From c36d0c3a4bbbd7570f3e51ad777d6835fe28a726 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Fri, 29 Mar 2024 13:46:08 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=96=B0=E5=A2=9E/=E4=BF=AE=E5=A4=8D):=20?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AE=A2=E5=8D=95=E7=BB=93=E7=AE=97=EF=BC=8C?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=B4=AD=E7=89=A9=E8=BD=A6=E5=A4=B1=E6=95=88?= =?UTF-8?q?=EF=BC=8C=E8=AE=A2=E5=8D=95mapper=E8=B7=AF=E5=BE=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: bunny <1319900154@qq.com> --- .../atguigu/cart/service/impl/CartServiceImpl.java | 6 +++++- .../main/java/com/atguigu/order/OrderApplication.java | 2 ++ .../atguigu/order/controller/OrderInfoController.java | 2 +- .../order/service/impl/OrderInfoServiceImpl.java | 10 ++++------ .../src/main/resources/mapper/OrderInfoMapper.xml | 2 +- .../com/atguigu/pay/controller/AlipayController.java | 3 ++- .../atguigu/pay/service/impl/AlipayServiceImpl.java | 11 +++++++++-- .../src/main/resources/application-alipay.yml | 4 ++-- .../src/main/resources/application.yml | 2 +- .../resources/mapper/product/ProductSkuMapper.xml | 2 +- 10 files changed, 28 insertions(+), 16 deletions(-) diff --git a/spzx-service/service-cart/src/main/java/com/atguigu/cart/service/impl/CartServiceImpl.java b/spzx-service/service-cart/src/main/java/com/atguigu/cart/service/impl/CartServiceImpl.java index c1c69ef..873b303 100644 --- a/spzx-service/service-cart/src/main/java/com/atguigu/cart/service/impl/CartServiceImpl.java +++ b/spzx-service/service-cart/src/main/java/com/atguigu/cart/service/impl/CartServiceImpl.java @@ -8,6 +8,7 @@ import com.atguigu.feign.product.ProductFeignClient; import com.atguigu.spzx.model.entity.h5.CartInfo; import com.atguigu.spzx.model.entity.product.ProductSku; import com.atguigu.utils.RedisUtils; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -19,6 +20,7 @@ import java.util.Objects; import java.util.stream.Collectors; @Service +@Slf4j public class CartServiceImpl implements CartService { @Autowired private RedisTemplate redisTemplate; @@ -186,11 +188,13 @@ public class CartServiceImpl implements CartService { */ @Override public void deleteChecked() { + log.info("清空提交过的购物车"); + Long userId = BaseContext.getUserInfo().getId(); String cartKey = RedisUtils.getCartKey(userId); List objectList = redisTemplate.opsForHash().values(cartKey); // 删除选中的购物项数据 if (!CollectionUtils.isEmpty(objectList)) { - objectList.stream().map(cartInfoJSON -> JSON.parseObject(cartInfoJSON.toString(), CartInfo.class)) + objectList.stream().map(cartInfoJSON -> JSON.parseObject(JSON.toJSONString(cartInfoJSON), CartInfo.class)) .filter(cartInfo -> cartInfo.getIsChecked() == 1) .forEach(cartInfo -> redisTemplate.opsForHash().delete(cartKey, String.valueOf(cartInfo.getSkuId()))); } diff --git a/spzx-service/service-order/src/main/java/com/atguigu/order/OrderApplication.java b/spzx-service/service-order/src/main/java/com/atguigu/order/OrderApplication.java index 24d8646..9f5f308 100644 --- a/spzx-service/service-order/src/main/java/com/atguigu/order/OrderApplication.java +++ b/spzx-service/service-order/src/main/java/com/atguigu/order/OrderApplication.java @@ -5,10 +5,12 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.ComponentScan; @SpringBootApplication @EnableFeignClients(basePackages = {"com.atguigu.feign"}) @EnableUserTokenFeignInterceptor +@ComponentScan("com.atguigu") @Slf4j public class OrderApplication { public static void main(String[] args) { diff --git a/spzx-service/service-order/src/main/java/com/atguigu/order/controller/OrderInfoController.java b/spzx-service/service-order/src/main/java/com/atguigu/order/controller/OrderInfoController.java index e987d7f..fac9356 100644 --- a/spzx-service/service-order/src/main/java/com/atguigu/order/controller/OrderInfoController.java +++ b/spzx-service/service-order/src/main/java/com/atguigu/order/controller/OrderInfoController.java @@ -55,7 +55,7 @@ public class OrderInfoController { @PathVariable Integer page, @Parameter(name = "limit", description = "每页记录数", required = true) @PathVariable Integer limit, - @Parameter(name = "orderStatus", description = "订单状态", required = false) + @Parameter(name = "orderStatus", description = "订单状态") @RequestParam(required = false, defaultValue = "") Integer orderStatus) { PageInfo pageInfo = orderInfoService.findUserPage(page, limit, orderStatus); return Result.success(pageInfo); diff --git a/spzx-service/service-order/src/main/java/com/atguigu/order/service/impl/OrderInfoServiceImpl.java b/spzx-service/service-order/src/main/java/com/atguigu/order/service/impl/OrderInfoServiceImpl.java index 0e85ee0..567c78f 100644 --- a/spzx-service/service-order/src/main/java/com/atguigu/order/service/impl/OrderInfoServiceImpl.java +++ b/spzx-service/service-order/src/main/java/com/atguigu/order/service/impl/OrderInfoServiceImpl.java @@ -21,7 +21,6 @@ import com.atguigu.spzx.model.entity.user.UserAddress; import com.atguigu.spzx.model.entity.user.UserInfo; import com.atguigu.spzx.model.vo.h5.TradeVo; import com.atguigu.spzx.model.vo.result.ResultCodeEnum; -import com.atguigu.utils.EmptyUtil; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -48,9 +47,6 @@ public class OrderInfoServiceImpl implements OrderInfoService { private OrderItemMapper orderItemMapper; @Autowired private OrderLogMapper orderLogMapper; - @Autowired - private EmptyUtil emptyUtil; - /** * 确认下单 @@ -85,21 +81,23 @@ public class OrderInfoServiceImpl implements OrderInfoService { // 数据校验 List orderItemList = orderInfoDto.getOrderItemList(); if (CollectionUtils.isEmpty(orderItemList)) { + log.error("com.atguigu.order.service.impl===>submitOrder,orderItemList为空"); throw new BunnyException(ResultCodeEnum.DATA_ERROR); } // 检验商品库存是否充足,遍历list集合 orderItemList.forEach(orderItem -> { ProductSku productSku = productFeignClient.getBySkuId(orderItem.getSkuId()).getData(); if (productSku == null) { + log.error("com.atguigu.order.service.impl===>submitOrder,productSku"); throw new BunnyException(MessageConstant.DATA_IS_EMPTY); } // 检验每个库存是否充足 if (productSku.getStockNum() < orderItem.getSkuNum()) { + log.error("com.atguigu.order.service.impl===>submitOrder,库存不足"); throw new BunnyException(MessageConstant.STOCK_LESS); } }); - // 添加数据到order_info表 // 构建订单数据,保存订单 UserInfo userInfo = BaseContext.getUserInfo(); OrderInfo orderInfo = new OrderInfo(); @@ -129,7 +127,6 @@ public class OrderInfoServiceImpl implements OrderInfoService { orderInfo.setFeightFee(orderInfoDto.getFeightFee()); orderInfo.setPayType(2); orderInfo.setOrderStatus(0); - // 添加数据到order_info中 orderInfoMapper.save(orderInfo); // 保存订单明细 @@ -159,6 +156,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { */ @Override public OrderInfo getOrderInfo(Long orderId) { + log.info("com.atguigu.order.service.impl===>getOrderInfo"); return orderInfoMapper.getById(orderId); } diff --git a/spzx-service/service-order/src/main/resources/mapper/OrderInfoMapper.xml b/spzx-service/service-order/src/main/resources/mapper/OrderInfoMapper.xml index a63c566..ee72638 100644 --- a/spzx-service/service-order/src/main/resources/mapper/OrderInfoMapper.xml +++ b/spzx-service/service-order/src/main/resources/mapper/OrderInfoMapper.xml @@ -7,7 +7,7 @@ - + insert into order_info (id, user_id, nick_name, diff --git a/spzx-service/service-pay/src/main/java/com/atguigu/pay/controller/AlipayController.java b/spzx-service/service-pay/src/main/java/com/atguigu/pay/controller/AlipayController.java index 9f993c9..f0debbb 100644 --- a/spzx-service/service-pay/src/main/java/com/atguigu/pay/controller/AlipayController.java +++ b/spzx-service/service-pay/src/main/java/com/atguigu/pay/controller/AlipayController.java @@ -1,5 +1,6 @@ package com.atguigu.pay.controller; +import com.alipay.api.AlipayApiException; import com.atguigu.pay.service.AlipayService; import com.atguigu.spzx.model.vo.result.Result; import io.swagger.v3.oas.annotations.Operation; @@ -18,7 +19,7 @@ public class AlipayController { @Operation(summary = "支付宝下单") @GetMapping("submitAlipay/{orderNo}") @ResponseBody - public Result submitAlipay(@Parameter(name = "orderNo", description = "订单号", required = true) @PathVariable(value = "orderNo") String orderNo) { + public Result submitAlipay(@Parameter(name = "orderNo", description = "订单号", required = true) @PathVariable(value = "orderNo") String orderNo) throws AlipayApiException { String form = alipayService.submitAlipay(orderNo); return Result.success(form); } diff --git a/spzx-service/service-pay/src/main/java/com/atguigu/pay/service/impl/AlipayServiceImpl.java b/spzx-service/service-pay/src/main/java/com/atguigu/pay/service/impl/AlipayServiceImpl.java index 236dd4e..df8c355 100644 --- a/spzx-service/service-pay/src/main/java/com/atguigu/pay/service/impl/AlipayServiceImpl.java +++ b/spzx-service/service-pay/src/main/java/com/atguigu/pay/service/impl/AlipayServiceImpl.java @@ -37,7 +37,7 @@ public class AlipayServiceImpl implements AlipayService { * @return 支付表单 */ @Override - public String submitAlipay(String orderNo) throws AlipayApiException { + public String submitAlipay(String orderNo) { // 保存支付记录 PaymentInfo paymentInfo = paymentInfoService.savePaymentInfo(orderNo); @@ -54,12 +54,19 @@ public class AlipayServiceImpl implements AlipayService { map.put("out_trade_no", paymentInfo.getOrderNo()); map.put("product_code", "QUICK_WAP_WAY"); // map.put("total_amount",paymentInfo.getAmount()); + // TODO 修改金额 map.put("total_amount", new BigDecimal("0.01")); map.put("subject", paymentInfo.getContent()); alipayRequest.setBizContent(JSON.toJSONString(map)); // 发送请求 - AlipayTradeWapPayResponse response = alipayClient.pageExecute(alipayRequest); + AlipayTradeWapPayResponse response = null; + try { + response = alipayClient.pageExecute(alipayRequest); + } catch (AlipayApiException exception) { + throw new BunnyException(exception.getMessage()); + } + if (response.isSuccess()) { log.info("调用成功"); return response.getBody(); diff --git a/spzx-service/service-pay/src/main/resources/application-alipay.yml b/spzx-service/service-pay/src/main/resources/application-alipay.yml index 0d06b27..5890ff9 100644 --- a/spzx-service/service-pay/src/main/resources/application-alipay.yml +++ b/spzx-service/service-pay/src/main/resources/application-alipay.yml @@ -3,5 +3,5 @@ alipay: app_id: 2021000122609658 app_private_key: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCXHXwKl51d5htttzJDQg1Oq+w/RAdjdGlTgGlodWxM5Vszd9IgnEffB2HlsGcpgHDteppONr8rWsEy/LmwaMR9C83YfgFPRbSIYATrQw1VynuwEFwvlW5FBT00QUqmL1AXaFGWLAao8xjRjQiArhnQA+o88DXEVnUwHTWFd8aOymesOUjJGWOId6x1MnK8om66Zxc/QFR/vZoQaE8YrATNGMMd1O1CGsnwgJ1bBOcG1Cv1dF903gllGwkLhSE3LK1/SbUg0fUi8mHU0EUyasbknlFqBdvFvJZZJ0NC+Z2sZqXV57DLa8M7bp6+YsDuc0o0EAVnLx7beYlDjwGDMgqxAgMBAAECggEAJo9UfpNviW1VJGrxvW3WXXPLRd2DESK8WZ1TyF7mMrz3x6tUiBO41zVYCrc3q8RljIOTak/X+iUfVXZdn6EsOkhPz2Vfyi2cQoxV1P54IaMYarXSACZeS+hpVLMwbDV4d3CcGPjE/kmB1L7rI4LJfWXyWHhnD+GL56ocZSFKHlcsY2bx99T+HHKTretBRnLQ8q8/iZLkTbxReaMd3o9dGTqS75d3O1nT4u0A8Pupo2dPrlE7NvtOLJMEKixToJPAfJ0b2/H1nxV19/ZW3xvRPJjSIdx32ULuUIyzkAMlH5jwO3D9NMR8fbLcsewgDAif0sPB3USpUT/4AfmJAdcVrQKBgQDf1DnUXQ/JPH/SS78W1EdUzvhGjead1NCG70gZH9YKWS3+l4wkl7l1bqrXGe17jVnPD0vHQZT7V9MjQpa0n9mGU6jKt7ym27BQwF6CLqLE82ITKKqRhUAY7D/TpXPD+DI4STmRqEWDzCgAeX2B9Y7MtOndlExPh8ZxPKtPxDPsNwKBgQCs1cH8h/nGXMv2I0hLPdIKVAQRPDCVBpzuycxn2ezHDcz5rBrYsjOpdNr3SWzcavduGI4A673uWa5znO2KE4e8Y8Uoi75wI7nx4/VapsnS8IuqpIOpkLR2ovEjxGz1BI6QyIg1Xl3QFF65BBVEucgYeLXvt/dMdUA7Z7id/h9cVwKBgDZkZmE69Dkc4JsEGT28/FCZsy/CEAbOzpXb1BN27xa4sTqrLT0/OaxV5mI7RMC/itGMkAet4jxqDT8GUYU3Sy8faWdJ2yhZPrGA7faIyrk9w9mQClMupHLqBmCyVj2LNPkEol7JG4t5s0baPyuztq38UNCt1xWEky61ZZQOw+dlAoGAQdEhD0bEwlpCPZhQBn8jRlWaOun94jJjfreQRJgDiAXkYcu9aXnrHIPogrUOZJ3DXcSyBv2/FU5HlbVT6/nl/cLMqNUWj2O7grb5jyzmvJJnzXLaxK7bWjZQt/ssNt4mYFJNNG2cMgofzDsW0lYhMdh+CCy5Wv9nl3e3IUtNq/8CgYASPcPdaCBLzCSGlTV9HMhQwRhOpWLOzQNKprebQf0fubNFGd6+yfM6DdejHXf6KH4IgV9l8OPe5ro85tmrBkvMlbh7KHbpYJ/V9cdMKd+kbxoJTkRKCnoZhY5QSuEMoC8OB1qhzJeuoqUvmpi0q569IBXrxZguD29ZqwGxoa1KNg== alipay_public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk41ooyX7utKM9B7jNcc4EzmyVU0Qfs18KFVFwyhl7YQMw/PB2YVQreVSvvb1rS/2YVxcjLK/9ehD//79b8aoxhFlEGqA7fGu0C2UR6pl+PhmRLcHeyN+DOG87Fhqb1t4JXmXQc1LXUfelJoh+r5XnMPWDAlY5JJtH3GZIU+AoBt9PuEtfhh03LL6WtnJMwOnqH94T8qHymLDftEGOWme1iAlenB692cUId20BmLJal621EAN+xpmkeJZEpx1wQ2fGhyTo7pm4v8LVLuqzOXkraffITvfbPl5IU0kjjs/QECwItAI0IBbNsDutezw/a0JobijjoF28uo4gtwmncBoQwIDAQAB - return_payment_url: http://192.168.136.142/#/pages/money/paySuccess - notify_payment_url: http://127.0.0.1:8500/api/order/alipay/callback/notify \ No newline at end of file + return_payment_url: http://localhost/#/pages/money/paySuccess + notify_payment_url: http://4c428eff.r7.cpolar.top/api/order/alipay/callback/notify \ No newline at end of file diff --git a/spzx-service/service-product/src/main/resources/application.yml b/spzx-service/service-product/src/main/resources/application.yml index 77a0d3b..333b6a7 100644 --- a/spzx-service/service-product/src/main/resources/application.yml +++ b/spzx-service/service-product/src/main/resources/application.yml @@ -43,7 +43,7 @@ logging: mybatis: type-aliases-package: com.atguigu.spzx.model - mapper-locations: classpath:/mapper/*.xml + mapper-locations: classpath:/mapper/*/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl map-underscore-to-camel-case: true diff --git a/spzx-service/service-product/src/main/resources/mapper/product/ProductSkuMapper.xml b/spzx-service/service-product/src/main/resources/mapper/product/ProductSkuMapper.xml index 8577fb2..f79ffcf 100644 --- a/spzx-service/service-product/src/main/resources/mapper/product/ProductSkuMapper.xml +++ b/spzx-service/service-product/src/main/resources/mapper/product/ProductSkuMapper.xml @@ -55,7 +55,7 @@