TRX 1 год назад
Родитель
Сommit
e6ca2b17d8

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/base/UserIdAndOidModel.java

@@ -12,7 +12,7 @@ import lombok.NoArgsConstructor;
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
-public class UserIdAndOidModel extends OidModel {
+public class UserIdAndOidModel extends ProjectOidParam {
 
     @Schema(description = "用户userId", example = "")
     private String userId;

+ 2 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/projectAbout/OrgUserFaceController.java

@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.validation.Valid;
 
 /**
- * 结构人脸管理
+ * 项目人员人脸管理
  *
  * @author TRX
  * @date 2024/7/26
@@ -44,7 +44,7 @@ public class OrgUserFaceController {
     @Operation(summary = "得到用户人脸信息", description = "得到用户人脸信息")
     @RequestMapping(value = "getUserFace", method = {RequestMethod.POST})
     public ResultContent<OrgUserFaceModel> getUserFace(@RequestBody @Valid UserIdAndOidModel param) {
-        return orgUserFaceService.getUserFaceModel(param.getUserId(), param.getOid());
+        return orgUserFaceService.getUserFaceModel(param.getUserId(), param.getProjectOid());
     }
 
 }

+ 1 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/projectAbout/ProjectWeChatInfoController.java

@@ -50,8 +50,7 @@ public class ProjectWeChatInfoController {
         return projectWeChatInfoService.getProjectWeChatInfo(param.getProjectOid());
     }
 
-    @ResourceAuth(value = "user", type = AuthType.User)
-    @Operation(summary = "得到项目的小程序配置", description = "得到项目的小程序配置")
+    @Operation(summary = "小程序-得到小程序关联的项目oid(需要在head设置appId)", description = "得到小程序关联的项目oid")
     @RequestMapping(value = "getProjectOidForXcx", method = {RequestMethod.GET})
     public ResultContent<List<ProjectXcxModel>> getProjectOidForXcx() {
         return projectWeChatInfoService.getProjectOidForXcx();

+ 1 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/devices/DevicePermissEventService.java

@@ -124,6 +124,7 @@ public class DevicePermissEventService {
     public void userInfoChange(UserInfoChangeSyncEvent event) {
         String projectOid = event.getProjectOid();
         List<String> userIds = event.getUserIds();
+        log.info("userInfoChange; {} {}", projectOid);
         if (StringUtils.isNotEmpty(projectOid) && ObjectUtils.isNotEmpty(userIds)) {
             executorService.execute(() -> {
                 List<String> deviceIds = devicePermissService.getUserAllDeviceIds(projectOid, userIds);

+ 1 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/gateDoor/GateDoorService.java

@@ -36,8 +36,7 @@ public class GateDoorService extends SuperService {
      */
     public ResultContent onLine(OnLineParam param) {
         OnLineModel resultModel = new OnLineModel();
-        int i = RandomUtil.nextInt(1000, 100000);
-        resultModel.setMessageId(Long.valueOf(i));
+        resultModel.setMessageId(Long.valueOf(param.getMqttDataId()));
 
         OnLineInfoParam paramFaceInfo = param.getInfo();
         String facesluiceId = "";

+ 18 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/projectAbout/CardInfoServiceImpl.java

@@ -269,6 +269,11 @@ public class CardInfoServiceImpl extends SuperService implements CardInfoService
         cardInfoPool.setUseUserId(userId);
         cardInfoPool.setUseTime(System.currentTimeMillis());
         cardInfoPoolDao.save(cardInfoPool);
+
+        // 用户卡片增多
+        UserInfoChangeSyncEvent event = new UserInfoChangeSyncEvent(this,
+                List.of(cardInfo.getUserId()), cardInfo.getProjectOid());
+        applicationContext.publishEvent(event);
         return ResultContent.buildSuccess();
     }
 
@@ -465,6 +470,11 @@ public class CardInfoServiceImpl extends SuperService implements CardInfoService
         cardInfoLossRecord.setCardUserAccount(cardUserAccount);
         cardInfoLossRecord.setOperationType(CardOperationType.Loss);
         cardInfoLossRecordDao.save(cardInfoLossRecord);
+
+        // 卡片信息发送变化
+        UserInfoChangeSyncEvent event = new UserInfoChangeSyncEvent(this,
+                List.of(cardInfo.getUserId()), cardInfo.getProjectOid());
+        applicationContext.publishEvent(event);
         return ResultContent.buildSuccess();
     }
 
@@ -499,7 +509,10 @@ public class CardInfoServiceImpl extends SuperService implements CardInfoService
         cardInfoLossRecord.setCardUserAccount(userAccount);
         cardInfoLossRecord.setOperationType(CardOperationType.Enable);
         cardInfoLossRecordDao.save(cardInfoLossRecord);
-
+        // 卡片信息发送变化
+        UserInfoChangeSyncEvent event = new UserInfoChangeSyncEvent(this,
+                List.of(cardInfo.getUserId()), cardInfo.getProjectOid());
+        applicationContext.publishEvent(event);
         return ResultContent.buildSuccess();
     }
 
