From c467370d8741bc05ca7c22d4253c58ac0a979ef5 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 09 六月 2026 09:46:25 +0800
Subject: [PATCH] 功能优化
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java | 82 +++++++++++++++++++++++-----------------
1 files changed, 47 insertions(+), 35 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
index 1ff3b10..2432369 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -1,43 +1,42 @@
package com.doumee.service.business.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.api.R;
-import com.doumee.core.constants.ResponseStatus;
-import com.doumee.core.exception.BusinessException;
-import com.doumee.core.model.LoginUserInfo;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.erp.model.openapi.request.RoleListRequest;
-import com.doumee.core.erp.model.openapi.response.DeviceListResponse;
-import com.doumee.core.erp.model.openapi.response.RoleListResponse;
-import com.doumee.core.utils.Constants;
-import com.doumee.core.utils.Utils;
-import com.doumee.dao.admin.response.MemberInfoDTO;
-import com.doumee.dao.business.*;
-import com.doumee.dao.business.join.MemberRoleJoinMapper;
-import com.doumee.dao.business.model.*;
-import com.doumee.dao.web.response.DeviceRoleVO;
-import com.doumee.service.business.DeviceRoleService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.doumee.service.business.MemberService;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.service.business.third.model.LoginUserInfo;
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.*;
+import com.doumee.dao.business.dao.MemberMapper;
+import com.doumee.dao.business.join.MemberRoleJoinMapper;
+import com.doumee.dao.business.model.DeviceRole;
+import com.doumee.dao.business.model.Empower;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.MemberRole;
+import com.doumee.dao.web.response.DeviceRoleVO;
+import com.doumee.service.business.DeviceRoleService;
import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
-
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+import java.util.concurrent.Executor;
/**
* 闂ㄧ瑙掕壊淇℃伅琛⊿ervice瀹炵幇
@@ -54,11 +53,14 @@
private MemberCardMapper memberCardMapper;
@Autowired
private EmpowerMapper empowerMapper;
-
@Autowired
private DeviceMapper deviceMapper;
@Autowired
private MemberRoleJoinMapper memberRoleMapper;
+
+ @Autowired
+ @Qualifier("asyncExecutor")
+ private Executor asyncExecutor;
@Autowired
private MemberMapper memberMapper;
@@ -78,6 +80,9 @@
newDeviceRole = getDeviceRole(deviceRole.getType());
}
LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
+ if(loginUserInfo ==null){
+ loginUserInfo = deviceRole.getLoginUserInfo();
+ }
if(null != newDeviceRole && deviceRole.getIsDefault().equals(Constants.ZERO)) {
DeviceRole updateDeviceRole = new DeviceRole();
// 鑻ョ幇鍦ㄦ柊澧炴暟鎹缃粯璁ら棬绂佺粍锛涢偅涔堝厛鎶婁箣鍓嶇殑榛樿闂ㄧ缁勭姸鎬佹敼涓轰笉鏄粯璁ょ殑
@@ -140,6 +145,9 @@
newDeviceRole = getDeviceRole(deviceRole.getType());
}
LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
+ if(loginUserInfo ==null){
+ loginUserInfo = deviceRole.getLoginUserInfo();
+ }
if(null != newDeviceRole && deviceRole.getIsDefault().equals(Constants.ZERO)) {
DeviceRole update = new DeviceRole();
update.setEdirot(loginUserInfo.getId().toString());
@@ -150,17 +158,13 @@
}
int t = deviceRoleMapper.updateById(deviceRole);
if(t>0){
- Thread tt = new Thread(new Runnable() {
- @Override
- public void run() {
- try {
- startUpdateMemberEmpower(model,deviceRole);
- }catch (Exception e){
- log.error("======闂ㄧ鍒嗙粍淇敼锛屾洿鏂颁汉鍛樻潈闄愬け璐�==="+e.getMessage());
- }
+ asyncExecutor.execute(() -> {
+ try {
+ startUpdateMemberEmpower(model,deviceRole);
+ }catch (Exception e){
+ log.error("======闂ㄧ鍒嗙粍淇敼锛屾洿鏂颁汉鍛樻潈闄愬け璐�===", e);
}
});
- tt.start();
}
}
@Override
@@ -296,7 +300,11 @@
continue FLAG;
}
}
- list.add(Integer.parseInt(s));
+ try {
+ list.add(Integer.parseInt(s));
+ }catch (Exception e){
+ e.printStackTrace();
+ }
}
}
return list;
@@ -309,6 +317,9 @@
newDeviceRole = getDeviceRole(deviceRole.getType());
}
LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
+ if(loginUserInfo ==null){
+ loginUserInfo = deviceRole.getLoginUserInfo();
+ }
List<DeviceRole> deviceRoleList = new ArrayList<>();
if(null != newDeviceRole) {
DeviceRole update = new DeviceRole();
@@ -366,6 +377,7 @@
@Override
public List<DeviceRole> findList(DeviceRole deviceRole) {
+ deviceRole.setIsdeleted(Constants.ZERO);
QueryWrapper<DeviceRole> wrapper = new QueryWrapper<>(deviceRole);
return deviceRoleMapper.selectList(wrapper);
}
@@ -376,7 +388,7 @@
QueryWrapper<DeviceRole> queryWrapper = new QueryWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
pageWrap.getModel().setIsdeleted(Constants.ZERO);
- queryWrapper.select("*,(select count(1) from member_role b where b.isdeleted=0 and b.role_id=device_role.id) as memberNum");
+ queryWrapper.select("*,(select count(1) from member_role b where b.isdeleted=0 and b.role_id=device_role.id ) as memberNum");
if (pageWrap.getModel().getId() != null) {
queryWrapper.lambda().eq(DeviceRole::getId, pageWrap.getModel().getId());
}
--
Gitblit v1.9.3