访客
This commit is contained in:
1 parent
69f5f948ca
commit
de652cce5f
7 files changed
+172
-14
No files matched your search
+22
@@ -0,0 +1,22 @@
|
||||
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;
|
||||
|
||||
|
||||
|
||||
}
|
||||
+40
-6
@@ -6,6 +6,7 @@ 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;
|
||||
@@ -14,6 +15,7 @@ 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;
|
||||
@@ -131,16 +133,27 @@ public class VisitorsController {
|
||||
* @param visitors 访客表
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "app新增访客表" , description = "app新增访客表" )
|
||||
@SysLog("新增访客表" )
|
||||
@Operation(summary = "app新增访客" , description = "app新增访客" )
|
||||
@SysLog("新增访客" )
|
||||
@PostMapping("/app/save")
|
||||
@Idempotent(key = "#", expireTime = 10, info = "请勿重复提交")
|
||||
@Idempotent(key = "#mobile", expireTime = 10, info = "请勿重复提交")
|
||||
@Inner(value = false)
|
||||
public R save(@RequestBody VisitorsAppDTO visitors) {
|
||||
|
||||
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<VisitorsAppVo> getByToken(@PathVariable("token" ) String token) {
|
||||
|
||||
return R.ok(visitorsService.getByToken(token));
|
||||
}
|
||||
/**
|
||||
* 扫码发送请求确认是否能通过
|
||||
* 通过token查询访客表
|
||||
@@ -149,7 +162,7 @@ public class VisitorsController {
|
||||
*/
|
||||
@Operation(summary = "通过token查询" , description = "通过token查询" )
|
||||
@GetMapping("/app/check/{token}" )
|
||||
public R getByToken(@PathVariable("token" ) String token) {
|
||||
public R checkByToken(@PathVariable("token" ) String token) {
|
||||
|
||||
LambdaQueryWrapper<VisitorsEntity> visitorsEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
visitorsEntityLambdaQueryWrapper.eq(VisitorsEntity::getToken,token);
|
||||
@@ -169,4 +182,25 @@ public class VisitorsController {
|
||||
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));
|
||||
}
|
||||
}
|
||||
+8
@@ -163,4 +163,12 @@ public class VisitorsEntity extends Model<VisitorsEntity> {
|
||||
|
||||
@Schema(description="token")
|
||||
private String token;
|
||||
|
||||
|
||||
@Schema(description="1 主动申请,2邀约,3 后台创建")
|
||||
private String type;
|
||||
|
||||
|
||||
@Schema(description="用户id")
|
||||
private Long userId;
|
||||
}
|
||||
+22
@@ -1,8 +1,10 @@
|
||||
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<VisitorsEntity> {
|
||||
|
||||
@@ -13,4 +15,24 @@ public interface VisitorsService extends IService<VisitorsEntity> {
|
||||
* @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);
|
||||
}
|
||||
+76
-6
@@ -1,15 +1,20 @@
|
||||
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;
|
||||
@@ -48,7 +53,6 @@ public class VisitorsServiceImpl extends ServiceImpl<VisitorsMapper, VisitorsEnt
|
||||
@Override
|
||||
@Transactional
|
||||
public Object vistorsSave(VisitorsAppDTO visitors) {
|
||||
|
||||
//发起流程
|
||||
R<Process> processR = remoteFlowApiFlowService.getProcessByBusinessKey(IntegratedFlowConstant.INTEGRATED_VISITOR);
|
||||
if (!processR.isOk() || processR.getData() == null) {
|
||||
@@ -64,13 +68,14 @@ public class VisitorsServiceImpl extends ServiceImpl<VisitorsMapper, VisitorsEnt
|
||||
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);
|
||||
baseMapper.insert(bean);
|
||||
int insert = baseMapper.insert(bean);
|
||||
List<VisitorsCarAppDTO> visitorsCarAppDTOList = visitors.getVisitorsCarAppDTOList();
|
||||
if (!CollectionUtils.isEmpty(visitorsCarAppDTOList)){
|
||||
List<VisitorsCarEntity> visitorsCarEntities = BeanUtils.toBean(visitorsCarAppDTOList, VisitorsCarEntity.class);
|
||||
@@ -79,10 +84,75 @@ public class VisitorsServiceImpl extends ServiceImpl<VisitorsMapper, VisitorsEnt
|
||||
});
|
||||
visitorsCarMapper.insert(visitorsCarEntities);
|
||||
}
|
||||
VisitorsAppVo visitorAppVo = BeanUtils.toBean(bean, VisitorsAppVo.class);
|
||||
List<VisitorsCarAppVo> visitorsCarAppVos = BeanUtils.toBean(visitorsCarAppDTOList, VisitorsCarAppVo.class);
|
||||
visitorAppVo.setVisitorsCarAppVos(visitorsCarAppVos);
|
||||
return visitorAppVo;
|
||||
// VisitorsAppVo visitorAppVo = BeanUtils.toBean(bean, VisitorsAppVo.class);
|
||||
// List<VisitorsCarAppVo> visitorsCarAppVos = BeanUtils.toBean(visitorsCarAppDTOList, VisitorsCarAppVo.class);
|
||||
// visitorAppVo.setVisitorsCarAppVos(visitorsCarAppVos);
|
||||
return insert;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VisitorsAppVo getByToken(String token) {
|
||||
LambdaQueryWrapper<VisitorsEntity> visitorsEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
visitorsEntityLambdaQueryWrapper.eq(VisitorsEntity::getToken,token);
|
||||
VisitorsEntity visitors = baseMapper.selectOne(visitorsEntityLambdaQueryWrapper);
|
||||
VisitorsAppVo bean = BeanUtils.toBean(visitors, VisitorsAppVo.class);
|
||||
List<VisitorsCarEntity> visitorsCarEntities =
|
||||
visitorsCarMapper.selectList(new LambdaQueryWrapper<VisitorsCarEntity>().eq(VisitorsCarEntity::getVisitorsId, visitors.getId()));
|
||||
List<VisitorsCarAppVo> visitorsCarAppVos = BeanUtils.toBean(visitorsCarEntities, VisitorsCarAppVo.class);
|
||||
bean.setVisitorsCarAppVos(visitorsCarAppVos);
|
||||
return bean;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object vistorsBFSave(VisitorsAppDTO visitors) {
|
||||
//发起流程
|
||||
R<Process> 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<String> 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<VisitorsCarAppDTO> visitorsCarAppDTOList = visitors.getVisitorsCarAppDTOList();
|
||||
if (!CollectionUtils.isEmpty(visitorsCarAppDTOList)){
|
||||
List<VisitorsCarEntity> 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<VisitorsEntity> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(VisitorsEntity::getUserId, userId);
|
||||
Page pageData = baseMapper.selectPageByScope(page, wrapper, DataScope.of());
|
||||
|
||||
pageData.getRecords().forEach(i->{
|
||||
});
|
||||
|
||||
|
||||
return pageData;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -27,5 +27,7 @@
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="tenantId" column="tenant_id"/>
|
||||
<result property="token" column="token"/>
|
||||
<result property="type" column="type"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
</resultMap>
|
||||
</mapper>
|
||||
+2
-2
@@ -15,13 +15,13 @@ public class SmsController {
|
||||
private final SmsService smsService;
|
||||
|
||||
// 简单发送
|
||||
@PostMapping("/verify-code")
|
||||
@PostMapping("/sendMsg")
|
||||
public void sendVerifyCode(@RequestParam String mobile) {
|
||||
smsService.sendSms(mobile, "20657");
|
||||
}
|
||||
|
||||
// 带参数发送
|
||||
@PostMapping("/order-notify")
|
||||
@PostMapping("/sendMsgParams")
|
||||
@Inner(value = false)
|
||||
public void sendOrderNotify(
|
||||
@RequestParam String mobile,
|
||||
|
||||
Reference in new issue
Block a user