零点轰趴馆开发日记:二

/**

  • 查询专家库列表

  • @param specialist 专家库

  • @return 专家库
    */
    @Override
    public List selectSpecialistList(Specialist specialist) {

    List queryShowArea = specialist.getQueryShowArea();
    if (queryShowArea != null && queryShowArea.size() > 0) {
    specialist.setShowArea(StringUtils.join(queryShowArea, “|”));
    specialist.setQueryShowArea(null);
    }

    QueryWrapper queryWrapper = QueryWapperUtils.createQueryWrapper(specialist);
    queryWrapper.lambda().orderByAsc(Specialist::getSort);
    List specialists = specialistMapper.selectList(queryWrapper);
    for (Specialist specialist1 : specialists) {
    String showArea = specialist1.getShowArea();
    if (StringUtils.isNotEmpty(showArea)) {
    specialist1.setQueryShowArea(Arrays.asList(showArea.split(“,”)));
    }
    // 获取专家的聘用起始时间和结束时间
    Date contractStartTime = specialist1.getContractStartTime();
    Date contractEndTime = specialist1.getContractEndTime();
    // 获取当前日期
    Date currentDate = new Date();
    // 判断聘用期是否有效
    if (contractStartTime != null && contractEndTime != null) {
    // 如果当前时间在聘用期内,设置专家的isExpired字段为false
    if (currentDate.after(contractStartTime) && currentDate.before(contractEndTime)) {
    specialist1.setIsExpired(false); // 在聘用期内
    } else {
    specialist1.setIsExpired(true); // 不在聘用期内
    }
    } else {
    // 如果聘用期为空,设置为无效
    specialist1.setIsExpired(true); // 没有聘用期
    }
    }
    return specialists;

}

package com.wjadmin.specialist.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wjadmin.common.anno.QueryField;
import com.wjadmin.common.anno.QueryFieldType;
import com.wjadmin.common.annotation.Excel;
import com.wjadmin.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**

  • 专家库对象 specialist

    • @author wjadmin
  • @date 2024-01-07
    */@Data
    public class Specialist extends BaseEntity
    {
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;
    @TableField(exist = false)
    private String importErrorMsg;

    /** 照片 */
    @Excel(name = “照片”)
    private String pic;
    private Integer sort;

    @QueryField(type = QueryFieldType.MULTI_REGEXP, fieldName = “show_area”)
    private String showArea;

    @QueryField(type = QueryFieldType.IN, fieldName = “show_area”)
    @TableField(exist = false)
    private List queryShowArea;

    /** 姓名 /
    @Excel(name = “姓名”)
    @QueryField(type = QueryFieldType.LIKE)
    private String userName;
    private String age;
    @QueryField(type = QueryFieldType.GT_EQ, fieldName = “age”)
    @TableField(exist = false)
    private Double startAge;
    @QueryField(type = QueryFieldType.LT_EQ, fieldName = “age”)
    @TableField(exist = false)
    private Double endAge;
    /
    * 性别 */
    @Excel(name = “性别”)
    private String sex;

    /** 职业 */
    @Excel(name = “职业”)
    @QueryField(type = QueryFieldType.LIKE)
    private String career;

    /** 职称 */
    @Excel(name = “职称”)
    @QueryField(type = QueryFieldType.LIKE)
    private String title;

    @Excel(name = “专家编码”)
    private String code;
    /** 专家类别 */
    @Excel(name = “专家类别”)
    private String expertCategory;

    /** 工作单位 */
    @Excel(name = “工作单位”)
    private String workUnit;

    /** 居住地-省 */
    @Excel(name = “居住地-省”)
    private String addressProvinceid;

    /** 居住地-市 */
    @Excel(name = “居住地-市”)
    private String addressCityid;

    /** 居住地区县 */
    @Excel(name = “居住地区县”)
    private String addressThreecityId;

    /** 居住地详细地址 */
    @Excel(name = “居住地详细地址”)
    private String addressDetail;

    /** 联系电话 */
    @Excel(name = “联系电话”)
    private String linkPhone;

    /** 登记时间 */
    @JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
    @Excel(name = “登记时间”, width = 30, dateFormat = “yyyy-MM-dd HH:mm:ss”)
    private Date registerTime;

    /** 专家介绍 */
    @Excel(name = “专家介绍”)
    private String introduce;

    /** 是否有效(0:无效,1:有效) */
    private Integer isAvailable;

    /** 概要简介 */
    @Excel(name = “概要简介”)
    private String introduceDesc;

    private String contract;

// 代表课
private String couseName;
// 代表课链接onlincouse 的id
private String cousePath;

@JsonFormat(pattern = "yyyy-MM-dd")  
@Excel(name = "聘用起始时间")  
private Date contractStartTime;  

@JsonFormat(pattern = "yyyy-MM-dd")  
@Excel(name = "聘用结束时间")  
private Date contractEndTime;  

// 聘用时间是否过期
private transient Boolean isExpired;

public Boolean getExpired() {  
    return isExpired;  
}  

public void setExpired(Boolean expired) {  
    isExpired = expired;  
}  

}

isExpired改成int类型,isExpired不存数据库,是个虚拟的属性,但是返回的值里要有,数据库里是没有is_expired字段的。