Yansen пре 2 година
родитељ
комит
37f837cf0c
68 измењених фајлова са 1864 додато и 498 уклоњено
  1. 17
    9
      pom.xml
  2. 2
    1
      src/main/java/com/yunzhi/inte/InteApplication.java
  3. 18
    0
      src/main/java/com/yunzhi/inte/common/BaseController.java
  4. 17
    0
      src/main/java/com/yunzhi/inte/common/EncryptUtils.java
  5. 14
    0
      src/main/java/com/yunzhi/inte/config/FilterConfig.java
  6. 48
    0
      src/main/java/com/yunzhi/inte/config/SaTokenConfigure.java
  7. 1
    1
      src/main/java/com/yunzhi/inte/controller/BannerController.java
  8. 101
    0
      src/main/java/com/yunzhi/inte/controller/EvaluateController.java
  9. 80
    0
      src/main/java/com/yunzhi/inte/controller/LoginController.java
  10. 101
    0
      src/main/java/com/yunzhi/inte/controller/NoticeMessageController.java
  11. 101
    0
      src/main/java/com/yunzhi/inte/controller/PostsFilesController.java
  12. 101
    0
      src/main/java/com/yunzhi/inte/controller/ResourcesController.java
  13. 101
    0
      src/main/java/com/yunzhi/inte/controller/RoleResourcesController.java
  14. 101
    0
      src/main/java/com/yunzhi/inte/controller/RolesController.java
  15. 101
    0
      src/main/java/com/yunzhi/inte/controller/UserRolesController.java
  16. 100
    0
      src/main/java/com/yunzhi/inte/controller/UsersController.java
  17. 3
    1
      src/main/java/com/yunzhi/inte/entity/Banner.java
  18. 57
    0
      src/main/java/com/yunzhi/inte/entity/Evaluate.java
  19. 45
    0
      src/main/java/com/yunzhi/inte/entity/NoticeMessage.java
  20. 42
    0
      src/main/java/com/yunzhi/inte/entity/PostsFiles.java
  21. 45
    0
      src/main/java/com/yunzhi/inte/entity/Resources.java
  22. 36
    0
      src/main/java/com/yunzhi/inte/entity/RoleResources.java
  23. 33
    0
      src/main/java/com/yunzhi/inte/entity/Roles.java
  24. 36
    0
      src/main/java/com/yunzhi/inte/entity/UserRoles.java
  25. 45
    0
      src/main/java/com/yunzhi/inte/entity/Users.java
  26. 11
    0
      src/main/java/com/yunzhi/inte/exception/GlobalException.java
  27. 16
    0
      src/main/java/com/yunzhi/inte/mapper/EvaluateMapper.java
  28. 16
    0
      src/main/java/com/yunzhi/inte/mapper/NoticeMessageMapper.java
  29. 16
    0
      src/main/java/com/yunzhi/inte/mapper/PostsFilesMapper.java
  30. 16
    0
      src/main/java/com/yunzhi/inte/mapper/ResourcesMapper.java
  31. 16
    0
      src/main/java/com/yunzhi/inte/mapper/RoleResourcesMapper.java
  32. 16
    0
      src/main/java/com/yunzhi/inte/mapper/RolesMapper.java
  33. 16
    0
      src/main/java/com/yunzhi/inte/mapper/UserRolesMapper.java
  34. 17
    0
      src/main/java/com/yunzhi/inte/mapper/UsersMapper.java
  35. 0
    72
      src/main/java/com/yunzhi/inte/rtsp/ChannelGroupHolder.java
  36. 0
    26
      src/main/java/com/yunzhi/inte/rtsp/FFmpeg.java
  37. 0
    107
      src/main/java/com/yunzhi/inte/rtsp/HttpRequestHandler.java
  38. 0
    54
      src/main/java/com/yunzhi/inte/rtsp/MonitorServer.java
  39. 0
    24
      src/main/java/com/yunzhi/inte/rtsp/MonitorServerInitializer.java
  40. 0
    147
      src/main/java/com/yunzhi/inte/rtsp/TransferRtspHelper.java
  41. 0
    40
      src/main/java/com/yunzhi/inte/rtsp/WebSocketHandler.java
  42. 13
    0
      src/main/java/com/yunzhi/inte/service/EvaluateService.java
  43. 13
    0
      src/main/java/com/yunzhi/inte/service/NoticeMessageService.java
  44. 13
    0
      src/main/java/com/yunzhi/inte/service/PostsFilesService.java
  45. 13
    0
      src/main/java/com/yunzhi/inte/service/ResourcesService.java
  46. 13
    0
      src/main/java/com/yunzhi/inte/service/RoleResourcesService.java
  47. 13
    0
      src/main/java/com/yunzhi/inte/service/RolesService.java
  48. 13
    0
      src/main/java/com/yunzhi/inte/service/UserRolesService.java
  49. 15
    0
      src/main/java/com/yunzhi/inte/service/UsersService.java
  50. 16
    0
      src/main/java/com/yunzhi/inte/service/impl/EvaluateServiceImpl.java
  51. 16
    0
      src/main/java/com/yunzhi/inte/service/impl/NoticeMessageServiceImpl.java
  52. 16
    0
      src/main/java/com/yunzhi/inte/service/impl/PostsFilesServiceImpl.java
  53. 16
    0
      src/main/java/com/yunzhi/inte/service/impl/ResourcesServiceImpl.java
  54. 16
    0
      src/main/java/com/yunzhi/inte/service/impl/RoleResourcesServiceImpl.java
  55. 16
    0
      src/main/java/com/yunzhi/inte/service/impl/RolesServiceImpl.java
  56. 16
    0
      src/main/java/com/yunzhi/inte/service/impl/UserRolesServiceImpl.java
  57. 38
    0
      src/main/java/com/yunzhi/inte/service/impl/UsersServiceImpl.java
  58. 17
    0
      src/main/java/com/yunzhi/inte/vo/ChangePassword.java
  59. 17
    0
      src/main/java/com/yunzhi/inte/vo/LoginParm.java
  60. 37
    16
      src/main/resources/application.yml
  61. 6
    0
      src/main/resources/mapper/EvaluateMapper.xml
  62. 6
    0
      src/main/resources/mapper/NoticeMessageMapper.xml
  63. 6
    0
      src/main/resources/mapper/PostsFilesMapper.xml
  64. 6
    0
      src/main/resources/mapper/ResourcesMapper.xml
  65. 6
    0
      src/main/resources/mapper/RoleResourcesMapper.xml
  66. 6
    0
      src/main/resources/mapper/RolesMapper.xml
  67. 6
    0
      src/main/resources/mapper/UserRolesMapper.xml
  68. 9
    0
      src/main/resources/mapper/UsersMapper.xml

+ 17
- 9
pom.xml Прегледај датотеку

@@ -38,15 +38,9 @@
38 38
 			<version>2.0.1</version>
39 39
 		</dependency>
40 40
 		<dependency>
41
-			<groupId>p6spy</groupId>
42
-			<artifactId>p6spy</artifactId>
43
-			<version>3.8.7</version>
44
-		</dependency>
45
-		<!-- sqlite3驱动包 -->
46
-		<dependency>
47
-			<groupId>org.xerial</groupId>
48
-			<artifactId>sqlite-jdbc</artifactId>
49
-			<version>3.27.2.1</version>
41
+			<groupId>mysql</groupId>
42
+			<artifactId>mysql-connector-java</artifactId>
43
+			<scope>runtime</scope>
50 44
 		</dependency>
51 45
 		<dependency>
52 46
 			<groupId>com.baomidou</groupId>
@@ -75,6 +69,20 @@
75 69
 			<scope>test</scope>
76 70
 		</dependency>
77 71
 
72
+		<!-- Sa-Token 权限认证, 在线文档:http://sa-token.dev33.cn/ -->
73
+		<dependency>
74
+			<groupId>cn.dev33</groupId>
75
+			<artifactId>sa-token-spring-boot-starter</artifactId>
76
+			<version>1.29.0</version>
77
+		</dependency>
78
+
79
+		<!-- Sa-Token 整合 jwt -->
80
+		<dependency>
81
+			<groupId>cn.dev33</groupId>
82
+			<artifactId>sa-token-jwt</artifactId>
83
+			<version>1.29.0</version>
84
+		</dependency>
85
+
78 86
 		<!--excel start-->
79 87
 		<dependency>
80 88
 			<groupId>com.alibaba</groupId>

+ 2
- 1
src/main/java/com/yunzhi/inte/InteApplication.java Прегледај датотеку

@@ -1,10 +1,11 @@
1 1
 package com.yunzhi.inte;
2 2
 
3
-import com.yunzhi.inte.rtsp.MonitorServer;
4 3
 import org.springframework.boot.SpringApplication;
5 4
 import org.springframework.boot.autoconfigure.SpringBootApplication;
6 5
 import org.springframework.context.ConfigurableApplicationContext;
6
+import org.springframework.scheduling.annotation.EnableAsync;
7 7
 
8
+@EnableAsync
8 9
 @SpringBootApplication
