diff --git a/policeSecurityServer/pom.xml b/policeSecurityServer/pom.xml
index 1533cb1..69b6c0f 100644
--- a/policeSecurityServer/pom.xml
+++ b/policeSecurityServer/pom.xml
@@ -147,6 +147,30 @@
sa-token-redis
${sa.token.version}
+
+
+ cn.dev33
+ sa-token-jwt
+ ${sa.token.version}
+
+
+ cn.hutool
+ hutool-core
+
+
+ cn.hutool
+ hutool-crypto
+
+
+ cn.hutool
+ hutool-json
+
+
+ cn.hutool
+ hutool-jwt
+
+
+
com.mysql
diff --git a/policeSecurityServer/src/main/java/com/changhu/common/annotation/CheckClientType.java b/policeSecurityServer/src/main/java/com/changhu/common/annotation/CheckClientType.java
new file mode 100644
index 0000000..0f49299
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/common/annotation/CheckClientType.java
@@ -0,0 +1,28 @@
+package com.changhu.common.annotation;
+
+import com.changhu.enums.ClientType;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.lang.annotation.*;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/4 下午4:01
+ * @desc CheckClientType...
+ */
+@Target({ElementType.TYPE, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@RestController
+public @interface CheckClientType {
+
+ /**
+ * 是否需要校验客户端类型
+ */
+ boolean value() default true;
+
+ /**
+ * 需要的客户端类型
+ */
+ ClientType clientType() default ClientType.NONE;
+}
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 76b4018..5483ddf 100644
--- a/policeSecurityServer/src/main/java/com/changhu/common/utils/UserUtil.java
+++ b/policeSecurityServer/src/main/java/com/changhu/common/utils/UserUtil.java
@@ -1,5 +1,6 @@
package com.changhu.common.utils;
+import cn.dev33.satoken.stp.SaLoginConfig;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.util.IdUtil;
@@ -7,6 +8,7 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.changhu.common.enums.ResultCode;
import com.changhu.common.exception.MessageException;
+import com.changhu.enums.ClientType;
import lombok.extern.slf4j.Slf4j;
import java.util.Optional;
@@ -43,6 +45,29 @@ 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));
+ return getTokenInfo();
+ }
+
+ /**
+ * 获取客户端类型
+ */
+ public static ClientType getClientType() {
+ Object clientType = StpUtil.getExtra("clientType");
+ if (clientType instanceof String ct) {
+ return ClientType.valueOf(ct);
+ }
+ return null;
+ }
+
+ /**
+ * 获取单位id
+ */
+ public static Long getUnitId() {
+ return Long.parseLong(StpUtil.getExtra("unitId") + "");
+ }
+
/**
* 用户登出
*/
diff --git a/policeSecurityServer/src/main/java/com/changhu/config/WebConfig.java b/policeSecurityServer/src/main/java/com/changhu/config/WebConfig.java
index 3422710..fbc9f4d 100644
--- a/policeSecurityServer/src/main/java/com/changhu/config/WebConfig.java
+++ b/policeSecurityServer/src/main/java/com/changhu/config/WebConfig.java
@@ -2,6 +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.JsonBodyInterceptor;
import org.jetbrains.annotations.NotNull;
import org.springframework.context.annotation.Configuration;
@@ -49,6 +50,8 @@ public class WebConfig implements WebMvcConfigurer {
.excludePathPatterns(whiteList);
// 注册jsonBody 拦截器 用于标识是否需要JsonResult返回
registry.addInterceptor(new JsonBodyInterceptor());
+ // 注册clientType 拦截器 用于校验当前用户是否匹配操作客户端
+ registry.addInterceptor(new ClientTypeInterceptor());
}
@Override
diff --git a/policeSecurityServer/src/main/java/com/changhu/enums/ClientType.java b/policeSecurityServer/src/main/java/com/changhu/enums/ClientType.java
index 2b9923e..45daec8 100644
--- a/policeSecurityServer/src/main/java/com/changhu/enums/ClientType.java
+++ b/policeSecurityServer/src/main/java/com/changhu/enums/ClientType.java
@@ -15,6 +15,7 @@ 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 ed5f085..7b3a528 100644
--- a/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementPoliceUnitLogin.java
+++ b/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementPoliceUnitLogin.java
@@ -1,8 +1,8 @@
package com.changhu.enums.handler;
import cn.dev33.satoken.stp.SaTokenInfo;
-import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.extension.toolkit.Db;
import com.changhu.common.db.enums.IsEnable;
import com.changhu.common.enums.ResultCode;
import com.changhu.common.exception.MessageException;
@@ -10,10 +10,9 @@ 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.module.management.service.ManagementPoliceUnitUserService;
-import com.changhu.module.management.service.PoliceUnitService;
import com.changhu.pojo.params.ManagementPoliceUnitLoginParams;
import com.changhu.support.mybatisplus.pojo.entity.BaseEntity;
@@ -24,9 +23,6 @@ import com.changhu.support.mybatisplus.pojo.entity.BaseEntity;
*/
public class ManagementPoliceUnitLogin extends AbstractLoginHandler {
- private final ManagementPoliceUnitUserService policeUnitUserService = SpringUtil.getBean(ManagementPoliceUnitUserService.class);
- private final PoliceUnitService policeUnitService = SpringUtil.getBean(PoliceUnitService.class);
-
public static final ManagementPoliceUnitLogin instance = new ManagementPoliceUnitLogin();
private ManagementPoliceUnitLogin() {
@@ -42,7 +38,7 @@ public class ManagementPoliceUnitLogin extends AbstractLoginHandler {
String password = RsaUtil.decrypt(managementPoliceUnitLoginParams.getPassword());
//查看 账号/手机号 是否存在
- ManagementPoliceUnitUser managementPoliceUnitUser = policeUnitUserService.lambdaQuery()
+ ManagementPoliceUnitUser managementPoliceUnitUser = Db.lambdaQuery(ManagementPoliceUnitUser.class)
.eq(ManagementPoliceUnitUser::getAccount, accountOrTelephone)
.or()
.eq(ManagementPoliceUnitUser::getTelephone, accountOrTelephone)
@@ -55,7 +51,7 @@ public class ManagementPoliceUnitLogin extends AbstractLoginHandler {
}
//判断单位是否禁用
- IsEnable unitEnable = policeUnitService.lambdaQuery()
+ IsEnable unitEnable = Db.lambdaQuery(PoliceUnit.class)
.eq(BaseEntity::getSnowFlakeId, managementPoliceUnitUser.getPoliceUnitId())
.oneOpt()
.map(PoliceUnit::getIsEnable)
@@ -71,7 +67,11 @@ public class ManagementPoliceUnitLogin extends AbstractLoginHandler {
}
//登录
- SaTokenInfo saTokenInfo = UserUtil.loginAndTokenInfo(managementPoliceUnitUser.getSnowFlakeId());
+ SaTokenInfo saTokenInfo = UserUtil.loginAndTokenInfo(
+ managementPoliceUnitUser.getSnowFlakeId(),
+ ClientType.MANAGEMENT_POLICE,
+ managementPoliceUnitUser.getPoliceUnitId()
+ );
//返回token
return new TokenInfo(saTokenInfo.getTokenName(), saTokenInfo.getTokenValue());
}
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 79ebe20..d14651f 100644
--- a/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementSecurityUnitLogin.java
+++ b/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementSecurityUnitLogin.java
@@ -1,8 +1,8 @@
package com.changhu.enums.handler;
import cn.dev33.satoken.stp.SaTokenInfo;
-import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.extension.toolkit.Db;
import com.changhu.common.db.enums.IsEnable;
import com.changhu.common.enums.ResultCode;
import com.changhu.common.exception.MessageException;
@@ -10,11 +10,9 @@ 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.ManagementSecurityUnitUser;
-import com.changhu.module.management.pojo.entity.PoliceUnit;
import com.changhu.module.management.pojo.entity.SecurityUnit;
-import com.changhu.module.management.service.ManagementSecurityUnitUserService;
-import com.changhu.module.management.service.SecurityUnitService;
import com.changhu.pojo.params.ManagementSecurityUnitLoginParams;
import com.changhu.support.mybatisplus.pojo.entity.BaseEntity;
@@ -25,9 +23,6 @@ import com.changhu.support.mybatisplus.pojo.entity.BaseEntity;
*/
public class ManagementSecurityUnitLogin extends AbstractLoginHandler {
- private final ManagementSecurityUnitUserService securityUnitUserService = SpringUtil.getBean(ManagementSecurityUnitUserService.class);
- private final SecurityUnitService securityUnitService = SpringUtil.getBean(SecurityUnitService.class);
-
public static final ManagementSecurityUnitLogin instance = new ManagementSecurityUnitLogin();
private ManagementSecurityUnitLogin() {
@@ -42,7 +37,7 @@ public class ManagementSecurityUnitLogin extends AbstractLoginHandler {
String password = RsaUtil.decrypt(loginParams.getPassword());
//查看 账号/手机号 是否存在
- ManagementSecurityUnitUser managementSecurityUnitUser = securityUnitUserService.lambdaQuery()
+ ManagementSecurityUnitUser managementSecurityUnitUser = Db.lambdaQuery(ManagementSecurityUnitUser.class)
.eq(ManagementSecurityUnitUser::getAccount, accountOrTelephone)
.or()
.eq(ManagementSecurityUnitUser::getTelephone, accountOrTelephone)
@@ -55,7 +50,7 @@ public class ManagementSecurityUnitLogin extends AbstractLoginHandler {
}
//判断单位是否禁用
- IsEnable unitEnable = securityUnitService.lambdaQuery()
+ IsEnable unitEnable = Db.lambdaQuery(SecurityUnit.class)
.eq(BaseEntity::getSnowFlakeId, managementSecurityUnitUser.getSecurityUnitId())
.oneOpt()
.map(SecurityUnit::getIsEnable)
@@ -70,7 +65,11 @@ public class ManagementSecurityUnitLogin extends AbstractLoginHandler {
}
//登录
- SaTokenInfo saTokenInfo = UserUtil.loginAndTokenInfo(managementSecurityUnitUser.getSnowFlakeId());
+ SaTokenInfo saTokenInfo = UserUtil.loginAndTokenInfo(
+ managementSecurityUnitUser.getSnowFlakeId(),
+ ClientType.MANAGEMENT_SECURITY,
+ managementSecurityUnitUser.getSecurityUnitId()
+ );
//返回token
return new TokenInfo(saTokenInfo.getTokenName(), saTokenInfo.getTokenValue());
}
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 4b9f790..42ac7fb 100644
--- a/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementSuperLogin.java
+++ b/policeSecurityServer/src/main/java/com/changhu/enums/handler/ManagementSuperLogin.java
@@ -1,16 +1,16 @@
package com.changhu.enums.handler;
import cn.dev33.satoken.stp.SaTokenInfo;
-import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.extension.toolkit.Db;
import com.changhu.common.enums.ResultCode;
import com.changhu.common.exception.MessageException;
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.ManagementSuperUser;
-import com.changhu.module.management.service.ManagementSuperUserService;
import com.changhu.pojo.params.ManagementSuperLoginParams;
/**
@@ -20,8 +20,6 @@ import com.changhu.pojo.params.ManagementSuperLoginParams;
*/
public class ManagementSuperLogin extends AbstractLoginHandler {
- private static final ManagementSuperUserService managementSuperUserService = SpringUtil.getBean(ManagementSuperUserService.class);
-
public static final ManagementSuperLogin instance = new ManagementSuperLogin();
private ManagementSuperLogin() {
@@ -35,7 +33,7 @@ public class ManagementSuperLogin extends AbstractLoginHandler {
String password = RsaUtil.decrypt(loginParams.getPassword());
//用户是否存在
- ManagementSuperUser user = managementSuperUserService.lambdaQuery()
+ ManagementSuperUser user = Db.lambdaQuery(ManagementSuperUser.class)
.eq(ManagementSuperUser::getTelephone, telephone)
.oneOpt()
.orElseThrow(() -> new MessageException(ResultCode.USER_NOT_FOUND));
@@ -45,7 +43,10 @@ public class ManagementSuperLogin extends AbstractLoginHandler {
throw new MessageException(ResultCode.PASSWORD_ERROR);
}
//登录
- SaTokenInfo saTokenInfo = UserUtil.loginAndTokenInfo(user.getSnowFlakeId());
+ SaTokenInfo saTokenInfo = UserUtil.loginAndTokenInfo(
+ user.getSnowFlakeId(),
+ ClientType.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 6b6131d..a8275fa 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
@@ -2,9 +2,7 @@ package com.changhu.module.management.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.changhu.common.annotation.JsonBody;
-import com.changhu.common.pojo.vo.TreeNodeVo;
-import com.changhu.common.utils.JavaClassToTsUtil;
-import com.changhu.mapper.AdministrativeDivisionMapper;
+import com.changhu.common.exception.MessageException;
import com.changhu.module.management.pojo.params.EnterprisesUnitSaveOrUpdateParams;
import com.changhu.module.management.pojo.queryParams.EnterprisesUnitPagerQueryParams;
import com.changhu.module.management.pojo.vo.EnterprisesUnitPagerVo;
@@ -14,12 +12,11 @@ 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.DeleteMapping;
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/9/3 上午10:17
@@ -45,8 +42,13 @@ public class EnterprisesUnitController {
enterprisesUnitService.saveOrUpdate(params);
}
- public static void main(String[] args) {
- System.out.println(JavaClassToTsUtil.parse(EnterprisesUnitSaveOrUpdateParams.class));
+ @Operation(summary = "根据id删除")
+ @DeleteMapping("/deleteById")
+ public void deleteById(@RequestBody Long enterprisesUnitId) {
+ boolean b = enterprisesUnitService.removeById(enterprisesUnitId);
+ if (!b) {
+ throw new MessageException();
+ }
}
}
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 bffda7a..9571494 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,14 +1,54 @@
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.JsonBody;
+import com.changhu.enums.ClientType;
+import com.changhu.module.management.pojo.params.ManagementPoliceUserSaveOrUpdateParams;
+import com.changhu.module.management.pojo.queryParams.ManagementPoliceUnitUserPagerQueryParams;
+import com.changhu.module.management.pojo.vo.ManagementPoliceUnitUserPagerVo;
+import com.changhu.module.management.service.ManagementPoliceUnitUserService;
+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.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
/**
* @author 20252
* @createTime 2024/9/3 上午10:21
* @desc ManagementPoliceUnitUserController...
*/
+@Tag(name = "后台-公安用户")
@JsonBody
+@CheckClientType(clientType = ClientType.MANAGEMENT_POLICE)
@RequestMapping("/managementPoliceUnitUser")
public class ManagementPoliceUnitUserController {
+
+ @Autowired
+ private ManagementPoliceUnitUserService managementPoliceUnitUserService;
+
+ @Operation(summary = "新增或保存")
+ @PostMapping("/saveOrUpdate")
+ public void saveOrUpdate(@RequestBody @Valid ManagementPoliceUserSaveOrUpdateParams params) {
+ managementPoliceUnitUserService.saveOrUpdate(params);
+ }
+
+ @Operation(summary = "分页查询")
+ @PostMapping("/pager")
+ public Page pager(@RequestBody PageParams queryParams) {
+ return managementPoliceUnitUserService.pager(queryParams);
+ }
+
+ @Operation(summary = "根据id删除")
+ @PostMapping("/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 8c427e8..0fc7753 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,19 +1,20 @@
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.JsonBody;
+import com.changhu.enums.ClientType;
import com.changhu.module.management.pojo.params.ManagementSecurityUnitUserSaveOrUpdateParams;
import com.changhu.module.management.pojo.queryParams.ManagementSecurityUnitUserPagerQueryParams;
import com.changhu.module.management.pojo.vo.ManagementSecurityUnitUserPagerVo;
import com.changhu.module.management.service.ManagementSecurityUnitUserService;
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.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
/**
* @author 20252
@@ -23,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
@Tag(name = "后台-保安用户")
@JsonBody
@RequestMapping("/managementSecurityUnitUser")
+@CheckClientType(clientType = ClientType.MANAGEMENT_SECURITY)
public class ManagementSecurityUnitUserController {
@Autowired
@@ -39,4 +41,9 @@ public class ManagementSecurityUnitUserController {
public Page pager(@RequestBody PageParams queryParams) {
return managementSecurityUnitUserService.pager(queryParams);
}
+
+ @DeleteMapping("/deleteById")
+ public void deleteById(@RequestParam @Schema(description = "后台保安用户id") Long managementSecurityUnitUserId) {
+ managementSecurityUnitUserService.deleteById(managementSecurityUnitUserId);
+ }
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/enums/handler/PoliceUnitTypeHandler.java b/policeSecurityServer/src/main/java/com/changhu/module/management/enums/handler/PoliceUnitTypeHandler.java
index 52f6e15..f2b5c8a 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/enums/handler/PoliceUnitTypeHandler.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/enums/handler/PoliceUnitTypeHandler.java
@@ -12,7 +12,6 @@ import com.changhu.common.exception.MessageException;
import com.changhu.common.utils.UserUtil;
import com.changhu.module.management.pojo.entity.ManagementPoliceUnitUser;
import com.changhu.module.management.pojo.entity.PoliceUnit;
-import com.changhu.module.management.pojo.entity.SecurityUnit;
import com.changhu.module.management.pojo.vo.UnitCheckStatusVo;
import com.changhu.module.management.service.ManagementPoliceUnitUserService;
import com.changhu.module.management.service.PoliceUnitService;
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 7eea1e6..b459e3f 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
@@ -1,8 +1,14 @@
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.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;
/**
* management_police_user (后台-公安单位用户表) 固化类
@@ -12,4 +18,14 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ManagementPoliceUnitUserMapper extends BaseMapper {
+ /**
+ * 分页查询
+ *
+ * @param page 分页参数
+ * @param params 查询参数
+ * @return 结果
+ */
+ @DataScope(permissionHandler = ManagementPoliceUnitUserPagerPermissionHandler.class)
+ Page pager(@Param("page") Page page,
+ @Param("params") ManagementPoliceUnitUserPagerQueryParams params);
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/entity/EnterprisesUnit.java b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/entity/EnterprisesUnit.java
index 04fb73d..8569927 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/entity/EnterprisesUnit.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/entity/EnterprisesUnit.java
@@ -1,18 +1,18 @@
package com.changhu.module.management.pojo.entity;
-import java.io.Serial;
-import java.io.Serializable;
-
import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.Fastjson2TypeHandler;
import com.changhu.module.management.pojo.model.ContactPersonInfo;
import com.changhu.support.mybatisplus.pojo.entity.BaseEntity;
-import lombok.Data;
import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
-import lombok.EqualsAndHashCode;
-import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serial;
+import java.io.Serializable;
/**
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/params/ManagementPoliceUserSaveOrUpdateParams.java b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/params/ManagementPoliceUserSaveOrUpdateParams.java
new file mode 100644
index 0000000..13a1e2a
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/params/ManagementPoliceUserSaveOrUpdateParams.java
@@ -0,0 +1,39 @@
+package com.changhu.module.management.pojo.params;
+
+import com.changhu.common.db.enums.IsEnable;
+import com.changhu.common.db.enums.Sex;
+import com.changhu.common.validator.annotation.IsMobile;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/4 下午3:04
+ * @desc ManagementPoliceUserSaveOrUpdateParams...
+ */
+@Data
+public class ManagementPoliceUserSaveOrUpdateParams {
+
+ @Schema(description = "id")
+ private Long snowFlakeId;
+
+ @NotNull(message = "名称不能为空")
+ @Schema(description = "名称")
+ private String name;
+
+ @NotNull(message = "性别不能为空")
+ @Schema(description = "性别")
+ private Sex sex;
+
+ @IsMobile
+ @NotBlank(message = "手机号不能为空")
+ @Schema(description = "手机号")
+ private String telephone;
+
+ @NotNull(message = "是否启用不能为空")
+ @Schema(description = "是否启用")
+ private IsEnable isEnable;
+
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/params/ManagementSecurityUnitUserSaveOrUpdateParams.java b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/params/ManagementSecurityUnitUserSaveOrUpdateParams.java
index dc58729..9e35740 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/params/ManagementSecurityUnitUserSaveOrUpdateParams.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/params/ManagementSecurityUnitUserSaveOrUpdateParams.java
@@ -3,15 +3,11 @@ package com.changhu.module.management.pojo.params;
import com.changhu.common.db.enums.IsEnable;
import com.changhu.common.db.enums.Sex;
import com.changhu.common.validator.annotation.IsMobile;
-import com.changhu.module.management.pojo.model.ContactPersonInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
-import java.util.List;
-
/**
* @author 20252
* @createTime 2024/9/3 上午10:26
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
new file mode 100644
index 0000000..6128212
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/queryParams/ManagementPoliceUnitUserPagerQueryParams.java
@@ -0,0 +1,20 @@
+package com.changhu.module.management.pojo.queryParams;
+
+import com.changhu.common.db.enums.Sex;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/4 下午3:22
+ * @desc ManagementPoliceUnitUserPagerQueryParams...
+ */
+@Data
+public class ManagementPoliceUnitUserPagerQueryParams {
+ @Schema(description = "名字")
+ private String name;
+ @Schema(description = "手机号")
+ private String telephone;
+ @Schema(description = "性别")
+ private Sex sex;
+}
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
new file mode 100644
index 0000000..7e207ea
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/pojo/vo/ManagementPoliceUnitUserPagerVo.java
@@ -0,0 +1,46 @@
+package com.changhu.module.management.pojo.vo;
+
+import com.changhu.common.db.enums.IsEnable;
+import com.changhu.common.db.enums.IsOrNot;
+import com.changhu.common.db.enums.Sex;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/3 上午10:59
+ * @desc ManagementSecurityUnitUserPagerVo...
+ */
+@Data
+public class ManagementPoliceUnitUserPagerVo {
+
+ @Schema(description = "id")
+ private Long snowFlakeId;
+
+ @Schema(description = "名称")
+ private String name;
+
+ @Schema(description = "性别")
+ private Sex sex;
+
+ @Schema(description = "性别")
+ private String account;
+
+ @Schema(description = "手机号")
+ private String telephone;
+
+
+ @Schema(description = "是否启用")
+ private IsEnable isEnable;
+
+ @Schema(description = "是否是超管")
+ private IsOrNot isAdmin;
+
+ @Schema(description = "创建人")
+ private String createUserName;
+
+ @Schema(description = "创建时间")
+ private LocalDateTime createTime;
+}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/service/ManagementPoliceUnitUserService.java b/policeSecurityServer/src/main/java/com/changhu/module/management/service/ManagementPoliceUnitUserService.java
index d70efca..8651bcc 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/service/ManagementPoliceUnitUserService.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/service/ManagementPoliceUnitUserService.java
@@ -1,7 +1,12 @@
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.ManagementPoliceUnitUser;
+import com.changhu.module.management.pojo.params.ManagementPoliceUserSaveOrUpdateParams;
+import com.changhu.module.management.pojo.queryParams.ManagementPoliceUnitUserPagerQueryParams;
+import com.changhu.module.management.pojo.vo.ManagementPoliceUnitUserPagerVo;
+import com.changhu.support.mybatisplus.pojo.params.PageParams;
/**
* management_police_user (后台-公安单位用户表) 服务类
@@ -10,4 +15,25 @@ import com.changhu.module.management.pojo.entity.ManagementPoliceUnitUser;
*/
public interface ManagementPoliceUnitUserService extends IService {
+ /**
+ * 新增或者保持
+ *
+ * @param params 参数
+ */
+ void saveOrUpdate(ManagementPoliceUserSaveOrUpdateParams params);
+
+ /**
+ * 分页查询
+ *
+ * @param queryParams 查询参数
+ * @return 结果
+ */
+ Page pager(PageParams queryParams);
+
+ /**
+ * 根据id删除
+ *
+ * @param managementPoliceUnitUserId 后台公安用户id
+ */
+ void deleteById(Long managementPoliceUnitUserId);
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/service/ManagementSecurityUnitUserService.java b/policeSecurityServer/src/main/java/com/changhu/module/management/service/ManagementSecurityUnitUserService.java
index 000b0d5..e1466cd 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/service/ManagementSecurityUnitUserService.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/service/ManagementSecurityUnitUserService.java
@@ -29,4 +29,11 @@ public interface ManagementSecurityUnitUserService extends IService pager(PageParams queryParams);
+
+ /**
+ * 根据id删除
+ *
+ * @param managementSecurityUnitUserId 后台保安用户id
+ */
+ void deleteById(Long managementSecurityUnitUserId);
}
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 821ae52..e5c596f 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
@@ -1,10 +1,26 @@
package com.changhu.module.management.service.impl;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.RandomUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.changhu.common.enums.ResultCode;
+import com.changhu.common.exception.MessageException;
+import com.changhu.common.utils.UserUtil;
+import com.changhu.enums.ClientType;
import com.changhu.module.management.mapper.ManagementPoliceUnitUserMapper;
import com.changhu.module.management.pojo.entity.ManagementPoliceUnitUser;
+import com.changhu.module.management.pojo.params.ManagementPoliceUserSaveOrUpdateParams;
+import com.changhu.module.management.pojo.queryParams.ManagementPoliceUnitUserPagerQueryParams;
+import com.changhu.module.management.pojo.vo.ManagementPoliceUnitUserPagerVo;
import com.changhu.module.management.service.ManagementPoliceUnitUserService;
+import com.changhu.support.mybatisplus.pojo.entity.BaseEntity;
+import com.changhu.support.mybatisplus.pojo.params.PageParams;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
/**
* management_police_user (后台-公安单位用户表) 服务实现类
@@ -14,4 +30,57 @@ import org.springframework.stereotype.Service;
@Service
public class ManagementPoliceUnitUserServiceImpl extends ServiceImpl implements ManagementPoliceUnitUserService {
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void saveOrUpdate(ManagementPoliceUserSaveOrUpdateParams params) {
+ //查看手机号是否存在
+ boolean exists = this.lambdaQuery()
+ .eq(ManagementPoliceUnitUser::getTelephone, params.getTelephone())
+ .exists();
+ if (exists) {
+ throw new MessageException("该手机号已存在");
+ }
+ ManagementPoliceUnitUser managementPoliceUnitUser = BeanUtil.copyProperties(params, ManagementPoliceUnitUser.class);
+ //新增 补全信息
+ if (managementPoliceUnitUser.getSnowFlakeId() == null) {
+ String account = RandomUtil.randomString(6);
+ boolean accExits = this.lambdaQuery().eq(ManagementPoliceUnitUser::getAccount, account).exists();
+ if (accExits) {
+ throw new MessageException("生成的账号已存在 请重新提交生成");
+ }
+ //生成账号
+ managementPoliceUnitUser.setAccount(account);
+ //补全单位
+ managementPoliceUnitUser.setPoliceUnitId(UserUtil.getUnitId());
+ //生成密码
+ String passWordEncrypt = UserUtil.passWordEncrypt(UserUtil.DEFAULT_PASSWORD);
+ List saltAndPassWord = StrUtil.split(passWordEncrypt, "$$");
+ managementPoliceUnitUser.setSalt(saltAndPassWord.get(0));
+ managementPoliceUnitUser.setPassword(saltAndPassWord.get(1));
+ }
+ this.saveOrUpdate(managementPoliceUnitUser);
+ }
+
+ @Override
+ public Page pager(PageParams queryParams) {
+ return baseMapper.pager(queryParams.getPage(), queryParams.getParams());
+ }
+
+ @Override
+ public void deleteById(Long managementPoliceUnitUserId) {
+ Long unitId = UserUtil.getUnitId();
+ Long l = this.lambdaQuery()
+ .eq(BaseEntity::getSnowFlakeId, managementPoliceUnitUserId)
+ .oneOpt()
+ .map(ManagementPoliceUnitUser::getPoliceUnitId)
+ .orElseThrow(() -> new MessageException(ResultCode.USER_NOT_FOUND));
+ if (!unitId.equals(l)) {
+ throw new MessageException("单位不匹配,无权操作");
+ }
+ boolean b = this.removeById(managementPoliceUnitUserId);
+ if (!b) {
+ throw new MessageException();
+ }
+
+ }
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/ManagementSecurityUnitUserServiceImpl.java b/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/ManagementSecurityUnitUserServiceImpl.java
index 9d4d7be..51a794d 100644
--- a/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/ManagementSecurityUnitUserServiceImpl.java
+++ b/policeSecurityServer/src/main/java/com/changhu/module/management/service/impl/ManagementSecurityUnitUserServiceImpl.java
@@ -5,14 +5,18 @@ import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.changhu.common.enums.ResultCode;
import com.changhu.common.exception.MessageException;
import com.changhu.common.utils.UserUtil;
+import com.changhu.enums.ClientType;
import com.changhu.module.management.mapper.ManagementSecurityUnitUserMapper;
+import com.changhu.module.management.pojo.entity.ManagementPoliceUnitUser;
import com.changhu.module.management.pojo.entity.ManagementSecurityUnitUser;
import com.changhu.module.management.pojo.params.ManagementSecurityUnitUserSaveOrUpdateParams;
import com.changhu.module.management.pojo.queryParams.ManagementSecurityUnitUserPagerQueryParams;
import com.changhu.module.management.pojo.vo.ManagementSecurityUnitUserPagerVo;
import com.changhu.module.management.service.ManagementSecurityUnitUserService;
+import com.changhu.support.mybatisplus.pojo.entity.BaseEntity;
import com.changhu.support.mybatisplus.pojo.params.PageParams;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -37,6 +41,7 @@ public class ManagementSecurityUnitUserServiceImpl extends ServiceImpl saltAndPassWord = StrUtil.split(passWordEncrypt, "$$");
@@ -62,4 +72,21 @@ public class ManagementSecurityUnitUserServiceImpl extends ServiceImpl pager(PageParams queryParams) {
return baseMapper.pager(queryParams.getPage(), queryParams.getParams());
}
+
+ @Override
+ public void deleteById(Long managementSecurityUnitUserId) {
+ Long unitId = UserUtil.getUnitId();
+ Long l = this.lambdaQuery()
+ .eq(BaseEntity::getSnowFlakeId, managementSecurityUnitUserId)
+ .oneOpt()
+ .map(ManagementSecurityUnitUser::getSecurityUnitId)
+ .orElseThrow(() -> new MessageException(ResultCode.USER_NOT_FOUND));
+ if (!unitId.equals(l)) {
+ throw new MessageException("单位不匹配,无权操作");
+ }
+ boolean b = this.removeById(managementSecurityUnitUserId);
+ if (!b) {
+ throw new MessageException();
+ }
+ }
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/support/interceptor/ClientTypeInterceptor.java b/policeSecurityServer/src/main/java/com/changhu/support/interceptor/ClientTypeInterceptor.java
new file mode 100644
index 0000000..5722271
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/support/interceptor/ClientTypeInterceptor.java
@@ -0,0 +1,54 @@
+package com.changhu.support.interceptor;
+
+import com.changhu.common.annotation.CheckClientType;
+import com.changhu.common.exception.MessageException;
+import com.changhu.common.utils.UserUtil;
+import com.changhu.enums.ClientType;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import org.jetbrains.annotations.NotNull;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+/**
+ * @author 20252
+ * @createTime 2024/9/4 下午4:00
+ * @desc ClientTypeInterceptor...
+ */
+public class ClientTypeInterceptor implements HandlerInterceptor {
+
+ @Override
+ public boolean preHandle(@NotNull HttpServletRequest request,
+ @NotNull HttpServletResponse response,
+ @NotNull Object handler) {
+ if (handler instanceof HandlerMethod handlerMethod) {
+ boolean b = false;
+ ClientType ct = null;
+
+ CheckClientType clazzJsonBody = handlerMethod.getBeanType().getAnnotation(CheckClientType.class);
+ CheckClientType methodJsonBody = handlerMethod.getMethodAnnotation(CheckClientType.class);
+
+ if (clazzJsonBody != null) {
+ if (methodJsonBody == null) {
+ b = true;
+ ct = clazzJsonBody.clientType();
+ } else if (methodJsonBody.value()) {
+ b = true;
+ ct = methodJsonBody.clientType();
+ }
+ } else {
+ if (methodJsonBody != null && methodJsonBody.value()) {
+ b = true;
+ ct = methodJsonBody.clientType();
+ }
+ }
+
+ if (b) {
+ if (!ct.equals(UserUtil.getClientType())) {
+ throw new MessageException("客户端类型不对");
+ }
+ }
+ }
+ return true;
+ }
+}
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
new file mode 100644
index 0000000..518a62d
--- /dev/null
+++ b/policeSecurityServer/src/main/java/com/changhu/support/mybatisplus/handler/permission/management/ManagementPoliceUnitUserPagerPermissionHandler.java
@@ -0,0 +1,29 @@
+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
index e28d3a8..774f397 100644
--- 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
@@ -1,12 +1,7 @@
package com.changhu.support.mybatisplus.handler.permission.management;
-import com.baomidou.mybatisplus.extension.toolkit.Db;
-import com.changhu.common.enums.ResultCode;
-import com.changhu.common.exception.MessageException;
import com.changhu.common.utils.UserUtil;
-import com.changhu.module.management.pojo.entity.ManagementSecurityUnitUser;
import com.changhu.support.mybatisplus.handler.permission.AbstractDataPermissionHandler;
-import com.changhu.support.mybatisplus.pojo.entity.BaseEntity;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.LongValue;
import net.sf.jsqlparser.expression.operators.relational.EqualsTo;
@@ -29,12 +24,6 @@ public class ManagementSecurityUnitUserPagerPermissionHandler implements Abstrac
@Override
public Expression sqlFragment() {
- //查出当前用户
- ManagementSecurityUnitUser managementSecurityUnitUser = Db.lambdaQuery(ManagementSecurityUnitUser.class)
- .select(BaseEntity::getSnowFlakeId, ManagementSecurityUnitUser::getSecurityUnitId)
- .eq(BaseEntity::getSnowFlakeId, UserUtil.getUserId())
- .oneOpt()
- .orElseThrow(() -> new MessageException(ResultCode.USER_NOT_FOUND));
- return new EqualsTo(new Column("msuu.security_unit_id"), new LongValue(managementSecurityUnitUser.getSecurityUnitId()));
+ return new EqualsTo(new Column("msuu.security_unit_id"), new LongValue(UserUtil.getUnitId()));
}
}
diff --git a/policeSecurityServer/src/main/java/com/changhu/support/satoken/SaTokenConfig.java b/policeSecurityServer/src/main/java/com/changhu/support/satoken/SaTokenConfig.java
index 5132956..dd2c3ff 100644
--- a/policeSecurityServer/src/main/java/com/changhu/support/satoken/SaTokenConfig.java
+++ b/policeSecurityServer/src/main/java/com/changhu/support/satoken/SaTokenConfig.java
@@ -1,8 +1,11 @@
package com.changhu.support.satoken;
import cn.dev33.satoken.dao.SaTokenDaoRedis;
+import cn.dev33.satoken.jwt.StpLogicJwtForSimple;
+import cn.dev33.satoken.stp.StpLogic;
import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
@@ -29,4 +32,12 @@ public class SaTokenConfig {
this.saTokenDaoRedis.stringRedisTemplate = this.stringRedisTemplate;
this.saTokenDaoRedis.objectRedisTemplate = this.redisTemplate;
}
+
+ /**
+ * Sa-Token 整合 jwt (Simple 简单模式)
+ */
+ @Bean
+ public StpLogic getStpLogicJwt() {
+ return new StpLogicJwtForSimple();
+ }
}
diff --git a/policeSecurityServer/src/main/resources/env/dev/application.yml b/policeSecurityServer/src/main/resources/env/dev/application.yml
index b6b5cb7..e33cc4f 100644
--- a/policeSecurityServer/src/main/resources/env/dev/application.yml
+++ b/policeSecurityServer/src/main/resources/env/dev/application.yml
@@ -138,6 +138,8 @@ sa-token:
is-log: true
# 是否尝试从 cookie 里读取 token
is-read-cookie: false
+ # jwt秘钥
+ jwt-secret-key: a29216f8-cd60-4e96-89c5-ab6012159052
project:
env: dev
diff --git a/policeSecurityServer/src/main/resources/mapper/ManagementPoliceUnitUserMapper.xml b/policeSecurityServer/src/main/resources/mapper/ManagementPoliceUnitUserMapper.xml
new file mode 100644
index 0000000..bfd899b
--- /dev/null
+++ b/policeSecurityServer/src/main/resources/mapper/ManagementPoliceUnitUserMapper.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/superManagement/index.html b/superManagement/index.html
index d821b0d..28e4832 100644
--- a/superManagement/index.html
+++ b/superManagement/index.html
@@ -6,7 +6,7 @@
- Vite + Vue + TS
+ 超级后台
diff --git a/superManagement/src/views/unitManage/policeUnit/index.vue b/superManagement/src/views/unitManage/policeUnit/index.vue
index d2cf4af..4c9507c 100644
--- a/superManagement/src/views/unitManage/policeUnit/index.vue
+++ b/superManagement/src/views/unitManage/policeUnit/index.vue
@@ -24,7 +24,7 @@ import {dictSelectNodes} from "@/config/dict.ts";
import {message, Modal} from "ant-design-vue";
import {UNIT_TYPE} from "@/config";
import {PageParams} from "@/types/hooks/useTableProMax.ts";
-import {submitSimpleFormModal} from "@/components/tsx/ModalPro.tsx";
+import {submitSimpleFormModal, deleteDataModal} from "@/components/tsx/ModalPro.tsx";
import useSelectAndTreeNodeVos from "@/hooks/useSelectAndTreeNodeVos.ts";
type TableProps = TableProMaxProps
@@ -103,13 +103,17 @@ const columns: TableProps['columns'] = [
},
}
]
-const searchFormOptions: TableProps["searchFormOptions"] = {
+const searchFormOptions = ref({
name: {
type: 'input',
label: '名称'
}, code: {
type: 'input',
label: '代码'
+ }, administrativeDivisionCodes: {
+ type: 'cascader',
+ label: '行政区划',
+ options: administrativeDivisionTree
}, isEnable: {
type: 'select',
label: '是否启用',
@@ -129,7 +133,7 @@ const searchFormOptions: TableProps["searchFormOptions"] = {
}, ...dictSelectNodes('CheckStatus')
]
}
-}
+})
type _TableProps = TableProMaxProps;
const showEnterprisesUnit = (policeUnitPagerVo: PoliceUnitPagerVo) => {
@@ -226,6 +230,14 @@ const showEnterprisesUnit = (policeUnitPagerVo: PoliceUnitPagerVo) => {
})}
>编辑
+ deleteDataModal(record.name, async () => {
+ const resp = await api.delete('/enterprisesUnit/deleteById', {
+ enterprisesUnitId: record.snowFlakeId
+ })
+ message.success(resp.message)
+ await _tableRef.value?.requestGetTableData()
+ })}>删除
+
}
]
diff --git a/superManagement/src/views/unitManage/securityUnit/index.vue b/superManagement/src/views/unitManage/securityUnit/index.vue
index 28c2a23..12ebf4a 100644
--- a/superManagement/src/views/unitManage/securityUnit/index.vue
+++ b/superManagement/src/views/unitManage/securityUnit/index.vue
@@ -81,21 +81,24 @@ const columns: TableProps['columns'] = [
title: '操作',
fixed: "right",
customRender({record}) {
+ if (record.checkStatus.value === 1) {
+ return
+ {
+ const resp = await api.post('/management/checkPass', {
+ checkDataId: record.snowFlakeId,
+ unitOptType: UNIT_TYPE.security
+ })
+ message.success(resp.message)
+ await tableRef.value?.requestGetTableData()
+ }}>
+ 审核通过
+
+
+
+ }
return
- {record.checkStatus.value === 1 && {
- const resp = await api.post('/management/checkPass', {
- checkDataId: record.snowFlakeId,
- unitOptType: UNIT_TYPE.security
- })
- message.success(resp.message)
- await tableRef.value?.requestGetTableData()
- }}>
- 审核通过
-
-
- }
{