wang-hao-jie
2021-12-14 0c0a751f2e1abac46b506697096cc3b2a5b54510
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package cn.exrick.xboot.your.mapper;
import cn.exrick.xboot.your.entity.Area;
import cn.exrick.xboot.your.vo.CarVo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.exrick.xboot.your.entity.Car;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.type.JdbcType;
 
import java.util.List;
 
/**
 * 车辆表数据处理层
 * @author zhangzeli
 */
public interface CarMapper extends BaseMapper<Car> {
 
    @Select("SELECT a.*,b1.nickname AS temp,b2.nickname AS followNickName FROM t_car a LEFT JOIN t_user AS b1 ON a.user_id = b1.id LEFT JOIN t_user AS b2 ON a.follow_user_id = b2.id ${ew.customSqlSegment} ")
    @Results({@Result(column="temp", property="nickName", jdbcType = JdbcType.VARCHAR)})
    IPage<Car> page2(Page initMpPage, @Param(Constants.WRAPPER) QueryWrapper<Car> wrapper);
 
    @Select("SELECT c.*,u.nickname,a.`name` AS area_name FROM t_car c LEFT JOIN t_user AS u ON c.user_id=u.id LEFT JOIN t_area AS a ON a.user_id=u.id")
    List<Car> getAll2();
 
    @Select("SELECT\n" +
            "\tc.*,(SUM(amount)) AS allAmount,SUM(money) AS allMoney,(MAX(mileage)) AS allMileage\n" +
            "FROM\n" +
            "\tt_car c\n" +
            "LEFT JOIN t_add_oil a ON c.id = a.car_id GROUP BY car_no\n")
    List<Car> getCarInfo();
 
    @Select("SELECT\n" +
            "\tc.*,(MAX(amount)-MIN(amount)) AS amount,SUM(money) AS money,(MAX(mileage)-MIN(mileage)) AS mileage\n" +
            "FROM\n" +
            "\tt_car c\n" +
            "LEFT JOIN t_add_oil a ON c.id = a.car_id ${ew.customSqlSegment}")
    List<Car> getCarInfo2(@Param(Constants.WRAPPER) QueryWrapper<Car> wrapper);
 
}