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/dao/business/model/Member.java | 9 ++-
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 3
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java | 2
server/dmvisit_service/src/main/java/com/doumee/dao/business/EmpowerMapper.java | 3 +
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java | 3 -
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java | 2
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 146 +++++++++++++++++++++++++++++++++++++-----------
7 files changed, 126 insertions(+), 42 deletions(-)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/EmpowerMapper.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/EmpowerMapper.java
index b169bd3..bea29ec 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/EmpowerMapper.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/EmpowerMapper.java
@@ -3,10 +3,13 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.Empower;
+import java.util.List;
+
/**
* @author 姹熻箘韫�
* @date 2023/11/30 15:33
*/
public interface EmpowerMapper extends BaseMapper<Empower> {
+ void insertBatchSomeColumn(List<Empower> list);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java
index 1aa61b3..b783383 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java
@@ -63,9 +63,6 @@
private String importInfo;
-
-
-
@ApiModelProperty(value = "涓嬪彂浜哄憳", example = "1")
private Integer sendUserId;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index 2dd81ff..4525313 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -188,9 +188,9 @@
@ExcelColumn(name="鏄惁楂樼骇瀹℃壒浜� 0鍚� 1鏄�")
private Integer highCheckor;
- @ApiModelProperty(value = "闂ㄧ瑙掕壊缂栫爜锛堝叧鑱攄oor_role)", example = "1")
- @ExcelColumn(name="闂ㄧ瑙掕壊缂栫爜锛堝叧鑱攄oor_role)")
- private Integer roleId;
+ @ApiModelProperty(value = "闂ㄧ瑙掕壊缂栫爜锛堝叧鑱攄evice_role),澶氫釜鑻辨枃閫楀彿闅斿紑", example = "1")
+ @ExcelColumn(name="闂ㄧ瑙掕壊缂栫爜 ")
+ private String roleId;
@ApiModelProperty(value = "闂ㄧ瑙掕壊鎺堟潈鏃堕棿")
@ExcelColumn(name="闂ㄧ瑙掕壊鎺堟潈鏃堕棿")
@@ -206,4 +206,7 @@
@ApiModelProperty(value = "缁勭粐娴峰悍缂栫爜")
@TableField(exist = false)
private String companyHkId;
+ @ApiModelProperty(value = "瑙掕壊缂栫爜鏌ヨ")
+ @TableField(exist = false)
+ private String roleIdParam;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java
index 7e9d836..1559ca8 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java
@@ -55,7 +55,7 @@
@ExcelColumn(name="鐢ㄦ埛缂栫爜")
private Integer memberId;
- @ApiModelProperty(value = "瑙掕壊缂栫爜锛堝叧鑱攄oor_role)")
+ @ApiModelProperty(value = "瑙掕壊缂栫爜锛堝叧鑱攄oor_role),澶氫釜鑻辨枃閫楀彿闅斿紑")
@ExcelColumn(name="瑙掕壊缂栫爜锛堝叧鑱攄oor_role)")
private String roleId;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
index 8c9e5ba..b802f7d 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -252,7 +252,7 @@
for (DeviceRole dto:deviceRoleList) {
Member member = new Member();
member.setIsdeleted(Constants.ZERO);
- member.setRoleId(dto.getId());
+ member.setRoleIdParam("["+dto.getId()+"]");
dto.setMemberNum((int) memberService.count(member));
}
newPage.setRecords(deviceRoleList);
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index d962bf3..0e9d62e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -463,7 +463,8 @@
@Override
public long count(Member member) {
- QueryWrapper<Member> wrapper = new QueryWrapper<>(member);
+ QueryWrapper<Member> wrapper = new QueryWrapper<Member>(member);
+ wrapper.lambda().like(StringUtils.isNotBlank(member.getRoleIdParam()), Member::getRoleId, member.getRoleIdParam());
return memberMapper.selectCount(wrapper);
}
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 8b3c883..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;
@@ -734,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);
@@ -748,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{
@@ -758,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 {
@@ -805,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