浏览代码

江门公安

dsx 2 年之前
父节点
当前提交
5b3c076b7c
共有 40 个文件被更改,包括 1225 次插入158 次删除
  1. 11 11
      pom.xml
  2. 9 7
      src/main/java/com/fdkankan/scene/Interceptor/CheckPermitAspect.java
  3. 204 0
      src/main/java/com/fdkankan/scene/Interceptor/CheckViewBizAuthAspect.java
  4. 111 0
      src/main/java/com/fdkankan/scene/Interceptor/SaveEditLogAspect.java
  5. 10 0
      src/main/java/com/fdkankan/scene/annotation/CheckViewBizAuth.java
  6. 10 0
      src/main/java/com/fdkankan/scene/annotation/SaveLog.java
  7. 21 0
      src/main/java/com/fdkankan/scene/controller/JySceneAuthController.java
  8. 21 0
      src/main/java/com/fdkankan/scene/controller/JySceneUserAuthController.java
  9. 21 0
      src/main/java/com/fdkankan/scene/controller/JyUserController.java
  10. 3 2
      src/main/java/com/fdkankan/scene/controller/SceneController.java
  11. 41 0
      src/main/java/com/fdkankan/scene/controller/SceneEditController.java
  12. 21 0
      src/main/java/com/fdkankan/scene/controller/SceneUserAuthController.java
  13. 21 0
      src/main/java/com/fdkankan/scene/controller/SysLogController.java
  14. 21 0
      src/main/java/com/fdkankan/scene/controller/UserController.java
  15. 54 0
      src/main/java/com/fdkankan/scene/entity/JySceneAuth.java
  16. 93 0
      src/main/java/com/fdkankan/scene/entity/JySceneUserAuth.java
  17. 69 0
      src/main/java/com/fdkankan/scene/entity/JyUser.java
  18. 75 0
      src/main/java/com/fdkankan/scene/entity/SysLog.java
  19. 4 4
      src/main/java/com/fdkankan/scene/generate/AutoGenerate.java
  20. 18 0
      src/main/java/com/fdkankan/scene/mapper/IJySceneAuthMapper.java
  21. 18 0
      src/main/java/com/fdkankan/scene/mapper/IJySceneUserAuthMapper.java
  22. 18 0
      src/main/java/com/fdkankan/scene/mapper/IJyUserMapper.java
  23. 18 0
      src/main/java/com/fdkankan/scene/mapper/ISysLogMapper.java
  24. 2 1
      src/main/java/com/fdkankan/scene/service/IJmgaService.java
  25. 18 0
      src/main/java/com/fdkankan/scene/service/IJySceneAuthService.java
  26. 20 0
      src/main/java/com/fdkankan/scene/service/IJySceneUserAuthService.java
  27. 20 0
      src/main/java/com/fdkankan/scene/service/IJyUserService.java
  28. 16 0
      src/main/java/com/fdkankan/scene/service/ISysLogService.java
  29. 6 11
      src/main/java/com/fdkankan/scene/service/impl/JmgaServiceImpl.java
  30. 25 0
      src/main/java/com/fdkankan/scene/service/impl/JySceneAuthServiceImpl.java
  31. 44 0
      src/main/java/com/fdkankan/scene/service/impl/JySceneUserAuthServiceImpl.java
  32. 30 0
      src/main/java/com/fdkankan/scene/service/impl/JyUserServiceImpl.java
  33. 9 19
      src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java
  34. 5 5
      src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java
  35. 20 0
      src/main/java/com/fdkankan/scene/service/impl/SysLogServiceImpl.java
  36. 98 98
      src/main/java/com/fdkankan/scene/util/OssBodySegmentUtil.java
  37. 5 0
      src/main/resources/mapper/scene/JySceneAuthMapper.xml
  38. 5 0
      src/main/resources/mapper/scene/JySceneUserAuthMapper.xml
  39. 5 0
      src/main/resources/mapper/scene/JyUserMapper.xml
  40. 5 0
      src/main/resources/mapper/scene/SysLogMapper.xml

+ 11 - 11
pom.xml

@@ -68,17 +68,17 @@
             <version>3.0.0-SNAPSHOT</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.fdkankan</groupId>
-            <artifactId>4dkankan-utils-fyun-oss</artifactId>
-            <version>3.0.0-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.fdkankan</groupId>
-            <artifactId>4dkankan-utils-fyun-s3</artifactId>
-            <version>3.0.0-SNAPSHOT</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.fdkankan</groupId>-->
+<!--            <artifactId>4dkankan-utils-fyun-oss</artifactId>-->
+<!--            <version>3.0.0-SNAPSHOT</version>-->
+<!--        </dependency>-->
+
+<!--        <dependency>-->
+<!--            <groupId>com.fdkankan</groupId>-->
+<!--            <artifactId>4dkankan-utils-fyun-s3</artifactId>-->
+<!--            <version>3.0.0-SNAPSHOT</version>-->
+<!--        </dependency>-->
 
         <dependency>
             <groupId>com.fdkankan</groupId>

+ 9 - 7
src/main/java/com/fdkankan/scene/Interceptor/CheckPermitAspect.java

@@ -9,6 +9,7 @@ import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.entity.SceneCooperation;
 import com.fdkankan.scene.entity.ScenePlus;
+import com.fdkankan.scene.service.IJySceneUserAuthService;
 import com.fdkankan.scene.service.ISceneCooperationService;
 import com.fdkankan.scene.service.IScenePlusService;
 import com.fdkankan.web.user.SSOLoginHelper;
@@ -42,6 +43,8 @@ public class CheckPermitAspect {
 	private IScenePlusService scenePlusService;
 	@Autowired
 	private ISceneCooperationService sceneCooperationService;
+	@Autowired
+	private IJySceneUserAuthService jySceneUserAuthService;
 
 
 	@Pointcut("@annotation(com.fdkankan.scene.annotation.CheckPermit)")
@@ -88,18 +91,16 @@ public class CheckPermitAspect {
 			}
 		}
 
-		//走到这里代表是用户账号密码登录,如果查到的场景的userid是空,证明相机解绑了,需要返回无权操作
-		if(Objects.isNull(scenePlus.getUserId())){
-			throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
+		//当前用户与场景用户id相同,则拥有最高权限,可以编辑
+		if(Objects.nonNull(scenePlus.getUserId()) && scenePlus.getUserId().equals(user.getId())){
+			return;
 		}
 
-		if(scenePlus.getUserId().equals(user.getId())){
+		//查询当前场景是否是业务授权场景
+		if(jySceneUserAuthService.checkEditBizAuth(num, user.getId().intValue())){
 			return;
 		}
 
-		// TODO: 2023/8/22 查询是否是业务授权用户 如果业务授权用户列表包含当前登录用户id,就放行
-
-
 		//如果不是用户自己的场景,判断是否有协作权限
         Long userId = null;
 		SceneCooperation sceneCooperation = sceneCooperationService.getByNum(num);
@@ -115,4 +116,5 @@ public class CheckPermitAspect {
         }
 	}
 
+
 }