9 10
 public class InteApplication {
10 11
 	public static ConfigurableApplicationContext ac;

+ 18
- 0
src/main/java/com/yunzhi/inte/common/BaseController.java Прегледај датотеку

@@ -1,8 +1,26 @@
1 1
 package com.yunzhi.inte.common;
2 2
 
3
+import cn.dev33.satoken.stp.StpUtil;
4
+import com.yunzhi.inte.entity.Users;
5
+import com.yunzhi.inte.service.UsersService;
6
+import org.springframework.beans.factory.annotation.Autowired;
3 7
 import org.springframework.stereotype.Component;
4 8
 
5 9
 @Component
6 10
 public class BaseController {
7 11
 
12
+    @Autowired
13
+    protected UsersService usersService;
14
+
15
+    public Users currentUser() throws Exception {
16
+        int userId = StpUtil.getLoginIdAsInt();
17
+
18
+        Users user = usersService.getById(userId);
19
+        if (user == null) {
20
+            throw new Exception("人员不存在");
21
+        }
22
+
23
+        return user;
24
+    }
25
+
8 26
 }

+ 17
- 0
src/main/java/com/yunzhi/inte/common/EncryptUtils.java Прегледај датотеку

@@ -0,0 +1,17 @@
1
+package com.yunzhi.inte.common;
2
+
3
+import org.springframework.util.DigestUtils;
4
+
5
+public class EncryptUtils {
6
+
7
+    public static String md5(String str, String ...slats) {
8
+        String slat = "";
9
+        if (null != slats && slats.length > 0) {
10
+            slat = slats[0];
11
+        }
12
+
13
+        String base = str + slat;
14
+        String md5 = DigestUtils.md5DigestAsHex(base.getBytes());
15
+        return md5;
16
+    }
17
+}

+ 14
- 0
src/main/java/com/yunzhi/inte/config/FilterConfig.java Прегледај датотеку

@@ -0,0 +1,14 @@
1
+package com.yunzhi.inte.config;
2
+
3
+import lombok.Data;
4
+import org.springframework.boot.context.properties.ConfigurationProperties;
5
+import org.springframework.stereotype.Component;
6
+
7
+import java.util.List;
8
+
9
+@Data
10
+@Component
11
+@ConfigurationProperties(prefix = "yz.filter")
12
+public class FilterConfig {
13
+    List<String> annList;
14
+}

+ 48
- 0
src/main/java/com/yunzhi/inte/config/SaTokenConfigure.java Прегледај датотеку

@@ -0,0 +1,48 @@
1
+package com.yunzhi.inte.config;
2
+
3
+import cn.dev33.satoken.context.SaHolder;
4
+import cn.dev33.satoken.filter.SaServletFilter;
5
+import cn.dev33.satoken.jwt.StpLogicJwtForStateless;
6
+import cn.dev33.satoken.router.SaHttpMethod;
7
+import cn.dev33.satoken.router.SaRouter;
8
+import cn.dev33.satoken.stp.StpLogic;
9
+import cn.dev33.satoken.stp.StpUtil;
10
+import com.alibaba.fastjson.JSONObject;
11
+import com.yunzhi.inte.common.ResponseBean;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.context.annotation.Bean;
14
+import org.springframework.context.annotation.Configuration;
15
+
16
+@Configuration
17
+public class SaTokenConfigure {
18
+
19
+    @Autowired
20
+    FilterConfig filterConfig;
21
+
22
+    @Bean
23
+    public SaServletFilter getSaServletFilter() {
24
+        SaServletFilter saServletFilter = new SaServletFilter();
25
+        saServletFilter.addInclude("/**");
26
+        saServletFilter.addExclude(filterConfig.getAnnList().toArray(new String[0]));
27
+        saServletFilter.setAuth(auth -> {
28
+            // OPTIONS 请求不校验, 主要是为了解决跨域问题
29
+            SaRouter.notMatch(SaHttpMethod.OPTIONS).check(r -> StpUtil.checkLogin());
30
+        });
31
+
32
+        saServletFilter.setError(err -> {
33
+            SaHolder.getResponse().setHeader("Content-Type", "application/json;charset=UTF-8");
34
+            SaHolder.getResponse().setStatus(200);
35
+            String jsonStr = JSONObject.toJSONString(ResponseBean.error(err.getMessage(), ResponseBean.ERROR_AUTH_FAIL));
36
+            return jsonStr;
37
+        });
38
+
39
+        return saServletFilter;
40
+    }
41
+
42
+
43
+    // Sa-Token 整合 jwt (Style模式)
44
+    @Bean
45
+    public StpLogic getStpLogicJwt() {
46
+        return new StpLogicJwtForStateless();
47
+    }
48
+}

+ 1
- 1
src/main/java/com/yunzhi/inte/controller/BannerController.java Прегледај датотеку

@@ -34,7 +34,7 @@ public class BannerController {
34 34
 
35 35
         IPage<Banner> pg = new Page<>(pageNum, pageSize);
36 36
         QueryWrapper<Banner> queryWrapper = new QueryWrapper<>();
37
-        queryWrapper.eq(null != state && !"".equals(state), "state", state);
37
+        queryWrapper.eq(null != state && !"".equals(state), "status", state);
38 38
         queryWrapper.orderByDesc("qz");
39 39
 
40 40
         IPage<Banner> result = bannerService.page(pg, queryWrapper);

+ 101
- 0
src/main/java/com/yunzhi/inte/controller/EvaluateController.java Прегледај датотеку

@@ -0,0 +1,101 @@
1
+package com.yunzhi.inte.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.yunzhi.inte.common.BaseController;
7
+import com.yunzhi.inte.common.ResponseBean;
8
+import java.util.List;
9
+import io.swagger.annotations.Api;
10
+import io.swagger.annotations.ApiOperation;
11
+import io.swagger.annotations.ApiParam;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+import com.yunzhi.inte.entity.Evaluate;
15
+import com.yunzhi.inte.service.EvaluateService;
16
+
17
+ /**
18
+ * 评价表;(evaluate)表控制层
19
+ * @author : http://njyunzhi.com
20
+ * @date : 2022-10-13
21
+ */
22
+@Api(tags = "评价表对象功能接口")
23
+@RestController
24
+@RequestMapping("/")
25
+public class EvaluateController extends BaseController {
26
+    
27
+    @Autowired
28
+    private EvaluateService evaluateService;
29
+    
30
+    /** 
31
+     * 通过ID查询单条数据 
32
+     *
33
+     * @param id 主键
34
+     * @return 实例对象
35
+     */
36
+    @ApiOperation("通过ID查询单条数据")
37
+    @GetMapping("/evaluate/{id}")
38
+    public ResponseBean queryById(@ApiParam("对象ID") @PathVariable Integer id) throws Exception {
39
+        return ResponseBean.success(evaluateService.getById(id));
40
+    }
41
+    
42
+    /** 
43
+     * 分页查询
44
+     *
45
+     * @param pageNum 当前页码
46
+     * @param pageSize 每页条数
47
+     * @return 查询结果
48
+     */
49
+    @ApiOperation("分页查询")
50
+    @GetMapping("/evaluate")
51
+    public ResponseBean list(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
+                            @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception {
53
+        
54
+        IPage<Evaluate> pg = new Page<>(pageNum, pageSize);
55
+        // QueryWrapper<Evaluate> queryWrapper = new QueryWrapper<>();
56
+        // queryWrapper.orderByDesc("create_date");
57
+        IPage<Evaluate> result = evaluateService.page(pg);
58
+        
59
+        return ResponseBean.success(result);
60
+    }
61
+    
62
+    /** 
63
+     * 新增数据
64
+     *
65
+     * @param evaluate 实例对象
66
+     * @return 实例对象
67
+     */
68
+    @ApiOperation("新增数据")
69
+    @PostMapping("/evaluate")
70
+    public ResponseBean add(@ApiParam("对象实体") @RequestBody Evaluate evaluate) throws Exception {
71
+        evaluateService.save(evaluate);
72
+        return ResponseBean.success(evaluate);
73
+    }
74
+    
75
+    /** 
76
+     * 更新数据
77
+     *
78
+     * @param evaluate 实例对象
79
+     * @return 实例对象
80
+     */
81
+    @ApiOperation("更新数据")
82
+    @PutMapping("/evaluate/{id}")
83
+    public ResponseBean edit(@ApiParam("对象实体") @RequestBody Evaluate evaluate,
84
+                            @ApiParam("对象ID") @PathVariable Integer id ) throws Exception {
85
+        evaluateService.updateById(evaluate);
86
+        return ResponseBean.success(evaluate);
87
+    }
88
+    
89
+    /** 
90
+     * 通过主键删除数据
91
+     *
92
+     * @param id 主键
93
+     * @return 是否成功
94
+     */
95
+    @ApiOperation("通过主键删除数据")
96
+    @DeleteMapping("/evaluate/{id}")
97
+    public ResponseBean deleteById(@ApiParam("对象ID") @PathVariable Integer id){
98
+        evaluateService.removeLogicById(id);
99
+        return ResponseBean.success("success");
100
+    }
101
+}

+ 80
- 0
src/main/java/com/yunzhi/inte/controller/LoginController.java Прегледај датотеку

@@ -0,0 +1,80 @@
1
+package com.yunzhi.inte.controller;
2
+
3
+import cn.dev33.satoken.stp.StpUtil;
4
+import cn.hutool.json.JSONObject;
5
+import cn.hutool.json.JSONUtil;
6
+import com.yunzhi.inte.common.BaseController;
7
+import com.yunzhi.inte.common.EncryptUtils;
8
+import com.yunzhi.inte.common.ResponseBean;
9
+import com.yunzhi.inte.common.StringUtils;
10
+import com.yunzhi.inte.entity.Users;
11
+import com.yunzhi.inte.vo.ChangePassword;
12
+import com.yunzhi.inte.vo.LoginParm;
13
+import io.swagger.annotations.Api;
14
+import io.swagger.annotations.ApiOperation;
15
+import io.swagger.annotations.ApiParam;
16
+import org.springframework.beans.factory.annotation.Autowired;
17
+import org.springframework.beans.factory.annotation.Value;
18
+import org.springframework.web.bind.annotation.*;
19
+
20
+import java.util.HashMap;
21
+import java.util.Map;
22
+
23
+
24
+@Api(tags ="登录")
25
+@RestController
26
+@RequestMapping("/")
27
+public class LoginController extends BaseController {
28
+
29
+
30
+    @PostMapping("/login")
31
+    @ApiOperation(value="后台登录", notes = "后台登录", httpMethod = "POST", response = ResponseBean.class)
32
+    public ResponseBean login(@ApiParam("登录参数") @RequestBody LoginParm loginParm) throws Exception {
33
+
34
+        if (StringUtils.isEmpty(loginParm.getUserName()) || StringUtils.isEmpty(loginParm.getPassword())) {
35
+            return ResponseBean.error("登录用户或者密码不能为空");
36
+        }
37
+
38
+        Users sysUser = usersService.login(loginParm);
39
+
40
+        StpUtil.login(sysUser.getId(), "admin");
41
+        String tokenValue = StpUtil.getTokenValue();
42
+
43
+        Map<String, Object> result = new HashMap<>();
44
+        result.put("user", sysUser);
45
+        result.put("token", tokenValue);
46
+
47
+        return ResponseBean.success(result);
48
+    }
49
+
50
+    @PostMapping("/admin/logout")
51
+    @ApiOperation(value="登出", notes = "登出", httpMethod = "POST", response = ResponseBean.class)
52
+    public ResponseBean logout() throws Exception {
53
+        StpUtil.logout();
54
+        return ResponseBean.success("success");
55
+    }
56
+
57
+    @PutMapping("/admin/change-password")
58
+    @ApiOperation(value="修改密码", notes = "修改密码", httpMethod = "PUT", response = ResponseBean.class)
59
+    public ResponseBean changePassword(@ApiParam("修改密码参数") @RequestBody ChangePassword param) throws Exception {
60
+        if (StringUtils.isEmpty(param.getOriginPassword()) || StringUtils.isEmpty(param.getNewPassword())) {
61
+            return ResponseBean.error("原始密码或新密码不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
62
+        }
63
+
64
+        Users currentUser = currentUser();
65
+        String userId = currentUser.getId().toString();
66
+
67
+        if (!checkPassword(param.getOriginPassword(), currentUser.getPassword(), userId)) {
68
+            return ResponseBean.error("原始密码不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
69
+        }
70
+
71
+        currentUser.setPassword(EncryptUtils.md5(param.getNewPassword(), userId));
72
+        usersService.updateById(currentUser);
73
+
74
+        return ResponseBean.success("密码修改成功");
75
+    }
76
+
77
+    private boolean checkPassword(String src, String targ, String salt) {
78
+        return EncryptUtils.md5(src, salt).equals(targ);
79
+    }
80
+}

+ 101
- 0
src/main/java/com/yunzhi/inte/controller/NoticeMessageController.java Прегледај датотеку

@@ -0,0 +1,101 @@
1
+package com.yunzhi.inte.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.yunzhi.inte.common.BaseController;
7
+import com.yunzhi.inte.common.ResponseBean;
8
+import java.util.List;
9
+import io.swagger.annotations.Api;
10
+import io.swagger.annotations.ApiOperation;
11
+import io.swagger.annotations.ApiParam;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+import com.yunzhi.inte.entity.NoticeMessage;
15
+import com.yunzhi.inte.service.NoticeMessageService;
16
+
17
+ /**
18
+ * 消息表;(notice_message)表控制层
19
+ * @author : http://njyunzhi.com
20
+ * @date : 2022-10-13
21
+ */
22
+@Api(tags = "消息表对象功能接口")
23
+@RestController
24
+@RequestMapping("/")
25
+public class NoticeMessageController extends BaseController {
26
+    
27
+    @Autowired
28
+    private NoticeMessageService noticeMessageService;
29
+    
30
+    /** 
31
+     * 通过ID查询单条数据 
32
+     *
33
+     * @param id 主键
34
+     * @return 实例对象
35
+     */
36
+    @ApiOperation("通过ID查询单条数据")
37
+    @GetMapping("/noticeMessage/{id}")
38
+    public ResponseBean queryById(@ApiParam("对象ID") @PathVariable Integer id) throws Exception {
39
+        return ResponseBean.success(noticeMessageService.getById(id));
40
+    }
41
+    
42
+    /** 
43
+     * 分页查询
44
+     *
45
+     * @param pageNum 当前页码
46
+     * @param pageSize 每页条数
47
+     * @return 查询结果
48
+     */
49
+    @ApiOperation("分页查询")
50
+    @GetMapping("/noticeMessage")
51
+    public ResponseBean list(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
+                            @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception {
53
+        
54
+        IPage<NoticeMessage> pg = new Page<>(pageNum, pageSize);
55
+        // QueryWrapper<NoticeMessage> queryWrapper = new QueryWrapper<>();
56
+        // queryWrapper.orderByDesc("create_date");
57
+        IPage<NoticeMessage> result = noticeMessageService.page(pg);
58
+        
59
+        return ResponseBean.success(result);
60
+    }
61
+    
62
+    /** 
63
+     * 新增数据
64
+     *
65
+     * @param noticeMessage 实例对象
66
+     * @return 实例对象
67
+     */
68
+    @ApiOperation("新增数据")
69
+    @PostMapping("/noticeMessage")
70
+    public ResponseBean add(@ApiParam("对象实体") @RequestBody NoticeMessage noticeMessage) throws Exception {
71
+        noticeMessageService.save(noticeMessage);
72
+        return ResponseBean.success(noticeMessage);
73
+    }
74
+    
75
+    /** 
76
+     * 更新数据
77
+     *
78
+     * @param noticeMessage 实例对象
79
+     * @return 实例对象
80
+     */
81
+    @ApiOperation("更新数据")
82
+    @PutMapping("/noticeMessage/{id}")
83
+    public ResponseBean edit(@ApiParam("对象实体") @RequestBody NoticeMessage noticeMessage,
84
+                            @ApiParam("对象ID") @PathVariable Integer id ) throws Exception {
85
+        noticeMessageService.updateById(noticeMessage);
86
+        return ResponseBean.success(noticeMessage);
87
+    }
88
+    
89
+    /** 
90
+     * 通过主键删除数据
91
+     *
92
+     * @param id 主键
93
+     * @return 是否成功
94
+     */
95
+    @ApiOperation("通过主键删除数据")
96
+    @DeleteMapping("/noticeMessage/{id}")
97
+    public ResponseBean deleteById(@ApiParam("对象ID") @PathVariable Integer id){
98
+        noticeMessageService.removeLogicById(id);
99
+        return ResponseBean.success("success");
100
+    }
101
+}

+ 101
- 0
src/main/java/com/yunzhi/inte/controller/PostsFilesController.java Прегледај датотеку

@@ -0,0 +1,101 @@
1
+package com.yunzhi.inte.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.yunzhi.inte.common.BaseController;
7
+import com.yunzhi.inte.common.ResponseBean;
8
+import java.util.List;
9
+import io.swagger.annotations.Api;
10
+import io.swagger.annotations.ApiOperation;
11
+import io.swagger.annotations.ApiParam;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+import com.yunzhi.inte.entity.PostsFiles;
15
+import com.yunzhi.inte.service.PostsFilesService;
16
+
17
+ /**
18
+ * 关联文件;(posts_files)表控制层
19
+ * @author : http://njyunzhi.com
20
+ * @date : 2022-10-13
21
+ */
22
+@Api(tags = "关联文件对象功能接口")
23
+@RestController
24
+@RequestMapping("/")
25
+public class PostsFilesController extends BaseController {
26
+    
27
+    @Autowired
28
+    private PostsFilesService postsFilesService;
29
+    
30
+    /** 
31
+     * 通过ID查询单条数据 
32
+     *
33
+     * @param id 主键
34
+     * @return 实例对象
35
+     */
36
+    @ApiOperation("通过ID查询单条数据")
37
+    @GetMapping("/postsFiles/{id}")
38
+    public ResponseBean queryById(@ApiParam("对象ID") @PathVariable Integer id) throws Exception {
39
+        return ResponseBean.success(postsFilesService.getById(id));
40
+    }
41
+    
42
+    /** 
43
+     * 分页查询
44
+     *
45
+     * @param pageNum 当前页码
46
+     * @param pageSize 每页条数
47
+     * @return 查询结果
48
+     */
49
+    @ApiOperation("分页查询")
50
+    @GetMapping("/postsFiles")
51
+    public ResponseBean list(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
+                            @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception {
53
+        
54
+        IPage<PostsFiles> pg = new Page<>(pageNum, pageSize);
55
+        // QueryWrapper<PostsFiles> queryWrapper = new QueryWrapper<>();
56
+        // queryWrapper.orderByDesc("create_date");
57
+        IPage<PostsFiles> result = postsFilesService.page(pg);
58
+        
59
+        return ResponseBean.success(result);
60
+    }
61
+    
62
+    /** 
63
+     * 新增数据
64
+     *
65
+     * @param postsFiles 实例对象
66
+     * @return 实例对象
67
+     */
68
+    @ApiOperation("新增数据")
69
+    @PostMapping("/postsFiles")
70
+    public ResponseBean add(@ApiParam("对象实体") @RequestBody PostsFiles postsFiles) throws Exception {
71
+        postsFilesService.save(postsFiles);
72
+        return ResponseBean.success(postsFiles);
73
+    }
74
+    
75
+    /** 
76
+     * 更新数据
77
+     *
78
+     * @param postsFiles 实例对象
79
+     * @return 实例对象
80
+     */
81
+    @ApiOperation("更新数据")
82
+    @PutMapping("/postsFiles/{id}")
83
+    public ResponseBean edit(@ApiParam("对象实体") @RequestBody PostsFiles postsFiles,
84
+                            @ApiParam("对象ID") @PathVariable Integer id ) throws Exception {
85
+        postsFilesService.updateById(postsFiles);
86
+        return ResponseBean.success(postsFiles);
87
+    }
88
+    
89
+    /** 
90
+     * 通过主键删除数据
91
+     *
92
+     * @param id 主键
93
+     * @return 是否成功
94
+     */
95
+    @ApiOperation("通过主键删除数据")
96
+    @DeleteMapping("/postsFiles/{id}")
97
+    public ResponseBean deleteById(@ApiParam("对象ID") @PathVariable Integer id){
98
+        postsFilesService.removeLogicById(id);
99
+        return ResponseBean.success("success");
100
+    }
101
+}

+ 101
- 0
src/main/java/com/yunzhi/inte/controller/ResourcesController.java Прегледај датотеку

@@ -0,0 +1,101 @@
1
+package com.yunzhi.inte.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.yunzhi.inte.common.BaseController;
7
+import com.yunzhi.inte.common.ResponseBean;
8
+import java.util.List;
9
+import io.swagger.annotations.Api;
10
+import io.swagger.annotations.ApiOperation;
11
+import io.swagger.annotations.ApiParam;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+import com.yunzhi.inte.entity.Resources;
15
+import com.yunzhi.inte.service.ResourcesService;
16
+
17
+ /**
18
+ * 资源;(resources)表控制层
19
+ * @author : http://njyunzhi.com
20
+ * @date : 2022-10-12
21
+ */
22
+@Api(tags = "资源对象功能接口")
23
+@RestController
24
+@RequestMapping("/")
25
+public class ResourcesController extends BaseController {
26
+    
27
+    @Autowired
28
+    private ResourcesService resourcesService;
29
+    
30
+    /** 
31
+     * 通过ID查询单条数据 
32
+     *
33
+     * @param id 主键
34
+     * @return 实例对象
35
+     */
36
+    @ApiOperation("通过ID查询单条数据")
37
+    @GetMapping("/resources/{id}")
38
+    public ResponseBean queryById(@ApiParam("对象ID") @PathVariable Integer id) throws Exception {
39
+        return ResponseBean.success(resourcesService.getById(id));
40
+    }
41
+    
42
+    /** 
43
+     * 分页查询
44
+     *
45
+     * @param pageNum 当前页码
46
+     * @param pageSize 每页条数
47
+     * @return 查询结果
48
+     */
49
+    @ApiOperation("分页查询")
50
+    @GetMapping("/resources")
51
+    public ResponseBean list(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
+                            @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception {
53
+        
54
+        IPage<Resources> pg = new Page<>(pageNum, pageSize);
55
+        // QueryWrapper<Resources> queryWrapper = new QueryWrapper<>();
56
+        // queryWrapper.orderByDesc("create_date");
57
+        IPage<Resources> result = resourcesService.page(pg);
58
+        
59
+        return ResponseBean.success(result);
60
+    }
61
+    
62
+    /** 
63
+     * 新增数据
64
+     *
65
+     * @param resources 实例对象
66
+     * @return 实例对象
67
+     */
68
+    @ApiOperation("新增数据")
69
+    @PostMapping("/resources")
70
+    public ResponseBean add(@ApiParam("对象实体") @RequestBody Resources resources) throws Exception {
71
+        resourcesService.save(resources);
72
+        return ResponseBean.success(resources);
73
+    }
74
+    
75
+    /** 
76
+     * 更新数据
77
+     *
78
+     * @param resources 实例对象
79
+     * @return 实例对象
80
+     */
81
+    @ApiOperation("更新数据")
82
+    @PutMapping("/resources/{id}")
83
+    public ResponseBean edit(@ApiParam("对象实体") @RequestBody Resources resources,
84
+                            @ApiParam("对象ID") @PathVariable Integer id ) throws Exception {
85
+        resourcesService.updateById(resources);
86
+        return ResponseBean.success(resources);
87
+    }
88
+    
89
+    /** 
90
+     * 通过主键删除数据
91
+     *
92
+     * @param id 主键
93
+     * @return 是否成功
94
+     */
95
+    @ApiOperation("通过主键删除数据")
96
+    @DeleteMapping("/resources/{id}")
97
+    public ResponseBean deleteById(@ApiParam("对象ID") @PathVariable Integer id){
98
+        resourcesService.removeLogicById(id);
99
+        return ResponseBean.success("success");
100
+    }
101
+}

+ 101
- 0
src/main/java/com/yunzhi/inte/controller/RoleResourcesController.java Прегледај датотеку

@@ -0,0 +1,101 @@
1
+package com.yunzhi.inte.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.yunzhi.inte.common.BaseController;
7
+import com.yunzhi.inte.common.ResponseBean;
8
+import java.util.List;
9
+import io.swagger.annotations.Api;
10
+import io.swagger.annotations.ApiOperation;
11
+import io.swagger.annotations.ApiParam;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+import com.yunzhi.inte.entity.RoleResources;
15
+import com.yunzhi.inte.service.RoleResourcesService;
16
+
17
+ /**
18
+ * 角色资源;(role_resources)表控制层
19
+ * @author : http://njyunzhi.com
20
+ * @date : 2022-10-12
21
+ */
22
+@Api(tags = "角色资源对象功能接口")
23
+@RestController
24
+@RequestMapping("/")
25
+public class RoleResourcesController extends BaseController {
26
+    
27
+    @Autowired
28
+    private RoleResourcesService roleResourcesService;
29
+    
30
+    /** 
31
+     * 通过ID查询单条数据 
32
+     *
33
+     * @param id 主键
34
+     * @return 实例对象
35
+     */
36
+    @ApiOperation("通过ID查询单条数据")
37
+    @GetMapping("/roleResources/{id}")
38
+    public ResponseBean queryById(@ApiParam("对象ID") @PathVariable Integer id) throws Exception {
39
+        return ResponseBean.success(roleResourcesService.getById(id));
40
+    }
41
+    
42
+    /** 
43
+     * 分页查询
44
+     *
45
+     * @param pageNum 当前页码
46
+     * @param pageSize 每页条数
47
+     * @return 查询结果
48
+     */
49
+    @ApiOperation("分页查询")
50
+    @GetMapping("/roleResources")
51
+    public ResponseBean list(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
+                            @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception {
53
+        
54
+        IPage<RoleResources> pg = new Page<>(pageNum, pageSize);
55
+        // QueryWrapper<RoleResources> queryWrapper = new QueryWrapper<>();
56
+        // queryWrapper.orderByDesc("create_date");
57
+        IPage<RoleResources> result = roleResourcesService.page(pg);
58
+        
59
+        return ResponseBean.success(result);
60
+    }
61
+    
62
+    /** 
63
+     * 新增数据
64
+     *
65
+     * @param roleResources 实例对象
66
+     * @return 实例对象
67
+     */
68
+    @ApiOperation("新增数据")
69
+    @PostMapping("/roleResources")
70
+    public ResponseBean add(@ApiParam("对象实体") @RequestBody RoleResources roleResources) throws Exception {
71
+        roleResourcesService.save(roleResources);
72
+        return ResponseBean.success(roleResources);
73
+    }
74
+    
75
+    /** 
76
+     * 更新数据
77
+     *
78
+     * @param roleResources 实例对象
79
+     * @return 实例对象
80
+     */
81
+    @ApiOperation("更新数据")
82
+    @PutMapping("/roleResources/{id}")
83
+    public ResponseBean edit(@ApiParam("对象实体") @RequestBody RoleResources roleResources,
84
+                            @ApiParam("对象ID") @PathVariable Integer id ) throws Exception {
85
+        roleResourcesService.updateById(roleResources);
86
+        return ResponseBean.success(roleResources);
87
+    }
88
+    
89
+    /** 
90
+     * 通过主键删除数据
91
+     *
92
+     * @param id 主键
93
+     * @return 是否成功
94
+     */
95
+    @ApiOperation("通过主键删除数据")
96
+    @DeleteMapping("/roleResources/{id}")
97
+    public ResponseBean deleteById(@ApiParam("对象ID") @PathVariable Integer id){
98
+        roleResourcesService.removeLogicById(id);
99
+        return ResponseBean.success("success");
100
+    }
101
+}

+ 101
- 0
src/main/java/com/yunzhi/inte/controller/RolesController.java Прегледај датотеку

@@ -0,0 +1,101 @@
1
+package com.yunzhi.inte.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.yunzhi.inte.common.BaseController;
7
+import com.yunzhi.inte.common.ResponseBean;
8
+import java.util.List;
9
+import io.swagger.annotations.Api;
10
+import io.swagger.annotations.ApiOperation;
11
+import io.swagger.annotations.ApiParam;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+import com.yunzhi.inte.entity.Roles;
15
+import com.yunzhi.inte.service.RolesService;
16
+
17
+ /**
18
+ * 角色;(roles)表控制层
19
+ * @author : http://njyunzhi.com
20
+ * @date : 2022-10-12
21
+ */
22
+@Api(tags = "角色对象功能接口")
23
+@RestController
24
+@RequestMapping("/")
25
+public class RolesController extends BaseController {
26
+    
27
+    @Autowired
28
+    private RolesService rolesService;
29
+    
30
+    /** 
31
+     * 通过ID查询单条数据 
32
+     *
33
+     * @param id 主键
34
+     * @return 实例对象
35
+     */
36
+    @ApiOperation("通过ID查询单条数据")
37
+    @GetMapping("/roles/{id}")
38
+    public ResponseBean queryById(@ApiParam("对象ID") @PathVariable Integer id) throws Exception {
39
+        return ResponseBean.success(rolesService.getById(id));
40
+    }
41
+    
42
+    /** 
43
+     * 分页查询
44
+     *
45
+     * @param pageNum 当前页码
46
+     * @param pageSize 每页条数
47
+     * @return 查询结果
48
+     */
49
+    @ApiOperation("分页查询")
50
+    @GetMapping("/roles")
51
+    public ResponseBean list(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
+                            @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception {
53
+        
54
+        IPage<Roles> pg = new Page<>(pageNum, pageSize);
55
+        // QueryWrapper<Roles> queryWrapper = new QueryWrapper<>();
56
+        // queryWrapper.orderByDesc("create_date");
57
+        IPage<Roles> result = rolesService.page(pg);
58
+        
59
+        return ResponseBean.success(result);
60
+    }
61
+    
62
+    /** 
63
+     * 新增数据
64
+     *
65
+     * @param roles 实例对象
66
+     * @return 实例对象
67
+     */
68
+    @ApiOperation("新增数据")
69
+    @PostMapping("/roles")
70
+    public ResponseBean add(@ApiParam("对象实体") @RequestBody Roles roles) throws Exception {
71
+        rolesService.save(roles);
72
+        return ResponseBean.success(roles);
73
+    }
74
+    
75
+    /** 
76
+     * 更新数据
77
+     *
78
+     * @param roles 实例对象
79
+     * @return 实例对象
80
+     */
81
+    @ApiOperation("更新数据")
82
+    @PutMapping("/roles/{id}")
83
+    public ResponseBean edit(@ApiParam("对象实体") @RequestBody Roles roles,
84
+                            @ApiParam("对象ID") @PathVariable Integer id ) throws Exception {
85
+        rolesService.updateById(roles);
86
+        return ResponseBean.success(roles);
87
+    }
88
+    
89
+    /** 
90
+     * 通过主键删除数据
91
+     *
92
+     * @param id 主键
93
+     * @return 是否成功
94
+     */
95
+    @ApiOperation("通过主键删除数据")
96
+    @DeleteMapping("/roles/{id}")
97
+    public ResponseBean deleteById(@ApiParam("对象ID") @PathVariable Integer id){
98
+        rolesService.removeLogicById(id);
99
+        return ResponseBean.success("success");
100
+    }
101
+}

+ 101
- 0
src/main/java/com/yunzhi/inte/controller/UserRolesController.java Прегледај датотеку

@@ -0,0 +1,101 @@
1
+package com.yunzhi.inte.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.yunzhi.inte.common.BaseController;
7
+import com.yunzhi.inte.common.ResponseBean;
8
+import java.util.List;
9
+import io.swagger.annotations.Api;
10
+import io.swagger.annotations.ApiOperation;
11
+import io.swagger.annotations.ApiParam;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+import com.yunzhi.inte.entity.UserRoles;
15
+import com.yunzhi.inte.service.UserRolesService;
16
+
17
+ /**
18
+ * 授权角色;(user_roles)表控制层
19
+ * @author : http://njyunzhi.com
20
+ * @date : 2022-10-12
21
+ */
22
+@Api(tags = "授权角色对象功能接口")
23
+@RestController
24
+@RequestMapping("/")
25
+public class UserRolesController extends BaseController {
26
+    
27
+    @Autowired
28
+    private UserRolesService userRolesService;
29
+    
30
+    /** 
31
+     * 通过ID查询单条数据 
32
+     *
33
+     * @param id 主键
34
+     * @return 实例对象
35
+     */
36
+    @ApiOperation("通过ID查询单条数据")
37
+    @GetMapping("/userRoles/{id}")
38
+    public ResponseBean queryById(@ApiParam("对象ID") @PathVariable Integer id) throws Exception {
39
+        return ResponseBean.success(userRolesService.getById(id));
40
+    }
41
+    
42
+    /** 
43
+     * 分页查询
44
+     *
45
+     * @param pageNum 当前页码
46
+     * @param pageSize 每页条数
47
+     * @return 查询结果
48
+     */
49
+    @ApiOperation("分页查询")
50
+    @GetMapping("/userRoles")
51
+    public ResponseBean list(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
+                            @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception {
53
+        
54
+        IPage<UserRoles> pg = new Page<>(pageNum, pageSize);
55
+        // QueryWrapper<UserRoles> queryWrapper = new QueryWrapper<>();
56
+        // queryWrapper.orderByDesc("create_date");
57
+        IPage<UserRoles> result = userRolesService.page(pg);
58
+        
59
+        return ResponseBean.success(result);
60
+    }
61
+    
62
+    /** 
63
+     * 新增数据
64
+     *
65
+     * @param userRoles 实例对象
66
+     * @return 实例对象
67
+     */
68
+    @ApiOperation("新增数据")
69
+    @PostMapping("/userRoles")
70
+    public ResponseBean add(@ApiParam("对象实体") @RequestBody UserRoles userRoles) throws Exception {
71
+        userRolesService.save(userRoles);
72
+        return ResponseBean.success(userRoles);
73
+    }
74
+    
75
+    /** 
76
+     * 更新数据
77
+     *
78
+     * @param userRoles 实例对象
79
+     * @return 实例对象
80
+     */
81
+    @ApiOperation("更新数据")
82
+    @PutMapping("/userRoles/{id}")
83
+    public ResponseBean edit(@ApiParam("对象实体") @RequestBody UserRoles userRoles,
84
+                            @ApiParam("对象ID") @PathVariable Integer id ) throws Exception {
85
+        userRolesService.updateById(userRoles);
86
+        return ResponseBean.success(userRoles);
87
+    }
88
+    
89
+    /** 
90
+     * 通过主键删除数据
91
+     *
92
+     * @param id 主键
93
+     * @return 是否成功
94
+     */
95
+    @ApiOperation("通过主键删除数据")
96
+    @DeleteMapping("/userRoles/{id}")
97
+    public ResponseBean deleteById(@ApiParam("对象ID") @PathVariable Integer id){
98
+        userRolesService.removeLogicById(id);
99
+        return ResponseBean.success("success");
100
+    }
101
+}

+ 100
- 0
src/main/java/com/yunzhi/inte/controller/UsersController.java Прегледај датотеку

@@ -0,0 +1,100 @@
1
+package com.yunzhi.inte.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.yunzhi.inte.common.BaseController;
7
+import com.yunzhi.inte.common.ResponseBean;
8
+import java.util.List;
9
+import io.swagger.annotations.Api;
10
+import io.swagger.annotations.ApiOperation;
11
+import io.swagger.annotations.ApiParam;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+import com.yunzhi.inte.entity.Users;
15
+import com.yunzhi.inte.service.UsersService;
16
+
17
+ /**
18
+ * 用户表;(users)表控制层
19
+ * @author : http://njyunzhi.com
20
+ * @date : 2022-10-12
21
+ */
22
+@Api(tags = "用户表对象功能接口")
23
+@RestController
24
+@RequestMapping("/")
25
+public class UsersController extends BaseController {
26
+    
27
+    @Autowired
28
+    private UsersService usersService;
29
+    
30
+    /** 
31
+     * 通过ID查询单条数据 
32
+     *
33
+     * @return 实例对象
34
+     */
35
+    @ApiOperation("通过ID查询单条数据")
36
+    @GetMapping("/users/current")
37
+    public ResponseBean queryById() throws Exception {
38
+        return ResponseBean.success(currentUser());
39
+    }
40
+    
41
+    /** 
42
+     * 分页查询
43
+     *
44
+     * @param pageNum 当前页码
45
+     * @param pageSize 每页条数
46
+     * @return 查询结果
47
+     */
48
+    @ApiOperation("分页查询")
49
+    @GetMapping("/users")
50
+    public ResponseBean list(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
51
+                            @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception {
52
+        
53
+        IPage<Users> pg = new Page<>(pageNum, pageSize);
54
+        // QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
55
+        // queryWrapper.orderByDesc("create_date");
56
+        IPage<Users> result = usersService.page(pg);
57
+        
58
+        return ResponseBean.success(result);
59
+    }
60
+    
61
+    /** 
62
+     * 新增数据
63
+     *
64
+     * @param users 实例对象
65
+     * @return 实例对象
66
+     */
67
+    @ApiOperation("新增数据")
68
+    @PostMapping("/users")
69
+    public ResponseBean add(@ApiParam("对象实体") @RequestBody Users users) throws Exception {
70
+        usersService.save(users);
71
+        return ResponseBean.success(users);
72
+    }
73
+    
74
+    /** 
75
+     * 更新数据
76
+     *
77
+     * @param users 实例对象
78
+     * @return 实例对象
79
+     */
80
+    @ApiOperation("更新数据")
81
+    @PutMapping("/users/{id}")
82
+    public ResponseBean edit(@ApiParam("对象实体") @RequestBody Users users,
83
+                            @ApiParam("对象ID") @PathVariable Integer id ) throws Exception {
84
+        usersService.updateById(users);
85
+        return ResponseBean.success(users);
86
+    }
87
+    
88
+    /** 
89
+     * 通过主键删除数据
90
+     *
91
+     * @param id 主键
92
+     * @return 是否成功
93
+     */
94
+    @ApiOperation("通过主键删除数据")
95
+    @DeleteMapping("/users/{id}")
96
+    public ResponseBean deleteById(@ApiParam("对象ID") @PathVariable Integer id){
97
+        usersService.removeLogicById(id);
98
+        return ResponseBean.success("success");
99
+    }
100
+}

+ 3
- 1
src/main/java/com/yunzhi/inte/entity/Banner.java Прегледај датотеку

@@ -1,6 +1,7 @@
1 1
 package com.yunzhi.inte.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import lombok.Data;
6 7
 import lombok.EqualsAndHashCode;
@@ -19,6 +20,7 @@ public class Banner implements Serializable {
19 20
     @TableId(value = "id",type = IdType.AUTO)
20 21
     private  int id;
21 22
 
23
+    @TableField("`desc`")
22 24
     private String desc;
23 25
 
24 26
     private String type;
@@ -29,5 +31,5 @@ public class Banner implements Serializable {
29 31
 
30 32
     private String qz;
31 33
 
32
-    private String state;
34
+    private Integer status;
33 35
 }

+ 57
- 0
src/main/java/com/yunzhi/inte/entity/Evaluate.java Прегледај датотеку

@@ -0,0 +1,57 @@
1
+package com.yunzhi.inte.entity;
2
+
3
+import io.swagger.annotations.ApiModel;
4
+import io.swagger.annotations.ApiModelProperty;
5
+import com.baomidou.mybatisplus.annotation.IdType;
6
+import com.baomidou.mybatisplus.annotation.TableName;
7
+import com.baomidou.mybatisplus.annotation.TableId;
8
+import java.io.Serializable;
9
+import java.util.Date;
10
+import lombok.Data;
11
+import lombok.EqualsAndHashCode;
12
+import lombok.experimental.Accessors;
13
+
14
+ /**
15
+ * 评价表;
16
+ * @author : http://www.chiner.pro
17
+ * @date : 2022-10-13
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+@ApiModel(value = "评价表",description = "")
23
+@TableName("evaluate")
24
+public class Evaluate implements Serializable,Cloneable{
25
+    /** 评价ID */
26
+    @ApiModelProperty(name = "评价ID",notes = "")
27
+    @TableId(value = "id", type = IdType.INPUT)
28
+    private Integer id ;
29
+    /** 任务ID */
30
+    @ApiModelProperty(name = "任务ID",notes = "")
31
+    private Integer taskId ;
32
+    /** 服务质量;2优,1良,0差 */
33
+    @ApiModelProperty(name = "服务质量",notes = "2优,1良,0差")
34
+    private Integer item1 ;
35
+    /** 供应住宿;2优,1良,0差 */
36
+    @ApiModelProperty(name = "供应住宿",notes = "2优,1良,0差")
37
+    private Integer item2 ;
38
+    /** 供应餐饮;2优,1良,0差 */
39
+    @ApiModelProperty(name = "供应餐饮",notes = "2优,1良,0差")
40
+    private Integer item3 ;
41
+    /** 洗浴评价;2优,1良,0差 */
42
+    @ApiModelProperty(name = "洗浴评价",notes = "2优,1良,0差")
43
+    private Integer item4 ;
44
+    /** 娱乐评价;2优,1良,0差 */
45
+    @ApiModelProperty(name = "娱乐评价",notes = "2优,1良,0差")
46
+    private Integer item5 ;
47
+    /** 军供文化;2优,1良,0差 */
48
+    @ApiModelProperty(name = "军供文化",notes = "2优,1良,0差")
49
+    private Integer item6 ;
50
+    /** 状态 */
51
+    @ApiModelProperty(name = "状态",notes = "")
52
+    private Integer status ;
53
+    /** 创建时间 */
54
+    @ApiModelProperty(name = "创建时间",notes = "")
55
+    private Date createDate ;
56
+
57
+}

+ 45
- 0
src/main/java/com/yunzhi/inte/entity/NoticeMessage.java Прегледај датотеку

@@ -0,0 +1,45 @@
1
+package com.yunzhi.inte.entity;
2
+
3
+import io.swagger.annotations.ApiModel;
4
+import io.swagger.annotations.ApiModelProperty;
5
+import com.baomidou.mybatisplus.annotation.IdType;
6
+import com.baomidou.mybatisplus.annotation.TableName;
7
+import com.baomidou.mybatisplus.annotation.TableId;
8
+import java.io.Serializable;
9
+import java.util.Date;
10
+import lombok.Data;
11
+import lombok.EqualsAndHashCode;
12
+import lombok.experimental.Accessors;
13
+
14
+ /**
15
+ * 消息表;
16
+ * @author : http://www.chiner.pro
17
+ * @date : 2022-10-13
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+@ApiModel(value = "消息表",description = "")
23
+@TableName("notice_message")
24
+public class NoticeMessage implements Serializable,Cloneable{
25
+    /** 消息ID */
26
+    @ApiModelProperty(name = "消息ID",notes = "")
27
+    @TableId(value = "id", type = IdType.INPUT)
28
+    private Integer id ;
29
+    /** 消息内容 */
30
+    @ApiModelProperty(name = "消息内容",notes = "")
31
+    private String message ;
32
+    /** 对象类型 */
33
+    @ApiModelProperty(name = "对象类型",notes = "")
34
+    private String targetType ;
35
+    /** 对象ID */
36
+    @ApiModelProperty(name = "对象ID",notes = "")
37
+    private String targetId ;
38
+    /** 状态 */
39
+    @ApiModelProperty(name = "状态",notes = "")
40
+    private Integer status ;
41
+    /** 创建时间 */
42
+    @ApiModelProperty(name = "创建时间",notes = "")
43
+    private Date createDate ;
44
+
45
+}

+ 42
- 0
src/main/java/com/yunzhi/inte/entity/PostsFiles.java Прегледај датотеку

@@ -0,0 +1,42 @@
1
+package com.yunzhi.inte.entity;
2
+
3
+import io.swagger.annotations.ApiModel;
4
+import io.swagger.annotations.ApiModelProperty;
5
+import com.baomidou.mybatisplus.annotation.IdType;
6
+import com.baomidou.mybatisplus.annotation.TableName;
7
+import com.baomidou.mybatisplus.annotation.TableId;
8
+import java.io.Serializable;
9
+import java.util.Date;
10
+import lombok.Data;
11
+import lombok.EqualsAndHashCode;
12
+import lombok.experimental.Accessors;
13
+
14
+ /**
15
+ * 关联文件;
16
+ * @author : http://www.chiner.pro
17
+ * @date : 2022-10-13
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+@ApiModel(value = "关联文件",description = "")
23
+@TableName("posts_files")
24
+public class PostsFiles implements Serializable,Cloneable{
25
+    /** 文件ID */
26
+    @ApiModelProperty(name = "文件ID",notes = "")
27
+    @TableId(value = "id", type = IdType.INPUT)
28
+    private Integer id ;
29
+    /** 信息ID */
30
+    @ApiModelProperty(name = "信息ID",notes = "")
31
+    private Integer postsId ;
32
+    /** 文件类型 */
33
+    @ApiModelProperty(name = "文件类型",notes = "")
34
+    private String fileType ;
35
+    /** 文件名称 */
36
+    @ApiModelProperty(name = "文件名称",notes = "")
37
+    private String fileName ;
38
+    /** 文件地址 */
39
+    @ApiModelProperty(name = "文件地址",notes = "")
40
+    private String fileAddr ;
41
+
42
+}

+ 45
- 0
src/main/java/com/yunzhi/inte/entity/Resources.java Прегледај датотеку

@@ -0,0 +1,45 @@
1
+package com.yunzhi.inte.entity;
2
+
3
+import io.swagger.annotations.ApiModel;
4
+import io.swagger.annotations.ApiModelProperty;
5
+import com.baomidou.mybatisplus.annotation.IdType;
6
+import com.baomidou.mybatisplus.annotation.TableName;
7
+import com.baomidou.mybatisplus.annotation.TableId;
8
+import java.io.Serializable;
9
+import java.util.Date;
10
+import lombok.Data;
11
+import lombok.EqualsAndHashCode;
12
+import lombok.experimental.Accessors;
13
+
14
+ /**
15
+ * 资源;
16
+ * @author : http://www.chiner.pro
17
+ * @date : 2022-10-12
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+@ApiModel(value = "资源",description = "")
23
+@TableName("resources")
24
+public class Resources implements Serializable,Cloneable{
25
+    /** ID */
26
+    @ApiModelProperty(name = "ID",notes = "")
27
+    @TableId(value = "id", type = IdType.AUTO)
28
+    private Integer id ;
29
+    /** 名称 */
30
+    @ApiModelProperty(name = "名称",notes = "")
31
+    private String name ;
32
+    /** 父级ID */
33
+    @ApiModelProperty(name = "父级ID",notes = "")
34
+    private Integer parentId ;
35
+    /** 编码 */
36
+    @ApiModelProperty(name = "编码",notes = "")
37
+    private String code ;
38
+    /** 类型 */
39
+    @ApiModelProperty(name = "类型",notes = "")
40
+    private String type ;
41
+    /** 序号 */
42
+    @ApiModelProperty(name = "序号",notes = "")
43
+    private String sortNo ;
44
+
45
+}

+ 36
- 0
src/main/java/com/yunzhi/inte/entity/RoleResources.java Прегледај датотеку

@@ -0,0 +1,36 @@
1
+package com.yunzhi.inte.entity;
2
+
3
+import io.swagger.annotations.ApiModel;
4
+import io.swagger.annotations.ApiModelProperty;
5
+import com.baomidou.mybatisplus.annotation.IdType;
6
+import com.baomidou.mybatisplus.annotation.TableName;
7
+import com.baomidou.mybatisplus.annotation.TableId;
8
+import java.io.Serializable;
9
+import java.util.Date;
10
+import lombok.Data;
11
+import lombok.EqualsAndHashCode;
12
+import lombok.experimental.Accessors;
13
+
14
+ /**
15
+ * 角色资源;
16
+ * @author : http://www.chiner.pro
17
+ * @date : 2022-10-12
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+@ApiModel(value = "角色资源",description = "")
23
+@TableName("role_resources")
24
+public class RoleResources implements Serializable,Cloneable{
25
+    /** ID */
26
+    @ApiModelProperty(name = "ID",notes = "")
27
+    @TableId(value = "id", type = IdType.INPUT)
28
+    private Integer id ;
29
+    /** 角色ID */
30
+    @ApiModelProperty(name = "角色ID",notes = "")
31
+    private Integer roleId ;
32
+    /** 资源ID */
33
+    @ApiModelProperty(name = "资源ID",notes = "")
34
+    private Integer resourceId ;
35
+
36
+}

+ 33
- 0
src/main/java/com/yunzhi/inte/entity/Roles.java Прегледај датотеку

@@ -0,0 +1,33 @@
1
+package com.yunzhi.inte.entity;
2
+
3
+import io.swagger.annotations.ApiModel;
4
+import io.swagger.annotations.ApiModelProperty;
5
+import com.baomidou.mybatisplus.annotation.IdType;
6
+import com.baomidou.mybatisplus.annotation.TableName;
7
+import com.baomidou.mybatisplus.annotation.TableId;
8
+import java.io.Serializable;
9
+import java.util.Date;
10
+import lombok.Data;
11
+import lombok.EqualsAndHashCode;
12
+import lombok.experimental.Accessors;
13
+
14
+ /**
15
+ * 角色;
16
+ * @author : http://www.chiner.pro
17
+ * @date : 2022-10-12
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+@ApiModel(value = "角色",description = "")
23
+@TableName("roles")
24
+public class Roles implements Serializable,Cloneable{
25
+    /** 角色ID */
26
+    @ApiModelProperty(name = "角色ID",notes = "")
27
+    @TableId(value = "id", type = IdType.AUTO)
28
+    private Integer id ;
29
+    /** 角色名称 */
30
+    @ApiModelProperty(name = "角色名称",notes = "")
31
+    private String name ;
32
+
33
+}

+ 36
- 0
src/main/java/com/yunzhi/inte/entity/UserRoles.java Прегледај датотеку

@@ -0,0 +1,36 @@
1
+package com.yunzhi.inte.entity;
2
+
3
+import io.swagger.annotations.ApiModel;
4
+import io.swagger.annotations.ApiModelProperty;
5
+import com.baomidou.mybatisplus.annotation.IdType;
6
+import com.baomidou.mybatisplus.annotation.TableName;
7
+import com.baomidou.mybatisplus.annotation.TableId;
8
+import java.io.Serializable;
9
+import java.util.Date;
10
+import lombok.Data;
11
+import lombok.EqualsAndHashCode;
12
+import lombok.experimental.Accessors;
13
+
14
+ /**
15
+ * 授权角色;
16
+ * @author : http://www.chiner.pro
17
+ * @date : 2022-10-12
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+@ApiModel(value = "授权角色",description = "")
23
+@TableName("user_roles")
24
+public class UserRoles implements Serializable,Cloneable{
25
+    /** 序号 */
26
+    @ApiModelProperty(name = "序号",notes = "")
27
+    @TableId(value = "id", type = IdType.INPUT)
28
+    private Integer id ;
29
+    /** 用户ID */
30
+    @ApiModelProperty(name = "用户ID",notes = "")
31
+    private Integer userId ;
32
+    /** 角色ID */
33
+    @ApiModelProperty(name = "角色ID",notes = "")
34
+    private Integer roleId ;
35
+
36
+}

+ 45
- 0
src/main/java/com/yunzhi/inte/entity/Users.java Прегледај датотеку

@@ -0,0 +1,45 @@
1
+package com.yunzhi.inte.entity;
2
+
3
+import io.swagger.annotations.ApiModel;
4
+import io.swagger.annotations.ApiModelProperty;
5
+import com.baomidou.mybatisplus.annotation.IdType;
6
+import com.baomidou.mybatisplus.annotation.TableName;
7
+import com.baomidou.mybatisplus.annotation.TableId;
8
+import java.io.Serializable;
9
+import java.util.Date;
10
+import lombok.Data;
11
+import lombok.EqualsAndHashCode;
12
+import lombok.experimental.Accessors;
13
+
14
+ /**
15
+ * 用户表;
16
+ * @author : http://www.chiner.pro
17
+ * @date : 2022-10-12
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+@ApiModel(value = "用户表",description = "")
23
+@TableName("users")
24
+public class Users implements Serializable,Cloneable{
25
+    /** ID */
26
+    @ApiModelProperty(name = "ID",notes = "")
27
+    @TableId(value = "id", type = IdType.AUTO)
28
+    private Integer id ;
29
+    /** 姓名 */
30
+    @ApiModelProperty(name = "姓名",notes = "")
31
+    private String name ;
32
+    /** 登录名 */
33
+    @ApiModelProperty(name = "登录名",notes = "")
34
+    private String loginName ;
35
+    /** 密码 */
36
+    @ApiModelProperty(name = "密码",notes = "")
37
+    private String password ;
38
+    /** 状态 */
39
+    @ApiModelProperty(name = "状态",notes = "")
40
+    private Integer status ;
41
+    /** 创建时间 */
42
+    @ApiModelProperty(name = "创建时间",notes = "")
43
+    private Date createDate ;
44
+
45
+}

+ 11
- 0
src/main/java/com/yunzhi/inte/exception/GlobalException.java Прегледај датотеку

@@ -1,5 +1,6 @@
1 1
 package com.yunzhi.inte.exception;
2 2
 
3
+import cn.dev33.satoken.exception.SaTokenException;
3 4
 import com.yunzhi.inte.common.ResponseBean;
4 5
 import org.springframework.web.bind.annotation.ControllerAdvice;
5 6
 import org.springframework.web.bind.annotation.ExceptionHandler;
@@ -8,6 +9,16 @@ import org.springframework.web.bind.annotation.ResponseBody;
8 9
 @ControllerAdvice
9 10
 @ResponseBody
10 11
 public class GlobalException {
12
+
13
+    @ExceptionHandler(SaTokenException.class)
14
+    public ResponseBean handleSaTokenException(Exception e){
15
+        e.printStackTrace();
16
+        ResponseBean response = new ResponseBean();
17
+        response.setMessage(e.getMessage());
18
+        response.setCode(ResponseBean.ERROR_AUTH_FAIL);
19
+        return response;
20
+    }
21
+
11 22
     @ExceptionHandler(Exception.class)
12 23
     public ResponseBean handleException(Exception e){
13 24
         e.printStackTrace();

+ 16
- 0
src/main/java/com/yunzhi/inte/mapper/EvaluateMapper.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import org.apache.ibatis.annotations.Mapper;
5
+import org.apache.ibatis.annotations.Param;
6
+import com.yunzhi.inte.entity.Evaluate;
7
+
8
+ /**
9
+ * 评价表;(evaluate)表数据库访问层
10
+ * @author : http://njyunzhi.com
11
+ * @date : 2022-10-13
12
+ */
13
+@Mapper
14
+public interface EvaluateMapper  extends BaseMapper<Evaluate>{
15
+    
16
+}

+ 16
- 0
src/main/java/com/yunzhi/inte/mapper/NoticeMessageMapper.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import org.apache.ibatis.annotations.Mapper;
5
+import org.apache.ibatis.annotations.Param;
6
+import com.yunzhi.inte.entity.NoticeMessage;
7
+
8
+ /**
9
+ * 消息表;(notice_message)表数据库访问层
10
+ * @author : http://njyunzhi.com
11
+ * @date : 2022-10-13
12
+ */
13
+@Mapper
14
+public interface NoticeMessageMapper  extends BaseMapper<NoticeMessage>{
15
+    
16
+}

+ 16
- 0
src/main/java/com/yunzhi/inte/mapper/PostsFilesMapper.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import org.apache.ibatis.annotations.Mapper;
5
+import org.apache.ibatis.annotations.Param;
6
+import com.yunzhi.inte.entity.PostsFiles;
7
+
8
+ /**
9
+ * 关联文件;(posts_files)表数据库访问层
10
+ * @author : http://njyunzhi.com
11
+ * @date : 2022-10-13
12
+ */
13
+@Mapper
14
+public interface PostsFilesMapper  extends BaseMapper<PostsFiles>{
15
+    
16
+}

+ 16
- 0
src/main/java/com/yunzhi/inte/mapper/ResourcesMapper.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import org.apache.ibatis.annotations.Mapper;
5
+import org.apache.ibatis.annotations.Param;
6
+import com.yunzhi.inte.entity.Resources;
7
+
8
+ /**
9
+ * 资源;(resources)表数据库访问层
10
+ * @author : http://njyunzhi.com
11
+ * @date : 2022-10-12
12
+ */
13
+@Mapper
14
+public interface ResourcesMapper  extends BaseMapper<Resources>{
15
+    
16
+}

+ 16
- 0
src/main/java/com/yunzhi/inte/mapper/RoleResourcesMapper.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import org.apache.ibatis.annotations.Mapper;
5
+import org.apache.ibatis.annotations.Param;
6
+import com.yunzhi.inte.entity.RoleResources;
7
+
8
+ /**
9
+ * 角色资源;(role_resources)表数据库访问层
10
+ * @author : http://njyunzhi.com
11
+ * @date : 2022-10-12
12
+ */
13
+@Mapper
14
+public interface RoleResourcesMapper  extends BaseMapper<RoleResources>{
15
+    
16
+}

+ 16
- 0
src/main/java/com/yunzhi/inte/mapper/RolesMapper.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import org.apache.ibatis.annotations.Mapper;
5
+import org.apache.ibatis.annotations.Param;
6
+import com.yunzhi.inte.entity.Roles;
7
+
8
+ /**
9
+ * 角色;(roles)表数据库访问层
10
+ * @author : http://njyunzhi.com
11
+ * @date : 2022-10-12
12
+ */
13
+@Mapper
14
+public interface RolesMapper  extends BaseMapper<Roles>{
15
+    
16
+}

+ 16
- 0
src/main/java/com/yunzhi/inte/mapper/UserRolesMapper.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import org.apache.ibatis.annotations.Mapper;
5
+import org.apache.ibatis.annotations.Param;
6
+import com.yunzhi.inte.entity.UserRoles;
7
+
8
+ /**
9
+ * 授权角色;(user_roles)表数据库访问层
10
+ * @author : http://njyunzhi.com
11
+ * @date : 2022-10-12
12
+ */
13
+@Mapper
14
+public interface UserRolesMapper  extends BaseMapper<UserRoles>{
15
+    
16
+}

+ 17
- 0
src/main/java/com/yunzhi/inte/mapper/UsersMapper.java Прегледај датотеку

@@ -0,0 +1,17 @@
1
+package com.yunzhi.inte.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import org.apache.ibatis.annotations.Mapper;
5
+import org.apache.ibatis.annotations.Param;
6
+import com.yunzhi.inte.entity.Users;
7
+
8
+ /**
9
+ * 用户表;(users)表数据库访问层
10
+ * @author : http://njyunzhi.com
11
+ * @date : 2022-10-12
12
+ */
13
+@Mapper
14
+public interface UsersMapper  extends BaseMapper<Users>{
15
+
16
+     Users getByLoginID(@Param("loginName") String loginName);
17
+ }

+ 0
- 72
src/main/java/com/yunzhi/inte/rtsp/ChannelGroupHolder.java Прегледај датотеку

@@ -1,72 +0,0 @@
1
-package com.yunzhi.inte.rtsp;
2
-
3
-import io.netty.channel.Channel;
4
-import io.netty.channel.ChannelId;
5
-import io.netty.channel.group.ChannelGroup;
6
-import io.netty.channel.group.DefaultChannelGroup;
7
-import io.netty.util.concurrent.ImmediateEventExecutor;
8
-import lombok.extern.slf4j.Slf4j;
9
-
10
-import java.util.HashMap;
11
-import java.util.Map;
12
-
13
-/**
14
- * 保存群组
15
- */
16
-@Slf4j
17
-public class ChannelGroupHolder {
18
-
19
-    private static Map<String, ChannelGroup> channelGroups = new HashMap<>();
20
-    private static Map<String, String> channelTagMapping = new HashMap<>();
21
-
22
-    public static Map<String, ChannelGroup> getChannelGroups() {
23
-        return channelGroups;
24
-    }
25
-
26
-    /**
27
-     * 添加channel到群组
28
-     */
29
-    public static synchronized void add(String tag, Channel channel) {
30
-        ChannelGroup group = channelGroups.get(tag);
31
-        if (group == null) {
32
-            group = new DefaultChannelGroup(ImmediateEventExecutor.INSTANCE);
33
-            log.info("创建新群组:{}", tag);
34
-            channelGroups.put(tag, group);
35
-        }
36
-        group.add(channel);
37
-        ChannelId channelId = channel.id();
38
-        channelTagMapping.put(channelId.toString(), tag);
39
-        log.info("群组{}加入新channel:{}", tag, channelId);
40
-    }
41
-
42
-    /**
43
-     * 根据IP获取群组
44
-     */
45
-    public static ChannelGroup get(String tag) {
46
-        return channelGroups.get(tag);
47
-    }
48
-
49
-    /**
50
-     * 移除指定channel,如果群组变为空,返回对应IP
51
-     */
52
-    public static String remove(Channel channel) {
53
-        String channelId = channel.id().toString();
54
-        String tag = channelTagMapping.get(channelId);
55
-        channelTagMapping.remove(channelId);
56
-        if (tag != null && !channelTagMapping.containsValue(tag)) {
57
-            log.info("移除channel:{},所在群组:{}", channelId, tag);
58
-            return tag;
59
-        }
60
-        return null;
61
-    }
62
-
63
-    /**
64
-     * 关闭所有群组
65
-     */
66
-    public static void close() {
67
-        for (ChannelGroup group : channelGroups.values()) {
68
-            group.close();
69
-        }
70
-    }
71
-
72
-}

+ 0
- 26
src/main/java/com/yunzhi/inte/rtsp/FFmpeg.java Прегледај датотеку

@@ -1,26 +0,0 @@
1
-package com.yunzhi.inte.rtsp;
2
-
3
-import lombok.extern.slf4j.Slf4j;
4
-import org.springframework.beans.factory.annotation.Value;
5
-import org.springframework.stereotype.Component;
6
-
7
-import java.io.IOException;
8
-
9
-@Slf4j
10
-@Component
11
-public class FFmpeg {
12
-    @Value("${my.minitor.port}")
13
-    Integer port;
14
-
15
-    @Value("${my.minitor.ffmpeg}")
16
-    String ffmpegBin;
17
-
18
-    public Process run(String source) throws IOException {
19
-        String command = ffmpegBin + " -f rtsp -rtsp_transport tcp -i " + source
20
-                + " -strict -2 -c:v libx264 -vsync 2 -c:a aac "
21
-                + "-f mpegts -codec:v mpeg1video -s 640x480 -b:v 1000k -bf 0 http://127.0.0.1:" + port
22
-                + "/push/" + source;
23
-        log.info(command);
24
-        return Runtime.getRuntime().exec(command);
25
-    }
26
-}

+ 0
- 107
src/main/java/com/yunzhi/inte/rtsp/HttpRequestHandler.java Прегледај датотеку

@@ -1,107 +0,0 @@
1
-package com.yunzhi.inte.rtsp;
2
-
3
-import io.netty.buffer.ByteBuf;
4
-import io.netty.buffer.Unpooled;
5
-import io.netty.channel.ChannelFuture;
6
-import io.netty.channel.ChannelFutureListener;
7
-import io.netty.channel.ChannelHandlerContext;
8
-import io.netty.channel.SimpleChannelInboundHandler;
9
-import io.netty.channel.group.ChannelGroup;
10
-import io.netty.channel.group.ChannelGroupFuture;
11
-import io.netty.handler.codec.http.*;
12
-import io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame;
13
-import lombok.extern.slf4j.Slf4j;
14
-
15
-import java.io.File;
16
-import java.io.IOException;
17
-import java.io.RandomAccessFile;
18
-
19
-/**
20
- * 处理HTTP请求
21
- */
22
-@Slf4j
23
-@SuppressWarnings("deprecation")
24
-public class HttpRequestHandler extends SimpleChannelInboundHandler<HttpObject> {
25
-    private final String wsUri;
26
-    private String monitorIp;
27
-
28
-    public HttpRequestHandler(String wsUri) {
29
-        this.wsUri = wsUri;
30
-    }
31
-
32
-    @Override
33
-    public void channelRead0(ChannelHandlerContext ctx, HttpObject msg) throws Exception {
34
-        if (msg instanceof HttpRequest) {
35
-            HttpRequest request = (HttpRequest) msg;
36
-            String uri = request.getUri();
37
-            log.info("收到HTTP请求:{}", uri);
38
-
39
-            // 处理WebSocket请求
40
-            if (uri.contains(wsUri)) {
41
-                String ip = uri.split(wsUri + "/")[1];
42
-                ChannelGroupHolder.add(ip, ctx.channel());
43
-                TransferRtspHelper.open(ip);
44
-                ctx.fireChannelRead(new DefaultFullHttpRequest(request.protocolVersion(), request.method(), wsUri,
45
-                        Unpooled.buffer(), request.headers(), request.headers()));
46
-            } else if (uri.contains("/push/")) {
47
-                monitorIp = uri.split("/push/")[1];
48
-                log.info("开始接收转码推流:{}", monitorIp);
49
-            }
50
-            // 处理HTTP请求
51
-            else {
52
-                FullHttpResponse response = null;
53
-                response = generateResponse(request, null);
54
-                ctx.write(response);
55
-                ChannelFuture future = ctx.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT);
56
-                if (!HttpHeaders.isKeepAlive(request)) {
57
-                    future.addListener(ChannelFutureListener.CLOSE);
58
-                }
59
-            }
60
-        } else if (msg instanceof HttpContent && !(msg instanceof LastHttpContent)) {
61
-            HttpContent chunk = (HttpContent) msg;
62
-            ChannelGroup group = ChannelGroupHolder.get(monitorIp);
63
-            ChannelGroupFuture groupFuture = group.writeAndFlush(new BinaryWebSocketFrame(chunk.retain().content()));
64
-            groupFuture.sync();
65
-        }
66
-    }
67
-
68
-    @Override
69
-    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
70
-        cause.printStackTrace();
71
-        ctx.close();
72
-    }
73
-
74
-    /**
75
-     * 生成HTTP响应
76
-     */
77
-    private FullHttpResponse generateResponse(HttpRequest request, RandomAccessFile file) throws IOException {
78
-        ByteBuf buf = generateByteBuf(file);
79
-        FullHttpResponse response = new DefaultFullHttpResponse(request.getProtocolVersion(), HttpResponseStatus.OK,
80
-                buf);
81
-        if (HttpHeaders.isKeepAlive(request)) {
82
-            response.headers().set(HttpHeaders.Names.CONNECTION, HttpHeaders.Values.KEEP_ALIVE);
83
-        }
84
-        response.headers().set(HttpHeaders.Names.CONTENT_LENGTH, buf.writerIndex());
85
-        return response;
86
-    }
87
-
88
-    /**
89
-     * 生成HTTP响应内容
90
-     */
91
-    private ByteBuf generateByteBuf(RandomAccessFile file) throws IOException {
92
-        ByteBuf buf = Unpooled.buffer(0);
93
-        if (file != null) {
94
-            int length = (int) file.length();
95
-            byte[] fileByte = new byte[length];
96
-            file.read(fileByte);
97
-            file.close();
98
-
99
-            buf = Unpooled.buffer(length);
100
-            for (int i = 0; i < length; i++) {
101
-                buf.writeByte(fileByte[i]);
102
-            }
103
-        }
104
-        return buf;
105
-    }
106
-
107
-}

+ 0
- 54
src/main/java/com/yunzhi/inte/rtsp/MonitorServer.java Прегледај датотеку

@@ -1,54 +0,0 @@
1
-package com.yunzhi.inte.rtsp;
2
-
3
-import io.netty.bootstrap.ServerBootstrap;
4
-import io.netty.channel.Channel;
5
-import io.netty.channel.EventLoopGroup;
6
-import io.netty.channel.nio.NioEventLoopGroup;
7
-import io.netty.channel.socket.nio.NioServerSocketChannel;
8
-import lombok.extern.slf4j.Slf4j;
9
-import org.springframework.beans.factory.annotation.Autowired;
10
-import org.springframework.beans.factory.annotation.Value;
11
-import org.springframework.stereotype.Component;
12
-
13
-import javax.annotation.PostConstruct;
14
-
15
-/**
16
- * 引导服务器
17
- */
18
-@Slf4j
19
-@Component
20
-public class MonitorServer extends Thread {
21
-    @Value("${my.minitor.port}")
22
-    Integer port;
23
-
24
-    @Autowired
25
-    FFmpeg fFmpeg;
26
-
27
-    public void run() {
28
-        TransferRtspHelper.TransferTask.fFmpeg = fFmpeg;
29
-        EventLoopGroup group = new NioEventLoopGroup();
30
-        EventLoopGroup workerGroup = new NioEventLoopGroup();
31
-
32
-        ServerBootstrap bootstrap = new ServerBootstrap();
33
-        bootstrap.group(group, workerGroup).channel(NioServerSocketChannel.class)
34
-                .childHandler(new MonitorServerInitializer());
35
-
36
-        try {
37
-            Channel channel = bootstrap.bind(port).sync().channel();
38
-
39
-            TransferRtspHelper.schedule();
40
-            log.info("服务器开始运行......[:{}]", port);
41
-
42
-            channel.closeFuture().sync();
43
-        } catch (InterruptedException e) {
44
-            e.printStackTrace();
45
-        }
46
-
47
-        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
48
-            group.shutdownGracefully();
49
-            workerGroup.shutdownGracefully();
50
-            ChannelGroupHolder.close();
51
-            log.info("服务器已关闭");
52
-        }));
53
-    }
54
-}

+ 0
- 24
src/main/java/com/yunzhi/inte/rtsp/MonitorServerInitializer.java Прегледај датотеку

@@ -1,24 +0,0 @@
1
-package com.yunzhi.inte.rtsp;
2
-
3
-import io.netty.channel.Channel;
4
-import io.netty.channel.ChannelInitializer;
5
-import io.netty.channel.ChannelPipeline;
6
-import io.netty.handler.codec.http.HttpContentCompressor;
7
-import io.netty.handler.codec.http.HttpServerCodec;
8
-import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler;
9
-
10
-/**
11
- * 初始化ChannelPipeline
12
- */
13
-public class MonitorServerInitializer extends ChannelInitializer<Channel> {
14
-
15
-    @Override
16
-    public void initChannel(Channel ch) {
17
-        ChannelPipeline pipeline = ch.pipeline();
18
-        pipeline.addLast(new HttpServerCodec());
19
-        pipeline.addLast(new HttpContentCompressor());
20
-        pipeline.addLast(new HttpRequestHandler("/ws"));
21
-        pipeline.addLast(new WebSocketServerProtocolHandler("/ws"));
22
-        pipeline.addLast(new WebSocketHandler());
23
-    }
24
-}

+ 0
- 147
src/main/java/com/yunzhi/inte/rtsp/TransferRtspHelper.java Прегледај датотеку

@@ -1,147 +0,0 @@
1
-package com.yunzhi.inte.rtsp;
2
-
3
-import com.yunzhi.inte.InteApplication;
4
-import io.netty.channel.group.ChannelGroup;
5
-import lombok.AllArgsConstructor;
6
-import lombok.Data;
7
-import lombok.NoArgsConstructor;
8
-import lombok.SneakyThrows;
9
-import lombok.extern.slf4j.Slf4j;
10
-
11
-import java.io.IOException;
12
-import java.util.*;
13
-import java.util.concurrent.ExecutorService;
14
-import java.util.concurrent.Executors;
15
-import java.util.concurrent.ScheduledExecutorService;
16
-import java.util.concurrent.TimeUnit;
17
-
18
-/**
19
- * 转码
20
- */
21
-@Slf4j
22
-public class TransferRtspHelper {
23
-
24
-    private static final ScheduledExecutorService SCHEDULE = Executors.newScheduledThreadPool(2);
25
-    private static final ExecutorService PROCESS_EXECUTOR = Executors.newCachedThreadPool();
26
-    private static Map<String, Transfer> transferMap = new HashMap<>();
27
-
28
-    /**
29
-     * 开启
30
-     */
31
-    public static synchronized void open(String ip) throws IOException {
32
-        Transfer transfer = transferMap.get(ip);
33
-        if (transfer == null) {
34
-            transfer = new Transfer();
35
-            transfer.setIp(ip);
36
-            transfer.setStartTime(new Date());
37
-            transfer.setContinueTime(new Date());
38
-            transfer.setCount(1);
39
-            PROCESS_EXECUTOR.submit(new TransferTask(transfer));
40
-            transferMap.put(ip, transfer);
41
-        } else {
42
-            transfer.setContinueTime(new Date());
43
-            transfer.incCount();
44
-        }
45
-        log.info("开始转码:{}", transfer);
46
-    }
47
-
48
-    /**
49
-     * 关闭
50
-     */
51
-    public static synchronized void close(String ip) {
52
-        Transfer transfer = transferMap.get(ip);
53
-        if (transfer != null) {
54
-            transfer.decCount();
55
-            if (transfer.getCount() <= 0) {
56
-                Process process = transfer.getProcess();
57
-                if (process != null && process.isAlive()) {
58
-                    process.destroy();
59
-                }
60
-                transferMap.remove(ip);
61
-            }
62
-        }
63
-        log.info("结束转码:{}", transfer);
64
-    }
65
-
66
-    /**
67
-     * 若当前有在转码,打印相关信息
68
-     */
69
-    public static void report() {
70
-        Map<String, ChannelGroup> channelGroups = ChannelGroupHolder.getChannelGroups();
71
-        transferMap.forEach((k, v) -> {
72
-            ChannelGroup group = channelGroups.get(k);
73
-            if (group != null && !group.isEmpty()) {
74
-                log.info("当前转码中:{}", v);
75
-            }
76
-        });
77
-    }
78
-
79
-    /**
80
-     * 如果没有对应channel,停止转码,如果前端页面还开着,会自动建立回连接
81
-     */
82
-    public static void clear() {
83
-        List<String> toClearIp = new ArrayList<>();
84
-        Map<String, ChannelGroup> channelGroups = ChannelGroupHolder.getChannelGroups();
85
-        transferMap.forEach((k, v) -> {
86
-            ChannelGroup group = channelGroups.get(k);
87
-            if (group == null || group.isEmpty()
88
-                    || System.currentTimeMillis() - v.getContinueTime().getTime() > 1800_000L) {
89
-                toClearIp.add(k);
90
-            }
91
-        });
92
-        if (!toClearIp.isEmpty()) {
93
-            log.info("关闭以下无效转码:{}", toClearIp);
94
-            toClearIp.forEach(TransferRtspHelper::close);
95
-        }
96
-    }
97
-
98
-    /**
99
-     * 开启定时器
100
-     */
101
-    public static void schedule() {
102
-        SCHEDULE.scheduleAtFixedRate(TransferRtspHelper::report, 1L, 5L, TimeUnit.MINUTES);
103
-        SCHEDULE.scheduleAtFixedRate(TransferRtspHelper::clear, 60L, 5L, TimeUnit.SECONDS);
104
-    }
105
-
106
-    @Data
107
-    @NoArgsConstructor
108
-    @AllArgsConstructor
109
-    private static class Transfer {
110
-        private String ip;
111
-        private Process process;
112
-        private int count;
113
-        private Date startTime;
114
-        private Date continueTime;
115
-
116
-        public void incCount() {
117
-            count++;
118
-        }
119
-
120
-        public void decCount() {
121
-            count--;
122
-        }
123
-    }
124
-
125
-    @Data
126
-    @NoArgsConstructor
127
-    @AllArgsConstructor
128
-    public static class TransferTask implements Runnable {
129
-
130
-        private Transfer transfer;
131
-
132
-        public static FFmpeg fFmpeg;
133
-
134
-        @SneakyThrows
135
-        @Override
136
-        public void run() {
137
-            try {
138
-                String ip = transfer.getIp();
139
-                Process process = fFmpeg.run(ip);
140
-                transfer.setProcess(process);
141
-            } catch (Exception e) {
142
-                e.printStackTrace();
143
-            }
144
-        }
145
-    }
146
-
147
-}

+ 0
- 40
src/main/java/com/yunzhi/inte/rtsp/WebSocketHandler.java Прегледај датотеку

@@ -1,40 +0,0 @@
1
-package com.yunzhi.inte.rtsp;
2
-
3
-import io.netty.channel.Channel;
4
-import io.netty.channel.ChannelHandlerContext;
5
-import io.netty.channel.SimpleChannelInboundHandler;
6
-import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
7
-import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler;
8
-import lombok.extern.slf4j.Slf4j;
9
-
10
-/**
11
- * 处理文本帧
12
- */
13
-@Slf4j
14
-public class WebSocketHandler extends SimpleChannelInboundHandler<TextWebSocketFrame> {
15
-
16
-    @Override
17
-    public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
18
-        if (evt == WebSocketServerProtocolHandler.ServerHandshakeStateEvent.HANDSHAKE_COMPLETE) {
19
-            log.info("WebSocket连接成功:{}", ctx.channel().id());
20
-        } else {
21
-            super.userEventTriggered(ctx, evt);
22
-        }
23
-    }
24
-
25
-    @Override
26
-    public void channelRead0(ChannelHandlerContext ctx, TextWebSocketFrame msg) throws Exception {
27
-    }
28
-
29
-    @Override
30
-    public void channelInactive(ChannelHandlerContext ctx) throws Exception {
31
-        Channel channel = ctx.channel();
32
-        log.info("websocket连接断开:{}", channel.id());
33
-        String toDeleteTag = ChannelGroupHolder.remove(channel);
34
-        if (toDeleteTag != null) {
35
-            TransferRtspHelper.close(toDeleteTag);
36
-        }
37
-        ctx.fireChannelInactive();
38
-    }
39
-
40
-}

+ 13
- 0
src/main/java/com/yunzhi/inte/service/EvaluateService.java Прегледај датотеку

@@ -0,0 +1,13 @@
1
+package com.yunzhi.inte.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.yunzhi.inte.entity.Evaluate;
5
+
6
+ /**
7
+ * 评价表;(evaluate)表服务接口
8
+ * @author : http://njyunzhi.com
9
+ * @date : 2022-10-13
10
+ */
11
+public interface EvaluateService extends IBaseService<Evaluate> {
12
+    
13
+}

+ 13
- 0
src/main/java/com/yunzhi/inte/service/NoticeMessageService.java Прегледај датотеку

@@ -0,0 +1,13 @@
1
+package com.yunzhi.inte.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.yunzhi.inte.entity.NoticeMessage;
5
+
6
+ /**
7
+ * 消息表;(notice_message)表服务接口
8
+ * @author : http://njyunzhi.com
9
+ * @date : 2022-10-13
10
+ */
11
+public interface NoticeMessageService extends IBaseService<NoticeMessage> {
12
+    
13
+}

+ 13
- 0
src/main/java/com/yunzhi/inte/service/PostsFilesService.java Прегледај датотеку

@@ -0,0 +1,13 @@
1
+package com.yunzhi.inte.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.yunzhi.inte.entity.PostsFiles;
5
+
6
+ /**
7
+ * 关联文件;(posts_files)表服务接口
8
+ * @author : http://njyunzhi.com
9
+ * @date : 2022-10-13
10
+ */
11
+public interface PostsFilesService extends IBaseService<PostsFiles> {
12
+    
13
+}

+ 13
- 0
src/main/java/com/yunzhi/inte/service/ResourcesService.java Прегледај датотеку

@@ -0,0 +1,13 @@
1
+package com.yunzhi.inte.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.yunzhi.inte.entity.Resources;
5
+
6
+ /**
7
+ * 资源;(resources)表服务接口
8
+ * @author : http://njyunzhi.com
9
+ * @date : 2022-10-12
10
+ */
11
+public interface ResourcesService extends IBaseService<Resources> {
12
+    
13
+}

+ 13
- 0
src/main/java/com/yunzhi/inte/service/RoleResourcesService.java Прегледај датотеку

@@ -0,0 +1,13 @@
1
+package com.yunzhi.inte.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.yunzhi.inte.entity.RoleResources;
5
+
6
+ /**
7
+ * 角色资源;(role_resources)表服务接口
8
+ * @author : http://njyunzhi.com
9
+ * @date : 2022-10-12
10
+ */
11
+public interface RoleResourcesService extends IBaseService<RoleResources> {
12
+    
13
+}

+ 13
- 0
src/main/java/com/yunzhi/inte/service/RolesService.java Прегледај датотеку

@@ -0,0 +1,13 @@
1
+package com.yunzhi.inte.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.yunzhi.inte.entity.Roles;
5
+
6
+ /**
7
+ * 角色;(roles)表服务接口
8
+ * @author : http://njyunzhi.com
9
+ * @date : 2022-10-12
10
+ */
11
+public interface RolesService extends IBaseService<Roles> {
12
+    
13
+}

+ 13
- 0
src/main/java/com/yunzhi/inte/service/UserRolesService.java Прегледај датотеку

@@ -0,0 +1,13 @@
1
+package com.yunzhi.inte.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.yunzhi.inte.entity.UserRoles;
5
+
6
+ /**
7
+ * 授权角色;(user_roles)表服务接口
8
+ * @author : http://njyunzhi.com
9
+ * @date : 2022-10-12
10
+ */
11
+public interface UserRolesService extends IBaseService<UserRoles> {
12
+    
13
+}

+ 15
- 0
src/main/java/com/yunzhi/inte/service/UsersService.java Прегледај датотеку

@@ -0,0 +1,15 @@
1
+package com.yunzhi.inte.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.yunzhi.inte.entity.Users;
5
+import com.yunzhi.inte.vo.LoginParm;
6
+
7
+/**
8
+ * 用户表;(users)表服务接口
9
+ * @author : http://njyunzhi.com
10
+ * @date : 2022-10-12
11
+ */
12
+public interface UsersService extends IBaseService<Users> {
13
+
14
+     Users login(LoginParm loginParm) throws Exception;
15
+ }

+ 16
- 0
src/main/java/com/yunzhi/inte/service/impl/EvaluateServiceImpl.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.service.impl;
2
+
3
+import org.springframework.beans.factory.annotation.Autowired;
4
+import org.springframework.stereotype.Service;
5
+import com.yunzhi.inte.entity.Evaluate;
6
+import com.yunzhi.inte.mapper.EvaluateMapper;
7
+import com.yunzhi.inte.service.EvaluateService;
8
+ /**
9
+ * 评价表;(evaluate)表服务实现类
10
+ * @author : http://www.chiner.pro
11
+ * @date : 2022-10-13
12
+ */
13
+@Service
14
+public class EvaluateServiceImpl extends BaseServiceImpl<EvaluateMapper, Evaluate> implements EvaluateService {
15
+    
16
+}

+ 16
- 0
src/main/java/com/yunzhi/inte/service/impl/NoticeMessageServiceImpl.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.service.impl;
2
+
3
+import org.springframework.beans.factory.annotation.Autowired;
4
+import org.springframework.stereotype.Service;
5
+import com.yunzhi.inte.entity.NoticeMessage;
6
+import com.yunzhi.inte.mapper.NoticeMessageMapper;
7
+import com.yunzhi.inte.service.NoticeMessageService;
8
+ /**
9
+ * 消息表;(notice_message)表服务实现类
10
+ * @author : http://www.chiner.pro
11
+ * @date : 2022-10-13
12
+ */
13
+@Service
14
+public class NoticeMessageServiceImpl extends BaseServiceImpl<NoticeMessageMapper, NoticeMessage> implements NoticeMessageService {
15
+    
16
+}

+ 16
- 0
src/main/java/com/yunzhi/inte/service/impl/PostsFilesServiceImpl.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.service.impl;
2
+
3
+import org.springframework.beans.factory.annotation.Autowired;
4
+import org.springframework.stereotype.Service;
5
+import com.yunzhi.inte.entity.PostsFiles;
6
+import com.yunzhi.inte.mapper.PostsFilesMapper;
7
+import com.yunzhi.inte.service.PostsFilesService;
8
+ /**
9
+ * 关联文件;(posts_files)表服务实现类
10
+ * @author : http://www.chiner.pro
11
+ * @date : 2022-10-13
12
+ */
13
+@Service
14
+public class PostsFilesServiceImpl extends BaseServiceImpl<PostsFilesMapper, PostsFiles> implements PostsFilesService {
15
+    
16
+}

+ 16
- 0
src/main/java/com/yunzhi/inte/service/impl/ResourcesServiceImpl.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.service.impl;
2
+
3
+import org.springframework.beans.factory.annotation.Autowired;
4
+import org.springframework.stereotype.Service;
5
+import com.yunzhi.inte.entity.Resources;
6
+import com.yunzhi.inte.mapper.ResourcesMapper;
7
+import com.yunzhi.inte.service.ResourcesService;
8
+ /**
9
+ * 资源;(resources)表服务实现类
10
+ * @author : http://www.chiner.pro
11
+ * @date : 2022-10-12
12
+ */
13
+@Service
14
+public class ResourcesServiceImpl extends BaseServiceImpl<ResourcesMapper, Resources> implements ResourcesService {
15
+    
16
+}

+ 16
- 0
src/main/java/com/yunzhi/inte/service/impl/RoleResourcesServiceImpl.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.service.impl;
2
+
3
+import org.springframework.beans.factory.annotation.Autowired;
4
+import org.springframework.stereotype.Service;
5
+import com.yunzhi.inte.entity.RoleResources;
6
+import com.yunzhi.inte.mapper.RoleResourcesMapper;
7
+import com.yunzhi.inte.service.RoleResourcesService;
8
+ /**
9
+ * 角色资源;(role_resources)表服务实现类
10
+ * @author : http://www.chiner.pro
11
+ * @date : 2022-10-12
12
+ */
13
+@Service
14
+public class RoleResourcesServiceImpl extends BaseServiceImpl<RoleResourcesMapper, RoleResources> implements RoleResourcesService {
15
+    
16
+}

+ 16
- 0
src/main/java/com/yunzhi/inte/service/impl/RolesServiceImpl.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.service.impl;
2
+
3
+import org.springframework.beans.factory.annotation.Autowired;
4
+import org.springframework.stereotype.Service;
5
+import com.yunzhi.inte.entity.Roles;
6
+import com.yunzhi.inte.mapper.RolesMapper;
7
+import com.yunzhi.inte.service.RolesService;
8
+ /**
9
+ * 角色;(roles)表服务实现类
10
+ * @author : http://www.chiner.pro
11
+ * @date : 2022-10-12
12
+ */
13
+@Service
14
+public class RolesServiceImpl extends BaseServiceImpl<RolesMapper, Roles> implements RolesService {
15
+    
16
+}

+ 16
- 0
src/main/java/com/yunzhi/inte/service/impl/UserRolesServiceImpl.java Прегледај датотеку

@@ -0,0 +1,16 @@
1
+package com.yunzhi.inte.service.impl;
2
+
3
+import org.springframework.beans.factory.annotation.Autowired;
4
+import org.springframework.stereotype.Service;
5
+import com.yunzhi.inte.entity.UserRoles;
6
+import com.yunzhi.inte.mapper.UserRolesMapper;
7
+import com.yunzhi.inte.service.UserRolesService;
8
+ /**
9
+ * 授权角色;(user_roles)表服务实现类
10
+ * @author : http://www.chiner.pro
11
+ * @date : 2022-10-12
12
+ */
13
+@Service
14
+public class UserRolesServiceImpl extends BaseServiceImpl<UserRolesMapper, UserRoles> implements UserRolesService {
15
+    
16
+}

+ 38
- 0
src/main/java/com/yunzhi/inte/service/impl/UsersServiceImpl.java Прегледај датотеку

@@ -0,0 +1,38 @@
1
+package com.yunzhi.inte.service.impl;
2
+
3
+import com.yunzhi.inte.common.EncryptUtils;
4
+import com.yunzhi.inte.vo.LoginParm;
5
+import org.springframework.beans.factory.annotation.Autowired;
6
+import org.springframework.stereotype.Service;
7
+import com.yunzhi.inte.entity.Users;
8
+import com.yunzhi.inte.mapper.UsersMapper;
9
+import com.yunzhi.inte.service.UsersService;
10
+ /**
11
+ * 用户表;(users)表服务实现类
12
+ * @author : http://www.chiner.pro
13
+ * @date : 2022-10-12
14
+ */
15
+@Service
16
+public class UsersServiceImpl extends BaseServiceImpl<UsersMapper, Users> implements UsersService {
17
+
18
+      @Override
19
+      public Users login(LoginParm loginParm) throws Exception {
20
+          Users sysUser = baseMapper.getByLoginID(loginParm.getUserName());
21
+          if (null == sysUser) {
22
+              throw new Exception("用户名或者密码不正确");
23
+          }
24
+
25
+          boolean isRight = checkPassword(loginParm.getPassword(), sysUser.getPassword(), sysUser.getId().toString());
26
+          if (!isRight) {
27
+              throw new Exception("用户名或者密码不正确");
28
+          }
29
+
30
+          sysUser.setPassword(null);
31
+          return sysUser;
32
+      }
33
+
34
+     boolean checkPassword(String src, String targ, String salt) {
35
+         String newPass = EncryptUtils.md5(src, salt);
36
+         return targ.equals(newPass);
37
+     }
38
+ }

+ 17
- 0
src/main/java/com/yunzhi/inte/vo/ChangePassword.java Прегледај датотеку

@@ -0,0 +1,17 @@
1
+package com.yunzhi.inte.vo;
2
+
3
+
4
+import io.swagger.annotations.ApiModel;
5
+import io.swagger.annotations.ApiModelProperty;
6
+import lombok.Data;
7
+
8
+@ApiModel(description = "登录参数")
9
+@Data
10
+public class ChangePassword {
11
+
12
+    @ApiModelProperty("原始密码")
13
+    String originPassword;
14
+
15
+    @ApiModelProperty("新密码")
16
+    String newPassword;
17
+}

+ 17
- 0
src/main/java/com/yunzhi/inte/vo/LoginParm.java Прегледај датотеку

@@ -0,0 +1,17 @@
1
+package com.yunzhi.inte.vo;
2
+
3
+import io.swagger.annotations.ApiModel;
4
+import io.swagger.annotations.ApiModelProperty;
5
+import lombok.Data;
6
+
7
+@Data
8
+@ApiModel("登录参数")
9
+public class LoginParm {
10
+
11
+    @ApiModelProperty("用户名")
12
+    String userName;
13
+
14
+    @ApiModelProperty("密码")
15
+    String password;
16
+
17
+}

+ 37
- 16
src/main/resources/application.yml Прегледај датотеку

@@ -3,37 +3,58 @@ server:
3 3
   servlet:
4 4
     context-path: /api
5 5
 
6
-### ??????????
7 6
 spring:
8 7
   datasource:
9
-    driver-class-name: org.sqlite.JDBC
10
-    url: jdbc:sqlite:E:\work\jgz\service\db\ybai.db
11
-    username:
12
-    password:
8
+    url: jdbc:mysql://110.40.183.156:3306/jgz?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true
9
+    username: jgz
10
+    password: jgz@ABCD1234
13 11
   application:
14
-    name: inte
12
+    name: jgz
15 13
   mvc:
16 14
     pathmatch:
17 15
       matching-strategy: ANT_PATH_MATCHER
18
-    static-path-pattern: ${my.static-prefix}/**
19 16
   web:
20 17
     resources:
21 18
       static-locations: file:///${my.upload-path}
22 19
   servlet:
23 20
     multipart:
24
-      max-file-size: 50MB #设置允许单个文件上传的大小
25
-      max-request-size: 50MB #设置允许上传的总的文件的大小
26
-  ### sqlite??????????
27
-#  jpa:
28
-#    database-platform: com.restart1025.sqlite.SQLiteDialect
29
-#    hibernate:
30
-#      ddl-auto: update
31
-#    show-sql: true
21
+      max-file-size: 1024MB #设置允许单个文件上传的大小
22
+      max-request-size: 1024MB #设置允许上传的总的文件的大小
23
+
24
+###
25
+yz:
26
+  filter:
27
+    annList:
28
+      - "/swagger-ui/**"
29
+      - "/swagger-resources/**"
30
+      - "/v2/**"
31
+      - "/login"
32
+
33
+# Sa-Token??
34
+sa-token:
35
+  # jwt??
36
+  jwt-secret-key: K85pMhy0HREVoCxYMv3OfDgkVPua5ZPN
37
+  # token?? (????cookie??)
38
+  token-name: Authorization
39
+  # ?? cookie
40
+  is-read-cookie: false
41
+  # token??????s ??30?, -1??????
42
+  timeout: 2592000
43
+  # token????? (???????????token??) ??: ?
44
+  activity-timeout: -1
45
+  # ???????????? (?true???????, ?false?????????)
46
+  is-concurrent: true
47
+  # ?????????????????token (?true?????????token, ?false?????????token)
48
+  is-share: false
49
+  # token??
50
+  token-style: uuid
51
+  # ????????
52
+  is-log: false
32 53
 
33 54
 my:
34 55
   server-base: http://192.168.89.147:8087/api
35 56
   upload-path: E:\work\jgz\upload
36
-  static-prefix: /assets
57
+  static-prefix: /
37 58
   minitor:
38 59
     port: 7777
39 60
     ffmpeg: D:\applications\ffmpeg-5.1-essentials_build\bin\ffmpeg.exe

+ 6
- 0
src/main/resources/mapper/EvaluateMapper.xml Прегледај датотеку

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

+ 6
- 0
src/main/resources/mapper/NoticeMessageMapper.xml Прегледај датотеку

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

+ 6
- 0
src/main/resources/mapper/PostsFilesMapper.xml Прегледај датотеку

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

+ 6
- 0
src/main/resources/mapper/ResourcesMapper.xml Прегледај датотеку

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

+ 6
- 0
src/main/resources/mapper/RoleResourcesMapper.xml Прегледај датотеку

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

+ 6
- 0
src/main/resources/mapper/RolesMapper.xml Прегледај датотеку

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

+ 6
- 0
src/main/resources/mapper/UserRolesMapper.xml Прегледај датотеку

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

+ 9
- 0
src/main/resources/mapper/UsersMapper.xml Прегледај датотеку

@@ -0,0 +1,9 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+
4
+<mapper namespace="com.yunzhi.inte.mapper.UsersMapper">
5
+
6
+    <select id="getByLoginID" resultType="com.yunzhi.inte.entity.Users">
7
+        SELECT * FROM users t WHERE t.login_name = #{loginName}
8
+    </select>
9
+</mapper>