@@ -945,6 +958,10 @@ public class CardInfoServiceImpl extends SuperService implements CardInfoService
         ExcelUtils.commonExecuteExcel(request, response, execlParam);
     }
 
+    public void sendUserInfoChangeEvent(){
+
+    }
+
     //----------------------------园区卡片操作 end --------------------------
 
     // 简单的信息

+ 16 - 6
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/projectAbout/OrgUserFaceService.java

@@ -12,6 +12,7 @@ import com.zhongshu.card.server.core.util.BeanUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.kafka.common.protocol.types.Field;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Service;
@@ -43,15 +44,18 @@ public class OrgUserFaceService extends SuperService {
      * @return
      */
     public ResultContent saveFace(OrgUserFaceParam param) {
-        String oid = param.getOid();
-        if (StringUtils.isEmpty(oid)) {
+        String projectOid = param.getProjectOid();
+        if (StringUtils.isEmpty(projectOid)) {
+            projectOid = getCurrentProjectOid();
+        }
+        if (StringUtils.isEmpty(projectOid)) {
             return ResultContent.buildFail("oid不能为空");
         }
         String userId = param.getUserId();
         if (StringUtils.isEmpty(userId)) {
             userId = getCurrentUserId();
         }
-        OrgUserFace orgUserFace = orgUserFaceDao.findTopByUserIdAndProjectOid(userId, oid);
+        OrgUserFace orgUserFace = orgUserFaceDao.findTopByUserIdAndProjectOid(userId, projectOid);
         if (ObjectUtils.isEmpty(orgUserFace)) {
             orgUserFace = new OrgUserFace();
             initEntity(orgUserFace);
@@ -59,7 +63,7 @@ public class OrgUserFaceService extends SuperService {
             initUpdateEntity(orgUserFace);
         }
         BeanUtils.copyProperties(param, orgUserFace);
-        orgUserFace.setProjectOid(oid);
+        orgUserFace.setProjectOid(projectOid);
         orgUserFaceDao.save(orgUserFace);
 
         // 通知人脸信息发送变化
@@ -77,11 +81,17 @@ public class OrgUserFaceService extends SuperService {
         return list;
     }
 
-    public ResultContent<OrgUserFaceModel> getUserFaceModel(String userId, String oid) {
+    public ResultContent<OrgUserFaceModel> getUserFaceModel(String userId, String projectOid) {
         if (StringUtils.isEmpty(userId)) {
             userId = getCurrentUserId();
         }
-        OrgUserFace entity = getUserFace(userId, oid);
+        if (StringUtils.isEmpty(projectOid)) {
+            projectOid = getCurrentProjectOid();
+        }
+        if (StringUtils.isEmpty(projectOid)) {
+            return ResultContent.buildFail("projectOid为空");
+        }
+        OrgUserFace entity = getUserFace(userId, projectOid);
         return ResultContent.buildSuccess(toModel(entity));
     }
 

+ 1 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/projectAbout/ProjectWeChatInfoService.java

@@ -138,7 +138,7 @@ public class ProjectWeChatInfoService extends SuperService {
 
         List<ProjectWeChatInfo> list = projectWeChatInfoDao.findByAppIdOrderByUpdateTimeDesc(appId);
         if (ObjectUtils.isNotEmpty(list)) {
-            list.stream().map(it -> {
+            models = list.stream().map(it -> {
                 ProjectXcxModel model = new ProjectXcxModel();
                 Organization projectInfo = it.getProjectInfo();
                 if (ObjectUtils.isNotEmpty(projectInfo)) {
@@ -148,7 +148,6 @@ public class ProjectWeChatInfoService extends SuperService {
                 return model;
             }).collect(Collectors.toUnmodifiableList());
         }
-
         return ResultContent.buildSuccess(models);
     }