交易改造

This commit is contained in:
zhuyang
2021-10-09 22:10:39 +08:00
parent b5480816ef
commit 001892824c
12 changed files with 259 additions and 193 deletions

View File

@@ -0,0 +1,74 @@
package cn.iocoder.mall.tradeservice.controller;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.tradeservice.rpc.cart.dto.*;
import cn.iocoder.mall.tradeservice.service.cart.CartManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import static cn.iocoder.common.framework.vo.CommonResult.success;
@RestController
@RequestMapping("/trade/cart")
public class CartController {
@Autowired
private CartManager cartManager;
/**
* 添加商品到购物车
*
* @param addReqDTO 添加商品信息
* @return 成功
*/
@PostMapping("addCartItem")
CommonResult<Boolean> addCartItem(@RequestBody CartItemAddReqDTO addReqDTO){
cartManager.addCartItem(addReqDTO);
return success(true);
}
/**
* 更新购物车商品数量
*
* @param updateQuantityReqDTO 更新商品数量 DTO
* @return 成功
*/
@PostMapping("updateCartItemQuantity")
CommonResult<Boolean> updateCartItemQuantity(@RequestBody CartItemUpdateQuantityReqDTO updateQuantityReqDTO){
cartManager.updateCartItemSelected(updateQuantityReqDTO);
return success(true);
}
/**
* 更新购物车商品是否选中
*
* @param updateSelectedReqDTO 更新商品是否选中 DTO
* @return 成功
*/
@PostMapping("updateCartItemSelected")
CommonResult<Boolean> updateCartItemSelected(@RequestBody CartItemUpdateSelectedReqDTO updateSelectedReqDTO){
cartManager.updateCartItemSelected(updateSelectedReqDTO);
return success(true);
}
/**
* 删除购物车商品列表
*
* @param deleteListReqDTO 删除商品列表 DTO
* @return 成功
*/
@PostMapping("deleteCartItems")
CommonResult<Boolean> deleteCartItems(@RequestBody CartItemDeleteListReqDTO deleteListReqDTO){
cartManager.deleteCartItems(deleteListReqDTO);
return success(true);
}
@GetMapping("/sumCartItemQuantity")
public CommonResult<Integer> sumCartItemQuantity(@RequestParam("userId") Integer userId) {
return success(cartManager.sumCartItemQuantity(userId));
}
@PostMapping("/listCartItems")
public CommonResult<List<CartItemRespDTO>> listCartItems(@RequestBody CartItemListReqDTO listReqDTO) {
return success(cartManager.listCartItems(listReqDTO));
}
}

View File

@@ -0,0 +1,78 @@
package cn.iocoder.mall.tradeservice.controller;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.common.framework.vo.PageResult;
import cn.iocoder.mall.tradeservice.rpc.order.dto.TradeOrderCreateReqDTO;
import cn.iocoder.mall.tradeservice.rpc.order.dto.TradeOrderPageReqDTO;
import cn.iocoder.mall.tradeservice.rpc.order.dto.TradeOrderRespDTO;
import cn.iocoder.mall.tradeservice.service.order.TradeOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Collection;
import static cn.iocoder.common.framework.vo.CommonResult.success;
/**
* Title:
* Description:
*
* @author zhuyang
* @version 1.0 2021/10/9
*/
@RestController
@RequestMapping("/trade/order")
public class TradeOrderController {
@Autowired
private TradeOrderService tradeOrderService;
/**
* 创建交易订单
*
* @param createReqDTO 订单信息
* @return 订单编号
*/
@PostMapping("createTradeOrder")
CommonResult<Integer> createTradeOrder(@RequestBody TradeOrderCreateReqDTO createReqDTO){
return success(tradeOrderService.createTradeOrder(createReqDTO));
}
/**
* 获得订单交易
*
* @param tradeOrderId 订单交易编号
* @param fields 额外返回字段,可见 {@link cn.iocoder.mall.tradeservice.enums.order.TradeOrderDetailFieldEnum}
* @return 订单交易
*/
@GetMapping("getTradeOrder")
CommonResult<TradeOrderRespDTO> getTradeOrder( @RequestParam("tradeOrderId")Integer tradeOrderId, @RequestParam("fields") Collection<String> fields){
return success(tradeOrderService.getTradeOrder(tradeOrderId, fields));
}
/**
* 获得交易订单分页
*
* @param pageDTO 订单交易分页查询
* @return 订单交易分页结果
*/
@PostMapping("pageTradeOrder")
CommonResult<PageResult<TradeOrderRespDTO>> pageTradeOrder(@RequestBody TradeOrderPageReqDTO pageDTO){
return success(tradeOrderService.pageTradeOrder(pageDTO));
}
// TODO 芋艿:需要重构成入参是 DTO方便后续升级返回是 CommonResult用于返回失败的原因
/**
* 更新交易订单支付成功
*
* 目前用于对接 pay-service 支付服务,回调该交易订单在三方支付平台,支付成功
*
* @param tradeOrderId 交易订单编号
* @param payAmount 支付金额
* @return 成功
*/
@PostMapping("updateTradeOrderPaySuccess")
CommonResult<Boolean> updateTradeOrderPaySuccess(@RequestParam("tradeOrderId") String tradeOrderId, @RequestParam("payAmount")Integer payAmount){
tradeOrderService.updateTradeOrderPaySuccess(Integer.valueOf(tradeOrderId), payAmount);
return success(true);
}
}

View File

@@ -1,56 +0,0 @@
package cn.iocoder.mall.tradeservice.rpc.cart;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.tradeservice.service.cart.CartManager;
import cn.iocoder.mall.tradeservice.rpc.cart.dto.*;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import static cn.iocoder.common.framework.vo.CommonResult.success;
/**
* 购物车 Rpc 实现
*/
@DubboService
public class CartRpcImpl implements CartRpc {
@Autowired
private CartManager cartManager;
@Override
public CommonResult<Boolean> addCartItem(CartItemAddReqDTO addItemReqDTO) {
cartManager.addCartItem(addItemReqDTO);
return success(true);
}
@Override
public CommonResult<Boolean> updateCartItemQuantity(CartItemUpdateQuantityReqDTO updateQuantityReqDTO) {
cartManager.updateCartItemSelected(updateQuantityReqDTO);
return success(true);
}
@Override
public CommonResult<Boolean> updateCartItemSelected(CartItemUpdateSelectedReqDTO updateSelectedReqDTO) {
cartManager.updateCartItemSelected(updateSelectedReqDTO);
return success(true);
}
@Override
public CommonResult<Boolean> deleteCartItems(CartItemDeleteListReqDTO deleteListReqDTO) {
cartManager.deleteCartItems(deleteListReqDTO);
return success(true);
}
@Override
public CommonResult<Integer> sumCartItemQuantity(Integer userId) {
return success(cartManager.sumCartItemQuantity(userId));
}
@Override
public CommonResult<List<CartItemRespDTO>> listCartItems(CartItemListReqDTO listReqDTO) {
return success(cartManager.listCartItems(listReqDTO));
}
}

View File

@@ -1,46 +0,0 @@
package cn.iocoder.mall.tradeservice.rpc.order;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.common.framework.vo.PageResult;
import cn.iocoder.mall.tradeservice.rpc.order.dto.TradeOrderCreateReqDTO;
import cn.iocoder.mall.tradeservice.rpc.order.dto.TradeOrderPageReqDTO;
import cn.iocoder.mall.tradeservice.rpc.order.dto.TradeOrderRespDTO;
import cn.iocoder.mall.tradeservice.service.order.TradeOrderService;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Collection;
import static cn.iocoder.common.framework.vo.CommonResult.success;
/**
* 交易订单 Rpc 实现
*/
@DubboService
public class TradeOrderRpcImpl implements TradeOrderRpc {
@Autowired
private TradeOrderService tradeOrderService;
@Override
public CommonResult<Integer> createTradeOrder(TradeOrderCreateReqDTO createReqDTO) {
return success(tradeOrderService.createTradeOrder(createReqDTO));
}
@Override
public CommonResult<TradeOrderRespDTO> getTradeOrder(Integer tradeOrderId, Collection<String> fields) {
return success(tradeOrderService.getTradeOrder(tradeOrderId, fields));
}
@Override
public CommonResult<PageResult<TradeOrderRespDTO>> pageTradeOrder(TradeOrderPageReqDTO pageDTO) {
return success(tradeOrderService.pageTradeOrder(pageDTO));
}
@Override
public CommonResult<Boolean> updateTradeOrderPaySuccess(String tradeOrderId, Integer payAmount) {
tradeOrderService.updateTradeOrderPaySuccess(Integer.valueOf(tradeOrderId), payAmount);
return success(true);
}
}