From a825db6dee6b972216fa3f152ef08a11bfc4c349 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Fri, 29 Mar 2024 15:43:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=96=B0=E5=A2=9E):=20=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: bunny <1319900154@qq.com> --- .../atguigu/feign/order/OrderFeignClient.java | 3 + .../feign/product/ProductFeignClient.java | 8 ++ .../order/controller/OrderInfoController.java | 7 ++ .../atguigu/order/mapper/OrderInfoMapper.java | 15 ++++ .../order/service/OrderInfoService.java | 8 ++ .../service/impl/OrderInfoServiceImpl.java | 24 ++++++ .../main/resources/mapper/OrderInfoMapper.xml | 85 +++++++++++++++++++ .../service/impl/PaymentInfoServiceImpl.java | 4 +- .../product/controller/ProductController.java | 14 ++- .../product/mapper/ProductSkuMapper.java | 8 ++ .../product/service/ProductService.java | 9 ++ .../service/impl/ProductServiceImpl.java | 20 +++++ .../mapper/product/ProductSkuMapper.xml | 8 ++ 13 files changed, 207 insertions(+), 6 deletions(-) diff --git a/spzx-service-client/service-order-client/src/main/java/com/atguigu/feign/order/OrderFeignClient.java b/spzx-service-client/service-order-client/src/main/java/com/atguigu/feign/order/OrderFeignClient.java index aaa7294..a640997 100644 --- a/spzx-service-client/service-order-client/src/main/java/com/atguigu/feign/order/OrderFeignClient.java +++ b/spzx-service-client/service-order-client/src/main/java/com/atguigu/feign/order/OrderFeignClient.java @@ -10,4 +10,7 @@ import org.springframework.web.bind.annotation.PathVariable; public interface OrderFeignClient { @GetMapping("/auth/getOrderInfoByOrderNo/{orderNo}") Result getOrderInfoByOrderNo(@PathVariable String orderNo); + + @GetMapping("auth/updateOrderStatusPayed/{orderNo}/{orderStatus}") + Result updateOrderStatus(@PathVariable(value = "orderNo") String orderNo, @PathVariable(value = "orderStatus") Integer orderStatus); } \ No newline at end of file diff --git a/spzx-service-client/service-product-client/src/main/java/com/atguigu/feign/product/ProductFeignClient.java b/spzx-service-client/service-product-client/src/main/java/com/atguigu/feign/product/ProductFeignClient.java index 2bee61c..c57853d 100644 --- a/spzx-service-client/service-product-client/src/main/java/com/atguigu/feign/product/ProductFeignClient.java +++ b/spzx-service-client/service-product-client/src/main/java/com/atguigu/feign/product/ProductFeignClient.java @@ -1,13 +1,21 @@ package com.atguigu.feign.product; +import com.atguigu.spzx.model.dto.product.SkuSaleDto; import com.atguigu.spzx.model.entity.product.ProductSku; import com.atguigu.spzx.model.vo.result.Result; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; @FeignClient(value = "service-product", path = "/api/product/") public interface ProductFeignClient { @GetMapping("getBySkuId/{skuId}") Result getBySkuId(@PathVariable Long skuId); + + @PostMapping("updateSkuSaleNum") + Boolean updateSkuSaleNum(@RequestBody List skuSaleDtoList); } 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 fac9356..4e5d4f4 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 @@ -67,4 +67,11 @@ public class OrderInfoController { OrderInfo orderInfo = orderInfoService.getByOrderNo(orderNo); return Result.build(orderInfo, ResultCodeEnum.SUCCESS); } + + @Operation(summary = "获取订单分页列表") + @GetMapping("auth/updateOrderStatusPayed/{orderNo}/{orderStatus}") + public Result updateOrderStatus(@PathVariable(value = "orderNo") String orderNo, @PathVariable(value = "orderStatus") Integer orderStatus) { + orderInfoService.updateOrderStatus(orderNo, orderStatus); + return Result.success(); + } } \ No newline at end of file diff --git a/spzx-service/service-order/src/main/java/com/atguigu/order/mapper/OrderInfoMapper.java b/spzx-service/service-order/src/main/java/com/atguigu/order/mapper/OrderInfoMapper.java index 368fc38..7e45589 100644 --- a/spzx-service/service-order/src/main/java/com/atguigu/order/mapper/OrderInfoMapper.java +++ b/spzx-service/service-order/src/main/java/com/atguigu/order/mapper/OrderInfoMapper.java @@ -31,4 +31,19 @@ public interface OrderInfoMapper { * @return 订单信息 */ OrderInfo getOrderInfoByOrderNo(String orderNo); + + /** + * 更新订单状态 + * + * @param orderInfo orderInfo + */ + void updateById(OrderInfo orderInfo); + + /** + * 根据订单ID获取 + * + * @param orderNo 定点杆编号 + * @return OrderInfo + */ + OrderInfo getByOrderNo(String orderNo); } diff --git a/spzx-service/service-order/src/main/java/com/atguigu/order/service/OrderInfoService.java b/spzx-service/service-order/src/main/java/com/atguigu/order/service/OrderInfoService.java index 81ec280..1bfe0af 100644 --- a/spzx-service/service-order/src/main/java/com/atguigu/order/service/OrderInfoService.java +++ b/spzx-service/service-order/src/main/java/com/atguigu/order/service/OrderInfoService.java @@ -54,4 +54,12 @@ public interface OrderInfoService { * @return OrderInfo */ OrderInfo getByOrderNo(String orderNo); + + /** + * 获取订单分页列表 + * + * @param orderNo orderNo + * @param orderStatus orderStatus + */ + void updateOrderStatus(String orderNo, Integer orderStatus); } 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 567c78f..164c967 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 @@ -28,6 +28,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Date; import java.util.List; @Service @@ -223,4 +224,27 @@ public class OrderInfoServiceImpl implements OrderInfoService { orderInfo.setOrderItemList(orderItemList); return orderInfo; } + + /** + * 获取订单分页列表 + * + * @param orderNo orderNo + * @param orderStatus orderStatus + */ + @Override + public void updateOrderStatus(String orderNo, Integer orderStatus) { + // 更新订单状态 + OrderInfo orderInfo = orderInfoMapper.getByOrderNo(orderNo); + orderInfo.setOrderStatus(1); + orderInfo.setPayType(orderStatus); + orderInfo.setPaymentTime(new Date()); + orderInfoMapper.updateById(orderInfo); + + // 记录日志 + OrderLog orderLog = new OrderLog(); + orderLog.setOrderId(orderInfo.getId()); + orderLog.setProcessStatus(1); + orderLog.setNote("支付宝支付成功"); + orderLogMapper.save(orderLog); + } } 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 ee72638..2aa914d 100644 --- a/spzx-service/service-order/src/main/resources/mapper/OrderInfoMapper.xml +++ b/spzx-service/service-order/src/main/resources/mapper/OrderInfoMapper.xml @@ -58,6 +58,83 @@ #{cancelReason}) + + + update order_info set + + user_id = #{userId}, + + + nick_name = #{nickName}, + + + order_no = #{orderNo}, + + + coupon_id = #{couponId}, + + + total_amount = #{totalAmount}, + + + coupon_amount = #{couponAmount}, + + + original_total_amount = #{originalTotalAmount}, + + + feight_fee = #{feightFee}, + + + pay_type = #{payType}, + + + order_status = #{orderStatus}, + + + receiver_name = #{receiverName}, + + + receiver_phone = #{receiverPhone}, + + + receiver_tag_name = #{receiverTagName}, + + + receiver_province = #{receiverProvince}, + + + receiver_city = #{receiverCity}, + + + receiver_district = #{receiverDistrict}, + + + receiver_address = #{receiverAddress}, + + + payment_time = #{paymentTime}, + + + delivery_time = #{deliveryTime}, + + + receive_time = #{receiveTime}, + + + remark = #{remark}, + + + cancel_time = #{cancelTime}, + + + cancel_reason = #{cancelReason}, + + update_time = now() + where + id = #{id} + + + + + diff --git a/spzx-service/service-pay/src/main/java/com/atguigu/pay/service/impl/PaymentInfoServiceImpl.java b/spzx-service/service-pay/src/main/java/com/atguigu/pay/service/impl/PaymentInfoServiceImpl.java index 0e010e5..8b7a080 100644 --- a/spzx-service/service-pay/src/main/java/com/atguigu/pay/service/impl/PaymentInfoServiceImpl.java +++ b/spzx-service/service-pay/src/main/java/com/atguigu/pay/service/impl/PaymentInfoServiceImpl.java @@ -54,8 +54,8 @@ public class PaymentInfoServiceImpl implements PaymentInfoService { /** * 支付完成后更新状态 * - * @param paramMap paramMap - * @param i i + * @param map paramMap + * @param i i */ @Override public void updatePaymentStatus(Map map, int i) { diff --git a/spzx-service/service-product/src/main/java/com/atguigu/product/controller/ProductController.java b/spzx-service/service-product/src/main/java/com/atguigu/product/controller/ProductController.java index 5951ab6..48f2179 100644 --- a/spzx-service/service-product/src/main/java/com/atguigu/product/controller/ProductController.java +++ b/spzx-service/service-product/src/main/java/com/atguigu/product/controller/ProductController.java @@ -2,6 +2,7 @@ package com.atguigu.product.controller; import com.atguigu.product.service.ProductService; import com.atguigu.spzx.model.dto.h5.ProductSkuDto; +import com.atguigu.spzx.model.dto.product.SkuSaleDto; import com.atguigu.spzx.model.entity.product.ProductSku; import com.atguigu.spzx.model.vo.h5.ProductItemVo; import com.atguigu.spzx.model.vo.result.Result; @@ -10,10 +11,9 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; @Tag(name = "商品列表管理") @RestController @@ -44,4 +44,10 @@ public class ProductController { ProductSku productSku = productService.getBySkuId(skuId); return Result.success(productSku); } + + @Operation(summary = "更新商品sku销量") + @PostMapping("updateSkuSaleNum") + public Boolean updateSkuSaleNum(@RequestBody List skuSaleDtoList) { + return productService.updateSkuSaleNum(skuSaleDtoList); + } } \ No newline at end of file diff --git a/spzx-service/service-product/src/main/java/com/atguigu/product/mapper/ProductSkuMapper.java b/spzx-service/service-product/src/main/java/com/atguigu/product/mapper/ProductSkuMapper.java index f8cde6a..4d52a37 100644 --- a/spzx-service/service-product/src/main/java/com/atguigu/product/mapper/ProductSkuMapper.java +++ b/spzx-service/service-product/src/main/java/com/atguigu/product/mapper/ProductSkuMapper.java @@ -38,4 +38,12 @@ public interface ProductSkuMapper { * @return List */ List findByProductId(Long productId); + + /** + * 更新商品sku销量 + * + * @param skuId skuId + * @param num num + */ + void updateSale(Long skuId, Integer num); } diff --git a/spzx-service/service-product/src/main/java/com/atguigu/product/service/ProductService.java b/spzx-service/service-product/src/main/java/com/atguigu/product/service/ProductService.java index 15fe5b1..14d7115 100644 --- a/spzx-service/service-product/src/main/java/com/atguigu/product/service/ProductService.java +++ b/spzx-service/service-product/src/main/java/com/atguigu/product/service/ProductService.java @@ -1,6 +1,7 @@ package com.atguigu.product.service; import com.atguigu.spzx.model.dto.h5.ProductSkuDto; +import com.atguigu.spzx.model.dto.product.SkuSaleDto; import com.atguigu.spzx.model.entity.product.ProductSku; import com.atguigu.spzx.model.vo.h5.ProductItemVo; import com.github.pagehelper.PageInfo; @@ -40,4 +41,12 @@ public interface ProductService { * @return 获取ProductSku */ ProductSku getBySkuId(Long skuId); + + /** + * 更新商品sku销量 + * + * @param skuSaleDtoList skuSaleDtoList + * @return Boolean + */ + Boolean updateSkuSaleNum(List skuSaleDtoList); } diff --git a/spzx-service/service-product/src/main/java/com/atguigu/product/service/impl/ProductServiceImpl.java b/spzx-service/service-product/src/main/java/com/atguigu/product/service/impl/ProductServiceImpl.java index cf8e427..73ffdcd 100644 --- a/spzx-service/service-product/src/main/java/com/atguigu/product/service/impl/ProductServiceImpl.java +++ b/spzx-service/service-product/src/main/java/com/atguigu/product/service/impl/ProductServiceImpl.java @@ -1,11 +1,13 @@ package com.atguigu.product.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.nacos.client.naming.utils.CollectionUtils; import com.atguigu.product.mapper.ProductDetailMapper; import com.atguigu.product.mapper.ProductMapper; import com.atguigu.product.mapper.ProductSkuMapper; import com.atguigu.product.service.ProductService; import com.atguigu.spzx.model.dto.h5.ProductSkuDto; +import com.atguigu.spzx.model.dto.product.SkuSaleDto; import com.atguigu.spzx.model.entity.product.Product; import com.atguigu.spzx.model.entity.product.ProductDetails; import com.atguigu.spzx.model.entity.product.ProductSku; @@ -15,6 +17,7 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; import java.util.HashMap; @@ -100,4 +103,21 @@ public class ProductServiceImpl implements ProductService { public ProductSku getBySkuId(Long skuId) { return productSkuMapper.getById(skuId); } + + /** + * 更新商品sku销量 + * + * @param skuSaleDtoList skuSaleDtoList + * @return Boolean + */ + @Transactional + @Override + public Boolean updateSkuSaleNum(List skuSaleDtoList) { + if (!CollectionUtils.isEmpty(skuSaleDtoList)) { + for (SkuSaleDto skuSaleDto : skuSaleDtoList) { + productSkuMapper.updateSale(skuSaleDto.getSkuId(), skuSaleDto.getNum()); + } + } + return 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 f79ffcf..bd13cbd 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 @@ -1,6 +1,14 @@ + + + update product_sku + set sale_num = sale_num + #{num}, + stock_num = stock_num - #{num}, + update_time = now() + where id = #{skuId} +