当前位置: 代码网 > it编程>编程语言>Java > mybatis之IN多条件查询,查询status=多个值的数据

mybatis之IN多条件查询,查询status=多个值的数据

2025年12月02日 Java 我要评论
1.controllerimport com.chint.common.CommonPage;import com.chint.common.ResponseData;import com.chint

1.controller

import com.chint.common.CommonPage;
import com.chint.common.ResponseData;
import com.chint.entity.dto.DeliverInfoParam;
import com.chint.entity.dto.DeliverTaskResultDTO;
import com.chint.entity.dto.PhotoResultDTO;
import com.chint.service.DeliverGpsTrajectoryService;
import com.chint.service.ISmallProgramService;
import com.chint.service.ITransTaskService;
import com.chint.util.ZiamUtil;
import com.chint.ziam.library.AuthenticationContext;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 
 *
 *
 **/
@Api(tags = "小程序")
@Slf4j
@RestController
@RequestMapping("/smallProgram")
public class SmallProgramController {

    @Autowired
    ISmallProgramService smallProgramService;


    @ApiOperation("运单列表查询")
    @RequestMapping(value = "/listDeliver", method = RequestMethod.POST)
    @ResponseBody
    public ResponseData<CommonPage<DeliverTaskResultDTO>> listDeliver(@RequestBody DeliverInfoParam deliverInfoParam, 
                                                                      @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,
                                                                      @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum){

       
        List<DeliverTaskResultDTO> deliverTaskList = smallProgramService.listDeliver(deliverInfoParam,pageSize,pageNum);

        return ResponseData.success(CommonPage.restPage(deliverTaskList));
    }



}
2.service

import com.baomidou.mybatisplus.extension.service.IService;
import com.chint.entity.DeliveryTaskInfo;
import com.chint.entity.dto.*;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * <p>

public interface ISmallProgramService extends IService<DeliveryTaskInfo> {


    List<DeliverTaskResultDTO> listDeliver(DeliverInfoParam deliverInfoParam,Integer pageSize,Integer pageNum);
}
3.impl

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chint.entity.DeliveryTaskInfo;
import com.chint.entity.dto.*;
import com.chint.mapper.SmallProgramMapper;
import com.chint.service.ISmallProgramService;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**

 */
@Service
public class SmallProgramServiceImpl extends ServiceImpl<SmallProgramMapper, DeliveryTaskInfo> implements ISmallProgramService {

    @Autowired
    SmallProgramMapper smallProgramMapper;

    @Override
    public List<DeliverTaskResultDTO> listDeliver(DeliverInfoParam deliverInfoParam,Integer pageSize,Integer pageNum) {
        PageHelper.startPage(pageNum,pageSize);
        return smallProgramMapper.listDeliver(deliverInfoParam);
    }

}
4.mapper接口层

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chint.entity.DeliveryTaskInfo;
import com.chint.entity.dto.DeliverInfoParam;
import com.chint.entity.dto.DeliverTaskResultDTO;
import com.chint.entity.dto.PhotoResultDTO;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * <p>
 * 用户表 Mapper 接口
 * 
 */
public interface SmallProgramMapper extends BaseMapper<DeliveryTaskInfo> {

