Преглед на файлове

Merge remote-tracking branch 'origin/master'

wujiefeng преди 1 година
родител
ревизия
f1f05e81f0
променени са 100 файла, в които са добавени 1528 реда и са изтрити 241 реда
  1. 10 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/apiRequestRecord/InterfaceUseRecordSearch.java
  2. 3 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/base/OidParam.java
  3. 15 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/base/UrlParam.java
  4. 2 2
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceBindModel.java
  5. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceBindSearch.java
  6. 6 6
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceInfoModel.java
  7. 3 3
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceInfoParam.java
  8. 3 3
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceInfoSearch.java
  9. 1 3
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceInfoStoreModel.java
  10. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceUseRecordModel.java
  11. 14 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceUseRecordSearch.java
  12. 0 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/deviceGroup/DeviceGroupToDeviceModel.java
  13. 3 3
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/deviceProduct/DeviceProductBindDeviceModel.java
  14. 3 3
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/deviceProduct/DeviceProductBindDeviceSearch.java
  15. 4 4
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/DevicePermissModel.java
  16. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/DevicePermissSearch.java
  17. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/PermissSettingConfigModel.java
  18. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/PermissSettingConfigParam.java
  19. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/PermissSettingListSearch.java
  20. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/userCache/UserCacheModel.java
  21. 2 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/form/ComponentFormModel.java
  22. 0 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/login/LoginCommonModel.java
  23. 1 3
      FullCardClient/src/main/java/com/zhongshu/card/client/model/operLogs/OperationLogsAddParam.java
  24. 1 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/LoginPlatformTokenModel.java
  25. 1 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationMiniModel.java
  26. 27 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/orgUser/OrganizationUserAuditParam.java
  27. 43 3
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/orgUser/OrganizationUserModel.java
  28. 12 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/orgUser/OrganizationUserSearch.java
  29. 2 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/orgUser/OrganizationUserSimpleModel.java
  30. 72 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/register/UserCountRegisterParam.java
  31. 39 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/role/RoleInit.java
  32. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/userGroup/UserGroupToUserModel.java
  33. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/userGroup/UserGroupToUserSearch.java
  34. 16 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/orgModel/OrgBindUserAllParam.java
  35. 2 2
      FullCardClient/src/main/java/com/zhongshu/card/client/model/pay/WeChatPrepayParam.java
  36. 6 2
      FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/CreateOrderParam.java
  37. 15 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/ExpenseFlowSearch.java
  38. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/WxOrderPrePayParam.java
  39. 0 33
      FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/OrgUserFaceModel.java
  40. 23 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/orgFace/OrgUserFaceAuditParam.java
  41. 71 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/orgFace/OrgUserFaceModel.java
  42. 6 3
      FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/orgFace/OrgUserFaceParam.java
  43. 39 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/orgFace/OrgUserFaceSearch.java
  44. 56 25
      FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/projectCommon/ProjectCommonConfigModel.java
  45. 50 34
      FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/projectCommon/ProjectCommonConfigParam.java
  46. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/school/BookInfoModel.java
  47. 1 2
      FullCardClient/src/main/java/com/zhongshu/card/client/model/school/CardInfoModel.java
  48. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/school/RegisterResultModel.java
  49. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/school/SchoolUserModel.java
  50. 90 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/tip/TipInfoModel.java
  51. 76 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/tip/TipInfoParam.java
  52. 57 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/tip/TipInfoSearch.java
  53. 16 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/tip/TipStaticModel.java
  54. 71 7
      FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/VisitorMainModel.java
  55. 8 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/VisitorMainParam.java
  56. 42 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/VisitorMainSearch.java
  57. 25 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/VisitorStaticModel.java
  58. 15 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/VisitorStaticParam.java
  59. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/setting/VisitorSettingDeviceModel.java
  60. 2 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/setting/VisitorSettingDeviceParam.java
  61. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/setting/VisitorSettingDeviceSearch.java
  62. 11 2
      FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/setting/VisitorSettingModel.java
  63. 3 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/setting/VisitorSettingParam.java
  64. 4 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/wechat/UnlimitedQRCodeParam.java
  65. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/openApi/model/DeviceInfoOpenApiModel.java
  66. 1 7
      FullCardClient/src/main/java/com/zhongshu/card/client/openApi/model/DeviceInfoOpenApiSimpleModel.java
  67. 1 14
      FullCardClient/src/main/java/com/zhongshu/card/client/openApi/model/DevicePermissOpenApiModel.java
  68. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/openApi/params/DeviceInfoOpenApiSearch.java
  69. 1 0
      FullCardClient/src/main/java/com/zhongshu/card/client/service/feign/OrganizationFeignService.java
  70. 1 0
      FullCardClient/src/main/java/com/zhongshu/card/client/service/org/OrganizationService.java
  71. 6 1
      FullCardClient/src/main/java/com/zhongshu/card/client/service/org/UserAccountService.java
  72. 1 1
      FullCardClient/src/main/java/com/zhongshu/card/client/service/school/SchoolUserService.java
  73. 9 7
      FullCardClient/src/main/java/com/zhongshu/card/client/type/PassWordType.java
  74. 0 1
      FullCardClient/src/main/java/com/zhongshu/card/client/type/UserState.java
  75. 21 0
      FullCardClient/src/main/java/com/zhongshu/card/client/type/common/AuditState.java
  76. 20 0
      FullCardClient/src/main/java/com/zhongshu/card/client/type/config/LonginType.java
  77. 19 0
      FullCardClient/src/main/java/com/zhongshu/card/client/type/config/RegisterExamineType.java
  78. 19 0
      FullCardClient/src/main/java/com/zhongshu/card/client/type/config/RetrievePasswordType.java
  79. 19 0
      FullCardClient/src/main/java/com/zhongshu/card/client/type/tip/BusFunctionType.java
  80. 19 0
      FullCardClient/src/main/java/com/zhongshu/card/client/type/tip/TipType.java
  81. 19 0
      FullCardClient/src/main/java/com/zhongshu/card/client/type/user/OrgAddType.java
  82. 20 0
      FullCardClient/src/main/java/com/zhongshu/card/client/type/user/OrgUserState.java
  83. 19 0
      FullCardClient/src/main/java/com/zhongshu/card/client/type/user/RoleInitType.java
  84. 18 0
      FullCardClient/src/main/java/com/zhongshu/card/client/type/visitor/VisitorApplyType.java
  85. 2 0
      FullCardClient/src/main/java/com/zhongshu/card/client/type/visitor/VisitorState.java
  86. 0 2
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/WeChatController.java
  87. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/feign/MqttFeignController.java
  88. 1 0
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/feign/OrganizationFeignController.java
  89. 1 2
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/feign/RequestInfoFeignController.java
  90. 64 2
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/org/OrganizationUserController.java
  91. 51 5
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/projectAbout/OrgUserFaceController.java
  92. 8 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/projectAbout/ProjectCommonConfigController.java
  93. 2 2
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/school/SchoolUserController.java
  94. 1 9
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/upLoadFile/OssController.java
  95. 1 2
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/user/OperationLogsController.java
  96. 2 0
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/user/UserInfoController.java
  97. 127 0
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/visitor/TipInfoController.java
  98. 38 13
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/visitor/VisitorMainController.java
  99. 10 4
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/visitor/VisitorSettingController.java
  100. 17 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/BaseImpl.java

+ 10 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/apiRequestRecord/InterfaceUseRecordSearch.java

@@ -0,0 +1,10 @@
+package com.zhongshu.card.client.model.apiRequestRecord;
+
+import com.zhongshu.card.client.model.base.SuperSearch;
+
+/**
+ * @author TRX
+ * @date 2025/2/18
+ */
+public class InterfaceUseRecordSearch extends SuperSearch {
+}

+ 3 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/base/OidParam.java

@@ -1,5 +1,6 @@
 package com.zhongshu.card.client.model.base;
 
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -15,4 +16,6 @@ public class OidParam {
 
     private String oid;
 
+    @Schema(description = "微信的openid")
+    private String openid;
 }

+ 15 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/base/UrlParam.java

@@ -0,0 +1,15 @@
+package com.zhongshu.card.client.model.base;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2025/2/18
+ */
+@Data
+public class UrlParam extends ProjectOidParam {
+
+    @Schema(description = "文件地址")
+    private String url;
+}

+ 2 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceBindModel.java

@@ -1,7 +1,7 @@
 package com.zhongshu.card.client.model.devices;
 
-import com.github.microservice.models.type.DeviceState;
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceState;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.base.SuperModel;
 import com.zhongshu.card.client.model.org.OrganizationSimpleModel;
 import com.zhongshu.card.client.model.school.AreaModel;

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceBindSearch.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.devices;
 
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.base.SuperSearch;
 import com.zhongshu.card.client.type.OnLineState;
 import com.zhongshu.card.client.type.PaymentModeType;

+ 6 - 6
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceInfoModel.java

@@ -1,9 +1,9 @@
 package com.zhongshu.card.client.model.devices;
 
 import com.github.microservice.models.device.DeviceAboutInfo;
-import com.github.microservice.models.type.DeviceSpecType;
-import com.github.microservice.models.type.DeviceState;
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceSpecType;
+import com.github.microservice.types.deviceUse.DeviceState;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.base.SuperModel;
 import com.zhongshu.card.client.model.org.OrganizationMiniModel;
 import com.zhongshu.card.client.model.org.OrganizationSimpleModel;
@@ -42,13 +42,13 @@ public class DeviceInfoModel extends SuperModel {
     }
 
     @Schema(description = "设备型号")