+ 204 - 0
src/main/java/com/fdkankan/scene/Interceptor/CheckViewBizAuthAspect.java

@@ -0,0 +1,204 @@
+package com.fdkankan.scene.Interceptor;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.fdkankan.common.constant.CommonStatus;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.constant.SceneStatus;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.util.Base64Converter;
+import com.fdkankan.common.util.PasswordUtils;
+import com.fdkankan.common.util.SecurityUtil;
+import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.scene.entity.*;
+import com.fdkankan.scene.service.*;
+import com.fdkankan.web.response.ResultData;
+import com.fdkankan.web.user.SSOLoginHelper;
+import com.fdkankan.web.user.SSOUser;
+import com.fdkankan.web.util.WebUtil;
+import lombok.extern.log4j.Log4j2;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.crypto.Cipher;
+import javax.crypto.spec.SecretKeySpec;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.*;
+
+@Log4j2
+@Aspect
+@Component
+@Order(101)
+public class CheckViewBizAuthAspect {
+
+	@Value("${scene.view.encrypt-key:3d8904474ebbdbbd81c5952524dad646}")
+	private String ENCRYPT_KEY;
+
+	@Autowired
+	private SSOLoginHelper ssoLoginHelper;
+	@Autowired
+	private RedisUtil redisUtil;
+	@Autowired
+	private IScenePlusService scenePlusService;
+	@Autowired
+	private ISceneCooperationService sceneCooperationService;
+	@Autowired
+	private IJySceneUserAuthService jySceneUserAuthService;
+	@Autowired
+	private IJySceneAuthService jySceneAuthService;
+	@Autowired
+	private IUserService userService;
+	@Autowired
+	private IJyUserService jyUserService;
+	@Autowired
+	private ISysLogService sysLogService;
+
+
+	@Pointcut("@annotation(com.fdkankan.scene.annotation.CheckViewBizAuth)")
+	public void checkViewBizAuth() {
+	}
+
+	/**
+	 * 前置通知 用于判断用户协作场景是否有协作权限
+	 *
+	 * @param joinPoint
+	 *            切点
+	 * @throws IOException
+	 */
+	@Before("checkViewBizAuth()")
+	public void doBefore(JoinPoint joinPoint) throws Exception {
+		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+		Map<String, Object> params = WebUtil.getParameter(joinPoint, request);
+		String num = (String) params.get("num");
+		String sign = (String) params.get("sign");
+
+		SysLog sysLog = new SysLog();
+		sysLog.setRequestPath("场景展示");
+		sysLog.setUri(request.getRequestURI());
+		sysLog.setMethod(request.getMethod());
+		sysLog.setIp(WebUtil.getIpAddress(request));
+		sysLog.setBrowser(WebUtil.getBrowser(request));
+		sysLog.setOperationType("scene-view");
+		sysLog.setParams(JSON.toJSONString(params));
+
+		Integer errorCode = null;
+		String errorMsg = null;
+		String userName = null, ip = null, timestamp = null;
+		boolean flag = true;
+		if(StrUtil.isNotEmpty(sign)){
+			String[] split = null;
+			try {byte[] raw = ENCRYPT_KEY.getBytes(StandardCharsets.UTF_8);
+				Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
+				SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
+				cipher.init(Cipher.DECRYPT_MODE, skeySpec);
+				byte[] encrypted1 = Base64.getDecoder().decode(sign);
+				byte[] original = cipher.doFinal(encrypted1);
+
+				//字节转换字符串
+				String decode = new String(original, StandardCharsets.UTF_8);
+				split = decode.split("@");
+
+			}catch (Exception e){
+				log.error("签名解密失败", e);
+				flag = false;
+				errorCode = ErrorCode.AUTH_FAIL.code();
+				errorMsg = "签名解密失败";
+			}
+
+			if(split.length == 1){
+				flag = false;
+				errorCode = ErrorCode.AUTH_FAIL.code();
+				errorMsg = "签名参数错误";
+			}
+
+			for (int i = 0; i < split.length; i++){
+				if(i == 0){
+					userName = split[i];
+				}
+				if(i == 1){
+					ip = split[i];
+				}
+				if(i == 2){
+					timestamp = split[i];
+				}
+			}
+
+			String ipAddress = WebUtil.getIpAddress(request);
+			if(StrUtil.isNotEmpty(ip) && !ip.equals(ipAddress)){
+				flag = false;
+				errorCode = ErrorCode.AUTH_FAIL.code();
+				errorMsg = "ip不匹配";
+			}
+
+			if(StrUtil.isNotEmpty(timestamp) && Calendar.getInstance().getTime().after(new Date(Long.valueOf(timestamp) * 1000))){
+				flag = false;
+				errorCode = ErrorCode.AUTH_FAIL.code();
+				errorMsg = "超出访问截止时间";
+			}
+		}else{
+			//查询场景是否业务授权
+			JySceneAuth jySceneAuth = jySceneAuthService.getByNum(num);
+			if(Objects.isNull(jySceneAuth) && jySceneAuth.getAuthType() == 0){
+				//业务授权校验用户名密码
+				userName = (String) params.get("userName");
+				String password = (String) params.get("password");
+				if(StrUtil.isEmpty(userName) || StrUtil.isEmpty(password)){
+					flag = false;
+					errorCode = ErrorCode.PASSWORD_ERROR.code();
+					errorMsg = "账号密码不能为空";
+				}else{
+					//查询用户
+					JyUser jyUser = jyUserService.getByJyNo(userName);
+					JySceneUserAuth jySceneUserAuth = jySceneUserAuthService.getSceneViewAuth(num, jyUser.getId());
+					if(Objects.isNull(jySceneUserAuth)){
+						flag = false;
+						errorCode = ErrorCode.AUTH_FAIL.code();
+						errorMsg = "无权访问";
+					}else if (jySceneUserAuth.getLookEndTime().before(Calendar.getInstance().getTime())){
+						flag = false;
+						errorCode = ErrorCode.AUTH_FAIL.code();
+						errorMsg = "超出访问截止时间";
+					}
+
+					//如果授权校验通过,校验密码是否正确
+					if(flag){
+						User user = userService.findByUserName(userName);
+						//模拟前端密码加密规则生成前端密码
+						password = Base64Converter.decode(Base64Converter.subText(PasswordUtils.decycptPasswordWeb(password)));
+						//解码
+						password = Base64Converter.decode(Base64Converter.subText(password));
+						password = SecurityUtil.MD5(password);
+						//数据库密码比对
+						if(Objects.isNull(user) || !password.equals(user.getPassword())){
+							errorCode = ErrorCode.PASSWORD_ERROR.code();
+							errorMsg = ErrorCode.PASSWORD_ERROR.message();
+						}
+					}
+
+				}
+			}
+		}
+
+		//写入日志
+		sysLog.setUserName(userName);
+		sysLog.setResult(errorMsg);
+		sysLogService.save(sysLog);
+
+		if(!flag){
+			throw new BusinessException(errorCode, errorMsg);
+		}
+
+	}
+
+
+}

