feat: unify admin order keyword search
This commit is contained in:
@@ -30,6 +30,12 @@ public class PlayOrderInfoQueryVo extends BasePageEntity {
|
||||
@ApiModelProperty(value = "订单编号", example = "ORDER20240320001", notes = "订单的编号,支持模糊查询")
|
||||
private String orderNo;
|
||||
|
||||
/**
|
||||
* 统一关键字(订单号或店员昵称)
|
||||
*/
|
||||
@ApiModelProperty(value = "关键词", example = "ORDER20240320001", notes = "支持订单号或店员昵称模糊查询")
|
||||
private String keyword;
|
||||
|
||||
/**
|
||||
* 订单状态【0:1:2:3:4】 0:已下单(待接单) 1:已接单(待开始) 2:已开始(服务中) 3:已完成 4:已取消
|
||||
*/
|
||||
|
||||
@@ -632,7 +632,8 @@ public class OrderLifecycleServiceImpl implements IOrderLifecycleService {
|
||||
OrderRevocationContext.EarningsAdjustStrategy strategy = context.getEarningsStrategy() != null
|
||||
? context.getEarningsStrategy()
|
||||
: OrderRevocationContext.EarningsAdjustStrategy.NONE;
|
||||
if (strategy != OrderRevocationContext.EarningsAdjustStrategy.NONE && earningsService.hasLockedLines(order.getId())) {
|
||||
if (strategy == OrderRevocationContext.EarningsAdjustStrategy.REVERSE_CLERK
|
||||
&& earningsService.hasLockedLines(order.getId())) {
|
||||
throw new CustomException("收益已提现或处理中,无法撤销");
|
||||
}
|
||||
|
||||
@@ -857,6 +858,10 @@ public class OrderLifecycleServiceImpl implements IOrderLifecycleService {
|
||||
}
|
||||
|
||||
private boolean ensureEarnings(PlayOrderInfoEntity order, OrderTriggerSource source) {
|
||||
if (OrderConstant.OrderType.BLIND_BOX_PURCHASE.getCode().equals(order.getOrderType())) {
|
||||
log.debug("Skip earnings creation for blind box purchase order {}", order.getId());
|
||||
return false;
|
||||
}
|
||||
Long existing = earningsService.lambdaQuery()
|
||||
.eq(EarningsLineEntity::getTenantId, order.getTenantId())
|
||||
.eq(EarningsLineEntity::getOrderId, order.getId())
|
||||
|
||||
@@ -402,7 +402,7 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
|
||||
public IPage<PlayOrderInfoReturnVo> selectOrderInfoPage(PlayOrderInfoQueryVo vo) {
|
||||
|
||||
MPJLambdaWrapper<PlayOrderInfoEntity> lambdaQueryWrapper = getCommonOrderQueryVo(
|
||||
ConvertUtil.entityToVo(vo, PlayOrderInfoEntity.class));
|
||||
ConvertUtil.entityToVo(vo, PlayOrderInfoEntity.class), vo.getKeyword());
|
||||
lambdaQueryWrapper.in(PlayOrderInfoEntity::getPlaceType, "0", "1", "2");
|
||||
if (StringUtils.isNotBlank(vo.getGroupId())) {
|
||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getGroupId, vo.getGroupId());
|
||||
@@ -454,7 +454,7 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
|
||||
public PlayClerkOrderDetailsReturnVo clerkSelectOrderDetails(String clerkId, String orderId) {
|
||||
PlayOrderInfoEntity entity = new PlayOrderInfoEntity();
|
||||
entity.setId(orderId);
|
||||
MPJLambdaWrapper<PlayOrderInfoEntity> lambdaQueryWrapper = getCommonOrderQueryVo(entity);
|
||||
MPJLambdaWrapper<PlayOrderInfoEntity> lambdaQueryWrapper = getCommonOrderQueryVo(entity, null);
|
||||
// 拼接用户等级
|
||||
lambdaQueryWrapper.selectAs(PlayCustomLevelInfoEntity::getId, "customLevelId")
|
||||
.selectAs(PlayCustomLevelInfoEntity::getName, "customLevelName");
|
||||
@@ -505,7 +505,7 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
|
||||
@Override
|
||||
public IPage<PlayClerkOrderListReturnVo> clerkSelectOrderInfoByPage(PlayClerkOrderInfoQueryVo vo) {
|
||||
MPJLambdaWrapper<PlayOrderInfoEntity> lambdaQueryWrapper = getCommonOrderQueryVo(
|
||||
ConvertUtil.entityToVo(vo, PlayOrderInfoEntity.class));
|
||||
ConvertUtil.entityToVo(vo, PlayOrderInfoEntity.class), null);
|
||||
// 拼接用户等级
|
||||
lambdaQueryWrapper.selectAs(PlayCustomLevelInfoEntity::getId, "customLevelId")
|
||||
.selectAs(PlayCustomLevelInfoEntity::getName, "customLevelName");
|
||||
@@ -520,7 +520,7 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
|
||||
PlayOrderInfoEntity entity = new PlayOrderInfoEntity();
|
||||
entity.setId(orderId);
|
||||
entity.setPurchaserBy(customId);
|
||||
MPJLambdaWrapper<PlayOrderInfoEntity> lambdaQueryWrapper = getCommonOrderQueryVo(entity);
|
||||
MPJLambdaWrapper<PlayOrderInfoEntity> lambdaQueryWrapper = getCommonOrderQueryVo(entity, null);
|
||||
PlayCustomOrderDetailsReturnVo returnVo = this.baseMapper.selectJoinOne(PlayCustomOrderDetailsReturnVo.class,
|
||||
lambdaQueryWrapper);
|
||||
// 如果订单状态为退款,查询订单退款原因
|
||||
@@ -546,7 +546,7 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
|
||||
@Override
|
||||
public IPage<PlayCustomOrderListReturnVo> customSelectOrderInfoByPage(PlayCustomOrderInfoQueryVo vo) {
|
||||
MPJLambdaWrapper<PlayOrderInfoEntity> lambdaQueryWrapper = getCommonOrderQueryVo(
|
||||
ConvertUtil.entityToVo(vo, PlayOrderInfoEntity.class));
|
||||
ConvertUtil.entityToVo(vo, PlayOrderInfoEntity.class), null);
|
||||
if (StringUtils.isBlank(vo.getOrderType())) {
|
||||
lambdaQueryWrapper.notIn(PlayOrderInfoEntity::getOrderType,
|
||||
OrderConstant.OrderType.RECHARGE.getCode(),
|
||||
@@ -711,7 +711,7 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
|
||||
*
|
||||
* @return MPJLambdaWrapper<PlayOrderInfoEntity>
|
||||
*/
|
||||
public MPJLambdaWrapper<PlayOrderInfoEntity> getCommonOrderQueryVo(PlayOrderInfoEntity entity) {
|
||||
public MPJLambdaWrapper<PlayOrderInfoEntity> getCommonOrderQueryVo(PlayOrderInfoEntity entity, String keyword) {
|
||||
MPJLambdaWrapper<PlayOrderInfoEntity> lambdaQueryWrapper = new MPJLambdaWrapper<>();
|
||||
// 查询主表全部字段
|
||||
lambdaQueryWrapper.selectAll(PlayOrderInfoEntity.class);
|
||||
@@ -748,6 +748,11 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
|
||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getOrderType, entity.getOrderType());
|
||||
}
|
||||
lambdaQueryWrapper.like(StringUtils.isNotEmpty(entity.getOrderNo()), PlayOrderInfoEntity::getOrderNo, entity.getOrderNo());
|
||||
if (StringUtils.isNotBlank(keyword)) {
|
||||
lambdaQueryWrapper.and(w -> w.like(PlayOrderInfoEntity::getOrderNo, keyword)
|
||||
.or()
|
||||
.like(PlayClerkUserInfoEntity::getNickname, keyword));
|
||||
}
|
||||
lambdaQueryWrapper.orderByDesc(PlayOrderInfoEntity::getCreatedTime);
|
||||
return lambdaQueryWrapper;
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.starry.admin.modules.order.module.constant.OrderConstant;
|
||||
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
|
||||
import com.starry.admin.modules.withdraw.entity.EarningsLineEntity;
|
||||
import com.starry.admin.modules.withdraw.enums.EarningsType;
|
||||
@@ -29,6 +30,9 @@ public class EarningsServiceImpl extends ServiceImpl<EarningsLineMapper, Earning
|
||||
@Override
|
||||
public void createFromOrder(PlayOrderInfoEntity orderInfo) {
|
||||
if (orderInfo == null || orderInfo.getAcceptBy() == null) return;
|
||||
if (OrderConstant.OrderType.BLIND_BOX_PURCHASE.getCode().equals(orderInfo.getOrderType())) {
|
||||
return;
|
||||
}
|
||||
// amount from estimatedRevenue; fallback to orderMoney if null
|
||||
BigDecimal amount = orderInfo.getEstimatedRevenue() != null ? orderInfo.getEstimatedRevenue()
|
||||
: (orderInfo.getOrderMoney() != null ? orderInfo.getOrderMoney() : BigDecimal.ZERO);
|
||||
|
||||
Reference in New Issue
Block a user