diff --git a/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/vo/visitor/app/VisitorsAppYYDetailVo.java b/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/vo/visitor/app/VisitorsAppYYDetailVo.java new file mode 100644 index 000000000..8bd840335 --- /dev/null +++ b/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/vo/visitor/app/VisitorsAppYYDetailVo.java @@ -0,0 +1,124 @@ +package com.bsd.pjcloud.integrated.vo.visitor.app; + +import com.bsd.pjcloud.integrated.dto.visitor.app.VisitorsCarAppDTO; +import com.bsd.pjcloud.integrated.dto.visitor.app.VisitorsPeopleAppDTO; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 访客表 + * + * @author zjf + * @date 2025-04-09 15:22:47 + */ +@Data +@Schema(description = "app邀约详情vo") +public class VisitorsAppYYDetailVo { + + + /** + * 姓名 + */ + @Schema(description="姓名") + @NotNull + private String name; + + /** + * 手机号 + */ + @NotNull + @Schema(description="手机号") + private String mobile; + + /** + * 身份证号 + */ + @Schema(description="身份证号") + private String idCard; + + /** + * 描述 + */ + @Schema(description="描述") + private String reasonValue; + + + /** + * 到访单位 + */ + @Schema(description="到访单位id") + private Long deptId; + + /** + * 到访单位 + */ + @Schema(description="到访单位") + private String deptName; + + + /** + * 接待人 + */ + @Schema(description="接待人") + private String userName; + + + /** + * 公司名称 + */ + @Schema(description="公司名称") + private String companyName; + + /** + * 随行人员数量 + */ + @Schema(description="随行人员数量") + private Integer peopleNumber; + + + /** + * 到访时间 + */ + @Schema(description="到访时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime vStartDate; + /** + * 到访时间 + */ + @Schema(description="到访时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime vEndDate; + + /** + * 是否驾驶车辆0 否 1是 + */ + @Schema(description="是否驾驶车辆0 否 1是") + private String isDrive; + + /** + * 是否驾驶车辆0 否 1是 + */ + @Schema(description="是否有随行人员 0 否 1是") + private String isOtherPeople; + + @Schema(description="接待人id") + private Long receiveId; + + + @Schema(description="车牌号集合") + private List carList; + + @Schema(description="随行人员集合") + private List otherPeople; + + + +// @Schema(description="邀约id") +// private Long yyId; + +} \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/controller/AppVisitorController.java b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/controller/AppVisitorController.java index f8f898c9c..790017a81 100644 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/controller/AppVisitorController.java +++ b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/controller/AppVisitorController.java @@ -19,6 +19,7 @@ import com.bsd.pjcloud.integrated.entity.VisitorsEntity; import com.bsd.pjcloud.integrated.service.VisitorUserService; import com.bsd.pjcloud.integrated.service.VisitorsService; import com.bsd.pjcloud.integrated.vo.visitor.app.VisitorsAppVo; +import com.bsd.pjcloud.integrated.vo.visitor.app.VisitorsAppYYDetailVo; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; @@ -107,6 +108,20 @@ public class AppVisitorController { return R.ok(visitorsService.getByToken(token)); } + + /** + * 邀约详情 + * + * @param token + * @return + */ + @Operation(summary = "通过token查询邀约详情" , description = "通过token查询邀约详情" ) + @GetMapping("/get/visitorsYYDetail") + public R getVisitorsYYDetail(@RequestParam("token") String token) { + + return R.ok(visitorsService.getVisitorsYYDetail(token)); + } + @PostMapping("/app/receiveYY") @SysLog("访客接收邀约更新状态" ) @Operation(summary = "访客接收邀约" , description = "访客接收邀约" ) diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/VisitorsService.java b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/VisitorsService.java index eb3442ad9..6eb23f0ad 100644 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/VisitorsService.java +++ b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/VisitorsService.java @@ -9,6 +9,7 @@ import com.bsd.pjcloud.integrated.dto.visitor.app.VisitorsReceiveAppDTO; import com.bsd.pjcloud.integrated.dto.visitor.app.VisitorsYYAppDTO; import com.bsd.pjcloud.integrated.entity.VisitorsEntity; import com.bsd.pjcloud.integrated.vo.visitor.app.VisitorsAppVo; +import com.bsd.pjcloud.integrated.vo.visitor.app.VisitorsAppYYDetailVo; import java.util.List; @@ -86,4 +87,12 @@ public interface VisitorsService extends IService { Object receiveYY(VisitorsReceiveAppDTO visitorsReceiveAppDTO); + + + /** + * 获取邀约详情 + * @param token + * @return + */ + VisitorsAppYYDetailVo getVisitorsYYDetail(String token); } \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java index 12d3382e8..226cba0c4 100644 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java +++ b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java @@ -1,6 +1,7 @@ package com.bsd.pjcloud.integrated.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -36,10 +37,7 @@ import com.bsd.pjcloud.integrated.mapper.VisitorsMapper; import com.bsd.pjcloud.integrated.mapper.VisitorsPeopleMapper; import com.bsd.pjcloud.integrated.service.VisitorUserService; import com.bsd.pjcloud.integrated.service.VisitorsService; -import com.bsd.pjcloud.integrated.vo.visitor.app.VisitorsAppPageVo; -import com.bsd.pjcloud.integrated.vo.visitor.app.VisitorsAppVo; -import com.bsd.pjcloud.integrated.vo.visitor.app.VisitorsCarAppVo; -import com.bsd.pjcloud.integrated.vo.visitor.app.VisitorsPeopleAppVo; +import com.bsd.pjcloud.integrated.vo.visitor.app.*; import com.bsd.pjcloud.thirdparty.api.feign.RemoterThirdPartySmsService; import com.bsd.pjcloud.thirdparty.api.feign.RemoterVisitorService; import com.bsd.pjcloud.thirdparty.dto.visitor.AppointmentInfo; @@ -285,7 +283,7 @@ public class VisitorsServiceImpl extends ServiceImpl deptByDeptId = remoteDeptService.getDeptByDeptId(deptId); bean.setDeptName(deptByDeptId.getData().getName()); - + bean.setUserName(SecurityUtils.getUser().getName()); String uniqueToken = UUID.randomUUID().toString(); String token = uniqueToken.replace("-", ""); bean.setToken(token); @@ -511,5 +509,41 @@ public class VisitorsServiceImpl extends ServiceImpl() + .eq("token", token) + .eq("type", VisitorTypeEnum.ZDYQ.getType())); + if(visitorsEntity == null){ + throw new ServiceException("数据不存在"); + } + // 转换为VO对象 + VisitorsAppYYDetailVo result = BeanUtils.toBean(visitorsEntity, VisitorsAppYYDetailVo.class); + + // 查询车辆信息 + List visitorsCarEntities = visitorsCarMapper.selectList( + new LambdaQueryWrapper().eq(VisitorsCarEntity::getVisitorsId, visitorsEntity.getId()) + ); + if (!CollectionUtils.isEmpty(visitorsCarEntities)) { + List carList = BeanUtils.toBean(visitorsCarEntities, VisitorsCarAppDTO.class); + result.setCarList(carList); + } + + // 查询随行人员信息 + List visitorsPeopleEntities = visitorsPeopleMapper.selectList( + new LambdaQueryWrapper().eq(VisitorsPeopleEntity::getVisitorsId, visitorsEntity.getId()) + ); + if (!CollectionUtils.isEmpty(visitorsPeopleEntities)) { + List otherPeople = BeanUtils.toBean(visitorsPeopleEntities, VisitorsPeopleAppDTO.class); + result.setOtherPeople(otherPeople); + } + //设置邀约者的信息 + // 设置邀约ID +// result.setYyId(visitorsEntity.getId()); + + return result; + } + } \ No newline at end of file