-    private DeviceSpecType deviceModel;
+    private DeviceSpecType specType;
 
     private String deviceModelStr;
 
     public String getDeviceModelStr() {
-        if (deviceModel != null) {
-            return deviceModel.getRemark();
+        if (specType != null) {
+            return specType.getRemark();
         }
         return "";
     }

+ 3 - 3
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceInfoParam.java

@@ -1,7 +1,7 @@
 package com.zhongshu.card.client.model.devices;
 
-import com.github.microservice.models.type.DeviceSpecType;
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceSpecType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.base.SuperParam;
 import com.zhongshu.card.client.type.OnLineState;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -23,7 +23,7 @@ public class DeviceInfoParam extends SuperParam {
     private DeviceType deviceType;
 
     @Schema(description = "设备型号")
-    private DeviceSpecType deviceModel;
+    private DeviceSpecType specType;
 
     @Schema(description = "网关号")
     private String gateWayId;

+ 3 - 3
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceInfoSearch.java

@@ -1,7 +1,7 @@
 package com.zhongshu.card.client.model.devices;
 
-import com.github.microservice.models.type.DeviceSpecType;
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceSpecType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.base.SuperSearch;
 import com.zhongshu.card.client.type.OnLineState;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -39,7 +39,7 @@ public class DeviceInfoSearch extends SuperSearch {
     private DeviceType deviceType;
 
     @Schema(description = "设备型号")
-    private DeviceSpecType deviceModel;
+    private DeviceSpecType specType;
 
     @Schema(description = "网关号")
     private String gateWayId;

+ 1 - 3
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceInfoStoreModel.java

@@ -1,9 +1,7 @@
 package com.zhongshu.card.client.model.devices;
 
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.base.SuperModel;
-import com.zhongshu.card.client.model.org.OrganizationMiniModel;
-import com.zhongshu.card.client.model.org.OrganizationSimpleModel;
 import com.zhongshu.card.client.model.school.AreaSimpleModel;
 import com.zhongshu.card.client.type.DataState;
 import com.zhongshu.card.client.type.OnLineState;

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceUseRecordModel.java

@@ -1,7 +1,7 @@
 package com.zhongshu.card.client.model.devices;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.github.microservice.types.deviceUse.OperateState;
 import com.github.microservice.types.deviceUse.OperateType;
 import com.zhongshu.card.client.model.base.SuperModel;

+ 14 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceUseRecordSearch.java

@@ -1,8 +1,10 @@
 package com.zhongshu.card.client.model.devices;
 
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.github.microservice.types.deviceUse.OperateState;
 import com.github.microservice.types.deviceUse.OperateType;
+import com.github.microservice.types.user.DevicePermissFromType;
+import com.github.microservice.types.user.UserFromType;
 import com.zhongshu.card.client.model.base.SuperSearch;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
@@ -44,4 +46,15 @@ public class DeviceUseRecordSearch extends SuperSearch {
     @Schema(description = "用户userId")
     private String userId;
 
+    @Schema(description = "权限来自哪里的配置")
+    private DevicePermissFromType permissFromType;
+
+    @Schema(description = "用户类型")
+    private UserFromType userFromType;
+
+    @Schema(description = "处理的service名称")
+    private String serviceBeanName;
+
+    @Schema(description = "关联的数据id")
+    private String aboutDataId;
 }

+ 0 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/deviceGroup/DeviceGroupToDeviceModel.java

@@ -1,7 +1,6 @@
 package com.zhongshu.card.client.model.devices.deviceGroup;
 
 import com.zhongshu.card.client.model.devices.DeviceInfoModel;
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 3 - 3
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/deviceProduct/DeviceProductBindDeviceModel.java

@@ -1,7 +1,7 @@
 package com.zhongshu.card.client.model.devices.deviceProduct;
 
-import com.github.microservice.models.type.DeviceSpecType;
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceSpecType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.base.SuperModel;
 import com.zhongshu.card.client.model.devices.DeviceInfoModel;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -44,6 +44,6 @@ public class DeviceProductBindDeviceModel extends SuperModel {
     private DeviceType deviceType;
 
     @Schema(description = "设备型号")
-    private DeviceSpecType deviceModel;
+    private DeviceSpecType specType;
 
 }

+ 3 - 3
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/deviceProduct/DeviceProductBindDeviceSearch.java

@@ -1,7 +1,7 @@
 package com.zhongshu.card.client.model.devices.deviceProduct;
 
-import com.github.microservice.models.type.DeviceSpecType;
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceSpecType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.base.SuperSearch;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
@@ -30,5 +30,5 @@ public class DeviceProductBindDeviceSearch extends SuperSearch {
     private DeviceType deviceType;
 
     @Schema(description = "设备型号")
-    private DeviceSpecType deviceModel;
+    private DeviceSpecType specType;
 }

+ 4 - 4
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/DevicePermissModel.java

@@ -1,12 +1,12 @@
 package com.zhongshu.card.client.model.devices.permiss;
 
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.base.SuperModel;
 import com.zhongshu.card.client.model.devices.DeviceInfoModel;
 import com.zhongshu.card.client.model.org.DepartmentModel;
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
 import com.zhongshu.card.client.model.org.UserCountSimpleModel;
-import com.zhongshu.card.client.model.org.role.RoleModel;
+import com.zhongshu.card.client.model.org.role.RoleSimpleModel;
 import com.zhongshu.card.client.model.school.AreaSimpleModel;
 import com.zhongshu.card.client.model.school.DictInfoSimpleModel;
 import com.zhongshu.card.client.type.DataState;
@@ -108,7 +108,7 @@ public class DevicePermissModel extends SuperModel {
     private DictInfoSimpleModel position;
 
     @Schema(description = "角色信息")
-    private List<RoleModel> roles = new ArrayList<>();
+    private List<RoleSimpleModel> roles = new ArrayList<>();
 
     @Schema(description = "部门信息")
     private DepartmentModel department;

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/DevicePermissSearch.java

@@ -1,7 +1,7 @@
 package com.zhongshu.card.client.model.devices.permiss;
 
 import com.github.microservice.auth.security.type.AuthType;
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.base.SuperSearch;
 import com.zhongshu.card.client.type.OnLineState;
 import com.zhongshu.card.client.type.UserState;

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/PermissSettingConfigModel.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.devices.permiss;
 
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.type.Sex;
 import com.zhongshu.card.client.type.device.PermissSettingDeviceType;
 import com.zhongshu.card.client.type.device.PermissSettingType;

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/PermissSettingConfigParam.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.devices.permiss;
 
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.type.Sex;
 import com.zhongshu.card.client.type.device.PermissSettingDeviceType;
 import com.zhongshu.card.client.type.device.PermissSettingType;

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/PermissSettingListSearch.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.devices.permiss;
 
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.base.SuperSearch;
 import com.zhongshu.card.client.type.Sex;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/userCache/UserCacheModel.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.devices.userCache;
 
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.type.Sex;
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 2 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/form/ComponentFormModel.java

@@ -38,4 +38,6 @@ public class ComponentFormModel {
     @Schema(description = "最大长度")
     private Integer maxLength = 500;
 
+    @Schema(description = "是否禁用")
+    private Boolean disabled = Boolean.FALSE;
 }

+ 0 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/login/LoginCommonModel.java

@@ -1,7 +1,6 @@
 package com.zhongshu.card.client.model.login;
 
 import com.zhongshu.card.client.model.org.OrganizationSimpleModel;
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
 import com.zhongshu.card.client.model.org.UserCountModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;

+ 1 - 3
FullCardClient/src/main/java/com/zhongshu/card/client/model/operLogs/OperationLogsAddParam.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.operLogs;
 
-import com.github.microservice.models.type.LogServiceType;
+import com.github.microservice.types.deviceUse.LogServiceType;
 import com.zhongshu.card.client.type.LoginType;
 import com.zhongshu.card.client.type.LogsLevel;
 import com.zhongshu.card.client.type.MessageType;
@@ -8,8 +8,6 @@ import com.zhongshu.card.client.type.ResponseCode;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import java.util.Date;
-
 /**
  * 操作日志
  *

+ 1 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/LoginPlatformTokenModel.java

@@ -1,5 +1,6 @@
 package com.zhongshu.card.client.model.org;
 
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 

+ 1 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationMiniModel.java

@@ -25,6 +25,7 @@ public class OrganizationMiniModel {
     @Schema(description = "编码、项目ID、机构编号")
     private String code;
 
+    @Schema(description = "机构logo")
     private String logo;
 
     @Schema(description = "机构类型")

+ 27 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/orgUser/OrganizationUserAuditParam.java

@@ -0,0 +1,27 @@
+package com.zhongshu.card.client.model.org.orgUser;
+
+import com.zhongshu.card.client.type.user.OrgUserState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2025/2/24
+ */
+@Data
+public class OrganizationUserAuditParam {
+
+    @NotEmpty
+    @Schema(description = "数据id")
+    private String id;
+
+    @NotNull
+    @Schema(description = "数据状态")
+    private OrgUserState orgUserState;
+
+    @Schema(description = "审核备注")
+    private String reViewReMark;
+
+}

+ 43 - 3
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationUserModel.java → FullCardClient/src/main/java/com/zhongshu/card/client/model/org/orgUser/OrganizationUserModel.java

@@ -1,13 +1,18 @@
-package com.zhongshu.card.client.model.org;
+package com.zhongshu.card.client.model.org.orgUser;
 
 import com.github.microservice.auth.security.type.AuthType;
 import com.zhongshu.card.client.model.base.SuperModel;
-import com.zhongshu.card.client.model.org.role.RoleModel;
+import com.zhongshu.card.client.model.org.DepartmentModel;
+import com.zhongshu.card.client.model.org.OrganizationMiniModel;
+import com.zhongshu.card.client.model.org.UserCountSimpleModel;
+import com.zhongshu.card.client.model.org.role.RoleSimpleModel;
 import com.zhongshu.card.client.model.school.DictInfoSimpleModel;
 import com.zhongshu.card.client.type.CertificateType;
 import com.zhongshu.card.client.type.OrganizationUserType;
 import com.zhongshu.card.client.type.Sex;
 import com.zhongshu.card.client.type.UserState;
+import com.zhongshu.card.client.type.user.OrgAddType;
+import com.zhongshu.card.client.type.user.OrgUserState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -29,6 +34,40 @@ import java.util.stream.Collectors;
 @NoArgsConstructor
 public class OrganizationUserModel extends SuperModel {
 
+    @Schema(description = "用户添加方式:管理员后台添加、注册")
+    private OrgAddType addType;
+
+    private String addTypeStr;
+
+    public String getAddTypeStr() {
+        if (addType != null) {
+            return addType.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "申审核用户状态")
+    private OrgUserState orgUserState;
+
+    private String orgUserStateStr;
+
+    public String getOrgUserStateStr() {
+        if (orgUserState != null) {
+            return orgUserState.getRemark();
+        }
+        return "";
+    }
+
+    //-------------------审核信息 start---------------------
+    @Schema(description = "审核用户")
+    private String reViewUserId;
+
+    @Schema(description = "审核时间")
+    private Long reViewTime;
+
+    @Schema(description = "审核备注")
+    private String reViewReMark;
+
     @Schema(description = "机构信息")
     private OrganizationMiniModel organization;
 
@@ -41,6 +80,7 @@ public class OrganizationUserModel extends SuperModel {
         return "";
     }
 
+    //-----------------------用户信息 start-------------------
     @Schema(description = "用户信息")
     private UserCountSimpleModel user;
 
@@ -170,7 +210,7 @@ public class OrganizationUserModel extends SuperModel {
     private List<String> faceImages;
 
     @Schema(description = "角色信息")
-    private List<RoleModel> roles = new ArrayList<>();
+    private List<RoleSimpleModel> roles = new ArrayList<>();
 
     @Schema(description = "角色-人员类型名称")
     private String roleNames;

+ 12 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationUserSearch.java → FullCardClient/src/main/java/com/zhongshu/card/client/model/org/orgUser/OrganizationUserSearch.java

@@ -1,10 +1,12 @@
-package com.zhongshu.card.client.model.org;
+package com.zhongshu.card.client.model.org.orgUser;
 
 import com.github.microservice.auth.security.type.AuthType;
 import com.zhongshu.card.client.model.base.SuperSearch;
 import com.zhongshu.card.client.type.OrganizationUserType;
 import com.zhongshu.card.client.type.Sex;
 import com.zhongshu.card.client.type.UserState;
+import com.zhongshu.card.client.type.user.OrgAddType;
+import com.zhongshu.card.client.type.user.OrgUserState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -17,6 +19,12 @@ import java.util.List;
 @Data
 public class OrganizationUserSearch extends SuperSearch {
 
+    @Schema(description = "用户添加方式:管理员后台添加、注册")
+    private OrgAddType addType = OrgAddType.Manager;
+
+    @Schema(description = "用户审核状态")
+    private OrgUserState orgUserState;
+
     @Schema(description = "关键字")
     private String keyWord;
 
@@ -67,4 +75,7 @@ public class OrganizationUserSearch extends SuperSearch {
 
     @Schema(description = "是否是机构类型")
     private Boolean isOrg;
+
+    @Schema(description = "")
+    private String openid;
 }

+ 2 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationUserSimpleModel.java → FullCardClient/src/main/java/com/zhongshu/card/client/model/org/orgUser/OrganizationUserSimpleModel.java

@@ -1,5 +1,6 @@
-package com.zhongshu.card.client.model.org;
+package com.zhongshu.card.client.model.org.orgUser;
 
+import com.zhongshu.card.client.model.org.DepartmentModel;
 import com.zhongshu.card.client.model.org.role.RoleModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;

+ 72 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/register/UserCountRegisterParam.java

@@ -0,0 +1,72 @@
+package com.zhongshu.card.client.model.org.register;
+
+import com.zhongshu.card.client.model.base.ProjectOidParam;
+import com.zhongshu.card.client.type.CertificateType;
+import com.zhongshu.card.client.type.Sex;
+import com.zhongshu.card.client.type.UserState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author TRX
+ * @date 2024/5/31
+ */
+@Data
+public class UserCountRegisterParam extends ProjectOidParam {
+
+    @Schema(description = "用户手机号")
+    private String phone;
+
+    @Schema(description = "角色信息-人员类型")
+    private List<String> roleIds;
+
+    @Schema(description = "密码")
+    private String passWord;
+
+    @Schema(description = "验证密码")
+    private String rePassWord;
+
+    @Schema(description = "所属机构oid")
+    private String oid;
+
+    @Schema(description = "编码")
+    private String code;
+
+    @Schema(description = "姓名")
+    private String name;
+
+    @Schema(description = "头像")
+    private String profilePic;
+
+    @Schema(description = "性别")
+    private Sex sex;
+
+    @Schema(description = "地址")
+    private String address;
+
+    @Schema(description = "地址")
+    private String remark;
+
+    @Schema(description = "证件类型")
+    private CertificateType certificateType = CertificateType.IDCard;
+
+    @Schema(description = "证件号码")
+    private String cardNumber;
+
+    @Schema(description = "职位")
+    private String positionId;
+
+    @Schema(description = "用户状态")
+    private UserState state = UserState.Normal;
+
+    @Schema(description = "部门信息")
+    private String departmentId;
+
+    @Schema(description = "是否是管理员")
+    private Boolean isAdmin = Boolean.FALSE;
+
+    @Schema(description = "openid")
+    private String openid;
+}

+ 39 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/role/RoleInit.java

@@ -0,0 +1,39 @@
+package com.zhongshu.card.client.model.org.role;
+
+import com.zhongshu.card.client.type.RoleType;
+import com.zhongshu.card.client.type.user.RoleInitType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.Set;
+
+/**
+ * @author TRX
+ * @date 2025/2/14
+ */
+@Data
+@Builder
+public class RoleInit {
+
+    @Schema(description = "名称")
+    private String name;
+
+    @Schema(description = "编码")
+    private String code;
+
+    @Schema(description = "角色预制类型,如:管理员、游客")
+    private RoleInitType roleInitType;
+
+    @Schema(description = "是否是管理员")
+    private Boolean isAdmin = Boolean.FALSE;
+
+    @Schema(description = "角色类型: 系统内置、自定义")
+    private RoleType roleType;
+
+    @Schema(description = "是否是游客角色")
+    private Boolean isVisitor = Boolean.FALSE;
+
+    @Schema(description = "默认规定的权限")
+    private Set<String> auth = Set.of();
+}

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/userGroup/UserGroupToUserModel.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.org.userGroup;
 
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/userGroup/UserGroupToUserSearch.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.org.userGroup;
 
-import com.zhongshu.card.client.model.org.OrganizationUserSearch;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserSearch;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 16 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/orgModel/OrgBindUserAllParam.java

@@ -2,6 +2,8 @@ package com.zhongshu.card.client.model.orgModel;
 
 import com.zhongshu.card.client.type.Sex;
 import com.zhongshu.card.client.type.UserState;
+import com.zhongshu.card.client.type.user.OrgAddType;
+import com.zhongshu.card.client.type.user.OrgUserState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -20,6 +22,12 @@ import java.util.List;
 @NoArgsConstructor
 public class OrgBindUserAllParam {
 
+    @Schema(description = "添加方式,管理员后台添加、注册")
+    private OrgAddType addType = OrgAddType.Manager;
+
+    @Schema(description = "申请审核状态:正式、审核中、已拒绝")
+    private OrgUserState orgUserState = OrgUserState.Formal;
+
     @Schema(description = "数据ID")
     private String id;
 
@@ -56,4 +64,12 @@ public class OrgBindUserAllParam {
     @Schema(description = "备注")
     private String remark;
 
+    @Schema(description = "openid")
+    private String openid;
+
+    @Schema(description = "审核时间")
+    private Long reViewTime;
+
+    @Schema(description = "审核备注")
+    private String reViewReMark;
 }

+ 2 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/model/pay/WeChatPrepayParam.java

@@ -18,8 +18,8 @@ public class WeChatPrepayParam {
     @Schema(description = "用户id")
     private String userId;
 
-    @Schema(description = "openid")
-    private String openid;
+    @Schema(description = "openId")
+    private String openId;
 
     @Schema(description = "金额")
     private long total;

+ 6 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/CreateOrderParam.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.payment;
 
-import com.github.microservice.models.type.OrderFromType;
+import com.github.microservice.types.deviceUse.OrderFromType;
 import com.github.microservice.types.OrderModeType;
 import com.github.microservice.types.payment.ChargeableType;
 import com.github.microservice.types.payment.PaymentDeviceType;
@@ -34,7 +34,7 @@ public class CreateOrderParam {
     @Schema(description = "订单计费方式,定额支付")
     private ChargeableType chargeableType = ChargeableType.Specified;
 
-    @Schema(description = "支付来源")
+    @Schema(description = "订单来源、支付来源")
     private OrderFromType orderFromType;
 
     @Schema(description = "服务id、商品id")
@@ -69,4 +69,8 @@ public class CreateOrderParam {
 
     @Schema(description = "订单支付有效期时间,毫秒")
     private Long expirationTime;
+
+    @Schema(description = "微信小程序的openId")
+    private String openId;
+
 }

+ 15 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/ExpenseFlowSearch.java

@@ -1,9 +1,9 @@
 package com.zhongshu.card.client.model.payment;
 
 import com.github.microservice.types.OrderModeType;
+import com.github.microservice.types.OrderState;
 import com.github.microservice.types.payment.PaymentType;
 import com.zhongshu.card.client.model.base.SuperSearch;
-import com.github.microservice.types.OrderState;
 import com.zhongshu.card.client.type.RefundState;
 import com.zhongshu.card.client.type.StatisticType;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -23,9 +23,15 @@ import java.util.List;
 @NoArgsConstructor
 public class ExpenseFlowSearch extends SuperSearch {
 
+    @Schema(description = "订单所属的openId")
+    private String openId;
+
     @Schema(description = "用户userId")
     private String userId;
 
+    @Schema(description = "付款用户userId")
+    private String payUserId;
+
     @Schema(description = "订单类型")
     private OrderModeType orderModeType = OrderModeType.Consume;
 
@@ -41,6 +47,9 @@ public class ExpenseFlowSearch extends SuperSearch {
     @Schema(description = "消费类型,如:餐饮消费")
     private String payType;
 
+    @Schema(description = "消费类型 编码")
+    private String payTypeCode;
+
     @Schema(description = "年份,如:2024")
     private Integer year;
 
@@ -103,4 +112,9 @@ public class ExpenseFlowSearch extends SuperSearch {
     @Schema(description = "group 字段名称", hidden = true)
     private String fieldName = "";
 
+    @Schema(description = "是否已支付")
+    private Boolean isPaid;
+
+    @Schema(description = "是否必须支付,当是离线的时候,是先在边缘计算,再后面付款,则这个订单用户必须支付")
+    private Boolean isMustPay;
 }

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/WxOrderPrePayParam.java

@@ -13,5 +13,5 @@ public class WxOrderPrePayParam {
     private String id;
 
     @Schema(description = "openid")
-    private String openid;
+    private String openId;
 }

+ 0 - 33
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/OrgUserFaceModel.java

@@ -1,33 +0,0 @@
-package com.zhongshu.card.client.model.projectAbout;
-
-import com.zhongshu.card.client.model.base.SuperModel;
-import com.zhongshu.card.client.model.org.UserCountModel;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * @author TRX
- * @date 2024/10/12
- */
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class OrgUserFaceModel extends SuperModel {
-
-    @Schema(description = "用户ID")
-    private String userId;
-
-    @Schema(description = "用户信息")
-    private UserCountModel userAccount;
-
-    @Schema(description = "图片名称")
-    private String name;
-
-    @Schema(description = "人员图片地址")
-    private String img;
-
-    @Schema(description = "是否可使用")
-    private Boolean isCanUsed = Boolean.TRUE;
-}

+ 23 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/orgFace/OrgUserFaceAuditParam.java

@@ -0,0 +1,23 @@
+package com.zhongshu.card.client.model.projectAbout.orgFace;
+
+import com.zhongshu.card.client.type.common.AuditState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2025/2/18
+ */
+@Data
+public class OrgUserFaceAuditParam {
+
+    @Schema(description = "数据id")
+    private String id;
+
+    @Schema(description = "审核备注")
+    private String auditRemark;
+
+    @Schema(description = "审核状态")
+    private AuditState auditState;
+
+}

+ 71 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/orgFace/OrgUserFaceModel.java

@@ -0,0 +1,71 @@
+package com.zhongshu.card.client.model.projectAbout.orgFace;
+
+import com.zhongshu.card.client.model.base.SuperModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserSimpleModel;
+import com.zhongshu.card.client.model.org.UserCountSimpleModel;
+import com.zhongshu.card.client.type.common.AuditState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author TRX
+ * @date 2024/10/12
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class OrgUserFaceModel extends SuperModel {
+
+    @Schema(description = "审核状态")
+    private AuditState auditState;
+
+    private String auditStateStr;
+
+    public String getAuditStateStr() {
+        if (auditState != null) {
+            return auditState.getRemark();
+        }
+        return "";
+    }
+
+    //-----------------用户信息 start -----------------
+    @Schema(description = "用户ID")
+    private String userId;
+
+    @Schema(description = "用户名称")
+    private String userName;
+
+    @Schema(description = "用户电话")
+    private String phone;
+
+    @Schema(description = "用户信息")
+    private UserCountSimpleModel userAccount;
+
+    @Schema(description = "项目机构用户信息")
+    private OrganizationUserSimpleModel organizationUser;
+
+    @Schema(description = "图片名称")
+    private String name;
+
+    @Schema(description = "人脸图片地址")
+    private String img;
+
+    @Schema(description = "是否可使用")
+    private Boolean isCanUsed;
+
+    //------------------------审核信息 start ---------------
+
+    @Schema(description = "审核用户userId")
+    private String auditUserId;
+
+    @Schema(description = "审核备注")
+    private String auditRemark;
+
+    @Schema(description = "审核时间")
+    private Long auditTime;
+
+    @Schema(description = "权限中心的人脸id")
+    private String updateFaceFileId;
+}

+ 6 - 3
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/OrgUserFaceParam.java → FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/orgFace/OrgUserFaceParam.java

@@ -1,6 +1,6 @@
-package com.zhongshu.card.client.model.projectAbout;
+package com.zhongshu.card.client.model.projectAbout.orgFace;
 
-import com.zhongshu.card.client.model.base.SuperParam;
+import com.zhongshu.card.client.model.base.ProjectOidParam;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotEmpty;
 import lombok.AllArgsConstructor;
@@ -14,7 +14,10 @@ import lombok.NoArgsConstructor;
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
-public class OrgUserFaceParam extends SuperParam {
+public class OrgUserFaceParam extends ProjectOidParam {
+
+    @Schema(description = "数据id")
+    private String id;
 
     @Schema(description = "用户ID")
     private String userId;

+ 39 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/orgFace/OrgUserFaceSearch.java

@@ -0,0 +1,39 @@
+package com.zhongshu.card.client.model.projectAbout.orgFace;
+
+import com.zhongshu.card.client.model.base.SuperSearch;
+import com.zhongshu.card.client.type.common.AuditState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2025/2/18
+ */
+@Data
+public class OrgUserFaceSearch extends SuperSearch {
+
+    @Schema(description = "审核状态")
+    private AuditState auditState;
+
+    //-----------------用户信息 start -----------------
+    @Schema(description = "用户ID")
+    private String userId;
+
+    @Schema(description = "用户名称")
+    private String userName;
+
+    @Schema(description = "用户电话")
+    private String phone;
+
+    @Schema(description = "是否可使用")
+    private Boolean isCanUsed;
+
+    //------------------------审核信息 start ---------------
+
+    @Schema(description = "审核用户userId")
+    private String auditUserId;
+
+    @Schema(description = "审核备注")
+    private String auditRemark;
+
+}

+ 56 - 25
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/projectCommon/ProjectCommonConfigModel.java

@@ -1,12 +1,20 @@
 package com.zhongshu.card.client.model.projectAbout.projectCommon;
 
+import com.zhongshu.card.client.model.org.role.RoleModel;
 import com.zhongshu.card.client.type.PassWordDefaultType;
 import com.zhongshu.card.client.type.PassWordType;
+import com.zhongshu.card.client.type.config.LonginType;
+import com.zhongshu.card.client.type.config.RegisterExamineType;
+import com.zhongshu.card.client.type.config.RetrievePasswordType;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @author TRX
  * @date 2024/9/24
@@ -14,46 +22,69 @@ import lombok.NoArgsConstructor;
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
-public class ProjectCommonConfigModel {
+public class ProjectCommonConfigModel extends ProjectCommonSuperParam {
+
+    //-------------------协议信息 start ------------------
+    @Schema(description = "用户协议")
+    private String userAgreement = "";
+
+    @Schema(description = "隐私政策")
+    private String privacyPolicy = "";
+
+    //-------------------注册控制 start-------------------
+
+    @Schema(description = "是否允许注册")
+    private Boolean isAllowRegister = Boolean.FALSE;
 
-    @Schema(description = "数据ID")
-    private String id;
+    @Schema(description = "注册是否允许选择角色")
+    private Boolean isAllowSelectRole = Boolean.FALSE;
 
-    @Schema(description = "项目ID")
-    private String projectOid;
+    @Schema(description = "注册时可以选择的角色")
+    private List<RoleModel> roles = new ArrayList<RoleModel>();
 
-    @Schema(description = "最小密码长度")
-    private Integer minPassWordLength = 6;
+    @Schema(description = "角色集合")
+    private List<String> roleIds = new ArrayList<>();
 
-    @Schema(description = "最小密码长度")
-    private Integer maxPassWordLength = 20;
+    @Schema(description = "注册是否需要审核")
+    private Boolean isExamineRegister = Boolean.TRUE;
 
-    @Schema(description = "密码字符组合类型")
-    private PassWordType passWordType;
+    @Schema(description = "审核范围")
+    private RegisterExamineType examineType = RegisterExamineType.All;
 
+    @Schema(description = "密码字符组合类型/强度")
+    private PassWordType passWordType = PassWordType.Weak;
+
+    //--------------------导入用户密码规则 start---------------
     @Schema(description = "默认密码设置类型")
-    private PassWordDefaultType passWordDefaultType;
+    private PassWordDefaultType passWordDefaultType = PassWordDefaultType.CardNumberLast6;
 
     @Schema(description = "这样的默认密码")
-    private String defaultPassWord;
+    private String defaultPassWord = "123abc";
 
-    @Schema(description = "默认用户头像")
-    private String defaultUserHead;
+    //-----------------------密码找回方式 start --------------
 
-    // --------------游客许可 ---------------
-    @Schema(description = "允许游客注册")
-    private Boolean isAllowRegister = Boolean.FALSE;
+    @Schema(description = "找回密码方式")
+    private List<RetrievePasswordType> retrievePasswordTypes = new ArrayList<>();
 
-    @Schema(description = "允许游客消费")
-    private Boolean isAllowConsume = Boolean.FALSE;
+    @Schema(description = "登录方式")
+    private List<LonginType> longinTypes = new ArrayList<>();
 
+    //-----------------------人脸照片管理 start---------------
 
-    //----------------协议信息 start---------
+    @Schema(description = "是否允许用户修改人脸数据")
+    private Boolean isAllowUpdateFace = Boolean.TRUE;
 
-    @Schema(description = "用户协议")
-    private String userAgreement = "";
+    @Schema(description = "是否开启人脸审核")
+    private Boolean isExamineFace = Boolean.FALSE;
+
+    @Schema(description = "人脸照片可信度(0-100)")
+    private Integer similarity = 80;
+
+    @Schema(description = "人脸识别照片上传数量限制")
+    private Integer maxFaceNumber = 3;
+
+    @Schema(description = "照片大小限制")
+    private BigDecimal maxSize = BigDecimal.valueOf(2);
 
-    @Schema(description = "隐私政策")
-    private String privacyPolicy = "";
 
 }

+ 50 - 34
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/projectCommon/ProjectCommonConfigParam.java

@@ -2,15 +2,20 @@ package com.zhongshu.card.client.model.projectAbout.projectCommon;
 
 import com.zhongshu.card.client.type.PassWordDefaultType;
 import com.zhongshu.card.client.type.PassWordType;
+import com.zhongshu.card.client.type.config.LonginType;
+import com.zhongshu.card.client.type.config.RegisterExamineType;
+import com.zhongshu.card.client.type.config.RetrievePasswordType;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Max;
 import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotEmpty;
-import jakarta.validation.constraints.NotNull;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @author TRX
  * @date 2024/9/24
@@ -18,51 +23,62 @@ import lombok.NoArgsConstructor;
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
-public class ProjectCommonConfigParam {
+public class ProjectCommonConfigParam extends ProjectCommonSuperParam {
+
+    //-------------------注册控制 start-------------------
+
+    @Schema(description = "是否允许注册")
+    private Boolean isAllowRegister = Boolean.FALSE;
+
+    @Schema(description = "注册是否允许选择角色")
+    private Boolean isAllowSelectRole = Boolean.FALSE;
 
-    @NotEmpty
-    @Schema(description = "项目id")
-    private String projectOid;
+    @Schema(description = "角色集合")
+    private List<String> roleIds = new ArrayList<>();
 
-    @Schema(description = "最小密码长度")
-    @Min(value = 4)
-    @Max(value = 20)
-    private Integer minPassWordLength = 6;
+    @Schema(description = "注册是否需要审核")
+    private Boolean isExamineRegister = Boolean.TRUE;
 
-    @Schema(description = "最小密码长度")
-    @Min(value = 4)
-    @Max(value = 20)
-    private Integer maxPassWordLength = 20;
+    @Schema(description = "审核范围")
+    private RegisterExamineType examineType = RegisterExamineType.All;
 
-    @Schema(description = "密码字符组合类型")
-    @NotNull
-    private PassWordType passWordType;
+    @Schema(description = "密码字符组合类型/强度")
+    private PassWordType passWordType = PassWordType.Weak;
 
+    //--------------------导入用户密码规则 start---------------
     @Schema(description = "默认密码设置类型")
-    private PassWordDefaultType passWordDefaultType;
+    private PassWordDefaultType passWordDefaultType = PassWordDefaultType.CardNumberLast6;
 
     @Schema(description = "这样的默认密码")
-    private String defaultPassWord;
+    private String defaultPassWord = "123abc";
 
-    @Schema(description = "默认用户头像")
-    private String defaultUserHead;
+    //-----------------------密码找回方式 start --------------
 
-    // --------------游客许可 ---------------
-    @Schema(description = "允许游客注册")
-    private Boolean isAllowRegister = Boolean.FALSE;
+    @Schema(description = "找回密码方式")
+    private List<RetrievePasswordType> retrievePasswordTypes = new ArrayList<>();
+
+    @Schema(description = "登录方式")
+    private List<LonginType> longinTypes = new ArrayList<>();
+
+    //-----------------------人脸照片管理 start---------------
+
+    @Schema(description = "是否允许用户修改人脸数据")
+    private Boolean isAllowUpdateFace = Boolean.TRUE;
 
-    @Schema(description = "允许游客消费")
-    private Boolean isAllowConsume = Boolean.FALSE;
+    @Schema(description = "是否开启人脸审核")
+    private Boolean isExamineFace = Boolean.FALSE;
 
-    @Schema(description = "用户协议")
-    @NotEmpty
-    private String userAgreement = "";
+    @Schema(description = "人脸照片相似度(0-100)")
+    @Min(value = 0)
+    @Max(value = 100)
+    private Integer similarity = 80;
 
-    @NotEmpty
-    @Schema(description = "隐私政策")
-    private String privacyPolicy = "";
+    @Min(value = 1)
+    @Max(value = 10)
+    @Schema(description = "人脸识别照片上传数量限制")
+    private Integer maxFaceNumber = 3;
 
-    @Schema(description = "")
-    private String remark;
+    @Schema(description = "照片大小限制")
+    private BigDecimal maxSize = BigDecimal.valueOf(5);
 
 }

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/school/BookInfoModel.java

@@ -3,7 +3,7 @@ package com.zhongshu.card.client.model.school;
 import com.zhongshu.card.client.model.base.SuperModel;
 import com.zhongshu.card.client.model.org.DepartmentModel;
 import com.zhongshu.card.client.model.org.OrganizationModel;
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
 import com.zhongshu.card.client.model.org.UserCountModel;
 import com.zhongshu.card.client.type.BookState;
 import com.zhongshu.card.client.type.OrganizationUserType;

+ 1 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/model/school/CardInfoModel.java

@@ -1,9 +1,8 @@
 package com.zhongshu.card.client.model.school;
 
 import com.zhongshu.card.client.model.base.SuperModel;
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
 import com.zhongshu.card.client.model.org.UserCountModel;
-import com.zhongshu.card.client.type.CardCancelState;
 import com.zhongshu.card.client.type.school.CardState;
 import com.zhongshu.card.client.type.school.CardType;
 import io.swagger.v3.oas.annotations.media.Schema;

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/school/RegisterResultModel.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.school;
 
-import com.zhongshu.card.client.model.org.OrganizationUserSimpleModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserSimpleModel;
 import com.zhongshu.card.client.model.org.UserCountModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/school/SchoolUserModel.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.school;
 
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
 import lombok.Data;
 
 import java.util.List;

+ 90 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/tip/TipInfoModel.java

@@ -0,0 +1,90 @@
+package com.zhongshu.card.client.model.tip;
+
+import com.zhongshu.card.client.model.base.SuperModel;
+import com.zhongshu.card.client.model.org.UserCountSimpleModel;
+import com.zhongshu.card.client.type.tip.BusFunctionType;
+import com.zhongshu.card.client.type.tip.TipType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author TRX
+ * @date 2025/2/19
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TipInfoModel extends SuperModel {
+
+    @Schema(description = "消息标题")
+    private String title;
+
+    @Schema(description = "消息内容")
+    private String content;
+
+    @Schema(description = "消息类型,如:系统信息、用户信息")
+    private TipType tipType;
+
+    private String tipTypeStr;
+
+    public String getTipTypeStr() {
+        if (tipType != null) {
+            return tipType.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "扩展信息")
+    private Map<String, Object> metaInfo = new HashMap<String, Object>();
+
+    //--------------------------那个用户发送的 start ----------------
+
+    @Schema(description = "发送用户的userId")
+    private String fromUserId;
+
+    private String fromUserName;
+
+    @Schema(description = "发送用户信息")
+    private UserCountSimpleModel fromUserAccount;
+
+    //--------------------------关于那个用户的信息 start--------------
+    private String toUserId;
+
+    private String toUserName;
+
+    @Schema(description = "接收用户信息")
+    private UserCountSimpleModel toUserAccount;
+
+    //---------------------是否阅读 start -------------
+
+    @Schema(description = "是否阅读")
+    private Boolean isRead;
+
+    @Schema(description = "阅读时间")
+    private Long readTime;
+
+    //----------------------业务参数 start -------------
+
+    @Schema(description = "关联业务数据id")
+    private String busDataId;
+
+    @Schema(description = "业务功能类型")
+    private BusFunctionType busFunctionType;
+
+    private String busFunctionTypeStr;
+
+    public String getBusFunctionTypeStr() {
+        if (busFunctionType != null) {
+            return busFunctionType.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "业务数据状态")
+    private String busStateStr;
+}

+ 76 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/tip/TipInfoParam.java

@@ -0,0 +1,76 @@
+package com.zhongshu.card.client.model.tip;
+
+import com.zhongshu.card.client.type.tip.BusFunctionType;
+import com.zhongshu.card.client.type.tip.TipType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author TRX
+ * @date 2025/2/19
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TipInfoParam {
+
+    @Schema(description = "消息标题")
+    private String title;
+
+    @Schema(description = "消息内容")
+    private String content;
+
+    @Schema(description = "消息类型,如:系统信息、用户信息")
+    private TipType tipType = TipType.System;
+
+    @Schema(description = "扩展信息")
+    private Map<String, Object> metaInfo = new HashMap<String, Object>();
+
+    //--------------------------那个用户发送的 start ----------------
+
+    @Schema(description = "发送用户的userId")
+    private String fromUserId;
+
+    @Schema(description = "名称")
+    private String fromUserName;
+
+    //--------------------------关于那个用户的信息 start--------------
+    private String toUserId;
+
+    //---------------------是否阅读 start -------------
+
+    @Schema(description = "是否阅读")
+    private Boolean isRead = Boolean.FALSE;
+
+    @Schema(description = "阅读时间")
+    private Long readTime;
+
+    @Schema(description = "阅读时间(可读)")
+    private String readTimeStr;
+
+    //----------------------业务参数 start -------------
+
+    @Schema(description = "关联业务数据id")
+    private String busDataId;
+
+    @Schema(description = "业务功能类型")
+    private BusFunctionType busFunctionType;
+
+    @Schema(description = "业务服务名称")
+    private String busServiceBeanName;
+
+    @Schema(description = "业务服务参数")
+    private Map<String, Object> bueMetaInfo = new HashMap<>();
+
+    @Schema(description = "业务数据状态")
+    private String busStateStr;
+
+    @Schema(description = "微信小程序openid")
+    private String openId;
+
+}

+ 57 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/tip/TipInfoSearch.java

@@ -0,0 +1,57 @@
+package com.zhongshu.card.client.model.tip;
+
+import com.zhongshu.card.client.model.base.SuperSearch;
+import com.zhongshu.card.client.type.tip.BusFunctionType;
+import com.zhongshu.card.client.type.tip.TipType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2025/2/19
+ */
+@Data
+public class TipInfoSearch extends SuperSearch {
+
+    @Schema(description = "消息标题")
+    private String title;
+
+    @Schema(description = "消息内容")
+    private String content;
+
+    @Schema(description = "消息类型,如:系统信息、用户信息")
+    private TipType tipType;
+
+    //--------------------------那个用户发送的 start ----------------
+
+    @Schema(description = "发送用户的userId")
+    private String fromUserId;
+
+    private String fromUserName;
+
+    //--------------------------关于那个用户的信息 start--------------
+    private String toUserId;
+
+    private String toUserName;
+
+    //---------------------是否阅读 start -------------
+
+    @Schema(description = "是否阅读")
+    private Boolean isRead;
+
+    //----------------------业务参数 start -------------
+
+    @Schema(description = "关联业务数据id")
+    private String busDataId;
+
+    @Schema(description = "业务功能类型")
+    private BusFunctionType busFunctionType;
+
+    @Schema(description = "业务数据状态")
+    private String busStateStr;
+
+    @Schema(description = "微信小程序openid")
+    private String openId;
+
+    private Boolean isDesen;
+}

+ 16 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/tip/TipStaticModel.java

@@ -0,0 +1,16 @@
+package com.zhongshu.card.client.model.tip;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2025/2/19
+ */
+@Data
+public class TipStaticModel {
+
+    @Schema(description = "未查看的消息数量")
+    private Long unReadCount = 0L;
+
+}

+ 71 - 7
FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/VisitorMainModel.java

@@ -2,8 +2,9 @@ package com.zhongshu.card.client.model.visitor;
 
 import com.zhongshu.card.client.model.base.SuperModel;
 import com.zhongshu.card.client.model.devices.DeviceInfoSimpleModel;
-import com.zhongshu.card.client.model.org.OrganizationUserSimpleModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserSimpleModel;
 import com.zhongshu.card.client.model.org.UserCountSimpleModel;
+import com.zhongshu.card.client.type.visitor.VisitorApplyType;
 import com.zhongshu.card.client.type.visitor.VisitorState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
@@ -34,11 +35,57 @@ public class VisitorMainModel extends SuperModel {
 
     public String getStateStr() {
         if (state != null) {
+            if (isLeave != null && isLeave) {
+                if (isOverTimeLeave != null && isOverTimeLeave) {
+                    return "超时离开";
+                } else {
+                    return "已离开";
+                }
+            }
             return state.getRemark();
         }
         return "";
     }
 
+    @Schema(description = "最终状态")
+    private VisitorState finalState;
+
+    private String finalStateStr;
+
+    public String getFinalStateStr() {
+        if (finalState != null) {
+            return finalState.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "是否显示警告红点")
+    private Boolean isWarning = Boolean.FALSE;
+
+    public Boolean getIsWarning() {
+        if (state != null) {
+            if (state == VisitorState.Refuse) {
+                return Boolean.TRUE;
+            }
+            if (isOverTimeLeave != null && isOverTimeLeave) {
+                return Boolean.TRUE;
+            }
+        }
+        return Boolean.FALSE;
+    }
+
+    @Schema(description = "申请方式/预约方式")
+    private VisitorApplyType applyType;
+
+    private String applyTypeStr;
+
+    public String getApplyTypeStr() {
+        if (applyType != null) {
+            return applyType.getRemark();
+        }
+        return "";
+    }
+
     //-----------------------被访人 start--------------------------
     @Schema(description = "被访人,也是审核人的用户userId")
     private String visitorUserId;
@@ -49,6 +96,9 @@ public class VisitorMainModel extends SuperModel {
     @Schema(description = "被访人机构用户信息")
     private OrganizationUserSimpleModel organizationUser;
 
+    @Schema(description = "是否已审核")
+    private Boolean isReViewed;
+
     @Schema(description = "审核时间")
     private Long reviewTime;
 
@@ -65,9 +115,6 @@ public class VisitorMainModel extends SuperModel {
     @Schema(description = "申请人机构用户信息")
     private OrganizationUserSimpleModel applyOrganizationUser;
 
-    @Schema(description = "微信的openId")
-    private String openId;
-
     @Schema(description = "姓名")
     private String name;
 
@@ -104,9 +151,6 @@ public class VisitorMainModel extends SuperModel {
     @Schema(description = "设备列表")
     private List<DeviceInfoSimpleModel> deviceInfos = new ArrayList<>();
 
-    @Schema(description = "第一次访问时间")
-    private Long firstVisitTime;
-
     @Schema(description = "到访部门")
     private String departments = "";
 
@@ -120,4 +164,24 @@ public class VisitorMainModel extends SuperModel {
     private String visitAddress;
 
     private Map<String, Object> meatInfo = new HashMap<>();
+
+    //----------------------访问信息 start----------------
+
+    @Schema(description = "第一次访问时间")
+    private Long firstVisitTime;
+
+    @Schema(description = "最后访问时间")
+    private Long lastVisitTime;
+
+    @Schema(description = "使用次数")
+    private Long useNumber = 0L;
+
+    @Schema(description = "是否离开")
+    private Boolean isLeave = Boolean.FALSE;
+
+    @Schema(description = "离开时间")
+    private Long leaveTime;
+
+    @Schema(description = "是否是超时离开")
+    private Boolean isOverTimeLeave;
 }

+ 8 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/VisitorMainParam.java

@@ -1,5 +1,6 @@
 package com.zhongshu.card.client.model.visitor;
 
+import com.zhongshu.card.client.type.visitor.VisitorApplyType;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -13,8 +14,15 @@ import java.util.Map;
 @Data
 public class VisitorMainParam {
 
+    @Schema(description = "数据id")
     private String id;
 
+    @Schema(description = "预约类型/申请方式")
+    private VisitorApplyType applyType = VisitorApplyType.Apply;
+
+    @Schema(description = "邀请用户userId")
+    private String inviteUserId;
+
     @Schema(description = "组件id")
     private String sceneComponentId;
 

+ 42 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/VisitorMainSearch.java

@@ -1,6 +1,7 @@
 package com.zhongshu.card.client.model.visitor;
 
 import com.zhongshu.card.client.model.base.SuperSearch;
+import com.zhongshu.card.client.type.visitor.VisitorApplyType;
 import com.zhongshu.card.client.type.visitor.VisitorState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -21,14 +22,38 @@ public class VisitorMainSearch extends SuperSearch {
     @Schema(description = "状态")
     private VisitorState state;
 
+    @Schema(description = "最终状态")
+    private List<VisitorState> finalStates;
+
+    @Schema(description = "申请方式,预约类型")
+    private VisitorApplyType applyType;
+
     //-----------------------被访人 start--------------------------
     @Schema(description = "被访人,也是审核人的用户userId")
     private String visitorUserId;
 
+    @Schema(description = "被访人姓名")
+    private String visitorUserName;
+
+    @Schema(description = "被访人手机")
+    private String visitorUserPhone;
+
     @Schema(description = "是否已失效")
     private Boolean isCancel = Boolean.FALSE;
 
+    @Schema(description = "清除人脸")
+    private Boolean isClearFace;
+
+    @Schema(description = "是否已失效(审核通过,但使用时间已过)")
+    private Boolean isOverTime = Boolean.FALSE;
+
+    @Schema(description = "是否离开")
+    private Boolean isLeave = Boolean.FALSE;
     //-------------------------------申请信息start--------------------
+
+    @Schema(description = "是否已审核")
+    private Boolean isReViewed;
+
     @Schema(description = "申请人userId")
     private String applyUserId;
 
@@ -56,4 +81,21 @@ public class VisitorMainSearch extends SuperSearch {
     @Schema(description = "可使用的设备id集合")
     private List<String> deviceIds = new ArrayList<>();
 
+    @Schema(description = "关联用户信息是否脱敏显示")
+    private Boolean isDesen;
+
+    @Schema(description = "预约开始时间(用户申请是填的时间)")
+    private Long visitorStartTime;
+
+    @Schema(description = "预约结束时间")
+    private Long visitorEndTime;
+
+    @Schema(description = "是否是超时离开")
+    private Boolean isOverTimeLeave;
+
+    @Schema(description = "实际到访时间 开始")
+    private Long startFirstVisitTime;
+
+    @Schema(description = "实际到访时间 结算")
+    private Long endFirstVisitTime;
 }

+ 25 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/VisitorStaticModel.java

@@ -0,0 +1,25 @@
+package com.zhongshu.card.client.model.visitor;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author TRX
+ * @date 2025/2/13
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class VisitorStaticModel {
+
+    @Schema(description = "待审核数量")
+    private Long waitReViewNumber = 0L;
+
+    @Schema(description = "待来访数量")
+    private Long waitVisitNumber = 0L;
+
+    @Schema(description = "当前访客")
+    private Long visitNumber = 0L;
+}

+ 15 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/VisitorStaticParam.java

@@ -0,0 +1,15 @@
+package com.zhongshu.card.client.model.visitor;
+
+import com.zhongshu.card.client.model.base.ProjectOidParam;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2025/2/13
+ */
+@Data
+public class VisitorStaticParam extends ProjectOidParam {
+
+    private Boolean isVisitorUser = Boolean.TRUE;
+
+}

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/setting/VisitorSettingDeviceModel.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.visitor.setting;
 
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.devices.DeviceInfoModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;

+ 2 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/setting/VisitorSettingDeviceParam.java

@@ -20,6 +20,8 @@ public class VisitorSettingDeviceParam {
     @Schema(description = "组件ID")
     private String sceneComponentId;
 
+    @Schema(description = "设备列表")
     private List<String> deviceIds = new ArrayList<String>();
 
+    private String projectOid;
 }

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/setting/VisitorSettingDeviceSearch.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.visitor.setting;
 
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.base.SuperSearch;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;

+ 11 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/setting/VisitorSettingModel.java

@@ -1,8 +1,10 @@
 package com.zhongshu.card.client.model.visitor.setting;
 
+import com.google.common.collect.Lists;
 import com.zhongshu.card.client.model.base.SuperModel;
 import com.zhongshu.card.client.model.form.ComponentFormModel;
 import com.zhongshu.card.client.model.org.role.RoleModel;
+import com.zhongshu.card.client.model.org.role.RoleSimpleModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.apache.commons.lang3.ObjectUtils;
@@ -22,16 +24,23 @@ public class VisitorSettingModel extends SuperModel {
     private String sceneComponentId;
 
     @Schema(description = "被访人类型设置")
-    private List<RoleModel> visitorRoles;
+    private List<RoleSimpleModel> visitorRoles;
 
     @Schema(description = "角色id")
     private List<String> visitorRoleIds = new ArrayList<>();
 
+    public List<String> getVisitorRoleIds() {
+        if (ObjectUtils.isNotEmpty(visitorRoles)) {
+            return visitorRoles.stream().map(RoleSimpleModel::getId).collect(Collectors.toList());
+        }
+        return Lists.newArrayList();
+    }
+
     private String visitorRoleNames = "";
 
     public String getVisitorRoleNames() {
         if (ObjectUtils.isNotEmpty(visitorRoles)) {
-            List<String> visitorRoleNames = visitorRoles.stream().map(RoleModel::getName).collect(Collectors.toList());
+            List<String> visitorRoleNames = visitorRoles.stream().map(RoleSimpleModel::getName).collect(Collectors.toList());
             return String.join(",", visitorRoleNames);
         }
         return "";

+ 3 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/visitor/setting/VisitorSettingParam.java

@@ -30,6 +30,9 @@ public class VisitorSettingParam {
     @Schema(description = "授权时间")
     private Long minutes;
 
+    @Schema(description = "项目oid")
+    private String projectOid;
+
     @Schema(description = "表单列表")
     private List<ComponentFormModel> fields = new ArrayList<ComponentFormModel>();
 

+ 4 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/wechat/UnlimitedQRCodeParam.java

@@ -1,5 +1,6 @@
 package com.zhongshu.card.client.model.wechat;
 
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 @Data
@@ -10,4 +11,7 @@ public class UnlimitedQRCodeParam {
     private String page;
 
     private String projectId;
+
+    @Schema(description = "版本类型")
+    private String envVersion;
 }

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/openApi/model/DeviceInfoOpenApiModel.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.openApi.model;
 
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.model.org.OrganizationMiniModel;
 import com.zhongshu.card.client.model.org.OrganizationSimpleModel;
 import com.zhongshu.card.client.model.school.AreaSimpleModel;

+ 1 - 7
FullCardClient/src/main/java/com/zhongshu/card/client/openApi/model/DeviceInfoOpenApiSimpleModel.java

@@ -1,17 +1,11 @@
 package com.zhongshu.card.client.openApi.model;
 
-import com.github.microservice.models.type.DeviceType;
-import com.zhongshu.card.client.model.org.OrganizationMiniModel;
-import com.zhongshu.card.client.model.org.OrganizationSimpleModel;
-import com.zhongshu.card.client.model.school.AreaSimpleModel;
-import com.zhongshu.card.client.type.DataState;
-import com.zhongshu.card.client.type.OnLineState;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.opengateway.client.model.OpenApiModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.apache.commons.lang3.ObjectUtils;
 
 /**
  * @author TRX

+ 1 - 14
FullCardClient/src/main/java/com/zhongshu/card/client/openApi/model/DevicePermissOpenApiModel.java

@@ -1,26 +1,13 @@
 package com.zhongshu.card.client.openApi.model;
 
-import com.github.microservice.models.type.DeviceType;
-import com.zhongshu.card.client.model.devices.DeviceInfoModel;
-import com.zhongshu.card.client.model.org.DepartmentModel;
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
-import com.zhongshu.card.client.model.org.UserCountSimpleModel;
-import com.zhongshu.card.client.model.org.role.RoleModel;
-import com.zhongshu.card.client.model.school.AreaSimpleModel;
-import com.zhongshu.card.client.model.school.DictInfoSimpleModel;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.openApi.base.SuperAPIModel;
 import com.zhongshu.card.client.type.DataState;
-import com.zhongshu.card.client.type.OnLineState;
 import com.zhongshu.card.client.type.Sex;
-import com.zhongshu.card.client.type.UserState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.apache.commons.lang3.ObjectUtils;
-
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * @author TRX

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/openApi/params/DeviceInfoOpenApiSearch.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.openApi.params;
 
-import com.github.microservice.models.type.DeviceType;
+import com.github.microservice.types.deviceUse.DeviceType;
 import com.zhongshu.card.client.openApi.base.SuperOpenAPIParam;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;

+ 1 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/service/feign/OrganizationFeignService.java

@@ -2,6 +2,7 @@ package com.zhongshu.card.client.service.feign;
 
 import com.zhongshu.card.client.model.org.*;
 import com.github.microservice.net.ResultContent;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import org.springframework.cloud.openfeign.FeignClient;

+ 1 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/service/org/OrganizationService.java

@@ -3,6 +3,7 @@ package com.zhongshu.card.client.service.org;
 import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.model.org.*;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserSearch;
 import com.zhongshu.card.client.model.project.ProjectSaveParam;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;

+ 6 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/service/org/UserAccountService.java

@@ -4,13 +4,14 @@ import com.zhongshu.card.client.model.base.AuthTypeParam;
 import com.zhongshu.card.client.model.base.UserIdModel;
 import com.zhongshu.card.client.model.org.*;
 import com.github.microservice.net.ResultContent;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserSearch;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.web.PageableDefault;
 import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 
@@ -22,6 +23,10 @@ public interface UserAccountService {
     // 查询机构用户列表
     ResultContent<Page<OrganizationUserModel>> projectUserPage(OrganizationUserSearch param, Pageable pageable);
 
+    // 查询机构用户列表
+    ResultContent<Page<OrganizationUserModel>> projectUserOpenPage(OrganizationUserSearch param, Pageable pageable);
+
+
     /**
      * 得到机构用户详情
      *

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/service/school/SchoolUserService.java

@@ -1,7 +1,7 @@
 package com.zhongshu.card.client.service.school;
 
 import com.zhongshu.card.client.model.org.OrgUserDetailParam;
-import com.zhongshu.card.client.model.org.OrganizationUserSearch;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserSearch;
 import com.zhongshu.card.client.model.org.SchoolUserCountParam;
 import com.zhongshu.card.client.model.school.CardInfoModel;
 import com.zhongshu.card.client.model.school.ImportResultModel;

+ 9 - 7
FullCardClient/src/main/java/com/zhongshu/card/client/type/PassWordType.java

@@ -3,20 +3,22 @@ package com.zhongshu.card.client.type;
 import lombok.Getter;
 
 /**
- * 密码限制类型
+ * 密码限制类型强度
  */
 public enum PassWordType {
-    NotLimit("不限制"),
-    ChartAndNumber("必须包含子母+数字"),
-    ChartUpAndChartLowAndNumber("必须包含大写字母+小写字母+数字组合"),
-    ChartAndSpecialAndNumber("必须包含字母+特殊字符+数字组合"),
-    ChartUpAndChartLowAndSpecialAndNumber("必须包含大写字母+小写字母+特殊字符+数字组合"),
+    Weak("弱(6位以上)", 6),
+    Medium("中(8位+数字)", 8),
+    Strong("强(8位+大小写+符号)", 8),
     ;
 
     @Getter
     private String remark;
 
-    PassWordType(String remark) {
+    @Getter
+    private Integer minLength;
+
+    PassWordType(String remark, Integer minLength) {
         this.remark = remark;
+        this.minLength = minLength;
     }
 }

+ 0 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/type/UserState.java

@@ -6,7 +6,6 @@ import lombok.Getter;
  * 用户在机构的状态
  */
 public enum UserState {
-
     Normal("正常"),
     Locked("禁用"),
     ;

+ 21 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/common/AuditState.java

@@ -0,0 +1,21 @@
+package com.zhongshu.card.client.type.common;
+
+import lombok.Getter;
+
+/**
+ * 通用审核状态
+ */
+public enum AuditState {
+    WaitAudit("待审核"),
+    Audited("已审核"),
+    Refuse("已拒绝"),
+    Cancel("已失效"),
+    ;
+
+    @Getter
+    private String remark;
+
+    AuditState(String remark) {
+        this.remark = remark;
+    }
+}

+ 20 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/config/LonginType.java

@@ -0,0 +1,20 @@
+package com.zhongshu.card.client.type.config;
+
+import lombok.Getter;
+
+/**
+ * 登录方式
+ */
+public enum LonginType {
+    Account("账号密码"),
+    Phone("手机号+验证码"),
+    Wx("微信快捷登录"),
+    ;
+
+    @Getter
+    private String remark;
+
+    LonginType(String remark) {
+        this.remark = remark;
+    }
+}

+ 19 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/config/RegisterExamineType.java

@@ -0,0 +1,19 @@
+package com.zhongshu.card.client.type.config;
+
+import lombok.Getter;
+
+/**
+ * 消息类型
+ */
+public enum RegisterExamineType {
+    All("所有用户都需要审核(包括游客)"),
+    Formal("仅正式身份需要审核(除游客外)"),
+    ;
+
+    @Getter
+    private String remark;
+
+    RegisterExamineType(String remark) {
+        this.remark = remark;
+    }
+}

+ 19 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/config/RetrievePasswordType.java

@@ -0,0 +1,19 @@
+package com.zhongshu.card.client.type.config;
+
+import lombok.Getter;
+
+/**
+ * 找回密码类型
+ */
+public enum RetrievePasswordType {
+    PhoneAndCard("手机号+身份证"),
+    Face("人脸识别"),
+    ;
+
+    @Getter
+    private String remark;
+
+    RetrievePasswordType(String remark) {
+        this.remark = remark;
+    }
+}

+ 19 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/tip/BusFunctionType.java

@@ -0,0 +1,19 @@
+package com.zhongshu.card.client.type.tip;
+
+import lombok.Getter;
+
+/**
+ * 业务功能类型
+ */
+public enum BusFunctionType {
+    VisitorAudio("访客审核"),
+    VisitorDetail("访客信息"),
+    ;
+
+    @Getter
+    private String remark;
+
+    BusFunctionType(String remark) {
+        this.remark = remark;
+    }
+}

+ 19 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/tip/TipType.java

@@ -0,0 +1,19 @@
+package com.zhongshu.card.client.type.tip;
+
+import lombok.Getter;
+
+/**
+ * 提醒消息类型
+ */
+public enum TipType {
+    System("系统消息"),
+    User("用户发送的"),
+    ;
+
+    @Getter
+    private String remark;
+
+    TipType(String remark) {
+        this.remark = remark;
+    }
+}

+ 19 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/user/OrgAddType.java

@@ -0,0 +1,19 @@
+package com.zhongshu.card.client.type.user;
+
+import lombok.Getter;
+
+/**
+ * 角色类型
+ */
+public enum OrgAddType {
+    Manager("管理员添加"),
+    Register("注册"),
+    ;
+
+    @Getter
+    private String remark;
+
+    OrgAddType(String remark) {
+        this.remark = remark;
+    }
+}

+ 20 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/user/OrgUserState.java

@@ -0,0 +1,20 @@
+package com.zhongshu.card.client.type.user;
+
+import lombok.Getter;
+
+/**
+ * 项目中的用户审核状态
+ */
+public enum OrgUserState {
+    Unaudited("审核中"),
+    Refusal("已拒绝"),
+    Formal("正式"),
+    ;
+
+    @Getter
+    private String remark;
+
+    OrgUserState(String remark) {
+        this.remark = remark;
+    }
+}

+ 19 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/user/RoleInitType.java

@@ -0,0 +1,19 @@
+package com.zhongshu.card.client.type.user;
+
+import lombok.Getter;
+
+/**
+ * 角色类型
+ */
+public enum RoleInitType {
+    Admin("管理员"),
+    Tourist("游客"),
+    ;
+
+    @Getter
+    private String remark;
+
+    RoleInitType(String remark) {
+        this.remark = remark;
+    }
+}

+ 18 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/visitor/VisitorApplyType.java

@@ -0,0 +1,18 @@
+package com.zhongshu.card.client.type.visitor;
+
+import lombok.Getter;
+
+/**
+ * 预约方式
+ */
+public enum VisitorApplyType {
+    Invite("邀请访问"),
+    Apply("自助预约");
+
+    @Getter
+    private String remark;
+
+    VisitorApplyType(String remark) {
+        this.remark = remark;
+    }
+}

+ 2 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/visitor/VisitorState.java

@@ -11,6 +11,8 @@ public enum VisitorState {
     Visit("已到访"),
     Refuse("已拒绝"),
     Cancel("已失效"),
+    Leave("已签离"),
+    LeaveOutTime("超时签离"),
     ;
 
     @Getter

+ 0 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/WeChatController.java

@@ -1,8 +1,6 @@
 package com.zhongshu.card.server.core.controller;
 
 import com.github.microservice.net.ResultContent;
-import com.zhongshu.card.client.model.operLogs.OperationLogsAddParam;
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
 import com.zhongshu.card.client.model.wechat.UnlimitedQRCodeParam;
 import com.zhongshu.card.server.core.service.wxQRCode.WeChatService;
 import io.swagger.v3.oas.annotations.Operation;

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/feign/MqttFeignController.java

@@ -1,8 +1,8 @@
 package com.zhongshu.card.server.core.controller.feign;
 
 import com.zhongshu.card.client.model.mqtt.SendMessageModel;
-import com.zhongshu.card.client.model.org.*;
 import com.github.microservice.net.ResultContent;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
 import com.zhongshu.card.server.core.service.mqtt.MqttServiceImpl;
 import io.swagger.v3.oas.annotations.Hidden;
 import io.swagger.v3.oas.annotations.Operation;

+ 1 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/feign/OrganizationFeignController.java

@@ -2,6 +2,7 @@ package com.zhongshu.card.server.core.controller.feign;
 
 import com.zhongshu.card.client.model.org.*;
 import com.github.microservice.net.ResultContent;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
 import com.zhongshu.card.client.service.org.OrganizationService;
 import com.zhongshu.card.client.service.org.UserAccountService;
 import io.swagger.v3.oas.annotations.Hidden;

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

@@ -1,8 +1,7 @@
 package com.zhongshu.card.server.core.controller.feign;
 
 import com.github.microservice.net.ResultContent;
-import com.zhongshu.card.client.model.mqtt.SendMessageModel;
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
 import com.zhongshu.card.client.model.payment.RequestInfoSaveParam;
 import com.zhongshu.card.server.core.service.payment.RequestInfoService;
 import io.swagger.v3.oas.annotations.Hidden;

+ 64 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/org/OrganizationUserController.java

@@ -7,18 +7,22 @@ import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.model.base.IDParam;
 import com.zhongshu.card.client.model.base.ProjectOidParam;
 import com.zhongshu.card.client.model.org.OrgUserDetailParam;
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
-import com.zhongshu.card.client.model.org.OrganizationUserSearch;
 import com.zhongshu.card.client.model.org.UserCountAddParam;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserAuditParam;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserSearch;
+import com.zhongshu.card.client.model.org.register.UserCountRegisterParam;
 import com.zhongshu.card.client.model.orgModel.OrgBindUserAllParam;
 import com.zhongshu.card.client.model.school.ImportResultModel;
 import com.zhongshu.card.client.service.org.UserAccountService;
+import com.zhongshu.card.client.type.user.OrgAddType;
 import com.zhongshu.card.server.core.service.org.OrganizationUserServiceImpl;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -78,6 +82,20 @@ public class OrganizationUserController {
         return userAccountService.projectUserPage(param, pageable);
     }
 
+    @Operation(summary = "项目用户列表-分页查询", description = "项目用户列表-分页查询")
+    @RequestMapping(value = {"projectUserPageFree"}, method = {RequestMethod.POST})
+    public ResultContent<Page<OrganizationUserModel>> projectUserPageFree(@Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable, @Parameter(required = false) OrganizationUserSearch param) {
+        Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        String phone = param.getPhone();
+        if (StringUtils.isEmpty(phone) || phone.length() < 4) {
+            return ResultContent.buildFail("phone不能为空或小于4位");
+        }
+        // 项目用户 包括项目下所有的机构的用户
+        param.setIsSearchProject(Boolean.TRUE);
+        param.setIsOrg(Boolean.TRUE);
+        return userAccountService.projectUserOpenPage(param, pageable);
+    }
+
     @ResourceAuth(value = "user", type = AuthType.User)
     @Operation(summary = "机构用户列表-分页查询", description = "机构用户列表-分页查询")
     @RequestMapping(value = {"orgUserPage"}, method = {RequestMethod.POST})
@@ -87,6 +105,19 @@ public class OrganizationUserController {
         return userAccountService.pageOrgUser(param, pageable);
     }
 
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "项目注册用户列表-分页查询", description = "项目注册用户列表-分页查询")
+    @RequestMapping(value = {"projectRegisterUsersPages"}, method = {RequestMethod.POST})
+    public ResultContent<Page<OrganizationUserModel>> projectRegisterUsersPages(
+            @Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable,
+            @Parameter(required = false) OrganizationUserSearch param) {
+        Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        // 项目用户 包括项目下所有的机构的用户
+        param.setIsSearchProject(Boolean.TRUE);
+        param.setAddType(OrgAddType.Register);
+        return userAccountService.projectUserPage(param, pageable);
+    }
+
     @ResourceAuth(value = "user", type = AuthType.User)
     @Operation(summary = "项目机构用户列表-分页查询", description = "项目机构用户列表-分页查询")
     @RequestMapping(value = {"projectOrgUserPage"}, method = {RequestMethod.POST})
@@ -135,4 +166,35 @@ public class OrganizationUserController {
         return organizationUserService.getCurrentOrgs(param.getProjectOid());
     }
 
+    //----------------------- 用户注册 start------------------
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "小程序注册用户", description = "小程序注册用户")
+    @RequestMapping(value = {"registerProjectUser"}, method = {RequestMethod.POST})
+    public ResultContent registerProjectUser(@RequestBody UserCountRegisterParam param) {
+        Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        Assert.hasText(param.getPhone(), "phone不能为空");
+        return organizationUserService.registerProjectUser(param);
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "项目注册用户列表-分页查询", description = "项目注册用户列表-分页查询")
+    @RequestMapping(value = {"registerPage"}, method = {RequestMethod.POST})
+    public ResultContent<Page<OrganizationUserModel>> registerPage(
+            @Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable,
+            @Parameter(required = false) OrganizationUserSearch param) {
+        param.setIsSearchProject(Boolean.TRUE);
+        param.setNotAuthType(AuthType.Project);
+        Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        param.setAddType(OrgAddType.Register);
+        return userAccountService.pageOrgUser(param, pageable);
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "审核项目注册用户", description = "审核项目注册用户")
+    @RequestMapping(value = {"auditOrgUser"}, method = {RequestMethod.POST})
+    public ResultContent auditOrgUser(@RequestBody @Valid OrganizationUserAuditParam param) {
+        return organizationUserService.auditOrgUser(param);
+    }
+
+
 }

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

@@ -3,19 +3,30 @@ package com.zhongshu.card.server.core.controller.projectAbout;
 import com.github.microservice.auth.security.annotations.ResourceAuth;
 import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.net.ResultContent;
+import com.zhongshu.card.client.model.base.IDParam;
+import com.zhongshu.card.client.model.base.ProjectOidParam;
+import com.zhongshu.card.client.model.base.UrlParam;
 import com.zhongshu.card.client.model.base.UserIdAndOidModel;
-import com.zhongshu.card.client.model.projectAbout.OrgUserFaceModel;
-import com.zhongshu.card.client.model.projectAbout.OrgUserFaceParam;
+import com.zhongshu.card.client.model.projectAbout.orgFace.OrgUserFaceAuditParam;
+import com.zhongshu.card.client.model.projectAbout.orgFace.OrgUserFaceModel;
+import com.zhongshu.card.client.model.projectAbout.orgFace.OrgUserFaceParam;
+import com.zhongshu.card.client.model.projectAbout.orgFace.OrgUserFaceSearch;
 import com.zhongshu.card.server.core.service.projectAbout.OrgUserFaceService;
 import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.web.PageableDefault;
+import org.springframework.util.Assert;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * 项目人员人脸管理
@@ -39,10 +50,45 @@ public class OrgUserFaceController {
     }
 
     @ResourceAuth(value = "user", type = AuthType.User)
-    @Operation(summary = "得到用户人脸信息", description = "得到用户人脸信息")
+    @Operation(summary = "删除人脸信息", description = "删除人脸信息")
+    @RequestMapping(value = {"deleteFace"}, method = {RequestMethod.POST})
+    public ResultContent deleteFace(@RequestBody IDParam param) {
+        return orgUserFaceService.deleteFace(param.getId());
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "审核人脸申请", description = "审核人脸申请")
+    @RequestMapping(value = {"auditFace"}, method = {RequestMethod.POST})
+    public ResultContent auditFace(@RequestBody OrgUserFaceAuditParam param) {
+        return orgUserFaceService.auditFace(param);
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "所有数据列表-分页查询", description = "数据列表-分页查询")
+    @RequestMapping(value = {"page"}, method = {RequestMethod.POST})
+    public ResultContent<Page<OrgUserFaceModel>> page(@Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable, @Parameter(required = false) OrgUserFaceSearch param) {
+        Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        return orgUserFaceService.page(param, pageable);
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "得到当前用户人脸信息列表", description = "得到当前用户人脸信息列表")
+    @RequestMapping(value = "getCurrentUserAllFace", method = {RequestMethod.POST})
+    public ResultContent<List<OrgUserFaceModel>> getCurrentUserAllFace(@RequestBody @Valid ProjectOidParam param) {
+        return orgUserFaceService.getCurrentUserAllFace(param.getProjectOid());
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "得到指定用户人脸信息列表", description = "得到指定用户人脸信息列表")
     @RequestMapping(value = "getUserFace", method = {RequestMethod.POST})
-    public ResultContent<OrgUserFaceModel> getUserFace(@RequestBody @Valid UserIdAndOidModel param) {
-        return orgUserFaceService.getUserFaceModel(param.getUserId(), param.getProjectOid());
+    public ResultContent<List<OrgUserFaceModel>> getUserFace(@RequestBody @Valid UserIdAndOidModel param) {
+        return orgUserFaceService.getUserAllFace(param.getUserId(), param.getProjectOid());
+    }
+
+    @Operation(summary = "判断检查人脸可信度", description = "判断检查人脸可信度")
+    @RequestMapping(value = "conformFace", method = {RequestMethod.POST})
+    public ResultContent conformFace(@RequestBody @Valid UrlParam param) {
+        return orgUserFaceService.conformFace(param.getUrl(), param.getProjectOid());
     }
 
 }

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

@@ -45,10 +45,17 @@ public class ProjectCommonConfigController {
     @Operation(summary = "得到项目的通用配置", description = "得到项目的通用配置")
     @RequestMapping(value = "getInfo", method = {RequestMethod.POST})
     @Hidden
-    public ResultContent<ProjectCommonConfigModel> getProjectWeChatInfo(@RequestBody ProjectOidParam param) {
+    public ResultContent<ProjectCommonConfigModel> getInfo(@RequestBody ProjectOidParam param) {
         return projectCommonConfigService.getInfo(param.getProjectOid());
     }
 
+    @Operation(summary = "得到项目的配置", description = "得到项目的配置")
+    @RequestMapping(value = "getConfigInfo", method = {RequestMethod.POST})
+    @Hidden
+    public ResultContent<ProjectCommonConfigModel> getConfigInfo(@RequestBody ProjectOidParam param) {
+        return projectCommonConfigService.getXcxInfo(param.getProjectOid());
+    }
+
     //----------------------------协议配置 start-------------------------
 
     @ResourceAuth(value = "user", type = AuthType.User)

+ 2 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/school/SchoolUserController.java

@@ -6,8 +6,8 @@ import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.model.base.IDParam;
 import com.zhongshu.card.client.model.org.OrgUserDetailParam;
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
-import com.zhongshu.card.client.model.org.OrganizationUserSearch;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserSearch;
 import com.zhongshu.card.client.model.org.SchoolUserCountParam;
 import com.zhongshu.card.client.model.school.ImportResultModel;
 import com.zhongshu.card.client.model.school.RegisterBindSchoolParam;

+ 1 - 9
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/upLoadFile/OssController.java

@@ -5,7 +5,6 @@ import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.net.ResultContent;
 import com.github.microservice.netdisk.client.model.file.FileItemModel;
 import com.github.microservice.netdisk.client.model.file.FileStoreModel;
-import com.mongodb.client.gridfs.model.GridFSFile;
 import com.zhongshu.card.client.model.base.OidParam;
 import com.zhongshu.card.server.core.model.oss.FileUploadFinishParam;
 import com.zhongshu.card.server.core.model.upLoadFile.RemoteBusFile;
@@ -16,22 +15,16 @@ import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
-import lombok.Cleanup;
 import lombok.SneakyThrows;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.mongodb.gridfs.GridFsResource;
-import org.springframework.data.mongodb.gridfs.GridFsTemplate;
 import org.springframework.http.MediaType;
-import org.springframework.util.StreamUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.validation.Valid;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
 import java.util.List;
 
 /**
@@ -47,9 +40,8 @@ public class OssController {
     @Autowired
     NetDiskOssBusService netDiskOssService;
 
-    @ResourceAuth(value = "user", type = AuthType.User)
     @RequestMapping(value = "uploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE, method = RequestMethod.POST)
-    @Operation(summary = "网盘直接上传文件", description = "网盘直接上传文件")
+    @Operation(summary = "网盘直接上传文件(专为小程序使用)", description = "网盘直接上传文件")
     public ResultContent<String> uploadFile(HttpServletRequest request, HttpServletResponse response, @RequestPart("file") MultipartFile file, OidParam param) throws IOException {
         if (file == null || file.isEmpty()) {
             return ResultContent.buildFail("文件不能为空");

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

@@ -6,8 +6,7 @@ import com.zhongshu.card.client.model.operLogs.OperationLogsAddParam;
 import com.zhongshu.card.client.model.operLogs.OperationLogsModel;
 import com.zhongshu.card.client.model.operLogs.OperationLogsSearchParam;
 import com.github.microservice.net.ResultContent;
-import com.zhongshu.card.client.model.org.OrgUserDetailParam;
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
 import com.zhongshu.card.server.core.service.user.OperationLogsService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;

+ 2 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/user/UserInfoController.java

@@ -7,6 +7,8 @@ import com.zhongshu.card.client.model.base.AuthTypeParam;
 import com.zhongshu.card.client.model.base.UserIdModel;
 import com.zhongshu.card.client.model.org.*;
 import com.github.microservice.net.ResultContent;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserSearch;
 import com.zhongshu.card.client.service.org.OrganizationService;
 import com.zhongshu.card.client.service.org.UserAccountService;
 import com.zhongshu.card.client.type.UserState;

+ 127 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/visitor/TipInfoController.java

@@ -0,0 +1,127 @@
+package com.zhongshu.card.server.core.controller.visitor;
+
+import com.github.microservice.auth.security.annotations.ResourceAuth;
+import com.github.microservice.auth.security.helper.AuthHelper;
+import com.github.microservice.auth.security.type.AuthType;
+import com.github.microservice.net.ResultContent;
+import com.zhongshu.card.client.model.base.IDParam;
+import com.zhongshu.card.client.model.base.ProjectOidParam;
+import com.zhongshu.card.client.model.tip.TipInfoModel;
+import com.zhongshu.card.client.model.tip.TipInfoSearch;
+import com.zhongshu.card.server.core.service.tip.TipInfoService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.web.PageableDefault;
+import org.springframework.util.Assert;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 提醒消息管理
+ *
+ * @author TRX
+ * @date 2024/6/5
+ */
+@RestController
+@RequestMapping("/tipInfo")
+@Tag(name = "提醒消息管理")
+public class TipInfoController {
+
+    @Autowired
+    private TipInfoService tipInfoService;
+
+    @Autowired
+    private AuthHelper authHelper;
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "删除数据", description = "删除数据")
+    @RequestMapping(value = "deleteInfo", method = {RequestMethod.POST})
+    public ResultContent deleteInfo(@RequestBody IDParam param) {
+        return this.tipInfoService.deleteInfo(param.getId());
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "所有数据列表-分页查询", description = "数据列表-分页查询")
+    @RequestMapping(value = {"page"}, method = {RequestMethod.POST})
+    public ResultContent<Page<TipInfoModel>> page(
+            @Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable,
+            @Parameter(required = false) TipInfoSearch param) {
+        Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        return tipInfoService.page(param, pageable);
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "我的消息列表-分页查询", description = "我的消息列表-分页查询")
+    @RequestMapping(value = {"myPage"}, method = {RequestMethod.POST})
+    public ResultContent<Page<TipInfoModel>> myPage(@Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable,
+            @Parameter(required = false) TipInfoSearch param) {
+        Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        String toUserId = "";
+        if (authHelper.getCurrentUser() != null) {
+            toUserId = authHelper.getCurrentUser().getUserId();
+        }
+        param.setToUserId(toUserId);
+        return tipInfoService.page(param, pageable);
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "我的列表-分页查询(已登录的)", description = "数据列表-分页查询")
+    @RequestMapping(value = {"mySendPage"}, method = {RequestMethod.POST})
+    public ResultContent<Page<TipInfoModel>> mySendPage(
+            @Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable,
+            @Parameter(required = false) TipInfoSearch param) {
+        Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        String fromUserId = "";
+        if (authHelper.getCurrentUser() != null) {
+            fromUserId = authHelper.getCurrentUser().getUserId();
+        }
+        param.setFromUserId(fromUserId);
+        return tipInfoService.page(param, pageable);
+    }
+
+    @Operation(summary = "我的发送列表-分页查询(未登录的)", description = "我的发送列表-分页查询")
+    @RequestMapping(value = {"mySendPageUnLogin"}, method = {RequestMethod.POST})
+    public ResultContent<Page<TipInfoModel>> mySendPageUnLogin(
+            @Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable,
+            @Parameter(required = false) TipInfoSearch param) {
+        Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        Assert.hasText(param.getOpenId(), "openId不能为空");
+        param.setIsDesen(Boolean.TRUE);
+        return tipInfoService.page(param, pageable);
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "提醒消息详情", description = "提醒消息详情")
+    @RequestMapping(value = "getInfo", method = {RequestMethod.POST})
+    public ResultContent getInfo(@RequestBody IDParam param) {
+        return this.tipInfoService.getInfo(param.getId());
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "当前用户未读的信息统计", description = "当前用户未读的信息统计")
+    @RequestMapping(value = "myUnReadCount", method = {RequestMethod.POST})
+    public ResultContent myUnReadCount(@RequestBody ProjectOidParam param) {
+        return this.tipInfoService.staticCurrentUnRead(param.getProjectOid());
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "标记信息已读", description = "标记信息已读")
+    @RequestMapping(value = "markRead", method = {RequestMethod.POST})
+    public ResultContent markRead(@RequestBody IDParam param) {
+        return this.tipInfoService.markRead(param.getId());
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "标识当前用户所有的数据已读", description = "标识当前用户所有的数据已读")
+    @RequestMapping(value = "markCurrentAllRead", method = {RequestMethod.GET})
+    public ResultContent markCurrentAllRead() {
+        return this.tipInfoService.markCurrentAllRead();
+    }
+
+}

+ 38 - 13
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/visitor/VisitorMainController.java

@@ -5,14 +5,13 @@ import com.github.microservice.auth.security.helper.AuthHelper;
 import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.model.base.IDParam;
-import com.zhongshu.card.client.model.visitor.VisitorMainModel;
-import com.zhongshu.card.client.model.visitor.VisitorMainParam;
-import com.zhongshu.card.client.model.visitor.VisitorMainSearch;
-import com.zhongshu.card.client.model.visitor.VisitorReViewParam;
+import com.zhongshu.card.client.model.visitor.*;
 import com.zhongshu.card.server.core.service.visitor.VisitorMainService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -23,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.io.IOException;
+
 /**
  * 访客管理
  *
@@ -53,13 +54,20 @@ public class VisitorMainController {
         return this.visitorMainService.deleteInfo(param.getId());
     }
 
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "所有数据列表-分页查询", description = "数据列表-分页查询")
+    @RequestMapping(value = {"page"}, method = {RequestMethod.POST})
+    public ResultContent<Page<VisitorMainModel>> page(@Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable, @Parameter(required = false) VisitorMainSearch param) {
+        Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        return visitorMainService.page(param, pageable);
+    }
+
     @ResourceAuth(value = "user", type = AuthType.User)
     @Operation(summary = "我的审核列表-分页查询", description = "数据列表-分页查询")
     @RequestMapping(value = {"myReViewPage"}, method = {RequestMethod.POST})
-    public ResultContent<Page<VisitorMainModel>> myReViewPage(
-            @Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable,
-            @Parameter(required = false) VisitorMainSearch param) {
+    public ResultContent<Page<VisitorMainModel>> myReViewPage(@Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable, @Parameter(required = false) VisitorMainSearch param) {
         Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        // 被访人为当前用户
         String visitorUserId = "";
         if (authHelper.getCurrentUser() != null) {
             visitorUserId = authHelper.getCurrentUser().getUserId();
@@ -71,9 +79,7 @@ public class VisitorMainController {
     @ResourceAuth(value = "user", type = AuthType.User)
     @Operation(summary = "我的申请列表-分页查询(已登录的)", description = "数据列表-分页查询")
     @RequestMapping(value = {"myApplyPage"}, method = {RequestMethod.POST})
-    public ResultContent<Page<VisitorMainModel>> myApplyPage(
-            @Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable,
-            @Parameter(required = false) VisitorMainSearch param) {
+    public ResultContent<Page<VisitorMainModel>> myApplyPage(@Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable, @Parameter(required = false) VisitorMainSearch param) {
         Assert.hasText(param.getProjectOid(), "projectOid不能为空");
         String applyUserId = "";
         if (authHelper.getCurrentUser() != null) {
@@ -85,11 +91,10 @@ public class VisitorMainController {
 
     @Operation(summary = "我的申请列表-分页查询(未登录的)", description = "数据列表-分页查询")
     @RequestMapping(value = {"myApplyPageUnLogin"}, method = {RequestMethod.POST})
-    public ResultContent<Page<VisitorMainModel>> myApplyPageUnLogin(
-            @Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable,
-            @Parameter(required = false) VisitorMainSearch param) {
+    public ResultContent<Page<VisitorMainModel>> myApplyPageUnLogin(@Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable, @Parameter(required = false) VisitorMainSearch param) {
         Assert.hasText(param.getProjectOid(), "projectOid不能为空");
         Assert.hasText(param.getOpenId(), "openId不能为空");
+        param.setIsDesen(Boolean.TRUE);
         return visitorMainService.page(param, pageable);
     }
 
@@ -113,4 +118,24 @@ public class VisitorMainController {
         return this.visitorMainService.passVisitApply(param);
     }
 
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "取消申请", description = "取消申请")
+    @RequestMapping(value = "cancelVisitApply", method = {RequestMethod.POST})
+    public ResultContent cancelVisitApply(@RequestBody IDParam param) {
+        return this.visitorMainService.cancelVisitApply(param.getId());
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "当前用户信息统计(被访人员)", description = "当前用户信息统计")
+    @RequestMapping(value = "staticCurrentUserTotal", method = {RequestMethod.POST})
+    public ResultContent staticCurrentUserTotal(@RequestBody VisitorStaticParam param) {
+        return this.visitorMainService.staticCurrentUserTotal(param);
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @RequestMapping(value = "exportData", method = RequestMethod.POST)
+    @Operation(summary = "导出访客数据", description = "导出访客数据")
+    public void exportData(HttpServletRequest request, HttpServletResponse response, VisitorMainSearch param) throws IOException {
+        visitorMainService.exportData(request, response, param);
+    }
 }

+ 10 - 4
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/visitor/VisitorSettingController.java

@@ -3,7 +3,7 @@ package com.zhongshu.card.server.core.controller.visitor;
 import com.github.microservice.auth.security.annotations.ResourceAuth;
 import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.net.ResultContent;
-import com.zhongshu.card.client.model.base.IDParam;
+import com.zhongshu.card.client.model.base.CodeParam;
 import com.zhongshu.card.client.model.visitor.setting.VisitorSettingModel;
 import com.zhongshu.card.client.model.visitor.setting.VisitorSettingParam;
 import com.zhongshu.card.server.core.service.visitor.VisitorSettingService;
@@ -32,9 +32,15 @@ public class VisitorSettingController {
     private VisitorSettingService visitorSettingService;
 
     @Operation(summary = "得到配置(传入组件id)", description = "得到配置")
-    @RequestMapping(value = "getInfo", method = {RequestMethod.GET})
-    public ResultContent<VisitorSettingModel> getInfo(IDParam param) {
-        return visitorSettingService.getInfo(param.getId());
+    @RequestMapping(value = "getInfo", method = {RequestMethod.POST})
+    public ResultContent<VisitorSettingModel> getInfo(@RequestBody VisitorSettingParam param) {
+        return visitorSettingService.getInfo(param.getSceneComponentId(), param.getProjectOid());
+    }
+
+    @Operation(summary = "得到配置(传入组件code)", description = "得到配置")
+    @RequestMapping(value = "getInfoByCode", method = {RequestMethod.POST})
+    public ResultContent<VisitorSettingModel> getInfoByCode(@RequestBody CodeParam param) {
+        return visitorSettingService.getInfoByCode(param.getCode(), param.getProjectOid());
     }
 
     @ResourceAuth(value = "user", type = AuthType.User)

+ 17 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/BaseImpl.java

@@ -1,6 +1,7 @@
 package com.zhongshu.card.server.core.dao;
 
 import com.zhongshu.card.client.model.base.SuperSearch;
+import com.zhongshu.card.client.utils.DateUtils;
 import com.zhongshu.card.server.core.util.CommonUtil;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.data.domain.Sort;
@@ -37,9 +38,24 @@ public abstract class BaseImpl {
     public Criteria buildCriteriaNotOid(SuperSearch param) {
         Criteria criteria = new Criteria();
         criteria.and("isDelete").is(Boolean.FALSE);
+
+        if (ObjectUtils.isNotEmpty(param.getTimes()) && param.getTimes().size() == 2) {
+            param.setStartTime(param.getTimes().get(0));
+            param.setEndTime(param.getTimes().get(1));
+        }
+        if (!CommonUtil.longIsEmpty(param.getStartTime())) {
+            param.setStartTime(DateUtils.getDayStartTime(param.getStartTime()));
+        }
+        if (!CommonUtil.longIsEmpty(param.getEndTime())) {
+            param.setEndTime(DateUtils.getDayEndTime(param.getEndTime()));
+        }
         // 时间
         if (!CommonUtil.longIsEmpty(param.getStartTime()) && !CommonUtil.longIsEmpty(param.getEndTime())) {
-            criteria.and("createTime").gte(param.getStartTime()).and("createTime").lte(param.getEndTime());
+            criteria.and("createTime").gte(param.getStartTime()).lte(param.getEndTime());
+        } else if (!CommonUtil.longIsEmpty(param.getStartTime()) && CommonUtil.longIsEmpty(param.getEndTime())) {
+            criteria.and("createTime").gte(param.getStartTime());
+        } else if (CommonUtil.longIsEmpty(param.getStartTime()) && !CommonUtil.longIsEmpty(param.getEndTime())) {
+            criteria.and("createTime").lte(param.getEndTime());
         }
         return criteria;
     }

Някои файлове не бяха показани, защото твърде много файлове са промени