From cf336c67e4c5b8511ccdb6008a0b7e8eb58f04c3 Mon Sep 17 00:00:00 2001 From: zc Date: Wed, 2 Jul 2025 10:53:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B4=E5=AE=89=E5=85=BC=E5=AE=B9=E8=80=81?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/controller/TokenController.java | 27 +++--- dcsoft-auth/src/main/resources/bootstrap.yml | 2 + .../src/main/resources/bootstrap.yml | 2 + .../src/main/resources/bootstrap.yml | 2 + .../visitor/controller/VisitorController.java | 82 +++++++++++++++++-- .../system/visitor/mapper/VisitorMapper.java | 4 + .../visitor/service/IVisitorService.java | 4 + .../service/impl/VisitorServiceImpl.java | 13 +++ .../src/main/resources/bootstrap.yml | 2 + .../mapper/system/visitor/VisitorMapper.xml | 12 +++ 10 files changed, 131 insertions(+), 19 deletions(-) diff --git a/dcsoft-auth/src/main/java/com/dcsoft/auth/controller/TokenController.java b/dcsoft-auth/src/main/java/com/dcsoft/auth/controller/TokenController.java index 585084e..f4539af 100644 --- a/dcsoft-auth/src/main/java/com/dcsoft/auth/controller/TokenController.java +++ b/dcsoft-auth/src/main/java/com/dcsoft/auth/controller/TokenController.java @@ -57,8 +57,8 @@ public class TokenController // 用户登录 if ("weixin".equals(form.getFlag())) { //微信登录openid必传,phone必传 - String s = RsaUiUtils.decryptByPrivateKey(form.getOpenid()); - form.setOpenid(s); +// String s = RsaUiUtils.decryptByPrivateKey(form.getOpenid()); +// form.setOpenid(s); R userInfos = sysLoginService.getWxUserInfo(form); userInfo = userInfos.getData(); if (ObjectUtil.isEmpty(userInfo) || ObjectUtil.isEmpty(userInfo.getSysUser())) { @@ -67,25 +67,26 @@ public class TokenController userInfo = sysLoginService.appRegister(registerBody); } } else if ("app".equals(form.getFlag())) { - String str = RsaUiUtils.decryptByPrivateKey(form.getEncrypt()); - JSONObject jsonObject = JSONObject.parseObject(str); - userInfo = sysLoginService.login(jsonObject.getString("username"), jsonObject.getString("password")); +// String str = RsaUiUtils.decryptByPrivateKey(form.getEncrypt()); +// JSONObject jsonObject = JSONObject.parseObject(str); +// userInfo = sysLoginService.login(jsonObject.getString("username"), jsonObject.getString("password")); + userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); //保存用户openid if (StringUtils.isNotEmpty(form.getOpenid())) { - String s = RsaUiUtils.decryptByPrivateKey(form.getOpenid()); - form.setOpenid(s); +// String s = RsaUiUtils.decryptByPrivateKey(form.getOpenid()); +// form.setOpenid(s); sysLoginService.updateOpenId(userInfo, form); } } else if ("sms".equals(form.getFlag())) { //短信登录openid,phone,smsCode必传(openid不能使用,存在他人手机号登录别人账号场景) - String s = RsaUiUtils.decryptByPrivateKey(form.getSmsCode()); - form.setSmsCode(s); +// String s = RsaUiUtils.decryptByPrivateKey(form.getSmsCode()); +// form.setSmsCode(s); userInfo = sysLoginService.Smslogin(form); } else { - String s = RsaUiUtils.decryptByPrivateKey(form.getEncrypt()); - JSONObject jsonObject = JSONObject.parseObject(s); - userInfo = sysLoginService.login(jsonObject.getString("username"), jsonObject.getString("password")); -// userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); +// String s = RsaUiUtils.decryptByPrivateKey(form.getEncrypt()); +// JSONObject jsonObject = JSONObject.parseObject(s); +// userInfo = sysLoginService.login(jsonObject.getString("username"), jsonObject.getString("password")); + userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); } // 获取登录token return R.ok(tokenService.createToken(userInfo)); diff --git a/dcsoft-auth/src/main/resources/bootstrap.yml b/dcsoft-auth/src/main/resources/bootstrap.yml index 5d27380..48a5d5a 100644 --- a/dcsoft-auth/src/main/resources/bootstrap.yml +++ b/dcsoft-auth/src/main/resources/bootstrap.yml @@ -15,9 +15,11 @@ spring: discovery: # 服务注册地址 server-addr: 127.0.0.1:8848 +# namespace: xa config: # 配置中心地址 server-addr: 127.0.0.1:8848 +# namespace: xa # 配置文件格式 file-extension: yml # 共享配置 diff --git a/dcsoft-gateway/src/main/resources/bootstrap.yml b/dcsoft-gateway/src/main/resources/bootstrap.yml index 355dfdc..822e1e6 100644 --- a/dcsoft-gateway/src/main/resources/bootstrap.yml +++ b/dcsoft-gateway/src/main/resources/bootstrap.yml @@ -15,9 +15,11 @@ spring: discovery: # 服务注册地址 server-addr: 127.0.0.1:8848 +# namespace: xa config: # 配置中心地址 server-addr: 127.0.0.1:8848 +# namespace: xa # 配置文件格式 file-extension: yml # 共享配置 diff --git a/dcsoft-modules/dcsoft-file/src/main/resources/bootstrap.yml b/dcsoft-modules/dcsoft-file/src/main/resources/bootstrap.yml index 9cedd79..08cf341 100644 --- a/dcsoft-modules/dcsoft-file/src/main/resources/bootstrap.yml +++ b/dcsoft-modules/dcsoft-file/src/main/resources/bootstrap.yml @@ -19,9 +19,11 @@ spring: discovery: # 服务注册地址 server-addr: 127.0.0.1:8848 +# namespace: xa config: # 配置中心地址 server-addr: 127.0.0.1:8848 +# namespace: xa # 配置文件格式 file-extension: yml # 共享配置 diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisitorController.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisitorController.java index 52f7af9..18178cb 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisitorController.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisitorController.java @@ -418,6 +418,72 @@ public class VisitorController extends BaseController { throw new ServiceException("您输入的开始时间不能大于结束时间"); } + if (visitorService.queryVisitorByIdCountOld(visitor.getPhone()) > 0) { + throw new ServiceException("该手机号已存在访客预约信息"); + } + + if (visitorService.queryVisitor(visitor) > 0) { + throw new ServiceException("您已预约"); + } + + // 校验图片 +// checkPhoto(visitor.getAvatar(), visitor.getName()); + + log.info("新增访客信息:{}", visitor); + int i = visitorService.insertVisitor(visitor); + List itemList = visitor.getItemList(); + // 随访人员 + if (!CollectionUtils.isEmpty(itemList)) { + for (Visitor item : itemList) { + if (!validatePhoneNumber(item.getPhone())) { + throw new ServiceException("您输入的随访人员手机号格式不正确"); + } + // 校验图片 +// checkPhoto(item.getAvatar(), item.getName()); + item.setParentId(visitor.getId()); + item.setSource(Constants.ONE); + item.setUserId(visitor.getUserId()); + item.setDeptId(visitor.getDeptId()); + item.setCreateTime(visitor.getCreateTime()); + item.setStartTime(visitor.getStartTime()); + item.setEndTime(visitor.getEndTime()); + visitorService.insertVisitor(item); + } + } + + // 保存附件 + if(!CollectionUtils.isEmpty(visitor.getFileList())) { + saveSysFile(visitor.getFileList(), String.valueOf(visitor.getId())); + } + + // 审核通知企微发送消息(小程序来源) + String appletLink = getAppletLink(String.valueOf(visitor.getId()), "pages/visitor/visitor/examineIndex"); + SysPeople sysPeople = sysPeopleService.selectSysPeopleByUserId(visitor.getUserId()); + log.info("审核通知链接:{}", appletLink); + sendWeCom(sysPeople.getPhone(), appletLink + " --访客姓名:" + visitor.getName()); + + // 访客审核 + SysBranch sysBranch = sysBranchService.selectSysBranchById(visitor.getDeptId()); + if(sysBranch != null && Constants.ZERO.equals(sysBranch.getIsExamine())) { + VisVisitorExamine examine = new VisVisitorExamine(); + examine.setExamine(Constants.ZERO); + visitor.setExamine(examine); + updateVisitorExamine(visitor); + } + return toAjax(i); + } + + /** + * 新增访客信息 + */ + @Log(title = "访客信息", businessType = BusinessType.INSERT) + @PostMapping("/app/add") + @Transactional + public AjaxResult appAdd(@RequestBody Visitor visitor) throws Exception { + if (visitor.getStartTime().getTime() > visitor.getEndTime().getTime()) { + throw new ServiceException("您输入的开始时间不能大于结束时间"); + } + //判断访客和随访人是否存在预约过的信息 List phones = new ArrayList<>(); List idcards = new ArrayList<>(); @@ -1072,14 +1138,18 @@ public class VisitorController extends BaseController { // 1保存审核环节 if(Constants.ZERO.equals(examine.getExamine())) { // 1.1保存安环部审核人 - visitor.setType("7529"); - visitor.setReviewer(visitor.getReviewer3()); - visitorService.saveVisitorReviewProcess(visitor); + Visitor visitor1 = new Visitor(); + visitor1.setId(visitor.getId()); + visitor1.setType("7529"); + visitor1.setReviewer(visitor.getReviewer3()); + visitorService.saveVisitorReviewProcess(visitor1); // 1.2保存设备部审核人 - visitor.setType("8121"); - visitor.setReviewer(visitor.getReviewer2()); - visitorService.saveVisitorReviewProcess(visitor); + Visitor visitor2 = new Visitor(); + visitor2.setId(visitor.getId()); + visitor2.setType("8121"); + visitor2.setReviewer(visitor.getReviewer2()); + visitorService.saveVisitorReviewProcess(visitor2); visitor.setType(null); visitorService.updateVisitor(visitor); SysPeople people = sysPeopleService.selectSysPeopleById(Long.valueOf(visitor.getReviewer2())); diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisitorMapper.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisitorMapper.java index fa82ef3..c6d9e8a 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisitorMapper.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisitorMapper.java @@ -245,4 +245,8 @@ public interface VisitorMapper String selectRecordsByPhone(Long id, String telephone); void saveVisitorReviewProcessList(@Param("list") List list); + + int queryVisitor(Visitor visitor); + + int queryVisitorByIdCountOld(String phone); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisitorService.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisitorService.java index 1201f7f..c0c2044 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisitorService.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisitorService.java @@ -257,4 +257,8 @@ public interface IVisitorService String selectRecordsByPhone(Long id, String telephone); void saveVisitorReviewProcessList(List list); + + int queryVisitor(Visitor visitor); + + int queryVisitorByIdCountOld(String phone); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisitorServiceImpl.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisitorServiceImpl.java index 55bd31b..23270b6 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisitorServiceImpl.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisitorServiceImpl.java @@ -778,4 +778,17 @@ public class VisitorServiceImpl implements IVisitorService { public void saveVisitorReviewProcessList(List list) { visitorMapper.saveVisitorReviewProcessList(list); } + + /** + * 查询访客预约数 + */ + @Override + public int queryVisitor(Visitor visitor) { + return visitorMapper.queryVisitor(visitor); + } + + @Override + public int queryVisitorByIdCountOld(String phone) { + return visitorMapper.queryVisitorByIdCountOld(phone); + } } diff --git a/dcsoft-modules/dcsoft-system/src/main/resources/bootstrap.yml b/dcsoft-modules/dcsoft-system/src/main/resources/bootstrap.yml index e2f3528..5f02863 100644 --- a/dcsoft-modules/dcsoft-system/src/main/resources/bootstrap.yml +++ b/dcsoft-modules/dcsoft-system/src/main/resources/bootstrap.yml @@ -15,9 +15,11 @@ spring: discovery: # 服务注册地址 server-addr: 127.0.0.1:8848 +# namespace: xa config: # 配置中心地址 server-addr: 127.0.0.1:8848 +# namespace: xa # 配置文件格式 file-extension: yml # 共享配置 diff --git a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/visitor/VisitorMapper.xml b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/visitor/VisitorMapper.xml index c70756d..db5787c 100644 --- a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/visitor/VisitorMapper.xml +++ b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/visitor/VisitorMapper.xml @@ -1002,4 +1002,16 @@ AND p.phone = #{telephone} ORDER BY r.created_time desc LIMIT 1 + +