+ 111 - 0
src/main/java/com/fdkankan/scene/Interceptor/SaveEditLogAspect.java

@@ -0,0 +1,111 @@
+package com.fdkankan.scene.Interceptor;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.ContentType;
+import com.alibaba.fastjson.JSON;
+import com.fdkankan.common.constant.CommonStatus;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.constant.SceneStatus;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.scene.entity.JyUser;
+import com.fdkankan.scene.entity.SceneCooperation;
+import com.fdkankan.scene.entity.ScenePlus;
+import com.fdkankan.scene.entity.SysLog;
+import com.fdkankan.scene.service.*;
+import com.fdkankan.web.user.SSOLoginHelper;
+import com.fdkankan.web.user.SSOUser;
+import com.fdkankan.web.util.WebUtil;
+import lombok.extern.log4j.Log4j2;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+@Log4j2
+@Aspect
+@Component
+@Order(102)
+public class SaveEditLogAspect {
+
+	@Autowired
+	private SSOLoginHelper ssoLoginHelper;
+	@Autowired
+	private RedisUtil redisUtil;
+	@Autowired
+	private IScenePlusService scenePlusService;
+	@Autowired
+	private ISceneCooperationService sceneCooperationService;
+	@Autowired
+	private IJySceneUserAuthService jySceneUserAuthService;
+	@Autowired
+	private IJyUserService jyUserService;
+	@Autowired
+	private ISysLogService sysLogService;
+
+
+	@Pointcut("@annotation(com.fdkankan.scene.annotation.SaveLog)")
+	public void saveEditLogAspect() {
+	}
+
+	/**
+	 * 前置通知 用于判断用户协作场景是否有协作权限
+	 *
+	 * @param joinPoint
+	 *            切点
+	 * @throws IOException
+	 */
+	@Around("saveEditLogAspect()")
+	public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
+		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+		// 读取session中的用户
+		SSOUser user = ssoLoginHelper.getSsoUser(request.getHeader("token"));
+		if(Objects.isNull(user)){
+			throw new BusinessException(ErrorCode.TOKEN_NOT_FOUND);
+		}
+
+		//获取请求参数
+		Map<String, Object> params = WebUtil.getParameter(joinPoint, request);
+
+		//放行
+		Object proceed = joinPoint.proceed();
+
+		//场景编辑接口写入日志
+		JyUser jyUser = jyUserService.getByUserId(user.getId().intValue());
+		SysLog sysLog = new SysLog();
+		sysLog.setUserId(jyUser.getSysUserId());
+		sysLog.setUserName(jyUser.getRyNo());
+		sysLog.setNickName(jyUser.getRyNickName());
+		sysLog.setRequestPath("场景编辑");
+		sysLog.setUri(request.getRequestURI());
+		sysLog.setMethod(request.getMethod());
+		if(CollUtil.isNotEmpty(params)){
+			sysLog.setParams(JSON.toJSONString(params));
+		}
+		sysLog.setIp(WebUtil.getIpAddress(request));
+		sysLog.setBrowser(WebUtil.getBrowser(request));
+		sysLog.setResult(JSON.toJSONString(proceed));
+		sysLog.setOperationType("scene-edit");
+		sysLogService.save(sysLog);
+
+		return proceed;
+
+
+	}
+
+}

+ 10 - 0
src/main/java/com/fdkankan/scene/annotation/CheckViewBizAuth.java

