Explorar el Código

修改模块配置。修改 学生查询,老师查询,添加查询登录用户角色。

tom hace 5 meses
padre
commit
d5d0bfd7cc

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1699 - 102
pla-sim/01_SQL/03_dev_backup/pla-chem-sim-dev-1.sql


+ 0 - 12
ruoyi-admin/src/main/resources/application-sim.yml

@@ -1,12 +0,0 @@
-# sim自定义相关配置
-sim:
-  #
-  gatewayIp: 192.168.10.10
-  #
-  gatewayPort: 8080
-  #
-  gatewayTimeout: 250
-  #
-  gatewayReachableTimeout: 2000
-  #
-  selfExamDuration: 45

+ 15 - 0
ruoyi-admin/src/main/resources/application.yml

@@ -127,3 +127,18 @@ xss:
   excludes: /system/notice
   # 匹配链接
   urlPatterns: /system/*,/monitor/*,/tool/*
+
+# sim自定义相关配置
+# com.ruoyi.sim.config.SimConfig
+sim-module-config:
+  #
+  routerIp: 123.112.16.165
+  #
+  rs485Ip: 123.112.16.165
+  #
+  rs485Port: 8899
+  #
+  commGlobal: false
+  #
+  selfExamDuration: 45
+

+ 38 - 27
ruoyi-sim/src/main/java/com/ruoyi/sim/config/SimConfig.java

@@ -1,5 +1,6 @@
 package com.ruoyi.sim.config;
 
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
 
@@ -7,65 +8,64 @@ import org.springframework.context.annotation.Configuration;
  * 本项目自定义配置类。
  */
 @Configuration
