Pārlūkot izejas kodu

解决逻辑删除字段没有默认值

xusl 2 gadi atpakaļ
vecāks
revīzija
028ca5e2a6

+ 1 - 1
backend/src/main/java/com/jiayue/ssi/annotation/InterfaceLimit.java

@@ -14,5 +14,5 @@ import java.lang.annotation.*;
 public @interface InterfaceLimit {
     long time() default 1000; // 限制时间 单位:毫秒
 
-    int value() default 1; // 允许请求的次数(默认值:5次)
+    int value() default 5; // 允许请求的次数(默认值:5次)
 }

+ 1 - 0
backend/src/main/java/com/jiayue/ssi/config/MybatisPlusConfig.java

@@ -1,6 +1,7 @@
 package com.jiayue.ssi.config;
 
 import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.core.injector.ISqlInjector;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
 import org.springframework.context.annotation.Bean;

+ 10 - 4
backend/src/main/java/com/jiayue/ssi/config/WebSecurityConfig.java

@@ -44,6 +44,12 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
     @Autowired
     private JwtAuthenticationTokenFilter jwtAuthenticationTokenFilter;
 
+    @Bean
+    public MyAuthenticationProvider eacpsAuthenticationProvider(){
+        MyAuthenticationProvider myAuthenticationProvider = new MyAuthenticationProvider();
+        myAuthenticationProvider.setUserDetailsService(userServiceImpl);
+        return myAuthenticationProvider;
+    }
 
     @Bean
     public PasswordEncoder passwordEncoder() {
@@ -51,10 +57,10 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
         return new BCryptPasswordEncoder();
     }
 
