From ad6dfb8323ab40ca8fe4fed94722c755d89c3203 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 28 二月 2024 15:14:47 +0800 Subject: [PATCH] 整理 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java | 325 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 284 insertions(+), 41 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java index b9aa525..63d2d81 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java @@ -3,35 +3,34 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.doumee.biz.system.SystemDictDataBiz; -import com.doumee.core.erp.model.openapi.request.erp.UserFailRequest; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.haikang.model.HKConstants; +import com.doumee.core.haikang.model.param.BaseListPageResponse; import com.doumee.core.haikang.model.param.BaseResponse; import com.doumee.core.haikang.model.param.request.*; +import com.doumee.core.haikang.model.param.request.event.visit.EventVisitInfoRequest; import com.doumee.core.haikang.model.param.respose.*; import com.doumee.core.haikang.service.HKService; import com.doumee.core.utils.Constants; +import com.doumee.core.utils.DESUtil; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.ImageBase64Util; -import com.doumee.dao.business.CompanyMapper; +import com.doumee.core.wx.wxPlat.WxPlatNotice; import com.doumee.dao.business.DeviceRoleMapper; -import com.doumee.dao.business.MemberMapper; -import com.doumee.dao.business.VisitsMapper; +import com.doumee.dao.business.RetentionMapper; import com.doumee.dao.business.join.VisitsJoinMapper; -import com.doumee.dao.business.model.Company; import com.doumee.dao.business.model.DeviceRole; import com.doumee.dao.business.model.Member; +import com.doumee.dao.business.model.Retention; import com.doumee.dao.business.model.Visits; -import com.doumee.service.business.ERPSyncService; import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; +import java.util.*; /** * 娴峰悍璁垮涓氬姟Service瀹炵幇 @@ -44,19 +43,164 @@ @Autowired private VisitsJoinMapper visitsMapper; @Autowired + private RetentionMapper retentionMapper; + @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private DeviceRoleMapper deviceRoleMapper; - + @Autowired + private WxPlatNotice wxPlatNotice; /** - * 鍚屾娴峰悍缁勭粐淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭� + * 鍚屾娴峰悍璁垮淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭� */ + @Override + public void getOutTimeVisitRecord(){ + if(Constants.DEALING_HK_VISIT_EXPIRE){ + return ; + } + Constants.DEALING_HK_VISIT_EXPIRE =true; + try { + //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁 + List<Visits> list = getExpireVisitList(); + //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁 + if(list ==null || list.size()==0){ + return; + } + Date date = new Date(); + for(Visits c : list) { + //鍙戣捣娴峰悍棰勭害鎺ュ彛锛堥渶瑕佺櫥璁帮級锛屾牴鎹绾﹁繑鍥炴帴鍙e皝瑁呯敵璇疯褰曟洿鏂板瓧娈� + AppointmentInfoResponse model = getVisitRecord(c.getHkId()); + if(model == null){ + Visits update = new Visits(); + //宸插け鏁� + update.setStatus(Constants.VisitStatus.invalid); + update.setEditDate(date); + update.setId(c.getId()); + update.setRemark("棰勭害宸茶娓呴櫎"); + visitsMapper.updateById(update); + continue; + } + /** + * * 0锛氬緟瀹℃牳锛堥绾﹀緟瀹℃壒锛夈�� + * * 1锛氭甯革紙棰勭害鎴愬姛鎴栭绾﹀鎵规垚鍔熷悗<鏈櫥璁�>锛氬綋鍓嶆椂闂存湭瓒呰繃棰勮鏉ヨ鏃堕棿锛夈�� + * * 2锛氳繜鍒帮紙棰勭害鎴愬姛鎴栭绾﹀鎵规垚鍔熷悗<鏈櫥璁�>锛氬綋鍓嶆椂闂磋秴杩囬璁℃潵璁挎椂闂达紝浣嗘湭瓒呰繃棰勮绂诲紑鏃堕棿锛夈�� + * * 3锛氬け鏁堬紙棰勭害鎴愬姛鎴栭绾﹀鎵规垚鍔熷悗<鏈櫥璁�>锛氬綋鍓嶆椂闂村凡瓒呰繃棰勮绂诲紑鏃堕棿锛夈�� + * * 4锛氬鏍搁��鍥烇紙棰勭害寰呭鎵癸紝瀹℃壒浜哄憳瀹℃壒閫�鍥烇級銆� + * * 5锛氳秴鏈熻嚜鍔ㄧ绂伙紙瓒呮湡鏈绂昏褰曡瀹紝鐢卞悗鍙颁换鍔″畾鏃跺鐞嗙绂伙級銆� + * * 6锛氬凡绛剧锛堣瀹㈢绂伙級銆� + * * 7锛氳秴鏈熸湭绛剧锛堣瀹㈢櫥璁帮紝褰撳墠鏃堕棿宸茶秴杩囬璁$寮�鏃堕棿锛岃繕鏈繘琛岀绂伙級銆� + * * 8锛氬凡鍒拌揪锛涳紙璁垮鐧昏锛屽綋鍓嶆椂闂存湭瓒呰繃棰勮绂诲紑鏃堕棿锛夈�� + * * 9锛氬鏍稿け鏁堬紙棰勭害寰呭鎵癸紝涓�鐩村埌褰撳墠鏃堕棿瓒呰繃棰勮绂诲紑鏃堕棿锛岃繕鏈鎵归�氳繃锛夈�� + * * 10锛氶個绾︿腑锛堝憳宸ュ彂璧烽個绾︼紝璁垮杩樻湭搴旈個锛夈�� + * * 11锛氶個绾﹀け鏁堬紙鍛樺伐鍙戣捣閭�绾︼紝涓�鐩村埌褰撳墠鏃堕棿瓒呰繃棰勮绂诲紑鏃堕棿锛岃瀹㈣繕鏈簲閭�锛� + */ + if (model.getVisitorStatus()!=null && "3,4,11".contains( model.getVisitorStatus()+"" )){ + //瀵圭浉搴旂姸鎬佷笅鐨勬暟鎹繘琛屻�愬凡澶辨晥銆戝鐞� + Visits update = new Visits(); + //宸插け鏁� + update.setStatus(Constants.VisitStatus.invalid); + update.setEditDate(date); + update.setId(c.getId()); + update.setInDate(DateUtil.getISO8601DateByStr2(model.getVisitStartTime())); + update.setOutDate(DateUtil.getISO8601DateByStr2(model.getVisitEndTime())); + update.setRemark("瓒呮椂鏈櫥璁�"); + visitsMapper.updateById(update); + } + if (model.getVisitorStatus()!=null && "5,6".contains( model.getVisitorStatus()+"" )){ + // 瀵圭浉搴旂姸鎬佷笅鐨勬暟鎹繘琛屻�愬凡绛剧銆戝鐞� + if(!Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.signout)){ + Visits update = new Visits(); + //宸插け鏁� + update.setStatus(Constants.VisitStatus.invalid); + update.setEditDate(date); + update.setId(c.getId()); + update.setInDate(DateUtil.getISO8601DateByStr2(model.getVisitStartTime())); + update.setOutDate(DateUtil.getISO8601DateByStr2(model.getVisitEndTime())); + update.setRemark("宸茬绂�"); + visitsMapper.updateById(update); + + //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級 + retentionMapper.delete(new UpdateWrapper<Retention>().lambda() + .eq(Retention::getType,Constants.memberType.visitor) + .eq(Retention::getMemberId,c.getMemberId())); + } + } + if (model.getVisitorStatus()!=null&& "7,8".contains( model.getVisitorStatus()+"")){ + //濡傛灉宸茬櫥璁� + if(!Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.signin)){ + Visits update = new Visits(); + //宸插け鏁� + update.setStatus(Constants.VisitStatus.signin); + update.setEditDate(date); + update.setId(c.getId()); + update.setInDate(DateUtil.getISO8601DateByStr2(model.getVisitStartTime())); + update.setOutDate(DateUtil.getISO8601DateByStr2(model.getVisitEndTime())); + update.setRemark("瓒呮椂鏈鍒�"); + visitsMapper.updateById(update); + //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級 + retentionMapper.delete(new UpdateWrapper<Retention>().lambda() + .eq(Retention::getType,Constants.memberType.visitor) + .eq(Retention::getMemberId,c.getMemberId())); + //鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳 + retentionMapper.insert(getRetentionModelByVisitRequest(c,update.getInDate())); + } + } + } + }catch (Exception e){ + e.printStackTrace(); + }finally { + Constants.DEALING_HK_VISIT_EXPIRE =false; + } + } + + private Retention getRetentionModelByVisitRequest(Visits visits,Date date) { + Retention retention = new Retention(); + retention.setIsdeleted(Constants.ZERO); + retention.setCreateDate(date); + retention.setClasses(visits.getClasses()); + retention.setCode(visits.getCode()); + retention.setIdcardNo(visits.getIdcardNo()); + retention.setIdcardDecode(visits.getIdcardDecode()); + retention.setName(visits.getName()); + retention.setBirthday(visits.getBirthday()); + retention.setType(visits.getMemberType()); + retention.setCompanyId(visits.getCompanyId()); + retention.setCompanyName(visits.getCompanyName()); + retention.setEventDate(retention.getCreateDate()); + retention.setFaceImg(visits.getFaceImg()); + retention.setImgurl(visits.getImgurl()); + retention.setPhone(visits.getPhone()); + retention.setMemberId(visits.getMemberId()); + + return retention; + } + + public AppointmentInfoResponse getVisitRecord(String orderId){ + //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹� + if(StringUtils.isBlank(orderId)){ + return null; + } + AppointmentListRequest param = new AppointmentListRequest(); + param.setPageNo(1); + param.setPageSize(1); + param.setOrderId(orderId); + BaseResponse<BaseListPageResponse<AppointmentInfoResponse>> response = HKService.appointmentRecords(param); + if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) ){ + return null; + } + if(response.getData() == null || response.getData().getList() == null|| response.getData().getList().size() ==0){ + return null; + } + return response.getData().getList().get(0); + } @Override public void syncVisitData(){ if(Constants.DEALING_HK_VISIT){ return ; } Constants.DEALING_HK_VISIT =true; + String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); List<DeviceRole> roleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() .eq(DeviceRole::getType, Constants.ONE)); //鏍囪鏄惁璧板厤鐧昏棰勭害 @@ -64,9 +208,9 @@ String applyLwType =systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.MDJ_LW_REQUIRED).getCode(); try { //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁 - List<Visits> alllist = getVisitList(); + List<Visits> list = getVisitList(); //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁 - List<Visits> list = getParentList(alllist); +// List<Visits> list = getParentList(alllist); if(list ==null || list.size()==0){ return; } @@ -74,8 +218,13 @@ for(Visits c : list) { //鍙戣捣娴峰悍棰勭害鎺ュ彛锛堥渶瑕佺櫥璁帮級锛屾牴鎹绾﹁繑鍥炴帴鍙e皝瑁呯敵璇疯褰曟洿鏂板瓧娈� String type = Constants.equalsInteger(c.getType(),Constants.ONE)?applyType:applyLwType; - getUpdateModelByResponse(c,date,type,roleList); + getUpdateModelByResponse(c,date,type,roleList,path); visitsMapper.updateById(c); + if(Objects.isNull(c.getParentId())){ + wxPlatNotice.sendVisitAuditTemplateNotice(c, + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(), + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode()); + } } }catch (Exception e){ e.printStackTrace(); @@ -115,71 +264,155 @@ * 鏍规嵁棰勭害杩斿洖鎺ュ彛灏佽鐢宠璁板綍鏇存柊瀛楁 * @param c * @param date + * @param date * @param type 0闇�瑕佺櫥璁� 1鍏嶇櫥璁� */ - private void getUpdateModelByResponse( Visits c,Date date,String type,List<DeviceRole> roleList ) { + private void getUpdateModelByResponse( Visits c,Date date,String type,List<DeviceRole> roleList,String path ) { String code = null; String id = null; + String qrcode = null; //鍙戣捣娴峰悍棰勭害鎺ュ彛 if(StringUtils.equals(type,"0")){ //锛堥渶瑕佺櫥璁帮級 - BaseResponse<VisitAppointmentResponse> response = HKService.visitAppiontment(getHkRequestPara(c,roleList)); + VisitAppointmentRequest request = getHkRequestPara(c,roleList,path); + if(request == null){ + //娴峰悍涓嬪彂鎴愬姛 + c.setStatus(Constants.VisitStatus.xfFail);//涓嬪彂娴峰悍澶辫触 + c.setRemark("涓嬪彂娴峰悍鍙傛暟涓嶆纭紒"); + c.setHkStatus(Constants.ONE); + c.setHkDate(date); + return; + } + BaseResponse<VisitAppointmentResponse> response = HKService.visitAppiontment(request); + code =response!=null ?response.getCode():null; + if((response!=null && response.getData()!=null + && response.getData().getAppointmentInfoList() !=null + && response.getData().getAppointmentInfoList().size()>0)){ + id =response.getData().getAppointmentInfoList().get(0).getOrderId(); + qrcode =response.getData().getAppointmentInfoList().get(0).getQRCode(); + } }else{ //鍏嶇櫥璁� - BaseResponse<VisitAppointmentMDJResponse> response = HKService.visitAppiontmentMDJ(getHkMDJRequestPara(c) ); + VisitAppointmentMDJRequest request =getHkMDJRequestPara(c,roleList,path); + if(request == null){ + //娴峰悍涓嬪彂鎴愬姛 + c.setStatus(Constants.VisitStatus.xfFail);//涓嬪彂娴峰悍澶辫触 + c.setRemark("涓嬪彂娴峰悍鍏嶇櫥璁板弬鏁颁笉姝g‘锛�"); + c.setHkStatus(Constants.ONE); + c.setHkDate(date); + return; + } + BaseResponse<VisitAppointmentMDJResponse> response = HKService.visitAppiontmentMDJ(request ); + code =response!=null ?response.getCode():null; + if(response!=null && response.getData()!=null){ + id = response.getData().getOrderId(); + qrcode =response.getData().getQRCode(); + } } if (code!= null && id!=null) { //娴峰悍涓嬪彂鎴愬姛 c.setHkId( id);//棰勭害鏍囪瘑 + c.setQrcode(qrcode); + c.setRemark("涓嬪彂娴峰悍鎴愬姛锛併��"+type+"銆�"); c.setStatus(Constants.VisitStatus.xfSuccess);//涓嬪彂娴峰悍鎴愬姛 } else { - //娴峰悍涓嬪彂鎴愬姛 + //娴峰悍涓嬪彂澶辫触 + c.setRemark("涓嬪彂娴峰悍澶辫触锛併��"+type+"銆�"); c.setStatus(Constants.VisitStatus.xfFail);//涓嬪彂娴峰悍澶辫触 } c.setHkStatus(Constants.ONE); c.setHkDate(date); } - private VisitAppointmentMDJRequest getHkMDJRequestPara(Visits c) { - return null; - } - - private VisitAppointmentRequest getHkRequestPara(Visits c,List<DeviceRole> roleList ) { - VisitAppointmentRequest request = new VisitAppointmentRequest(); - request.setVisitStartTime(DateUtil.getISO8601Timestamp(c.getStarttime())); - request.setVisitEndTime(DateUtil.getISO8601Timestamp(c.getEndtime())); + /** + * 鍏嶇櫥璁版帴鍙e弬鏁� + * @param c + * @return + */ + private VisitAppointmentMDJRequest getHkMDJRequestPara(Visits c,List<DeviceRole> roleList,String path) { + VisitAppointmentMDJRequest request = new VisitAppointmentMDJRequest(); + VisitAppointmentVistorRequest info =getRequestInfoByVisit(c,path); + if(info == null ){ + //浜鸿劯涓虹┖锛屼笉鑳借繘琛屾帹閫� + return null; + } + request.setVisitStartTime(DateUtil.getISO8601Timestamp2(c.getStarttime())); + request.setVisitEndTime(DateUtil.getISO8601Timestamp2(c.getEndtime())); request.setReceptionistId(c.getReceptMemberHkId());//琚浜烘捣搴风紪鐮� request.setVisitPurpose(c.getReason()); - request.setVisitorPermissionSet(new VisitAppointmentPermissonRequest()); + request.setVisitorInfo(info); + request.setVisitorPermissionSet(getVisitPermissonRequest(roleList,c)); + return request; + } + + /** + * 璁垮鏉冮檺缁� + * @param roleList + * @param c + * @return + */ + private VisitAppointmentPermissonRequest getVisitPermissonRequest(List<DeviceRole> roleList, Visits c) { + VisitAppointmentPermissonRequest p = new VisitAppointmentPermissonRequest(); //鑾峰彇鏉冮檺缁勯泦鍚� String[] roles = getHkRoles(c.getDoors(),roleList); if(roles==null || roles.length ==0){ //浣跨敤榛樿璁垮鏉冮檺缁� - request.getVisitorPermissionSet().setDefaultPrivilegeGroupFlag(Constants.ONE+""); + p.setDefaultPrivilegeGroupFlag(Constants.ONE+""); }else{ //鎸囧畾鏈夋晥娴峰悍璁垮鏉冮檺缁勬暟鎹� - request.getVisitorPermissionSet().setDefaultPrivilegeGroupFlag(Constants.ZERO+""); - request.getVisitorPermissionSet().setPrivilegeGroupIds(roles); + p.setDefaultPrivilegeGroupFlag(Constants.ZERO+""); + p.setPrivilegeGroupIds(roles); } + return p; + } + + private VisitAppointmentRequest getHkRequestPara(Visits c,List<DeviceRole> roleList,String path ) { + VisitAppointmentRequest request = new VisitAppointmentRequest(); + //鐢宠浜轰俊鎭� + VisitAppointmentVistorRequest info =getRequestInfoByVisit(c,path); + if(info == null ){ + //浜鸿劯涓虹┖锛屼笉鑳借繘琛屾帹閫� + return null; + } + request.setVisitStartTime(DateUtil.getISO8601Timestamp(c.getStarttime())); + request.setVisitEndTime(DateUtil.getISO8601Timestamp(c.getEndtime())); + request.setReceptionistId(c.getReceptMemberHkId());//琚浜烘捣搴风紪鐮� + request.setVisitPurpose(c.getReason()); + //鑾峰彇鏉冮檺缁勯泦鍚� + request.setVisitorPermissionSet(getVisitPermissonRequest(roleList,c)); List<VisitAppointmentVistorRequest> infolist = new ArrayList<>(); - //鐢宠浜� - infolist.add(getRequestInfoByVisit(c)); - if(c.getVisitsList() != null){ - //闅忚浜� - for(Visits v : c.getVisitsList()){ - infolist.add(getRequestInfoByVisit(v)); - } - } + infolist.add(info); request.setVisitorInfoList(infolist); return request; } - private VisitAppointmentVistorRequest getRequestInfoByVisit(Visits c) { + private VisitAppointmentVistorRequest getRequestInfoByVisit(Visits c,String path) { VisitAppointmentVistorRequest info = new VisitAppointmentVistorRequest(); + //浜鸿劯鏁版嵁 + if(StringUtils.isBlank(c.getName()) + ||StringUtils.isBlank(c.getPhone()) + || StringUtils.isBlank(c.getFaceImg()) ){ + return null; + } + if(StringUtils.isNotBlank(c.getFaceImg())){ + info.setVisitorPhoto(ImageBase64Util.Image2Base64(path+c.getFaceImg())); + } + if(info.getVisitorPhoto() == null){ + return null; + } info.setVisitorName(c.getName()); info.setVisitorWorkUnit(c.getCompanyName()); info.setPhoneNo(c.getPhone()); + info.setPlateNo(c.getCarNos()); + info.setGender(c.getSex()+""); + if(Constants.equalsInteger(c.getIdcardType(),Constants.ZERO)){ + info.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+""); + info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); + } else if(Constants.equalsInteger(c.getIdcardType(),Constants.TWO)){ + info.setCertificateType(HKConstants.CertificateType.HUZHAO.getKey()+""); + info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); + } return info; } @@ -208,7 +441,7 @@ MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(Visits.class); queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName) - .select("t1.hk_id as receptMemberHkId") + .selectAs(Member::getHkId,Visits::getReceptMemberHkId) .leftJoin(Member.class,Member::getId,Visits::getReceptMemberId); queryWrapper.eq(Visits::getStatus,Constants.VisitStatus.pass)//瀹℃壒閫氳繃 .eq(Visits::getHkStatus,Constants.ZERO)//鏈悓姝ュ埌娴峰悍 @@ -216,5 +449,15 @@ List<Visits> list = visitsMapper.selectJoinList(Visits.class,queryWrapper); return list; } + private List<Visits> getExpireVisitList() { + MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(Visits.class) + .selectAs(Member::getType,Visits::getMemberType) + .leftJoin(Member.class,Member::getId,Visits::getReceptMemberId); + queryWrapper.in(Visits::getStatus, Arrays.asList(new Integer[]{Constants.VisitStatus.xfSuccess,Constants.VisitStatus.signin}) ); + List<Visits> list = visitsMapper.selectJoinList(Visits.class,queryWrapper); + return list; + } + } -- Gitblit v1.9.3