|
|
@@ -4,6 +4,8 @@ import com.github.microservice.models.devicePermiss.DeviceAboutPermiss;
|
|
|
import com.github.microservice.models.devicePermiss.GateWayPermissModel;
|
|
|
import com.github.microservice.models.devicePermiss.GateWayQuery;
|
|
|
import com.github.microservice.models.devicePermiss.UserPermiss;
|
|
|
+import com.zhongshu.card.client.model.school.CardInfoModel;
|
|
|
+import com.zhongshu.card.client.type.school.CardState;
|
|
|
import com.zhongshu.card.server.core.dao.devices.DeviceInfoDao;
|
|
|
import com.zhongshu.card.server.core.dao.devices.DevicePermissDao;
|
|
|
import com.zhongshu.card.server.core.dao.org.OrganizationDao;
|
|
|
@@ -11,10 +13,19 @@ import com.zhongshu.card.server.core.dao.org.OrganizationUserDao;
|
|
|
import com.zhongshu.card.server.core.domain.devices.DeviceInfo;
|
|
|
import com.zhongshu.card.server.core.domain.devices.DevicePermiss;
|
|
|
import com.zhongshu.card.server.core.domain.org.Organization;
|
|
|
+import com.zhongshu.card.server.core.domain.org.UserAccount;
|
|
|
+import com.zhongshu.card.server.core.domain.projectAbout.OrgUserFace;
|
|
|
+import com.zhongshu.card.server.core.event.DevicePermissChangeEvent;
|
|
|
+import com.zhongshu.card.server.core.event.OrgUserBindUpdateSyncEvent;
|
|
|
+import com.zhongshu.card.server.core.service.projectAbout.CardInfoServiceImpl;
|
|
|
+import com.zhongshu.card.server.core.service.projectAbout.OrgUserFaceService;
|
|
|
import com.zhongshu.card.server.core.service.user.UserAccountServiceImpl;
|
|
|
+import lombok.SneakyThrows;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.context.event.EventListener;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
@@ -49,6 +60,12 @@ public class DevicePermissIotService {
|
|
|
@Autowired
|
|
|
private OrganizationUserDao organizationUserDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private OrgUserFaceService orgUserFaceService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private CardInfoServiceImpl cardInfoService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询网关 包含的设备的权限
|
|
|
*
|
|
|
@@ -58,6 +75,7 @@ public class DevicePermissIotService {
|
|
|
public GateWayPermissModel queryGateWayPermiss(GateWayQuery query) {
|
|
|
// 返回模型
|
|
|
GateWayPermissModel model = new GateWayPermissModel();
|
|
|
+ model.setSuccess();
|
|
|
|
|
|
String deviceId = query.getDeviceId();
|
|
|
DeviceInfo deviceInfo = deviceInfoDao.findTopByDeviceId(deviceId);
|
|
|
@@ -76,11 +94,40 @@ public class DevicePermissIotService {
|
|
|
return model;
|
|
|
}
|
|
|
|
|
|
+ @EventListener(classes = DevicePermissChangeEvent.class)
|
|
|
+ @Async
|
|
|
+ @SneakyThrows
|
|
|
+ public void devicePermissChange(DevicePermissChangeEvent event) {
|
|
|
+ log.info("设备权限发生变化...");
|
|
|
+ // 通知物联网 设备权限发生变化
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
public UserPermiss toModel(DevicePermiss devicePermiss) {
|
|
|
UserPermiss userPermiss = null;
|
|
|
if (ObjectUtils.isNotEmpty(devicePermiss)) {
|
|
|
userPermiss = new UserPermiss();
|
|
|
+ String userId = devicePermiss.getUserId();
|
|
|
+ String projectOid = devicePermiss.getProjectOid();
|
|
|
+ UserAccount account = devicePermiss.getUserAccount();
|
|
|
+ if (ObjectUtils.isNotEmpty(account)) {
|
|
|
+ userPermiss.setUserId(userId);
|
|
|
+ userPermiss.setUserName(account.getName());
|
|
|
+ }
|
|
|
|
|
|
+ // 查询用户的头像
|
|
|
+ OrgUserFace orgUserFace = orgUserFaceService.getUserFace(userId, projectOid);
|
|
|
+ if (ObjectUtils.isNotEmpty(orgUserFace)) {
|
|
|
+ userPermiss.setFaceImage(orgUserFace.getImg());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询用户的卡片
|
|
|
+ List<CardInfoModel> list = cardInfoService.getUserOrgAllCard(userId, projectOid);
|
|
|
+ List<String> cardNos = new ArrayList<>();
|
|
|
+ if (ObjectUtils.isNotEmpty(list)) {
|
|
|
+ cardNos = list.stream().filter(it -> it.getCardState() == CardState.Enable).map(it -> it.getCode()).collect(Collectors.toUnmodifiableList());
|
|
|
+ }
|
|
|
+ userPermiss.setCardNos(cardNos);
|
|
|
}
|
|
|
return userPermiss;
|
|
|
}
|