diff --git a/policeSecurityServer/pom.xml b/policeSecurityServer/pom.xml
index 69b6c0f..61d3d4b 100644
--- a/policeSecurityServer/pom.xml
+++ b/policeSecurityServer/pom.xml
@@ -27,6 +27,7 @@
8.4.3
4.8.1
1.38.0
+ 4.6.0
@@ -200,6 +201,12 @@
okhttp
${okhttp.version}
+
+
+ com.github.binarywang
+ weixin-java-miniapp
+ ${wx.miniapp.version}
+
diff --git a/policeSecurityServer/src/main/java/com/changhu/common/annotation/CheckClientType.java b/policeSecurityServer/src/main/java/com/changhu/common/annotation/CheckUserType.java
similarity index 85%
rename from policeSecurityServer/src/main/java/com/changhu/common/annotation/CheckClientType.java
rename to policeSecurityServer/src/main/java/com/changhu/common/annotation/CheckUserType.java
index 0f49299..247ea5d 100644
--- a/policeSecurityServer/src/main/java/com/changhu/common/annotation/CheckClientType.java
+++ b/policeSecurityServer/src/main/java/com/changhu/common/annotation/CheckUserType.java
@@ -4,6 +4,7 @@ import com.changhu.enums.ClientType;
import org.springframework.web.bind.annotation.RestController;
import java.lang.annotation.*;
+import java.util.List;
/**
* @author 20252
@@ -14,7 +15,7 @@ import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Documented
@RestController
-public @interface CheckClientType {
+public @interface CheckUserType {
/**
* 是否需要校验客户端类型
@@ -24,5 +25,5 @@ public @interface CheckClientType {
/**
* 需要的客户端类型
*/
- ClientType clientType() default ClientType.NONE;
+ UserType[] userTypes();
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/common/annotation/UserType.java b/policeSecurityServer/src/main/java/com/changhu/common/annotation/UserType.java
new file mode 100644
index 0000000..b63153c
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/common/annotation/UserType.java
@@ -0,0 +1,22 @@
+package com.changhu.common.annotation;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/6 上午11:13
+ * @desc UserType...
+ */
+@AllArgsConstructor
+@Getter
+public enum UserType {
+ MANAGEMENT_POLICE("公安后台用户"),
+ MANAGEMENT_SECURITY("保安后台用户"),
+ MANAGEMENT_SUPER("超级后台用户"),
+
+ MINI_PROGRAM_POLICE("小程序公安用户"),
+ MINI_PROGRAM_PROJECT_MANAGE("小程序项目经理");
+
+ private final String remark;
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/common/db/enums/MiniProgramUserIdentity.java b/policeSecurityServer/src/main/java/com/changhu/common/db/enums/MiniProgramUserIdentity.java
new file mode 100644
index 0000000..f4d97ce
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/common/db/enums/MiniProgramUserIdentity.java
@@ -0,0 +1,22 @@
+package com.changhu.common.db.enums;
+
+import com.baomidou.mybatisplus.annotation.IEnum;
+import com.changhu.common.db.BaseEnum;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/5 上午11:50
+ * @desc MiniProgramUserIdentity...
+ */
+@AllArgsConstructor
+@Getter
+public enum MiniProgramUserIdentity implements BaseEnum, IEnum {
+
+ POLICE("police", "公安"),
+ PROJECT_MANAGER("project_manager", "项目经理");
+
+ private final String value;
+ private final String label;
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/common/db/enums/ServiceProjectType.java b/policeSecurityServer/src/main/java/com/changhu/common/db/enums/ServiceProjectType.java
new file mode 100644
index 0000000..d7d3961
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/common/db/enums/ServiceProjectType.java
@@ -0,0 +1,24 @@
+package com.changhu.common.db.enums;
+
+import com.baomidou.mybatisplus.annotation.IEnum;
+import com.changhu.common.db.BaseEnum;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/5 上午11:04
+ * @desc 服务项目类型
+ */
+@AllArgsConstructor
+@Getter
+public enum ServiceProjectType implements BaseEnum, IEnum {
+
+ SECURITY("security", "安保"),
+ PROPERTY("property", "物业"),
+ ;
+
+
+ private final String value;
+ private final String label;
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/common/utils/UserUtil.java b/policeSecurityServer/src/main/java/com/changhu/common/utils/UserUtil.java
index 5483ddf..7d6cbe8 100644
--- a/policeSecurityServer/src/main/java/com/changhu/common/utils/UserUtil.java
+++ b/policeSecurityServer/src/main/java/com/changhu/common/utils/UserUtil.java
@@ -6,6 +6,7 @@ import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
+import com.changhu.common.annotation.UserType;
import com.changhu.common.enums.ResultCode;
import com.changhu.common.exception.MessageException;
import com.changhu.enums.ClientType;
@@ -45,18 +46,18 @@ public class UserUtil {
return getTokenInfo();
}
- public static SaTokenInfo loginAndTokenInfo(Long userId, ClientType clientType, Long unitId) {
- StpUtil.login(userId, SaLoginConfig.setExtra("clientType", clientType).setExtra("unitId", unitId));
+ public static SaTokenInfo loginAndTokenInfo(Long userId, UserType userType, Long unitId) {
+ StpUtil.login(userId, SaLoginConfig.setExtra("userType", userType).setExtra("unitId", unitId));
return getTokenInfo();
}
/**
* 获取客户端类型
*/
- public static ClientType getClientType() {
- Object clientType = StpUtil.getExtra("clientType");
+ public static UserType getUserType() {
+ Object clientType = StpUtil.getExtra("userType");
if (clientType instanceof String ct) {
- return ClientType.valueOf(ct);
+ return UserType.valueOf(ct);
}
return null;
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/config/WebConfig.java b/policeSecurityServer/src/main/java/com/changhu/config/WebConfig.java
index fbc9f4d..e34c5c2 100644
--- a/policeSecurityServer/src/main/java/com/changhu/config/WebConfig.java
+++ b/policeSecurityServer/src/main/java/com/changhu/config/WebConfig.java
@@ -2,7 +2,7 @@ package com.changhu.config;
import cn.dev33.satoken.interceptor.SaInterceptor;
import cn.dev33.satoken.stp.StpUtil;
-import com.changhu.support.interceptor.ClientTypeInterceptor;
+import com.changhu.support.interceptor.UserTypeInterceptor;
import com.changhu.support.interceptor.JsonBodyInterceptor;
import org.jetbrains.annotations.NotNull;
import org.springframework.context.annotation.Configuration;
@@ -51,7 +51,7 @@ public class WebConfig implements WebMvcConfigurer {
// 注册jsonBody 拦截器 用于标识是否需要JsonResult返回
registry.addInterceptor(new JsonBodyInterceptor());
// 注册clientType 拦截器 用于校验当前用户是否匹配操作客户端
- registry.addInterceptor(new ClientTypeInterceptor());
+ registry.addInterceptor(new UserTypeInterceptor());
}
@Override
diff --git a/policeSecurityServer/src/main/java/com/changhu/controller/CommonController.java b/policeSecurityServer/src/main/java/com/changhu/controller/CommonController.java
index 3f3da94..2d316fb 100644
--- a/policeSecurityServer/src/main/java/com/changhu/controller/CommonController.java
+++ b/policeSecurityServer/src/main/java/com/changhu/controller/CommonController.java
@@ -22,6 +22,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.PostConstruct;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.Cacheable;
import org.springframework.web.bind.annotation.*;
import java.lang.reflect.Field;
@@ -51,6 +52,7 @@ public class CommonController {
private static final Map>> enumsResult = new HashMap<>();
+ @Cacheable(value = "common", key = "'AdministrativeDivisionLevel' + #level + 'Tree'")
@Operation(summary = "行政区划树")
@GetMapping("/administrativeDivisionTree")
public List> AdministrativeDivisionTree(@Schema(description = "等级") @RequestParam(defaultValue = "4") Integer level) {
diff --git a/policeSecurityServer/src/main/java/com/changhu/enums/ClientType.java b/policeSecurityServer/src/main/java/com/changhu/enums/ClientType.java
index 45daec8..2b9923e 100644
--- a/policeSecurityServer/src/main/java/com/changhu/enums/ClientType.java
+++ b/policeSecurityServer/src/main/java/com/changhu/enums/ClientType.java
@@ -15,7 +15,6 @@ import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ClientType {
- NONE("未定义", null),
MANAGEMENT_SUPER("超级后台", ManagementSuperLogin.instance),
MANAGEMENT_POLICE("公安后台", ManagementPoliceUnitLogin.instance),
MANAGEMENT_SECURITY("保安后台", ManagementSecurityUnitLogin.instance),
diff --git a/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementPoliceUnitLogin.java b/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementPoliceUnitLogin.java
index 7b3a528..fe6eaf7 100644
--- a/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementPoliceUnitLogin.java
+++ b/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementPoliceUnitLogin.java
@@ -3,6 +3,7 @@ package com.changhu.enums.handler;
import cn.dev33.satoken.stp.SaTokenInfo;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.toolkit.Db;
+import com.changhu.common.annotation.UserType;
import com.changhu.common.db.enums.IsEnable;
import com.changhu.common.enums.ResultCode;
import com.changhu.common.exception.MessageException;
@@ -10,7 +11,6 @@ import com.changhu.common.pojo.vo.TokenInfo;
import com.changhu.common.utils.RsaUtil;
import com.changhu.common.utils.UserUtil;
import com.changhu.common.utils.ValidatorUtil;
-import com.changhu.enums.ClientType;
import com.changhu.module.management.pojo.entity.ManagementPoliceUnitUser;
import com.changhu.module.management.pojo.entity.PoliceUnit;
import com.changhu.pojo.params.ManagementPoliceUnitLoginParams;
@@ -69,7 +69,7 @@ public class ManagementPoliceUnitLogin extends AbstractLoginHandler {
//登录
SaTokenInfo saTokenInfo = UserUtil.loginAndTokenInfo(
managementPoliceUnitUser.getSnowFlakeId(),
- ClientType.MANAGEMENT_POLICE,
+ UserType.MANAGEMENT_POLICE,
managementPoliceUnitUser.getPoliceUnitId()
);
//返回token
diff --git a/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementSecurityUnitLogin.java b/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementSecurityUnitLogin.java
index d14651f..3bd009e 100644
--- a/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementSecurityUnitLogin.java
+++ b/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementSecurityUnitLogin.java
@@ -3,6 +3,7 @@ package com.changhu.enums.handler;
import cn.dev33.satoken.stp.SaTokenInfo;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.toolkit.Db;
+import com.changhu.common.annotation.UserType;
import com.changhu.common.db.enums.IsEnable;
import com.changhu.common.enums.ResultCode;
import com.changhu.common.exception.MessageException;
@@ -67,7 +68,7 @@ public class ManagementSecurityUnitLogin extends AbstractLoginHandler {
//登录
SaTokenInfo saTokenInfo = UserUtil.loginAndTokenInfo(
managementSecurityUnitUser.getSnowFlakeId(),
- ClientType.MANAGEMENT_SECURITY,
+ UserType.MANAGEMENT_SECURITY,
managementSecurityUnitUser.getSecurityUnitId()
);
//返回token
diff --git a/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementSuperLogin.java b/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementSuperLogin.java
index 42ac7fb..8204208 100644
--- a/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementSuperLogin.java
+++ b/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementSuperLogin.java
@@ -3,6 +3,7 @@ package com.changhu.enums.handler;
import cn.dev33.satoken.stp.SaTokenInfo;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.toolkit.Db;
+import com.changhu.common.annotation.UserType;
import com.changhu.common.enums.ResultCode;
import com.changhu.common.exception.MessageException;
import com.changhu.common.pojo.vo.TokenInfo;
@@ -45,7 +46,7 @@ public class ManagementSuperLogin extends AbstractLoginHandler {
//登录
SaTokenInfo saTokenInfo = UserUtil.loginAndTokenInfo(
user.getSnowFlakeId(),
- ClientType.MANAGEMENT_SUPER,
+ UserType.MANAGEMENT_SUPER,
null);
//返回token
return new TokenInfo(saTokenInfo.getTokenName(), saTokenInfo.getTokenValue());
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/controller/EnterprisesUnitController.java b/policeSecurityServer/src/main/java/com/changhu/module/management/controller/EnterprisesUnitController.java
index a8275fa..e2ac2a1 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/controller/EnterprisesUnitController.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/controller/EnterprisesUnitController.java
@@ -3,19 +3,20 @@ package com.changhu.module.management.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.changhu.common.annotation.JsonBody;
import com.changhu.common.exception.MessageException;
+import com.changhu.common.pojo.vo.SelectNodeVo;
import com.changhu.module.management.pojo.params.EnterprisesUnitSaveOrUpdateParams;
import com.changhu.module.management.pojo.queryParams.EnterprisesUnitPagerQueryParams;
import com.changhu.module.management.pojo.vo.EnterprisesUnitPagerVo;
import com.changhu.module.management.service.EnterprisesUnitService;
import com.changhu.support.mybatisplus.pojo.params.PageParams;
import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
/**
* @author 20252
@@ -44,11 +45,17 @@ public class EnterprisesUnitController {
@Operation(summary = "根据id删除")
@DeleteMapping("/deleteById")
- public void deleteById(@RequestBody Long enterprisesUnitId) {
+ public void deleteById(@RequestParam @Schema(description = "企事业单位id") Long enterprisesUnitId) {
boolean b = enterprisesUnitService.removeById(enterprisesUnitId);
if (!b) {
throw new MessageException();
}
}
+ @Operation(summary = "根据行政区划编码查询下面的企事业单位")
+ @PostMapping("/queryListByAdministrativeDivisionCodes")
+ public List> queryListByAdministrativeDivisionCodes(@RequestBody @Schema(description = "行政区划编码") List administrativeDivisionCodes) {
+ return enterprisesUnitService.queryListByAdministrativeDivisionCodes(administrativeDivisionCodes);
+ }
+
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/controller/ManagementPoliceUnitUserController.java b/policeSecurityServer/src/main/java/com/changhu/module/management/controller/ManagementPoliceUnitUserController.java
index 9571494..ef2083e 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/controller/ManagementPoliceUnitUserController.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/controller/ManagementPoliceUnitUserController.java
@@ -1,8 +1,9 @@
package com.changhu.module.management.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.changhu.common.annotation.CheckClientType;
+import com.changhu.common.annotation.CheckUserType;
import com.changhu.common.annotation.JsonBody;
+import com.changhu.common.annotation.UserType;
import com.changhu.enums.ClientType;
import com.changhu.module.management.pojo.params.ManagementPoliceUserSaveOrUpdateParams;
import com.changhu.module.management.pojo.queryParams.ManagementPoliceUnitUserPagerQueryParams;
@@ -14,10 +15,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
/**
* @author 20252
@@ -26,7 +24,7 @@ import org.springframework.web.bind.annotation.RequestParam;
*/
@Tag(name = "后台-公安用户")
@JsonBody
-@CheckClientType(clientType = ClientType.MANAGEMENT_POLICE)
+@CheckUserType(userTypes = UserType.MANAGEMENT_POLICE)
@RequestMapping("/managementPoliceUnitUser")
public class ManagementPoliceUnitUserController {
@@ -46,7 +44,7 @@ public class ManagementPoliceUnitUserController {
}
@Operation(summary = "根据id删除")
- @PostMapping("/deleteById")
+ @DeleteMapping("/deleteById")
public void deleteById(@RequestParam @Schema(description = "后台公安用户id") Long managementPoliceUnitUserId) {
managementPoliceUnitUserService.deleteById(managementPoliceUnitUserId);
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/controller/ManagementSecurityUnitUserController.java b/policeSecurityServer/src/main/java/com/changhu/module/management/controller/ManagementSecurityUnitUserController.java
index 0fc7753..9de9ef8 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/controller/ManagementSecurityUnitUserController.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/controller/ManagementSecurityUnitUserController.java
@@ -1,8 +1,9 @@
package com.changhu.module.management.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.changhu.common.annotation.CheckClientType;
+import com.changhu.common.annotation.CheckUserType;
import com.changhu.common.annotation.JsonBody;
+import com.changhu.common.annotation.UserType;
import com.changhu.enums.ClientType;
import com.changhu.module.management.pojo.params.ManagementSecurityUnitUserSaveOrUpdateParams;
import com.changhu.module.management.pojo.queryParams.ManagementSecurityUnitUserPagerQueryParams;
@@ -24,7 +25,7 @@ import org.springframework.web.bind.annotation.*;
@Tag(name = "后台-保安用户")
@JsonBody
@RequestMapping("/managementSecurityUnitUser")
-@CheckClientType(clientType = ClientType.MANAGEMENT_SECURITY)
+@CheckUserType(userTypes = UserType.MANAGEMENT_SECURITY)
public class ManagementSecurityUnitUserController {
@Autowired
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/controller/PoliceUnitController.java b/policeSecurityServer/src/main/java/com/changhu/module/management/controller/PoliceUnitController.java
index f4be772..f64fb8f 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/controller/PoliceUnitController.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/controller/PoliceUnitController.java
@@ -1,8 +1,13 @@
package com.changhu.module.management.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.changhu.common.annotation.CheckUserType;
import com.changhu.common.annotation.JsonBody;
+import com.changhu.common.annotation.UserType;
+import com.changhu.enums.ClientType;
+import com.changhu.module.management.pojo.queryParams.PoliceEnterprisesUnitPagerQueryParams;
import com.changhu.module.management.pojo.queryParams.PoliceUnitPagerQueryParams;
+import com.changhu.module.management.pojo.vo.PoliceEnterprisesUnitPagerVo;
import com.changhu.module.management.pojo.vo.PoliceUnitPagerVo;
import com.changhu.module.management.service.PoliceUnitService;
import com.changhu.support.mybatisplus.pojo.params.PageParams;
@@ -32,4 +37,11 @@ public class PoliceUnitController {
return policeUnitService.pager(queryParams);
}
+ @Operation(summary = "公安单位下的企事业单位分页")
+ @PostMapping("/policeEnterprisesUnitPager")
+ @CheckUserType(userTypes = UserType.MANAGEMENT_POLICE)
+ public Page policeEnterprisesUnitPager(@RequestBody PageParams queryParams) {
+ return policeUnitService.policeEnterprisesUnitPager(queryParams);
+ }
+
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/controller/SecurityUnitController.java b/policeSecurityServer/src/main/java/com/changhu/module/management/controller/SecurityUnitController.java
index 2d0ddbb..c2e97a3 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/controller/SecurityUnitController.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/controller/SecurityUnitController.java
@@ -1,7 +1,11 @@
package com.changhu.module.management.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.changhu.common.annotation.CheckUserType;
import com.changhu.common.annotation.JsonBody;
+import com.changhu.common.annotation.UserType;
+import com.changhu.common.pojo.vo.SelectNodeVo;
+import com.changhu.enums.ClientType;
import com.changhu.module.management.pojo.params.SecurityUnitSaveOrUpdateParams;
import com.changhu.module.management.pojo.queryParams.SecurityUnitPagerQueryParams;
import com.changhu.module.management.pojo.vo.SecurityUnitPagerVo;
@@ -11,10 +15,13 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
+import java.util.List;
+
/**
* @author 20252
* @createTime 2024/8/30 上午10:46
@@ -40,4 +47,11 @@ public class SecurityUnitController {
securityUnitService.saveOrUpdate(params);
}
+ @Operation(summary = "查询单位下的项目经理")
+ @GetMapping("/listProjectManager")
+ @CheckUserType(userTypes = UserType.MANAGEMENT_SECURITY)
+ public List> listProjectManager() {
+ return securityUnitService.listProjectManager();
+ }
+
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/controller/ServiceProjectController.java b/policeSecurityServer/src/main/java/com/changhu/module/management/controller/ServiceProjectController.java
new file mode 100644
index 0000000..7f31b1e
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/controller/ServiceProjectController.java
@@ -0,0 +1,54 @@
+package com.changhu.module.management.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.changhu.common.annotation.CheckUserType;
+import com.changhu.common.annotation.JsonBody;
+import com.changhu.common.annotation.UserType;
+import com.changhu.common.exception.MessageException;
+import com.changhu.enums.ClientType;
+import com.changhu.module.management.pojo.params.ServiceProjectSaveOrUpdateParams;
+import com.changhu.module.management.pojo.queryParams.ServiceProjectPagerQueryParams;
+import com.changhu.module.management.pojo.vo.ServiceProjectPagerVo;
+import com.changhu.module.management.service.ServiceProjectService;
+import com.changhu.support.mybatisplus.pojo.params.PageParams;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/5 上午11:09
+ * @desc ServiceProjectController...
+ */
+@Tag(name = "服务项目")
+@JsonBody
+@RequestMapping("/serviceProject")
+public class ServiceProjectController {
+
+ @Autowired
+ private ServiceProjectService serviceProjectService;
+
+ @Operation(summary = "分页查询")
+ @PostMapping("/pager")
+ @CheckUserType(userTypes = UserType.MANAGEMENT_SECURITY)
+ public Page pager(@RequestBody PageParams queryParams) {
+ return serviceProjectService.pager(queryParams);
+ }
+
+ @Operation(summary = "新增或者保存")
+ @PostMapping("/saveOrUpdate")
+ @CheckUserType(userTypes = UserType.MANAGEMENT_SECURITY)
+ public void saveOrUpdate(@RequestBody ServiceProjectSaveOrUpdateParams params) {
+ serviceProjectService.saveOrUpdate(params);
+ }
+
+ @Operation(summary = "根据id删除")
+ @DeleteMapping("/deleteById")
+ public void deleteById(@RequestParam Long serviceProjectId) {
+ boolean b = serviceProjectService.removeById(serviceProjectId);
+ if (!b) {
+ throw new MessageException();
+ }
+ }
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/EnterprisesUnitMapper.java b/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/EnterprisesUnitMapper.java
index 191d5a4..7b273e8 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/EnterprisesUnitMapper.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/EnterprisesUnitMapper.java
@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.changhu.module.management.pojo.entity.EnterprisesUnit;
import com.changhu.module.management.pojo.queryParams.EnterprisesUnitPagerQueryParams;
+import com.changhu.module.management.pojo.queryParams.PoliceEnterprisesUnitPagerQueryParams;
import com.changhu.module.management.pojo.vo.EnterprisesUnitPagerVo;
+import com.changhu.module.management.pojo.vo.PoliceEnterprisesUnitPagerVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -25,4 +27,14 @@ public interface EnterprisesUnitMapper extends BaseMapper {
*/
Page pager(@Param("page") Page page,
@Param("params") EnterprisesUnitPagerQueryParams params);
+
+ /**
+ * 公安单位下的企事业单位分页
+ *
+ * @param page 分页对象
+ * @param params 查询参数
+ * @return 结果
+ */
+ Page policeEnterprisesUnitPager(@Param("page") Page page,
+ @Param("params") PoliceEnterprisesUnitPagerQueryParams params);
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/ManagementPoliceUnitUserMapper.java b/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/ManagementPoliceUnitUserMapper.java
index b459e3f..0c60b83 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/ManagementPoliceUnitUserMapper.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/ManagementPoliceUnitUserMapper.java
@@ -5,8 +5,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.changhu.module.management.pojo.entity.ManagementPoliceUnitUser;
import com.changhu.module.management.pojo.queryParams.ManagementPoliceUnitUserPagerQueryParams;
import com.changhu.module.management.pojo.vo.ManagementPoliceUnitUserPagerVo;
-import com.changhu.support.mybatisplus.annotation.DataScope;
-import com.changhu.support.mybatisplus.handler.permission.management.ManagementPoliceUnitUserPagerPermissionHandler;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -25,7 +23,6 @@ public interface ManagementPoliceUnitUserMapper extends BaseMapper pager(@Param("page") Page page,
@Param("params") ManagementPoliceUnitUserPagerQueryParams params);
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/ManagementSecurityUnitUserMapper.java b/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/ManagementSecurityUnitUserMapper.java
index c700da8..d87e762 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/ManagementSecurityUnitUserMapper.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/ManagementSecurityUnitUserMapper.java
@@ -5,8 +5,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.changhu.module.management.pojo.entity.ManagementSecurityUnitUser;
import com.changhu.module.management.pojo.queryParams.ManagementSecurityUnitUserPagerQueryParams;
import com.changhu.module.management.pojo.vo.ManagementSecurityUnitUserPagerVo;
-import com.changhu.support.mybatisplus.annotation.DataScope;
-import com.changhu.support.mybatisplus.handler.permission.management.ManagementSecurityUnitUserPagerPermissionHandler;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -25,7 +23,6 @@ public interface ManagementSecurityUnitUserMapper extends BaseMapper pager(@Param("page") Page page,
@Param("params") ManagementSecurityUnitUserPagerQueryParams params);
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/ServiceProjectMapper.java b/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/ServiceProjectMapper.java
new file mode 100644
index 0000000..bd25d7e
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/mapper/ServiceProjectMapper.java
@@ -0,0 +1,28 @@
+package com.changhu.module.management.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.changhu.module.management.pojo.entity.ServiceProject;
+import com.changhu.module.management.pojo.queryParams.ServiceProjectPagerQueryParams;
+import com.changhu.module.management.pojo.vo.ServiceProjectPagerVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * service_project (服务项目) 固化类
+ * author: luozhun
+ * desc 由groovy脚本自动生成
+ */
+@Mapper
+public interface ServiceProjectMapper extends BaseMapper {
+
+ /**
+ * 分页查询
+ *
+ * @param page 分页对象
+ * @param params 查询参数
+ * @return 结果
+ */
+ Page pager(@Param("page") Page page,
+ @Param("params") ServiceProjectPagerQueryParams params);
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/entity/ServiceProject.java b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/entity/ServiceProject.java
new file mode 100644
index 0000000..1e14b5c
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/entity/ServiceProject.java
@@ -0,0 +1,99 @@
+package com.changhu.module.management.pojo.entity;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+import com.changhu.common.db.enums.IsOrNot;
+import com.changhu.common.db.enums.ServiceProjectType;
+import com.changhu.support.mybatisplus.pojo.entity.BaseEntity;
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import lombok.EqualsAndHashCode;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+
+/**
+ * 服务项目 实体类
+ * author: luozhun
+ * desc 由groovy脚本自动生成
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@EqualsAndHashCode(callSuper = true)
+@TableName(autoResultMap = true)
+public class ServiceProject extends BaseEntity implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 保安单位id
+ */
+ private Long securityUnitId;
+
+ /**
+ * 企事业单位id
+ */
+ private Long enterprisesUnitId;
+
+ /**
+ * 项目经理小程序用户id
+ */
+ private Long projectManagerMiniProgramUserId;
+
+ /**
+ * 名称
+ */
+ private String name;
+
+ /**
+ * 服务类型
+ */
+ private ServiceProjectType type;
+
+ /**
+ * 是否自招保安(只有当type为property 此字段必填)
+ */
+ private IsOrNot isRecruitSecurity;
+
+ /**
+ * 证件号(服务类型为保安必填 服务类型为物业则需自招保安为必填)
+ */
+ private String idNumber;
+
+ /**
+ * 服务区域面积
+ */
+ private Double serviceArea;
+
+ /**
+ * 楼栋数量
+ */
+ private Integer buildingTotal;
+
+ /**
+ * 户数
+ */
+ private Integer houseTotal;
+
+ /**
+ * 工作人员数量
+ */
+ private Integer staffTotal;
+
+ /**
+ * 保安人员数量
+ */
+ private Integer securityUserTotal;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/params/ServiceProjectSaveOrUpdateParams.java b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/params/ServiceProjectSaveOrUpdateParams.java
new file mode 100644
index 0000000..2e83f4b
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/params/ServiceProjectSaveOrUpdateParams.java
@@ -0,0 +1,58 @@
+package com.changhu.module.management.pojo.params;
+
+import com.changhu.common.db.enums.IsOrNot;
+import com.changhu.common.db.enums.ServiceProjectType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/5 上午11:36
+ * @desc ServiceProjectSaveOrUpdateParams...
+ */
+@Data
+public class ServiceProjectSaveOrUpdateParams {
+
+ @Schema(description = "id")
+ private Long snowFlakeId;
+
+ @Schema(description = "企事业单位id")
+ @NotNull(message = "企事业单位不能为空")
+ private Long enterprisesUnitId;
+
+ @Schema(description = "项目经理小程序用户id")
+ private Long projectManagerMiniProgramUserId;
+
+ @Schema(description = "名称")
+ @NotNull(message = "名称不能为空")
+ private String name;
+
+ @Schema(description = "服务类型")
+ @NotNull(message = "服务类型不能为空")
+ private ServiceProjectType type;
+
+ @Schema(description = "是否自招保安(只有当type为property 此字段必填)")
+ private IsOrNot isRecruitSecurity;
+
+ @Schema(description = "证件号(服务类型为保安必填 服务类型为物业则需自招保安为必填)")
+ private String idNumber;
+
+ @Schema(description = "服务区域面积")
+ private Double serviceArea;
+
+ @Schema(description = "楼栋数量")
+ private Integer buildingTotal;
+
+ @Schema(description = "户数")
+ private Integer houseTotal;
+
+ @Schema(description = "工作人员数量")
+ private Integer staffTotal;
+
+ @Schema(description = "保安人员数量")
+ private Integer securityUserTotal;
+
+ @Schema(description = "备注")
+ private String remark;
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/queryParams/ManagementPoliceUnitUserPagerQueryParams.java b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/queryParams/ManagementPoliceUnitUserPagerQueryParams.java
index 6128212..815a0ab 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/queryParams/ManagementPoliceUnitUserPagerQueryParams.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/queryParams/ManagementPoliceUnitUserPagerQueryParams.java
@@ -1,5 +1,6 @@
package com.changhu.module.management.pojo.queryParams;
+import com.changhu.common.db.enums.IsEnable;
import com.changhu.common.db.enums.Sex;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -17,4 +18,6 @@ public class ManagementPoliceUnitUserPagerQueryParams {
private String telephone;
@Schema(description = "性别")
private Sex sex;
+ @Schema(description = "是否启用")
+ private IsEnable isEnable;
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/queryParams/PoliceEnterprisesUnitPagerQueryParams.java b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/queryParams/PoliceEnterprisesUnitPagerQueryParams.java
new file mode 100644
index 0000000..d349d76
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/queryParams/PoliceEnterprisesUnitPagerQueryParams.java
@@ -0,0 +1,19 @@
+package com.changhu.module.management.pojo.queryParams;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/5 下午2:49
+ * @desc PoliceEnterprisesUnitPagerQueryParams...
+ */
+@Data
+public class PoliceEnterprisesUnitPagerQueryParams {
+ @Schema(description = "名称")
+ private String name;
+ @Schema(description = "详细地址")
+ private String address;
+ @Schema(description = "备注")
+ private String remark;
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/queryParams/ServiceProjectPagerQueryParams.java b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/queryParams/ServiceProjectPagerQueryParams.java
new file mode 100644
index 0000000..545ef53
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/queryParams/ServiceProjectPagerQueryParams.java
@@ -0,0 +1,22 @@
+package com.changhu.module.management.pojo.queryParams;
+
+import com.changhu.common.db.enums.ServiceProjectType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/5 上午11:15
+ * @desc ServiceProjectPagerQueryParams...
+ */
+@Data
+public class ServiceProjectPagerQueryParams {
+ @Schema(description = "服务项目名称")
+ private String name;
+ @Schema(description = "服务项目类型")
+ private ServiceProjectType type;
+ @Schema(description = "备注")
+ private String remark;
+ @Schema(description = "项目经理小程序用户名称")
+ private String projectManagerMiniProgramUserName;
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/ManagementPoliceUnitUserPagerVo.java b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/ManagementPoliceUnitUserPagerVo.java
index 7e207ea..8866963 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/ManagementPoliceUnitUserPagerVo.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/ManagementPoliceUnitUserPagerVo.java
@@ -25,7 +25,7 @@ public class ManagementPoliceUnitUserPagerVo {
@Schema(description = "性别")
private Sex sex;
- @Schema(description = "性别")
+ @Schema(description = "账号")
private String account;
@Schema(description = "手机号")
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/ManagementSecurityUnitUserPagerVo.java b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/ManagementSecurityUnitUserPagerVo.java
index ec21300..d62c7af 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/ManagementSecurityUnitUserPagerVo.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/ManagementSecurityUnitUserPagerVo.java
@@ -25,7 +25,7 @@ public class ManagementSecurityUnitUserPagerVo {
@Schema(description = "性别")
private Sex sex;
- @Schema(description = "性别")
+ @Schema(description = "账号")
private String account;
@Schema(description = "手机号")
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/PoliceEnterprisesUnitPagerVo.java b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/PoliceEnterprisesUnitPagerVo.java
new file mode 100644
index 0000000..83322fe
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/PoliceEnterprisesUnitPagerVo.java
@@ -0,0 +1,46 @@
+package com.changhu.module.management.pojo.vo;
+
+import com.changhu.module.management.pojo.model.ContactPersonInfo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/5 下午2:46
+ * @desc PoliceEnterprisesUnitPagerVo...
+ */
+@Data
+public class PoliceEnterprisesUnitPagerVo {
+ @Schema(description = "id")
+ private Long snowFlakeId;
+ @Schema(description = "名称")
+ private String name;
+
+ @Schema(description = "省编码")
+ private String province;
+ @Schema(description = "省名称")
+ private String provinceName;
+ @Schema(description = "市编码")
+ private String city;
+ @Schema(description = "市名称")
+ private String cityName;
+ @Schema(description = "县编码")
+ private String districts;
+ @Schema(description = "县名称")
+ private String districtsName;
+ @Schema(description = "乡镇编码")
+ private String street;
+ @Schema(description = "乡镇名称")
+ private String streetName;
+
+ @Schema(description = "详细地址")
+ private String address;
+ @Schema(description = "联系人")
+ private ContactPersonInfo contactPersonInfo;
+ @Schema(description = "备注")
+ private String remark;
+ @Schema(description = "创建时间")
+ private LocalDateTime createTime;
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/ServiceProjectPagerVo.java b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/ServiceProjectPagerVo.java
new file mode 100644
index 0000000..61fc824
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/ServiceProjectPagerVo.java
@@ -0,0 +1,69 @@
+package com.changhu.module.management.pojo.vo;
+
+import com.changhu.common.db.enums.IsOrNot;
+import com.changhu.common.db.enums.ServiceProjectType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/5 上午11:15
+ * @desc ServiceProjectPagerVo...
+ */
+@Data
+public class ServiceProjectPagerVo {
+
+ @Schema(description = "id")
+ private Long snowFlakeId;
+
+ @Schema(description = "企事业单位id")
+ private Long enterprisesUnitId;
+ @Schema(description = "企事业单位名称")
+ private String enterprisesUnitName;
+ @Schema(description = "企事业单位行政区划编码")
+ private List enterprisesUnitAdministrativeDivisionCodes;
+
+ @Schema(description = "项目经理小程序用户id")
+ private Long projectManagerMiniProgramUserId;
+ @Schema(description = "项目经理小程序用户名称")
+ private String projectManagerMiniProgramUserName;
+
+ @Schema(description = "服务项目名称")
+ private String name;
+
+ @Schema(description = "服务类型")
+ private ServiceProjectType type;
+
+ @Schema(description = "是否自招保安(只有当type为property 此字段必填)")
+ private IsOrNot isRecruitSecurity;
+
+ @Schema(description = "证件号(服务类型为保安必填 服务类型为物业则需自招保安为必填)")
+ private String idNumber;
+
+ @Schema(description = "服务区域面积")
+ private Double serviceArea;
+
+ @Schema(description = "楼栋数量")
+ private Integer buildingTotal;
+
+ @Schema(description = "户数")
+ private Integer houseTotal;
+
+ @Schema(description = "工作人员数量")
+ private Integer staffTotal;
+
+ @Schema(description = "保安人员数量")
+ private Integer securityUserTotal;
+
+ @Schema(description = "备注")
+ private String remark;
+
+ @Schema(description = "创建人名称")
+ private String createUserName;
+
+ @Schema(description = "创建时间")
+ private LocalDateTime createTime;
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/service/EnterprisesUnitService.java b/policeSecurityServer/src/main/java/com/changhu/module/management/service/EnterprisesUnitService.java
index 8e90ab7..5a8524c 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/service/EnterprisesUnitService.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/service/EnterprisesUnitService.java
@@ -2,12 +2,15 @@ package com.changhu.module.management.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.changhu.common.pojo.vo.SelectNodeVo;
import com.changhu.module.management.pojo.entity.EnterprisesUnit;
import com.changhu.module.management.pojo.params.EnterprisesUnitSaveOrUpdateParams;
import com.changhu.module.management.pojo.queryParams.EnterprisesUnitPagerQueryParams;
import com.changhu.module.management.pojo.vo.EnterprisesUnitPagerVo;
import com.changhu.support.mybatisplus.pojo.params.PageParams;
+import java.util.List;
+
/**
* enterprises_unit (企事业单位) 服务类
* author: luozhun
@@ -29,4 +32,12 @@ public interface EnterprisesUnitService extends IService {
* @param params 参数
*/
void saveOrUpdate(EnterprisesUnitSaveOrUpdateParams params);
+
+ /**
+ * 根据行政区划编码查询下面的企事业单位
+ *
+ * @param administrativeDivisionCodes 行政区划编码
+ * @return 结果
+ */
+ List> queryListByAdministrativeDivisionCodes(List administrativeDivisionCodes);
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/service/PoliceUnitService.java b/policeSecurityServer/src/main/java/com/changhu/module/management/service/PoliceUnitService.java
index adb0358..89efd8b 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/service/PoliceUnitService.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/service/PoliceUnitService.java
@@ -3,7 +3,9 @@ package com.changhu.module.management.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.changhu.module.management.pojo.entity.PoliceUnit;
+import com.changhu.module.management.pojo.queryParams.PoliceEnterprisesUnitPagerQueryParams;
import com.changhu.module.management.pojo.queryParams.PoliceUnitPagerQueryParams;
+import com.changhu.module.management.pojo.vo.PoliceEnterprisesUnitPagerVo;
import com.changhu.module.management.pojo.vo.PoliceUnitPagerVo;
import com.changhu.support.mybatisplus.pojo.params.PageParams;
@@ -21,4 +23,12 @@ public interface PoliceUnitService extends IService {
* @return 结果
*/
Page pager(PageParams queryParams);
+
+ /**
+ * 公安单位下的企事业单位分页
+ *
+ * @param queryParams 查询参数
+ * @return 结果
+ */
+ Page policeEnterprisesUnitPager(PageParams queryParams);
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/service/SecurityUnitService.java b/policeSecurityServer/src/main/java/com/changhu/module/management/service/SecurityUnitService.java
index 8bc4a59..138dafa 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/service/SecurityUnitService.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/service/SecurityUnitService.java
@@ -2,12 +2,15 @@ package com.changhu.module.management.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.changhu.common.pojo.vo.SelectNodeVo;
import com.changhu.module.management.pojo.entity.SecurityUnit;
import com.changhu.module.management.pojo.params.SecurityUnitSaveOrUpdateParams;
import com.changhu.module.management.pojo.queryParams.SecurityUnitPagerQueryParams;
import com.changhu.module.management.pojo.vo.SecurityUnitPagerVo;
import com.changhu.support.mybatisplus.pojo.params.PageParams;
+import java.util.List;
+
/**
* security_unit (保安单位) 服务类
* author: luozhun
@@ -30,4 +33,10 @@ public interface SecurityUnitService extends IService {
*/
void saveOrUpdate(SecurityUnitSaveOrUpdateParams params);
+ /**
+ * 查询单位下的项目经理
+ *
+ * @return 项目经理
+ */
+ List> listProjectManager();
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/service/ServiceProjectService.java b/policeSecurityServer/src/main/java/com/changhu/module/management/service/ServiceProjectService.java
new file mode 100644
index 0000000..75ce667
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/service/ServiceProjectService.java
@@ -0,0 +1,32 @@
+package com.changhu.module.management.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.changhu.module.management.pojo.entity.ServiceProject;
+import com.changhu.module.management.pojo.params.ServiceProjectSaveOrUpdateParams;
+import com.changhu.module.management.pojo.queryParams.ServiceProjectPagerQueryParams;
+import com.changhu.module.management.pojo.vo.ServiceProjectPagerVo;
+import com.changhu.support.mybatisplus.pojo.params.PageParams;
+
+/**
+ * service_project (服务项目) 服务类
+ * author: luozhun
+ * desc 由groovy脚本自动生成
+ */
+public interface ServiceProjectService extends IService {
+
+ /**
+ * 分页查询
+ *
+ * @param queryParams 查询参数
+ * @return 结果
+ */
+ Page pager(PageParams queryParams);
+
+ /**
+ * 新增或者修改
+ *
+ * @param params 参数
+ */
+ void saveOrUpdate(ServiceProjectSaveOrUpdateParams params);
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/EnterprisesUnitServiceImpl.java b/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/EnterprisesUnitServiceImpl.java
index 81d1000..d24474b 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/EnterprisesUnitServiceImpl.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/EnterprisesUnitServiceImpl.java
@@ -1,9 +1,12 @@
package com.changhu.module.management.service.impl;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.Dict;
+import cn.hutool.core.lang.func.LambdaUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.changhu.common.exception.MessageException;
+import com.changhu.common.pojo.vo.SelectNodeVo;
import com.changhu.module.management.mapper.EnterprisesUnitMapper;
import com.changhu.module.management.pojo.entity.EnterprisesUnit;
import com.changhu.module.management.pojo.params.EnterprisesUnitSaveOrUpdateParams;
@@ -13,6 +16,7 @@ import com.changhu.module.management.service.EnterprisesUnitService;
import com.changhu.support.mybatisplus.pojo.params.PageParams;
import org.springframework.stereotype.Service;
+import java.util.List;
import java.util.Optional;
/**
@@ -51,4 +55,26 @@ public class EnterprisesUnitServiceImpl extends ServiceImpl> queryListByAdministrativeDivisionCodes(List administrativeDivisionCodes) {
+ String addr = LambdaUtil.getFieldName(EnterprisesUnit::getAddress);
+ String rem = LambdaUtil.getFieldName(EnterprisesUnit::getRemark);
+ return this.lambdaQuery()
+ .eq(!administrativeDivisionCodes.isEmpty(), EnterprisesUnit::getProvince, administrativeDivisionCodes.get(0))
+ .eq(administrativeDivisionCodes.size() >= 2, EnterprisesUnit::getCity, administrativeDivisionCodes.get(1))
+ .eq(administrativeDivisionCodes.size() >= 3, EnterprisesUnit::getDistricts, administrativeDivisionCodes.get(2))
+ .eq(administrativeDivisionCodes.size() >= 4, EnterprisesUnit::getStreet, administrativeDivisionCodes.get(3))
+ .list()
+ .stream()
+ .map(item -> SelectNodeVo.builder()
+ .value(item.getSnowFlakeId())
+ .label(item.getName())
+ .extData(Dict.of(
+ addr, item.getAddress(),
+ rem, item.getRemark()
+ ))
+ .build())
+ .toList();
+ }
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/ManagementPoliceUnitUserServiceImpl.java b/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/ManagementPoliceUnitUserServiceImpl.java
index e5c596f..f15fbe0 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/ManagementPoliceUnitUserServiceImpl.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/ManagementPoliceUnitUserServiceImpl.java
@@ -35,6 +35,7 @@ public class ManagementPoliceUnitUserServiceImpl extends ServiceImpl implements PoliceUnitService {
+ @Autowired
+ private EnterprisesUnitMapper enterprisesUnitMapper;
+
@Override
public Page pager(PageParams queryParams) {
return baseMapper.pager(queryParams.getPage(), queryParams.getParams());
}
+
+ @Override
+ public Page policeEnterprisesUnitPager(PageParams queryParams) {
+ return enterprisesUnitMapper.policeEnterprisesUnitPager(queryParams.getPage(), queryParams.getParams());
+ }
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/SecurityUnitServiceImpl.java b/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/SecurityUnitServiceImpl.java
index 2da4d9b..cefc6f2 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/SecurityUnitServiceImpl.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/SecurityUnitServiceImpl.java
@@ -1,18 +1,28 @@
package com.changhu.module.management.service.impl;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.Dict;
+import cn.hutool.core.lang.func.LambdaUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.changhu.common.utils.JavaClassToTsUtil;
+import com.changhu.common.db.enums.IsEnable;
+import com.changhu.common.db.enums.MiniProgramUserIdentity;
+import com.changhu.common.pojo.vo.SelectNodeVo;
+import com.changhu.common.utils.UserUtil;
+import com.changhu.module.miniProgram.mapper.MiniProgramUserMapper;
import com.changhu.module.management.mapper.SecurityUnitMapper;
+import com.changhu.module.miniProgram.pojo.entity.MiniProgramUser;
import com.changhu.module.management.pojo.entity.SecurityUnit;
import com.changhu.module.management.pojo.params.SecurityUnitSaveOrUpdateParams;
import com.changhu.module.management.pojo.queryParams.SecurityUnitPagerQueryParams;
import com.changhu.module.management.pojo.vo.SecurityUnitPagerVo;
import com.changhu.module.management.service.SecurityUnitService;
import com.changhu.support.mybatisplus.pojo.params.PageParams;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.List;
import java.util.Optional;
/**
@@ -23,6 +33,9 @@ import java.util.Optional;
@Service
public class SecurityUnitServiceImpl extends ServiceImpl implements SecurityUnitService {
+ @Autowired
+ private MiniProgramUserMapper miniProgramUserMapper;
+
@Override
public Page pager(PageParams queryParams) {
return baseMapper.pager(queryParams.getPage(), queryParams.getParams());
@@ -49,9 +62,24 @@ public class SecurityUnitServiceImpl extends ServiceImpl> listProjectManager() {
+ String tel = LambdaUtil.getFieldName(MiniProgramUser::getTelephone);
+ String sex = LambdaUtil.getFieldName(MiniProgramUser::getSex);
+ return miniProgramUserMapper.selectList(Wrappers.lambdaQuery()
+ .eq(MiniProgramUser::getIsEnable, IsEnable.TRUE)
+ .eq(MiniProgramUser::getIdentity, MiniProgramUserIdentity.PROJECT_MANAGER)
+ .eq(MiniProgramUser::getUnitId, UserUtil.getUnitId()))
+ .stream()
+ .map(item -> SelectNodeVo.builder()
+ .value(item.getSnowFlakeId())
+ .label(item.getName())
+ .extData(Dict.of(
+ tel, item.getTelephone(),
+ sex, item.getSex()
+ ))
+ .build())
+ .toList();
}
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/ServiceProjectServiceImpl.java b/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/ServiceProjectServiceImpl.java
new file mode 100644
index 0000000..150b684
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/ServiceProjectServiceImpl.java
@@ -0,0 +1,39 @@
+package com.changhu.module.management.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.changhu.common.exception.MessageException;
+import com.changhu.common.utils.UserUtil;
+import com.changhu.module.management.mapper.ServiceProjectMapper;
+import com.changhu.module.management.pojo.entity.ServiceProject;
+import com.changhu.module.management.pojo.params.ServiceProjectSaveOrUpdateParams;
+import com.changhu.module.management.pojo.queryParams.ServiceProjectPagerQueryParams;
+import com.changhu.module.management.pojo.vo.ServiceProjectPagerVo;
+import com.changhu.module.management.service.ServiceProjectService;
+import com.changhu.support.mybatisplus.pojo.params.PageParams;
+import org.springframework.stereotype.Service;
+
+/**
+ * service_project (服务项目) 服务实现类
+ * author: luozhun
+ * desc 由groovy脚本自动生成
+ */
+@Service
+public class ServiceProjectServiceImpl extends ServiceImpl implements ServiceProjectService {
+
+ @Override
+ public Page pager(PageParams queryParams) {
+ return baseMapper.pager(queryParams.getPage(), queryParams.getParams());
+ }
+
+ @Override
+ public void saveOrUpdate(ServiceProjectSaveOrUpdateParams params) {
+ ServiceProject serviceProject = BeanUtil.copyProperties(params, ServiceProject.class);
+ serviceProject.setSecurityUnitId(UserUtil.getUnitId());
+ boolean b = this.saveOrUpdate(serviceProject);
+ if (!b) {
+ throw new MessageException();
+ }
+ }
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/controller/MiniProgramUserController.java b/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/controller/MiniProgramUserController.java
new file mode 100644
index 0000000..8026d43
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/controller/MiniProgramUserController.java
@@ -0,0 +1,35 @@
+package com.changhu.module.miniProgram.controller;
+
+import com.changhu.common.annotation.CheckUserType;
+import com.changhu.common.annotation.JsonBody;
+import com.changhu.common.annotation.UserType;
+import com.changhu.enums.ClientType;
+import com.changhu.module.miniProgram.pojo.params.MiniProgramUserRegisterParams;
+import com.changhu.module.miniProgram.service.MiniProgramUserService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/6 上午10:42
+ * @desc MiniProgramUserController...
+ */
+@Tag(name = "小程序用户接口")
+@JsonBody
+@RequestMapping("/miniProgramUser")
+public class MiniProgramUserController {
+
+ @Autowired
+ private MiniProgramUserService miniProgramUserService;
+
+ @Operation(summary = "注册")
+ @PostMapping("/register")
+ public void register(@RequestBody @Valid MiniProgramUserRegisterParams params) {
+ miniProgramUserService.register(params);
+ }
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/mapper/MiniProgramUserMapper.java b/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/mapper/MiniProgramUserMapper.java
new file mode 100644
index 0000000..458d4b7
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/mapper/MiniProgramUserMapper.java
@@ -0,0 +1,15 @@
+package com.changhu.module.miniProgram.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.changhu.module.miniProgram.pojo.entity.MiniProgramUser;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * mini_program_user (小程序用户) 固化类
+ * author: luozhun
+ * desc 由groovy脚本自动生成
+ */
+@Mapper
+public interface MiniProgramUserMapper extends BaseMapper {
+
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/pojo/entity/MiniProgramUser.java b/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/pojo/entity/MiniProgramUser.java
new file mode 100644
index 0000000..e38bf7a
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/pojo/entity/MiniProgramUser.java
@@ -0,0 +1,79 @@
+package com.changhu.module.miniProgram.pojo.entity;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+import com.changhu.common.db.enums.IsEnable;
+import com.changhu.common.db.enums.MiniProgramUserIdentity;
+import com.changhu.common.db.enums.Sex;
+import com.changhu.support.mybatisplus.pojo.entity.BaseEntity;
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import lombok.EqualsAndHashCode;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+
+/**
+ * 小程序用户 实体类
+ * author: luozhun
+ * desc 由groovy脚本自动生成
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@EqualsAndHashCode(callSuper = true)
+@TableName(autoResultMap = true)
+public class MiniProgramUser extends BaseEntity implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 名称
+ */
+ private String name;
+
+ /**
+ * 手机号
+ */
+ private String telephone;
+
+ /**
+ * 性别
+ */
+ private Sex sex;
+
+ /**
+ * 身份证
+ */
+ private String idCard;
+
+ /**
+ * 小程序唯一标识
+ */
+ private String openId;
+
+ /**
+ * 会话密钥
+ */
+ private String sessionKey;
+
+ /**
+ * 身份
+ */
+ private MiniProgramUserIdentity identity;
+
+ /**
+ * 所属单位id
+ */
+ private Long unitId;
+
+ /**
+ * 是否启用
+ */
+ private IsEnable isEnable;
+
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/pojo/params/MiniProgramUserRegisterParams.java b/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/pojo/params/MiniProgramUserRegisterParams.java
new file mode 100644
index 0000000..b5315cd
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/pojo/params/MiniProgramUserRegisterParams.java
@@ -0,0 +1,31 @@
+package com.changhu.module.miniProgram.pojo.params;
+
+import com.changhu.common.db.enums.MiniProgramUserIdentity;
+import com.changhu.common.db.enums.Sex;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/6 上午10:47
+ * @desc MiniProgramUserRegisterParams...
+ */
+@Data
+public class MiniProgramUserRegisterParams {
+ @NotBlank(message = "code不能为空")
+ private String code;
+
+ @NotBlank(message = "名称不能为空")
+ private String name;
+
+ @NotNull(message = "性别不能为空")
+ private Sex sex;
+
+ private String telephone;
+
+ @NotNull(message = "身份不能为空")
+ private MiniProgramUserIdentity identity;
+ @NotNull(message = "单位不能为空")
+ private Long unitId;
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/service/MiniProgramUserService.java b/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/service/MiniProgramUserService.java
new file mode 100644
index 0000000..454c4ed
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/service/MiniProgramUserService.java
@@ -0,0 +1,20 @@
+package com.changhu.module.miniProgram.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.changhu.module.miniProgram.pojo.entity.MiniProgramUser;
+import com.changhu.module.miniProgram.pojo.params.MiniProgramUserRegisterParams;
+
+/**
+ * mini_program_user (小程序用户) 服务类
+ * author: luozhun
+ * desc 由groovy脚本自动生成
+ */
+public interface MiniProgramUserService extends IService {
+
+ /**
+ * 注册
+ *
+ * @param params 参数
+ */
+ void register(MiniProgramUserRegisterParams params);
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/service/impl/MiniProgramUserServiceImpl.java b/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/service/impl/MiniProgramUserServiceImpl.java
new file mode 100644
index 0000000..3f623eb
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/miniProgram/service/impl/MiniProgramUserServiceImpl.java
@@ -0,0 +1,52 @@
+package com.changhu.module.miniProgram.service.impl;
+
+import cn.binarywang.wx.miniapp.api.WxMaService;
+import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.changhu.common.exception.MessageException;
+import com.changhu.common.utils.SnowFlakeIdUtil;
+import com.changhu.module.miniProgram.mapper.MiniProgramUserMapper;
+import com.changhu.module.miniProgram.pojo.entity.MiniProgramUser;
+import com.changhu.module.miniProgram.pojo.params.MiniProgramUserRegisterParams;
+import com.changhu.module.miniProgram.service.MiniProgramUserService;
+import me.chanjar.weixin.common.error.WxErrorException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * mini_program_user (小程序用户) 服务实现类
+ * author: luozhun
+ * desc 由groovy脚本自动生成
+ */
+@Service
+public class MiniProgramUserServiceImpl extends ServiceImpl implements MiniProgramUserService {
+
+ @Autowired
+ private WxMaService wxMaService;
+
+ @Override
+ public void register(MiniProgramUserRegisterParams params) {
+ MiniProgramUser miniProgramUser = BeanUtil.copyProperties(params, MiniProgramUser.class);
+ try {
+ WxMaJscode2SessionResult sessionInfo = wxMaService.getUserService().getSessionInfo(params.getCode());
+ miniProgramUser.setOpenId(sessionInfo.getOpenid());
+ miniProgramUser.setSessionKey(sessionInfo.getSessionKey());
+ } catch (WxErrorException e) {
+ throw new MessageException(e.getMessage());
+ }
+ boolean exists = baseMapper.exists(Wrappers.lambdaQuery().eq(MiniProgramUser::getOpenId, miniProgramUser.getOpenId()));
+ if (exists) {
+ throw new MessageException("该用户已存在,请勿重复注册!");
+ }
+
+ miniProgramUser.setSnowFlakeId(SnowFlakeIdUtil.snowflakeId());
+ boolean save = this.save(miniProgramUser);
+ if (!save) {
+ throw new MessageException();
+ }
+
+ //todo 是否需要返回token直接登录?
+ }
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/support/interceptor/ClientTypeInterceptor.java b/policeSecurityServer/src/main/java/com/changhu/support/interceptor/UserTypeInterceptor.java
similarity index 63%
rename from policeSecurityServer/src/main/java/com/changhu/support/interceptor/ClientTypeInterceptor.java
rename to policeSecurityServer/src/main/java/com/changhu/support/interceptor/UserTypeInterceptor.java
index 5722271..4318c98 100644
--- a/policeSecurityServer/src/main/java/com/changhu/support/interceptor/ClientTypeInterceptor.java
+++ b/policeSecurityServer/src/main/java/com/changhu/support/interceptor/UserTypeInterceptor.java
@@ -1,6 +1,8 @@
package com.changhu.support.interceptor;
-import com.changhu.common.annotation.CheckClientType;
+import cn.hutool.core.util.ArrayUtil;
+import com.changhu.common.annotation.CheckUserType;
+import com.changhu.common.annotation.UserType;
import com.changhu.common.exception.MessageException;
import com.changhu.common.utils.UserUtil;
import com.changhu.enums.ClientType;
@@ -13,9 +15,9 @@ import org.springframework.web.servlet.HandlerInterceptor;
/**
* @author 20252
* @createTime 2024/9/4 下午4:00
- * @desc ClientTypeInterceptor...
+ * @desc UserTypeInterceptor...
*/
-public class ClientTypeInterceptor implements HandlerInterceptor {
+public class UserTypeInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(@NotNull HttpServletRequest request,
@@ -23,28 +25,28 @@ public class ClientTypeInterceptor implements HandlerInterceptor {
@NotNull Object handler) {
if (handler instanceof HandlerMethod handlerMethod) {
boolean b = false;
- ClientType ct = null;
+ UserType[] uts = null;
- CheckClientType clazzJsonBody = handlerMethod.getBeanType().getAnnotation(CheckClientType.class);
- CheckClientType methodJsonBody = handlerMethod.getMethodAnnotation(CheckClientType.class);
+ CheckUserType clazzJsonBody = handlerMethod.getBeanType().getAnnotation(CheckUserType.class);
+ CheckUserType methodJsonBody = handlerMethod.getMethodAnnotation(CheckUserType.class);
if (clazzJsonBody != null) {
if (methodJsonBody == null) {
b = true;
- ct = clazzJsonBody.clientType();
+ uts = clazzJsonBody.userTypes();
} else if (methodJsonBody.value()) {
b = true;
- ct = methodJsonBody.clientType();
+ uts = methodJsonBody.userTypes();
}
} else {
if (methodJsonBody != null && methodJsonBody.value()) {
b = true;
- ct = methodJsonBody.clientType();
+ uts = methodJsonBody.userTypes();
}
}
- if (b) {
- if (!ct.equals(UserUtil.getClientType())) {
+ if (b && ArrayUtil.isNotEmpty(uts)) {
+ if (!ArrayUtil.contains(uts, UserUtil.getUserType())) {
throw new MessageException("客户端类型不对");
}
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/support/mybatisplus/handler/permission/management/ManagementPoliceUnitUserPagerPermissionHandler.java b/policeSecurityServer/src/main/java/com/changhu/support/mybatisplus/handler/permission/management/ManagementPoliceUnitUserPagerPermissionHandler.java
deleted file mode 100644
index 518a62d..0000000
--- a/policeSecurityServer/src/main/java/com/changhu/support/mybatisplus/handler/permission/management/ManagementPoliceUnitUserPagerPermissionHandler.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.changhu.support.mybatisplus.handler.permission.management;
-
-import com.changhu.common.utils.UserUtil;
-import com.changhu.support.mybatisplus.handler.permission.AbstractDataPermissionHandler;
-import net.sf.jsqlparser.expression.Expression;
-import net.sf.jsqlparser.expression.LongValue;
-import net.sf.jsqlparser.expression.operators.relational.EqualsTo;
-import net.sf.jsqlparser.schema.Column;
-import net.sf.jsqlparser.schema.Table;
-
-/**
- * @author 20252
- * @createTime 2024/9/4 下午3:29
- * @desc ManagementPoliceUnitUserPagerPermissionHandler...
- */
-public class ManagementPoliceUnitUserPagerPermissionHandler implements AbstractDataPermissionHandler {
- @Override
- public Expression apply(Table table, Expression where, String mappedStatementId) {
- if ("mpuu".equals(table.getAlias().getName())) {
- return sqlFragment();
- }
- return null;
- }
-
- @Override
- public Expression sqlFragment() {
- return new EqualsTo(new Column("mpuu.police_unit_id"), new LongValue(UserUtil.getUnitId()));
- }
-}
diff --git a/policeSecurityServer/src/main/java/com/changhu/support/mybatisplus/handler/permission/management/ManagementSecurityUnitUserPagerPermissionHandler.java b/policeSecurityServer/src/main/java/com/changhu/support/mybatisplus/handler/permission/management/ManagementSecurityUnitUserPagerPermissionHandler.java
deleted file mode 100644
index 774f397..0000000
--- a/policeSecurityServer/src/main/java/com/changhu/support/mybatisplus/handler/permission/management/ManagementSecurityUnitUserPagerPermissionHandler.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.changhu.support.mybatisplus.handler.permission.management;
-
-import com.changhu.common.utils.UserUtil;
-import com.changhu.support.mybatisplus.handler.permission.AbstractDataPermissionHandler;
-import net.sf.jsqlparser.expression.Expression;
-import net.sf.jsqlparser.expression.LongValue;
-import net.sf.jsqlparser.expression.operators.relational.EqualsTo;
-import net.sf.jsqlparser.schema.Column;
-import net.sf.jsqlparser.schema.Table;
-
-/**
- * @author 20252
- * @createTime 2024/9/3 上午11:11
- * @desc 后台安保人员分页权限
- */
-public class ManagementSecurityUnitUserPagerPermissionHandler implements AbstractDataPermissionHandler {
- @Override
- public Expression apply(Table table, Expression where, String mappedStatementId) {
- if ("msuu".equals(table.getAlias().getName())) {
- return sqlFragment();
- }
- return null;
- }
-
- @Override
- public Expression sqlFragment() {
- return new EqualsTo(new Column("msuu.security_unit_id"), new LongValue(UserUtil.getUnitId()));
- }
-}
diff --git a/policeSecurityServer/src/main/java/com/changhu/support/wx/WxMaConfiguration.java b/policeSecurityServer/src/main/java/com/changhu/support/wx/WxMaConfiguration.java
new file mode 100644
index 0000000..a83a7e5
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/support/wx/WxMaConfiguration.java
@@ -0,0 +1,30 @@
+package com.changhu.support.wx;
+
+import cn.binarywang.wx.miniapp.api.WxMaService;
+import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
+import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * author: luozhun
+ * desc: some...
+ * createTime: 2024/4/15 9:41
+ */
+@Configuration
+@EnableConfigurationProperties(WxMaProperties.class)
+public class WxMaConfiguration {
+ @Bean
+ public WxMaService wxMaService(WxMaProperties properties) {
+ WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
+ config.setAppid(properties.getAppid());
+ config.setSecret(properties.getSecret());
+ config.setMsgDataFormat(properties.getMsgDataFormat());
+
+ WxMaService service = new WxMaServiceImpl();
+ service.setWxMaConfig(config);
+ return service;
+ }
+
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/support/wx/WxMaProperties.java b/policeSecurityServer/src/main/java/com/changhu/support/wx/WxMaProperties.java
new file mode 100644
index 0000000..0e9c7af
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/support/wx/WxMaProperties.java
@@ -0,0 +1,29 @@
+package com.changhu.support.wx;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * author: luozhun
+ * desc: some...
+ * createTime: 2024/4/15 9:40
+ */
+@Data
+@ConfigurationProperties(prefix = "wx.miniapp")
+public class WxMaProperties {
+
+ /**
+ * 设置微信小程序的appid
+ */
+ private String appid;
+
+ /**
+ * 设置微信小程序的Secret
+ */
+ private String secret;
+
+ /**
+ * 消息格式,XML或者JSON
+ */
+ private String msgDataFormat;
+}
diff --git a/policeSecurityServer/src/main/resources/conf/log4j2.xml b/policeSecurityServer/src/main/resources/conf/log4j2.xml
index 26b54bc..e08488c 100644
--- a/policeSecurityServer/src/main/resources/conf/log4j2.xml
+++ b/policeSecurityServer/src/main/resources/conf/log4j2.xml
@@ -128,6 +128,9 @@
+
+
+
diff --git a/policeSecurityServer/src/main/resources/env/dev/application.yml b/policeSecurityServer/src/main/resources/env/dev/application.yml
index e33cc4f..d108324 100644
--- a/policeSecurityServer/src/main/resources/env/dev/application.yml
+++ b/policeSecurityServer/src/main/resources/env/dev/application.yml
@@ -141,6 +141,14 @@ sa-token:
# jwt秘钥
jwt-secret-key: a29216f8-cd60-4e96-89c5-ab6012159052
+wx:
+ miniapp:
+ #微信小程序的appid
+ appid: wx8902ddbfddb820d1
+ #微信小程序的Secret
+ secret: 8674decea33df3362245937444944596
+ msgDataFormat: JSON
+
project:
env: dev
fastjson2:
diff --git a/policeSecurityServer/src/main/resources/mapper/EnterprisesUnitMapper.xml b/policeSecurityServer/src/main/resources/mapper/EnterprisesUnitMapper.xml
index 8474262..b84a0e1 100644
--- a/policeSecurityServer/src/main/resources/mapper/EnterprisesUnitMapper.xml
+++ b/policeSecurityServer/src/main/resources/mapper/EnterprisesUnitMapper.xml
@@ -22,4 +22,37 @@
and eu.police_unit_id = #{params.policeUnitId}
order by eu.create_time desc
+
+
+
\ No newline at end of file
diff --git a/policeSecurityServer/src/main/resources/mapper/ManagementPoliceUnitUserMapper.xml b/policeSecurityServer/src/main/resources/mapper/ManagementPoliceUnitUserMapper.xml
index bfd899b..ceddf6b 100644
--- a/policeSecurityServer/src/main/resources/mapper/ManagementPoliceUnitUserMapper.xml
+++ b/policeSecurityServer/src/main/resources/mapper/ManagementPoliceUnitUserMapper.xml
@@ -9,6 +9,7 @@
left join management_police_unit_user mpuu2 on mpuu.create_by = mpuu2.snow_flake_id
where
mpuu.delete_flag = 0
+ and mpuu.police_unit_id = ${@com.changhu.common.utils.UserUtil@getUnitId()}
and mpuu.name like concat('%',#{params.name},'%')
@@ -18,6 +19,9 @@
and mpuu.sex = #{params.sex.value}
+
+ and mpuu.sex = #{params.isEnable.value}
+
order by mpuu.create_time desc
\ No newline at end of file
diff --git a/policeSecurityServer/src/main/resources/mapper/ManagementSecurityUnitUserMapper.xml b/policeSecurityServer/src/main/resources/mapper/ManagementSecurityUnitUserMapper.xml
index 7693317..a34f53a 100644
--- a/policeSecurityServer/src/main/resources/mapper/ManagementSecurityUnitUserMapper.xml
+++ b/policeSecurityServer/src/main/resources/mapper/ManagementSecurityUnitUserMapper.xml
@@ -9,6 +9,7 @@
left join management_security_unit_user msuu2 on msuu.create_by = msuu2.snow_flake_id
where
msuu.delete_flag = 0
+ and msuu.security_unit_id = ${@com.changhu.common.utils.UserUtil@getUnitId()}
and msuu.name like concat('%',#{params.name},'%')
diff --git a/policeSecurityServer/src/main/resources/mapper/ServiceProjectMapper.xml b/policeSecurityServer/src/main/resources/mapper/ServiceProjectMapper.xml
new file mode 100644
index 0000000..fe45dcc
--- /dev/null
+++ b/policeSecurityServer/src/main/resources/mapper/ServiceProjectMapper.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/securityManagement/src/components/form/FormProMax.vue b/securityManagement/src/components/form/FormProMax.vue
index 8fd21b6..185a4ca 100644
--- a/securityManagement/src/components/form/FormProMax.vue
+++ b/securityManagement/src/components/form/FormProMax.vue
@@ -161,7 +161,7 @@ const props = withDefaults(defineProps>(), {
labelCol: () => {
return {
style: {
- width: '100px'
+ width: '120px'
}
}
},
diff --git a/securityManagement/src/components/iconfont/IconFont.vue b/securityManagement/src/components/iconfont/IconFont.vue
index fc208f1..12dbb31 100644
--- a/securityManagement/src/components/iconfont/IconFont.vue
+++ b/securityManagement/src/components/iconfont/IconFont.vue
@@ -9,7 +9,7 @@
import {IconFontProps} from "@/types/components/iconfont/IconFont";
withDefaults(defineProps(), {
- size: 25,
+ size: 20,
type: "svg"
});
diff --git a/securityManagement/src/components/table/TableProMax.vue b/securityManagement/src/components/table/TableProMax.vue
index c98ef55..75e0e94 100644
--- a/securityManagement/src/components/table/TableProMax.vue
+++ b/securityManagement/src/components/table/TableProMax.vue
@@ -154,7 +154,7 @@ const tableColumns = computed(() => {
if (!(cols?.[0].dataIndex === 'index')) {
cols?.unshift({
dataIndex: 'index',
- width: 60,
+ width: 80,
title: '序号',
customRender: ({index}) => index + 1
})
diff --git a/securityManagement/src/config/dict.ts b/securityManagement/src/config/dict.ts
index e27fe55..01bd579 100644
--- a/securityManagement/src/config/dict.ts
+++ b/securityManagement/src/config/dict.ts
@@ -6,6 +6,8 @@ type DictType =
| 'IsEnable'
| 'IsOrNot'
| 'Sex'
+ | 'ServiceProjectType'
+ | 'MiniProgramUserIdentity'
export const initEnums = () => {
api.get[]>>('/common/enums').then(resp => {
diff --git a/securityManagement/src/config/index.ts b/securityManagement/src/config/index.ts
index f5c4938..2ab04cc 100644
--- a/securityManagement/src/config/index.ts
+++ b/securityManagement/src/config/index.ts
@@ -1,7 +1,7 @@
import {SystemMenu} from "@/types/config";
-export const ROUTER_WHITE_LIST: string[] = ['/login', '/test','/enterprise'];
-export const CLIENT_TYPE:string = "MANAGEMENT_SECURITY";
+export const ROUTER_WHITE_LIST: string[] = ['/login', '/test', '/enterprise'];
+export const CLIENT_TYPE: string = "MANAGEMENT_SECURITY";
export const UNIT_TYPE = {
security: 'SECURITY_UNIT',
@@ -12,27 +12,39 @@ export const SYSTEM_MENUS: SystemMenu[] = [
title: '首页',
name: 'index',
path: '/index',
+ icon: 'icon-shouye',
type: "menu",
component: () => import('@/views/index.vue')
}, {
title: '用户管理',
name: 'userManagement',
path: '/userManagement',
+ icon: 'icon-yonghuguanli_huaban',
type: 'dir',
children: [
{
title: '后台管理',
name: 'bgManagement',
path: '/bgManagement',
+ icon:'icon-guanlianbaoan',
type: 'menu',
component: () => import('@/views/userManagement/bgManagement/index.vue')
}, {
title: '小程序管理',
name: 'uniManagement',
path: '/uniManagement',
+ icon:'icon-guanlianbaoan',
type: 'menu',
component: () => import('@/views/userManagement/uniManagement/index.vue')
}
]
+ },
+ {
+ title: '服务项目管理',
+ name: 'serviceManagement',
+ path: '/serviceManagement',
+ icon:'icon-xiangmuguanli-',
+ type: 'menu',
+ component: () => import('@/views/serviceManagement/index.vue')
}
]
diff --git a/securityManagement/src/global.d.ts b/securityManagement/src/global.d.ts
index aac772f..49d4b5b 100644
--- a/securityManagement/src/global.d.ts
+++ b/securityManagement/src/global.d.ts
@@ -62,7 +62,10 @@ interface BaseEnum {
label: string
}
-
+interface TypeEnum {
+ value: string;
+ label: string
+}
interface dataStatus {
account: string;
password: string;
diff --git a/securityManagement/src/types/views/serviceManagement.ts b/securityManagement/src/types/views/serviceManagement.ts
new file mode 100644
index 0000000..285a344
--- /dev/null
+++ b/securityManagement/src/types/views/serviceManagement.ts
@@ -0,0 +1,25 @@
+import {BaseTableRowRecord} from "@/types/components/table";
+
+export interface serviceProjectSaveOrUpdateParams extends BaseTableRowRecord {
+ snowFlakeId: string
+ enterprisesUnitId: string,
+ enterprisesUnitName: string,
+ projectManagerMiniProgramUserId: string,
+ projectManagerMiniProgramUserName: string,
+ name: string,
+ type: TypeEnum,
+ isRecruitSecurity: BaseEnum,
+ idNumber: string,
+ serviceArea: number,
+ buildingTotal: number,
+ houseTotal: number,
+ staffTotal: number,
+ securityUserTotal: number,
+ remark: string,
+ createUserName: string,
+ createTime: string,
+ enterprisesUnitAdministrativeDivisionCodes:Record
+}
+
+
+
diff --git a/securityManagement/src/views/enterprise.vue b/securityManagement/src/views/enterprise.vue
index b9bdb03..8c86b33 100644
--- a/securityManagement/src/views/enterprise.vue
+++ b/securityManagement/src/views/enterprise.vue
@@ -138,6 +138,7 @@ const rules: Record = {
const DivisionTree = async ()=>{
const resp = await api.get[]>('/common/administrativeDivisionTree')
administrativeDivisionTree.value = resp.data as TreeNodeVo[]
+
}
// 可以进行搜索行政区划 2
diff --git a/securityManagement/src/views/serviceManagement/index.vue b/securityManagement/src/views/serviceManagement/index.vue
index 84db465..d28a2e0 100644
--- a/securityManagement/src/views/serviceManagement/index.vue
+++ b/securityManagement/src/views/serviceManagement/index.vue
@@ -1,12 +1,420 @@
-
- 服务项目管理
-
-
\ No newline at end of file
+
diff --git a/securityManagement/src/views/userManagement/bgManagement/index.vue b/securityManagement/src/views/userManagement/bgManagement/index.vue
index 1e3030d..76f7b2e 100644
--- a/securityManagement/src/views/userManagement/bgManagement/index.vue
+++ b/securityManagement/src/views/userManagement/bgManagement/index.vue
@@ -91,19 +91,18 @@ const columns: TableProps['columns'] = [
return (
record.isAdmin.value === 1?
-
- {
- const resp = await api.delete('/managementSecurityUnitUser/deleteById', {
- managementSecurityUnitUserId: record.snowFlakeId,
- })
- message.success(resp.message)
- await tableRef.value?.requestGetTableData()
- }}>
- 删除
-
-
+ {
+ const resp = await api.delete('/managementSecurityUnitUser/deleteById', {
+ managementSecurityUnitUserId: record.snowFlakeId,
+ })
+ message.success(resp.message)
+ await tableRef.value?.requestGetTableData()
+ }}>
+ 删除
+
{
visible.value = true
title.value = "编辑用户"
@@ -118,7 +117,7 @@ const columns: TableProps['columns'] = [
:
-
+ 超级管理员不能编辑
)
}
},
@@ -218,27 +217,24 @@ const submit = async () => {
}
const resp = await api.post('/managementSecurityUnitUser/saveOrUpdate', managementSecurityUnitUserSaveOrUpdateParams)
message.success(resp.message)
- close()
-}
-const close = () => {
tableRef.value?.requestGetTableData()
- visible.value = false
closeModal()
+
}
const closeModal = () => {
formParams.value = {
- name: '',
- sex: 0,
- telephone: '',
- isEnable: 0,
- remark: ''
+ name:'',
+ sex:0,
+ telephone:'',
+ isEnable:0,
+ remark:''
}
visible.value = false
+ title.value = '新增用户'
}
//Form
const addUserManagement = () => {
visible.value = true
- title.value = ''
}
diff --git a/superManagement/src/components/table/TableProMax.vue b/superManagement/src/components/table/TableProMax.vue
index 05da1db..5b37d6d 100644
--- a/superManagement/src/components/table/TableProMax.vue
+++ b/superManagement/src/components/table/TableProMax.vue
@@ -154,7 +154,7 @@ const tableColumns = computed(() => {
if (!(cols?.[0].dataIndex === 'index')) {
cols?.unshift({
dataIndex: 'index',
- width: 50,
+ width: 70,
title: '序号',
customRender: ({index}) => index + 1
})
diff --git a/superManagement/src/config/dict.ts b/superManagement/src/config/dict.ts
index 2d019fb..7175c25 100644
--- a/superManagement/src/config/dict.ts
+++ b/superManagement/src/config/dict.ts
@@ -6,6 +6,8 @@ type DictType =
| 'IsEnable'
| 'IsOrNot'
| 'Sex'
+ | 'ServiceProjectType'
+ | 'MiniProgramUserIdentity'
export const initDict = () => {
api.get[]>>('/common/enums').then(resp => {