jiangping
2023-12-22 e7b486f54ecee830749151e0fd8feae726fd4107
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -38,6 +38,7 @@
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import io.swagger.models.auth.In;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -311,7 +312,7 @@
            member.setOpenid(visits.getOpenid());
            member.setType(Constants.memberType.visitor);
            member.setStatus(Constants.ZERO);
            member.setSex(visits.getSex());
            member.setSex(Constants.getSexByCardNo(cardno));
            // 新增访客记录
            addList.add(member);
        }else{
@@ -328,9 +329,19 @@
            member.setName(visits.getName());
            member.setPhone(visits.getPhone());
            member.setOpenid(visits.getOpenid());
            member.setSex(visits.getSex());
            member.setSex(Constants.getSexByCardNo(cardno));
            // 更新访客信息,
            editList.add(member);
        }
        //根据手机号和身份证号码查询 当前预约的时间是否与其他预约记录有冲突
        if (visitsMapper.selectCount(new QueryWrapper<Visits>().lambda()
                .eq(Visits::getPhone, member.getPhone())
                .and(ms -> ms.eq(Visits::getPhone, member.getPhone())
                        .or().eq(Visits::getIdcardDecode, member.getIdcardDecode()))
                .and(ms -> ms.apply(" visits.STARTTIME <= '" + visits.getStarttime() + "' and visits.ENDTIME >= '" + visits.getStarttime() + "' ")
                        .or().apply(" visits.STARTTIME <= '" + visits.getEndtime() + "' and visits.ENDTIME >= '" + visits.getEndtime() + "' ")
                )) > Constants.ZERO) {
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,手机号【"+member.getPhone()+"】或身份证【"+ member.getIdcardDecode() +"】存在预约时间冲突,无法申请哦!");
        }
        return  member;
    }
@@ -348,6 +359,9 @@
        if(v !=null){
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,手机号【"+member.getPhone()+"】存在未签离预约申请,不能重复申请哦!");
        }
    }
    private List<Member> isValideWithUsers(List<Visits> withUserList) {
@@ -519,8 +533,10 @@
        visitQuery.isNotNull(Visits::getParentId);
        visitQuery.eq(Visits::getIsdeleted,Constants.ZERO);
        List<Visits> visitsList = visitsJoinMapper.selectList(visitQuery);
        visitsList.add(0,result);
        result.setVisitsList(visitsList);
        Visits v = new Visits();
        BeanUtils.copyProperties(result,v);
        visitsList.add(0,v);
        result.setWithUserList(visitsList);
        return result;
    }