mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-08-15 18:51:54 +08:00
trade:前端订单管理,联调接口
This commit is contained in:
@@ -2,17 +2,53 @@ package cn.iocoder.yudao.module.trade.controller.admin.order.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.validation.InEnum;
|
||||
import cn.iocoder.yudao.framework.common.validation.Mobile;
|
||||
import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@ApiModel("管理后台 - 交易订单的分页 Request VO")
|
||||
@Data
|
||||
public class TradeOrderPageReqVO extends PageParam {
|
||||
|
||||
@ApiModelProperty(value = "订单号", example = "88888888", notes = "模糊匹配")
|
||||
private String no;
|
||||
|
||||
@ApiModelProperty(value = "用户编号", example = "1024")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "用户昵称", example = "小王", notes = "模糊匹配")
|
||||
private String userNickname;
|
||||
|
||||
@ApiModelProperty(value = "用户手机号", example = "小王", notes = "精准匹配")
|
||||
@Mobile
|
||||
private String userMobile;
|
||||
|
||||
@ApiModelProperty(value = "收件人名称", example = "小红", notes = "模糊匹配")
|
||||
private String receiverName;
|
||||
|
||||
@ApiModelProperty(value = "收件人手机", example = "1560", notes = "模糊匹配")
|
||||
@Mobile
|
||||
private String receiverMobile;
|
||||
|
||||
@ApiModelProperty(value = "订单类型", example = "1", notes = "参见 TradeOrderTypeEnum 枚举")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty(value = "订单状态", example = "1", notes = "参见 TradeOrderStatusEnum 枚举")
|
||||
@InEnum(value = TradeOrderStatusEnum.class, message = "订单状态必须是 {value}")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "支付渠道", example = "wx_lite")
|
||||
private String payChannelCode;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
||||
|
@@ -8,6 +8,8 @@ import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@Mapper
|
||||
public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
|
||||
|
||||
@@ -20,9 +22,17 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
|
||||
return selectOne(TradeOrderDO::getId, id, TradeOrderDO::getUserId, userId);
|
||||
}
|
||||
|
||||
default PageResult<TradeOrderDO> selectPage(TradeOrderPageReqVO reqVO) {
|
||||
default PageResult<TradeOrderDO> selectPage(TradeOrderPageReqVO reqVO, Set<Long> userIds) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<TradeOrderDO>()
|
||||
.eqIfPresent(TradeOrderDO::getStatus, reqVO.getStatus()));
|
||||
.likeIfPresent(TradeOrderDO::getNo, reqVO.getNo())
|
||||
.eqIfPresent(TradeOrderDO::getUserId, reqVO.getUserId())
|
||||
.inIfPresent(TradeOrderDO::getUserId, userIds)
|
||||
.likeIfPresent(TradeOrderDO::getReceiverName, reqVO.getReceiverName())
|
||||
.likeIfPresent(TradeOrderDO::getReceiverMobile, reqVO.getReceiverMobile())
|
||||
.eqIfPresent(TradeOrderDO::getType, reqVO.getType())
|
||||
.eqIfPresent(TradeOrderDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(TradeOrderDO::getPayChannelCode, reqVO.getPayChannelCode())
|
||||
.betweenIfPresent(TradeOrderDO::getCreateTime, reqVO.getCreateTime()));
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.trade.service.order;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
@@ -11,6 +12,8 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
|
||||
import cn.iocoder.yudao.module.member.api.address.AddressApi;
|
||||
import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO;
|
||||
import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
|
||||
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
|
||||
import cn.iocoder.yudao.module.pay.api.order.PayOrderApi;
|
||||
import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO;
|
||||
import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderRespDTO;
|
||||
@@ -77,6 +80,8 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
||||
private AddressApi addressApi;
|
||||
@Resource
|
||||
private CouponApi couponApi;
|
||||
@Resource
|
||||
private MemberUserApi memberUserApi;
|
||||
|
||||
@Resource
|
||||
private TradeOrderProperties tradeOrderProperties;
|
||||
@@ -420,7 +425,24 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
||||
|
||||
@Override
|
||||
public PageResult<TradeOrderDO> getOrderPage(TradeOrderPageReqVO reqVO) {
|
||||
return tradeOrderMapper.selectPage(reqVO);
|
||||
// 获得 userId 相关的查询
|
||||
Set<Long> userIds = new HashSet<>();
|
||||
if (StrUtil.isNotEmpty(reqVO.getUserMobile())) {
|
||||
MemberUserRespDTO user = memberUserApi.getUserByMobile(reqVO.getUserMobile());
|
||||
if (user == null) { // 没查询到用户,说明肯定也没他的订单
|
||||
return new PageResult<>();
|
||||
}
|
||||
userIds.add(user.getId());
|
||||
}
|
||||
if (StrUtil.isNotEmpty(reqVO.getUserNickname())) {
|
||||
List<MemberUserRespDTO> users = memberUserApi.getUserListByNickname(reqVO.getUserNickname());
|
||||
if (CollUtil.isEmpty(users)) { // 没查询到用户,说明肯定也没他的订单
|
||||
return new PageResult<>();
|
||||
}
|
||||
userIds.addAll(convertSet(users, MemberUserRespDTO::getId));
|
||||
}
|
||||
// 分页查询
|
||||
return tradeOrderMapper.selectPage(reqVO, userIds);
|
||||
}
|
||||
|
||||
// =================== Order Item ===================
|
||||
|
Reference in New Issue
Block a user