From 427d8b6cabd30f154777a51ca5f35c6c3ed716c4 Mon Sep 17 00:00:00 2001
From: lishuai <260038442@qq.com>
Date: 星期一, 18 十二月 2023 17:30:41 +0800
Subject: [PATCH] 安全题目

---
 server/dmvisit_admin/src/main/java/com/doumee/api/business/ProblemsController.java               |   10 +++--
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java |   20 ++++++++--
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java   |   13 +++++-
 server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/OptionsObject.java             |   18 +++++++++
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Problems.java                 |    5 ++
 5 files changed, 56 insertions(+), 10 deletions(-)

diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/ProblemsController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/ProblemsController.java
index 1cfe53c..4fa9842 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/ProblemsController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/ProblemsController.java
@@ -1,5 +1,6 @@
 package com.doumee.api.business;
 
+import com.alibaba.fastjson.JSON;
 import com.doumee.api.BaseController;
 import com.doumee.core.annotation.excel.ExcelExporter;
 import com.doumee.core.annotation.pr.PreventRepeat;
@@ -10,7 +11,8 @@
 import com.doumee.service.business.ProblemsService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
@@ -33,7 +35,7 @@
     @PreventRepeat
     @ApiOperation("鏂板缓")
     @PostMapping("/create")
-    @RequiresPermissions("business:problems:create")
+    //@RequiresPermissions("business:problems:create")
     public ApiResponse create(@RequestBody Problems problems) {
         return ApiResponse.success(problemsService.create(problems));
     }
@@ -61,7 +63,7 @@
 
     @ApiOperation("鏍规嵁ID淇敼")
     @PostMapping("/updateById")
-    @RequiresPermissions("business:problems:update")
+    //@RequiresPermissions("business:problems:update")
     public ApiResponse updateById(@RequestBody Problems problems) {
         problemsService.updateById(problems);
         return ApiResponse.success(null);
@@ -83,7 +85,7 @@
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
-    @RequiresPermissions("business:problems:query")
+    //@RequiresPermissions("business:problems:query")
     public ApiResponse findById(@PathVariable Integer id) {
         return ApiResponse.success(problemsService.findById(id));
     }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/OptionsObject.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/OptionsObject.java
new file mode 100644
index 0000000..4a04385
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/OptionsObject.java
@@ -0,0 +1,18 @@
+package com.doumee.dao.admin.request;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author LS
+ */
+@Data
+@ApiModel("閫夐」瀵硅薄闆�")
+public class OptionsObject {
+
+    @ApiModelProperty("閫夐」缂栧彿")
+    private String code;
+    @ApiModelProperty("閫夐」鍐呭")
+    private String value;
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Problems.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Problems.java
index c4d307b..1bfa566 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Problems.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Problems.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.dao.admin.request.OptionsObject;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -11,6 +12,7 @@
 import com.fasterxml.jackson.annotation.JsonFormat;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * 璇曢淇℃伅琛�
@@ -86,4 +88,7 @@
     @ExcelColumn(name="浣跨敤鍦烘櫙 0鍔冲姟浜哄憳 1鏅�氳瀹�")
     private Integer useType;
 
+    @ApiModelProperty(value = "閫夐」闆嗗璞¢泦鍚�")
+    @TableField(exist = false)
+    private List<OptionsObject> objectList;
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
index 02c9be2..8c9e5ba 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -15,12 +15,14 @@
 import com.doumee.dao.business.DeviceRoleMapper;
 import com.doumee.dao.business.model.Device;
 import com.doumee.dao.business.model.DeviceRole;
+import com.doumee.dao.business.model.Member;
 import com.doumee.dao.web.response.DeviceRoleVO;
 import com.doumee.service.business.DeviceRoleService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.MemberService;
 import io.swagger.models.auth.In;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -45,6 +47,8 @@
 
     @Autowired
     private DeviceRoleMapper deviceRoleMapper;
+    @Autowired
+    private MemberService memberService;
 
 
     @Override
@@ -235,9 +239,6 @@
         if (pageWrap.getModel().getStatus() != null) {
             queryWrapper.lambda().eq(DeviceRole::getStatus, pageWrap.getModel().getStatus());
         }
-
-        queryWrapper.select("t_aa.*," +
-                "(SELECT count(DISTINCT `KEY`) FROM `test` WHERE `test`.`key` = `t_aa`.id ) ");
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                 queryWrapper.orderByDesc(sortData.getProperty());
@@ -245,7 +246,18 @@
                 queryWrapper.orderByAsc(sortData.getProperty());
             }
         }
-        return PageData.from(deviceRoleMapper.selectPage(page, queryWrapper));
+        IPage<DeviceRole> newPage = deviceRoleMapper.selectPage(page, queryWrapper);
+        if(null != newPage && newPage.getRecords().size() > 0) {
+            List<DeviceRole> deviceRoleList = newPage.getRecords();
+            for (DeviceRole dto:deviceRoleList) {
+                Member member = new Member();
+                member.setIsdeleted(Constants.ZERO);
+                member.setRoleId(dto.getId());
+                dto.setMemberNum((int) memberService.count(member));
+            }
+            newPage.setRecords(deviceRoleList);
+        }
+        return PageData.from(newPage);
     }
 
     @Override
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java
index 397f583..de873b3 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java
@@ -1,12 +1,14 @@
 package com.doumee.service.business.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.admin.request.OptionsObject;
 import com.doumee.dao.admin.response.ProblemDTO;
 import com.doumee.dao.business.ProblemsMapper;
 import com.doumee.dao.business.model.Problems;
@@ -16,6 +18,7 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.BeanUtils;
@@ -51,7 +54,9 @@
         insert.setIsdeleted(Constants.ZERO);
         insert.setRemark(problems.getRemark());
         insert.setTitle(problems.getTitle());
-        insert.setOptions(problems.getOptions());
+        if(null != problems.getObjectList() && problems.getObjectList().size() > 0) {
+            insert.setOptions(JSON.toJSONString(problems.getObjectList()));
+        }
         insert.setAnswer(problems.getAnswer());
         insert.setSortnu(problems.getSortnu());
         insert.setType(problems.getType());
@@ -109,7 +114,11 @@
 
     @Override
     public Problems findById(Integer id) {
-        return problemsMapper.selectById(id);
+        Problems problems = problemsMapper.selectById(id);
+        if(null != problems && StringUtils.isNotBlank(problems.getOptions())) {
+            problems.setObjectList(JSON.parseArray(problems.getOptions(), OptionsObject.class));
+        }
+        return problems;
     }
 
     @Override

--
Gitblit v1.9.3