From d7e663d304a2ccb565a24362b116ddaa9da9941a Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 09 一月 2024 13:56:43 +0800 Subject: [PATCH] 整理 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 182 ++++++++++++++++++++++++--------------------- 1 files changed, 97 insertions(+), 85 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java index 5675fc4..3589b9d 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java @@ -209,9 +209,12 @@ company.setEditDate(date); company.setStatus(respone.getStatus()); company.setCode(respone.getCode()); - company.setErpParentId(respone.getParentOrgId()); + if(StringUtils.isNotBlank(respone.getParentOrgId())&&!respone.getParentOrgId().equals("orgRoot")){ + company.setErpParentId(respone.getParentOrgId()); + } company.setErpDate(date); company.setHkStatus(Constants.ZERO); + company.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); return company; } /** @@ -234,6 +237,7 @@ } company.setErpDate(date); company.setHkStatus(Constants.ZERO); + company.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); return company; } @@ -280,23 +284,24 @@ List<Member> allList = memberMapper.selectList(new QueryWrapper<Member>().lambda() .eq(Member::getIsdeleted,Constants.ZERO) .eq(Member::getType, Constants.memberType.internal)); - dealUserChangeList(list,addList,updateList,delList,allList); + dealUserChangeList(list,addList,updateList,delList,allList,param); if(addList.size()>0){ - for (Member member:addList) { - dealRoleEmpower(member,param.getStartTime(), param.getEndTime()); - } memberMapper.insertBatchSomeColumn(addList); + for (Member member:addList) { + dealRoleEmpower(member ); + } } if(updateList.size()>0){ for(Member c : updateList){ - dealRoleEmpower(c,param.getStartTime(), param.getEndTime()); + dealRoleEmpower(c ); c.setHkStatus(Constants.ZERO); + c.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); memberMapper.updateById(c); } } if(delList.size()>0){ for (Member member:delList) { - dealRoleEmpower(member,param.getStartTime(), param.getEndTime()); + dealRoleEmpower(member ); } delIds = delList.stream().map(m->m.getId()).collect(Collectors.toList()); memberMapper.update(null,new UpdateWrapper<Member>().lambda() @@ -309,15 +314,13 @@ } } - public void dealRoleEmpower(Member member,Date startTime , Date endTime){ - List<Integer> doorIds = null; - doorIds = getRoleIdByParam(member.getRoleIds(),member); - //濡傛灉鏈夋巿鏉冮棬绂佹暟鎹紝杩涜鐢ㄦ埛鎺堟潈鏁版嵁涓嬪彂浠诲姟鍒涘缓 - dealMemberRoleEmpower(member,doorIds,startTime,endTime); + public void dealRoleEmpower(Member member ){ + List<Integer> doorIds = getRoleIdByParam(member.getRoleIds(),member); + //娣诲姞浜哄憳鍗$墖鏁版嵁 + dealMemberCard(member,new UserUpdateRequest()); } - - private void dealUserChangeList(List<ErpUserListResponse> list, List<Member> addList, List<Member> updateList, List<Member> delList, List<Member> allList) { + private void dealUserChangeList(List<ErpUserListResponse> list, List<Member> addList, List<Member> updateList, List<Member> delList, List<Member> allList,UserListRequest param) { Date date = new Date(); for(ErpUserListResponse response : list){ Company company = new Company(); @@ -325,7 +328,7 @@ company = companyMapper.selectOne(new QueryWrapper<Company>().lambda().eq(Company::getErpId,response.getOrgId()).last("limit 1")); if(Objects.isNull(company)){ continue; - } + } } //鏍规嵁 erpId 鏌ヨ鐢ㄦ埛淇℃伅锛屽垽鏂槸鏂板杩樻槸鏇存柊 Member member = findUserByERPId(allList,response.getId()); @@ -335,7 +338,7 @@ continue; } //灏佽鏂板缁勭粐瀵硅薄鏁版嵁 - addList.add(getAddMemberModel(response,date,company)); + addList.add(getAddMemberModel(response,date,company,param)); }else{ //濡傛灉鏄洿鏂� if(Constants.formatIntegerNum(response.getIsdeleted()) == Constants.ONE){ @@ -345,7 +348,7 @@ // delIds.add(member.getId()); continue; } - updateList.add(addUpdateMemberModel(response,member,date,company)); + updateList.add(addUpdateMemberModel(response,member,date,company,param)); } } if(allList!=null && allList.size()>0){ @@ -357,38 +360,48 @@ } } - private Member getAddMemberModel(ErpUserListResponse param, Date date,Company company) { + private Member getAddMemberModel(ErpUserListResponse param, Date date,Company company,UserListRequest request) { Member member = new Member(); BeanUtils.copyProperties(param,member); - member.setCreateDate(new Date()); - member.setHkStatus(Constants.ZERO); + member.setCreateDate(date); + if(StringUtils.isBlank(param.getFaceImg())){ + member.setHkStatus(Constants.THREE); + }else{ + member.setHkStatus(Constants.ZERO); + member.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); + } member.setErpStatus(Constants.ONE); - member.setErpDate(new Date()); + member.setErpDate(date); member.setErpId(param.getId()); + member.setIdcardType(param.getIdType()); member.setFsStatus(Constants.ZERO); member.setStatus(param.getStatus()); member.setType(Constants.memberType.internal); String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo()); member.setIdcardNo(encryptIdNo); member.setIdcardDecode(Constants.getTuominStr(param.getIdNo())); - member.setHkStatus(Constants.ZERO); member.setRoleIds(param.getRoleIds()); member.setCompanyId(Objects.isNull(company)?null:company.getId()); member.setErpOrgId(param.getOrgId()); + member.setStartTime(request.getStartTime()); + member.setEndTime(request.getEndTime()); return member; } - private Member addUpdateMemberModel(ErpUserListResponse param, Member member, Date date,Company company) { + private Member addUpdateMemberModel(ErpUserListResponse param, Member member, Date date,Company company,UserListRequest request) { BeanUtils.copyProperties(param,member); String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo()); member.setIdcardNo(encryptIdNo); member.setIdcardDecode(Constants.getTuominStr(param.getIdNo())); member.setErpOrgId(param.getOrgId()); - member.setEditDate(new Date()); + member.setEditDate(date); member.setStatus(param.getStatus()); - member.setErpDate(new Date()); + member.setErpDate(date); member.setHkStatus(Constants.ZERO); + member.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); member.setRoleIds(param.getRoleIds()); + member.setStartTime(request.getStartTime()); + member.setEndTime(request.getEndTime()); member.setCompanyId(Objects.isNull(company)?null:company.getId()); member.setErpOrgId(param.getOrgId()); return member; @@ -614,10 +627,10 @@ queryWrapper.selectAs(DeviceEvent::getUserType,DoorEventListResponse::getType); queryWrapper.selectAs(DeviceEvent::getExtEventInOut,DoorEventListResponse::getEventInOut); queryWrapper.selectAs(DeviceEvent::getExtAccessChannel,DoorEventListResponse::getExtAccessChannel); - queryWrapper.selectAs(DeviceEvent::getCreateDate,DoorEventListResponse::getCreateTime); + queryWrapper.selectAs(DeviceEvent::getHappenTime,DoorEventListResponse::getCreateTime); queryWrapper.selectAs(Member::getPhone,DoorEventListResponse::getPhone); queryWrapper.selectAs(Member::getErpId,DoorEventListResponse::getUserId); - queryWrapper.selectAs(Member::getCompanyId,DoorEventListResponse::getOrgId); + queryWrapper.selectAs(Member::getErpOrgId,DoorEventListResponse::getOrgId); queryWrapper.leftJoin(Member.class,Member::getHkId,DeviceEvent::getExtEventPersonNo); if(!Objects.isNull(doorEventListRequest)){ @@ -743,6 +756,7 @@ company.setId(null); company.setCreateDate(new Date()); company.setHkStatus(Constants.ZERO); + company.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); company.setErpStatus(Constants.ONE); company.setErpDate(new Date()); company.setName(param.getName()); @@ -767,6 +781,7 @@ company.setHkId(rootOrgId); }*/ company.setHkStatus(Constants.ZERO); + company.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); company.setErpDate(new Date()); company.setName(param.getName()); company.setErpParentId(param.getParentId()); @@ -783,8 +798,6 @@ } } - - @Override public void userUpdate(UserUpdateRequest param){ try{ @@ -795,7 +808,7 @@ ||Objects.isNull(param.getIdType())//璇佷欢绫诲瀷 ||Objects.isNull(param.getSex())//鎬у埆 ||Objects.isNull(param.getOrgId())//鎵�灞炵粍缁囩紪鐮� - ||StringUtils.isBlank(param.getFaceImg())//浜鸿劯鐓х墖 +// ||StringUtils.isBlank(param.getFaceImg())//浜鸿劯鐓х墖 ||StringUtils.isBlank(param.getCode())//宸ュ彿 ||StringUtils.isBlank(param.getPhone())//鎵嬫満鍙� ){ @@ -812,39 +825,41 @@ BeanUtils.copyProperties(param,member); member.setId(null); member.setCreateDate(new Date()); + member.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); member.setHkStatus(Constants.ZERO); member.setErpStatus(Constants.ONE); member.setErpDate(new Date()); member.setErpId(param.getId()); member.setFsStatus(Constants.ZERO); + member.setCompanyId(company.getId()); member.setType(Constants.memberType.internal); String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo()); member.setIdcardNo(encryptIdNo); + member.setStartTime(param.getValidStartTime()); + member.setRoleId(param.getRoleIds()!=null?JSONObject.toJSONString(param.getRoleIds()):null); + member.setEndTime(param.getValidEndTime()); member.setIdcardDecode(Constants.getTuominStr(param.getIdNo())); member.setErpOrgId(param.getOrgId()); - doorIds = getRoleIdByParam(param.getRoleIds(),member); memberMapper.insert(member); - //TODO 娴峰悍鏁版嵁鍒涘缓-------------淇敼------------------- }else{ Integer id = member.getId(); BeanUtils.copyProperties(param,member); member.setId(id); + member.setCompanyId(company.getId()); String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo()); member.setIdcardNo(encryptIdNo); member.setIdcardDecode(Constants.getTuominStr(param.getIdNo())); member.setErpOrgId(param.getOrgId()); member.setEditDate(new Date()); - doorIds = getRoleIdByParam(param.getRoleIds(),member); member.setErpDate(new Date()); member.setHkStatus(Constants.ZERO); + member.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); + member.setStartTime(param.getValidStartTime()); + member.setEndTime(param.getValidEndTime()); memberMapper.updateById(member); - //鍒犻櫎鐢ㄦ埛鍗$墖鏁版嵁 浜哄憳瑙掕壊鍏宠仈 - memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,member.getId())); - //TODO 娴峰悍鏁版嵁鏇存柊 } - //濡傛灉鏈夋巿鏉冮棬绂佹暟鎹紝杩涜鐢ㄦ埛鎺堟潈鏁版嵁涓嬪彂浠诲姟鍒涘缓 - dealMemberRoleEmpower(member,doorIds,param.getValidStartTime(),param.getValidEndTime()); //娣诲姞浜哄憳鍗$墖鏁版嵁 + getRoleIdByParam(param.getRoleIds(),member); dealMemberCard(member,param); }catch (BusinessException e){ throw e; @@ -859,62 +874,50 @@ * @param param */ private void dealMemberCard(Member member, UserUpdateRequest param) { - if(!Objects.isNull(param.getCardList())&¶m.getCardList().size()>Constants.ZERO){ - if(CollectionUtils.isNotEmpty(param.getCardList())){ - List<MemberCard> memberCardList = new ArrayList<>(); - for (String id:param.getCardList()) { + if(Objects.isNull(param.getCardList()) || param.getCardList().size()== Constants.ZERO){ + param.setCardList(new ArrayList<>()); + //濡傛灉娌℃湁鍗″彿锛岄粯璁ょ粰涓�涓崱鍙� + param.getCardList().add(Constants.VIRTUAL_CARD_INDEX+member.getId()); + } + if(CollectionUtils.isNotEmpty(param.getCardList())){ + List<MemberCard> memberCardList = new ArrayList<>(); + for (String id:param.getCardList()) { + MemberCard model = memberCardMapper.selectOne(new QueryWrapper<MemberCard>().lambda() + .eq(MemberCard::getCode,id) + .eq(MemberCard::getMemberId,member.getId())); + + if(model!=null && Constants.equalsInteger(model.getHkStatus(),Constants.ONE)){ + //濡傛灉宸茬粡寮�鍗″畬鎴�,涓嶅仛浠讳綍澶勭悊 + }else if(model !=null){ + //濡傛灉瀛樺湪锛屼絾鏈紑鍗★紝鍒欑洿鎺ユ洿鏀逛负寰呭悓姝� + model.setHkStatus(Constants.ZERO); + model.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); + model.setIsdeleted(Constants.ZERO); + memberCardMapper.updateById(model); + }else{ MemberCard memberCard = new MemberCard(); memberCard.setCreateDate(new Date()); + memberCard.setStatus(Constants.ONE); memberCard.setMemberId(member.getId()); memberCard.setIsdeleted(Constants.ZERO); + memberCard.setType(HKConstants.CARD_TYPE.NORMAL.getKey()); + memberCard.setHkStatus(Constants.ZERO); + memberCard.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); + memberCard.setType(Constants.TWO); memberCard.setCode(id); memberCardList.add(memberCard); } + } + if(memberCardList.size()>0){ memberCardMapper.insertBatchSomeColumn(memberCardList); } } } - - /** - * //濡傛灉鏈夋巿鏉冮棬绂佹暟鎹紝杩涜鐢ㄦ埛鎺堟潈鏁版嵁涓嬪彂浠诲姟鍒涘缓 - * @param member - */ - private void dealMemberRoleEmpower(Member member, List<Integer> doorIds,Date startTime,Date endTime ) { - //鍒犻櫎鎵�鏈夎�佺殑鎺堟潈淇℃伅 - empowerMapper.update(null,new UpdateWrapper<Empower>().lambda() - .eq(Empower::getMemberId,member.getId()) - .set(Empower::getIsdeleted,Constants.ONE) - .set(Empower::getSendStatus,Constants.ZERO)); -// empowerMapper.delete(new UpdateWrapper<Empower>().lambda() -// .eq(Empower::getMemberId,member.getId()) -// ); - if(doorIds==null || doorIds.size() == 0){ - return; - } - List<Empower> list = new ArrayList<>(); - List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,doorIds)); - if(deviceList == null || deviceList.size() == 0){ - return; - } - for (Device deviceRole:deviceList) { - Empower model = new Empower(); - model.setCreateDate(new Date()); - model.setMemberId(member.getId()); - model.setIsdeleted(Constants.ZERO); - model.setDeviceId(deviceRole.getId()); - model.setSendStatus(Constants.ZERO); - model.setStartTime(startTime); - model.setEndTime(endTime); - model.setSendType(Constants.ZERO); - list.add(model); - } - //瀵煎叆鏂板鐨勬巿鏉冧俊鎭� - empowerMapper.insertBatchSomeColumn(list); - } - private List<Integer> getRoleIdByParam(Integer[] param, Member member) { //娣诲姞浜哄憳瑙掕壊鍏宠仈鏁版嵁 - memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId())); + if(!Objects.isNull(member)&&!Objects.isNull(member.getId())){ + memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId())); + } if(!Objects.isNull(param)&¶m.length>Constants.ZERO){ //鏌ヨ鏁版嵁搴撳瓨鍦ㄧ殑鏉冮檺 List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() @@ -951,7 +954,6 @@ } memberRoleMapper.insertBatchSomeColumn(memberRoleList); member.setRoleId(ids); - return r; } } @@ -969,10 +971,18 @@ return; } List<Integer> doorIds = getRoleIdByParam(param.getRoleIds(),member); - //濡傛灉鏈夋巿鏉冮棬绂佹暟鎹紝杩涜鐢ㄦ埛鎺堟潈鏁版嵁涓嬪彂浠诲姟鍒涘缓 - dealMemberRoleEmpower(member,doorIds,param.getValidStartTime(),param.getValidEndTime()); - + //鏇存柊鎺堟潈鏈夋晥鏈� + Member update = new Member(); + update.setId(member.getId()); + update.setEditDate(new Date()); + update.setStartTime(param.getValidStartTime()); + update.setEndTime(param.getValidEndTime()); + update.setHkStatus(Constants.ZERO);//鍋氫竴閬嶆洿鏂伴�昏緫 + update.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); + memberMapper.updateById(update); } + + @Override public void parkCarAuthor(CarAuthorRequest param){ if(Objects.isNull(param) @@ -1005,6 +1015,7 @@ parkBook.setTimeType(Objects.isNull(param.getValidEndTime())?Constants.ZERO:Constants.ONE); parkBook.setMemberId(member.getId()); parkBook.setHkStatus(Constants.ZERO); + parkBook.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); parkBookList.add(parkBook); } parkBookMapper.insertBatchSomeColumn(parkBookList); @@ -1034,6 +1045,7 @@ i.setStatus(param.getStatus().equals(Constants.ZERO)?Constants.VisitStatus.pass:Constants.VisitStatus.noPass); i.setEndCheckDate(DateUtil.StringToDate(param.getApproveDate(),"yyyy-MM-dd HH:mm:ss")); i.setHkStatus(Constants.ZERO); + i.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); visitsMapper.updateById(i); }); } -- Gitblit v1.9.3