@@ -0,0 +1,10 @@
+package com.fdkankan.scene.annotation;
+
+import java.lang.annotation.*;
+
+@Target({ElementType.PARAMETER, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface CheckViewBizAuth {
+    String description() default "";
+}

+ 10 - 0
src/main/java/com/fdkankan/scene/annotation/SaveLog.java

@@ -0,0 +1,10 @@
+package com.fdkankan.scene.annotation;
+
+import java.lang.annotation.*;
+
+@Target({ElementType.PARAMETER, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface SaveLog {
+    String description() default "";
+}

+ 21 - 0
src/main/java/com/fdkankan/scene/controller/JySceneAuthController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.scene.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-30
+ */
+@RestController
+@RequestMapping("/scene/jySceneAuth")
+public class JySceneAuthController {
+
+}
+

+ 21 - 0
src/main/java/com/fdkankan/scene/controller/JySceneUserAuthController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.scene.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@RestController
+@RequestMapping("/scene/jySceneUserAuth")
+public class JySceneUserAuthController {
+
+}
+

+ 21 - 0
src/main/java/com/fdkankan/scene/controller/JyUserController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.scene.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@RestController
+@RequestMapping("/scene/jyUser")
+public class JyUserController {
+
+}
+

+ 3 - 2
src/main/java/com/fdkankan/scene/controller/SceneController.java

@@ -2,12 +2,12 @@ package com.fdkankan.scene.controller;
 
 
 import com.fdkankan.common.constant.SceneInfoReqType;
-import com.fdkankan.scene.annotation.CheckPermit;
+import com.fdkankan.scene.annotation.CheckViewBizAuth;
+import com.fdkankan.scene.annotation.SaveLog;
 import com.fdkankan.scene.service.ISceneService;
 import com.fdkankan.web.response.ResultData;
 import com.fdkankan.scene.service.ISceneEditInfoService;
 import com.fdkankan.scene.service.IScenePlusService;
-import com.fdkankan.scene.vo.BaseSceneParamVO;
 import com.fdkankan.scene.vo.SceneCheckKeyParamVO;
 import com.fdkankan.scene.vo.SceneInfoParamVO;
 import com.fdkankan.scene.vo.SceneInfoVO;
@@ -45,6 +45,7 @@ public class SceneController extends BaseController {
      * @param param
      * @return com.fdkankan.scene.vo.SceneInfoVO
      **/
+    @CheckViewBizAuth
     @GetMapping(value = "/getInfo")
     public SceneInfoVO getInfo(@Validated SceneInfoParamVO param) throws Exception{
         param.setReqType(SceneInfoReqType.VIEW.code());

+ 41 - 0
src/main/java/com/fdkankan/scene/controller/SceneEditController.java

@@ -4,6 +4,7 @@ import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.SceneInfoReqType;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.scene.annotation.CheckPermit;
+import com.fdkankan.scene.annotation.SaveLog;
 import com.fdkankan.scene.service.*;
 import com.fdkankan.scene.vo.*;
 import com.fdkankan.web.controller.BaseController;
@@ -63,6 +64,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/base/save")
     public SceneEditInfoVO saveScene(@RequestBody @Validated SceneEditInfoParamVO param){
@@ -78,6 +80,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/publicScene")
     public ResultData publicScene(@RequestBody @Validated SceneEditInfoParamVO param) throws Exception {
@@ -93,6 +96,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/saveInitialPage")
     public ResultData saveInitialPage(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception {
@@ -108,6 +112,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/tag/save")
     public ResultData saveTag(@RequestBody @Validated SaveTagsParamVO param) throws Exception {
@@ -123,6 +128,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/tag/delete")
     public ResultData deleteTag(@RequestBody @Validated DeleteHotParamVO param) throws Exception {
@@ -153,6 +159,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/icons/delete")
     public ResultData deleteIcons(@RequestBody @Validated DeleteHotIconParamVO param) throws Exception {
@@ -168,6 +175,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/saveRoam")
     public ResultData saveRoam(@RequestBody @Validated BaseDataParamVO param) throws Exception {
@@ -183,6 +191,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/saveTagsVisible")
     public ResultData saveTagsVisible(@RequestBody @Validated SaveTagsVisibleParamVO param) throws Exception {
@@ -214,6 +223,7 @@ public class SceneEditController extends BaseController {
      * @param file
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/uploadModel")
     public ResultData uploadObjAndImg(@RequestParam("num") String num, @RequestParam("file") MultipartFile file) throws Exception {
@@ -232,6 +242,7 @@ public class SceneEditController extends BaseController {
      * @param file 
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/linkPan/upload")
     public ResultData uploadLinkPan(
@@ -251,6 +262,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/linkPan/save")
     public ResultData saveLinkPan(@RequestBody @Validated SaveLinkPanParamVO param) throws Exception{
@@ -266,6 +278,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/linkPan/delete")
     public ResultData deleteLinkPan(@RequestBody @Validated DeleteLinkPanParamVO param) throws Exception {
@@ -281,6 +294,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/styles/delete")
     public ResultData deleteStyles(@RequestBody @Validated DeleteStylesParamVO param) throws Exception {
@@ -311,6 +325,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/cad/save")
     public ResultData saveCad(@RequestBody @Validated BaseDataParamVO param) throws Exception{
@@ -326,6 +341,7 @@ public class SceneEditController extends BaseController {
      * @param num
      * @return
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/cad/reset")
     public ResultData resetCad(@RequestParam(value = "num") String num) throws Exception {
@@ -340,6 +356,7 @@ public class SceneEditController extends BaseController {
      * @date 2022/2/16
      * @return
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/cad/rename")
     public ResultData renameCad(@RequestBody @Validated RenameCadParamVO param) throws IOException {
@@ -372,6 +389,7 @@ public class SceneEditController extends BaseController {
      * @param file
      * @return java.util.List<java.lang.String>
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/uploadPanorama")
     public ResultData uploadPanorama(@RequestParam(value = "num") String num,
@@ -402,6 +420,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/video/box/save")
     public ResultData saveVideoBox(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception {
@@ -417,6 +436,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/video/box/delete")
     public ResultData deleteVideoBox(@RequestBody @Validated DeleteSidParamVO param) throws Exception {
@@ -432,6 +452,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/photo/box/save")
     public ResultData savePhotoBox(@RequestBody @Validated BaseDataParamVO param) throws Exception {
@@ -447,6 +468,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/photo/box/delete")
     public ResultData deletePhotoBox(@RequestBody @Validated DeleteSidParamVO param) throws Exception {
@@ -480,6 +502,7 @@ public class SceneEditController extends BaseController {
      * @param file
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/uploadBallScreenVideo")
     public ResultData uploadBallScreenVideo(
@@ -539,6 +562,7 @@ public class SceneEditController extends BaseController {
      * @param paramVO
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping("/delete/file")
     public ResultData delete(@RequestBody @Validated DeleteFileParamVO paramVO) throws Exception{
@@ -612,6 +636,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/tour/save")
     public ResultData saveTour(@RequestBody @Validated BaseDataParamVO param) throws Exception{
@@ -627,12 +652,14 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/tour/delete")
     public ResultData deleteTour(@RequestBody @Validated BaseSceneParamVO param) throws Exception{
         return sceneEditService.deleteTour(param);
     }
 
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/tour/video/upload")
     public ResultData uploadTourVideo(@RequestParam("num") String num, @RequestParam("file") MultipartFile file) throws Exception {
@@ -654,6 +681,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/mosaics/add")
     public ResultData addMosaics(@RequestBody @Validated BaseDataParamVO param) throws Exception{
@@ -669,6 +697,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/mosaics/delete")
     public ResultData deleteMosaics(@RequestBody @Validated DeleteMosaicParamVO param) throws Exception{
@@ -699,6 +728,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/waterMark/add")
     public ResultData addWaterMark(@RequestBody @Validated BaseFileParamVO param) throws Exception{
@@ -714,6 +744,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/waterMark/delete")
     public ResultData deleteWaterMark(@RequestBody @Validated BaseFileParamVO param) throws Exception{
@@ -726,6 +757,7 @@ public class SceneEditController extends BaseController {
      * @return
      * @throws Exception
      */
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/filter/save")
     public ResultData saveFilter(@RequestBody @Validated SaveFiltersParamVO param) throws Exception{
@@ -753,12 +785,14 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping("/surveillance/save")
     ResultData saveSurveillance(@RequestBody @Validated SurveillanceParamVO param){
         return surveillanceService.saveSurveillance(param);
     }
 
+    @SaveLog
     @CheckPermit
     @PostMapping("/surveillance/delete")
     public ResultData deleteSurveillance(@RequestBody @Validated BaseSidParamVO param){
@@ -782,6 +816,7 @@ public class SceneEditController extends BaseController {
      * @param file
      * @return com.fdkankan.common.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping("/model/box/upload")
     public ResultData uploadBoxModel(
@@ -800,6 +835,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping("/model/box/save")
     public ResultData saveBoxModel(@RequestBody @Validated BaseJsonDataParamVO param) throws Exception {
@@ -815,6 +851,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @SaveLog
     @CheckPermit
     @PostMapping("/model/box/delete")
     public ResultData delBoxModel(@RequestBody @Validated DeleteSidParamVO param) throws Exception {
@@ -825,6 +862,7 @@ public class SceneEditController extends BaseController {
      * 上传二维码和分享的logo
      * @return
      */
+    @SaveLog
     @CheckPermit
     @PostMapping(value = "/uploadShareLogo")
     public ResultData uploadShareLogo(@RequestParam("num") String num, @RequestParam("file") MultipartFile file) throws Exception {
@@ -861,6 +899,7 @@ public class SceneEditController extends BaseController {
      * @return
      * @throws Exception
      */
+    @SaveLog
     @CheckPermit
     @PostMapping("/billboards/save")
     public ResultData saveBillboards(@RequestBody @Validated BaseJsonArrayParamVO param) throws Exception {
@@ -873,6 +912,7 @@ public class SceneEditController extends BaseController {
      * @return
      * @throws Exception
      */
+    @SaveLog
     @CheckPermit
     @PostMapping("/billboards/delete")
     public ResultData deleteBillboards(@RequestBody @Validated DeleteSidListParamVO param) throws Exception {
@@ -897,6 +937,7 @@ public class SceneEditController extends BaseController {
      * @return
      * @throws Exception
      */
+    @SaveLog
     @CheckPermit
     @PostMapping("/billboards/styles/delete")
     public ResultData deleteBillboards(@RequestBody @Validated DeleteStylesParamVO param) throws Exception {

+ 21 - 0
src/main/java/com/fdkankan/scene/controller/SceneUserAuthController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.scene.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@RestController
+@RequestMapping("/scene/sceneUserAuth")
+public class SceneUserAuthController {
+
+}
+

+ 21 - 0
src/main/java/com/fdkankan/scene/controller/SysLogController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.scene.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@RestController
+@RequestMapping("/scene/sysLog")
+public class SysLogController {
+
+}
+

+ 21 - 0
src/main/java/com/fdkankan/scene/controller/UserController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.scene.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@RestController
+@RequestMapping("/scene/user")
+public class UserController {
+
+}
+

+ 54 - 0
src/main/java/com/fdkankan/scene/entity/JySceneAuth.java

@@ -0,0 +1,54 @@
+package com.fdkankan.scene.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-30
+ */
+@Getter
+@Setter
+@TableName("jy_scene_auth")
+public class JySceneAuth implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 场景码
+     */
+    @TableField("num")
+    private String num;
+
+    /**
+     * 0授权用户,1公开浏览
+     */
+    @TableField("auth_type")
+    private Integer authType;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A", delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 93 - 0
src/main/java/com/fdkankan/scene/entity/JySceneUserAuth.java

@@ -0,0 +1,93 @@
+package com.fdkankan.scene.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@Getter
+@Setter
+@TableName("jy_scene_user_auth")
+public class JySceneUserAuth implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 场景码
+     */
+    @TableField("num")
+    private String num;
+
+    @TableField("jy_user_id")
+    private Integer jyUserId;
+
+    /**
+     * 是否有浏览权限0否,1不限时查看,2限时查看
+     */
+    @TableField("look_auth")
+    private Integer lookAuth;
+
+    /**
+     * 是否有编辑权限0否,1不限时编辑,2限时编辑
+     */
+    @TableField("edit_auth")
+    private Integer editAuth;
+
+    /**
+     * 浏览截止时间
+     */
+    @TableField("look_end_time")
+    private Date lookEndTime;
+
+    /**
+     * 编辑截止时间
+     */
+    @TableField("edit_end_time")
+    private Date editEndTime;
+
+    /**
+     * 是否有授权他人权限,0否,1是
+     */
+    @TableField("is_author")
+    private Integer isAuthor;
+
+    /**
+     * 是否有授权他人查看权限 0否,1是
+     */
+    @TableField("can_auth_look")
+    private Integer canAuthLook;
+
+    /**
+     * 是否有授权他人编辑权限 0 否,1是
+     */
+    @TableField("can_edit_look")
+    private Integer canEditLook;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A", delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 69 - 0
src/main/java/com/fdkankan/scene/entity/JyUser.java

@@ -0,0 +1,69 @@
+package com.fdkankan.scene.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@Getter
+@Setter
+@TableName("jy_user")
+public class JyUser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 人员id
+     */
+    @TableField("ry_id")
+    private String ryId;
+
+    /**
+     * 密码
+     */
+    @TableField("ry_password")
+    private String ryPassword;
+
+    /**
+     * 编号
+     */
+    @TableField("ry_no")
+    private String ryNo;
+
+    @TableField("ry_nick_name")
+    private String ryNickName;
+
+    @TableField("user_id")
+    private Integer userId;
+
+    @TableField("sys_user_id")
+    private Integer sysUserId;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A", delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 75 - 0
src/main/java/com/fdkankan/scene/entity/SysLog.java

@@ -0,0 +1,75 @@
+package com.fdkankan.scene.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@Getter
+@Setter
+@TableName("sys_log")
+public class SysLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("user_id")
+    private Integer userId;
+
+    @TableField("user_name")
+    private String userName;
+
+    @TableField("nick_name")
+    private String nickName;
+
+    @TableField("request_path")
+    private String requestPath;
+
+    @TableField("uri")
+    private String uri;
+
+    @TableField("method")
+    private String method;
+
+    @TableField("params")
+    private String params;
+
+    @TableField("ip")
+    private String ip;
+
+    @TableField("browser")
+    private String browser;
+
+    @TableField("result")
+    private String result;
+
+    @TableField("operation_type")
+    private String operationType;
+
+    @TableField("rec_status")
+    @TableLogic
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 4 - 4
src/main/java/com/fdkankan/scene/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir");
 
         generate(path,"scene", getTables(new String[]{
-                "t_scene_cold_storage"
+                "jy_scene_auth"
         }));
 
 //        generate(path,"goods", getTables(new String[]{
@@ -46,8 +46,8 @@ public class AutoGenerate {
 
 
     public static void  generate(String path,String moduleName,  List<String> tables){
-        FastAutoGenerator.create("jdbc:mysql://120.24.144.164:3306/4dkankan_v4",
-            "root","4Dage@4Dage#@168")
+        FastAutoGenerator.create("jdbc:mysql://192.168.0.25:3306/4dkankan_v4",
+            "root","4dkk2023cuikuan%")
                 .globalConfig(builder -> {
                     builder.author("")               //作者
                             .outputDir(path+"\\src\\main\\java")    //输出路径(写到java目录)
@@ -70,7 +70,7 @@ public class AutoGenerate {
                 })
                 .strategyConfig(builder -> {
                     builder.addInclude(tables)
-                            .addTablePrefix("t_")
+//                            .addTablePrefix("t_")
 
                             .serviceBuilder()
                             .formatServiceFileName("I%sService")

+ 18 - 0
src/main/java/com/fdkankan/scene/mapper/IJySceneAuthMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.scene.mapper;
+
+import com.fdkankan.scene.entity.JySceneAuth;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-30
+ */
+@Mapper
+public interface IJySceneAuthMapper extends BaseMapper<JySceneAuth> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/scene/mapper/IJySceneUserAuthMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.scene.mapper;
+
+import com.fdkankan.scene.entity.JySceneUserAuth;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@Mapper
+public interface IJySceneUserAuthMapper extends BaseMapper<JySceneUserAuth> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/scene/mapper/IJyUserMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.scene.mapper;
+
+import com.fdkankan.scene.entity.JyUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@Mapper
+public interface IJyUserMapper extends BaseMapper<JyUser> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/scene/mapper/ISysLogMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.scene.mapper;
+
+import com.fdkankan.scene.entity.SysLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@Mapper
+public interface ISysLogMapper extends BaseMapper<SysLog> {
+
+}

+ 2 - 1
src/main/java/com/fdkankan/scene/service/IJmgaService.java

@@ -2,10 +2,11 @@ package com.fdkankan.scene.service;
 
 import com.fdkankan.scene.vo.SceneInfoParamVO;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
 
 public interface IJmgaService {
 
-    public Map<String, Object> checkSceneViewGign(SceneInfoParamVO param) throws Exception;
+    public boolean checkSceneViewGign(SceneInfoParamVO param, HttpServletRequest request) throws Exception;
 
 }

+ 18 - 0
src/main/java/com/fdkankan/scene/service/IJySceneAuthService.java

@@ -0,0 +1,18 @@
+package com.fdkankan.scene.service;
+
+import com.fdkankan.scene.entity.JySceneAuth;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-30
+ */
+public interface IJySceneAuthService extends IService<JySceneAuth> {
+
+    JySceneAuth getByNum(String num);
+
+}

+ 20 - 0
src/main/java/com/fdkankan/scene/service/IJySceneUserAuthService.java

@@ -0,0 +1,20 @@
+package com.fdkankan.scene.service;
+
+import com.fdkankan.scene.entity.JySceneUserAuth;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+public interface IJySceneUserAuthService extends IService<JySceneUserAuth> {
+
+    boolean checkEditBizAuth(String num, Integer userId);
+
+    JySceneUserAuth getSceneViewAuth(String num, Integer jyUserId);
+
+}

+ 20 - 0
src/main/java/com/fdkankan/scene/service/IJyUserService.java

@@ -0,0 +1,20 @@
+package com.fdkankan.scene.service;
+
+import com.fdkankan.scene.entity.JyUser;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+public interface IJyUserService extends IService<JyUser> {
+
+    JyUser getByUserId(Integer userId);
+
+    JyUser getByJyNo(String jyNo);
+
+}

+ 16 - 0
src/main/java/com/fdkankan/scene/service/ISysLogService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.scene.service;
+
+import com.fdkankan.scene.entity.SysLog;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+public interface ISysLogService extends IService<SysLog> {
+
+}

+ 6 - 11
src/main/java/com/fdkankan/scene/service/impl/JmgaServiceImpl.java

@@ -33,16 +33,13 @@ public class JmgaServiceImpl implements IJmgaService {
     private String ENCRYPT_KEY;
 
     @Override
-    public Map<String, Object> checkSceneViewGign(SceneInfoParamVO param, HttpServletRequest request) throws Exception{
+    public boolean checkSceneViewGign(SceneInfoParamVO param, HttpServletRequest request) throws Exception{
 
-        Map<String, Object> result = new HashMap<>();
         String sign = param.getSign();
         if(StrUtil.isEmpty(sign)){
-            result.put("flag", true);
-            return result;
+            return false;
         }
         String userName = null, ip = null, timestamp = null;
-        result.put("flag", false);
         String[] split = null;
         try {byte[] raw = ENCRYPT_KEY.getBytes(StandardCharsets.UTF_8);
             Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
@@ -61,7 +58,7 @@ public class JmgaServiceImpl implements IJmgaService {
         }
 
         if(split.length == 1){
-            return result;
+            throw new BusinessException(ErrorCode.AUTH_FAIL.code(), "签名参数错误");
         }
 
         for (int i = 0; i < split.length; i++){
@@ -75,19 +72,17 @@ public class JmgaServiceImpl implements IJmgaService {
                 timestamp = split[i];
             }
         }
-        result.put("userName", userName);
 
         String ipAddress = WebUtil.getIpAddress(request);
         if(StrUtil.isNotEmpty(ip) && !ip.equals(ipAddress)){
-            return result;
+            throw new BusinessException(ErrorCode.AUTH_FAIL.code(), "ip不匹配");
         }
 
         if(StrUtil.isNotEmpty(timestamp) && Calendar.getInstance().getTime().after(new Date(Long.valueOf(timestamp) * 1000))){
-            return result;
+            throw new BusinessException(ErrorCode.AUTH_FAIL.code(), "超出访问截止时间");
         }
 
-        result.put("flag", true);
-        return result;
+        return true;
     }
 
     public static void main(String[] args) throws NoSuchPaddingException, NoSuchAlgorithmException, BadPaddingException, IllegalBlockSizeException, InvalidKeyException {

+ 25 - 0
src/main/java/com/fdkankan/scene/service/impl/JySceneAuthServiceImpl.java

@@ -0,0 +1,25 @@
+package com.fdkankan.scene.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.scene.entity.JySceneAuth;
+import com.fdkankan.scene.mapper.IJySceneAuthMapper;
+import com.fdkankan.scene.service.IJySceneAuthService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-30
+ */
+@Service
+public class JySceneAuthServiceImpl extends ServiceImpl<IJySceneAuthMapper, JySceneAuth> implements IJySceneAuthService {
+
+    @Override
+    public JySceneAuth getByNum(String num) {
+        return this.getOne(new LambdaQueryWrapper<JySceneAuth>().eq(JySceneAuth::getNum, num));
+    }
+}

+ 44 - 0
src/main/java/com/fdkankan/scene/service/impl/JySceneUserAuthServiceImpl.java

@@ -0,0 +1,44 @@
+package com.fdkankan.scene.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.scene.entity.JySceneUserAuth;
+import com.fdkankan.scene.mapper.IJySceneUserAuthMapper;
+import com.fdkankan.scene.service.IJySceneUserAuthService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.Calendar;
+import java.util.Objects;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@Service
+public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapper, JySceneUserAuth> implements IJySceneUserAuthService {
+
+    @Override
+    public boolean checkEditBizAuth(String num, Integer userId) {
+        JySceneUserAuth jySceneUserAuth = this.getOne(new LambdaQueryWrapper<JySceneUserAuth>()
+                .eq(JySceneUserAuth::getNum, num)
+                .eq(JySceneUserAuth::getJyUserId, userId).in(JySceneUserAuth::getEditAuth, 1, 2));
+        if(Objects.isNull(jySceneUserAuth)){
+            return false;
+        }
+        //如果超出编辑时限,无权编辑场景
+        if(jySceneUserAuth.getEditAuth() == 2 && Calendar.getInstance().getTime().before(jySceneUserAuth.getEditEndTime())){
+            return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    public JySceneUserAuth getSceneViewAuth(String num, Integer jyUserId) {
+        return this.getOne(new LambdaQueryWrapper<JySceneUserAuth>().eq(JySceneUserAuth::getJyUserId, jyUserId).eq(JySceneUserAuth::getNum,num).in(JySceneUserAuth::getLookAuth, 1,2));
+    }
+}

+ 30 - 0
src/main/java/com/fdkankan/scene/service/impl/JyUserServiceImpl.java

@@ -0,0 +1,30 @@
+package com.fdkankan.scene.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.scene.entity.JyUser;
+import com.fdkankan.scene.mapper.IJyUserMapper;
+import com.fdkankan.scene.service.IJyUserService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@Service
+public class JyUserServiceImpl extends ServiceImpl<IJyUserMapper, JyUser> implements IJyUserService {
+
+    @Override
+    public JyUser getByUserId(Integer userId) {
+        return this.getOne(new LambdaQueryWrapper<JyUser>().eq(JyUser::getUserId, userId));
+    }
+
+    @Override
+    public JyUser getByJyNo(String jyNo) {
+        return this.getOne(new LambdaQueryWrapper<JyUser>().eq(JyUser::getRyNo, jyNo));
+    }
+}

+ 9 - 19
src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -2,6 +2,7 @@ package com.fdkankan.scene.service.impl;
 import cn.hutool.core.util.CharsetUtil;
 import com.fdkankan.common.constant.*;
 import com.fdkankan.common.util.FileSizeUtil;
+import com.fdkankan.scene.service.*;
 import com.fdkankan.scene.vo.SaveFiltersParamVO;
 
 import cn.hutool.core.bean.BeanUtil;
@@ -48,18 +49,6 @@ import com.fdkankan.scene.entity.SceneEditInfoExt;
 import com.fdkankan.scene.entity.ScenePlus;
 import com.fdkankan.scene.entity.ScenePlusExt;
 import com.fdkankan.scene.mapper.ISceneEditInfoMapper;
-import com.fdkankan.scene.service.ICameraDetailService;
-import com.fdkankan.scene.service.ICompanyService;
-import com.fdkankan.scene.service.ISceneAsynOperLogService;
-import com.fdkankan.scene.service.ISceneDataDownloadService;
-import com.fdkankan.scene.service.ISceneEditControlsService;
-import com.fdkankan.scene.service.ISceneEditInfoExtService;
-import com.fdkankan.scene.service.ISceneEditInfoService;
-import com.fdkankan.scene.service.IScenePlusExtService;
-import com.fdkankan.scene.service.IScenePlusService;
-import com.fdkankan.scene.service.ISceneProService;
-import com.fdkankan.scene.service.ISceneUploadService;
-import com.fdkankan.scene.service.ISurveillanceService;
 import com.fdkankan.scene.vo.BallScreenVideoParamVO;
 import com.fdkankan.scene.vo.BaseDataParamVO;
 import com.fdkankan.scene.vo.BaseFileParamVO;
@@ -165,6 +154,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     private ISurveillanceService surveillanceService;
     @Autowired
     private ISceneAsynOperLogService sceneAsynOperLogService;
+    @Autowired
+    private IJmgaService jmgaService;
 
     @Transactional
     @Override
@@ -454,7 +445,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
                 return this.getSceneInfo4Edit(param.getNum());
             //如果是查看页面请求,查redis
             case VIEW:
-                return this.getSceneInfo4View(param);
+                return this.getSceneInfo4View(param, request);
         }
         return null;
     }
@@ -588,12 +579,6 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     private SceneInfoVO  getSceneInfo4View(SceneInfoParamVO param, HttpServletRequest request) throws Exception{
 
         String num = param.getNum();
-        // TODO: 2023/8/18 优先校验加密串,如果加密串有且校验通过,直接返回场景数据
-        String sign = param.getSign();
-
-
-        // TODO: 2023/8/18 判断是否有业务授权限制,如果有且账号密码空或者不正确,需要返回需要登录表示
-
 
         //校验场景是否为空、封存、计算中
         ScenePlus scenePlus = scenePlusService.checkSceneAvail(num);
@@ -630,6 +615,11 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             controls.setShowBillboardTitle(CommonStatus.YES.code().intValue());
         }
 
+        //江门公安需求,如果是业务授权或者带有签名的链接进来的场景,不需要校验场景查看密码
+        if(StrUtil.isNotEmpty(param.getSign()) || StrUtil.isNotEmpty(param.getUserName())){
+            controls.setShowLock(CommonStatus.NO.code().intValue());
+        }
+
         return sceneInfoVO;
     }
 

+ 5 - 5
src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java

@@ -18,7 +18,7 @@ import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.bean.BodySegmentStatusBean;
 import com.fdkankan.scene.service.ISceneService;
-import com.fdkankan.scene.util.OssBodySegmentUtil;
+//import com.fdkankan.scene.util.OssBodySegmentUtil;
 import com.fdkankan.web.response.ResultData;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -49,8 +49,8 @@ public class SceneServiceImpl implements ISceneService {
     @Value("${oss.bodySegment.point:oss-cn-shanghai.aliyuncs.com}")
     private String bodySegmentHost;
 
-    @Autowired
-    private OssBodySegmentUtil ossBodySegmentUtil;
+//    @Autowired
+//    private OssBodySegmentUtil ossBodySegmentUtil;
     @Autowired
     private RedisUtil redisUtil;
     @Autowired
@@ -99,7 +99,7 @@ public class SceneServiceImpl implements ISceneService {
         ImgUtil.scale(new File(tempFile.getPath()), new File(tempFile.getPath()), scale);
 
         String orgImgOssPath = "body_segment/original/" + tempFile.getName();
-        ossBodySegmentUtil.uploadOss(tempFile.getPath(), orgImgOssPath);
+//        ossBodySegmentUtil.uploadOss(tempFile.getPath(), orgImgOssPath);
 //        fYunFileService.uploadFile(bodySegmentBucket, tempFile.getPath(), orgImgOssPath);
 
         BodySegmentStatusBean bodySegmentStatusBean = BodySegmentStatusBean.builder().uuid(uuid).status(CommonOperStatus.WAITING.code()).build();
@@ -134,7 +134,7 @@ public class SceneServiceImpl implements ISceneService {
                     DateExtUtil.format(Calendar.getInstance().getTime(), DateExtUtil.dateStyle6);
             String fileName = uuid + ".png";
             String imgPath = dir + "/" + fileName;
-            ossBodySegmentUtil.extracted(imgUrl, dir, fileName);
+//            ossBodySegmentUtil.extracted(imgUrl, dir, fileName);
             if(!FileUtil.exist(imgPath)){
                 throw new Exception("提取图片失败");
             }

+ 20 - 0
src/main/java/com/fdkankan/scene/service/impl/SysLogServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.scene.service.impl;
+
+import com.fdkankan.scene.entity.SysLog;
+import com.fdkankan.scene.mapper.ISysLogMapper;
+import com.fdkankan.scene.service.ISysLogService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-08-29
+ */
+@Service
+public class SysLogServiceImpl extends ServiceImpl<ISysLogMapper, SysLog> implements ISysLogService {
+
+}

+ 98 - 98
src/main/java/com/fdkankan/scene/util/OssBodySegmentUtil.java

@@ -1,98 +1,98 @@
-package com.fdkankan.scene.util;
-
-import cn.hutool.core.io.FileUtil;
-import cn.hutool.http.HttpUtil;
-import com.aliyun.imageseg20191230.models.SegmentBodyResponse;
-import com.aliyun.oss.OSS;
-import com.aliyun.oss.OSSClientBuilder;
-import com.aliyun.tea.TeaException;
-import com.fdkankan.common.util.FileUtils;
-import com.fdkankan.scene.httpclient.MyClient;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cloud.context.config.annotation.RefreshScope;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.io.File;
-
-@Slf4j
-@Component
-@RefreshScope
-public class OssBodySegmentUtil {
-
-    @Value("${oss.bodySegment.point:oss-cn-shanghai.aliyuncs.com}")
-    private String endPoint;
-
-    @Value("${oss.bodySegment.imagesegPoint:imageseg.cn-shanghai.aliyuncs.com}")
-    private String imagesegEndPoint;
-
-    @Value("${fyun.key}")
-    private String accessKeyId;
-
-    @Value("${fyun.secret}")
-    private String accessKeySecret;
-
-    @Value("${oss.bodySegment.bucket:4dkankan-huadong}")
-    private String bucket;
-
-    @Resource
-    private MyClient myClient;
-
-    public void uploadOss(String filePath, String key){
-        OSS ossClient = new OSSClientBuilder().build(endPoint, accessKeyId, accessKeySecret);
-        try {
-            File file = new File(filePath);
-            if (!file.exists()) {
-                log.error("要上传的文件不存在:" + filePath);
-                return;
-            }
-            ossClient.putObject(bucket, key, new File(filePath));
-        } catch (Exception e) {
-            log.error(e.toString() + filePath);
-        } finally {
-            ossClient.shutdown();
-        }
-    }
-
-    public void extracted(String imageUrl, String dir, String fileName) throws Exception {
-        try {
-            com.aliyun.imageseg20191230.Client client = this.createClient();
-            com.aliyun.imageseg20191230.models.SegmentBodyRequest segmentBodyRequest =
-                    new com.aliyun.imageseg20191230.models.SegmentBodyRequest().setImageURL(imageUrl);
-            com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
-            // 复制代码运行请自行打印 API 的返回值
-            SegmentBodyResponse segmentBodyResponse = client.segmentBodyWithOptions(segmentBodyRequest, runtime);
-            String imageURL = segmentBodyResponse.getBody().getData().getImageURL();
-            log.info("人体抠图imageURL:{}", imageURL);
-            myClient.downloadFile(imageURL, dir, fileName);
-        }catch (Exception e){
-            log.error("人体抠图失败,imageUrl:" + imageUrl, e);
-            myClient.downloadFile(imageUrl, dir, fileName);
-        }
-
-    }
-
-    public static void main(String[] args) {
-        FileUtils.downLoadFromUrl("http://vibktprfx-prod-prod-damo-eas-cn-shanghai.oss-cn-shanghai.aliyuncs.com/segment-body/2023-02-24/5d44fe44-308c-44c3-8e1d-2d4cbe601f86/image.png?Expires=1677208715&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRpDvh1&Signature=4ZyzaOz6W1nBD9s3KQuFN10c%2BPw%3D",
-                "1.png","D:\\test");
-    }
-
-    /**
-     * 使用AK&SK初始化账号Client
-     * @return Client
-     * @throws Exception
-     */
-    public com.aliyun.imageseg20191230.Client createClient() throws Exception {
-        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
-                // 必填,您的 AccessKey ID
-                .setAccessKeyId(accessKeyId)
-                // 必填,您的 AccessKey Secret
-                .setAccessKeySecret(accessKeySecret);
-        // 访问的域名
-        config.endpoint = this.imagesegEndPoint;
-        return new com.aliyun.imageseg20191230.Client(config);
-    }
-
-}
+//package com.fdkankan.scene.util;
+//
+//import cn.hutool.core.io.FileUtil;
+//import cn.hutool.http.HttpUtil;
+//import com.aliyun.imageseg20191230.models.SegmentBodyResponse;
+//import com.aliyun.oss.OSS;
+//import com.aliyun.oss.OSSClientBuilder;
+//import com.aliyun.tea.TeaException;
+//import com.fdkankan.common.util.FileUtils;
+//import com.fdkankan.scene.httpclient.MyClient;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.cloud.context.config.annotation.RefreshScope;
+//import org.springframework.stereotype.Component;
+//
+//import javax.annotation.Resource;
+//import java.io.File;
+//
+//@Slf4j
+//@Component
+//@RefreshScope
+//public class OssBodySegmentUtil {
+//
+//    @Value("${oss.bodySegment.point:oss-cn-shanghai.aliyuncs.com}")
+//    private String endPoint;
+//
+//    @Value("${oss.bodySegment.imagesegPoint:imageseg.cn-shanghai.aliyuncs.com}")
+//    private String imagesegEndPoint;
+//
+//    @Value("${fyun.key}")
+//    private String accessKeyId;
+//
+//    @Value("${fyun.secret}")
+//    private String accessKeySecret;
+//
+//    @Value("${oss.bodySegment.bucket:4dkankan-huadong}")
+//    private String bucket;
+//
+//    @Resource
+//    private MyClient myClient;
+//
+//    public void uploadOss(String filePath, String key){
+//        OSS ossClient = new OSSClientBuilder().build(endPoint, accessKeyId, accessKeySecret);
+//        try {
+//            File file = new File(filePath);
+//            if (!file.exists()) {
+//                log.error("要上传的文件不存在:" + filePath);
+//                return;
+//            }
+//            ossClient.putObject(bucket, key, new File(filePath));
+//        } catch (Exception e) {
+//            log.error(e.toString() + filePath);
+//        } finally {
+//            ossClient.shutdown();
+//        }
+//    }
+//
+//    public void extracted(String imageUrl, String dir, String fileName) throws Exception {
+//        try {
+//            com.aliyun.imageseg20191230.Client client = this.createClient();
+//            com.aliyun.imageseg20191230.models.SegmentBodyRequest segmentBodyRequest =
+//                    new com.aliyun.imageseg20191230.models.SegmentBodyRequest().setImageURL(imageUrl);
+//            com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
+//            // 复制代码运行请自行打印 API 的返回值
+//            SegmentBodyResponse segmentBodyResponse = client.segmentBodyWithOptions(segmentBodyRequest, runtime);
+//            String imageURL = segmentBodyResponse.getBody().getData().getImageURL();
+//            log.info("人体抠图imageURL:{}", imageURL);
+//            myClient.downloadFile(imageURL, dir, fileName);
+//        }catch (Exception e){
+//            log.error("人体抠图失败,imageUrl:" + imageUrl, e);
+//            myClient.downloadFile(imageUrl, dir, fileName);
+//        }
+//
+//    }
+//
+//    public static void main(String[] args) {
+//        FileUtils.downLoadFromUrl("http://vibktprfx-prod-prod-damo-eas-cn-shanghai.oss-cn-shanghai.aliyuncs.com/segment-body/2023-02-24/5d44fe44-308c-44c3-8e1d-2d4cbe601f86/image.png?Expires=1677208715&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRpDvh1&Signature=4ZyzaOz6W1nBD9s3KQuFN10c%2BPw%3D",
+//                "1.png","D:\\test");
+//    }
+//
+//    /**
+//     * 使用AK&SK初始化账号Client
+//     * @return Client
+//     * @throws Exception
+//     */
+//    public com.aliyun.imageseg20191230.Client createClient() throws Exception {
+//        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
+//                // 必填,您的 AccessKey ID
+//                .setAccessKeyId(accessKeyId)
+//                // 必填,您的 AccessKey Secret
+//                .setAccessKeySecret(accessKeySecret);
+//        // 访问的域名
+//        config.endpoint = this.imagesegEndPoint;
+//        return new com.aliyun.imageseg20191230.Client(config);
+//    }
+//
+//}

+ 5 - 0
src/main/resources/mapper/scene/JySceneAuthMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.scene.mapper.IJySceneAuthMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/scene/JySceneUserAuthMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.scene.mapper.IJySceneUserAuthMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/scene/JyUserMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.scene.mapper.IJyUserMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/scene/SysLogMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.scene.mapper.ISysLogMapper">
+
+</mapper>