今天有个需求就是一个list对象里面去除重复数据

今天有个需求就是一个list对象里面去除重复数据
根据用户车牌号和用户身份证
去重

package com.jinw.largescreen.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.jinw.base.model.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;
import java.util.Objects;

/**
 * @author @liuxin
 * @classname MpzreListVO
 * @date 2024/3/7 9:14
 * @description TODO
 */
@Data
public class RoleIdListVO {
    @ApiModelProperty("社会服务人员id")
    @JsonProperty("ID")
    private String id;
    @ApiModelProperty("社会服务人员id")
    @JsonProperty("user_id")
    private String userId;
    /** 姓名 */
    @Excel(name = "姓名")
    @ApiModelProperty("姓名")
    @JsonProperty("REAL_NAME")
    private String realName;
    /** 姓名 */
    @Excel(name = "身份类型")
    @ApiModelProperty("服务类型")
    @JsonProperty("ROLE_NAME")
    private String roleName;

    /** 身份证 */
    @Excel(name = "身份证")
    @ApiModelProperty("身份证")
    @JsonProperty("ID_CARD")
    private String idCard;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @ApiModelProperty("联系电话")
    @JsonProperty("USER_IPHONE")
    private String userIphone;

    /** 车牌号 */
    @Excel(name = "车牌号")
    @ApiModelProperty("车牌号")
    @JsonProperty("PLATE_NO")
    private String plateNo;

    private Integer pageTotal;


    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        RoleIdListVO that = (RoleIdListVO) o;
        return Objects.equals(plateNo, that.plateNo) &&
                Objects.equals(idCard, that.idCard);
    }

    @Override
    public int hashCode() {
        return Objects.hash(plateNo, idCard);
    }
}
  // 使用Stream API去重
        returnRoleIdList = returnRoleIdList.stream()
                .distinct()
                .collect(Collectors.toList());

记一次数据查询不到问题

后端开发人员在查询数据时把参数


手动写了 2,4,5
mapper层是用的string接收

但是xml中也是直接 in()拼接
导致数据库以为2,4,5是一个字符串,所以查询不到数据
修正前:

<if test="auditStatus !=null and auditStatus!=''">
            and car.AUDIT_STATUS in
                #{auditStatus}
</if>

修正后:

记一次接口调优方案

以前的项目,今天让我数据优化,花了一天多时间把业务重写下

不要再循环中进行数据库查询语句
可以选用直接在外面把全部数据查询出来
然后用代码去遍历查询数据

用内存换时间
目前我优化后效率从7s到2s左右

再做接口开发时,遇到一个问题 Could not resolve view with name 'xxx' in servlet with name 'dispatcherServlet'

用的springboot框架

在控制器上加了 两个注解

@Controller
@RequestMapping("/kingowSSO")

我写了一个方法,
刚开始我的方法没有这个注解,当请求过来时方法可以正常执行,但是方法执行完毕后,程序会报错,挺奇怪的,我的方法没有返回值用的 void ,理论上是不需要加 @ResponseBody 注解的才对啊

@ResponseBody

但是不加 @ResponseBody 注解 程序会报错

Could not resolve view with name 'xxx' in servlet with name 'dispatcherServlet'