提交 f6454aa4 作者: 涂茂林

合并分支 'dev_tzl' 到 'dev_tml'

Dev tzl

查看合并请求 chemical-kesai/kshg-api!17
...@@ -73,4 +73,7 @@ dependencies { ...@@ -73,4 +73,7 @@ dependencies {
// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign // https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign
implementation "org.springframework.cloud:spring-cloud-starter-openfeign:${openfeignVersion}" implementation "org.springframework.cloud:spring-cloud-starter-openfeign:${openfeignVersion}"
// feign-okhttp
implementation "io.github.openfeign:feign-okhttp:${feignOkhttpVersion}"
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.domain.car;
import java.io.Serializable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;
/**
* @author tzl
* 2022/4/11 13:42
*/
@Repository
public interface CarRepository extends JpaRepository<Car, Serializable>, JpaSpecificationExecutor<Car> {
// /**
// * 检查是否存在相同车牌号登记
// *
// * @param param String 车牌号码
// * @return 是否存在
// */
// @Query("SELECT COUNT(c.id) FROM bs_car c where car_num=?1 and label_card_status <>'已收卡'")
// boolean hasCarInfoByCarNum(String param);
//
// /**
// * 检查是否存在相同手机号码登记
// *
// * @param param String 手机号码
// * @return 是否存在
// */
// @Query("SELECT COUNT(c.id) FROM bs_car c where driver_mobile=?1 and label_card_status <>'已收卡'")
// boolean hasCarInfoByMobile(String param);
}
...@@ -99,6 +99,10 @@ public class LocationTag extends BasicEntity implements Serializable { ...@@ -99,6 +99,10 @@ public class LocationTag extends BasicEntity implements Serializable {
@Comment("电量单位") @Comment("电量单位")
String voltUnit; String voltUnit;
@FieldMapping
@Comment("类型(1:内部/2:访客/3:承包商)")
Integer category;
@FieldMapping(value = "raiseTimestamp", desc = "更新时间戳", type = Long.class) @FieldMapping(value = "raiseTimestamp", desc = "更新时间戳", type = Long.class)
@Comment("更新时间") @Comment("更新时间")
LocalDateTime updateTime; LocalDateTime updateTime;
......
...@@ -13,4 +13,13 @@ import org.springframework.stereotype.Repository; ...@@ -13,4 +13,13 @@ import org.springframework.stereotype.Repository;
*/ */
@Repository @Repository
public interface VideoRepository extends JpaRepository<Video, Serializable>, JpaSpecificationExecutor<Video> {} public interface VideoRepository extends JpaRepository<Video, Serializable>, JpaSpecificationExecutor<Video> {
/**
* 根据监控点位名称模糊查询
* @author tzl
* @date 2022/4/27 13:39
* @param VideoName 监控点位名称
* @return com.yiring.app.domain.video.Video
*/
Video findByVideoNameLike(String VideoName);
}
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.domain.car; package com.yiring.app.domain.visitor;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial; import java.io.Serial;
...@@ -48,24 +48,6 @@ public class Car implements Serializable { ...@@ -48,24 +48,6 @@ public class Car implements Serializable {
@Comment("车辆类型") @Comment("车辆类型")
String carType; String carType;
@Comment("司机名称")
String driverName;
@Comment("司机电话")
String driverMobile;
@Comment("标签卡")
String labelCard;
@Comment("所属单位id")
String orgId;
@Comment("被访人id")
String intervieweeId;
@Comment("来访原因")
String reason;
@Comment("收卡时间") @Comment("收卡时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
LocalDateTime cardRecTime; LocalDateTime cardRecTime;
...@@ -77,6 +59,6 @@ public class Car implements Serializable { ...@@ -77,6 +59,6 @@ public class Car implements Serializable {
@Comment("发卡时间") @Comment("发卡时间")
LocalDateTime cardSendTime; LocalDateTime cardSendTime;
@Comment("备用字段") @Comment("标签卡")
String reserve4; String labelCard;
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.domain.visitor;
import java.io.Serializable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
/**
* @author tzl
* 2022/4/11 13:42
*/
@Repository
public interface CarRepository extends JpaRepository<Car, Serializable>, JpaSpecificationExecutor<Car> {
/**
* 检查车牌号车辆是否已经在园内
*
* @param param String 车牌号码
* @return 是否存在
*/
@Query("SELECT COUNT(c.id) FROM Car c where carNum=?1 and cardRecTime is null")
int hasCarInfoByCarNum(String param);
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.domain.visitor;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import javax.persistence.*;
import lombok.*;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
import org.hibernate.annotations.Comment;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.snowflake.SnowflakeId;
/**
* 邀请管理
*
* @author Administrator
* @version 1.0
* @description: 邀请信息实体
* @date 2022/4/24 16:43
*/
@Getter
@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldNameConstants
@FieldDefaults(level = AccessLevel.PRIVATE)
@Entity
@Table(name = "BS_INVITATION")
@Comment("邀请信息")
public class Invitation implements Serializable {
@Serial
private static final long serialVersionUID = -1330887992216252468L;
@Id
@Comment("主键id")
@GeneratedValue(generator = SnowflakeId.GENERATOR)
@GenericGenerator(name = SnowflakeId.GENERATOR, strategy = SnowflakeId.Strategy.LONG)
Long id;
@Comment("邀请方式")
String InvitationMethod;
@Comment("状态")
String status;
@Comment("邀请人id")
Long inviterId;
@Comment("邀请人数")
Integer numOfVisitor;
@Comment("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
LocalDateTime createTime;
// @Comment("访客id")
// Long visitorId;
@Comment("被邀请访客")
@JsonIgnore
@OneToOne
@JoinColumn(name = "visitor_id", referencedColumnName = "id")
Visitor visitor;
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.domain.visitor;
import java.io.Serializable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;
/**
* @author tzl
* 2022/4/24 16:53
*/
@Repository
public interface InvitationRepository
extends JpaRepository<Invitation, Serializable>, JpaSpecificationExecutor<Invitation> {}
...@@ -6,11 +6,13 @@ import java.io.Serial; ...@@ -6,11 +6,13 @@ import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import javax.persistence.*; import javax.persistence.*;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Table;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants; import lombok.experimental.FieldNameConstants;
import org.hibernate.annotations.Comment; import org.hibernate.annotations.*;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.snowflake.SnowflakeId; import org.hibernate.snowflake.SnowflakeId;
/** /**
...@@ -26,6 +28,8 @@ import org.hibernate.snowflake.SnowflakeId; ...@@ -26,6 +28,8 @@ import org.hibernate.snowflake.SnowflakeId;
@FieldNameConstants @FieldNameConstants
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
@Entity @Entity
@DynamicInsert
@DynamicUpdate
@Table(name = "BS_VISITOR") @Table(name = "BS_VISITOR")
@Comment("访客信息") @Comment("访客信息")
public class Visitor implements Serializable { public class Visitor implements Serializable {
...@@ -49,10 +53,10 @@ public class Visitor implements Serializable { ...@@ -49,10 +53,10 @@ public class Visitor implements Serializable {
String visitorCarNum; String visitorCarNum;
@Comment("是否特殊作业") @Comment("是否特殊作业")
boolean taskType; String taskType;
@Comment("邀请人数") // @Comment("邀请人数")
Integer numOfVisitor; // Integer numOfVisitor;
@Comment("访客来源") @Comment("访客来源")
String visitorSource; String visitorSource;
...@@ -69,7 +73,7 @@ public class Visitor implements Serializable { ...@@ -69,7 +73,7 @@ public class Visitor implements Serializable {
@Comment("被访人id") @Comment("被访人id")
String intervieweeId; String intervieweeId;
@Comment("来访原因") @Comment("来访原因/邀请原因")
String reason; String reason;
@Comment("收卡时间") @Comment("收卡时间")
...@@ -89,11 +93,19 @@ public class Visitor implements Serializable { ...@@ -89,11 +93,19 @@ public class Visitor implements Serializable {
LocalDateTime cardSendTime; LocalDateTime cardSendTime;
@Comment("备用字段") @Comment("备用字段")
String reserve1; Long reserve1;
@Comment("备用字段") @Comment("是否已删除:Y是 N否")
String reserve2; @Column(columnDefinition = "VARCHAR DEFAULT 'N'")
String deleted;
@Comment("主访人员id")
Long mainVisitorId;
@Comment("备用字段") @Comment("备用字段")
String reserve3; String reserve3;
@Comment("访客车辆")
@OneToOne(cascade = { CascadeType.ALL })
Car car;
} }
...@@ -11,4 +11,6 @@ import org.springframework.stereotype.Repository; ...@@ -11,4 +11,6 @@ import org.springframework.stereotype.Repository;
* 2022/4/19 14:06 * 2022/4/19 14:06
*/ */
@Repository @Repository
public interface VisitorRepository extends JpaRepository<Visitor, Serializable>, JpaSpecificationExecutor<Visitor> {} public interface VisitorRepository extends JpaRepository<Visitor, Serializable>, JpaSpecificationExecutor<Visitor> {
Visitor findByIdAndDeleted(Long id, String deleted);
}
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.excel.dept; package com.yiring.app.excel.dept;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.github.liaochong.myexcel.core.annotation.ExcelColumn; import com.github.liaochong.myexcel.core.annotation.ExcelColumn;
import com.github.liaochong.myexcel.core.annotation.ExcelModel; import com.github.liaochong.myexcel.core.annotation.ExcelModel;
import com.yiring.auth.domain.dept.Department; import com.yiring.auth.domain.dept.Department;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
import java.util.stream.Collectors;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
...@@ -33,19 +30,22 @@ public class DepartmentExportExcel implements Serializable { ...@@ -33,19 +30,22 @@ public class DepartmentExportExcel implements Serializable {
@ExcelColumn(title = "部门名称") @ExcelColumn(title = "部门名称")
String name; String name;
@ExcelColumn(title = "创建时间") @ExcelColumn(title = "负责人")
String createTime; String realName;
public static List<DepartmentExportExcel> transforms(List<Department> departments) { @ExcelColumn(title = "手机号")
return departments String mobile;
.stream()
.map(department -> @ExcelColumn(title = "是否启用")
DepartmentExportExcel String enable;
public static DepartmentExportExcel transform(Department department) {
return DepartmentExportExcel
.builder() .builder()
.name(department.getName()) .name(department.getName())
.createTime(LocalDateTimeUtil.format(department.getCreateTime(), "yyyy-MM-dd HH:mm:ss")) .realName(department.getLeader().getRealName())
.build() .mobile(department.getLeader().getMobile())
) .enable(department.getEnable() ? "启用" : "禁用")
.collect(Collectors.toList()); .build();
} }
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.excel.dept;
import cn.hutool.core.util.StrUtil;
import com.github.liaochong.myexcel.core.annotation.ExcelColumn;
import com.yiring.auth.domain.dept.Department;
import java.io.Serial;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 部门导入
*
* @author LJ-2204
* @date 2022/4/25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class DepartmentImportExcel implements Serializable {
@Serial
private static final long serialVersionUID = -1287875741111587840L;
@ExcelColumn(index = 0)
@NotNull
String name;
@ExcelColumn(index = 1)
String realName;
@ExcelColumn(index = 2)
String mobile;
@ExcelColumn(index = 3)
String enable;
public static Department transform(DepartmentImportExcel departmentImportExcel) {
return Department
.builder()
.name(departmentImportExcel.getName())
.enable(StrUtil.equals(departmentImportExcel.getEnable(), "启用"))
.build();
}
}
...@@ -7,8 +7,6 @@ import com.github.liaochong.myexcel.core.annotation.ExcelModel; ...@@ -7,8 +7,6 @@ import com.github.liaochong.myexcel.core.annotation.ExcelModel;
import com.yiring.app.domain.location.LocationTag; import com.yiring.app.domain.location.LocationTag;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
import java.util.stream.Collectors;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
...@@ -51,11 +49,8 @@ public class LocationTagExportExcel implements Serializable { ...@@ -51,11 +49,8 @@ public class LocationTagExportExcel implements Serializable {
@ExcelColumn(title = "最近更新时间") @ExcelColumn(title = "最近更新时间")
String updateTime; String updateTime;
public static List<LocationTagExportExcel> transforms(List<LocationTag> locationTags) { public static LocationTagExportExcel transform(LocationTag locationTag) {
return locationTags return LocationTagExportExcel
.stream()
.map(locationTag ->
LocationTagExportExcel
.builder() .builder()
.code(locationTag.getCode()) .code(locationTag.getCode())
.type(locationTag.getType()) .type(locationTag.getType())
...@@ -63,8 +58,6 @@ public class LocationTagExportExcel implements Serializable { ...@@ -63,8 +58,6 @@ public class LocationTagExportExcel implements Serializable {
.imei(locationTag.getImei()) .imei(locationTag.getImei())
.volt(locationTag.getVolt()) .volt(locationTag.getVolt())
.updateTime(LocalDateTimeUtil.format(locationTag.getUpdateTime(), "yyyy-MM-dd HH:mm:ss")) .updateTime(LocalDateTimeUtil.format(locationTag.getUpdateTime(), "yyyy-MM-dd HH:mm:ss"))
.build() .build();
)
.collect(Collectors.toList());
} }
} }
...@@ -36,12 +36,12 @@ public class LocationTagImportExcel implements Serializable { ...@@ -36,12 +36,12 @@ public class LocationTagImportExcel implements Serializable {
@ExcelColumn(index = 2) @ExcelColumn(index = 2)
String imei; String imei;
public LocationTag transform() { public static LocationTag transform(LocationTagImportExcel locationTagImportExcel) {
return LocationTag return LocationTag
.builder() .builder()
.code(this.code) .code(locationTagImportExcel.code)
.type(LocationTag.Type.valueOf(this.type)) .type(LocationTag.Type.valueOf(locationTagImportExcel.type))
.imei(this.imei) .imei(locationTagImportExcel.imei)
.createTime(LocalDateTime.now()) .createTime(LocalDateTime.now())
.build(); .build();
} }
......
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.excel.user; package com.yiring.app.excel.user;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.github.liaochong.myexcel.core.annotation.ExcelColumn; import com.github.liaochong.myexcel.core.annotation.ExcelColumn;
import com.yiring.app.vo.user.UserVo; import com.yiring.app.vo.user.UserVo;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
import java.util.stream.Collectors;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
/** /**
* 部门信息控制器 * 用户导出
* *
* @author LJ-2204 * @author LJ-2204
* @date 2022/4/24 * @date 2022/4/24
...@@ -31,19 +28,49 @@ public class UserExportExcel implements Serializable { ...@@ -31,19 +28,49 @@ public class UserExportExcel implements Serializable {
@ExcelColumn(title = "真实姓名") @ExcelColumn(title = "真实姓名")
String realName; String realName;
@ExcelColumn(title = "创建时间") @ExcelColumn(title = "工号")
String createTime; String uuid;
public static List<UserExportExcel> transforms(List<UserVo> userVos) { // 图标类型
return userVos @ExcelColumn(title = "图标类型")
.stream() String type;
.map(userVo ->
UserExportExcel // 手机号
@ExcelColumn(title = "手机号")
String mobile;
// 部门id
@ExcelColumn(title = "部门名称")
String deptName;
// 职位id
@ExcelColumn(title = "职位名称")
String postName;
// 标签号
@ExcelColumn(title = "标签号")
String code;
// 性别
@ExcelColumn(title = "性别")
Boolean gender;
// 是否为特殊人员
@ExcelColumn(title = "是否为特殊人员")
Boolean isSpecial;
public static UserExportExcel transform(UserVo userVo) {
return UserExportExcel
.builder() .builder()
.realName(userVo.getRealName()) .realName(userVo.getRealName())
.createTime(LocalDateTimeUtil.format(userVo.getCreateTime(), "yyyy-MM-dd HH:mm:ss")) .uuid(userVo.getUuid())
.build() .type(userVo.getType().text())
) .mobile(userVo.getMobile())
.collect(Collectors.toList()); .deptName(userVo.getDepartment())
.postName(userVo.getPost())
.code(userVo.getCode())
.gender(userVo.getGender())
.isSpecial(userVo.getIsSpecial())
.build();
} }
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.excel.user;
import com.github.liaochong.myexcel.core.annotation.ExcelColumn;
import com.yiring.auth.domain.user.User;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 用户导入
*
* @author LJ-2204
* @date 2022/4/25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class UserImportExcel implements Serializable {
@Serial
private static final long serialVersionUID = 3471291755743945051L;
// 姓名
@ExcelColumn(index = 0)
String realName;
// 工号
@ExcelColumn(index = 1)
String uuid;
// 图标类型
@ExcelColumn(index = 2)
String type;
// 手机号
@ExcelColumn(index = 3)
String mobile;
// 部门id
@ExcelColumn(index = 4)
String deptName;
// 职位id
@ExcelColumn(index = 5)
String postName;
// 标签号
@ExcelColumn(index = 6)
String code;
// 性别
@ExcelColumn(index = 7)
Boolean gender;
// 是否为特殊人员
@ExcelColumn(index = 8)
Boolean isSpecial;
public static User transform(UserImportExcel userImportExcel) {
return User
.builder()
.realName(userImportExcel.getRealName())
.uuid(userImportExcel.getUuid())
.type(User.Type.valueOf(userImportExcel.getType()))
.mobile(userImportExcel.getMobile())
.gender(userImportExcel.getGender())
.isSpecial(userImportExcel.getIsSpecial())
.build();
}
}
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.excel.car; package com.yiring.app.excel.visitor;
import com.github.liaochong.myexcel.core.annotation.ExcelColumn; import com.github.liaochong.myexcel.core.annotation.ExcelColumn;
import com.github.liaochong.myexcel.core.annotation.ExcelModel; import com.github.liaochong.myexcel.core.annotation.ExcelModel;
......
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.excel.visitor;
import com.github.liaochong.myexcel.core.annotation.ExcelColumn;
import com.github.liaochong.myexcel.core.annotation.ExcelModel;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* @author tzl
* @version 1.0
* @description: TODO
* @date 2022/4/25 11:53
*/
@ExcelModel
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@FieldDefaults(level = AccessLevel.PRIVATE)
public class InvitationExportExcel implements Serializable {
@Serial
private static final long serialVersionUID = -8861639917182472169L;
@ExcelColumn(title = "邀请原因")
String reason;
@ExcelColumn(title = "邀请方式")
String InvitationMethod;
@ExcelColumn(title = "邀请人数")
Integer numOfVisitor;
@ExcelColumn(title = "所属单位")
String orgId;
@ExcelColumn(title = "到访人姓名")
String visitorName;
@ExcelColumn(title = "到访人电话")
String visitorMobile;
@ExcelColumn(title = "是否特殊任务")
String taskType;
// Long inviterId;
@ExcelColumn(title = "邀请人姓名")
String inviterName;
@ExcelColumn(title = "邀请人部门")
String inviterDept;
@ExcelColumn(title = "预约到访时间", format = "yyyy-MM-dd HH:mm:ss", width = 15)
LocalDateTime appOfVisitTime;
@ExcelColumn(title = "状态")
String status;
}
...@@ -31,7 +31,7 @@ public class DepartmentAddParam implements Serializable { ...@@ -31,7 +31,7 @@ public class DepartmentAddParam implements Serializable {
@ApiModelProperty(value = "上级部门", example = "1", required = true) @ApiModelProperty(value = "上级部门", example = "1", required = true)
@NotNull @NotNull
Long pid; Long id;
@ApiModelProperty(value = "名称", example = "Java", required = true) @ApiModelProperty(value = "名称", example = "Java", required = true)
@NotNull @NotNull
...@@ -43,13 +43,13 @@ public class DepartmentAddParam implements Serializable { ...@@ -43,13 +43,13 @@ public class DepartmentAddParam implements Serializable {
@ApiModelProperty(value = "部门状态", example = "1") @ApiModelProperty(value = "部门状态", example = "1")
Boolean enable; Boolean enable;
public Department transform() { public static Department transform(DepartmentAddParam departmentAddParam) {
return Department return Department
.builder() .builder()
.pid(this.pid) .pid(departmentAddParam.getId())
.name(this.name) .name(departmentAddParam.getName())
.leader(User.builder().id(this.leaderId).build()) .leader(User.builder().id(departmentAddParam.getLeaderId()).build())
.enable(this.enable) .enable(departmentAddParam.getEnable())
.createTime(LocalDateTime.now()) .createTime(LocalDateTime.now())
.updateTime(LocalDateTime.now()) .updateTime(LocalDateTime.now())
.build(); .build();
......
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.dept;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 部门导入
*
* @author LJ-2204
* @date 2022/4/27
*/
@ApiModel("DepartmentExportParam")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class DepartmentExportParam implements Serializable {
@Serial
private static final long serialVersionUID = 6314061369190511168L;
@ApiModelProperty(value = "部门状态", example = "启用/禁用")
Boolean enable;
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.dept;
import com.yiring.auth.domain.dept.Department;
import com.yiring.auth.domain.user.User;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 部门修改入参
*
* @author LJ-2204
* @date 2022/4/24
*/
@ApiModel("DepartmentModifyParam")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class DepartmentModifyParam implements Serializable {
@Serial
private static final long serialVersionUID = 8839239258775446219L;
@ApiModelProperty(value = "主键", example = "1", required = true)
@NotNull
Long id;
@ApiModelProperty(value = "上级部门", example = "1", required = true)
@NotNull
Long pid;
@ApiModelProperty(value = "名称", example = "Java", required = true)
@NotNull
String name;
@ApiModelProperty(value = "负责人", example = "1")
Long leaderId;
public Department transform() {
return Department
.builder()
.id(this.id)
.pid(this.pid)
.name(this.name)
.leader(User.builder().id(this.leaderId).build())
.build();
}
}
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.location; package com.yiring.app.param.location.tag;
import com.yiring.app.domain.location.LocationTag; import com.yiring.app.domain.location.LocationTag;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -39,12 +39,12 @@ public class LocationTagAddParam implements Serializable { ...@@ -39,12 +39,12 @@ public class LocationTagAddParam implements Serializable {
@ApiModelProperty(value = "imei 设备编码标识", example = "88888888") @ApiModelProperty(value = "imei 设备编码标识", example = "88888888")
String imei; String imei;
public LocationTag transform() { public static LocationTag transform(LocationTagAddParam locationTagAddParam) {
return LocationTag return LocationTag
.builder() .builder()
.code(this.code) .code(locationTagAddParam.getCode())
.type(this.type) .type(locationTagAddParam.getType())
.imei(this.imei) .imei(locationTagAddParam.getImei())
.used(false) .used(false)
.silent(false) .silent(false)
.volt(0) .volt(0)
......
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.location; package com.yiring.app.param.location.tag;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
......
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.location.tag;
import com.yiring.app.domain.location.LocationTag;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 部门信息控制器
*
* @author LJ-2204
* @date 2022/4/27
*/
@ApiModel("LocationTagExportParam")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class LocationTagExportParam implements Serializable {
@Serial
private static final long serialVersionUID = -344458727454884014L;
@ApiModelProperty(value = "编号", example = "BTT88888888")
String code;
@ApiModelProperty(value = "标签类型", example = "蓝牙人员定位卡")
LocationTag.Type type;
@ApiModelProperty(value = "状态", example = "true")
Boolean silent;
}
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.location; package com.yiring.app.param.location.tag;
import com.yiring.app.domain.location.LocationTag; import com.yiring.app.domain.location.LocationTag;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
......
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.location; package com.yiring.app.param.location.tag;
import com.yiring.app.domain.location.LocationTag; import com.yiring.app.domain.location.LocationTag;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -38,7 +38,13 @@ public class LocationTagModifyParam implements Serializable { ...@@ -38,7 +38,13 @@ public class LocationTagModifyParam implements Serializable {
@ApiModelProperty(value = "imei 设备编码标识", example = "88888888") @ApiModelProperty(value = "imei 设备编码标识", example = "88888888")
String imei; String imei;
public LocationTag transform() { public static LocationTag transform(LocationTagModifyParam locationTagModifyParam) {
return LocationTag.builder().code(this.code).type(this.type).imei(this.imei).build(); return LocationTag
.builder()
.id(locationTagModifyParam.id)
.code(locationTagModifyParam.code)
.type(locationTagModifyParam.type)
.imei(locationTagModifyParam.imei)
.build();
} }
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.location.tag;
import io.swagger.annotations.ApiModel;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 标签分配
*
* @author LJ-2204
* @date 2022/4/27
*/
@ApiModel("LocationTagTypeFindParam")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class LocationTagTypeFindParam implements Serializable {
@Serial
private static final long serialVersionUID = -647961131755069990L;
String code;
Integer category;
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.post;
import com.yiring.auth.domain.post.Post;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 职位新增
*
* @author LJ-2204
* @date 2022/4/27
*/
@ApiModel("PostAddParam")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class PostAddParam implements Serializable {
@Serial
private static final long serialVersionUID = -7451952048517810923L;
@ApiModelProperty(value = "名称", example = "Java", required = true)
@NotNull(message = "名称不能为空")
String name;
@ApiModelProperty(value = "描述", example = "描述")
String describe;
@ApiModelProperty(value = "是否启用", example = "true")
Boolean enable;
public static Post transform(PostAddParam param) {
return Post.builder().name(param.getName()).describe(param.getDescribe()).enable(param.getEnable()).build();
}
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.post;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 职位导入入参
*
* @author LJ-2204
* @date 2022/4/27
*/
@ApiModel("PostExportParam")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class PostExportParam implements Serializable {
@Serial
private static final long serialVersionUID = 86398868302287802L;
@ApiModelProperty(value = "名称", example = "Java")
String name;
@ApiModelProperty(value = "是否启用", example = "true")
Boolean enable;
}
...@@ -9,7 +9,7 @@ import lombok.*; ...@@ -9,7 +9,7 @@ import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
/** /**
* 职位分页入参 * 职位条件入参
* @author LJ-2204 * @author LJ-2204
* @date 2022/4/13 * @date 2022/4/13
*/ */
......
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.post;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.yiring.auth.domain.post.Post;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 职位修改
*
* @author LJ-2204
* @date 2022/4/25
*/
@ApiModel("PostModifyParam")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class PostModifyParam implements Serializable {
@Serial
private static final long serialVersionUID = 9182648236336186660L;
@ApiModelProperty(value = "主键", example = "1", required = true)
@NotNull(message = "编号不能为空")
Long id;
@ApiModelProperty(value = "名称", example = "Java", required = true)
@NotNull(message = "名称不能为空")
String name;
@ApiModelProperty(value = "描述", example = "描述")
String describe;
@ApiModelProperty(value = "是否启用", example = "true")
Boolean enable;
public Post transform(PostModifyParam postParam) {
return Post
.builder()
.id(postParam.getId())
.name(postParam.getName())
.describe(postParam.getDescribe())
.enable(postParam.getEnable())
.createTime(LocalDateTimeUtil.now())
.build();
}
}
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.post; package com.yiring.app.param.post;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.yiring.auth.domain.post.Post; import com.yiring.auth.domain.post.Post;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -28,16 +29,22 @@ public class PostParam implements Serializable { ...@@ -28,16 +29,22 @@ public class PostParam implements Serializable {
private static final long serialVersionUID = 5247408856592333466L; private static final long serialVersionUID = 5247408856592333466L;
@ApiModelProperty(value = "名称", example = "Java", required = true) @ApiModelProperty(value = "名称", example = "Java", required = true)
@NotNull @NotNull(message = "名称不能为空")
String name; String name;
@ApiModelProperty(value = "描述", example = "描述", required = true) @ApiModelProperty(value = "描述", example = "描述")
String describe; String describe;
@ApiModelProperty(value = "是否启用", example = "true", required = true) @ApiModelProperty(value = "是否启用", example = "true")
Boolean enable; Boolean enable;
public Post transform() { public static Post transform(PostParam postParam) {
return Post.builder().name(this.name).describe(this.describe).enable(this.enable).build(); return Post
.builder()
.name(postParam.name)
.describe(postParam.describe)
.enable(postParam.enable)
.createTime(LocalDateTimeUtil.now())
.build();
} }
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.user;
import cn.hutool.core.convert.Convert;
import com.yiring.auth.domain.dept.Department;
import com.yiring.auth.domain.post.Post;
import com.yiring.auth.domain.user.User;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 用户新增入参
*
* @author LJ-2204
* @date 2022/4/25
*/
@ApiModel("UserAddParam")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class UserAddParam implements Serializable {
@Serial
private static final long serialVersionUID = -4976674015255774601L;
@ApiModelProperty(value = "头像", example = "url")
String avatar;
@ApiModelProperty(value = "真实姓名", example = "张三", required = true)
String realName;
@ApiModelProperty(value = "电话", example = "1888888888", required = true)
String mobile;
@ApiModelProperty(value = "图标类型", example = "EMPLOYEES人员、GUEST访客", required = true)
User.Type type;
@ApiModelProperty(value = "性别", example = "0/1")
Boolean gender;
@ApiModelProperty(value = "归属部门", example = "1", required = true)
String deptId;
@ApiModelProperty(value = "工号", example = "1888888888", required = true)
String uuid;
@ApiModelProperty(value = "职位", example = "1")
String postId;
@ApiModelProperty(value = "是否特殊人员", example = "0/1", required = true)
Boolean isSpecial;
public static User transform(UserAddParam userAddParam) {
return User
.builder()
.avatar(userAddParam.getAvatar())
.realName(userAddParam.getRealName())
.mobile(userAddParam.getMobile())
.type(userAddParam.getType())
.gender(userAddParam.getGender())
.department(Department.builder().id(Convert.toLong(userAddParam.getDeptId())).build())
.uuid(userAddParam.getUuid())
.post(Post.builder().id(Convert.toLong(userAddParam.getPostId())).build())
.isSpecial(userAddParam.getIsSpecial())
.build();
}
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.user;
import cn.hutool.core.convert.Convert;
import com.yiring.auth.domain.dept.Department;
import com.yiring.auth.domain.post.Post;
import com.yiring.auth.domain.user.User;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 用户修改入参
*
* @author LJ-2204
* @date 2022/4/25
*/
@ApiModel("UserModifyParam")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class UserModifyParam implements Serializable {
@Serial
private static final long serialVersionUID = -5475181111082029313L;
@ApiModelProperty(value = "主键", example = "11", required = true)
@NotNull
Long id;
@ApiModelProperty(value = "头像", example = "url")
String avatar;
@ApiModelProperty(value = "真实姓名", example = "张三", required = true)
@NotNull
String realName;
@ApiModelProperty(value = "电话", example = "1888888888", required = true)
@NotNull
String mobile;
@ApiModelProperty(value = "图标类型", example = "EMPLOYEES人员、GUEST访客", required = true)
@NotNull
User.Type type;
@ApiModelProperty(value = "性别", example = "0/1")
Boolean gender;
@ApiModelProperty(value = "归属部门", example = "1", required = true)
@NotNull
String deptId;
@ApiModelProperty(value = "工号", example = "1888888888", required = true)
@NotNull
String uuid;
@ApiModelProperty(value = "职位", example = "1")
String postId;
@ApiModelProperty(value = "是否特殊人员", example = "0/1", required = true)
@NotNull
Boolean isSpecial;
public User transform() {
return User
.builder()
.id(this.id)
.avatar(this.avatar)
.realName(this.realName)
.mobile(this.mobile)
.type(this.type)
.gender(this.gender)
.department(Department.builder().id(Convert.toLong(this.deptId)).build())
.uuid(this.uuid)
.post(Post.builder().id(Convert.toLong(this.postId)).build())
.isSpecial(this.isSpecial)
.build();
}
}
...@@ -3,6 +3,7 @@ package com.yiring.app.param.video; ...@@ -3,6 +3,7 @@ package com.yiring.app.param.video;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
...@@ -21,6 +22,7 @@ import lombok.experimental.FieldDefaults; ...@@ -21,6 +22,7 @@ import lombok.experimental.FieldDefaults;
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
public class VideoQueryParam implements Serializable { public class VideoQueryParam implements Serializable {
@Serial
private static final long serialVersionUID = -330684070308585411L; private static final long serialVersionUID = -330684070308585411L;
@ApiModelProperty(value = "编号", example = "88888888") @ApiModelProperty(value = "编号", example = "88888888")
......
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.car; package com.yiring.app.param.visitor;
import com.yiring.common.constant.RegEx; import com.yiring.common.constant.RegEx;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -8,7 +8,6 @@ import java.io.Serial; ...@@ -8,7 +8,6 @@ import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern; import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
...@@ -35,25 +34,8 @@ public class CarParam implements Serializable { ...@@ -35,25 +34,8 @@ public class CarParam implements Serializable {
@ApiModelProperty(value = "车辆类型", example = "1") @ApiModelProperty(value = "车辆类型", example = "1")
String carType; String carType;
@ApiModelProperty(value = "司机名称", example = "张三", required = true) @ApiModelProperty(value = "车辆类型", example = "1")
@NotEmpty(message = "司机名称不能为空") String labelCard;
String driverName; // @ApiModelProperty(value = "对应访客id", example = "1", required = true)
// Long visitorId;
@ApiModelProperty(value = "司机电话", example = "17688888888", required = true)
@NotEmpty(message = "司机电话不能为空")
@Pattern(regexp = RegEx.MOBILE, message = "手机号码格式不正确")
String driverMobile;
@ApiModelProperty(value = "所属单位id", example = "1", required = true)
@NotEmpty(message = "所属单位id不能为空")
String orgId;
@ApiModelProperty(value = "被访人id", example = "1", required = true)
@NotEmpty(message = "被访人id不能为空")
String intervieweeId;
@ApiModelProperty(value = "来访原因", example = "视察", required = true)
@NotEmpty(message = "来访原因不能为空")
@Size(min = 1, max = 20, message = "来访原因超出范围")
String reason;
} }
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.car; package com.yiring.app.param.visitor;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
......
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.visitor; package com.yiring.app.param.visitor;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yiring.common.constant.RegEx;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
/** /**
* 邀请信息入参
*
* @author tzl * @author tzl
* 2022/4/21 14:04 * @version 1.0
* @description: 邀请信息入参
* @date 2022/4/24 17:30
*/ */
@ApiModel("VisitorInfo") @ApiModel("VisitorInfo")
@Data @Data
...@@ -19,23 +28,47 @@ import lombok.experimental.FieldDefaults; ...@@ -19,23 +28,47 @@ import lombok.experimental.FieldDefaults;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
public class VisitorInfoParam implements Serializable { public class InvitationParam implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 3419577080791245488L; private static final long serialVersionUID = 3394438557179083143L;
@ApiModelProperty(value = "邀请方式:个人 公司", example = "个人", required = true)
@NotEmpty(message = "邀请方式不能为空")
String InvitationMethod;
@ApiModelProperty(value = "邀请原因/来访原因", example = "随便看看", required = true)
@Size(min = 1, max = 20, message = "邀请原因")
String reason;
@ApiModelProperty(value = "到访人姓名", example = "张三", required = true) @ApiModelProperty(value = "到访人姓名", example = "张三", required = true)
@NotEmpty(message = "到访人姓名不能为空") @NotEmpty(message = "到访人姓名")
String visitorName; String visitorName;
@ApiModelProperty(value = "到访人电话", example = "17688888888", required = true) @ApiModelProperty(value = "到访人电话", example = "17688888888", required = true)
@Pattern(regexp = RegEx.MOBILE, message = "手机号码格式不正确")
@NotEmpty(message = "到访人电话不能为空") @NotEmpty(message = "到访人电话不能为空")
String visitorMobile; String visitorMobile;
@ApiModelProperty(value = "到访人身份证", example = "430441190001255417", required = true) @ApiModelProperty(value = "到访人身份证", example = "430441190001255417")
@NotEmpty(message = "到访人身份证不能为空")
String visitorCarNum; String visitorCarNum;
@ApiModelProperty(value = "是否特殊作业", example = "fasle", required = true) @ApiModelProperty(value = "是否特殊作业", example = "否", required = true)
boolean taskType; String taskType;
// @ApiModelProperty(value = "访客来源", example = "外部邀请", required = true)
// String visitorSource;
@ApiModelProperty(value = "访客公司", example = "壹润科技")
String orgId;
@ApiModelProperty(value = "预约时间", example = "2022-04-19 14:28:00", required = true)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
LocalDateTime appOfVisitTime;
@ApiModelProperty(value = "邀请人id", example = "1", required = true)
Long inviterId;
@ApiModelProperty(value = "邀请人数", example = "1")
Integer numOfVisitor;
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.visitor;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* @author tzl
* @version 1.0
* @description: TODO
* @date 2022/4/25 9:36
*/
@ApiModel("InvitationQueryParam")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class InvitationQueryParam implements Serializable {
@Serial
private static final long serialVersionUID = -8217270866091799814L;
@ApiModelProperty(value = "到访人姓名", example = "张三")
String visitorName;
@ApiModelProperty(value = "到访人电话", example = "17688888888")
String visitorMobile;
@ApiModelProperty(value = "访客公司", example = "壹润科技")
String orgId;
@ApiModelProperty(value = "是否特殊作业", example = "fasle")
String taskType;
@ApiModelProperty(value = "邀请人id", example = "1")
Long inviterId;
// @ApiModelProperty(value = "邀请人部门id", example = "1")
// Long deptId;
@ApiModelProperty(value = "预约到访时间(开始)", example = "2022-04-19 14:28:00")
LocalDateTime appOfVisitTimeStart;
@ApiModelProperty(value = "预约到访时间(结束)", example = "2022-04-19 14:28:00")
LocalDateTime appOfVisitTimeEnd;
@ApiModelProperty(value = "分页条数", example = "10")
Integer pageSize;
@ApiModelProperty(value = "当前页数", example = "1")
Integer pageNo;
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.param.visitor;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* @author tzl
* 2022/4/21 13:51
*/
@ApiModel("VisitorParam")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class VisitorListParam implements Serializable {
@Serial
private static final long serialVersionUID = 6356324790945367160L;
@ApiModelProperty(value = "访客来源", example = "内部邀请", required = true)
String visitorSource;
@ApiModelProperty(value = "来访原因", example = "2022-04-19 14:28:00")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
LocalDateTime appOfVisitTime;
@ApiModelProperty(value = "被访人id", example = "1", required = true)
String intervieweeId;
@ApiModelProperty(value = "来访原因", example = "看看", required = true)
String reason;
@ApiModelProperty(value = "访客所属公司", example = "壹润科技", required = true)
String orgId;
@ApiModelProperty(value = "邀请人数", example = "1", required = true)
Integer numOfVisitor;
List<VisitorInfoParam> visitorInfos;
}
...@@ -2,11 +2,14 @@ ...@@ -2,11 +2,14 @@
package com.yiring.app.param.visitor; package com.yiring.app.param.visitor;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yiring.common.constant.RegEx;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
...@@ -22,6 +25,7 @@ import lombok.experimental.FieldDefaults; ...@@ -22,6 +25,7 @@ import lombok.experimental.FieldDefaults;
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
public class VisitorParam implements Serializable { public class VisitorParam implements Serializable {
@Serial
private static final long serialVersionUID = 1444009404727514785L; private static final long serialVersionUID = 1444009404727514785L;
@ApiModelProperty(value = "到访人姓名", example = "张三", required = true) @ApiModelProperty(value = "到访人姓名", example = "张三", required = true)
...@@ -37,20 +41,11 @@ public class VisitorParam implements Serializable { ...@@ -37,20 +41,11 @@ public class VisitorParam implements Serializable {
String visitorCarNum; String visitorCarNum;
@ApiModelProperty(value = "是否特殊作业", example = "fasle", required = true) @ApiModelProperty(value = "是否特殊作业", example = "fasle", required = true)
boolean taskType; String taskType;
// @Comment("邀请人数")
// Integer numOfVisitor;
@ApiModelProperty(value = "访客来源", example = "外部邀请", required = true) @ApiModelProperty(value = "访客来源", example = "外部邀请", required = true)
String visitorSource; String visitorSource;
// @Comment("标签卡")
// String labelCard;
//
// @Comment("标签卡状态")
// String labelCardStatus;
@ApiModelProperty(value = "访客所属公司", example = "壹润科技") @ApiModelProperty(value = "访客所属公司", example = "壹润科技")
String orgId; String orgId;
...@@ -60,19 +55,23 @@ public class VisitorParam implements Serializable { ...@@ -60,19 +55,23 @@ public class VisitorParam implements Serializable {
@ApiModelProperty(value = "来访原因", example = "看看", required = true) @ApiModelProperty(value = "来访原因", example = "看看", required = true)
String reason; String reason;
// @ApiModelProperty(value = "发卡时间", example = "看看", required = true) @ApiModelProperty(value = "来访时间", example = "2022-04-19 14:28:00")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// LocalDateTime cardRecTime;
@ApiModelProperty(value = "来访原因", example = "2022-04-19 14:28:00")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
LocalDateTime appOfVisitTime; LocalDateTime appOfVisitTime;
// @Comment("创建时间")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// LocalDateTime createTime;
//
// @Comment("发卡时间")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// LocalDateTime cardSendTime;
@ApiModelProperty(value = "是否有车(是 1 ,否 2)", example = "2")
Integer hasCar;
@ApiModelProperty(value = "车牌号码", example = "湘A99999")
@Pattern(regexp = RegEx.CARNUM, message = "车牌号码格式不正确")
String carNum;
@ApiModelProperty(value = "车辆类型", example = "货车")
String carType;
@ApiModelProperty(value = "车辆标签卡", example = "1")
String labelCard;
@ApiModelProperty(value = "主访人员id", example = "1")
Long mainVisitorId;
} }
...@@ -67,7 +67,7 @@ public class ZyConfigProperties { ...@@ -67,7 +67,7 @@ public class ZyConfigProperties {
String api; String api;
String tenant; String tenant;
@Resource @Resource(name = "ZyConfigProxyClient")
ZyConfigProxyClient client; ZyConfigProxyClient client;
@Resource @Resource
...@@ -75,7 +75,7 @@ public class ZyConfigProperties { ...@@ -75,7 +75,7 @@ public class ZyConfigProperties {
@Data @Data
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
@Component @Component("ZyConfigProxyClient")
@ConfigurationProperties(prefix = "zy-config.proxy.client") @ConfigurationProperties(prefix = "zy-config.proxy.client")
public static class ZyConfigProxyClient { public static class ZyConfigProxyClient {
......
...@@ -2,13 +2,19 @@ ...@@ -2,13 +2,19 @@
package com.yiring.app.service.dept; package com.yiring.app.service.dept;
import com.yiring.app.param.dept.DepartmentAddParam; import com.yiring.app.param.dept.DepartmentAddParam;
import com.yiring.app.param.dept.DepartmentExportParam;
import com.yiring.app.param.dept.DepartmentFindParam; import com.yiring.app.param.dept.DepartmentFindParam;
import com.yiring.app.param.dept.DepartmentModifyParam;
import com.yiring.app.vo.dept.DepartmentInfoVo; import com.yiring.app.vo.dept.DepartmentInfoVo;
import com.yiring.app.vo.dept.DepartmentVo; import com.yiring.app.vo.dept.DepartmentVo;
import com.yiring.auth.domain.dept.Department;
import com.yiring.auth.param.IdsParam;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
import java.util.HashMap;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;
/** /**
* 部门管理 * 部门管理
...@@ -18,17 +24,17 @@ import javax.servlet.http.HttpServletResponse; ...@@ -18,17 +24,17 @@ import javax.servlet.http.HttpServletResponse;
public interface DepartmentService { public interface DepartmentService {
/** /**
* 新增部门 * 新增部门
* @param param DepartmentAddParam * @param departmentAddParam DepartmentAddParam
* @return Result<String> * @return Result<String>
*/ */
Result<String> addDepartment(DepartmentAddParam param); Result<String> addDepartment(DepartmentAddParam departmentAddParam);
/** /**
* 查询树状图 * 查询树状图
* @param param DepartmentFindParam * @param departmentFindParam DepartmentFindParam
* @return Result<PageVo<DepartmentVo>> * @return Result<PageVo<DepartmentVo>>
*/ */
Result<PageVo<DepartmentVo>> findDepartmentTree(DepartmentFindParam param); Result<PageVo<DepartmentVo>> findDepartmentTree(DepartmentFindParam departmentFindParam);
/** /**
* 根据id查询详细信息 * 根据id查询详细信息
...@@ -39,10 +45,10 @@ public interface DepartmentService { ...@@ -39,10 +45,10 @@ public interface DepartmentService {
/** /**
* 导出部门 * 导出部门
* @param param DepartmentFindParam * @param departmentExportParam DepartmentFindParam
* @param response HttpServletResponse * @param response HttpServletResponse
*/ */
void exportDepartment(DepartmentFindParam param, HttpServletResponse response); void exportDepartment(DepartmentExportParam departmentExportParam, HttpServletResponse response);
/** /**
* 逻辑删除部门 * 逻辑删除部门
...@@ -57,4 +63,32 @@ public interface DepartmentService { ...@@ -57,4 +63,32 @@ public interface DepartmentService {
* @return Result<String> * @return Result<String>
*/ */
Result<String> stateDepartment(IdParam idParam); Result<String> stateDepartment(IdParam idParam);
/**
* 部门添加岗位
* @param idParam IdParam
* @param idsParam IdsParam
* @return Result<String>
*/
Result<String> deptBingPost(IdParam idParam, IdsParam idsParam);
/**
* 部门修改
* @param departmentModifyParam DepartmentModifyParam
* @return Result<String>
*/
Result<String> modifyDept(DepartmentModifyParam departmentModifyParam);
/**
* 导入部门
* @param file MultipartFile
* @return Result<String>
*/
Result<String> importDepartment(MultipartFile file);
/**
* 部门名称字符串形式
* @return HashMap<String, Department>
*/
HashMap<String, Department> getStringDepartmentHashMap();
} }
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.service.location; package com.yiring.app.service.location.tag;
import com.yiring.app.param.location.LocationTagAddParam; import com.yiring.app.param.location.tag.*;
import com.yiring.app.param.location.LocationTagDeleteParam; import com.yiring.app.vo.location.tag.LocationTagIndexVo;
import com.yiring.app.param.location.LocationTagFindParam; import com.yiring.app.vo.location.tag.LocationTagVo;
import com.yiring.app.param.location.LocationTagModifyParam;
import com.yiring.app.vo.location.LocationTagVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IndexParam;
import com.yiring.common.param.PageParam; import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -20,31 +19,31 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -20,31 +19,31 @@ import org.springframework.web.multipart.MultipartFile;
public interface LocationTagService { public interface LocationTagService {
/** /**
* 新增定位标签 * 新增定位标签
* @param param 入参 * @param locationTagAddParam LocationTagAddParam
* @return Result<String> * @return Result<String>
*/ */
Result<String> addLocationTag(LocationTagAddParam param); Result<String> addLocationTag(LocationTagAddParam locationTagAddParam);
/** /**
* 分页查询 * 分页查询
* @param param 入参 * @param locationTagFindParam LocationTagFindParam
* @return Result<PageVo<LocationTagVo>> * @return Result<PageVo<LocationTagVo>>
*/ */
Result<PageVo<LocationTagVo>> findLocationTagPage(LocationTagFindParam param, PageParam pageParam); Result<PageVo<LocationTagVo>> findLocationTagPage(LocationTagFindParam locationTagFindParam, PageParam pageParam);
/** /**
* 销毁定位标签 * 销毁定位标签
* @param param 入参 * @param locationTagDeleteParam 入参
* @return Result<String> * @return Result<String>
*/ */
Result<String> deleteLocationTag(LocationTagDeleteParam param); Result<String> deleteLocationTag(LocationTagDeleteParam locationTagDeleteParam);
/** /**
* 导出定位标签 * 导出定位标签
* @param param 入参 * @param locationTagExportParam 入参
* @param response 响应信息 * @param response 响应信息
*/ */
void exportLocationTagInfo(LocationTagFindParam param, HttpServletResponse response); void exportLocationTagInfo(LocationTagExportParam locationTagExportParam, HttpServletResponse response);
/** /**
* 导入定位标签 * 导入定位标签
...@@ -55,8 +54,15 @@ public interface LocationTagService { ...@@ -55,8 +54,15 @@ public interface LocationTagService {
/** /**
* 修改定位标签 * 修改定位标签
* @param param 入参 * @param locationTagModifyParam 入参
* @return Result<String> * @return Result<String>
*/ */
Result<String> modifyLocationTag(LocationTagModifyParam param); Result<String> modifyLocationTag(LocationTagModifyParam locationTagModifyParam);
/**
* 检索标签
* @param indexParam IndexParam
* @return Result<PageVo<LocationTagIndexVo>>
*/
Result<PageVo<LocationTagIndexVo>> indexLocationTag(IndexParam indexParam);
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.service.location.tag;
import com.yiring.app.param.location.tag.LocationTagTypeFindParam;
import com.yiring.app.vo.location.tag.LocationTagTypeVo;
import com.yiring.common.core.Result;
import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo;
/**
* 标签分配
*
* @author LJ-2204
* @date 2022/4/27
*/
public interface LocationTagTypeService {
/**
* 分页查询
* @param locationTagTypeFindParam LocationTagTypeFindParam
* @param pageParam PageParam
* @return Result<PageVo<LocationTagTypeVo>>
*/
Result<PageVo<LocationTagTypeVo>> findLocationTagType(
LocationTagTypeFindParam locationTagTypeFindParam,
PageParam pageParam
);
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.service.location.tag.impl;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.yiring.app.domain.location.LocationTag;
import com.yiring.app.domain.location.LocationTagRepository;
import com.yiring.app.param.location.tag.LocationTagTypeFindParam;
import com.yiring.app.service.location.tag.LocationTagTypeService;
import com.yiring.app.vo.location.tag.LocationTagTypeVo;
import com.yiring.common.core.Result;
import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.persistence.criteria.Order;
import javax.persistence.criteria.Predicate;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* 部门信息控制器
*
* @author LJ-2204
* @date 2022/4/27
*/
@Transactional(rollbackFor = RuntimeException.class)
@Service
@Slf4j
public class LocationTagTypeServiceImpl implements LocationTagTypeService {
@Resource
LocationTagRepository locationTagRepository;
@Override
public Result<PageVo<LocationTagTypeVo>> findLocationTagType(
LocationTagTypeFindParam locationTagTypeFindParam,
PageParam pageParam
) {
Specification<LocationTag> specification = (root, cq, cb) -> {
List<Predicate> predicates = ListUtil.toList();
if (StrUtil.isNotEmpty(locationTagTypeFindParam.getCode())) {
predicates.add(
cb.like(root.get(LocationTag.Fields.code), "%" + locationTagTypeFindParam.getCode() + "%")
);
}
if (ObjectUtil.isNotEmpty(locationTagTypeFindParam.getCategory())) {
predicates.add(cb.equal(root.get(LocationTag.Fields.category), locationTagTypeFindParam.getCategory()));
}
Order order = cb.desc(root.get(LocationTag.Fields.createTime));
return cq.orderBy(order).where(predicates.toArray(new Predicate[0])).getRestriction();
};
List<LocationTag> locationTags = locationTagRepository.findAll(specification);
List<LocationTagTypeVo> locationTagTypeVos = locationTags
.stream()
.map(LocationTagTypeVo::transform)
.collect(Collectors.toList());
PageVo<LocationTagTypeVo> pageVo = PageVo.build(locationTagTypeVos, locationTagTypeVos.size());
return Result.ok(pageVo);
}
}
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.service.post; package com.yiring.app.service.post;
import com.yiring.app.param.post.PostFindParam; import com.yiring.app.param.post.*;
import com.yiring.app.param.post.PostParam; import com.yiring.app.vo.post.PostIndexVo;
import com.yiring.app.vo.post.PostInfoVo;
import com.yiring.app.vo.post.PostVo; import com.yiring.app.vo.post.PostVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.param.IndexParam;
import com.yiring.common.param.PageParam; import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -18,57 +20,58 @@ import javax.servlet.http.HttpServletResponse; ...@@ -18,57 +20,58 @@ import javax.servlet.http.HttpServletResponse;
public interface PostService { public interface PostService {
/** /**
* 新增职位信息 * 新增职位信息
* @param postParam 入参 * @param postAddParam PostAddParam
* @return Result<String> * @return Result<String>
*/ */
Result<String> addPost(PostParam postParam); Result<String> addPost(PostAddParam postAddParam);
/** /**
* 修改职位信息 * 修改职位信息
* @param postParam 入参 * @param postModifyParam PostModifyParam
* @param idParam id
* @return Result<String> * @return Result<String>
*/ */
Result<String> modifyPost(PostParam postParam, IdParam idParam); Result<String> modifyPost(PostModifyParam postModifyParam);
/** /**
* 销毁职位信息 * 销毁职位信息
* @param idParam id * @param idParam IdParam
* @return Result<String> * @return Result<String>
*/ */
Result<String> deletePost(IdParam idParam); Result<String> deletePost(IdParam idParam);
/** /**
* 职位信息分页 * 职位信息分页
* @param param 入参 * @param postFindParam PostFindParam
* @param pageParam PageParam
* @return Result<PageVo<PostVo>> * @return Result<PageVo<PostVo>>
*/ */
Result<PageVo<PostVo>> findPostPage(PostFindParam param, PageParam pageParam); Result<PageVo<PostVo>> findPostPage(PostFindParam postFindParam, PageParam pageParam);
/** /**
* 详细信息查询 * 详细信息查询
* @param idParam id * @param idParam IdParam
* @return Result<PostVo> * @return Result<PostInfoVo>
*/ */
Result<PostVo> findPostById(IdParam idParam); Result<PostInfoVo> findPostById(IdParam idParam);
/** /**
* 根据名称判断是否存在职业信息 * 根据名称判断是否存在职业信息
* @param name 职业名称 * @param name String
* @return T/F * @return boolean
*/ */
boolean hasPostInfo(String name); boolean hasPostInfo(String name);
/** /**
* 导出职位信息 * 导出职位信息
* @param param 入参 * @param postExportParam PostExportParam
* @param response 响应信息 * @param response HttpServletResponse
*/ */
void exportPostInfo(PostFindParam param, HttpServletResponse response); void exportPostInfo(PostExportParam postExportParam, HttpServletResponse response);
/** /**
* 下拉菜单 * 职位检索
* @return Result<PageVo<PostVo>> * @param indexParam IndexParam
* @return Result<PageVo<PostIndexVo>>
*/ */
Result<PageVo<PostVo>> selectPost(); Result<PageVo<PostIndexVo>> indexPost(IndexParam indexParam);
} }
...@@ -5,9 +5,10 @@ import cn.hutool.core.collection.ListUtil; ...@@ -5,9 +5,10 @@ import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.github.liaochong.myexcel.core.DefaultStreamExcelBuilder; import com.github.liaochong.myexcel.core.DefaultStreamExcelBuilder;
import com.yiring.app.param.post.PostFindParam; import com.yiring.app.param.post.*;
import com.yiring.app.param.post.PostParam;
import com.yiring.app.service.post.PostService; import com.yiring.app.service.post.PostService;
import com.yiring.app.vo.post.PostIndexVo;
import com.yiring.app.vo.post.PostInfoVo;
import com.yiring.app.vo.post.PostVo; import com.yiring.app.vo.post.PostVo;
import com.yiring.auth.domain.post.Post; import com.yiring.auth.domain.post.Post;
import com.yiring.auth.domain.post.PostRepository; import com.yiring.auth.domain.post.PostRepository;
...@@ -15,15 +16,15 @@ import com.yiring.auth.excel.post.PostExcel; ...@@ -15,15 +16,15 @@ import com.yiring.auth.excel.post.PostExcel;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.core.Status; import com.yiring.common.core.Status;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.param.IndexParam;
import com.yiring.common.param.PageParam; import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
import java.io.OutputStream; import java.io.OutputStream;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.persistence.criteria.Order; import javax.persistence.criteria.Order;
import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Predicate;
...@@ -49,29 +50,28 @@ public class PostServiceImpl implements PostService { ...@@ -49,29 +50,28 @@ public class PostServiceImpl implements PostService {
PostRepository postRepository; PostRepository postRepository;
@Override @Override
public Result<String> addPost(PostParam postParam) { public Result<String> addPost(PostAddParam postAddParam) {
if (hasPostInfo(postParam.getName())) return Result.no(Status.BAD_REQUEST, "职位已存在"); // 判断职位是否存在
Post post = postParam.transform(); if (hasPostInfo(postAddParam.getName())) return Result.no(Status.BAD_REQUEST, "职位已存在");
post.setCreateTime(LocalDateTime.now());
Post post = PostAddParam.transform(postAddParam);
postRepository.save(post); postRepository.save(post);
return Result.ok(); return Result.ok();
} }
@Override @Override
public Result<String> modifyPost(PostParam postParam, IdParam idParam) { public Result<String> modifyPost(PostModifyParam postModifyParam) {
Optional<Post> postOptional = postRepository.findById(idParam.getId()); // 是否变更 职位名称
if (postOptional.isEmpty()) return Result.no(Status.BAD_REQUEST, "被修改的数据不存在"); long count = postRepository.count(
Example.of(Post.builder().id(postModifyParam.getId()).name(postModifyParam.getName()).build())
Post post = postOptional.get(); );
if (!StrUtil.equals(post.getName(), postParam.getName())) { // 变更处理
if (hasPostInfo(postParam.getName())) return Result.no(Status.BAD_REQUEST, "职位已存在"); if (count == 0 && hasPostInfo(postModifyParam.getName())) {
return Result.no(Status.BAD_REQUEST, "职位名称重复");
} }
post.setName(postParam.getName());
post.setDescribe(postParam.getDescribe()); Post post = postModifyParam.transform(postModifyParam);
post.setEnable(postParam.getEnable());
post.setUpdateTime(LocalDateTime.now());
post.setId(idParam.getId());
postRepository.save(post); postRepository.save(post);
return Result.ok(); return Result.ok();
} }
...@@ -84,31 +84,36 @@ public class PostServiceImpl implements PostService { ...@@ -84,31 +84,36 @@ public class PostServiceImpl implements PostService {
} }
@Override @Override
public Result<PageVo<PostVo>> findPostPage(PostFindParam param, PageParam pageParam) { public Result<PageVo<PostVo>> findPostPage(PostFindParam postFindParam, PageParam pageParam) {
Specification<Post> specification = getPostPageSpecification(param); Specification<Post> specification = (root, cq, cb) -> {
List<Predicate> predicates = ListUtil.toList();
Sort sort = Sort.by(Sort.Order.desc(Post.Fields.createTime)); if (StrUtil.isNotEmpty(postFindParam.getName())) {
predicates.add(cb.like(root.get(Post.Fields.name), "%" + postFindParam.getName() + "%"));
}
if (ObjectUtil.isNotEmpty(postFindParam.getEnable())) {
predicates.add(cb.equal(root.get(Post.Fields.enable), postFindParam.getEnable()));
}
Order order = cb.desc(root.get(Post.Fields.createTime));
if (ObjectUtil.isNotEmpty(pageParam.getPageSize()) && ObjectUtil.isNotEmpty(pageParam.getPageNo())) { return cq.orderBy(order).where(predicates.toArray(new Predicate[0])).getRestriction();
//分页 };
// 分页
Pageable pageable = PageRequest.of(pageParam.getPageNo() - 1, pageParam.getPageSize()); Pageable pageable = PageRequest.of(pageParam.getPageNo() - 1, pageParam.getPageSize());
Page<Post> page = postRepository.findAll(specification, pageable); Page<Post> page = postRepository.findAll(specification, pageable);
List<PostVo> postVos = PostVo.transforms(page.getContent()); List<PostVo> postVos = page.getContent().stream().map(PostVo::transform).collect(Collectors.toList());
PageVo<PostVo> pageVo = PageVo.build(postVos, postVos.size());
return Result.ok(pageVo);
} else {
List<Post> posts = postRepository.findAll(specification, sort);
List<PostVo> postVos = PostVo.transforms(posts);
PageVo<PostVo> pageVo = PageVo.build(postVos, postVos.size()); PageVo<PostVo> pageVo = PageVo.build(postVos, postVos.size());
return Result.ok(pageVo); return Result.ok(pageVo);
} }
}
@Override @Override
public Result<PostVo> findPostById(IdParam idParam) { public Result<PostInfoVo> findPostById(IdParam idParam) {
Post post = postRepository.getById(idParam.getId()); Post post = postRepository.getById(idParam.getId());
PostVo postVo = PostVo.transform(post); PostInfoVo postInfoVo = PostInfoVo.transform(post);
return Result.ok(postVo); return Result.ok(postInfoVo);
} }
@Override @Override
...@@ -118,10 +123,25 @@ public class PostServiceImpl implements PostService { ...@@ -118,10 +123,25 @@ public class PostServiceImpl implements PostService {
} }
@Override @Override
public void exportPostInfo(PostFindParam param, HttpServletResponse response) { public void exportPostInfo(PostExportParam postExportParam, HttpServletResponse response) {
Specification<Post> specification = getPostPageSpecification(param); Specification<Post> specification = (root, cq, cb) -> {
List<Predicate> predicates = ListUtil.toList();
if (StrUtil.isNotEmpty(postExportParam.getName())) {
predicates.add(cb.like(root.get(Post.Fields.name), "%" + postExportParam.getName() + "%"));
}
if (ObjectUtil.isNotEmpty(postExportParam.getEnable())) {
predicates.add(cb.equal(root.get(Post.Fields.enable), postExportParam.getEnable()));
}
Order order = cb.desc(root.get(Post.Fields.createTime));
return cq.orderBy(order).where(predicates.toArray(new Predicate[0])).getRestriction();
};
List<Post> postList = postRepository.findAll(specification); List<Post> postList = postRepository.findAll(specification);
List<PostExcel> postExcels = PostExcel.transforms(postList); List<PostExcel> postExcels = postList.stream().map(PostExcel::transform).collect(Collectors.toList());
try ( try (
DefaultStreamExcelBuilder<PostExcel> streamExcelBuilder = DefaultStreamExcelBuilder DefaultStreamExcelBuilder<PostExcel> streamExcelBuilder = DefaultStreamExcelBuilder
.of(PostExcel.class) .of(PostExcel.class)
...@@ -137,9 +157,11 @@ public class PostServiceImpl implements PostService { ...@@ -137,9 +157,11 @@ public class PostServiceImpl implements PostService {
streamExcelBuilder.append(postExcels); streamExcelBuilder.append(postExcels);
String fileName = URLEncoder.encode("职位信息.xlsx", StandardCharsets.UTF_8); String fileName = URLEncoder.encode("职位信息.xlsx", StandardCharsets.UTF_8);
response.setContentType("application/octet-stream"); response.setContentType("application/octet-stream");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName); response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
OutputStream out = response.getOutputStream(); OutputStream out = response.getOutputStream();
Workbook workbook = streamExcelBuilder.fixedTitles().build(); Workbook workbook = streamExcelBuilder.fixedTitles().build();
...@@ -154,28 +176,21 @@ public class PostServiceImpl implements PostService { ...@@ -154,28 +176,21 @@ public class PostServiceImpl implements PostService {
} }
@Override @Override
public Result<PageVo<PostVo>> selectPost() { public Result<PageVo<PostIndexVo>> indexPost(IndexParam indexParam) {
List<Post> posts = postRepository.findAll(); List<Post> posts = postRepository.findAll((root, cq, cb) -> {
List<PostVo> postVos = PostVo.transforms(posts);
PageVo<PostVo> pageVo = PageVo.build(postVos, postVos.size());
return Result.ok(pageVo);
}
private Specification<Post> getPostPageSpecification(PostFindParam param) {
return (root, cq, cb) -> {
List<Predicate> predicates = ListUtil.toList(); List<Predicate> predicates = ListUtil.toList();
if (StrUtil.isNotEmpty(param.getName())) { if (StrUtil.isNotEmpty(indexParam.getStr())) {
predicates.add(cb.like(root.get(Post.Fields.name), "%" + param.getName() + "%")); predicates.add(cb.like(root.get(Post.Fields.name), "%" + indexParam.getStr() + "%"));
}
if (ObjectUtil.isNotEmpty(param.getEnable())) {
predicates.add(cb.equal(root.get(Post.Fields.enable), param.getEnable()));
} }
Order order = cb.desc(root.get(Post.Fields.createTime)); Order order = cb.desc(root.get(Post.Fields.createTime));
return cq.orderBy(order).where(predicates.toArray(new Predicate[0])).getRestriction(); return cq.orderBy(order).where(predicates.toArray(new Predicate[0])).getRestriction();
}; });
List<PostIndexVo> postIndexVos = posts.stream().map(PostIndexVo::transform).collect(Collectors.toList());
PageVo<PostIndexVo> pageVo = PageVo.build(postIndexVos, postIndexVos.size());
return Result.ok(pageVo);
} }
} }
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.service.user; package com.yiring.app.service.user;
import com.yiring.app.param.user.UserBingTagParam; import com.yiring.app.param.user.*;
import com.yiring.app.param.user.UserFindParam; import com.yiring.app.vo.user.UserInfoVo;
import com.yiring.app.vo.user.UserVo; import com.yiring.app.vo.user.UserVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.param.IndexParam;
import com.yiring.common.param.PageParam; import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;
/** /**
* 用户 * 用户
...@@ -18,25 +20,25 @@ import javax.servlet.http.HttpServletResponse; ...@@ -18,25 +20,25 @@ import javax.servlet.http.HttpServletResponse;
public interface UserService { public interface UserService {
/** /**
* 表格查询 * 表格查询
* @param param UserByNameParam * @param userFindParam UserByNameParam
* @param pageParam PageParam * @param pageParam PageParam
* @return Result<PageVo<UserAutoVo>> * @return Result<PageVo<UserAutoVo>>
*/ */
Result<PageVo<UserVo>> findUserPage(UserFindParam param, PageParam pageParam); Result<PageVo<UserVo>> findUserPage(UserFindParam userFindParam, PageParam pageParam);
/** /**
* 用户详细信息 * 用户详细信息
* @param idParam IdParam * @param idParam IdParam
* @return Result<UserVo> * @return Result<UserVo>
*/ */
Result<UserVo> findUserById(IdParam idParam); Result<UserInfoVo> findUserById(IdParam idParam);
/** /**
* 用户绑定标签 * 用户绑定标签
* @param param UserBingTagParam * @param userBingTagParam UserBingTagParam
* @return Result<String> * @return Result<String>
*/ */
Result<String> userBingTag(UserBingTagParam param); Result<String> userBingTag(UserBingTagParam userBingTagParam);
/** /**
* 收卡 * 收卡
...@@ -53,15 +55,44 @@ public interface UserService { ...@@ -53,15 +55,44 @@ public interface UserService {
Result<String> deleteUser(IdParam idParam); Result<String> deleteUser(IdParam idParam);
/** /**
* 下拉菜单 * 导出用户
* @return Result<PageVo<UserVo>> * @param userFindParam UserFindParam
* @param response HttpServletResponse
*/ */
Result<PageVo<UserVo>> selectUser(); void exportUser(UserFindParam userFindParam, HttpServletResponse response);
/** /**
* 导出用户 * 启用/停用
* @param param UserFindParam * @param idParam IdParam
* @param response HttpServletResponse * @return Result<String>
*/
Result<String> stateUser(IdParam idParam);
/**
* 修改用户
* @param userModifyParam UserModifyParam
* @return Result<String>
*/
Result<String> modifyUser(UserModifyParam userModifyParam);
/**
* 新增用户
* @param userAddParam UserAddParam
* @return Result<String>
*/
Result<String> addUser(UserAddParam userAddParam);
/**
* 导入
* @param file MultipartFile
* @return Result<String>
*/
Result<String> importUser(MultipartFile file);
/**
* 用户索引
* @param indexParam IndexParam
* @return Result<PageVo<UserVo>>
*/ */
void exportUser(UserFindParam param, HttpServletResponse response); Result<PageVo<UserVo>> indexUser(IndexParam indexParam);
} }
...@@ -4,9 +4,11 @@ package com.yiring.app.service.video; ...@@ -4,9 +4,11 @@ package com.yiring.app.service.video;
import com.yiring.app.domain.video.Video; import com.yiring.app.domain.video.Video;
import com.yiring.app.param.video.VideoParam; import com.yiring.app.param.video.VideoParam;
import com.yiring.app.param.video.VideoQueryParam; import com.yiring.app.param.video.VideoQueryParam;
import com.yiring.app.vo.video.VideoNameVo;
import com.yiring.app.vo.video.VideoVo; import com.yiring.app.vo.video.VideoVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.param.IndexParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
import java.awt.*; import java.awt.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -88,4 +90,13 @@ public interface VideoService { ...@@ -88,4 +90,13 @@ public interface VideoService {
* @return 是否成功 * @return 是否成功
*/ */
Result<String> importVideo(MultipartFile file); Result<String> importVideo(MultipartFile file);
/**
* 根据监控点位名称模糊查询
* @author tzl
* @date 2022/4/27 13:51
* @param indexParam 入参
* @return com.yiring.common.core.Result<com.yiring.app.vo.video.VideoNameVo>
*/
Result<VideoNameVo> findByVideoNameLike(IndexParam indexParam);
} }
...@@ -16,10 +16,12 @@ import com.yiring.app.param.video.VideoParam; ...@@ -16,10 +16,12 @@ import com.yiring.app.param.video.VideoParam;
import com.yiring.app.param.video.VideoQueryParam; import com.yiring.app.param.video.VideoQueryParam;
import com.yiring.app.service.video.VideoService; import com.yiring.app.service.video.VideoService;
import com.yiring.app.util.GeoUtils; import com.yiring.app.util.GeoUtils;
import com.yiring.app.vo.video.VideoNameVo;
import com.yiring.app.vo.video.VideoVo; import com.yiring.app.vo.video.VideoVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.core.Status; import com.yiring.common.core.Status;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.param.IndexParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
import feign.Response; import feign.Response;
import java.io.IOException; import java.io.IOException;
...@@ -358,6 +360,14 @@ public class VideoServiceImpl implements VideoService { ...@@ -358,6 +360,14 @@ public class VideoServiceImpl implements VideoService {
return Result.ok(); return Result.ok();
} }
@Override
public Result<VideoNameVo> findByVideoNameLike(IndexParam indexParam) {
VideoNameVo videoNameVo = new VideoNameVo();
Video byVideoNameLike = videoRepository.findByVideoNameLike(indexParam.getStr());
BeanUtils.copyProperties(byVideoNameLike, videoNameVo);
return Result.ok(videoNameVo);
}
boolean has(String uuid) { boolean has(String uuid) {
Video video = Video.builder().uuid(uuid).build(); Video video = Video.builder().uuid(uuid).build();
return videoRepository.count(Example.of(video)) > 0; return videoRepository.count(Example.of(video)) > 0;
......
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.service.car; package com.yiring.app.service.visitor;
import com.yiring.app.domain.car.Car; import com.yiring.app.domain.visitor.Car;
import com.yiring.app.param.car.CarParam; import com.yiring.app.param.visitor.CarQueryParam;
import com.yiring.app.param.car.CarQueryParam; import com.yiring.app.vo.visitor.CarVo;
import com.yiring.app.vo.car.CarVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
...@@ -19,19 +18,18 @@ public interface CarService { ...@@ -19,19 +18,18 @@ public interface CarService {
/** /**
* 添加车辆来访信息 * 添加车辆来访信息
* *
* @param carParam CarParam * @param car Car
* @return 车辆来访信息id * @return 车辆来访信息id
*/ */
Result<Long> saveCarInfo(CarParam carParam); Result<Long> saveCarInfo(Car car);
/** /**
* 修改车辆来访信息 * 修改车辆来访信息
* *
* @param carParam CarParam * @param car Car
* @param idParam IdParam
* @return 修改的车辆来访信息id * @return 修改的车辆来访信息id
*/ */
Result<Long> updateCarInfo(CarParam carParam, IdParam idParam); Result<Long> updateCarInfo(Car car);
/** /**
* 收卡 * 收卡
...@@ -81,21 +79,21 @@ public interface CarService { ...@@ -81,21 +79,21 @@ public interface CarService {
*/ */
void export(CarQueryParam carParam, HttpServletResponse response); void export(CarQueryParam carParam, HttpServletResponse response);
/** // /**
* 检查是否存在相同车牌号登记 // * 检查是否存在相同车牌号登记
* // *
* @param param String 车牌号码 // * @param param String 车牌号码
* @return 是否存在 // * @return 是否存在
*/ // */
boolean hasCarInfoByCarNum(String param); // boolean hasCarInfoByCarNum(String param);
//
/** // /**
* 检查是否存在相同手机号码登记 // * 检查是否存在相同手机号码登记
* // *
* @param param String 手机号码 // * @param param String 手机号码
* @return 是否存在 // * @return 是否存在
*/ // */
boolean hasCarInfoByMobile(String param); // boolean hasCarInfoByMobile(String param);
/** /**
* 筛选条件 * 筛选条件
......
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.service.visitor;
import com.yiring.app.param.visitor.InvitationParam;
import com.yiring.app.param.visitor.InvitationQueryParam;
import com.yiring.app.vo.visitor.InvitationVo;
import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam;
import com.yiring.common.vo.PageVo;
import javax.servlet.http.HttpServletResponse;
/**
* @author tzl
* @date 2022/4/24 16:57
*/
public interface InvitationService {
/**
* 发起邀请
* @param invitationParam 新增邀请入参
* @return 是否成功
*/
Result<String> saveInv(InvitationParam invitationParam);
/**
* 修改邀请
* @date 2022/4/24 17:50
* @return com.yiring.common.core.Result<java.lang.String>
*/
Result<String> updateInv(InvitationParam invitationParam, IdParam idParam);
/**
* 删除邀请
* @date 2022/4/24 17:52
* @return com.yiring.common.core.Result<java.lang.String>
*/
Result<String> deleteInv(IdParam idParam);
/**
* 分页
* @date 2022/4/24 17:56
* @return com.yiring.common.core.Result<com.yiring.common.vo.PageVo<java.lang.String>>
*/
Result<PageVo<InvitationVo>> pageInv(InvitationQueryParam invitationQueryParam);
/**
* 撤回邀请
* @author tzl
* @date 2022/4/25 11:30
* @param idParam 主键id
* @return com.yiring.common.core.Result<java.lang.String>
*/
Result<String> recallInv(IdParam idParam);
/**
* 发送邀请
* @author tzl
* @date 2022/4/25 11:31
* @param idParam 主键id
* @return com.yiring.common.core.Result<java.lang.String>
*/
Result<String> sendInv(IdParam idParam);
/**
* 导出邀请信息
* @author tzl
* @date 2022/4/25 11:34
* @param invitationQueryParam 筛选条件
*/
void exportInv(InvitationQueryParam invitationQueryParam, HttpServletResponse response);
}
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.service.visitor; package com.yiring.app.service.visitor;
import com.yiring.app.param.visitor.VisitorListParam;
import com.yiring.app.param.visitor.VisitorParam; import com.yiring.app.param.visitor.VisitorParam;
import com.yiring.app.param.visitor.VisitorQueryParam; import com.yiring.app.param.visitor.VisitorQueryParam;
import com.yiring.app.vo.visitor.VisitorVo; import com.yiring.app.vo.visitor.VisitorVo;
...@@ -22,19 +21,12 @@ public interface VisitorService { ...@@ -22,19 +21,12 @@ public interface VisitorService {
*/ */
Result<String> saveVisitor(VisitorParam visitorParam); Result<String> saveVisitor(VisitorParam visitorParam);
/** // /**
* 访客批量新增 // * 访客删除
* @param visitorListParam 批量访客新增入参 // * @param idParam 主键id
* @return 是否成功 // * @return 是否成功
*/ // */
Result<String> saveVisitor(VisitorListParam visitorListParam); // Result<String> deleteVisitor(IdParam idParam);
/**
* 访客删除
* @param idParam 主键id
* @return 是否成功
*/
Result<String> deleteVisitor(IdParam idParam);
/** /**
* 修改访客信息 * 修改访客信息
...@@ -79,4 +71,13 @@ public interface VisitorService { ...@@ -79,4 +71,13 @@ public interface VisitorService {
* @return 是否成功 * @return 是否成功
*/ */
Result<String> cardRec(IdParam idParam); Result<String> cardRec(IdParam idParam);
/**
* 查看详情,并且带出该访客的随访人信息
* @author tzl
* @date 2022/4/25 16:48
* @param idParam 主键id
* @return com.yiring.common.core.Result<com.yiring.app.vo.visitor.VisitorVo>
*/
Result<VisitorVo> selectInfo(IdParam idParam);
} }
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.service.car.impl; package com.yiring.app.service.visitor.impl;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.github.liaochong.myexcel.core.DefaultStreamExcelBuilder; import com.github.liaochong.myexcel.core.DefaultStreamExcelBuilder;
import com.yiring.app.domain.car.Car; import com.yiring.app.domain.visitor.Car;
import com.yiring.app.domain.car.CarRepository; import com.yiring.app.domain.visitor.CarRepository;
import com.yiring.app.excel.car.CarExportExcel; import com.yiring.app.excel.visitor.CarExportExcel;
import com.yiring.app.param.car.CarParam; import com.yiring.app.param.visitor.CarQueryParam;
import com.yiring.app.param.car.CarQueryParam; import com.yiring.app.service.visitor.CarService;
import com.yiring.app.service.car.CarService; import com.yiring.app.vo.visitor.CarVo;
import com.yiring.app.vo.car.CarVo;
import com.yiring.auth.domain.role.Role; import com.yiring.auth.domain.role.Role;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.core.Status; import com.yiring.common.core.Status;
...@@ -49,50 +48,37 @@ public class CarServiceImpl implements CarService { ...@@ -49,50 +48,37 @@ public class CarServiceImpl implements CarService {
CarRepository carRepository; CarRepository carRepository;
@Override @Override
public Result<Long> saveCarInfo(CarParam carParam) { public Result<Long> saveCarInfo(Car car) {
// 检查车牌号是否已存在 // 检查车牌号车辆是否已经在园内
if (hasCarInfoByCarNum(carParam.getCarNum())) { if (carRepository.hasCarInfoByCarNum(car.getCarNum()) > 0) {
return Result.no(Status.BAD_REQUEST, "您的车牌号已存在"); return Result.no(Status.BAD_REQUEST, "您的车牌号已存在");
} }
// 检查司机手机号码号是否已存在 // Car car = Car
if (hasCarInfoByMobile(carParam.getDriverMobile())) { // .builder()
return Result.no(Status.BAD_REQUEST, "您的联系方式已存在"); // .carNum(carParam.getCarNum())
} // .carType(carParam.getCarType())
Car car = Car // .labelCard(carParam.getLabelCard())
.builder() // .createTime(LocalDateTime.now())
.carNum(carParam.getCarNum()) // // .visitorId(carParam.getVisitorId())
.carType(carParam.getCarType()) // .build();
.driverMobile(carParam.getDriverMobile())
.driverName(carParam.getDriverName())
.intervieweeId(carParam.getIntervieweeId())
.orgId(carParam.getOrgId())
.reason(carParam.getReason())
.createTime(LocalDateTime.now())
.build();
Car carReuslt = carRepository.saveAndFlush(car); Car carReuslt = carRepository.saveAndFlush(car);
return Result.ok(carReuslt.getId()); return Result.ok(carReuslt.getId());
} }
@Override @Override
public Result<Long> updateCarInfo(CarParam carParam, IdParam idParam) { public Result<Long> updateCarInfo(Car car) {
Optional<Car> optional = carRepository.findById(idParam.getId()); Optional<Car> optional = carRepository.findById(car.getId());
if (optional.isEmpty()) { if (optional.isEmpty()) {
return Result.no(Status.NOT_FOUND); return Result.no(Status.NOT_FOUND);
} }
Car car = optional.get(); Car carOptional = optional.get();
if (!car.getCarNum().equals(carParam.getCarNum())) { if (!car.getCarNum().equals(carOptional.getCarNum())) {
// 当修改车牌号时才检查重复 // 当修改车牌号时才检查重复
if (hasCarInfoByCarNum(carParam.getCarNum())) { if (carRepository.hasCarInfoByCarNum(carOptional.getCarNum()) > 0) {
return Result.no(Status.BAD_REQUEST, "您的车牌号信息已存在"); return Result.no(Status.BAD_REQUEST, "您的车牌号已在园区内");
} }
} }
if (!car.getDriverMobile().equals(carParam.getDriverMobile())) { BeanUtils.copyProperties(car, car);
// 当修改联系方式时才检查重复
if (hasCarInfoByMobile(carParam.getDriverMobile())) {
return Result.no(Status.BAD_REQUEST, "您的联系方式已存在");
}
}
BeanUtils.copyProperties(carParam, car);
Car carReuslt = carRepository.saveAndFlush(car); Car carReuslt = carRepository.saveAndFlush(car);
return Result.ok(carReuslt.getId()); return Result.ok(carReuslt.getId());
} }
...@@ -224,20 +210,6 @@ public class CarServiceImpl implements CarService { ...@@ -224,20 +210,6 @@ public class CarServiceImpl implements CarService {
} }
@Override @Override
public boolean hasCarInfoByCarNum(String param) {
Car entity = Car.builder().carNum(param).build();
long count = carRepository.count(Example.of(entity));
return count > 0;
}
@Override
public boolean hasCarInfoByMobile(String param) {
Car entity = Car.builder().driverMobile(param).build();
long count = carRepository.count(Example.of(entity));
return count > 0;
}
@Override
public Specification<Car> condition(CarQueryParam carParam) { public Specification<Car> condition(CarQueryParam carParam) {
return (root, query, criteriaBuilder) -> { return (root, query, criteriaBuilder) -> {
List<Predicate> list = new ArrayList<>(); List<Predicate> list = new ArrayList<>();
......
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.dept; package com.yiring.app.vo.dept;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiring.app.vo.user.UserVo; import com.yiring.app.vo.user.UserVo;
import com.yiring.auth.domain.dept.Department; import com.yiring.auth.domain.dept.Department;
import com.yiring.auth.domain.post.Post; import com.yiring.auth.domain.post.Post;
...@@ -41,6 +43,7 @@ public class DepartmentInfoVo implements Serializable { ...@@ -41,6 +43,7 @@ public class DepartmentInfoVo implements Serializable {
@ApiModelProperty(value = "是否启用", example = "T/F") @ApiModelProperty(value = "是否启用", example = "T/F")
Boolean enable; Boolean enable;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "上级部门", example = "0根目录") @ApiModelProperty(value = "上级部门", example = "0根目录")
Long pid; Long pid;
...@@ -61,7 +64,7 @@ public class DepartmentInfoVo implements Serializable { ...@@ -61,7 +64,7 @@ public class DepartmentInfoVo implements Serializable {
return DepartmentInfoVo return DepartmentInfoVo
.builder() .builder()
.name(department.getName()) .name(department.getName())
.userVo(UserVo.transform(department.getLeader())) .userVo(UserVo.transformDept(department.getLeader()))
.enable(department.getEnable()) .enable(department.getEnable())
.posts(department.getPosts()) .posts(department.getPosts())
.pid(department.getPid()) .pid(department.getPid())
......
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.dept; package com.yiring.app.vo.dept;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiring.app.vo.user.UserVo; import com.yiring.app.vo.user.UserVo;
import com.yiring.auth.domain.dept.Department; import com.yiring.auth.domain.dept.Department;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -9,7 +12,6 @@ import java.io.Serial; ...@@ -9,7 +12,6 @@ import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
...@@ -31,9 +33,14 @@ public class DepartmentVo implements Serializable { ...@@ -31,9 +33,14 @@ public class DepartmentVo implements Serializable {
@Serial @Serial
private static final long serialVersionUID = -8193039102015929156L; private static final long serialVersionUID = -8193039102015929156L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "主键", example = "111") @ApiModelProperty(value = "主键", example = "111")
Long id; Long id;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "上级部门", example = "0根目录")
Long pid;
@ApiModelProperty(value = "部门名称", example = "研发部") @ApiModelProperty(value = "部门名称", example = "研发部")
String name; String name;
...@@ -43,9 +50,6 @@ public class DepartmentVo implements Serializable { ...@@ -43,9 +50,6 @@ public class DepartmentVo implements Serializable {
@ApiModelProperty(value = "是否启用", example = "T/F") @ApiModelProperty(value = "是否启用", example = "T/F")
Boolean enable; Boolean enable;
@ApiModelProperty(value = "上级部门", example = "0根目录")
Long pid;
@ApiModelProperty(value = "上级部门名称", example = "前端") @ApiModelProperty(value = "上级部门名称", example = "前端")
String pName; String pName;
...@@ -58,21 +62,19 @@ public class DepartmentVo implements Serializable { ...@@ -58,21 +62,19 @@ public class DepartmentVo implements Serializable {
@ApiModelProperty(value = "子节点") @ApiModelProperty(value = "子节点")
List<DepartmentVo> childList; List<DepartmentVo> childList;
public static List<DepartmentVo> transforms(List<Department> departments) { public static DepartmentVo transform(Department department) {
return departments DepartmentVo departmentVo = DepartmentVo
.stream()
.map(department ->
DepartmentVo
.builder() .builder()
.id(department.getId()) .id(department.getId())
.name(department.getName()) .name(department.getName())
.leader(UserVo.transform(department.getLeader()))
.enable(department.getEnable()) .enable(department.getEnable())
.pid(department.getPid()) .pid(department.getPid())
.updateTime(department.getUpdateTime()) .updateTime(department.getUpdateTime())
.createTime(department.getCreateTime()) .createTime(department.getCreateTime())
.build() .build();
) if (ObjectUtil.isNotEmpty(department.getLeader())) {
.collect(Collectors.toList()); departmentVo.setLeader(UserVo.transformDept(department.getLeader()));
}
return departmentVo;
} }
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.location.tag;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiring.app.domain.location.LocationTag;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 定位索引
*
* @author LJ-2204
* @date 2022/4/27
*/
@ApiModel("LocationTagIndexVo")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class LocationTagIndexVo implements Serializable {
@Serial
private static final long serialVersionUID = -1459205162627200071L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "主键", example = "188354391834")
Long id;
@ApiModelProperty(value = "编号", example = "BTT88888888")
String code;
@ApiModelProperty(value = "标签型号", example = "BTT01")
LocationTag.Type type;
@ApiModelProperty(value = "是否启用", example = "0/1")
Boolean used;
public static LocationTagIndexVo transform(LocationTag locationTag) {
return LocationTagIndexVo
.builder()
.id(locationTag.getId())
.code(locationTag.getCode())
.type(locationTag.getType())
.used(locationTag.getUsed())
.build();
}
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.location.tag;
import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiring.app.domain.location.LocationTag;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 标签分配
*
* @author LJ-2204
* @date 2022/4/27
*/
@ApiModel("LocationTagTypeVo")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class LocationTagTypeVo implements Serializable {
@Serial
private static final long serialVersionUID = -5223102796143763942L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "主键", example = "188354391834")
Long id;
@ApiModelProperty(value = "编号", example = "BTT88888888")
String code;
@ApiModelProperty(value = "标签型号", example = "BTT01")
LocationTag.Type type;
@ApiModelProperty(value = "标签类型", example = "人员")
String tagType;
@ApiModelProperty(value = "类型", example = "类型(1:内部/2:访客/3:承包商)")
Integer category;
public static LocationTagTypeVo transform(LocationTag locationTag) {
String entityType = StrUtil.equals(locationTag.getType().name(), "BTT02") ? "car" : "staff";
return LocationTagTypeVo
.builder()
.id(locationTag.getId())
.code(locationTag.getCode())
.type(locationTag.getType())
.tagType(entityType)
.category(locationTag.getCategory())
.build();
}
}
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.location; package com.yiring.app.vo.location.tag;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
...@@ -9,8 +9,6 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -9,8 +9,6 @@ import io.swagger.annotations.ApiModelProperty;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
...@@ -44,20 +42,17 @@ public class LocationTagVo implements Serializable { ...@@ -44,20 +42,17 @@ public class LocationTagVo implements Serializable {
@ApiModelProperty(value = "状态", example = "静止") @ApiModelProperty(value = "状态", example = "静止")
Boolean silent; Boolean silent;
@ApiModelProperty(value = "电量", example = "1")
Integer volt;
@ApiModelProperty(value = "imei 设备编码", example = "88888888") @ApiModelProperty(value = "imei 设备编码", example = "88888888")
String imei; String imei;
@ApiModelProperty(value = "电量", example = "1")
Integer volt;
@ApiModelProperty(value = "最近更新时间", example = "2022-01-01 00:00:00") @ApiModelProperty(value = "最近更新时间", example = "2022-01-01 00:00:00")
LocalDateTime updateTime; LocalDateTime updateTime;
public static List<LocationTagVo> transforms(List<LocationTag> locationTags) { public static LocationTagVo transform(LocationTag locationTag) {
return locationTags return LocationTagVo
.stream()
.map(locationTag ->
LocationTagVo
.builder() .builder()
.id(locationTag.getId()) .id(locationTag.getId())
.code(locationTag.getCode()) .code(locationTag.getCode())
...@@ -66,8 +61,6 @@ public class LocationTagVo implements Serializable { ...@@ -66,8 +61,6 @@ public class LocationTagVo implements Serializable {
.volt(locationTag.getVolt()) .volt(locationTag.getVolt())
.imei(locationTag.getImei()) .imei(locationTag.getImei())
.updateTime(locationTag.getUpdateTime()) .updateTime(locationTag.getUpdateTime())
.build() .build();
)
.collect(Collectors.toList());
} }
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.map;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* @author tzl
* @version 1.0
* @description: 地图
* @date 2022/4/27 10:37
*/
@ApiModel("MapVo")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class MapVo implements Serializable {
@Serial
private static final long serialVersionUID = 1058997208992044029L;
@ApiModelProperty(value = "地图数据集合")
List<MapVoReuslt> data;
@ApiModel("MapVoReuslt")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public static class MapVoReuslt implements Serializable {
@Serial
private static final long serialVersionUID = 4115779013003587949L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "id", example = "1")
Integer id;
@ApiModelProperty(value = "父id", example = "1")
Integer parentId;
@ApiModelProperty(value = "地图名称")
String name;
}
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.post;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiring.auth.domain.post.Post;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 职位索引视图
*
* @author LJ-2204
* @date 2022/4/27
*/
@ApiModel("PostIndexVo")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class PostIndexVo implements Serializable {
@Serial
private static final long serialVersionUID = 6787422359697016766L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "主键", example = "1")
Long id;
@ApiModelProperty(value = "名称", example = "Java")
String name;
public static PostIndexVo transform(Post post) {
return PostIndexVo.builder().id(post.getId()).name(post.getName()).build();
}
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.post;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiring.auth.domain.post.Post;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 职位详细视图
*
* @author LJ-2204
* @date 2022/4/27
*/
@ApiModel("PostInfoVo")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class PostInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = -8256863200798776816L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "主键", example = "1")
Long id;
@ApiModelProperty(value = "名称", example = "Java")
String name;
@ApiModelProperty(value = "描述", example = "描述")
String describe;
@ApiModelProperty(value = "创建时间", example = "创建时间")
LocalDateTime createTime;
@ApiModelProperty(value = "更新时间", example = "更新时间")
LocalDateTime updateTime;
@ApiModelProperty(value = "职位状态", example = "true")
Boolean enable;
public static PostInfoVo transform(Post post) {
return PostInfoVo
.builder()
.id(post.getId())
.name(post.getName())
.describe(post.getDescribe())
.enable(post.getEnable())
.createTime(post.getCreateTime())
.updateTime(post.getUpdateTime())
.build();
}
}
...@@ -9,8 +9,6 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -9,8 +9,6 @@ import io.swagger.annotations.ApiModelProperty;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
...@@ -38,16 +36,10 @@ public class PostVo implements Serializable { ...@@ -38,16 +36,10 @@ public class PostVo implements Serializable {
@ApiModelProperty(value = "名称", example = "Java") @ApiModelProperty(value = "名称", example = "Java")
String name; String name;
@ApiModelProperty(value = "描述", example = "描述")
String describe;
@ApiModelProperty(value = "创建时间", example = "创建时间") @ApiModelProperty(value = "创建时间", example = "创建时间")
LocalDateTime createTime; LocalDateTime createTime;
@ApiModelProperty(value = "更新时间", example = "更新时间") @ApiModelProperty(value = "职位状态", example = "true")
LocalDateTime updateTime;
@ApiModelProperty(value = "是否启用", example = "true")
Boolean enable; Boolean enable;
public static PostVo transform(Post post) { public static PostVo transform(Post post) {
...@@ -55,27 +47,8 @@ public class PostVo implements Serializable { ...@@ -55,27 +47,8 @@ public class PostVo implements Serializable {
.builder() .builder()
.id(post.getId()) .id(post.getId())
.name(post.getName()) .name(post.getName())
.describe(post.getDescribe())
.enable(post.getEnable()) .enable(post.getEnable())
.createTime(post.getCreateTime()) .createTime(post.getCreateTime())
.updateTime(post.getUpdateTime())
.build(); .build();
} }
public static List<PostVo> transforms(List<Post> posts) {
return posts
.stream()
.map(post ->
PostVo
.builder()
.id(post.getId())
.name(post.getName())
.describe(post.getDescribe())
.enable(post.getEnable())
.createTime(post.getCreateTime())
.updateTime(post.getUpdateTime())
.build()
)
.collect(Collectors.toList());
}
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.user;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiring.auth.domain.user.User;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 用户详细信息模型
*
* @author LJ-2204
* @date 2022/4/27
*/
@ApiModel("UserInfoVo")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class UserInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = -1040199557851348068L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "主键", example = "1")
Long id;
@ApiModelProperty(value = "真实姓名", example = "超级用户")
String realName;
@ApiModelProperty(value = "工号", example = "8888888")
String uuid;
@ApiModelProperty(value = "类型", example = "员工")
User.Type type;
@ApiModelProperty(value = "部门", example = "系统管理员")
String department;
@ApiModelProperty(value = "手机号", example = "13012345678")
String mobile;
@ApiModelProperty(value = "职位", example = "系统管理员")
String post;
@ApiModelProperty(value = "邮箱", example = "developer@yiring.com")
String email;
@ApiModelProperty(value = "头像", example = "https://s1.ax1x.com/2022/03/30/qggJH0.jpg")
String avatar;
@ApiModelProperty(value = "是否启用", example = "true")
Boolean enabled;
@ApiModelProperty(value = "是否删除", example = "false")
Boolean deleted;
@ApiModelProperty(value = "是否特殊", example = "false")
Boolean isSpecial;
@ApiModelProperty(value = "性别", example = "false")
Boolean gender;
@ApiModelProperty(value = "创建时间", example = "2022-01-01 00:00:00")
LocalDateTime createTime;
@ApiModelProperty(value = "更新时间", example = "2022-01-01 00:00:00")
LocalDateTime updateTime;
public static UserInfoVo transform(User user) {
return UserInfoVo
.builder()
.id(user.getId())
.realName(user.getRealName())
.uuid(user.getUuid())
.type(user.getType())
.department(user.getDepartment().getName())
.mobile(user.getMobile())
.post(user.getPost().getName())
.email(user.getEmail())
.avatar(user.getAvatar())
.enabled(user.getEnabled())
.deleted(user.getDeleted())
.isSpecial(user.getIsSpecial())
.gender(user.getGender())
.createTime(user.getCreateTime())
.updateTime(user.getUpdateTime())
.build();
}
}
...@@ -8,9 +8,6 @@ import io.swagger.annotations.ApiModel; ...@@ -8,9 +8,6 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
...@@ -56,77 +53,28 @@ public class UserVo implements Serializable { ...@@ -56,77 +53,28 @@ public class UserVo implements Serializable {
@ApiModelProperty(value = "标签编号", example = "BTT88888888") @ApiModelProperty(value = "标签编号", example = "BTT88888888")
String code; String code;
@ApiModelProperty(value = "用户名", example = "admin") @ApiModelProperty(value = "是否特殊", example = "false")
String username; Boolean isSpecial;
@ApiModelProperty(value = "性别", example = "false")
Boolean gender;
@ApiModelProperty(value = "邮箱", example = "developer@yiring.com") @ApiModelProperty(value = "邮箱", example = "developer@yiring.com")
String email; String email;
@ApiModelProperty(value = "头像", example = "https://s1.ax1x.com/2022/03/30/qggJH0.jpg")
String avatar;
@ApiModelProperty(value = "是否启用", example = "true")
Boolean enabled;
@ApiModelProperty(value = "是否删除", example = "false")
Boolean deleted;
@ApiModelProperty(value = "最后登录IP地址", example = "127.0.0.1")
String lastLoginIp;
@ApiModelProperty(value = "最后登录时间", example = "2022-10-24 10:24:00")
LocalDateTime lastLoginTime;
@ApiModelProperty(value = "创建时间", example = "2022-01-01 00:00:00")
LocalDateTime createTime;
public static UserVo transform(User user) {
return UserVo
.builder()
.id(user.getId())
.realName(user.getRealName())
.username(user.getUsername())
.mobile(user.getMobile())
.email(user.getEmail())
.enabled(user.getEnabled())
.deleted(user.getDeleted())
.lastLoginIp(user.getLastLoginIp())
.lastLoginTime(user.getLastLoginTime())
.createTime(user.getCreateTime())
.build();
}
public static List<UserVo> transforms(List<User> users) {
return users
.stream()
.map(user ->
UserVo
.builder()
.id(user.getId())
.realName(user.getRealName())
.username(user.getUsername())
.mobile(user.getMobile())
.email(user.getEmail())
.avatar(user.getAvatar())
.enabled(user.getEnabled())
.deleted(user.getDeleted())
.lastLoginIp(user.getLastLoginIp())
.lastLoginTime(user.getLastLoginTime())
.createTime(user.getCreateTime())
.build()
)
.collect(Collectors.toList());
}
public UserVo( public UserVo(
Long id,
String realName, String realName,
String uuid, String uuid,
User.Type type, User.Type type,
String department, String department,
String mobile, String mobile,
String post, String post,
String code String code,
Boolean gender,
Boolean isSpecial
) { ) {
this.id = id;
this.realName = realName; this.realName = realName;
this.uuid = uuid; this.uuid = uuid;
this.type = type; this.type = type;
...@@ -134,22 +82,17 @@ public class UserVo implements Serializable { ...@@ -134,22 +82,17 @@ public class UserVo implements Serializable {
this.mobile = mobile; this.mobile = mobile;
this.post = post; this.post = post;
this.code = code; this.code = code;
this.gender = gender;
this.isSpecial = isSpecial;
} }
public static UserVo transformUserInfo(User user) { public static UserVo transformDept(User user) {
return UserVo return UserVo
.builder() .builder()
.id(user.getId()) .id(user.getId())
.realName(user.getRealName()) .realName(user.getRealName())
.username(user.getUsername())
.mobile(user.getMobile()) .mobile(user.getMobile())
.email(user.getEmail()) .email(user.getEmail())
.avatar(user.getAvatar())
.enabled(user.getEnabled())
.deleted(user.getDeleted())
.lastLoginIp(user.getLastLoginIp())
.lastLoginTime(user.getLastLoginTime())
.createTime(user.getCreateTime())
.build(); .build();
} }
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.video;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 监控名称模糊查询反参Vo
* @author tzl
* 2022/4/15 10:48
*/
@ApiModel("VideoNameVo")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class VideoNameVo implements Serializable {
@Serial
private static final long serialVersionUID = 3968078657827350557L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "id", example = "1548548545755")
Long id;
// @ApiModelProperty(value = "坐标点", example = "坐标点")
// Point point;
// @ApiModelProperty(value = "编号", example = "88888888")
// String uuid;
// @ApiModelProperty(value = "m3u8地址", example = "m3u8地址")
// String m3u8;
// @ApiModelProperty(value = "备注", example = "备注")
// String remark;
@ApiModelProperty(value = "摄像头名称", example = "摄像头1")
String videoName;
// @ApiModelProperty(value = "状态", example = "正常")
// String status;
}
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.car; package com.yiring.app.vo.visitor;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
...@@ -40,8 +38,8 @@ public class CarVo implements Serializable { ...@@ -40,8 +38,8 @@ public class CarVo implements Serializable {
/** /**
* 车辆类型翻译 * 车辆类型翻译
*/ */
@ApiModelProperty(value = "车辆类型(字典翻译)", example = "货车") // @ApiModelProperty(value = "车辆类型(字典翻译)", example = "货车")
String carTypeName; // String carTypeName;
// public String getCarTypeName() { // public String getCarTypeName() {
// if (StrUtil.isNotBlank(carType)) { // if (StrUtil.isNotBlank(carType)) {
...@@ -50,23 +48,13 @@ public class CarVo implements Serializable { ...@@ -50,23 +48,13 @@ public class CarVo implements Serializable {
// return null; // return null;
// } // }
@ApiModelProperty(value = "司机名称", example = "张三")
String driverName;
@ApiModelProperty(value = "司机电话", example = "17688888888")
String driverMobile;
@ApiModelProperty(value = "标签卡", example = "DT8875666") @ApiModelProperty(value = "标签卡", example = "DT8875666")
String labelCard; String labelCard;
// /**
@ApiModelProperty(value = "标签卡状态", example = "1") // * 车辆类型翻译
String labelCardStatus; // */
// @ApiModelProperty(value = "标签卡状态", example = "未发卡")
/** // String labelCardStatusName;
* 车辆类型翻译
*/
@ApiModelProperty(value = "标签卡状态", example = "未发卡")
String labelCardStatusName;
// public String getLabelCardStatusName() { // public String getLabelCardStatusName() {
// if (StrUtil.isNotBlank(carType)) { // if (StrUtil.isNotBlank(carType)) {
...@@ -75,24 +63,24 @@ public class CarVo implements Serializable { ...@@ -75,24 +63,24 @@ public class CarVo implements Serializable {
// return null; // return null;
// } // }
@ApiModelProperty(value = "单位id", example = "湖南壹润科技") // @ApiModelProperty(value = "单位id", example = "湖南壹润科技")
String orgId; // String orgId;
//
@ApiModelProperty(value = "被访人id", example = "1") // @ApiModelProperty(value = "被访人id", example = "1")
String intervieweeId; // String intervieweeId;
//
@ApiModelProperty(value = "来访原因", example = "装货") // @ApiModelProperty(value = "来访原因", example = "装货")
String reason; // String reason;
//
@ApiModelProperty(value = "收卡时间", example = "2022-04-11 17:25:33") // @ApiModelProperty(value = "收卡时间", example = "2022-04-11 17:25:33")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") // @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
LocalDateTime cardRecTime; // LocalDateTime cardRecTime;
@ApiModelProperty(value = "创建时间", example = "2022-04-11 17:25:33") // @ApiModelProperty(value = "创建时间", example = "2022-04-11 17:25:33")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") // @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
LocalDateTime createTime; // LocalDateTime createTime;
//
@ApiModelProperty(value = "发卡时间", example = "2022-04-11 17:25:33") // @ApiModelProperty(value = "发卡时间", example = "2022-04-11 17:25:33")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") // @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
LocalDateTime cardSendTime; // LocalDateTime cardSendTime;
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.visitor;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiring.app.domain.visitor.Visitor;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 邀请反参
* @author tzl
* @version 1.0
* @description:
* @date 2022/4/25 11:14
*/
@ApiModel("InvitationVo")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class InvitationVo implements Serializable {
@Serial
private static final long serialVersionUID = 5496232471863298479L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "id", example = "1548548545755")
Long id;
@ApiModelProperty(value = "邀请原因/来访原因", example = "随便看看")
String reason;
@ApiModelProperty(value = "邀请方式:个人 公司", example = "个人")
String InvitationMethod;
@ApiModelProperty(value = "邀请人数", example = "1")
Integer numOfVisitor;
@ApiModelProperty(value = "邀请人id", example = "1")
Long inviterId;
@ApiModelProperty(value = "邀请人姓名", example = "李四")
String inviterName;
@ApiModelProperty(value = "邀请人所属部门", example = "开发部")
String inviterDept;
@ApiModelProperty(value = "状态", example = "撤回")
String status;
@ApiModelProperty(value = "被邀请访客")
Visitor visitor;
}
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.visitor;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiring.app.domain.visitor.Car;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 访客详情反参
*
* @author tzl
* @version 1.0
* @description:
* @date 2022/4/27 15:25
*/
@ApiModel("VisitorDetailsVo")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class VisitorDetailsVo implements Serializable {
@Serial
private static final long serialVersionUID = 9004209982164273860L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "id", example = "1548548545755")
Long id;
@ApiModelProperty(value = "到访人姓名", example = "张三")
String visitorName;
@ApiModelProperty(value = "到访人电话", example = "17688888888")
String visitorMobile;
@ApiModelProperty(value = "到访人身份证", example = "430441190001255417")
String visitorCarNum;
@ApiModelProperty(value = "是否特殊作业", example = "true")
boolean taskType;
// @ApiModelProperty(value = "邀请人数", example = "1")
// Integer numOfVisitor;
@ApiModelProperty(value = "访客来源", example = "内部邀请")
String visitorSource;
@ApiModelProperty(value = "标签卡", example = "WE34421231")
String labelCard;
// @ApiModelProperty(value = "标签卡状态", example = "使用中")
// String labelCardStatus;
@ApiModelProperty(value = "所属单位id", example = "壹润科技")
String orgId;
@ApiModelProperty(value = "被访人id", example = "1")
Long intervieweeId;
@ApiModelProperty(value = "被访人姓名", example = "李四")
String intervieweeName;
@ApiModelProperty(value = "来访原因", example = "来访原因")
String reason;
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// @ApiModelProperty(value = "收卡时间", example = "2022-04-19 14:28:00")
// LocalDateTime cardRecTime;
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// @ApiModelProperty(value = "预约到访时间", example = "2022-04-19 14:28:00")
// LocalDateTime appOfVisitTime;
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// @ApiModelProperty(value = "创建时间", example = "2022-04-19 14:28:00")
// LocalDateTime createTime;
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// @ApiModelProperty(value = "发卡时间", example = "2022-04-19 14:28:00")
// LocalDateTime cardSendTime;
@ApiModelProperty(value = "车辆反参")
Car car;
@ApiModelProperty(value = "主访人id")
Long mainVisitorId;
List<VisitorResultVo> list;
@ApiModel("MapVoReuslt")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public static class VisitorResultVo implements Serializable {
@Serial
private static final long serialVersionUID = 4115779013003587949L;
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "id", example = "1")
Long id;
@ApiModelProperty(value = "到访人姓名", example = "张三")
String visitorName;
@ApiModelProperty(value = "到访人电话", example = "17688888888")
String visitorMobile;
@ApiModelProperty(value = "主访人id")
Long mainVisitorId;
}
}
...@@ -4,8 +4,10 @@ package com.yiring.app.vo.visitor; ...@@ -4,8 +4,10 @@ package com.yiring.app.vo.visitor;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiring.app.domain.visitor.Car;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import lombok.*; import lombok.*;
...@@ -23,6 +25,7 @@ import lombok.experimental.FieldDefaults; ...@@ -23,6 +25,7 @@ import lombok.experimental.FieldDefaults;
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
public class VisitorVo implements Serializable { public class VisitorVo implements Serializable {
@Serial
private static final long serialVersionUID = 9004209982164273860L; private static final long serialVersionUID = 9004209982164273860L;
@JsonSerialize(using = ToStringSerializer.class) @JsonSerialize(using = ToStringSerializer.class)
...@@ -77,4 +80,7 @@ public class VisitorVo implements Serializable { ...@@ -77,4 +80,7 @@ public class VisitorVo implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "发卡时间", example = "2022-04-19 14:28:00") @ApiModelProperty(value = "发卡时间", example = "2022-04-19 14:28:00")
LocalDateTime cardSendTime; LocalDateTime cardSendTime;
@ApiModelProperty(value = "车辆反参")
Car car;
} }
...@@ -2,10 +2,13 @@ ...@@ -2,10 +2,13 @@
package com.yiring.app.web.dept; package com.yiring.app.web.dept;
import com.yiring.app.param.dept.DepartmentAddParam; import com.yiring.app.param.dept.DepartmentAddParam;
import com.yiring.app.param.dept.DepartmentExportParam;
import com.yiring.app.param.dept.DepartmentFindParam; import com.yiring.app.param.dept.DepartmentFindParam;
import com.yiring.app.param.dept.DepartmentModifyParam;
import com.yiring.app.service.dept.DepartmentService; import com.yiring.app.service.dept.DepartmentService;
import com.yiring.app.vo.dept.DepartmentInfoVo; import com.yiring.app.vo.dept.DepartmentInfoVo;
import com.yiring.app.vo.dept.DepartmentVo; import com.yiring.app.vo.dept.DepartmentVo;
import com.yiring.auth.param.IdsParam;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
...@@ -17,6 +20,7 @@ import javax.validation.Valid; ...@@ -17,6 +20,7 @@ import javax.validation.Valid;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
/** /**
* 部门信息控制器 * 部门信息控制器
...@@ -36,14 +40,14 @@ public class DepartmentController { ...@@ -36,14 +40,14 @@ public class DepartmentController {
@ApiOperation("新增部门") @ApiOperation("新增部门")
@PostMapping("addDepartment") @PostMapping("addDepartment")
public Result<String> addDepartment(@Valid DepartmentAddParam param) { public Result<String> addDepartment(@Valid DepartmentAddParam departmentAddParam) {
return departmentService.addDepartment(param); return departmentService.addDepartment(departmentAddParam);
} }
@ApiOperation("树形表格") @ApiOperation("树形表格")
@GetMapping("findDepartmentTree") @GetMapping("findDepartmentTree")
public Result<PageVo<DepartmentVo>> findDepartmentTree(@Valid DepartmentFindParam param) { public Result<PageVo<DepartmentVo>> findDepartmentTree(@Valid DepartmentFindParam departmentFindParam) {
return departmentService.findDepartmentTree(param); return departmentService.findDepartmentTree(departmentFindParam);
} }
@ApiOperation("部门详细信息") @ApiOperation("部门详细信息")
...@@ -54,8 +58,8 @@ public class DepartmentController { ...@@ -54,8 +58,8 @@ public class DepartmentController {
@ApiOperation("部门导出") @ApiOperation("部门导出")
@GetMapping("exportDepartment") @GetMapping("exportDepartment")
public void exportDepartment(@Valid DepartmentFindParam param, HttpServletResponse response) { public void exportDepartment(@Valid DepartmentExportParam departmentExportParam, HttpServletResponse response) {
departmentService.exportDepartment(param, response); departmentService.exportDepartment(departmentExportParam, response);
} }
@ApiOperation("逻辑删除部门") @ApiOperation("逻辑删除部门")
...@@ -69,4 +73,22 @@ public class DepartmentController { ...@@ -69,4 +73,22 @@ public class DepartmentController {
public Result<String> stateDepartment(@Valid IdParam idParam) { public Result<String> stateDepartment(@Valid IdParam idParam) {
return departmentService.stateDepartment(idParam); return departmentService.stateDepartment(idParam);
} }
@ApiOperation("给部门添加职位")
@PutMapping("deptBingPost")
public Result<String> deptBingPost(@Valid IdParam idParam, @Valid IdsParam idsParam) {
return departmentService.deptBingPost(idParam, idsParam);
}
@ApiOperation("部门编辑")
@PutMapping("modifyDepartment")
public Result<String> modifyDepartment(@Valid DepartmentModifyParam departmentModifyParam) {
return departmentService.modifyDept(departmentModifyParam);
}
@ApiOperation("部门导入")
@PostMapping("Department")
public Result<String> importDepartment(@RequestParam("file") MultipartFile file) {
return departmentService.importDepartment(file);
}
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.web.location.beacon;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 定位信标
*
* @author LJ-2204
* @date 2022/4/27
*/
@Slf4j
@Validated
@Api(tags = "定位信标")
@RestController
@RequestMapping("/location/beacon/")
public class LocationBeaconController {}
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.web.location.tag; package com.yiring.app.web.location.tag;
import com.yiring.app.param.location.LocationTagAddParam; import com.yiring.app.param.location.tag.*;
import com.yiring.app.param.location.LocationTagDeleteParam; import com.yiring.app.service.location.tag.LocationTagService;
import com.yiring.app.param.location.LocationTagFindParam; import com.yiring.app.vo.location.tag.LocationTagIndexVo;
import com.yiring.app.param.location.LocationTagModifyParam; import com.yiring.app.vo.location.tag.LocationTagVo;
import com.yiring.app.service.location.LocationTagService;
import com.yiring.app.vo.location.LocationTagVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IndexParam;
import com.yiring.common.param.PageParam; import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -38,26 +37,32 @@ public class LocationTagController { ...@@ -38,26 +37,32 @@ public class LocationTagController {
@ApiOperation("新增定位标签") @ApiOperation("新增定位标签")
@PostMapping("addLocationTag") @PostMapping("addLocationTag")
public Result<String> addLocationTag(@Valid LocationTagAddParam param) { public Result<String> addLocationTag(@Valid LocationTagAddParam locationTagAddParam) {
return locationTagService.addLocationTag(param); return locationTagService.addLocationTag(locationTagAddParam);
} }
@ApiOperation("分页查询") @ApiOperation("分页查询")
@GetMapping("findLocationTagPage") @GetMapping("findLocationTagPage")
public Result<PageVo<LocationTagVo>> findLocationTagPage(@Valid LocationTagFindParam param, PageParam pageParam) { public Result<PageVo<LocationTagVo>> findLocationTagPage(
return locationTagService.findLocationTagPage(param, pageParam); @Valid LocationTagFindParam locationTagFindParam,
@Valid PageParam pageParam
) {
return locationTagService.findLocationTagPage(locationTagFindParam, pageParam);
} }
@ApiOperation("销毁定位标签") @ApiOperation("销毁定位标签")
@DeleteMapping("deleteLocationTag") @DeleteMapping("deleteLocationTag")
public Result<String> deleteLocationTag(@Valid LocationTagDeleteParam param) { public Result<String> deleteLocationTag(@Valid LocationTagDeleteParam locationTagDeleteParam) {
return locationTagService.deleteLocationTag(param); return locationTagService.deleteLocationTag(locationTagDeleteParam);
} }
@ApiOperation("导出定位标签") @ApiOperation("导出定位标签")
@GetMapping("exportLocationTagInfo") @GetMapping("exportLocationTagInfo")
public void exportLocationTagInfo(@Valid LocationTagFindParam param, HttpServletResponse response) { public void exportLocationTagInfo(
locationTagService.exportLocationTagInfo(param, response); @Valid LocationTagExportParam locationTagExportParam,
HttpServletResponse response
) {
locationTagService.exportLocationTagInfo(locationTagExportParam, response);
} }
@ApiOperation("导入定位标签") @ApiOperation("导入定位标签")
...@@ -68,7 +73,13 @@ public class LocationTagController { ...@@ -68,7 +73,13 @@ public class LocationTagController {
@ApiOperation("修改定位标签") @ApiOperation("修改定位标签")
@PutMapping("modifyLocationTag") @PutMapping("modifyLocationTag")
public Result<String> modifyLocationTag(@Valid LocationTagModifyParam param) { public Result<String> modifyLocationTag(@Valid LocationTagModifyParam locationTagModifyParam) {
return locationTagService.modifyLocationTag(param); return locationTagService.modifyLocationTag(locationTagModifyParam);
}
@ApiOperation("标签检索")
@GetMapping("indexLocationTag")
public Result<PageVo<LocationTagIndexVo>> indexLocationTag(@Valid IndexParam indexParam) {
return locationTagService.indexLocationTag(indexParam);
} }
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.web.location.tag;
import com.yiring.app.param.location.tag.LocationTagTypeFindParam;
import com.yiring.app.service.location.tag.LocationTagTypeService;
import com.yiring.app.vo.location.tag.LocationTagTypeVo;
import com.yiring.common.core.Result;
import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import javax.annotation.Resource;
import javax.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 标签分配
*
* @author LJ-2204
* @date 2022/4/27
*/
@Slf4j
@Validated
@Api(tags = "标签分配")
@RestController
@RequestMapping("/location/tag/type")
public class LocationTagTypeController {
@Resource
LocationTagTypeService locationTagTypeService;
@ApiOperation("分页查询")
@GetMapping("findLocationTagType")
public Result<PageVo<LocationTagTypeVo>> findLocationTagType(
@Valid LocationTagTypeFindParam locationTagTypeFindParam,
@Valid PageParam pageParam
) {
return locationTagTypeService.findLocationTagType(locationTagTypeFindParam, pageParam);
}
}
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.web.map; package com.yiring.app.web.map;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yiring.app.feign.MapClient; import com.yiring.app.feign.MapClient;
import com.yiring.app.vo.map.MapVo;
import com.yiring.auth.util.ZyUtil; import com.yiring.auth.util.ZyUtil;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.core.Status;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import java.io.Serializable; import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -18,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -18,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController;
/** /**
* 地图控制器 * 地图控制器
*
* @author Administrator * @author Administrator
* @version 1.0 * @version 1.0
* @description: TODO * @description: TODO
...@@ -35,9 +40,23 @@ public class MapController { ...@@ -35,9 +40,23 @@ public class MapController {
@GetMapping("/mapSelect") @GetMapping("/mapSelect")
@ApiImplicitParams({ @ApiImplicitParam(value = "orgId", required = true, name = "orgId") }) @ApiImplicitParams({ @ApiImplicitParam(value = "orgId", required = true, name = "orgId") })
public Result<Serializable> fail(String orgId) { public Result<MapVo> fail(String orgId) {
String login = ZyUtil.login(); String login = ZyUtil.login();
JSONObject jsonObject = mapClient.selectMap(orgId, "bearer " + login); JSONObject jsonObject = mapClient.selectMap(orgId, "bearer " + login);
return Result.ok(jsonObject.get("data").toString()); // if (ObjectUtil.isNotNull(jsonObject.getJSONArray("data"))) {
// List<MapVo.MapVoReuslt> data = jsonObject.getJSONArray("data").toJavaList(MapVo.MapVoReuslt.class);
// MapVo mapVo = MapVo.builder().data(data).build();
// return Result.ok(mapVo);
// } else {
// return Result.no(Status.NOT_FOUND);
// }
if (ObjectUtil.isNotNull(jsonObject.get("data"))) {
ObjectMapper objectMapper = new ObjectMapper();
List data = objectMapper.convertValue(jsonObject.get("data"), List.class);
MapVo mapVo = MapVo.builder().data(data).build();
return Result.ok(mapVo);
} else {
return Result.no(Status.NOT_FOUND);
}
} }
} }
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.web.post; package com.yiring.app.web.post;
import com.yiring.app.param.post.PostAddParam;
import com.yiring.app.param.post.PostExportParam;
import com.yiring.app.param.post.PostFindParam; import com.yiring.app.param.post.PostFindParam;
import com.yiring.app.param.post.PostParam; import com.yiring.app.param.post.PostModifyParam;
import com.yiring.app.service.post.PostService; import com.yiring.app.service.post.PostService;
import com.yiring.app.vo.post.PostIndexVo;
import com.yiring.app.vo.post.PostInfoVo;
import com.yiring.app.vo.post.PostVo; import com.yiring.app.vo.post.PostVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.param.IndexParam;
import com.yiring.common.param.PageParam; import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -36,14 +41,14 @@ public class PostController { ...@@ -36,14 +41,14 @@ public class PostController {
@ApiOperation(value = "新增职位") @ApiOperation(value = "新增职位")
@PostMapping("addPost") @PostMapping("addPost")
public Result<String> addPost(@Valid PostParam postParam) { public Result<String> addPost(@Valid PostAddParam postAddParam) {
return postService.addPost(postParam); return postService.addPost(postAddParam);
} }
@ApiOperation(value = "修改职位") @ApiOperation(value = "修改职位")
@PutMapping("modifyPost") @PutMapping("modifyPost")
public Result<String> modifyPost(@Valid PostParam postParam, @Valid IdParam idParam) { public Result<String> modifyPost(@Valid PostModifyParam postModifyParam) {
return postService.modifyPost(postParam, idParam); return postService.modifyPost(postModifyParam);
} }
@ApiOperation(value = "销毁职位") @ApiOperation(value = "销毁职位")
...@@ -54,25 +59,25 @@ public class PostController { ...@@ -54,25 +59,25 @@ public class PostController {
@ApiOperation(value = "分页查询") @ApiOperation(value = "分页查询")
@GetMapping("findPostPage") @GetMapping("findPostPage")
public Result<PageVo<PostVo>> findPostPage(@Valid PostFindParam param, @Valid PageParam pageParam) { public Result<PageVo<PostVo>> findPostPage(@Valid PostFindParam postFindParam, @Valid PageParam pageParam) {
return postService.findPostPage(param, pageParam); return postService.findPostPage(postFindParam, pageParam);
} }
@ApiOperation(value = "详细信息查询") @ApiOperation(value = "详细信息查询")
@GetMapping("findPostById") @GetMapping("findPostById")
public Result<PostVo> findPostById(@Valid IdParam idParam) { public Result<PostInfoVo> findPostById(@Valid IdParam idParam) {
return postService.findPostById(idParam); return postService.findPostById(idParam);
} }
@ApiOperation(value = "导出职位信息") @ApiOperation(value = "导出职位信息")
@GetMapping("exportPostInfo") @GetMapping("exportPostInfo")
public void exportPostInfo(@Valid PostFindParam param, HttpServletResponse response) { public void exportPostInfo(@Valid PostExportParam postExportParam, HttpServletResponse response) {
postService.exportPostInfo(param, response); postService.exportPostInfo(postExportParam, response);
} }
@ApiOperation(value = "下拉菜单") @ApiOperation(value = "职位检索")
@GetMapping("selectPost") @GetMapping("indexPost")
public Result<PageVo<PostVo>> selectPost() { public Result<PageVo<PostIndexVo>> indexPost(@Valid IndexParam indexParam) {
return postService.selectPost(); return postService.indexPost(indexParam);
} }
} }
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.web.user; package com.yiring.app.web.user;
import com.yiring.app.param.user.UserBingTagParam; import com.yiring.app.param.user.*;
import com.yiring.app.param.user.UserFindParam;
import com.yiring.app.service.user.UserService; import com.yiring.app.service.user.UserService;
import com.yiring.app.vo.user.UserInfoVo;
import com.yiring.app.vo.user.UserVo; import com.yiring.app.vo.user.UserVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.param.IndexParam;
import com.yiring.common.param.PageParam; import com.yiring.common.param.PageParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -17,6 +18,7 @@ import javax.validation.Valid; ...@@ -17,6 +18,7 @@ import javax.validation.Valid;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
/** /**
* 用户信息 * 用户信息
...@@ -28,9 +30,9 @@ import org.springframework.web.bind.annotation.*; ...@@ -28,9 +30,9 @@ import org.springframework.web.bind.annotation.*;
@Slf4j @Slf4j
@Validated @Validated
@Api(tags = "User") @Api(tags = "人员管理")
@RestController @RestController
@RequestMapping("/user/") @RequestMapping("/user/app/")
public class UserAppController { public class UserAppController {
@Resource @Resource
...@@ -38,20 +40,20 @@ public class UserAppController { ...@@ -38,20 +40,20 @@ public class UserAppController {
@ApiOperation("表格查询") @ApiOperation("表格查询")
@GetMapping("findUserPage") @GetMapping("findUserPage")
public Result<PageVo<UserVo>> findUserPage(@Valid UserFindParam param, @Valid PageParam pageParam) { public Result<PageVo<UserVo>> findUserPage(@Valid UserFindParam userFindParam, @Valid PageParam pageParam) {
return userService.findUserPage(param, pageParam); return userService.findUserPage(userFindParam, pageParam);
} }
@ApiOperation("用户详细信息查询") @ApiOperation("用户详细信息查询")
@GetMapping("findUserById") @GetMapping("findUserById")
public Result<UserVo> findUserById(@Valid IdParam idParam) { public Result<UserInfoVo> findUserById(@Valid IdParam idParam) {
return userService.findUserById(idParam); return userService.findUserById(idParam);
} }
@ApiOperation("给用户分配标签卡") @ApiOperation("给用户分配标签卡")
@PutMapping("userBingTag") @PutMapping("userBingTag")
public Result<String> userBingTag(@Valid UserBingTagParam param) { public Result<String> userBingTag(@Valid UserBingTagParam userBingTagParam) {
return userService.userBingTag(param); return userService.userBingTag(userBingTagParam);
} }
@ApiOperation("收卡") @ApiOperation("收卡")
...@@ -66,15 +68,39 @@ public class UserAppController { ...@@ -66,15 +68,39 @@ public class UserAppController {
return userService.deleteUser(idParam); return userService.deleteUser(idParam);
} }
@ApiOperation("下拉菜单")
@GetMapping("selectUser")
public Result<PageVo<UserVo>> selectUser() {
return userService.selectUser();
}
@ApiOperation("用户导出") @ApiOperation("用户导出")
@GetMapping("exportUser") @GetMapping("exportUser")
public void exportUser(@Valid UserFindParam param, HttpServletResponse response) { public void exportUser(@Valid UserFindParam userFindParam, HttpServletResponse response) {
userService.exportUser(param, response); userService.exportUser(userFindParam, response);
}
@ApiOperation("启用/停用")
@PutMapping("stateUser")
public Result<String> stateUser(@Valid IdParam idParam) {
return userService.stateUser(idParam);
}
@ApiOperation("编辑用户")
@PutMapping("modifyUser")
public Result<String> modifyUser(@Valid UserModifyParam userModifyParam) {
return userService.modifyUser(userModifyParam);
}
@ApiOperation("新增用户")
@PostMapping("addUser")
public Result<String> addUser(@Valid UserAddParam userAddParam) {
return userService.addUser(userAddParam);
}
@ApiOperation("导入")
@PostMapping("importUser")
public Result<String> importUser(@RequestParam("file") MultipartFile file) {
return userService.importUser(file);
}
@ApiOperation("用户信息检索")
@GetMapping("indexUser")
public Result<PageVo<UserVo>> indexUser(@Valid IndexParam indexParam) {
return userService.indexUser(indexParam);
} }
} }
...@@ -4,9 +4,11 @@ package com.yiring.app.web.video; ...@@ -4,9 +4,11 @@ package com.yiring.app.web.video;
import com.yiring.app.param.video.VideoParam; import com.yiring.app.param.video.VideoParam;
import com.yiring.app.param.video.VideoQueryParam; import com.yiring.app.param.video.VideoQueryParam;
import com.yiring.app.service.video.VideoService; import com.yiring.app.service.video.VideoService;
import com.yiring.app.vo.video.VideoNameVo;
import com.yiring.app.vo.video.VideoVo; import com.yiring.app.vo.video.VideoVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.param.IndexParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
...@@ -83,4 +85,10 @@ public class VideoController { ...@@ -83,4 +85,10 @@ public class VideoController {
public Result<String> importVideo(MultipartFile file) { public Result<String> importVideo(MultipartFile file) {
return videoService.importVideo(file); return videoService.importVideo(file);
} }
@ApiOperation(value = "根据监控点位名称模糊查询")
@GetMapping("findByVideoNameLike")
public Result<VideoNameVo> findByVideoNameLike(@Valid IndexParam indexParam) {
return videoService.findByVideoNameLike(indexParam);
}
} }
/* (C) 2022 YiRing, Inc. */ /* (C) 2022 YiRing, Inc. */
package com.yiring.app.web.car; package com.yiring.app.web.visitor;
import com.yiring.app.param.car.CarParam; import com.yiring.app.param.visitor.CarQueryParam;
import com.yiring.app.param.car.CarQueryParam; import com.yiring.app.service.visitor.CarService;
import com.yiring.app.service.car.CarService; import com.yiring.app.vo.visitor.CarVo;
import com.yiring.app.vo.car.CarVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.vo.PageVo; import com.yiring.common.vo.PageVo;
...@@ -38,17 +37,17 @@ public class CarController { ...@@ -38,17 +37,17 @@ public class CarController {
@Resource @Resource
CarService carService; CarService carService;
@ApiOperation(value = "新增车辆来访信息") // @ApiOperation(value = "新增车辆来访信息")
@PostMapping("saveCarInfo") // @PostMapping("saveCarInfo")
public Result<Long> saveCarInfo(@Valid CarParam carParam) { // public Result<Long> saveCarInfo(@Valid CarParam carParam) {
return carService.saveCarInfo(carParam); // return carService.saveCarInfo(carParam);
} // }
@ApiOperation(value = "修改车辆来访信息") // @ApiOperation(value = "修改车辆来访信息")
@PostMapping("updateCarInfo") // @PostMapping("updateCarInfo")
public Result<Long> updateCarInfo(@Valid CarParam carParam, @Valid IdParam idParam) { // public Result<Long> updateCarInfo(@Valid CarParam carParam, @Valid IdParam idParam) {
return carService.updateCarInfo(carParam, idParam); // return carService.updateCarInfo(carParam, idParam);
} // }
@ApiOperation(value = "收卡") @ApiOperation(value = "收卡")
@PostMapping("cardRec") @PostMapping("cardRec")
...@@ -63,17 +62,17 @@ public class CarController { ...@@ -63,17 +62,17 @@ public class CarController {
return carService.cardSend(idParam, labelCard); return carService.cardSend(idParam, labelCard);
} }
@ApiOperation(value = "删除车辆来访信息") // @ApiOperation(value = "删除车辆来访信息")
@PostMapping("deleteCarInfo") // @PostMapping("deleteCarInfo")
public Result<String> deleteCarInfo(@Valid IdParam idParam) { // public Result<String> deleteCarInfo(@Valid IdParam idParam) {
return carService.deleteCarInfo(idParam); // return carService.deleteCarInfo(idParam);
} // }
@ApiOperation(value = "查看车辆来访信息详情") // @ApiOperation(value = "查看车辆来访信息详情")
@GetMapping("getCarInfo") // @GetMapping("getCarInfo")
public Result<CarVo> getCarInfo(@Valid IdParam idParam) { // public Result<CarVo> getCarInfo(@Valid IdParam idParam) {
return carService.getCarInfo(idParam); // return carService.getCarInfo(idParam);
} // }
@ApiOperation(value = "查看车辆来访信息(分页)") @ApiOperation(value = "查看车辆来访信息(分页)")
@GetMapping("pageCarInfo") @GetMapping("pageCarInfo")
......
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.web.visitor;
import com.yiring.app.param.visitor.InvitationParam;
import com.yiring.app.param.visitor.InvitationQueryParam;
import com.yiring.app.service.visitor.InvitationService;
import com.yiring.app.vo.visitor.InvitationVo;
import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam;
import com.yiring.common.vo.PageVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author tzl
* @version 1.0
* @description:
* @date 2022/4/25 11:35
*/
@Slf4j
@Validated
@Api(tags = "Invitation(邀请)")
@RestController
@RequestMapping("/invitation/")
public class InvitationController {
@Resource
InvitationService invitationService;
@ApiOperation(value = "新增邀请信息")
@PostMapping("saveInv")
public Result<String> saveInv(@Valid InvitationParam invitationParam) {
return invitationService.saveInv(invitationParam);
}
@ApiOperation(value = "修改邀请信息")
@PostMapping("updateInv")
public Result<String> updateInv(@Valid InvitationParam invitationParam, @Valid IdParam idParam) {
return invitationService.updateInv(invitationParam, idParam);
}
@ApiOperation(value = "撤回")
@PostMapping("recallInv")
public Result<String> recallInv(@Valid IdParam idParam) {
return invitationService.recallInv(idParam);
}
@ApiOperation(value = "发起邀请")
@PostMapping("sendInv")
public Result<String> sendInv(@Valid IdParam idParam) {
return invitationService.sendInv(idParam);
}
@ApiOperation(value = "删除邀请")
@PostMapping("deleteInv")
public Result<String> deleteInv(@Valid IdParam idParam) {
return invitationService.deleteInv(idParam);
}
@ApiOperation(value = "查看邀请信息(分页)")
@GetMapping("pageInv")
public Result<PageVo<InvitationVo>> pageInv(@Valid InvitationQueryParam invitationQueryParam) {
return invitationService.pageInv(invitationQueryParam);
}
@ApiOperation(value = "导出邀请信息", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@PostMapping("exportInv")
public void exportInv(HttpServletResponse response, @Valid InvitationQueryParam invitationQueryParam) {
invitationService.exportInv(invitationQueryParam, response);
}
}
...@@ -61,11 +61,11 @@ public class VisitorController { ...@@ -61,11 +61,11 @@ public class VisitorController {
return visitorService.cardSend(labelCard, idParam); return visitorService.cardSend(labelCard, idParam);
} }
@ApiOperation(value = "删除访客信息") // @ApiOperation(value = "删除访客信息")
@PostMapping("deleteVisitor") // @PostMapping("deleteVisitor")
public Result<String> deleteVisitor(@Valid IdParam idParam) { // public Result<String> deleteVisitor(@Valid IdParam idParam) {
return visitorService.deleteVisitor(idParam); // return visitorService.deleteVisitor(idParam);
} // }
@ApiOperation(value = "查看访客信息详情") @ApiOperation(value = "查看访客信息详情")
@GetMapping("selectVisitor") @GetMapping("selectVisitor")
......
...@@ -37,6 +37,11 @@ spring: ...@@ -37,6 +37,11 @@ spring:
simple: simple:
# 手动确认消息 # 手动确认消息
acknowledge-mode: manual acknowledge-mode: manual
servlet:
multipart:
enabled: true
max-file-size: 50MB
max-request-size: 100MB
# knife4j # knife4j
knife4j: knife4j:
...@@ -61,7 +66,6 @@ logging: ...@@ -61,7 +66,6 @@ logging:
level: level:
# sql bind parameter # sql bind parameter
org.hibernate.type.descriptor.sql.BasicBinder: trace org.hibernate.type.descriptor.sql.BasicBinder: trace
# 真源定位系统相关配置 # 真源定位系统相关配置
zy-config: zy-config:
host: project.yz-online.com host: project.yz-online.com
...@@ -93,3 +97,10 @@ zy-config: ...@@ -93,3 +97,10 @@ zy-config:
manage: manage:
username: test123 username: test123
password: test123 password: test123
feign:
httpclient:
enabled: false
okhttp:
enabled: true
...@@ -9,6 +9,11 @@ spring: ...@@ -9,6 +9,11 @@ spring:
profiles: profiles:
include: auth, conf-patch include: auth, conf-patch
active: dev active: dev
servlet:
multipart:
enabled: true
max-file-size: 10MB
max-request-size: 10MB
# DEBUG # DEBUG
debug: false debug: false
...@@ -98,6 +98,12 @@ public class User extends BasicEntity implements Serializable { ...@@ -98,6 +98,12 @@ public class User extends BasicEntity implements Serializable {
@Comment("是否删除") @Comment("是否删除")
Boolean deleted; Boolean deleted;
@Comment("是否特殊")
Boolean isSpecial;
@Comment("性别")
Boolean gender;
@JsonIgnore @JsonIgnore
@Builder.Default @Builder.Default
@Comment("角色集合") @Comment("角色集合")
......
...@@ -5,8 +5,6 @@ import cn.hutool.core.date.LocalDateTimeUtil; ...@@ -5,8 +5,6 @@ import cn.hutool.core.date.LocalDateTimeUtil;
import com.github.liaochong.myexcel.core.annotation.ExcelColumn; import com.github.liaochong.myexcel.core.annotation.ExcelColumn;
import com.github.liaochong.myexcel.core.annotation.ExcelModel; import com.github.liaochong.myexcel.core.annotation.ExcelModel;
import com.yiring.auth.domain.post.Post; import com.yiring.auth.domain.post.Post;
import java.util.List;
import java.util.stream.Collectors;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
...@@ -40,19 +38,13 @@ public class PostExcel { ...@@ -40,19 +38,13 @@ public class PostExcel {
@ExcelColumn(title = "创建时间") @ExcelColumn(title = "创建时间")
String createTime; String createTime;
public static List<PostExcel> transforms(List<Post> posts) { public static PostExcel transform(Post post) {
return posts return PostExcel
.stream()
.map(post ->
PostExcel
.builder() .builder()
// .id(post.getId())
.name(post.getName()) .name(post.getName())
.describe(post.getDescribe()) .describe(post.getDescribe())
.enable(post.getEnable() ? "启用" : "禁用") .enable(post.getEnable() ? "启用" : "禁用")
.createTime(LocalDateTimeUtil.format(post.getCreateTime(), "yyyy-MM-dd HH:mm:ss")) .createTime(LocalDateTimeUtil.format(post.getCreateTime(), "yyyy-MM-dd HH:mm:ss"))
.build() .build();
)
.collect(Collectors.toList());
} }
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.common.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import javax.validation.Valid;
import lombok.*;
import lombok.experimental.FieldDefaults;
/**
* 公共下拉str查询入参
*
* @author LJ-2204
* @date 2022/4/26
*/
@ApiModel("IndexParam")
@Valid
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class IndexParam implements Serializable {
@Serial
private static final long serialVersionUID = 1175269732754454737L;
@ApiModelProperty(value = "下拉查询")
String str;
}
...@@ -29,7 +29,7 @@ public class MinioConfig { ...@@ -29,7 +29,7 @@ public class MinioConfig {
String bucket; String bucket;
String domain; String domain;
@Bean @Bean("MinioClient")
public MinioClient getClient() { public MinioClient getClient() {
return MinioClient.builder().endpoint(endpoint).credentials(accessKey, secretKey).build(); return MinioClient.builder().endpoint(endpoint).credentials(accessKey, secretKey).build();
} }
......
...@@ -28,7 +28,7 @@ public class Minio { ...@@ -28,7 +28,7 @@ public class Minio {
@Resource @Resource
public MinioConfig config; public MinioConfig config;
@Resource @Resource(name = "MinioClient")
public MinioClient client; public MinioClient client;
/** /**
......
...@@ -31,6 +31,8 @@ buildscript { ...@@ -31,6 +31,8 @@ buildscript {
myexcelVersion = '4.1.1' myexcelVersion = '4.1.1'
// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign // https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign
openfeignVersion = '3.1.1' openfeignVersion = '3.1.1'
// https://mvnrepository.com/artifact/io.github.openfeign/feign-okhttp
feignOkhttpVersion= '11.8'
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论