    List<DeliverTaskResultDTO> listDeliver(@RequestBody DeliverInfoParam deliverInfoParam);
    
}
5.mapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chint.mapper.SmallProgramMapper">


    <resultMap id="DeliverMap" type="com.chint.entity.dto.PhotoResultDTO">
        <result column="trans_ship_no" property="transShipNo" />
        <result column="delivery_ship_no" property="deliveryShipNo" />
        <result column="deliveryId" property="deliveryId" />
        <result column="count_num" property="countNum" />
        <result column="total_vol" property="totalVol" />
        <result column="total_weight" property="totalWeight" />
        <result column="status" property="status" />
        <result column="send_carrier_name" property="sendCarrierName" />
        <result column="vehicle_plate" property="vehiclePlate" />
        <result column="allocate_type" property="allocateType" />
        <result column="delivery_type" property="deliveryType" />
       <!-- <result column="goods_type" property="goodsType" />-->
        <result column="delivery_di" property="deliveryDi" />
        <result column="recieve_di" property="recieveDi" />
        <result column="delivery_date" property="deliveryDate" />
        <result column="estimate_arrival_time" property="estimateArrivalTime" />
        <result column="acture_arrival_time" property="actureArrivalTime" />

        <collection property="photos" ofType="com.chint.entity.UploadPhoto">
            <result column="id" property="id" />
            <result column="photo_type" property="photoType" />
            <result column="upload_url" property="uploadUrl" />
            <result column="photo_name" property="photoName" />
            <result column="upload_status" property="uploadStatus" />
        </collection>
    </resultMap>


    <select id="listDeliver" resultMap="DeliverMap">
        select delivery.id deliveryId,
        delivery.delivery_ship_no,
        delivery.status,
        delivery.send_carrier_name,
        delivery.vehicle_plate,
        task.trans_ship_no,
        task.count_num,
        task.total_vol,
        task.total_weight,
        task.allocate_type,
        task.delivery_type,
        task.delivery_di,
        task.recieve_di,
        task.delivery_date,
        task.estimate_arrival_time,
        task.acture_arrival_time,
        pto.id,
        pto.photo_type,
        pto.upload_url,
        pto.photo_name,
        pto.upload_status
        from delivery_task_info delivery
        left join trans_x_delivery rela on  delivery.delivery_ship_no = rela.delivery_ship_no
        left join trans_task_info task on rela.trans_ship_no = task.trans_ship_no
        left join upload_photo pto on delivery.delivery_ship_no = pto.delivery_ship_no
        <where>

            <if test="driverPhone != null and driverPhone != ''">
                and delivery.driver_phone = #{driverPhone}
            </if>
            <if test="statusList != null and statusList.size() > 0">
                and delivery.status in
                <foreach collection="statusList" separator="," open="(" close=")" item="status" >
                    #{status}
                </foreach>
            </if>

        </where>
    </select>
</mapper>
6.接受mapper.xml的返回参数实体类


import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.chint.entity.UploadPhoto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 运单轨迹查询结果参数
 * </p>
 *
 * @author chint
 * @since 2022-11-01
 */
@Getter
@Setter
@ApiModel(value = "PhotoResultDTO对象", description = "运单,图片查询结果")
public class PhotoResultDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "派车单号",hidden = true)
    private Long transShipNo;

    @ApiModelProperty("deliveryId号")
    private Long deliveryId;

    @ApiModelProperty("运单号")
    private Long deliveryShipNo;

    @ExcelProperty("件数")
    @ApiModelProperty("件数")
    private Integer countNum;

    @ExcelProperty("总体积")
    @ApiModelProperty("总体积")
    private String totalVol;

    @ExcelProperty("总重量")
    @ApiModelProperty("总重量")
    private String totalWeight;

    //导入时为新建
    @ApiModelProperty(value = "运输单状态",example="0-新建,1-已派车,2-运输中,3-已签收,9-已删除",hidden = true)
    private String status;

    @ExcelProperty("承运商")
    @ApiModelProperty("承运商")
    private String sendCarrierName;

    @ExcelProperty("车牌号")
    @ApiModelProperty("车牌号")
    private String vehiclePlate;

    @ExcelProperty("配载方式")
    @ApiModelProperty("配载方式")//挂车
    private String allocateType;

    @ExcelProperty("发货类型")
    @ApiModelProperty("发货类型")//货车
    private String deliveryType;

    @ExcelProperty("商品/货物类型")
    @ApiModelProperty("商品/货物类型")
    private String goodsType;

    @ApiModelProperty("发货地址")
    private String deliveryDi;

    @ApiModelProperty("收货地址")
    private String recieveDi;

    @ApiModelProperty("发货时间")
    private String deliveryDate;

    @ApiModelProperty("预计到达时间")
    private String estimateArrivalTime;

    @ApiModelProperty("预计到达时间")
    private String actureArrivalTime;

    @TableField(exist = false)
    @ApiModelProperty("图片信息表")
    List<UploadPhoto> photos;
}
 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com