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 new file mode 100644 index 00000000..75d03d88 --- /dev/null +++ b/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/dto/visitors/app/VisitorsAppDTO.java @@ -0,0 +1,93 @@ +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 Long userName; + + /** + * 车牌号id + */ + @Schema(description="车牌号id") + private Long carId; + + /** + * 公司名称 + */ + @Schema(description="公司名称") + private String companyName; + + /** + * 随行人员数量 + */ + @Schema(description="随行人员数量") + private Integer peopleNumber; + + /** + * 到访时间 + */ + @Schema(description="到访时间") + private LocalDateTime vDate; + + /** + * 是否驾驶车辆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 new file mode 100644 index 00000000..ac1a1379 --- /dev/null +++ b/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/dto/visitors/app/VisitorsCarAppDTO.java @@ -0,0 +1,28 @@ +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-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 index 27579573..27ea8935 100644 --- 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 @@ -8,6 +8,7 @@ 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.dto.visitors.app.VisitorsAppDTO; import com.bsd.pjcloud.integrated.entity.VisitorsEntity; import com.bsd.pjcloud.integrated.service.VisitorsService; import org.springframework.security.access.prepost.PreAuthorize; @@ -21,7 +22,6 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; -import java.util.Objects; /** * 访客表 @@ -119,4 +119,19 @@ public class VisitorsController { 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 + public R save(@RequestBody VisitorsAppDTO visitors) { + + return R.ok(visitorsService.vistorsSave(visitors)); + } } \ 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 index 2aad8b68..b00b6756 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 @@ -1,8 +1,16 @@ package com.bsd.pjcloud.integrated.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.bsd.pjcloud.integrated.dto.visitors.app.VisitorsAppDTO; import com.bsd.pjcloud.integrated.entity.VisitorsEntity; public interface VisitorsService extends IService { + + /** + * 移动端发起访客新增 + * @param visitors + * @return + */ + Object vistorsSave(VisitorsAppDTO visitors); } \ 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 0b404d9d..4e930eaa 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,10 +1,20 @@ package com.bsd.pjcloud.integrated.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bsd.pjcloud.common.core.util.BeanUtils; +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 lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; + /** * 访客表 * @@ -12,5 +22,21 @@ import org.springframework.stereotype.Service; * @date 2025-04-09 15:22:47 */ @Service +@AllArgsConstructor public class VisitorsServiceImpl extends ServiceImpl implements VisitorsService { + + private final VisitorsCarMapper visitorsCarMapper; + @Override + public Object vistorsSave(VisitorsAppDTO visitors) { + VisitorsEntity bean = BeanUtils.toBean(visitors, VisitorsEntity.class); + 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 null; + } } \ No newline at end of file diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysRoleController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysRoleController.java index eb52e7b8..245c66b1 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysRoleController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysRoleController.java @@ -37,6 +37,7 @@ import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.annotation.HasPermission; import com.bsd.pjcloud.common.security.annotation.Inner; +import com.bsd.pjcloud.common.security.util.SecurityUtils; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; @@ -140,10 +141,12 @@ public class SysRoleController { @GetMapping("/isMchUser") public R isMchUser() { + List roleIds = SecurityUtils.getRoleIds(); List list = sysRoleService.list(Wrappers.lambdaQuery().eq(SysRole::getRoleCode, "MCH_USER")); - if (CollectionUtils.isEmpty(list)){ + if (CollectionUtils.isEmpty(list) || CollUtil.isEmpty(roleIds) || !roleIds.contains(list.get(0).getRoleId())){ return R.ok(false); } + return R.ok(true); } /**