diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java index 5cecab07f..dcc9b3c59 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java @@ -1,7 +1,10 @@ package com.bsd.pjcloud.canteen.mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bsd.pjcloud.canteen.dto.app.DailyMenuDTO; import com.bsd.pjcloud.canteen.vo.ADCanteenDailyMenuListVO; import com.bsd.pjcloud.canteen.vo.DailyMenuVO; +import com.bsd.pjcloud.canteen.vo.app.DailyMenuAppVO; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; import com.bsd.pjcloud.canteen.entity.CanteenDailyMenuEntity; @@ -27,4 +30,8 @@ public interface CanteenDailyMenuMapper extends PjcloudBaseMapper getCanteenMenuList(@Param("day") String day, @Param("hourType") Integer hourType, @Param("categoryId") Long categoryId, @Param("merchantId") Long merchantId,DataScope dataScope); + + + + Page selectTimeFoodPage(@Param("page")Page page, DailyMenuDTO dailyMenuDTO); } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java index 4a8a9c4ee..7ce8a7cf1 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java @@ -143,58 +143,65 @@ public class CanteenDailyMenuServiceImpl extends ServiceImpl canteenDailyMenuEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); - canteenDailyMenuEntityLambdaQueryWrapper.eq(CanteenDailyMenuEntity::getMerchantId, dailyMenuDTO.getMerchantId()); - canteenDailyMenuEntityLambdaQueryWrapper.eq(CanteenDailyMenuEntity::getStartTime, dailyMenuDTO.getStartTime()); - canteenDailyMenuEntityLambdaQueryWrapper.eq(dailyMenuDTO.getHourType() != null, - CanteenDailyMenuEntity::getHourType, dailyMenuDTO.getHourType()); +// LambdaQueryWrapper canteenDailyMenuEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// canteenDailyMenuEntityLambdaQueryWrapper.eq(CanteenDailyMenuEntity::getMerchantId, dailyMenuDTO.getMerchantId()); +// canteenDailyMenuEntityLambdaQueryWrapper.eq(CanteenDailyMenuEntity::getStartTime, dailyMenuDTO.getStartTime()); +// canteenDailyMenuEntityLambdaQueryWrapper.eq(dailyMenuDTO.getHourType() != null, +// CanteenDailyMenuEntity::getHourType, dailyMenuDTO.getHourType()); +// +// //查询 +// LambdaQueryWrapper onlineFoodSpuDOLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// onlineFoodSpuDOLambdaQueryWrapper.eq(null != dailyMenuDTO.getCategoryId(), CanteenSpuEntity::getCategoryId, dailyMenuDTO.getCategoryId()); +// onlineFoodSpuDOLambdaQueryWrapper.eq(CanteenSpuEntity::getIsShow, "1"); +// List spuEntities = canteenSpuService.list(onlineFoodSpuDOLambdaQueryWrapper); +// +// if (CollectionUtils.isNotEmpty(spuEntities)){ +// List spuIds = spuEntities.stream().map(CanteenSpuEntity::getId).collect(Collectors.toList()); +// canteenDailyMenuEntityLambdaQueryWrapper.notIn(CanteenDailyMenuEntity::getSpuId, spuIds); +// } +// +// Page pageData = baseMapper.selectPage(page, canteenDailyMenuEntityLambdaQueryWrapper); +// List canteenDailyMenuEntities = pageData.getRecords(); +// if (CollectionUtils.isNotEmpty(canteenDailyMenuEntities)) { +// List spuIds = canteenDailyMenuEntities.stream().map(CanteenDailyMenuEntity::getSpuId).distinct().collect(Collectors.toList()); +// LambdaQueryWrapper spuDOLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// onlineFoodSpuDOLambdaQueryWrapper.in(CanteenSpuEntity::getId, spuIds); +// List list = canteenSpuService.list(spuDOLambdaQueryWrapper); +// // 按 id 分组成 Map +// Map spuEntityMap = list.stream() +// .collect(Collectors.toMap(CanteenSpuEntity::getId, spu -> spu)); +// // 构造新的 VO 列表 +// List dailyMenuVOList = canteenDailyMenuEntities.stream() +// .map(menu -> { +// DailyMenuAppVO vo = new DailyMenuAppVO(); +// BeanUtils.copyProperties(menu, vo); // 拷贝通用属性 +// CanteenSpuEntity spuEntity = spuEntityMap.get(menu.getSpuId()); +// if (spuEntity != null) { +// vo.setSpuId(spuEntity.getId()); +// vo.setStock(spuEntity.getStock()); +// vo.setPrice(spuEntity.getPrice()); +// vo.setPicUrl(spuEntity.getPicUrl()); +// vo.setName(spuEntity.getName()); +// vo.setSort(spuEntity.getSort()); +// vo.setIsShow(spuEntity.getIsShow()); +// // 其他需要的字段 +// } +// return vo; +// }) +// .collect(Collectors.toList()); +//// dailyMenuVOList.sort(Comparator.comparing(DailyMenuAppVO::getSort)); +// // 修改排序逻辑,处理null值情况 +// dailyMenuVOList.sort(Comparator.comparing( +// DailyMenuAppVO::getSort, +// Comparator.nullsFirst(Comparator.naturalOrder()) +// )); +// pageData.setRecords(dailyMenuVOList); - //查询 - LambdaQueryWrapper onlineFoodSpuDOLambdaQueryWrapper = new LambdaQueryWrapper<>(); - onlineFoodSpuDOLambdaQueryWrapper.eq(null != dailyMenuDTO.getCategoryId(), CanteenSpuEntity::getCategoryId, dailyMenuDTO.getCategoryId()); - onlineFoodSpuDOLambdaQueryWrapper.eq(CanteenSpuEntity::getIsShow, "1"); - List spuEntities = canteenSpuService.list(onlineFoodSpuDOLambdaQueryWrapper); - - if (CollectionUtils.isNotEmpty(spuEntities)){ - List spuIds = spuEntities.stream().map(CanteenSpuEntity::getId).collect(Collectors.toList()); - canteenDailyMenuEntityLambdaQueryWrapper.notIn(CanteenDailyMenuEntity::getSpuId, spuIds); - } - - Page pageData = baseMapper.selectPage(page, canteenDailyMenuEntityLambdaQueryWrapper); - List canteenDailyMenuEntities = pageData.getRecords(); - if (CollectionUtils.isNotEmpty(canteenDailyMenuEntities)) { - List spuIds = canteenDailyMenuEntities.stream().map(CanteenDailyMenuEntity::getSpuId).distinct().collect(Collectors.toList()); - LambdaQueryWrapper spuDOLambdaQueryWrapper = new LambdaQueryWrapper<>(); - onlineFoodSpuDOLambdaQueryWrapper.in(CanteenSpuEntity::getId, spuIds); - List list = canteenSpuService.list(spuDOLambdaQueryWrapper); - // 按 id 分组成 Map - Map spuEntityMap = list.stream() - .collect(Collectors.toMap(CanteenSpuEntity::getId, spu -> spu)); - // 构造新的 VO 列表 - List dailyMenuVOList = canteenDailyMenuEntities.stream() - .map(menu -> { - DailyMenuAppVO vo = new DailyMenuAppVO(); - BeanUtils.copyProperties(menu, vo); // 拷贝通用属性 - CanteenSpuEntity spuEntity = spuEntityMap.get(menu.getSpuId()); - if (spuEntity != null) { - vo.setSpuId(spuEntity.getId()); - vo.setStock(spuEntity.getStock()); - vo.setPrice(spuEntity.getPrice()); - vo.setPicUrl(spuEntity.getPicUrl()); - vo.setName(spuEntity.getName()); - vo.setSort(spuEntity.getSort()); - vo.setIsShow(spuEntity.getIsShow()); - // 其他需要的字段 - } - return vo; - }) - .collect(Collectors.toList()); - dailyMenuVOList.sort(Comparator.comparing(DailyMenuAppVO::getSort)); - pageData.setRecords(dailyMenuVOList); + Page pageData=baseMapper.selectTimeFoodPage(page,dailyMenuDTO); return pageData; - } +// } - return null; +// return null; } // 发送mq消息 diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml index 22db42b53..28fe8003a 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml @@ -82,4 +82,35 @@ + \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/constant/VisitorTypeEnum.java b/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/constant/VisitorTypeEnum.java deleted file mode 100644 index b90c68141..000000000 --- a/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/constant/VisitorTypeEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.bsd.pjcloud.integrated.constant; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 出库入口 - */ -@AllArgsConstructor -@Getter -public enum VisitorTypeEnum { - - FKSQ("1", "访客申请"), - ZDYQ("2", "主动邀请"), - HTXZ("3", "后台新增") - ; - private final String type; - private final String description; - - - -} diff --git a/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/dto/visitors/app/VisitorsAppDTO.java b/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/dto/visitors/app/VisitorsAppDTO.java deleted file mode 100644 index d672d2e42..000000000 --- a/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/dto/visitors/app/VisitorsAppDTO.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.bsd.pjcloud.integrated.dto.visitors.app; - -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访客dto") -public class VisitorsAppDTO { - - - /** - * 姓名 - */ - @Schema(description="姓名") - @NotNull - private String name; - - /** - * 手机号 - */ - @NotNull - @Schema(description="手机号") - private String mobile; - - /** - * 身份证号 - */ - @Schema(description="身份证号") - private String idCard; - - /** - * 描述 - */ - @Schema(description="描述") - private String description; - - - /** - * 到访单位 - */ - @Schema(description="到访单位") - private Long deptId; - - /** - * 接待人 - */ - @Schema(description="接待人") - private String userName; - - - /** - * 公司名称 - */ - @Schema(description="公司名称") - private String companyName; - - /** - * 随行人员数量 - */ - @Schema(description="随行人员数量") - private Integer peopleNumber; - - - /** - * 到访时间 - */ - @Schema(description="到访时间") - private LocalDateTime vStartDate; - /** - * 到访时间 - */ - @Schema(description="到访时间") - private LocalDateTime vEndDate; - - /** - * 是否驾驶车辆0 否 1是 - */ - @Schema(description="是否驾驶车辆0 否 1是") - private String isDrive; - - @Schema(description="车牌号集合") - private List visitorsCarAppDTOList; - -} \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/dto/visitors/app/VisitorsCarAppDTO.java b/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/dto/visitors/app/VisitorsCarAppDTO.java deleted file mode 100644 index ac1a13790..000000000 --- a/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/dto/visitors/app/VisitorsCarAppDTO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.bsd.pjcloud.integrated.dto.visitors.app; - -import com.baomidou.mybatisplus.annotation.*; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 车牌号 - * - * @author zjf - * @date 2025-04-09 15:10:54 - */ -@Data - -@Schema(description = "车牌号") -public class VisitorsCarAppDTO { - - - /** - * 车牌号 - */ - @Schema(description="车牌号") - private String carNumber; - - -} \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/vo/app/visitor/VisitorsAppVo.java b/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/vo/app/visitor/VisitorsAppVo.java deleted file mode 100644 index 0bccf6027..000000000 --- a/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/vo/app/visitor/VisitorsAppVo.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.bsd.pjcloud.integrated.vo.app.visitor; - -import com.baomidou.mybatisplus.annotation.*; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.bsd.pjcloud.common.core.util.TenantTable; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.time.LocalDateTime; -import java.util.List; - -/** - * 访客表 - * - * @author zjf - * @date 2025-04-09 15:22:47 - */ -@Data -@Schema(description = "访客表vo") -public class VisitorsAppVo{ - - - /** - * id - */ - @Schema(description="id") - private Long id; - - /** - * 姓名 - */ - @Schema(description="姓名") - private String name; - - /** - * 手机号 - */ - @Schema(description="手机号") - private String mobile; - - /** - * 身份证号 - */ - @Schema(description="身份证号") - private String idCard; - - /** - * 描述 - */ - @Schema(description="描述") - private String description; - - /** - * 审核状态 - */ - @Schema(description="审核状态") - private String checkStatus; - - /** - * 到访单位 - */ - @Schema(description="到访单位") - private Long deptId; - - /** - * 接待人 - */ - @Schema(description="接待人") - private Long userName; - - /** - * 车牌号id - */ - @Schema(description="车牌号id") - private Long carId; - - /** - * 公司名称 - */ - @Schema(description="公司名称") - private String companyName; - - /** - * 随行人员数量 - */ - @Schema(description="随行人员数量") - private Integer peopleNumber; - - /** - * 到访时间 - */ - @Schema(description="到访时间") - private LocalDateTime vStartDate; - /** - * 到访时间 - */ - @Schema(description="到访时间") - private LocalDateTime vEndDate; - - /** - * 是否驾驶车辆0 否 1是 - */ - @Schema(description="是否驾驶车辆0 否 1是") - private String isDrive; - - - /** - * 审核原因 - */ - @Schema(description="审核原因") - private String checkReason; - - - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建时间") - private LocalDateTime createTime; - - - - @Schema(description="token") - private String token; - - @Schema(description="车牌号") - private List visitorsCarAppVos; -} \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/vo/app/visitor/VisitorsCarAppVo.java b/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/vo/app/visitor/VisitorsCarAppVo.java deleted file mode 100644 index a2ec2333c..000000000 --- a/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/vo/app/visitor/VisitorsCarAppVo.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.bsd.pjcloud.integrated.vo.app.visitor; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -/** - * 车牌号 - * - * @author zjf - * @date 2025-04-09 15:10:54 - */ -@Data - -@Schema(description = "车牌号") -public class VisitorsCarAppVo { - - - private Long id; - - /** - * 车牌号 - */ - @Schema(description="车牌号") - private String carNumber; - - -} \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/controller/VisitorsCarController.java b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/controller/VisitorsCarController.java deleted file mode 100644 index 213948625..000000000 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/controller/VisitorsCarController.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.bsd.pjcloud.integrated.controller; - -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.bsd.pjcloud.common.core.util.R; -import com.bsd.pjcloud.common.log.annotation.SysLog; -import com.bsd.pjcloud.integrated.entity.VisitorsCarEntity; -import com.bsd.pjcloud.integrated.service.VisitorsCarService; -import org.springframework.security.access.prepost.PreAuthorize; -import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; -import io.swagger.v3.oas.annotations.security.SecurityRequirement; -import org.springdoc.core.annotations.ParameterObject; -import org.springframework.http.HttpHeaders; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Operation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Objects; - -/** - * 车牌号 - * - * @author zjf - * @date 2025-04-09 15:10:54 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/visitorsCar" ) -@Tag(description = "visitorsCar" , name = "车牌号管理" ) -@SecurityRequirement(name = HttpHeaders.AUTHORIZATION) -public class VisitorsCarController { - - private final VisitorsCarService visitorsCarService; - - /** - * 分页查询 - * @param page 分页对象 - * @param visitorsCar 车牌号 - * @return - */ - @Operation(summary = "分页查询" , description = "分页查询" ) - @GetMapping("/page" ) - @PreAuthorize("@pms.hasPermission('integrated_visitorsCar_view')" ) - public R getVisitorsCarPage(@ParameterObject Page page, @ParameterObject VisitorsCarEntity visitorsCar) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - return R.ok(visitorsCarService.page(page, wrapper)); - } - - - /** - * 通过id查询车牌号 - * @param id id - * @return R - */ - @Operation(summary = "通过id查询" , description = "通过id查询" ) - @GetMapping("/{id}" ) - @PreAuthorize("@pms.hasPermission('integrated_visitorsCar_view')" ) - public R getById(@PathVariable("id" ) Long id) { - return R.ok(visitorsCarService.getById(id)); - } - - /** - * 新增车牌号 - * @param visitorsCar 车牌号 - * @return R - */ - @Operation(summary = "新增车牌号" , description = "新增车牌号" ) - @SysLog("新增车牌号" ) - @PostMapping - @PreAuthorize("@pms.hasPermission('integrated_visitorsCar_add')" ) - public R save(@RequestBody VisitorsCarEntity visitorsCar) { - return R.ok(visitorsCarService.save(visitorsCar)); - } - - /** - * 修改车牌号 - * @param visitorsCar 车牌号 - * @return R - */ - @Operation(summary = "修改车牌号" , description = "修改车牌号" ) - @SysLog("修改车牌号" ) - @PutMapping - @PreAuthorize("@pms.hasPermission('integrated_visitorsCar_edit')" ) - public R updateById(@RequestBody VisitorsCarEntity visitorsCar) { - return R.ok(visitorsCarService.updateById(visitorsCar)); - } - - /** - * 通过id删除车牌号 - * @param ids id列表 - * @return R - */ - @Operation(summary = "通过id删除车牌号" , description = "通过id删除车牌号" ) - @SysLog("通过id删除车牌号" ) - @DeleteMapping - @PreAuthorize("@pms.hasPermission('integrated_visitorsCar_del')" ) - public R removeById(@RequestBody Long[] ids) { - return R.ok(visitorsCarService.removeBatchByIds(CollUtil.toList(ids))); - } - - - /** - * 导出excel 表格 - * @param visitorsCar 查询条件 - * @param ids 导出指定ID - * @return excel 文件流 - */ - @ResponseExcel - @GetMapping("/export") - @PreAuthorize("@pms.hasPermission('integrated_visitorsCar_export')" ) - public List export(VisitorsCarEntity visitorsCar,Long[] ids) { - return visitorsCarService.list(Wrappers.lambdaQuery(visitorsCar).in(ArrayUtil.isNotEmpty(ids), VisitorsCarEntity::getId, ids)); - } -} \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/controller/VisitorsController.java b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/controller/VisitorsController.java deleted file mode 100644 index b8aa96002..000000000 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/controller/VisitorsController.java +++ /dev/null @@ -1,206 +0,0 @@ -package com.bsd.pjcloud.integrated.controller; - -import cn.hutool.core.util.StrUtil; -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.bsd.pjcloud.common.core.util.BeanUtils; -import com.bsd.pjcloud.common.core.util.R; -import com.bsd.pjcloud.common.idempotent.annotation.Idempotent; -import com.bsd.pjcloud.common.log.annotation.SysLog; -import com.bsd.pjcloud.common.security.annotation.Inner; -import com.bsd.pjcloud.flow.task.constant.TaskCheckStatusEnum; -import com.bsd.pjcloud.integrated.dto.visitors.app.VisitorsAppDTO; -import com.bsd.pjcloud.integrated.entity.VisitorsEntity; -import com.bsd.pjcloud.integrated.service.VisitorsService; -import com.bsd.pjcloud.integrated.vo.app.visitor.VisitorsAppVo; -import org.springframework.security.access.prepost.PreAuthorize; -import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; -import io.swagger.v3.oas.annotations.security.SecurityRequirement; -import org.springdoc.core.annotations.ParameterObject; -import org.springframework.http.HttpHeaders; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Operation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.time.LocalDateTime; -import java.util.List; - -/** - * 访客表 - * - * @author zjf - * @date 2025-04-09 15:22:47 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/visitors" ) -@Tag(description = "visitors" , name = "访客表管理" ) -@SecurityRequirement(name = HttpHeaders.AUTHORIZATION) -public class VisitorsController { - - private final VisitorsService visitorsService; - - /** - * 分页查询 - * @param page 分页对象 - * @param visitors 访客表 - * @return - */ - @Operation(summary = "分页查询" , description = "分页查询" ) - @GetMapping("/page" ) - @PreAuthorize("@pms.hasPermission('integrated_visitors_view')" ) - public R getVisitorsPage(@ParameterObject Page page, @ParameterObject VisitorsEntity visitors) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(StrUtil.isNotBlank(visitors.getName()),VisitorsEntity::getName,visitors.getName()); - wrapper.eq(StrUtil.isNotBlank(visitors.getMobile()),VisitorsEntity::getMobile,visitors.getMobile()); - return R.ok(visitorsService.page(page, wrapper)); - } - - - /** - * 通过id查询访客表 - * @param id id - * @return R - */ - @Operation(summary = "通过id查询" , description = "通过id查询" ) - @GetMapping("/{id}" ) - @PreAuthorize("@pms.hasPermission('integrated_visitors_view')" ) - public R getById(@PathVariable("id" ) Long id) { - return R.ok(visitorsService.getById(id)); - } - - /** - * 新增访客表 - * @param visitors 访客表 - * @return R - */ - @Operation(summary = "新增访客表" , description = "新增访客表" ) - @SysLog("新增访客表" ) - @PostMapping - @PreAuthorize("@pms.hasPermission('integrated_visitors_add')" ) - public R save(@RequestBody VisitorsEntity visitors) { - return R.ok(visitorsService.save(visitors)); - } - - /** - * 修改访客表 - * @param visitors 访客表 - * @return R - */ - @Operation(summary = "修改访客表" , description = "修改访客表" ) - @SysLog("修改访客表" ) - @PutMapping - @PreAuthorize("@pms.hasPermission('integrated_visitors_edit')" ) - public R updateById(@RequestBody VisitorsEntity visitors) { - return R.ok(visitorsService.updateById(visitors)); - } - - /** - * 通过id删除访客表 - * @param ids id列表 - * @return R - */ - @Operation(summary = "通过id删除访客表" , description = "通过id删除访客表" ) - @SysLog("通过id删除访客表" ) - @DeleteMapping - @PreAuthorize("@pms.hasPermission('integrated_visitors_del')" ) - public R removeById(@RequestBody Long[] ids) { - return R.ok(visitorsService.removeBatchByIds(CollUtil.toList(ids))); - } - - - /** - * 导出excel 表格 - * @param visitors 查询条件 - * @param ids 导出指定ID - * @return excel 文件流 - */ - @ResponseExcel - @GetMapping("/export") - @PreAuthorize("@pms.hasPermission('integrated_visitors_export')" ) - public List export(VisitorsEntity visitors,Long[] ids) { - return visitorsService.list(Wrappers.lambdaQuery(visitors).in(ArrayUtil.isNotEmpty(ids), VisitorsEntity::getId, ids)); - } - - - //-----------------------APP---------------------------- - /** - * 新增访客表 - * @param visitors 访客表 - * @return R - */ - @Operation(summary = "app新增访客" , description = "app新增访客" ) - @SysLog("新增访客" ) - @PostMapping("/app/save") - @Idempotent(key = "#mobile", expireTime = 10, info = "请勿重复提交") - @Inner(value = false) - public R saveFK(@RequestBody VisitorsAppDTO visitors) { - return R.ok(visitorsService.vistorsSave(visitors)); - } - - /** - * 根据token查询预约的信息 - * 通过token查询访客表 - * @param - * @return R - */ - @Operation(summary = "通过token查询" , description = "通过token查询" ) - @GetMapping("/app/get/{token}" ) - public R getByToken(@PathVariable("token" ) String token) { - - return R.ok(visitorsService.getByToken(token)); - } - /** - * 扫码发送请求确认是否能通过 - * 通过token查询访客表 - * @param - * @return R - */ - @Operation(summary = "通过token查询" , description = "通过token查询" ) - @GetMapping("/app/check/{token}" ) - public R checkByToken(@PathVariable("token" ) String token) { - - LambdaQueryWrapper visitorsEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); - visitorsEntityLambdaQueryWrapper.eq(VisitorsEntity::getToken,token); - visitorsEntityLambdaQueryWrapper.eq(VisitorsEntity::getCheckStatus, TaskCheckStatusEnum.RESULT); - VisitorsEntity visitors = visitorsService.getOne(visitorsEntityLambdaQueryWrapper); - if (visitors == null){ - return R.failed("没有此预约信息"); - } - LocalDateTime vStartDate = visitors.getVStartDate(); - if (vStartDate.isBefore(LocalDateTime.now())){ - return R.failed("预约时间未到"); - } - LocalDateTime vEndDate = visitors.getVEndDate(); - if (vEndDate.isBefore(LocalDateTime.now())){ - return R.failed("预约已过期"); - } - return R.ok(true); - } - - - /** - * 新增拜访 - * @param visitors 访客表 - * @return R - */ - @Operation(summary = "app新增拜访" , description = "app新增拜访" ) - @SysLog("新增拜访" ) - @PostMapping("/app/saveBF") - @Idempotent(key = "#mobile", expireTime = 10, info = "请勿重复提交") - public R saveBF(@RequestBody VisitorsAppDTO visitors) { - - return R.ok(visitorsService.vistorsBFSave(visitors)); - } - - - @GetMapping("/app/pageBF") - @SysLog("获取我的邀约记录" ) - public R getPageBF(@ParameterObject Page page, @ParameterObject VisitorsEntity visitors) { - return R.ok( visitorsService.getPageBF(page, visitors)); - } -} \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/entity/VisitorsEntity.java b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/entity/VisitorsEntity.java index 1839138d9..4442253de 100644 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/entity/VisitorsEntity.java +++ b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/entity/VisitorsEntity.java @@ -171,4 +171,8 @@ public class VisitorsEntity extends Model { @Schema(description="用户id") private Long userId; + + + @Schema(description="是否随行人员") + private String isOtherPeople; } \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/mapper/VisitorsCarMapper.java b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/mapper/VisitorsCarMapper.java deleted file mode 100644 index dbe373646..000000000 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/mapper/VisitorsCarMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.bsd.pjcloud.integrated.mapper; - -import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; -import com.bsd.pjcloud.integrated.entity.VisitorsCarEntity; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface VisitorsCarMapper extends PjcloudBaseMapper { - - -} \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/mapper/VisitorsMapper.java b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/mapper/VisitorsMapper.java deleted file mode 100644 index affcdc4f9..000000000 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/mapper/VisitorsMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.bsd.pjcloud.integrated.mapper; - -import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; -import com.bsd.pjcloud.integrated.entity.VisitorsEntity; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface VisitorsMapper extends PjcloudBaseMapper { - - -} \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/VisitorsCarService.java b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/VisitorsCarService.java deleted file mode 100644 index 0c0b63542..000000000 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/VisitorsCarService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.bsd.pjcloud.integrated.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.bsd.pjcloud.integrated.entity.VisitorsCarEntity; - -public interface VisitorsCarService extends IService { - -} \ No newline at end of file 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 deleted file mode 100644 index 5c5f13ca2..000000000 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/VisitorsService.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.bsd.pjcloud.integrated.service; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.bsd.pjcloud.integrated.dto.visitors.app.VisitorsAppDTO; -import com.bsd.pjcloud.integrated.entity.VisitorsEntity; -import com.bsd.pjcloud.integrated.vo.app.visitor.VisitorsAppVo; - -public interface VisitorsService extends IService { - - - /** - * 移动端发起访客新增 - * @param visitors - * @return - */ - Object vistorsSave(VisitorsAppDTO visitors); - - - /** - * 根据token查询访客信息 - * @param token - * @return - */ - VisitorsAppVo getByToken(String token); - - - /** - * 移动端发起拜访 - * @param visitors - * @return - */ - Object vistorsBFSave(VisitorsAppDTO visitors); - - - - Object getPageBF(Page page, VisitorsEntity visitors); -} \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsCarServiceImpl.java b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsCarServiceImpl.java deleted file mode 100644 index da426d75b..000000000 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsCarServiceImpl.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.bsd.pjcloud.integrated.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.bsd.pjcloud.integrated.entity.VisitorsCarEntity; -import com.bsd.pjcloud.integrated.mapper.VisitorsCarMapper; -import com.bsd.pjcloud.integrated.service.VisitorsCarService; -import org.springframework.stereotype.Service; -/** - * 车牌号 - * - * @author zjf - * @date 2025-04-09 15:10:54 - */ -@Service -public class VisitorsCarServiceImpl extends ServiceImpl implements VisitorsCarService { -} \ 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 deleted file mode 100644 index c13f2bbda..000000000 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java +++ /dev/null @@ -1,160 +0,0 @@ -package com.bsd.pjcloud.integrated.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.bsd.pjcloud.admin.api.feign.RemoteUserService; -import com.bsd.pjcloud.common.core.exception.ServiceException; -import com.bsd.pjcloud.common.core.util.BeanUtils; -import com.bsd.pjcloud.common.core.util.R; -import com.bsd.pjcloud.common.data.datascope.DataScope; -import com.bsd.pjcloud.common.security.util.SecurityUtils; -import com.bsd.pjcloud.flow.task.api.feign.RemoteFlowApiFlowService; -import com.bsd.pjcloud.flow.task.constant.TaskCheckStatusEnum; -import com.bsd.pjcloud.flow.task.dto.ProcessInstanceParamDto; -import com.bsd.pjcloud.flow.task.entity.Process; -import com.bsd.pjcloud.integrated.constant.IntegratedFlowConstant; -import com.bsd.pjcloud.integrated.constant.VisitorTypeEnum; -import com.bsd.pjcloud.integrated.dto.visitors.app.VisitorsAppDTO; -import com.bsd.pjcloud.integrated.dto.visitors.app.VisitorsCarAppDTO; -import com.bsd.pjcloud.integrated.entity.VisitorsCarEntity; -import com.bsd.pjcloud.integrated.entity.VisitorsEntity; -import com.bsd.pjcloud.integrated.mapper.VisitorsCarMapper; -import com.bsd.pjcloud.integrated.mapper.VisitorsMapper; -import com.bsd.pjcloud.integrated.service.VisitorsService; -import com.bsd.pjcloud.integrated.vo.app.visitor.VisitorsAppVo; -import com.bsd.pjcloud.integrated.vo.app.visitor.VisitorsCarAppVo; -import lombok.AllArgsConstructor; -import org.springframework.security.oauth2.jwt.Jwt; -import org.springframework.security.oauth2.jwt.JwtClaimsSet; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; - -import java.time.LocalDateTime; -import java.util.List; -import java.util.UUID; - -/** - * 访客表 - * - * @author zjf - * @date 2025-04-09 15:22:47 - */ -@Service -@AllArgsConstructor -public class VisitorsServiceImpl extends ServiceImpl implements VisitorsService { - - private final VisitorsCarMapper visitorsCarMapper; - - private final RemoteUserService remoteUserService; - - private final RemoteFlowApiFlowService remoteFlowApiFlowService; - @Override - @Transactional - public Object vistorsSave(VisitorsAppDTO visitors) { - //发起流程 - R processR = remoteFlowApiFlowService.getProcessByBusinessKey(IntegratedFlowConstant.INTEGRATED_VISITOR); - if (!processR.isOk() || processR.getData() == null) { - throw new ServiceException("流程配置获取失败: " + processR.getMsg()); - } - String flowId = processR.getData().getFlowId(); - ProcessInstanceParamDto processInstanceParamDto = new ProcessInstanceParamDto(); - processInstanceParamDto.setFlowId(flowId); - R stringR = remoteFlowApiFlowService.startProcessInstance(processInstanceParamDto); - if (!stringR.isOk() || stringR.getData() == null) { - throw new ServiceException("流程实例启动失败: " + stringR.getMsg()); - } - String processInstanceId = stringR.getData(); - - VisitorsEntity bean = BeanUtils.toBean(visitors, VisitorsEntity.class); - bean.setType(VisitorTypeEnum.FKSQ.getType()); - bean.setProcessInstanceId(processInstanceId); - bean.setCheckStatus(TaskCheckStatusEnum.PADDING.getCode()); - - String uniqueToken = UUID.randomUUID().toString(); - String token = uniqueToken.replace("-", ""); - bean.setToken(token); - int insert = baseMapper.insert(bean); - List visitorsCarAppDTOList = visitors.getVisitorsCarAppDTOList(); - if (!CollectionUtils.isEmpty(visitorsCarAppDTOList)){ - List visitorsCarEntities = BeanUtils.toBean(visitorsCarAppDTOList, VisitorsCarEntity.class); - visitorsCarEntities.forEach(i->{ - i.setVisitorsId(bean.getId()); - }); - visitorsCarMapper.insert(visitorsCarEntities); - } -// VisitorsAppVo visitorAppVo = BeanUtils.toBean(bean, VisitorsAppVo.class); -// List visitorsCarAppVos = BeanUtils.toBean(visitorsCarAppDTOList, VisitorsCarAppVo.class); -// visitorAppVo.setVisitorsCarAppVos(visitorsCarAppVos); - return insert; - } - - @Override - public VisitorsAppVo getByToken(String token) { - LambdaQueryWrapper visitorsEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); - visitorsEntityLambdaQueryWrapper.eq(VisitorsEntity::getToken,token); - VisitorsEntity visitors = baseMapper.selectOne(visitorsEntityLambdaQueryWrapper); - VisitorsAppVo bean = BeanUtils.toBean(visitors, VisitorsAppVo.class); - List visitorsCarEntities = - visitorsCarMapper.selectList(new LambdaQueryWrapper().eq(VisitorsCarEntity::getVisitorsId, visitors.getId())); - List visitorsCarAppVos = BeanUtils.toBean(visitorsCarEntities, VisitorsCarAppVo.class); - bean.setVisitorsCarAppVos(visitorsCarAppVos); - return bean; - } - - @Override - public Object vistorsBFSave(VisitorsAppDTO visitors) { - //发起流程 - R processR = remoteFlowApiFlowService.getProcessByBusinessKey(IntegratedFlowConstant.INTEGRATED_VISITOR); - if (!processR.isOk() || processR.getData() == null) { - throw new ServiceException("流程配置获取失败: " + processR.getMsg()); - } - String flowId = processR.getData().getFlowId(); - ProcessInstanceParamDto processInstanceParamDto = new ProcessInstanceParamDto(); - processInstanceParamDto.setFlowId(flowId); - R stringR = remoteFlowApiFlowService.startProcessInstance(processInstanceParamDto); - if (!stringR.isOk() || stringR.getData() == null) { - throw new ServiceException("流程实例启动失败: " + stringR.getMsg()); - } - String processInstanceId = stringR.getData(); - Long deptId = SecurityUtils.getUser().getDeptId(); - VisitorsEntity bean = BeanUtils.toBean(visitors, VisitorsEntity.class); - bean.setType(VisitorTypeEnum.ZDYQ.getType()); - bean.setProcessInstanceId(processInstanceId); - bean.setDeptId(deptId); - bean.setCheckStatus(TaskCheckStatusEnum.PADDING.getCode()); - - String uniqueToken = UUID.randomUUID().toString(); - String token = uniqueToken.replace("-", ""); - bean.setToken(token); - int insert = baseMapper.insert(bean); - List visitorsCarAppDTOList = visitors.getVisitorsCarAppDTOList(); - if (!CollectionUtils.isEmpty(visitorsCarAppDTOList)){ - List visitorsCarEntities = BeanUtils.toBean(visitorsCarAppDTOList, VisitorsCarEntity.class); - visitorsCarEntities.forEach(i->{ - i.setVisitorsId(bean.getId()); - }); - visitorsCarMapper.insert(visitorsCarEntities); - } - return insert; - } - - @Override - public Object getPageBF(Page page, VisitorsEntity visitors) { - Long userId = SecurityUtils.getUser().getId(); - - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(VisitorsEntity::getUserId, userId); - Page pageData = baseMapper.selectPageByScope(page, wrapper, DataScope.of()); - - //todo - pageData.getRecords().forEach(i->{ - }); - - - return pageData; - } - - -} \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/resources/mapper/VisitorsCarMapper.xml b/pjcloud-integrated/pjcloud-integrated-biz/src/main/resources/mapper/VisitorsCarMapper.xml deleted file mode 100644 index ddb88483c..000000000 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/resources/mapper/VisitorsCarMapper.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/resources/mapper/VisitorsMapper.xml b/pjcloud-integrated/pjcloud-integrated-biz/src/main/resources/mapper/VisitorsMapper.xml deleted file mode 100644 index 60215c249..000000000 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/resources/mapper/VisitorsMapper.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/resources/application.yml b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/resources/application.yml index 31c8fbc8a..695a11e42 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/resources/application.yml +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/resources/application.yml @@ -102,7 +102,7 @@ sms: templates: 20657: # 验证码模板 - content: "您好,您的验证码是{code},有效时间{s1}分钟,请勿转发!" + content: "您好,您的验证码是{code},有效时间{date}分钟,请勿转发!" params: ["code", "date"] 20658: content: "您的访客预约申请已通过,请通过地址{url}查看详情!" diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/logback-spring.xml b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/logback-spring.xml index 0cd6c2983..be47d48e2 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/logback-spring.xml +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/logback-spring.xml @@ -66,5 +66,6 @@ +