1b992addb4f4fc78b19748927bdefa32df239842..134f5b1aedeb90b9f7a71dc41e8f08e96bcb3f85
2025-07-29 peng
Merge remote-tracking branch 'origin/dev' into dev
134f5b 对比 | 目录
2025-07-29 peng
订单查询问题
903229 对比 | 目录
2025-07-29 peng
订单查询问题
015f69 对比 | 目录
11个文件已修改
2个文件已添加
293 ■■■■■ 已修改文件
buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoQuery.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchXcxParams.java 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/resources/mapper/lmk/VideoMapper.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lmk-job/src/main/java/cn/lili/handler/impl/order/OrderEveryDayTaskExecute.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
myk线上配置.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java
@@ -12,6 +12,7 @@
import cn.lili.modules.order.order.entity.dos.Order;
import cn.lili.modules.order.order.entity.dos.OrderPackage;
import cn.lili.modules.order.order.entity.dto.OrderSearchParams;
import cn.lili.modules.order.order.entity.dto.OrderSearchXcxParams;
import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
import cn.lili.modules.order.order.entity.vo.OrderDetailVO;
import cn.lili.modules.order.order.entity.vo.OrderSimpleVO;
@@ -85,7 +86,7 @@
    @ApiOperation(value = "查询会员订单列表")
    @GetMapping("/xcx")
    public ResultMessage<IPage<OrderSimpleXcxVO>> queryXcxMineOrder(OrderSearchParams orderSearchParams) {
    public ResultMessage<IPage<OrderSimpleXcxVO>> queryXcxMineOrder(OrderSearchXcxParams orderSearchParams) {
        AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser());
        orderSearchParams.setMemberId(currentUser.getId());
        return ResultUtil.data(orderService.queryByXcxParams(orderSearchParams));
framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoQuery.java
@@ -28,10 +28,10 @@
    @ApiModelProperty("视频来源:recommend推荐、author某作者的视频、collect某作者收藏的视频、like某作者点赞的视频、search搜索、goodsSimilarly查挂同一商品的视频")
    private String videoFrom;
    @ApiModelProperty("视频id")
    private String videoId;
    /**
     * @see cn.lili.modules.lmk.enums.general.VideoTypeEnum
     */
framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java
@@ -47,6 +47,8 @@
     */
    IPage recommendVideo(IPage page, @Param("query") VideoQuery query);
    WxVideoVO recommendVideoByVideoId( @Param("query") VideoQuery query);
    List<WxVideoVO> recommendVideoList(@Param("query") VideoQuery query);
    IPage recommendHealthVideo(IPage page, @Param("query") WxHealthVideoQuery query);
framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
@@ -558,8 +558,15 @@
            case "recommend":// åŠ è½½æŽ¨èè§†é¢‘
                baseMapper.recommendVideo(page, query);
                //推荐视频重新排序
                WxVideoVO wxVideoVO = null;
                if (StringUtils.isNotBlank(query.getVideoId())) {
                    wxVideoVO  = baseMapper.recommendVideoByVideoId(query);
                }
                List<WxVideoVO> records = page.getRecords();
                Collections.shuffle(records);
                if (wxVideoVO!=null) {
                    records.set(0, wxVideoVO);
                }
                break;
            case "author":  // åŠ è½½è§†é¢‘ä¸»é¡µæˆ‘å‘å¸ƒçš„è§†é¢‘
                AuthorVideoQuery query1 = new AuthorVideoQuery();
framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchXcxParams.java
New file
@@ -0,0 +1,215 @@
package cn.lili.modules.order.order.entity.dto;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.common.security.AuthUser;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.utils.DateUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.order.order.entity.enums.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
 * è®¢å•查询参数
 *
 * @author Chopper
 * @since 2020/11/17 4:33 ä¸‹åˆ
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class OrderSearchXcxParams extends PageVO {
    private static final long serialVersionUID = -6380573339089959194L;
    @ApiModelProperty(value = "商品名称")
    private String goodsName;
    @ApiModelProperty(value = "订单编号")
    private String orderSn;
    @ApiModelProperty(value = "页面标签",
            example = "ALL:全部," +
                    "WAIT_PAY:待付款," +
                    "WAIT_ROG:待收货," +
                    "CANCELLED:已取消," +
                    "COMPLETE:已完成")
    private String tag;
    @ApiModelProperty(value = "商家ID")
    private String storeId;
    @ApiModelProperty(value = "会员ID")
    private String memberId;
    @ApiModelProperty(value = "收货人")
    private String shipName;
    @ApiModelProperty(value = "买家昵称")
    private String buyerName;
    @ApiModelProperty(value = "订单状态")
    private String orderStatus;
    @ApiModelProperty(value = "付款状态")
    private String payStatus;
    @ApiModelProperty(value = "关键字 å•†å“åç§°/买家名称/店铺名称")
    private String keywords;
    @ApiModelProperty(value = "付款方式")
    private String paymentType;
    /**
     * @see OrderTypeEnum
     * @see OrderPromotionTypeEnum
     */
    @ApiModelProperty(value = "订单类型", allowableValues = "NORMAL,VIRTUAL,GIFT,PINTUAN,POINT")
    private String orderType;
    @ApiModelProperty(value = "支付方式")
    private String paymentMethod;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "支付时间")
    private Date paymentTime;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "下单开始时间")
    private Date startDate;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "下单结束时间")
    private Date endDate;
    @ApiModelProperty(value = "订单来源")
    private String clientType;
    /**
     * @see CommentStatusEnum
     */
    @ApiModelProperty(value = "评论状态:未评论(UNFINISHED),待追评(WAIT_CHASE),评论完成(FINISHED),")
    private String commentStatus;
    @ApiModelProperty(value = "是否为其他订单下的订单,如果是则为依赖订单的sn,否则为空")
    private String parentOrderSn;
    @ApiModelProperty(value = "是否为某订单类型的订单,如果是则为订单类型的id,否则为空")
    private String promotionId;
    @ApiModelProperty(value = "总价格,可以为范围,如10_1000")
    private String flowPrice;
    /**
     * @see OrderPromotionTypeEnum
     */
    @ApiModelProperty(value = "订单促销类型")
    private String orderPromotionType;
    public <T> QueryWrapper<T> queryWrapper() {
        AuthUser currentUser = UserContext.getCurrentUser();
        QueryWrapper<T> wrapper = new QueryWrapper<>();
        //关键字查询
        if (CharSequenceUtil.isNotEmpty(keywords)) {
            wrapper.and(keyWrapper -> keyWrapper.like("o.sn", keywords).or().like("oi.goods_name", keywords));
        }
        //按照买家查询
        wrapper.like(CharSequenceUtil.isNotEmpty(memberId), "o.member_id", memberId);
        //按订单编号查询
        wrapper.like(CharSequenceUtil.isNotEmpty(orderSn), "o.sn", orderSn);
        //按时间查询
        wrapper.ge(startDate != null, "o.create_time", startDate);
        wrapper.le(endDate != null, "o.create_time", DateUtil.endOfDate(endDate));
        //按购买人用户名
        wrapper.like(CharSequenceUtil.isNotEmpty(buyerName), "o.member_name", buyerName);
        //按订单类型
        wrapper.eq(CharSequenceUtil.isNotEmpty(orderType), "o.order_type", orderType);
        //物流查询
        wrapper.like(CharSequenceUtil.isNotEmpty(shipName), "o.consignee_name", shipName);
        //按商品名称查询
        wrapper.like(CharSequenceUtil.isNotEmpty(goodsName), "oi.goods_name", goodsName);
        //付款方式
        wrapper.like(CharSequenceUtil.isNotEmpty(paymentType), "o.payment_type", paymentType);
        //按支付方式
        wrapper.eq(CharSequenceUtil.isNotEmpty(paymentMethod), "o.payment_method", paymentMethod);
        //订单状态
        wrapper.eq(CharSequenceUtil.isNotEmpty(orderStatus), "o.order_status", orderStatus);
        //付款状态
        wrapper.eq(CharSequenceUtil.isNotEmpty(payStatus), "o.pay_status", payStatus);
        //订单来源
        wrapper.like(CharSequenceUtil.isNotEmpty(clientType), "o.client_type", clientType);
        //按评价状态
        wrapper.eq(CharSequenceUtil.isNotEmpty(commentStatus), "oi.comment_status", commentStatus);
        //按标签查询
        if (CharSequenceUtil.isNotEmpty(tag)) {
            String orderStatusColumn = "o.order_status";
            OrderTagEnum tagEnum = OrderTagEnum.valueOf(tag);
            switch (tagEnum) {
                //待付款
                case WAIT_PAY:
                    wrapper.eq(orderStatusColumn, OrderStatusEnum.UNPAID.name());
                    break;
                //待发货
                case WAIT_SHIP:
                    wrapper.eq(orderStatusColumn, OrderStatusEnum.UNDELIVERED.name());
                    break;
                //待收货
                case WAIT_ROG:
                    wrapper.eq(orderStatusColumn, OrderStatusEnum.DELIVERED.name());
                    break;
                //已取消
                case CANCELLED:
                    wrapper.eq(orderStatusColumn, OrderStatusEnum.CANCELLED.name());
                    break;
                //已完成
                case COMPLETE:
                    wrapper.eq(orderStatusColumn, OrderStatusEnum.COMPLETED.name());
                    break;
                default:
                    break;
            }
        }
        // ä¾èµ–订单
        wrapper.eq(parentOrderSn != null, "o.parent_order_sn", parentOrderSn);
        // ä¿ƒé”€æ´»åЍid
        wrapper.eq(CharSequenceUtil.isNotEmpty(promotionId), "o.promotion_id", promotionId);
        wrapper.eq(CharSequenceUtil.isNotEmpty(orderPromotionType), "o.order_promotion_type", orderPromotionType);
        if (CharSequenceUtil.isNotEmpty(flowPrice)) {
            String[] s = flowPrice.split("_");
            if (s.length > 1) {
                wrapper.between("o.flow_price", s[0], s[1]);
            } else {
                wrapper.ge("o.flow_price", s[0]);
            }
        }
        wrapper.eq("o.delete_flag", false);
        return wrapper;
    }
}
framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java
@@ -3,10 +3,7 @@
import cn.lili.modules.member.entity.dto.MemberAddressDTO;
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.order.entity.dos.Order;
import cn.lili.modules.order.order.entity.dto.OrderMessage;
import cn.lili.modules.order.order.entity.dto.OrderSearchParams;
import cn.lili.modules.order.order.entity.dto.PartDeliveryParamsDTO;
import cn.lili.modules.order.order.entity.dto.SupplierOrderSearchParams;
import cn.lili.modules.order.order.entity.dto.*;
import cn.lili.modules.order.order.entity.vo.OrderDetailVO;
import cn.lili.modules.order.order.entity.vo.OrderSimpleVO;
import cn.lili.modules.order.order.entity.vo.OrderSimpleXcxVO;
@@ -60,7 +57,7 @@
     * @param orderSearchParams æŸ¥è¯¢å‚æ•°
     * @return ç®€çŸ­è®¢å•分页
     */
    IPage<OrderSimpleXcxVO> queryByXcxParams(OrderSearchParams orderSearchParams);
    IPage<OrderSimpleXcxVO> queryByXcxParams(OrderSearchXcxParams orderSearchParams);
    IPage<OrderSimpleXcxVO> querySupplierOrderParams(SupplierOrderSearchParams orderSearchParams);
framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
@@ -237,7 +237,7 @@
    }
    @Override
    public IPage<OrderSimpleXcxVO> queryByXcxParams(OrderSearchParams orderSearchParams) {
    public IPage<OrderSimpleXcxVO> queryByXcxParams(OrderSearchXcxParams orderSearchParams) {
        QueryWrapper queryWrapper = orderSearchParams.queryWrapper();
        queryWrapper.groupBy("o.id");
        queryWrapper.orderByDesc("o.id");
framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java
@@ -73,6 +73,13 @@
            "OR settlement_cycle LIKE concat('%,',#{day})"+
            "OR settlement_cycle = #{day}")
    List<StoreSettlementDay> getSettlementStore(int day);
    /**
     * èŽ·å–å¾…ç»“ç®—åº—é“ºåˆ—è¡¨
     *
     * @return å¾…结算店铺列表
     */
    @Select("SELECT store_id,settlement_day FROM li_store_detail ")
    List<StoreSettlementDay> getAllSettlementStore();
    /**
     * ä¿®æ”¹åº—铺的结算日
framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java
@@ -131,6 +131,8 @@
     */
    List<StoreSettlementDay> getSettlementStore(int day);
    List<StoreSettlementDay> getAllSettlementStore();
    /**
     * ä¿®æ”¹åº—铺的结算日
     *
framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java
@@ -142,6 +142,10 @@
    public List<StoreSettlementDay> getSettlementStore(int day) {
        return this.baseMapper.getSettlementStore(day);
    }
    @Override
    public List<StoreSettlementDay> getAllSettlementStore() {
        return this.baseMapper.getAllSettlementStore();
    }
    @Override
    public StoreDeliverGoodsAddressDTO getStoreDeliverGoodsAddressDto() {
framework/src/main/resources/mapper/lmk/VideoMapper.xml
@@ -267,6 +267,40 @@
        ORDER BY
            LV.create_time DESC
    </select>
    <select id="recommendVideoByVideoId" resultMap="WxResultMap">
        SELECT
            LV.author_id,
            LV.cover_url,
            LV.video_fit,
            LV.video_duration,
            LV.video_file_key,
            LV.title,
            LV.goods_view_num,
            LV.goods_order_num,
            LV.recommend,
            LV.status,
            LV.play_num,
            LV.comment_num,
            LV.collect_num,
            LV.thumbs_up_num,
            LV.weight,
            LV.audit_pass_time,
            LV.update_time,
            LV.create_time,
            LV.video_content_type,
            LV.video_type,
            LV.video_imgs,
            LV.id,
            LM.nick_name as authorName,
            LM.face as authorAvatar
        FROM
            lmk_video LV
                LEFT JOIN li_member LM ON LV.author_id = LM.id
        WHERE
            LV.delete_flag = 0 AND LV.status = '1' AND LV.id = #{query.videoId}
        ORDER BY
            LV.create_time DESC
    </select>
    <select id="recommendVideoList" resultMap="WxResultMap">
        SELECT
            LV.author_id,
lmk-job/src/main/java/cn/lili/handler/impl/order/OrderEveryDayTaskExecute.java
@@ -269,7 +269,9 @@
        int day = DateUtil.date().dayOfMonth();
        //获取待结算商家列表
        List<StoreSettlementDay> storeList = storeDetailService.getSettlementStore(day);
//        List<StoreSettlementDay> storeList = storeDetailService.getSettlementStore(day);
        //直接从所有商家中去结算不在根据天数去结算
        List<StoreSettlementDay> storeList = storeDetailService.getAllSettlementStore();
        //获取当前时间
        DateTime endTime = DateUtil.date();
mykÏßÉÏÅäÖÃ.xlsx
Binary files differ