-    @Override
-    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
-        auth.userDetailsService(userServiceImpl);
-    }
+//    @Override
+//    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
+//        auth.userDetailsService(userServiceImpl);
+//    }
 
     @Override
     protected void configure(HttpSecurity httpSecurity) throws Exception {

+ 13 - 35
backend/src/main/java/com/jiayue/ssi/controller/SysUserController.java

@@ -1,17 +1,17 @@
 package com.jiayue.ssi.controller;
 
+import cn.hutool.crypto.SmUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jiayue.ssi.annotation.InterfaceLimit;
 import com.jiayue.ssi.entity.SysUser;
 import com.jiayue.ssi.service.SysUserService;
+import com.jiayue.ssi.util.RandomPwd;
 import com.jiayue.ssi.util.ResponseVO;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
-
 import javax.servlet.http.HttpServletRequest;
 
 /**
@@ -32,16 +32,16 @@ public class SysUserController {
      *
      * @return 用户信息
      */
-
     @GetMapping(value = "/getAll")
-    public ResponseVO getAll(Integer currentPage, Integer pageSize, String username,String password,String status) {
+    @InterfaceLimit
+    public ResponseVO getAll(Integer currentPage, Integer pageSize, String username,String phonenumber,String status) {
         try {
             QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
             if(StringUtils.isNotEmpty(username)){
                 wrapper.eq("username",username);
             }
-            if(StringUtils.isNotEmpty(password)){
-                wrapper.eq("password",password);
+            if(StringUtils.isNotEmpty(phonenumber)){
+                wrapper.eq("phonenumber",phonenumber);
             }
             if(StringUtils.isNotEmpty(status)){
                 wrapper.eq("status",status);
@@ -50,7 +50,7 @@ public class SysUserController {
             return ResponseVO.success(result);
         } catch (Exception e) {
             e.printStackTrace();
-            log.error(" 获取所有用户异常");
+            log.error("获取所有用户异常");
             return ResponseVO.error(null);
         }
     }
@@ -59,7 +59,8 @@ public class SysUserController {
      * 新增用户
      */
     @PostMapping
-    public ResponseVO add(@RequestBody SysUser user, HttpServletRequest request) {
+    @InterfaceLimit
+    public ResponseVO add(@RequestBody SysUser user) {
         if (StringUtils.isEmpty(user.getUsername())){
             return ResponseVO.fail("用户账号不能为空!");
         }
@@ -81,34 +82,11 @@ public class SysUserController {
             return ResponseVO.fail(user.getMailbox() + "邮箱已存在!");
         }
 
-//        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
-        // 生成初始密码
-
+        // 生成8位初始密码
+        String randomPwd = RandomPwd.getRandomPwd(8);
+        user.setPassword(SmUtil.sm3(randomPwd).toUpperCase());
         return ResponseVO.success(sysUserService.save(user));
     }
-//    /**
-//     * 保存用户信息
-//     *
-//     * @param sysUser 参数
-//     * @return 执行结果
-//     */
-//    @PostMapping(value = "sysUser/")
-//    public ResponseVO save(@RequestBody SysUser sysUser) {
-//        try {
-//            boolean bo = sysUserService.saveUser(sysUser);
-//            if (bo){
-//                return ResponseVO.success("保存用户信息成功");
-//            }
-//            else{
-//                log.error("保存用户信息失败");
-//                return ResponseVO.fail();
-//            }
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//            log.error("保存用户信息异常");
-//            return ResponseVO.fail("保存用户信息异常");
-//        }
-//    }
 
     /**
      * 更新用户信息

+ 1 - 1
backend/src/main/java/com/jiayue/ssi/service/impl/UserServiceImpl.java

@@ -11,7 +11,7 @@ import com.jiayue.ssi.entity.SysUser;
 import com.jiayue.ssi.mapper.SysUserMapper;
 
 /**
- * TODO
+ * 用户登录查询
  *
  * @author xsl
  * @version 3.0

+ 0 - 5
backend/src/main/java/com/jiayue/ssi/servlet/ParameterRequestWrapper.java

@@ -1,14 +1,9 @@
 package com.jiayue.ssi.servlet;
 
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
 import org.springframework.util.StreamUtils;
-
 import java.io.*;
 import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
 import java.util.*;
-
 import javax.servlet.ReadListener;
 import javax.servlet.ServletInputStream;
 import javax.servlet.http.HttpServletRequest;

+ 3 - 1
backend/src/main/resources/application.yml

@@ -75,7 +75,9 @@ mybatis-plus:
   mapper-locations: classpath:/mapper/*Mapper.xml
   global-config:
     db-column-underline: true
-
+    logic-delete-field: del_flag
+    logic-delete-value: 1
+    logic-not-delete-value: 0
 # 服务端密钥
 # 客户端公钥:MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEz9IxRa8TDtsQABm/zl1VCFGVjyklybVfoVKupC759hevR7R9R8sS4flOFJbk8z++Pp/YSb9aHNDMR+S6SpuAXg==
 # 自己私钥:MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgm/zcWRJO89xIxOT1PtowqYZHQFBhik3pccpEY1y1+UmgCgYIKoEcz1UBgi2hRANCAAQdHjJPTUumQK2kkouvR7m9J61iACpPA5c7eLqFB1g85j12X90YAcF6ma30bXXarlULzEPhLTWBbEDIk8wgWy6T

+ 16 - 2
ui/src/views/sysManager/userManager/index.vue

@@ -155,6 +155,18 @@
         </el-row>
         <el-row>
           <el-col :span="12">
+            <el-form-item label="状态">
+              <el-select style="width: 220px" v-model="form.status" placeholder="请选择状态">
+                <el-option
+                  v-for="item in statusOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
             <el-form-item label="角色">
               <el-select style="width: 220px" v-model="form.roleIds" multiple placeholder="请选择角色">
                 <el-option
@@ -401,9 +413,11 @@ export default {
               phonenumber: this.form.phonenumber,
               mailbox: this.form.mailbox
             }
-            this.$axios.post('/sysUserController', param).then((res) => {
+            this.$axios.post('/sysUserController', this.form).then((res) => {
               this.$message.success('新增成功')
-              // this.getList();
+              this.open = false;
+              this.reset();
+              this.getList();
               this.loading = false
             }).catch((error) => {
               console.log(error)