-@ConfigurationProperties(prefix = "sim")
+@ConfigurationProperties(prefix = "sim-module-config")
 public class SimConfig {
 
     /**
-     * 模拟器的 网关ip。
+     * 路由器ip。
      */
-    private String gatewayIp;
+    private String routerIp;
 
     /**
-     * 模拟器的 网关port
+     * 模拟器的 RS485网关ip。
      */
-    private int gatewayPort;
+    private String rs485Ip;
 
     /**
-     * 模拟器通信的 超时时间 ms
+     * 模拟器的 RS485网关port
      */
-    private long gatewayTimeout;
+    private int rs485Port;
 
     /**
-     *
+     * 模拟器通信总开关。
      */
-    private int gatewayReachableTimeout;
+    private boolean commGlobal;
 
     /**
-     * 自主练习时长 minute
+     * 自主练习时长 单位min。
      */
     private int selfExamDuration;
 
-
-    public String getGatewayIp() {
-        return gatewayIp;
+    public String getRouterIp() {
+        return routerIp;
     }
 
-    public void setGatewayIp(String gatewayIp) {
-        this.gatewayIp = gatewayIp;
+    public void setRouterIp(String routerIp) {
+        this.routerIp = routerIp;
     }
 
-    public int getGatewayPort() {
-        return gatewayPort;
+    public String getRs485Ip() {
+        return rs485Ip;
     }
 
-    public void setGatewayPort(int gatewayPort) {
-        this.gatewayPort = gatewayPort;
+    public void setRs485Ip(String rs485Ip) {
+        this.rs485Ip = rs485Ip;
     }
 
-    public long getGatewayTimeout() {
-        return gatewayTimeout;
+    public int getRs485Port() {
+        return rs485Port;
     }
 
-    public void setGatewayTimeout(long gatewayTimeout) {
-        this.gatewayTimeout = gatewayTimeout;
+    public void setRs485Port(int rs485Port) {
+        this.rs485Port = rs485Port;
     }
 
-    public int getGatewayReachableTimeout() {
-        return gatewayReachableTimeout;
+    public boolean isCommGlobal() {
+        return commGlobal;
     }
 
-    public void setGatewayReachableTimeout(int gatewayReachableTimeout) {
-        this.gatewayReachableTimeout = gatewayReachableTimeout;
+    public void setCommGlobal(boolean commGlobal) {
+        this.commGlobal = commGlobal;
     }
 
     public int getSelfExamDuration() {
@@ -75,4 +75,15 @@ public class SimConfig {
     public void setSelfExamDuration(int selfExamDuration) {
         this.selfExamDuration = selfExamDuration;
     }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this)
+                .append("routerIp", routerIp)
+                .append("rs485Ip", rs485Ip)
+                .append("rs485Port", rs485Port)
+                .append("commGlobal", commGlobal)
+                .append("selfExamDuration", selfExamDuration)
+                .toString();
+    }
 }

+ 26 - 28
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/AddOnUserController.java

@@ -1,23 +1,20 @@
 package com.ruoyi.sim.controller;
 
 import java.util.List;
-import javax.servlet.http.HttpServletResponse;
 
+import com.ruoyi.common.core.domain.entity.SysRole;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.sim.service.impl.AddOnUserService;
-import org.springframework.security.access.prepost.PreAuthorize;
+import com.ruoyi.system.service.ISysRoleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.*;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.sim.domain.AddOnUser;
-import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.common.core.page.TableDataInfo;
 
 /**
@@ -26,16 +23,18 @@ import com.ruoyi.common.core.page.TableDataInfo;
  * @author tom
  * @date 2024-12-11
  */
-// @RestController
-// @RequestMapping("/sim/add_on_user")
+@RestController
+@RequestMapping("/sim/add-on-user")
+@Api("用户附加Controller")
 public class AddOnUserController extends BaseController {
     @Autowired
     private AddOnUserService addOnUserService;
+    @Autowired
+    private ISysRoleService roleService;
 
     /**
      * 查询用户附加列表
      */
-    @PreAuthorize("@ss.hasPermi('sim:add_on_user:list')")
     @GetMapping("/list")
     public TableDataInfo list(AddOnUser addOnUser) {
         startPage();
@@ -44,21 +43,8 @@ public class AddOnUserController extends BaseController {
     }
 
     /**
-     * 导出用户附加列表
-     */
-    @PreAuthorize("@ss.hasPermi('sim:add_on_user:export')")
-    @Log(title = "用户附加", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, AddOnUser addOnUser) {
-        List<AddOnUser> list = addOnUserService.selectAddOnUserList(addOnUser);
-        ExcelUtil<AddOnUser> util = new ExcelUtil<AddOnUser>(AddOnUser.class);
-        util.exportExcel(response, list, "用户附加数据");
-    }
-
-    /**
      * 获取用户附加详细信息
      */
-    @PreAuthorize("@ss.hasPermi('sim:add_on_user:query')")
     @GetMapping(value = "/{userId}")
     public AjaxResult getInfo(@PathVariable("userId") Long userId) {
         return success(addOnUserService.selectAddOnUserByUserId(userId));
@@ -67,7 +53,6 @@ public class AddOnUserController extends BaseController {
     /**
      * 新增用户附加
      */
-    @PreAuthorize("@ss.hasPermi('sim:add_on_user:add')")
     @Log(title = "用户附加", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody AddOnUser addOnUser) {
@@ -77,7 +62,6 @@ public class AddOnUserController extends BaseController {
     /**
      * 修改用户附加
      */
-    @PreAuthorize("@ss.hasPermi('sim:add_on_user:edit')")
     @Log(title = "用户附加", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody AddOnUser addOnUser) {
@@ -87,10 +71,24 @@ public class AddOnUserController extends BaseController {
     /**
      * 删除用户附加
      */
-    @PreAuthorize("@ss.hasPermi('sim:add_on_user:remove')")
     @Log(title = "用户附加", businessType = BusinessType.DELETE)
     @DeleteMapping("/{userIds}")
     public AjaxResult remove(@PathVariable Long[] userIds) {
         return toAjax(addOnUserService.deleteAddOnUserByUserIds(userIds));
     }
+
+    /**
+     * 返回当前登录账号角色info。
+     */
+    @GetMapping(value = "/roleInfo/")
+    @ApiOperation("返回当前登录账号角色info")
+    public AjaxResult getRole() {
+        Long userId = SecurityUtils.getUserId();
+        SysRole role = null;
+        List<Long> roleList = roleService.selectRoleListByUserId(userId);
+        if (roleList != null && !roleList.isEmpty()) {
+            role = roleService.selectRoleById(roleList.get(0));
+        }
+        return success(role);
+    }
 }

+ 5 - 14
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/StudentController.java

@@ -35,23 +35,14 @@ public class StudentController extends BaseController {
     @Autowired
     private StudentService studentService;
 
-    /**
-     * copy
-     *
-     * @param user
-     * @return
-     */
-    // @PreAuthorize("@ss.hasPermi('sim:student:list')")
     @GetMapping("/list")
-    @ApiOperation("查询学生列表")
-    public TableDataInfo list() {
-        // startPage();  todo:分页
-        List<Student> list = studentService.selectStudentList();
-        return getDataTable(list);
+    @ApiOperation("[分页]查询学生列表")
+    public TableDataInfo list(SysUser suQ) {
+        return getDataTable(studentService.list(suQ));
     }
 
-    @GetMapping(value = "/letTry/{code}")
-    @ApiOperation("letTry")
+    // @GetMapping(value = "/letTry/{code}")
+    // @ApiOperation("letTry")
     public void letTry(@PathVariable(value = "code") int code) {
         studentService.letTry(code);
     }

+ 3 - 15
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/TeacherController.java

@@ -48,24 +48,12 @@ public class TeacherController extends BaseController {
     @Autowired
     private TeacherService teacherService;
 
-
-    /**
-     * copy
-     *
-     * @param user
-     * @return
-     */
-    // @PreAuthorize("@ss.hasPermi('sim:teacher:list')")
     @GetMapping("/list")
-    @ApiOperation("查询教师列表")
-    public TableDataInfo list() {
-        // startPage();
-        List<SysUser> list = teacherService.selectTeacherList();
-        return getDataTable(list);
+    @ApiOperation("[分页]查询教师列表")
+    public TableDataInfo list(SysUser suQ) {
+        return getDataTable(teacherService.list(suQ));
     }
 
-    // @PreAuthorize("@ss.hasPermi('sim:teacher:query')")
-
     /**
      * 新增教师
      */

+ 15 - 17
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/CommSendService.java

@@ -7,6 +7,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -31,18 +32,6 @@ public class CommSendService {
     interface Const {
 
         /**
-         * 123.112.16.165
-         */
-        String ROUTER_IP = "123.112.16.165";
-        /**
-         * 123.112.16.165
-         */
-        String IP = "123.112.16.165";
-        /**
-         * 8899
-         */
-        int PORT = 8899;
-        /**
          * 报文长度
          */
         int MSG_LENGTH = 20;
@@ -102,7 +91,7 @@ public class CommSendService {
     @Autowired
     private RealExamFaultService realExamFaultService;
     @Autowired
-    private SimConfig sConfig;
+    private SimConfig config;
 
     /**
      *
@@ -205,12 +194,12 @@ public class CommSendService {
     public void scheduledConnect() {
         l.info("scheduledConnect");
         try {
-            if (!isReachable(ROUTER_IP)) {
+            if (!isReachable(config.getRouterIp())) {
                 // ping 不通。
                 l.warn("ping not ok");
                 simService.updateAllEnableState(Sim.State.GATEWAY_OFFLINE);
             }
-            if (!isReachable(IP)) {
+            if (!isReachable(config.getRs485Ip())) {
                 // todo:ping 不通。
                 l.warn("ping not ok");
                 simService.updateAllEnableState(Sim.State.GATEWAY_OFFLINE);
@@ -523,6 +512,10 @@ public class CommSendService {
      * @return
      */
     public synchronized String send(final String sendMsg, final Sim s) throws IOException {
+        if (!config.isCommGlobal()) {
+            l.warn("isCommGlobal == false [模拟器通信被禁用!]");
+            return "";
+        }
         l.info("********sendMsg == [{}]", sendMsg);
         //
         {
@@ -565,10 +558,15 @@ public class CommSendService {
     }
 
     public void openSocket() throws IOException {
+        l.info(config.toString());
+        if (!config.isCommGlobal()) {
+            l.warn("isCommGlobal == false [模拟器通信被禁用!]");
+            return;
+        }
         if (!isSocketOk()) {
             simService.updateAllEnableState(Sim.State.GATEWAY_OFFLINE);
             l.info("openSocket cachedSocket is null");
-            cachedSocket = new Socket(IP, PORT);
+            cachedSocket = new Socket(config.getRs485Ip(), config.getRs485Port());
             // setSoTimeout todo:????
             // cachedSocket.setSoTimeout(2000);
         } else {
@@ -622,7 +620,7 @@ public class CommSendService {
      */
     public boolean isReachable(String ipV4) throws IOException {
         InetAddress ia = InetAddress.getByName(ipV4);
-        return ia.isReachable(sConfig.getGatewayReachableTimeout());
+        return ia.isReachable(2000);
     }
 
     /**

+ 24 - 3
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/StudentService.java

@@ -2,14 +2,13 @@ package com.ruoyi.sim.service.impl;
 
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.sim.constant.Consts;
 import com.ruoyi.sim.domain.AddOnDept;
 import com.ruoyi.sim.domain.Major;
 import com.ruoyi.sim.domain.Student;
 import com.ruoyi.system.mapper.*;
-import com.ruoyi.system.service.ISysConfigService;
-import com.ruoyi.system.service.ISysDeptService;
 import com.ruoyi.system.service.ISysUserService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -46,7 +45,7 @@ public class StudentService {
     private ISysUserService sysUserService;
 
     // @DataScope(deptAlias = "d", userAlias = "u")
-    public List<Student> selectStudentList() {
+    public List<Student> selectStudentListOld() {
         SysUser su = new SysUser();
         List<SysUser> list = userMapper.selectUserList(su);
         List<Student> list2 = new ArrayList<>();
@@ -70,6 +69,27 @@ public class StudentService {
         return list2;
     }
 
+    /**
+     * [分页]查询学生列表。
+     *
+     * @param suQ
+     * @return
+     */
+    public List<Student> list(SysUser suQ) {
+        // 分页
+        PageUtils.startPage();
+        suQ.setRoleId(Consts.ROLE_ID_STUDENT);
+        List<SysUser> listSu = sysUserService.selectAllocatedList(suQ);
+        List<Student> listSt = new ArrayList<>(listSu.size());
+        listSu.forEach(su -> {
+            Student st = new Student();
+            su.setPassword("~~~~");
+            BeanUtils.copyProperties(su, st);
+            listSt.add(st);
+        });
+        return listSt;
+    }
+
     public void letTry(int code) {
         List<SysUser> list = null;
         switch (code) {
@@ -98,6 +118,7 @@ public class StudentService {
             }
             break;
             case 6: {
+                // ok
                 PageUtils.startPage();
                 SysUser su = new SysUser();
                 su.setRoleId(Consts.ROLE_ID_STUDENT);

+ 28 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/TeacherService.java

@@ -2,12 +2,17 @@ package com.ruoyi.sim.service.impl;
 
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.sim.constant.Consts;
+import com.ruoyi.sim.domain.Student;
+import com.ruoyi.sim.domain.Teacher;
 import com.ruoyi.system.mapper.*;
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysUserService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -43,6 +48,8 @@ public class TeacherService {
 
     @Autowired
     protected Validator validator;
+    @Autowired
+    private ISysUserService sysUserService;
 
     // @DataScope(deptAlias = "d", userAlias = "u")
     public List<SysUser> selectTeacherList() {
@@ -61,4 +68,25 @@ public class TeacherService {
         }
         return list2;
     }
+
+    /**
+     * [分页]查询教师列表。
+     *
+     * @param suQ
+     * @return
+     */
+    public List<Teacher> list(SysUser suQ) {
+        // 分页
+        PageUtils.startPage();
+        suQ.setRoleId(Consts.ROLE_ID_TEACHER);
+        List<SysUser> listSu = sysUserService.selectAllocatedList(suQ);
+        List<Teacher> listSt = new ArrayList<>(listSu.size());
+        listSu.forEach(su -> {
+            Teacher t = new Teacher();
+            su.setPassword("~~~~");
+            BeanUtils.copyProperties(su, t);
+            listSt.add(t);
+        });
+        return listSt;
+    }
 }

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio