开发订单查询

This commit is contained in:
2024-01-30 16:06:23 +08:00
parent c01d765e90
commit ecfc4546d9
10 changed files with 273 additions and 127 deletions

View File

@@ -0,0 +1,56 @@
package com.yovinchen.xlcs.order.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yovinchen.xlcs.common.result.Result;
import com.yovinchen.xlcs.model.order.OrderInfo;
import com.yovinchen.xlcs.order.service.OrderInfoService;
import com.yovinchen.xlcs.vo.order.OrderQueryVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
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;
/**
* ClassName: OrderInfoAdminController
* Package: com.yovinchen.xlcs.order.controller
*
* @author yovinchen
* @since 2024/1/30 10:47
*/
@Api(value = "订单管理", tags = "订单管理")
@RestController
@RequestMapping("/admin/order/orderInfo")
public class OrderInfoAdminController {
@Autowired
private OrderInfoService orderInfoService;
@ApiOperation(value = "获取订单分页列表")
@GetMapping("{page}/{limit}")
public Result<IPage<OrderInfo>> index(@ApiParam(name = "page", value = "当前页码", required = true) @PathVariable Long page, @ApiParam(name = "limit", value = "每页记录数", required = true) @PathVariable Long limit, @ApiParam(name = "OrderQueryVo", value = "查询对象", required = false) OrderQueryVo orderQueryVo) {
try {
Page<OrderInfo> pageParam = new Page<>(page, limit);
IPage<OrderInfo> pageModel = orderInfoService.selectPage(pageParam, orderQueryVo);
return Result.ok(pageModel);
} catch (Exception e) {
throw new RuntimeException("获取sku分页列表异常", e);
}
}
@ApiOperation("获取订单详情信息")
@GetMapping("get/{orderId}")
public Result<OrderInfo> show(@ApiParam(name = "orderNo", value = "订单id", readOnly = true) @PathVariable Long orderId) {
try {
OrderInfo orderInfo = orderInfoService.getOrderInfoById(orderId);
return Result.ok(orderInfo);
} catch (Exception e) {
throw new RuntimeException("获取订单详情信息异常", e);
}
}
}

View File

@@ -1,12 +1,13 @@
package com.yovinchen.xlcs.order.service;
import com.yovinchen.xlcs.model.order.OrderInfo;
import com.yovinchen.xlcs.vo.order.OrderConfirmVo;
import com.yovinchen.xlcs.vo.order.OrderSubmitVo;
import com.yovinchen.xlcs.vo.order.OrderUserQueryVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yovinchen.xlcs.model.order.OrderInfo;
import com.yovinchen.xlcs.vo.order.OrderConfirmVo;
import com.yovinchen.xlcs.vo.order.OrderQueryVo;
import com.yovinchen.xlcs.vo.order.OrderSubmitVo;
import com.yovinchen.xlcs.vo.order.OrderUserQueryVo;
/**
* <p>
@@ -57,11 +58,20 @@ public interface OrderInfoService extends IService<OrderInfo> {
void orderPay(String orderNo);
/**
* 订单查询
* 订单(用户)查询
*
* @param pageParam
* @param orderUserQueryVo
* @return
*/
IPage<OrderInfo> getOrderInfoByUserIdPage(Page<OrderInfo> pageParam, OrderUserQueryVo orderUserQueryVo);
/**
* 订单(后台)查询
*
* @param pageParam
* @param orderQueryVo
* @return
*/
IPage<OrderInfo> selectPage(Page<OrderInfo> pageParam, OrderQueryVo orderQueryVo);
}

View File

@@ -1,5 +1,9 @@
package com.yovinchen.xlcs.order.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yovinchen.xlcs.client.activity.ActivityFeignClient;
import com.yovinchen.xlcs.client.cart.CartFeignClient;
import com.yovinchen.xlcs.client.product.ProductFeignClient;
@@ -15,23 +19,15 @@ import com.yovinchen.xlcs.model.activity.CouponInfo;
import com.yovinchen.xlcs.model.order.CartInfo;
import com.yovinchen.xlcs.model.order.OrderInfo;
import com.yovinchen.xlcs.model.order.OrderItem;
import com.yovinchen.xlcs.enums.*;
import com.yovinchen.xlcs.mq.constant.MqConst;
import com.yovinchen.xlcs.mq.service.RabbitService;
import com.yovinchen.xlcs.order.mapper.OrderInfoMapper;
import com.yovinchen.xlcs.order.mapper.OrderItemMapper;
import com.yovinchen.xlcs.order.service.OrderInfoService;
import com.yovinchen.xlcs.order.service.OrderItemService;
import com.yovinchen.xlcs.vo.order.CartInfoVo;
import com.yovinchen.xlcs.vo.order.OrderConfirmVo;
import com.yovinchen.xlcs.vo.order.OrderSubmitVo;
import com.yovinchen.xlcs.vo.order.OrderUserQueryVo;
import com.yovinchen.xlcs.vo.order.*;
import com.yovinchen.xlcs.vo.product.SkuStockLockVo;
import com.yovinchen.xlcs.vo.user.LeaderAddressVo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.BoundHashOperations;
import org.springframework.data.redis.core.RedisTemplate;
@@ -98,7 +94,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
//唯一标识订单
String orderNo = System.currentTimeMillis() + "";
redisTemplate.opsForValue().set(RedisConst.ORDER_REPEAT + orderNo, orderNo, 24, TimeUnit.HOURS);
redisTemplate.opsForValue()
.set(RedisConst.ORDER_REPEAT + orderNo, orderNo, 24, TimeUnit.HOURS);
//获取购物车满足条件活动和优惠卷信息
OrderConfirmVo orderConfirmVo = activityFeignClient.findCartActivityAndCoupon(cartInfoList, userId);
@@ -147,17 +144,21 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
List<CartInfo> cartInfoList = cartFeignClient.getCartCheckedList(userId);
//2、购物车有很多商品商品不同类型重点处理普通类型商品
List<CartInfo> commonSkuList = cartInfoList.stream().filter(cartInfo -> Objects.equals(cartInfo.getSkuType(), SkuType.COMMON.getCode())).collect(Collectors.toList());
List<CartInfo> commonSkuList = cartInfoList.stream()
.filter(cartInfo -> Objects.equals(cartInfo.getSkuType(), SkuType.COMMON.getCode()))
.collect(Collectors.toList());
//3、把获取购物车里面普通类型商品list集合
// List<CartInfo>转换List<SkuStockLockVo>
if (!CollectionUtils.isEmpty(commonSkuList)) {
List<SkuStockLockVo> commonStockLockVoList = commonSkuList.stream().map(item -> {
SkuStockLockVo skuStockLockVo = new SkuStockLockVo();
skuStockLockVo.setSkuId(item.getSkuId());
skuStockLockVo.setSkuNum(item.getSkuNum());
return skuStockLockVo;
}).collect(Collectors.toList());
List<SkuStockLockVo> commonStockLockVoList = commonSkuList.stream()
.map(item -> {
SkuStockLockVo skuStockLockVo = new SkuStockLockVo();
skuStockLockVo.setSkuId(item.getSkuId());
skuStockLockVo.setSkuNum(item.getSkuNum());
return skuStockLockVo;
})
.collect(Collectors.toList());
//4、远程调用service-product模块实现锁定商品
//// 验证库存并锁定库存,保证具备原子性
@@ -187,7 +188,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
if (CollectionUtils.isEmpty(cartInfoList)) {
throw new xlcsException(ResultCodeEnum.DATA_ERROR);
}
//查询用户提货点和配送员信息
//查询用户配送点和配送员信息
Long userId = AuthContextHolder.getUserId();
LeaderAddressVo leaderAddressVo = userFeignClient.getUserAddressByUserId(userId);
if (leaderAddressVo == null) {
@@ -231,9 +232,11 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
orderItem.setSplitCouponAmount(couponAmount);
//总金额
BigDecimal skuTotalAmount = orderItem.getSkuPrice().multiply(new BigDecimal(orderItem.getSkuNum()));
BigDecimal skuTotalAmount = orderItem.getSkuPrice()
.multiply(new BigDecimal(orderItem.getSkuNum()));
//优惠之后金额
BigDecimal splitTotalAmount = skuTotalAmount.subtract(activityAmount).subtract(couponAmount);
BigDecimal splitTotalAmount = skuTotalAmount.subtract(activityAmount)
.subtract(couponAmount);
orderItem.setSplitTotalAmount(splitTotalAmount);
orderItemList.add(orderItem);
}
@@ -247,14 +250,14 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
orderInfo.setLeaderName(leaderAddressVo.getLeaderName());//配送员名称
orderInfo.setLeaderPhone(leaderAddressVo.getLeaderPhone());
orderInfo.setTakeName(leaderAddressVo.getTakeName());
orderInfo.setReceiverName(orderParamVo.getReceiverName());
orderInfo.setReceiverPhone(orderParamVo.getReceiverPhone());
orderInfo.setReceiverProvince(leaderAddressVo.getProvince());
orderInfo.setReceiverCity(leaderAddressVo.getCity());
orderInfo.setReceiverDistrict(leaderAddressVo.getDistrict());
orderInfo.setReceiverAddress(leaderAddressVo.getDetailAddress());
orderInfo.setWareId(cartInfoList.get(0).getWareId());
orderInfo.setWareId(cartInfoList.get(0)
.getWareId());
orderInfo.setProcessStatus(ProcessStatus.UNPAID);
//计算订单金额
@@ -265,7 +268,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
BigDecimal couponAmount = couponInfoSplitAmount.get("coupon:total");
if (null == couponAmount) couponAmount = new BigDecimal(0);
BigDecimal totalAmount = originalTotalAmount.subtract(activityAmount).subtract(couponAmount);
BigDecimal totalAmount = originalTotalAmount.subtract(activityAmount)
.subtract(couponAmount);
//计算订单金额
orderInfo.setOriginalTotalAmount(originalTotalAmount);
orderInfo.setActivityAmount(activityAmount);
@@ -274,7 +278,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
//计算配送员佣金
BigDecimal profitRate = new BigDecimal(0);//orderSetService.getProfitRate();
BigDecimal commissionAmount = orderInfo.getTotalAmount().multiply(profitRate);
BigDecimal commissionAmount = orderInfo.getTotalAmount()
.multiply(profitRate);
orderInfo.setCommissionAmount(commissionAmount);
//添加数据到订单基本信息表
@@ -295,9 +300,12 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
String orderSkuKey = RedisConst.ORDER_SKU_MAP + orderParamVo.getUserId();
BoundHashOperations<String, String, Integer> hashOperations = redisTemplate.boundHashOps(orderSkuKey);
cartInfoList.forEach(cartInfo -> {
if (Boolean.TRUE.equals(hashOperations.hasKey(cartInfo.getSkuId().toString()))) {
Integer orderSkuNum = hashOperations.get(cartInfo.getSkuId().toString()) + cartInfo.getSkuNum();
hashOperations.put(cartInfo.getSkuId().toString(), orderSkuNum);
if (Boolean.TRUE.equals(hashOperations.hasKey(cartInfo.getSkuId()
.toString()))) {
Integer orderSkuNum = hashOperations.get(cartInfo.getSkuId()
.toString()) + cartInfo.getSkuNum();
hashOperations.put(cartInfo.getSkuId()
.toString(), orderSkuNum);
}
});
redisTemplate.expire(orderSkuKey, DateUtil.getCurrentExpireTimes(), TimeUnit.SECONDS);
@@ -355,7 +363,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
}
/**
* 订单查询
* 订单(用户)查询
*
* @param pageParam
* @param orderUserQueryVo
@@ -376,7 +384,57 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
//把订单项集合封装到每个订单里面
orderInfo.setOrderItemList(orderItemList);
//封装订单状态名称
orderInfo.getParam().put("orderStatusName", orderInfo.getOrderStatus().getComment());
orderInfo.getParam()
.put("orderStatusName", orderInfo.getOrderStatus()
.getComment());
}
return pageModel;
}
/**
* 订单(后台)查询
*
* @param pageParam
* @param orderQueryVo
* @return
*/
@Override
public IPage<OrderInfo> selectPage(Page<OrderInfo> pageParam, OrderQueryVo orderQueryVo) {
LambdaQueryWrapper<OrderInfo> wrapper = new LambdaQueryWrapper<>();
//获取查询信息
String receiver = orderQueryVo.getReceiver();
String orderNo = orderQueryVo.getOrderNo();
OrderStatus orderStatus = orderQueryVo.getOrderStatus();
Long leaderId = orderQueryVo.getLeaderId();
Long wareId = orderQueryVo.getWareId();
String createTimeBegin = orderQueryVo.getCreateTimeBegin();
String createTimeEnd = orderQueryVo.getCreateTimeEnd();
//拼接查询信息
wrapper.like(!StringUtils.isEmpty(receiver), OrderInfo::getReceiverName, receiver)
.or()
.like(!StringUtils.isEmpty(receiver), OrderInfo::getReceiverPhone, receiver)
.eq(!StringUtils.isEmpty(orderNo), OrderInfo::getOrderNo, orderNo)
.eq(!StringUtils.isEmpty(orderStatus), OrderInfo::getOrderStatus, orderStatus)
.eq(!StringUtils.isEmpty(leaderId), OrderInfo::getLeaderId, leaderId)
.eq(!StringUtils.isEmpty(wareId), OrderInfo::getWareId, wareId)
.ge(!StringUtils.isEmpty(createTimeBegin), OrderInfo::getCreateTime, createTimeBegin)
.le(!StringUtils.isEmpty(createTimeEnd), OrderInfo::getCreateTime, createTimeEnd);
IPage<OrderInfo> pageModel = baseMapper.selectPage(pageParam, wrapper);
//获取每个订单,把每个订单里面订单项查询封装
List<OrderInfo> orderInfoList = pageModel.getRecords();
for (OrderInfo orderInfo : orderInfoList) {
//根据订单id查询里面所有订单项列表
List<OrderItem> orderItemList = orderItemMapper.selectList(new LambdaQueryWrapper<OrderItem>()
.eq(OrderItem::getOrderId, orderInfo.getId()));
//把订单项集合封装到每个订单里面
orderInfo.setOrderItemList(orderItemList);
//封装订单状态名称
orderInfo.getParam()
.put("orderStatusName", orderInfo.getOrderStatus()
.getComment());
}
return pageModel;
}
@@ -393,7 +451,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
private BigDecimal computeTotalAmount(List<CartInfo> cartInfoList) {
BigDecimal total = new BigDecimal(0);
for (CartInfo cartInfo : cartInfoList) {
BigDecimal itemTotal = cartInfo.getCartPrice().multiply(new BigDecimal(cartInfo.getSkuNum()));
BigDecimal itemTotal = cartInfo.getCartPrice()
.multiply(new BigDecimal(cartInfo.getSkuNum()));
total = total.add(itemTotal);
}
return total;
@@ -424,12 +483,14 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
BigDecimal reduceAmount = activityRule.getReduceAmount();
activityReduceAmount = activityReduceAmount.add(reduceAmount);
if (cartInfoList.size() == 1) {
activitySplitAmountMap.put("activity:" + cartInfoList.get(0).getSkuId(), reduceAmount);
activitySplitAmountMap.put("activity:" + cartInfoList.get(0)
.getSkuId(), reduceAmount);
} else {
//总金额
BigDecimal originalTotalAmount = new BigDecimal(0);
for (CartInfo cartInfo : cartInfoList) {
BigDecimal skuTotalAmount = cartInfo.getCartPrice().multiply(new BigDecimal(cartInfo.getSkuNum()));
BigDecimal skuTotalAmount = cartInfo.getCartPrice()
.multiply(new BigDecimal(cartInfo.getSkuNum()));
originalTotalAmount = originalTotalAmount.add(skuTotalAmount);
}
//记录除最后一项是所有分摊金额, 最后一项=总的 - skuPartReduceAmount
@@ -438,9 +499,11 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
for (int i = 0, len = cartInfoList.size(); i < len; i++) {
CartInfo cartInfo = cartInfoList.get(i);
if (i < len - 1) {
BigDecimal skuTotalAmount = cartInfo.getCartPrice().multiply(new BigDecimal(cartInfo.getSkuNum()));
BigDecimal skuTotalAmount = cartInfo.getCartPrice()
.multiply(new BigDecimal(cartInfo.getSkuNum()));
//sku分摊金额
BigDecimal skuReduceAmount = skuTotalAmount.divide(originalTotalAmount, 2, RoundingMode.HALF_UP).multiply(reduceAmount);
BigDecimal skuReduceAmount = skuTotalAmount.divide(originalTotalAmount, 2, RoundingMode.HALF_UP)
.multiply(reduceAmount);
activitySplitAmountMap.put("activity:" + cartInfo.getSkuId(), skuReduceAmount);
skuPartReduceAmount = skuPartReduceAmount.add(skuReduceAmount);
@@ -453,10 +516,12 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
for (int i = 0, len = cartInfoList.size(); i < len; i++) {
CartInfo cartInfo = cartInfoList.get(i);
if (i < len - 1) {
BigDecimal skuTotalAmount = cartInfo.getCartPrice().multiply(new BigDecimal(cartInfo.getSkuNum()));
BigDecimal skuTotalAmount = cartInfo.getCartPrice()
.multiply(new BigDecimal(cartInfo.getSkuNum()));
//sku分摊金额
BigDecimal skuDiscountTotalAmount = skuTotalAmount.multiply(activityRule.getBenefitDiscount().divide(new BigDecimal("10")));
BigDecimal skuDiscountTotalAmount = skuTotalAmount.multiply(activityRule.getBenefitDiscount()
.divide(new BigDecimal("10")));
BigDecimal skuReduceAmount = skuTotalAmount.subtract(skuDiscountTotalAmount);
activitySplitAmountMap.put("activity:" + cartInfo.getSkuId(), skuReduceAmount);
@@ -497,13 +562,15 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
BigDecimal reduceAmount = couponInfo.getAmount();
if (skuIdList.size() == 1) {
//sku的优化金额
couponInfoSplitAmountMap.put("coupon:" + skuIdToCartInfoMap.get(skuIdList.get(0)).getSkuId(), reduceAmount);
couponInfoSplitAmountMap.put("coupon:" + skuIdToCartInfoMap.get(skuIdList.get(0))
.getSkuId(), reduceAmount);
} else {
//总金额
BigDecimal originalTotalAmount = new BigDecimal(0);
for (Long skuId : skuIdList) {
CartInfo cartInfo = skuIdToCartInfoMap.get(skuId);
BigDecimal skuTotalAmount = cartInfo.getCartPrice().multiply(new BigDecimal(cartInfo.getSkuNum()));
BigDecimal skuTotalAmount = cartInfo.getCartPrice()
.multiply(new BigDecimal(cartInfo.getSkuNum()));
originalTotalAmount = originalTotalAmount.add(skuTotalAmount);
}
//记录除最后一项是所有分摊金额, 最后一项=总的 - skuPartReduceAmount
@@ -512,9 +579,11 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
for (int i = 0, len = skuIdList.size(); i < len; i++) {
CartInfo cartInfo = skuIdToCartInfoMap.get(skuIdList.get(i));
if (i < len - 1) {
BigDecimal skuTotalAmount = cartInfo.getCartPrice().multiply(new BigDecimal(cartInfo.getSkuNum()));
BigDecimal skuTotalAmount = cartInfo.getCartPrice()
.multiply(new BigDecimal(cartInfo.getSkuNum()));
//sku分摊金额
BigDecimal skuReduceAmount = skuTotalAmount.divide(originalTotalAmount, 2, RoundingMode.HALF_UP).multiply(reduceAmount);
BigDecimal skuReduceAmount = skuTotalAmount.divide(originalTotalAmount, 2, RoundingMode.HALF_UP)
.multiply(reduceAmount);
couponInfoSplitAmountMap.put("coupon:" + cartInfo.getSkuId(), skuReduceAmount);
skuPartReduceAmount = skuPartReduceAmount.add(skuReduceAmount);

View File

@@ -1,5 +1,9 @@
package com.yovinchen.xlcs.product.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yovinchen.xlcs.common.constant.RedisConst;
import com.yovinchen.xlcs.common.exception.xlcsException;
import com.yovinchen.xlcs.common.result.ResultCodeEnum;
@@ -17,10 +21,6 @@ import com.yovinchen.xlcs.product.service.SkuPosterService;
import com.yovinchen.xlcs.vo.product.SkuInfoQueryVo;
import com.yovinchen.xlcs.vo.product.SkuInfoVo;
import com.yovinchen.xlcs.vo.product.SkuStockLockVo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils;
@@ -74,15 +74,11 @@ public class SkuInfoServiceImpl extends ServiceImpl<SkuInfoMapper, SkuInfo> impl
Long categoryId = skuInfoQueryVo.getCategoryId();
//封装条件
LambdaQueryWrapper<SkuInfo> wrapper = new LambdaQueryWrapper<>();
if (!StringUtils.isEmpty(keyword)) {
wrapper.like(SkuInfo::getSkuName, keyword);
}
if (!StringUtils.isEmpty(skuType)) {
wrapper.eq(SkuInfo::getSkuType, skuType);
}
if (!StringUtils.isEmpty(categoryId)) {
wrapper.eq(SkuInfo::getCategoryId, categoryId);
}
// 动态添加条件
wrapper.like(!StringUtils.isEmpty(keyword), SkuInfo::getSkuName, keyword)
.eq(!StringUtils.isEmpty(skuType), SkuInfo::getSkuType, skuType)
.eq(!StringUtils.isEmpty(categoryId), SkuInfo::getCategoryId, categoryId);
//调用方法查询
return baseMapper.selectPage(pageParam, wrapper);
}