k94314517
2025-03-26 62eddcd6cbff33b1b322719919bdfab3bba6dc3b
代码初始化
已修改7个文件
105 ■■■■ 文件已修改
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/InternalWebController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformGroup.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitReasonServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
@@ -75,13 +75,13 @@
        visitsService.updateById(visits);
        return ApiResponse.success(null);
    }
    @ApiOperation("手动签离")
    @GetMapping("/visitCancel")
    @CloudRequiredPermission("business:visits:cancel")
    public ApiResponse visitCancel(@RequestParam Integer visitId,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        visitsService.visitCancel(visitId);
        return ApiResponse.success(null);
    }
//    @ApiOperation("手动签离")
//    @GetMapping("/visitCancel")
//    @CloudRequiredPermission("business:visits:cancel")
//    public ApiResponse visitCancel(@RequestParam Integer visitId,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
//        visitsService.visitCancel(visitId);
//        return ApiResponse.success(null);
//    }
    /**
@@ -92,9 +92,10 @@
     */
    @ApiOperation("取消预约")
    @GetMapping("/visitsCancel")
    @CloudRequiredPermission("business:visits:cancel")
//    @CloudRequiredPermission("business:visits:cancel")
    public ApiResponse visitsCancel(@RequestParam Integer visitId,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        visitsService.visitsCancel(visitId);
        LoginUserInfo loginUserInfo = getLoginUser(token);
        visitsService.visitsCancel(visitId,loginUserInfo);
        return ApiResponse.success(null);
    }
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/InternalWebController.java
@@ -5,6 +5,7 @@
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.service.business.third.model.ApiResponse;
import com.doumee.service.business.third.model.LoginUserInfo;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
import com.doumee.core.utils.Constants;
@@ -99,9 +100,10 @@
     */
    @ApiOperation("取消预约")
    @GetMapping("/visitsCancel")
    @CloudRequiredPermission("business:visits:cancel")
//    @CloudRequiredPermission("business:visits:cancel")
    public ApiResponse visitsCancel(@RequestParam Integer visitId,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        visitsService.visitsCancel(visitId);
        LoginUserInfo loginUserInfo = getLoginUser(token);
        visitsService.visitsCancel(visitId,loginUserInfo);
        return ApiResponse.success(null);
    }
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -379,6 +379,7 @@
        }
        return  null;
    }
    /**
     *车位取消预约
     * @return
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformGroup.java
@@ -83,6 +83,11 @@
    @TableField(exist = false)
    private List<Platform> platformList;
    @ApiModelProperty(value = "车辆签到微信通知接收人员主键多个以,分割")
    private String signInNoticeUsers;
    @ApiModelProperty(value = "作业未完成微信通知接收人员主键多个以,分割")
    private String unFinishNoticeUsers;
    @ApiModelProperty(value = "作业中排队车辆", example = "1")
    @TableField(exist = false)
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -145,7 +145,7 @@
     * 处理待审核、审核中、已审核的数据取消业务
     * 2025年3月25日14:10:10
      */
    void  visitsCancel(Integer visitId);
    void  visitsCancel(Integer visitId,LoginUserInfo loginUserInfo);
    void resetPassword(ResetPasswordDTO resetPasswordDTO);
    void visitResend(Integer visitId);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitReasonServiceImpl.java
@@ -49,7 +49,6 @@
        update.setIsdeleted(Constants.ONE);
        update.setId(id);
        visitReasonMapper.updateById(update);
    }
    @Override
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -13,6 +13,7 @@
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.param.BaseResponse;
import com.doumee.core.haikang.model.param.request.ParkReservationDelRequest;
import com.doumee.core.haikang.model.param.request.VisitAppointmentCancelRequest;
import com.doumee.core.haikang.model.param.request.VisitAppointmentOutRequest;
import com.doumee.core.haikang.model.param.request.VisitAppointmentRequest;
@@ -1569,22 +1570,86 @@
                .eq(Retention::getMemberId,visits.getMemberId()));
    }
    @Autowired
    private VisitParkMapper visitParkMapper;
    /**
     * 处理待审核、审核中、已审核的数据取消业务
     * 2025年3月25日14:10:10
     */
    @Override
    public void  visitsCancel(Integer visitId){
    public void  visitsCancel(Integer visitId,LoginUserInfo loginUserInfo){
        Visits visits = visitsMapper.selectById(visitId);
        if(Objects.isNull(visits)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!(Constants.equalsInteger(loginUserInfo.getMemberId(),visits.getMemberId()) ||
                Constants.equalsInteger(loginUserInfo.getMemberId(),visits.getCreateMemberId()) ||
                ( CollectionUtils.isNotEmpty(loginUserInfo.getPermissions()) &&
            loginUserInfo.getPermissions().stream().filter(i->i.equals("business:visits:cancel")).collect(Collectors.toList()).size()>0))){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"无此操作权限");
        }
        UpdateWrapper<Visits> updateWrapper = new UpdateWrapper();
        updateWrapper.lambda().set(Visits::getStatus,Constants.VisitStatus.cancel)
                .set(Visits::getEditDate,DateUtil.getCurrDateTime())
                .set(Visits::getEditor,loginUserInfo.getId())
                .eq(Visits::getId,visitId);
        //访客报备
        if(Constants.equalsInteger(visits.getType(),Constants.TWO)){
        if(!(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.waitCheck)||Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.submitCheck)
        || Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.pass))){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"访客记录状态错误,无法进行该操作");
            }
            if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.pass)
                    && Constants.equalsInteger(visits.getHkStatus(),Constants.ONE)
                    &&StringUtils.isNotBlank(visits.getHkId())){
                //取消停车场预约
                List<VisitPark> visitParkList = visitParkMapper.selectList(new QueryWrapper<VisitPark>().lambda()
                        .eq(VisitPark::getCarCode,visits.getCarNos())
                        .eq(VisitPark::getObjType,Constants.ONE)
                        .eq(VisitPark::getHkStatus,Constants.ONE)
                        .isNotNull(VisitPark::getHkId)
                        .apply("  END_TIME > now() ")
                        .orderByDesc(VisitPark::getCreateDate)
                );
                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(visitParkList)){
                    for (VisitPark visitPark:visitParkList) {
                        ParkReservationDelRequest param = new ParkReservationDelRequest();
                        param.setReserveOrderNo(visitPark.getHkId());
                        BaseResponse response =  HKService.parkReservationDeletion(param);
                        if(response!=null
                                && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                            visitPark.setHkStatus(Constants.THREE);
                            visitPark.setIsdeleted(Constants.ONE);
                            visitPark.setEditDate(new Date());
                            visitParkMapper.updateById(visitPark);
                        }else{
                            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMsg());
                        }
                    }
                    updateWrapper.lambda().set(Visits::getHkStatus,Constants.ZERO).set(Visits::getHkDate,DateUtil.getCurrDateTime());
                }
            }
        }else{
            //访客申请
            if(!(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.waitCheck)||Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.submitCheck)
                    || Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.pass)|| Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess))){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"访客记录状态错误,请刷新重试");
        }
        visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.VisitStatus.invalid)
                .eq(Visits::getId,visitId));
            if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess)
                    && Constants.equalsInteger(visits.getHkStatus(),Constants.ONE)
                    &&StringUtils.isNotBlank(visits.getHkId())){
                VisitAppointmentCancelRequest request = new VisitAppointmentCancelRequest();
                request.setAppointRecordIds(new String[]{visits.getHkId()});
                BaseResponse response =  HKService.iccmCancelAppointment(request);
                if(response==null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) || response.getData()==null){
                    throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMsg());
                }
                updateWrapper.lambda().set(Visits::getHkStatus,Constants.ZERO).set(Visits::getHkDate,DateUtil.getCurrDateTime());
            }
        }
        visitsMapper.update(null,updateWrapper);
    }