From dc19e6b41d721836342e1219aa33087e57183417 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 19 十二月 2023 09:59:49 +0800
Subject: [PATCH] 海康接口对接开发
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 147 +++++++++++++++++++++++++++++++++++++-----------
1 files changed, 113 insertions(+), 34 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 8dd1de3..eb305d8 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
@@ -40,6 +40,7 @@
import com.doumee.service.business.InterfaceLogService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
+import io.swagger.models.auth.In;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.C;
@@ -91,6 +92,10 @@
@Autowired
private CompanyMapper companyMapper;
+ @Autowired
+ private EmpowerMapper empowerMapper;
+ @Autowired
+ private ParkBookMapper parkBookMapper;
@Autowired
private MemberMapper memberMapper;
@@ -270,7 +275,6 @@
.eq(Member::getIsdeleted,Constants.ZERO)
.eq(Member::getType, Constants.memberType.internal));
dealUserChangeList(list,addList,updateList,delIds,allList);
-
if(addList.size()>0){
memberMapper.insertBatchSomeColumn(addList);
}
@@ -735,6 +739,7 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getErpId,param.getId()).last("limit 1"));
+ List<Integer> doorIds = null;
if(Objects.isNull(member)){
member = new Member();
BeanUtils.copyProperties(param,member);
@@ -749,6 +754,7 @@
member.setIdcardNo(encryptIdNo);
member.setIdcardDecode(Constants.getTuominStr(param.getIdNo()));
member.setCompanyId(param.getOrgId());
+ doorIds = getRoleIdByParam(param,member);
memberMapper.insert(member);
//TODO 娴峰悍鏁版嵁鍒涘缓
}else{
@@ -759,46 +765,17 @@
member.setCompanyId(param.getOrgId());
member.setEditDate(new Date());
member.setErpDate(new Date());
+ doorIds = getRoleIdByParam(param,member);
memberMapper.updateById(member);
//鍒犻櫎鐢ㄦ埛鍗$墖鏁版嵁 浜哄憳瑙掕壊鍏宠仈
memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,member.getId()));
memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId()));
//TODO 娴峰悍鏁版嵁鏇存柊
}
- //娣诲姞浜哄憳瑙掕壊鍏宠仈鏁版嵁
- if(!Objects.isNull(param.getRoleIds())&¶m.getRoleIds().length>Constants.ZERO){
- //鏌ヨ鏁版嵁搴撳瓨鍦ㄧ殑鏉冮檺
- List<DeviceRole> deviceRoleList
- = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda().eq(DeviceRole::getId,param.getRoleIds()));
- if(CollectionUtils.isNotEmpty(deviceRoleList)){
- List<MemberRole> memberRoleList = new ArrayList<>();
- for (DeviceRole deviceRole:deviceRoleList) {
- MemberRole memberRole = new MemberRole();
- memberRole.setCreateDate(new Date());
- memberRole.setMemberId(member.getId());
- memberRole.setIsdeleted(Constants.ZERO);
- memberRole.setRoleId(deviceRole.getId().toString());
- memberRoleList.add(memberRole);
- }
- memberRoleMapper.insertBatchSomeColumn(memberRoleList);
- }
- }
-
+ //濡傛灉鏈夋巿鏉冮棬绂佹暟鎹紝杩涜鐢ㄦ埛鎺堟潈鏁版嵁涓嬪彂浠诲姟鍒涘缓
+ dealMemberRoleEmpower(member,doorIds,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()) {
- MemberCard memberCard = new MemberCard();
- memberCard.setCreateDate(new Date());
- memberCard.setMemberId(member.getId());
- memberCard.setIsdeleted(Constants.ZERO);
- memberCard.setCode(id);
- memberCardList.add(memberCard);
- }
- memberCardMapper.insertBatchSomeColumn(memberCardList);
- }
- }
+ dealMemberCard(member,param);
}catch (Exception e){
e.printStackTrace();
}finally {
@@ -806,6 +783,108 @@
}
}
+ /**
+ * 娣诲姞浜哄憳鍗$墖鏁版嵁
+ * @param member
+ * @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()) {
+ MemberCard memberCard = new MemberCard();
+ memberCard.setCreateDate(new Date());
+ memberCard.setMemberId(member.getId());
+ memberCard.setIsdeleted(Constants.ZERO);
+ memberCard.setCode(id);
+ memberCardList.add(memberCard);
+ }
+ memberCardMapper.insertBatchSomeColumn(memberCardList);
+ }
+ }
+ }
+
+ /**
+ * //濡傛灉鏈夋巿鏉冮棬绂佹暟鎹紝杩涜鐢ㄦ埛鎺堟潈鏁版嵁涓嬪彂浠诲姟鍒涘缓
+ * @param member
+ */
+ private void dealMemberRoleEmpower(Member member, List<Integer> doorids,UserUpdateRequest param) {
+ //鍒犻櫎鎵�鏈夎�佺殑鎺堟潈淇℃伅
+ empowerMapper.update(null,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;
+ }
+ 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(param.getValidStartTime());
+ model.setEndTime(param.getValidEndTime());
+ model.setSendType(Constants.ZERO);
+ list.add(model);
+ }
+ //瀵煎叆鏂板鐨勬巿鏉冧俊鎭�
+ empowerMapper.insertBatchSomeColumn(list);
+ }
+
+ private List<Integer> getRoleIdByParam(UserUpdateRequest param, Member member) {
+ //娣诲姞浜哄憳瑙掕壊鍏宠仈鏁版嵁
+ if(!Objects.isNull(param.getRoleIds())&¶m.getRoleIds().length>Constants.ZERO){
+ //鏌ヨ鏁版嵁搴撳瓨鍦ㄧ殑鏉冮檺
+ List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
+ .eq(DeviceRole::getType,Constants.TWO)
+ .eq(DeviceRole::getId,param.getRoleIds()));
+ if(CollectionUtils.isNotEmpty(deviceRoleList)){
+ List<MemberRole> memberRoleList = new ArrayList<>();
+ String ids = "";
+ List<Integer> r = new ArrayList<>();
+ for (int i = 0; i < deviceRoleList.size(); i++) {
+ DeviceRole deviceRole =deviceRoleList.get(i);
+ if(i>0){
+ ids += ",";
+ }
+ Integer id =deviceRole.getId();
+ ids += "["+id+"]";
+ String doorids =deviceRole.getDoorIds();
+ if(StringUtils.isNotBlank(doorids)){
+ String[] ss = doorids.split(",");
+ try {
+ for(String s :ss){
+ r.add(Integer.parseInt(s));
+ }
+ }catch (Exception e){
+ //鑴忔暟鎹笉澶勭悊
+ }
+ }
+ MemberRole memberRole = new MemberRole();
+ memberRole.setCreateDate(new Date());
+ memberRole.setMemberId(member.getId());
+ memberRole.setIsdeleted(Constants.ZERO);
+ memberRole.setRoleId(deviceRole.getId().toString());
+ memberRoleList.add(memberRole);
+ }
+ memberRoleMapper.insertBatchSomeColumn(memberRoleList);
+ member.setRoleId(ids);
+
+ return r;
+ }
+ }
+ return null;
+ }
+
@Override
public void approveApply(ApproveNoticeRequest param){
--
Gitblit v1.9.3