零点轰趴馆开发日记:二

零点轰趴馆开发日记:二
Flaw/**
查询专家库列表
@param specialist 专家库
@return 专家库
*/
@Override
public ListselectSpecialistList(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);
Listspecialists = 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 ListqueryShowArea; /** 姓名 /
@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字段的。








