From 9705d3daafae8576c679b91b43c5fc5950cb13ba Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 21 十二月 2023 14:35:26 +0800
Subject: [PATCH] ERP接口
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 89 ++++++++++++++++++++++++++++++--------------
1 files changed, 60 insertions(+), 29 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 f38dd29..bfd400e 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
@@ -270,32 +270,47 @@
if(list !=null && list.size()>0) {
List<Member> addList = new ArrayList<>();
List<Member> updateList = new ArrayList<>();
- List<Integer> delIds = new ArrayList<>();
+ List<Integer> delIds = new ArrayList<>();
+ List<Member> delList = new ArrayList<>();
List<Member> allList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
.eq(Member::getIsdeleted,Constants.ZERO)
.eq(Member::getType, Constants.memberType.internal));
- dealUserChangeList(list,addList,updateList,delIds,allList);
+ dealUserChangeList(list,addList,updateList,delList,allList);
if(addList.size()>0){
+ for (Member member:addList) {
+ dealRoleEmpower(member,param.getStartTime(), param.getEndTime());
+ }
memberMapper.insertBatchSomeColumn(addList);
}
if(updateList.size()>0){
for(Member c : updateList){
+ dealRoleEmpower(c,param.getStartTime(), param.getEndTime());
memberMapper.updateById(c);
}
}
- if(delIds.size()>0){
- //鍒犻櫎鎵�鏈夐渶瑕佸垹闄ょ殑缁勭粐淇℃伅(閫昏緫鍒犻櫎锛�
+ if(delList.size()>0){
+ for (Member member:delList) {
+ dealRoleEmpower(member,param.getStartTime(), param.getEndTime());
+ }
+ delIds = delList.stream().map(m->m.getId()).collect(Collectors.toList());
memberMapper.update(null,new UpdateWrapper<Member>().lambda().set(Member::getHkStatus,Constants.ZERO)
.set(Member::getIsdeleted, Constants.ONE).in(Member::getId,delIds));
}
-
}else{
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鍚屾ERP鏁版嵁涓虹┖锛�");
}
return null;
}
- private void dealUserChangeList(List<UserListRespone> list, List<Member> addList, List<Member> updateList, List<Integer> delIds, List<Member> allList) {
+ public void dealRoleEmpower(Member member,Date startTime , Date endTime){
+ List<Integer> doorIds = null;
+ doorIds = getRoleIdByParam(member.getRoleIds(),member);
+ //濡傛灉鏈夋巿鏉冮棬绂佹暟鎹紝杩涜鐢ㄦ埛鎺堟潈鏁版嵁涓嬪彂浠诲姟鍒涘缓
+ dealMemberRoleEmpower(member,doorIds,startTime,endTime);
+ }
+
+
+ private void dealUserChangeList(List<UserListRespone> list, List<Member> addList, List<Member> updateList,List<Member> delList, List<Member> allList) {
Date date = new Date();
for(UserListRespone response : list){
//鏍规嵁 erpId 鏌ヨ鐢ㄦ埛淇℃伅锛屽垽鏂槸鏂板杩樻槸鏇存柊
@@ -311,7 +326,10 @@
//濡傛灉鏄洿鏂�
if(Constants.formatIntegerNum(response.getIsdeleted()) == Constants.ONE){
//濡傛灉宸插垹闄わ紝鍔犲叆鍒犻櫎闆嗗悎涓�
- delIds.add(member.getId());
+ member.setRoleIds(response.getRoleIds());
+ delList.add(member);
+// delIds.add(member.getId());
+
continue;
}
updateList.add(addUpdateMemberModel(response,member,date));
@@ -320,7 +338,8 @@
if(allList!=null && allList.size()>0){
for(Member c : allList){
if(isUserDeleted(c,list)){
- delIds.add(c.getId());
+ delList.add(c);
+// delIds.add(c.getId());
}
}
}
@@ -341,6 +360,7 @@
member.setIdcardDecode(Constants.getTuominStr(param.getIdNo()));
member.setCompanyId(param.getOrgId());
member.setHkStatus(Constants.ZERO);
+ member.setRoleIds(param.getRoleIds());
return member;
}
@@ -353,12 +373,14 @@
member.setEditDate(new Date());
member.setErpDate(new Date());
member.setHkStatus(Constants.ZERO);
+ member.setRoleIds(param.getRoleIds());
return member;
}
private boolean isUserDeleted(Member c, List<UserListRespone> list) {
for(UserListRespone m : list){
if(StringUtils.equals(c.getErpId(),m.getId().toString())){
+ c.setRoleIds(m.getRoleIds());
return true;
}
}
@@ -398,7 +420,7 @@
try{
String erpAccessKey = systemDictDataBiz.queryByCode(Constants.ERP_CONFIG,Constants.ERP_ACCESS_KEY).getCode();
String erpAccessSecret = systemDictDataBiz.queryByCode(Constants.ERP_CONFIG,Constants.ERP_ACCESS_SECRET).getCode();
- if(!accessKey.equals(erpAccessKey)||!erpAccessSecret.equals(accessSecret)){
+ if(!(accessKey.equals(erpAccessKey)&&erpAccessSecret.equals(accessSecret))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"绉橀挜鍖归厤澶辫触");
}
JwtPayLoad payLoad = new JwtPayLoad(erpAccessKey+"-"+erpAccessSecret);
@@ -406,8 +428,9 @@
RedisUtil.addObject(redisTemplate,Constants.RedisKeys.ERP_TOKEN,token,Constants.RedisKeys.EXPIRE_TIME);
result.setToken(token);
result.setExpireTime(Constants.RedisKeys.EXPIRE_TIME);
- }catch (Exception e){
-
+ return result;
+ }catch (BusinessException e ){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),e.getMessage());
}finally {
Map<String,String> param = new HashMap<>();
param.put("accessKey",accessKey);
@@ -415,8 +438,6 @@
saveInterfaceLog(param,"/visitBiz/accesstoken",JSONObject.toJSONString(result),Constants.ZERO);
}
-
- return result;
}
/**
@@ -518,12 +539,19 @@
queryWrapper.selectAll(VisitEvent.class);
queryWrapper.selectAs(Visits::getName, VisitEventListResponse::getVisitorName);
+ queryWrapper.selectAs(VisitEvent::getBeVisitedPersonName, VisitEventListResponse::getBeVisitedUserName);
+ queryWrapper.selectAs(VisitEvent::getBeVisitedPersonOrg, VisitEventListResponse::getBeVisitedUserOrg);
+ queryWrapper.selectAs(VisitEvent::getSex, VisitEventListResponse::getVisitorSex);
+ queryWrapper.selectAs(VisitEvent::getVisitorWorkUint, VisitEventListResponse::getVisitorWorkUint);
+
queryWrapper.leftJoin(Visits.class,Visits::getId,VisitEvent::getVisitorId);
if(!Objects.isNull(visitListRequest)){
queryWrapper.eq(!Objects.isNull(visitListRequest.getEventId()),VisitEvent::getEventId, visitListRequest.getEventId());
queryWrapper.like(StringUtils.isNotBlank(visitListRequest.getVisitorName()),Visits::getName, visitListRequest.getVisitorName());
- queryWrapper.eq(StringUtils.isNotBlank(visitListRequest.getIdNo()),VisitEvent::getIdNo, visitListRequest.getIdNo());
+
+ queryWrapper.eq(StringUtils.isNotBlank(visitListRequest.getIdNo()),Visits::getIdcardNo, DESUtil.encrypt(Constants.EDS_PWD, visitListRequest.getIdNo()) );
+
queryWrapper.eq(StringUtils.isNotBlank(visitListRequest.getBeVisitedPersonId()),VisitEvent::getBeVisitedPersonId, visitListRequest.getBeVisitedPersonId());
queryWrapper.eq(StringUtils.isNotBlank(visitListRequest.getBeVisitedPersonOrgId()),VisitEvent::getBeVisitedPersonOrgId, visitListRequest.getBeVisitedPersonOrgId());
queryWrapper.like(StringUtils.isNotBlank(visitListRequest.getVisitorWorkUint()),VisitEvent::getVisitorWorkUint, visitListRequest.getVisitorWorkUint());
@@ -561,11 +589,11 @@
Utils.MP.blankToNull(doorEventListRequest);
queryWrapper.selectAs(DeviceEvent::getEventId,DoorEventListResponse::getEventId);
queryWrapper.selectAs(DeviceEvent::getEventType,DoorEventListResponse::getEventType);
- queryWrapper.selectAs(DeviceEvent::getSex,DoorEventListResponse::getSex);
+ queryWrapper.selectAs(Member::getSex,DoorEventListResponse::getSex);
queryWrapper.selectAs(DeviceEvent::getSrcName,DoorEventListResponse::getSrcName);
queryWrapper.selectAs(DeviceEvent::getSrcType,DoorEventListResponse::getSrcType);
- queryWrapper.selectAs(DeviceEvent::getIdcardDecode,DoorEventListResponse::getIdcardNo);
- queryWrapper.selectAs(DeviceEvent::getName,DoorEventListResponse::getName);
+ queryWrapper.selectAs(Member::getIdcardDecode,DoorEventListResponse::getIdcardNo);
+ queryWrapper.selectAs(Member::getName,DoorEventListResponse::getName);
queryWrapper.selectAs(DeviceEvent::getUserType,DoorEventListResponse::getType);
queryWrapper.selectAs(DeviceEvent::getExtEventInOut,DoorEventListResponse::getEventInOut);
queryWrapper.selectAs(DeviceEvent::getExtAccessChannel,DoorEventListResponse::getExtAccessChannel);
@@ -577,14 +605,14 @@
if(!Objects.isNull(doorEventListRequest)){
queryWrapper.eq(!Objects.isNull(doorEventListRequest.getEventId()),DeviceEvent::getEventId, doorEventListRequest.getEventId());
- queryWrapper.like(StringUtils.isNotBlank(doorEventListRequest.getName()),DeviceEvent::getName, doorEventListRequest.getName());
+ queryWrapper.like(StringUtils.isNotBlank(doorEventListRequest.getName()),Member::getName, doorEventListRequest.getName());
if(StringUtils.isNotBlank(doorEventListRequest.getIdNo())){
//杩涜鍔犲瘑
String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,doorEventListRequest.getIdNo());
- queryWrapper.eq(DeviceEvent::getIdNum, encryptIdNo);
+ queryWrapper.eq(Member::getIdcardNo, encryptIdNo);
}
- queryWrapper.ge(StringUtils.isNotBlank(doorEventListRequest.getStartTime()),DeviceEvent::getHappenTime, doorEventListRequest.getStartTime());
- queryWrapper.le(StringUtils.isNotBlank(doorEventListRequest.getEndTime()),DeviceEvent::getHappenTime, doorEventListRequest.getEndTime());
+ queryWrapper.ge(StringUtils.isNotBlank(doorEventListRequest.getStartTime()),DeviceEvent::getCreateDate, doorEventListRequest.getStartTime());
+ queryWrapper.le(StringUtils.isNotBlank(doorEventListRequest.getEndTime()),DeviceEvent::getCreateDate, doorEventListRequest.getEndTime());
for(PageWrap.SortData sortData: param.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
queryWrapper.orderByDesc(sortData.getProperty());
@@ -615,7 +643,8 @@
Utils.MP.blankToNull(carEventListRequest);
queryWrapper.selectAs(CarEvent::getEventId,CarEventListResponse::getEventId);
queryWrapper.selectAs(CarEvent::getEventType,CarEventListResponse::getEventType);
- queryWrapper.selectAs(CarEvent::getInoutType,CarEventListResponse::getEventType);
+ queryWrapper.selectAs(CarEvent::getCreateDate,CarEventListResponse::getCreateTime);
+ queryWrapper.selectAs(CarEvent::getInoutType,CarEventListResponse::getInoutType);
queryWrapper.selectAs(CarEvent::getAlarmCar,CarEventListResponse::getAlarmCar);
queryWrapper.selectAs(CarEvent::getCarAttributeName,CarEventListResponse::getCarAttributeName);
queryWrapper.selectAs(CarEvent::getCardNo,CarEventListResponse::getCardNo);
@@ -639,8 +668,8 @@
queryWrapper.eq(StringUtils.isNotBlank(carEventListRequest.getParkId()),CarEvent::getParkIndex, carEventListRequest.getParkId());
queryWrapper.like(StringUtils.isNotBlank(carEventListRequest.getParkName()),CarEvent::getParkName, carEventListRequest.getParkName());
queryWrapper.eq(StringUtils.isNotBlank(carEventListRequest.getPlateNo()),CarEvent::getPlateNos, carEventListRequest.getPlateNo());
- queryWrapper.ge(StringUtils.isNotBlank(carEventListRequest.getStartTime()),CarEvent::getHappenTime, carEventListRequest.getStartTime());
- queryWrapper.le(StringUtils.isNotBlank(carEventListRequest.getEndTime()),CarEvent::getHappenTime, carEventListRequest.getEndTime());
+ queryWrapper.ge(StringUtils.isNotBlank(carEventListRequest.getStartTime()),CarEvent::getCreateDate, carEventListRequest.getStartTime());
+ queryWrapper.le(StringUtils.isNotBlank(carEventListRequest.getEndTime()),CarEvent::getCreateDate, carEventListRequest.getEndTime());
for(PageWrap.SortData sortData: param.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
queryWrapper.orderByDesc(sortData.getProperty());
@@ -814,10 +843,13 @@
*/
private void dealMemberRoleEmpower(Member member, List<Integer> doorIds,Date startTime,Date endTime ) {
//鍒犻櫎鎵�鏈夎�佺殑鎺堟潈淇℃伅
- empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+// 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())
- .set(Empower::getIsdeleted,Constants.ONE)
- .set(Empower::getSendStatus,Constants.ZERO)
);
if(doorIds==null || doorIds.size() == 0){
return;
@@ -949,8 +981,7 @@
try{
if(Objects.isNull(param)
||Objects.isNull(param.getId())
- ||Objects.isNull(param.getStatus())
- ){
+ ||Objects.isNull(param.getStatus())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
if(!(param.getStatus()==Constants.ZERO||param.getStatus()==Constants.ONE)){
--
Gitblit v1.9.3