瀏覽代碼

更新!

TRX 1 年之前
父節點
當前提交
46b81e0714

+ 12 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/VisitorMainSearch.java

@@ -21,6 +21,9 @@ public class VisitorMainSearch extends SuperSearch {
     @Schema(description = "状态")
     private VisitorState state;
 
+    @Schema(description = "最终状态")
+    private List<VisitorState> finalStates;
+
     //-----------------------被访人 start--------------------------
     @Schema(description = "被访人,也是审核人的用户userId")
     private String visitorUserId;
@@ -70,4 +73,13 @@ public class VisitorMainSearch extends SuperSearch {
 
     @Schema(description = "关联用户信息是否脱敏显示")
     private Boolean isDesen;
+
+    @Schema(description = "到访开始时间")
+    private Long visitorStartTime;
+
+    @Schema(description = "到访结束时间")
+    private Long visitorEndTime;
+
+    @Schema(description = "是否是超时离开")
+    private Boolean isOverTimeLeave;
 }

+ 2 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/visitor/VisitorState.java

@@ -11,6 +11,8 @@ public enum VisitorState {
     Visit("已到访"),
     Refuse("已拒绝"),
     Cancel("已失效"),
+    Leave("已签离"),
+    LeaveOutTime("超时签离"),
     ;
 
     @Getter

+ 1 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/visitor/VisitorMainController.java

@@ -63,6 +63,7 @@ public class VisitorMainController {
     @RequestMapping(value = {"myReViewPage"}, method = {RequestMethod.POST})
     public ResultContent<Page<VisitorMainModel>> myReViewPage(@Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable, @Parameter(required = false) VisitorMainSearch param) {
         Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        // 被访人为当前用户
         String visitorUserId = "";
         if (authHelper.getCurrentUser() != null) {
             visitorUserId = authHelper.getCurrentUser().getUserId();

+ 18 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/visitor/impl/VisitorMainDaoImpl.java

@@ -5,6 +5,7 @@ import com.zhongshu.card.client.model.visitor.VisitorMainSearch;
 import com.zhongshu.card.server.core.dao.BaseImpl;
 import com.zhongshu.card.server.core.dao.visitor.extend.VisitorMainDaoExtend;
 import com.zhongshu.card.server.core.domain.visitor.VisitorMain;
+import com.zhongshu.card.server.core.util.CommonUtil;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -70,6 +71,10 @@ public class VisitorMainDaoImpl extends BaseImpl implements VisitorMainDaoExtend
             criteria.and("state").is(param.getState());
         }
 
+        if (ObjectUtils.isNotEmpty(param.getFinalStates())) {
+            criteria.and("finalState").in(param.getFinalStates());
+        }
+
         if (StringUtils.isNotEmpty(param.getVisitorUserId())) {
             criteria.and("visitorUserId").is(param.getVisitorUserId());
         }
@@ -90,6 +95,10 @@ public class VisitorMainDaoImpl extends BaseImpl implements VisitorMainDaoExtend
             criteria.and("isLeave").is(param.getIsLeave());
         }
 
+        if (param.getIsOverTimeLeave() != null) {
+            criteria.and("isOverTimeLeave").is(param.getIsOverTimeLeave());
+        }
+
         if (StringUtils.isNotEmpty(param.getApplyUserId())) {
             criteria.and("applyUserId").is(param.getApplyUserId());
         }
@@ -110,6 +119,15 @@ public class VisitorMainDaoImpl extends BaseImpl implements VisitorMainDaoExtend
             criteria.and("reViewSuccess").is(param.getReViewSuccess());
         }
 
+        // 到访时间
+        if (!CommonUtil.longIsEmpty(param.getVisitorStartTime()) && !CommonUtil.longIsEmpty(param.getVisitorEndTime())) {
+            criteria.and("startTime").gte(param.getVisitorStartTime()).lte(param.getVisitorEndTime());
+        } else if (!CommonUtil.longIsEmpty(param.getVisitorStartTime()) && CommonUtil.longIsEmpty(param.getVisitorEndTime())) {
+            criteria.and("startTime").gte(param.getVisitorStartTime());
+        } else if (CommonUtil.longIsEmpty(param.getVisitorStartTime()) && !CommonUtil.longIsEmpty(param.getVisitorEndTime())) {
+            criteria.and("startTime").lte(param.getVisitorEndTime());
+        }
+
         // 模糊搜索
         List<Criteria> criterias = new ArrayList<>();
         if (StringUtils.isNotEmpty(param.getName())) {

+ 3 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/visitor/VisitorMain.java

@@ -39,6 +39,9 @@ public class VisitorMain extends SuperMain {
     @Schema(description = "状态")
     private VisitorState state;
 
+    @Schema(description = "最终状态")
+    private VisitorState finalState;
+
     @Schema(description = "申请方式")
     private VisitorApplyType applyType;
 

+ 6 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/tip/TipInfoService.java

@@ -132,6 +132,12 @@ public class TipInfoService extends SuperService {
         return markUserAllRead(getCurrentUserId());
     }
 
+    /**
+     * 标记用户所有的未读 为已读
+     *
+     * @param userId
+     * @return
+     */
     private ResultContent markUserAllRead(String userId) {
         java.util.Map<String, Object> where = new java.util.HashMap<>();
         where.put("isRead", Boolean.FALSE);

+ 20 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/visitor/VisitorMainService.java

@@ -179,6 +179,7 @@ public class VisitorMainService extends SuperPermissService {
             entity = new VisitorMain();
             initEntityNoCheckOid(entity);
             entity.setState(VisitorState.WaitReView);
+            entity.setFinalState(VisitorState.WaitReView);
             entity.setIsReViewed(Boolean.FALSE);
         }
         BeanUtils.copyProperties(param, entity);
@@ -254,6 +255,17 @@ public class VisitorMainService extends SuperPermissService {
      * @return
      */
     public ResultContent<Page<VisitorMainModel>> page(VisitorMainSearch param, Pageable pageable) {
+        if (param.getState() != null) {
+            if (param.getState() == VisitorState.Leave) {
+                param.setState(null);
+                param.setIsLeave(Boolean.TRUE);
+                param.setIsOverTimeLeave(null);
+            } else if (param.getState() == VisitorState.LeaveOutTime) {
+                param.setState(null);
+                param.setIsLeave(null);
+                param.setIsOverTimeLeave(Boolean.TRUE);
+            }
+        }
         Page<VisitorMain> page = visitorMainDao.page(pageable, param);
         if (param.getIsDesen() != null && param.getIsDesen()) {
             return ResultContent.buildSuccess(PageEntityUtil.concurrent2PageModel(page, this::toDesenModel));
@@ -278,6 +290,7 @@ public class VisitorMainService extends SuperPermissService {
         }
         // 已拒绝状态
         visitorMain.setState(VisitorState.Refuse);
+        visitorMain.setFinalState(VisitorState.Refuse);
         visitorMain.setReviewRemark(param.getReviewRemark());
         visitorMain.setReViewSuccess(Boolean.FALSE);
         visitorMain.setIsReViewed(Boolean.TRUE);
@@ -305,6 +318,7 @@ public class VisitorMainService extends SuperPermissService {
         }
         visitorMain.setIsCancel(Boolean.TRUE);
         visitorMain.setState(VisitorState.Cancel);
+        visitorMain.setFinalState(VisitorState.Cancel);
         visitorMain.setCancelUserId(getCurrentUserId());
         visitorMain.setCancelTime(System.currentTimeMillis());
         visitorMainDao.save(visitorMain);
@@ -328,6 +342,7 @@ public class VisitorMainService extends SuperPermissService {
         }
         // 通过状态
         visitorMain.setState(VisitorState.WaitVisit);
+        visitorMain.setFinalState(VisitorState.WaitVisit);
         visitorMain.setReviewRemark(param.getReviewRemark());
         visitorMain.setReViewSuccess(Boolean.TRUE);
         visitorMain.setIsReViewed(Boolean.TRUE);
@@ -381,6 +396,7 @@ public class VisitorMainService extends SuperPermissService {
             // 如果是 待来访 状态 则改为 已到访
             if (visitorMain.getState() == VisitorState.WaitVisit) {
                 visitorMain.setState(VisitorState.Visit);
+                visitorMain.setFinalState(VisitorState.Visit);
                 visitorMain.setFirstVisitTime(System.currentTimeMillis());
                 // 更新权限使用时间
                 device2UseUsableService.addByVisitorData(visitorMain, true);
@@ -395,8 +411,10 @@ public class VisitorMainService extends SuperPermissService {
                 }
                 if (visitorMain.getLeaveTime() >= visitorMain.getEndTime()) {
                     visitorMain.setIsOverTimeLeave(Boolean.TRUE);
+                    visitorMain.setFinalState(VisitorState.LeaveOutTime);
                 } else {
                     visitorMain.setIsOverTimeLeave(Boolean.FALSE);
+                    visitorMain.setFinalState(VisitorState.Leave);
                 }
             }
             visitorMainDao.save(visitorMain);
@@ -457,6 +475,7 @@ public class VisitorMainService extends SuperPermissService {
             if (visitorMain.getState() == VisitorState.WaitReView && visitorMain.getEndTime() <= System.currentTimeMillis()) {
                 // 待审核 结束时间已过期
                 visitorMain.setState(VisitorState.Cancel);
+                visitorMain.setFinalState(VisitorState.Cancel);
                 visitorMain.setReviewRemark("申请数据已失效");
                 visitorMainDao.save(visitorMain);
                 return ResultContent.buildFail("数据已失效");
@@ -512,6 +531,7 @@ public class VisitorMainService extends SuperPermissService {
                     // 如果未使用,,则把状态改为 已失效
                     if (visitorMain.getState() == VisitorState.WaitVisit) {
                         visitorMain.setState(VisitorState.Cancel);
+                        visitorMain.setFinalState(VisitorState.Cancel);
                     }
                     visitorMainDao.save(visitorMain);
                     return ResultContent.buildSuccess();