From 8fa47457bcda1c05b7df2c04a1d4c31eec51272c Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Wed, 17 Mar 2021 09:06:00 +0800
Subject: [PATCH] common模块:     添加验证码工具类

---
 screen-manage/src/main/java/com/moral/api/pojo/request/AccountUpdateRequest.java     |    3 
 screen-common/src/main/java/com/moral/pojo/VerificationCode.java                     |   18 ++
 screen-common/src/main/java/com/moral/util/KaptchaUtils.java                         |   80 +++++++++++
 screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java       |   41 +++++
 pom.xml                                                                              |    5 
 screen-manage/src/main/java/com/moral/api/controller/AccountController.java          |   30 ++++
 screen-manage/src/main/java/com/moral/api/pojo/request/AccountInsertRequest.java     |    3 
 screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java |   76 ++++++++--
 screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDTO.java           |    2 
 screen-common/src/main/java/com/moral/util/AESUtils.java                             |    2 
 screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java     |    1 
 screen-manage/src/main/resources/application-dev.yml                                 |    2 
 screen-common/src/main/java/com/moral/config/KaptchaConfig.java                      |   47 ++++++
 screen-manage/src/main/java/com/moral/api/service/ManageAccountService.java          |   14 +
 screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountVO.java             |    7 
 screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDeleteDTO.java     |   26 +++
 screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java       |    3 
 screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java     |    1 
 screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java       |    5 
 screen-manage/src/main/java/com/moral/api/pojo/request/AccountDeleteRequest.java     |   23 +++
 20 files changed, 349 insertions(+), 40 deletions(-)

diff --git a/pom.xml b/pom.xml
index a26232a..be47e13 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,6 +107,11 @@
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>com.google.code.kaptcha</groupId>
+            <artifactId>kaptcha</artifactId>
+            <version>2.3.2</version>
+        </dependency>
     </dependencies>
 
 
diff --git a/screen-common/src/main/java/com/moral/config/KaptchaConfig.java b/screen-common/src/main/java/com/moral/config/KaptchaConfig.java
new file mode 100644
index 0000000..1c8ea04
--- /dev/null
+++ b/screen-common/src/main/java/com/moral/config/KaptchaConfig.java
@@ -0,0 +1,47 @@
+package com.moral.config;
+import com.google.code.kaptcha.impl.DefaultKaptcha;
+import com.google.code.kaptcha.util.Config;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.Properties;
+
+/**
+ * @ClassName KaptchaConfig
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/3/16 14:04
+ * @Version TODO
+ **/
+@Configuration
+public class KaptchaConfig {
+
+    @Bean(name = "kaptchaProducer")
+    public DefaultKaptcha getDefaultKaptcha(){
+        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
+        Properties properties = new Properties();
+        //������������
+        properties.put("kaptcha.border", "no");
+        //������������
+        properties.put("kaptcha.textproducer.font.color", "blue");
+        //������������
+        properties.put("kaptcha.textproducer.char.space", "15");
+        //���������������
+        properties.put("kaptcha.textproducer.char.length","4");
+        //������������
+        properties.put("kaptcha.image.height","34");
+        //������������
+        properties.put("kaptcha.textproducer.font.size","25");
+        //���������������
+        /*���������������*/
+        //properties.put("kaptcha.noise.impl","com.google.code.kaptcha.impl.NoNoise");
+        /*���������������������������*/
+        properties.put("kaptcha.noise.impl","com.google.code.kaptcha.impl.DefaultNoise");
+        //������
+        //properties.setProperty("kaptcha.textproducer.font.names", "������");
+
+        Config config = new Config(properties);
+        defaultKaptcha.setConfig(config);
+        return defaultKaptcha;
+    }
+}
diff --git a/screen-common/src/main/java/com/moral/pojo/VerificationCode.java b/screen-common/src/main/java/com/moral/pojo/VerificationCode.java
new file mode 100644
index 0000000..f524a9f
--- /dev/null
+++ b/screen-common/src/main/java/com/moral/pojo/VerificationCode.java
@@ -0,0 +1,18 @@
+package com.moral.pojo;
+
+import lombok.Data;
+
+/**
+ * @ClassName VerificationCode
+ * @Description ������������
+ * @Author ���������
+ * @Date 2021/3/17 8:51
+ * @Version TODO
+ **/
+@Data
+public class VerificationCode {
+
+    private String key;
+
+    private String value;
+}
diff --git a/screen-common/src/main/java/com/moral/util/AESUtils.java b/screen-common/src/main/java/com/moral/util/AESUtils.java
index 33a1aef..f632768 100644
--- a/screen-common/src/main/java/com/moral/util/AESUtils.java
+++ b/screen-common/src/main/java/com/moral/util/AESUtils.java
@@ -70,7 +70,7 @@
     }
 
     public static void main(String[] args) {
-        System.out.println(encrypt("4048974139","AD42F7787B035B7580000EF93BE20BAD"));
+        System.out.println(encrypt("404897439","AD42F7787B035B7580000EF93BE20BAD"));
         System.out.println(encrypt("chenkaiyu111","AD42F7787B035B7580000EF93BE20BAD"));
     }
 
diff --git a/screen-common/src/main/java/com/moral/util/KaptchaUtils.java b/screen-common/src/main/java/com/moral/util/KaptchaUtils.java
new file mode 100644
index 0000000..7a1abe4
--- /dev/null
+++ b/screen-common/src/main/java/com/moral/util/KaptchaUtils.java
@@ -0,0 +1,80 @@
+package com.moral.util;
+
+import com.google.code.kaptcha.impl.DefaultKaptcha;
+import com.moral.pojo.VerificationCode;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Component;
+import sun.misc.BASE64Encoder;
+
+import javax.annotation.Resource;
+import javax.imageio.ImageIO;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.UUID;
+
+/**
+ * @ClassName KaptchaUtils
+ * @Description ������������������
+ * @Author ���������
+ * @Date 2021/3/16 15:36
+ * @Version TODO
+ **/
+@Component
+@Slf4j
+public class KaptchaUtils {
+
+    private static DefaultKaptcha defaultKaptcha;
+
+    private static RedisTemplate redisTemplate;
+
+    @Autowired
+    public void setRedisTemplate(RedisTemplate redisTemplate) {
+        KaptchaUtils.redisTemplate = redisTemplate;
+    }
+
+    @Autowired
+    @Qualifier(value = "kaptchaProducer")
+    public  void setDefaultKaptcha(DefaultKaptcha defaultKaptcha) {
+        KaptchaUtils.defaultKaptcha = defaultKaptcha;
+    }
+
+    /**
+     * @Description: ���������������
+     * @Param: []
+     * @return: java.lang.String
+     * @Author: ���������
+     * @Date: 2021/3/16
+     */
+
+    public static VerificationCode createVerificationCode() throws IOException {
+        //���������������������
+        String text = defaultKaptcha.createText();
+        //������������
+        BufferedImage image = defaultKaptcha.createImage(text);
+        //���������������������������
+        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+        ImageIO.write(image,"jpg",outputStream);
+        byte[] bytes = outputStream.toByteArray();
+        //���������������������������
+        BASE64Encoder encoder = new BASE64Encoder();
+        String encode = encoder.encode(bytes);
+        //������������������redis
+        String key = UUID.randomUUID().toString();
+        //redisTemplate.opsForValsue().set(key,encode);
+        //redisTemplate.expire();
+        return null;
+    }
+    public boolean verify(String verificationCode) {
+       return false;
+    }
+
+
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/controller/AccountController.java b/screen-manage/src/main/java/com/moral/api/controller/AccountController.java
index 78c95c6..9db40fd 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/AccountController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/AccountController.java
@@ -1,10 +1,13 @@
 package com.moral.api.controller;
 
+import com.google.code.kaptcha.impl.DefaultKaptcha;
+import com.moral.api.pojo.dto.account.AccountDeleteDTO;
 import com.moral.api.pojo.dto.account.AccountInsertDTO;
 import com.moral.api.pojo.dto.account.AccountQueryDTO;
 import com.moral.api.pojo.dto.account.AccountUpdateDTO;
 import com.moral.api.pojo.dto.login.LoginDTO;
 import com.moral.api.pojo.request.*;
+import com.moral.api.pojo.vo.account.AccountDeleteVO;
 import com.moral.api.pojo.vo.account.AccountInsertVO;
 import com.moral.api.pojo.vo.account.AccountQueryVO;
 import com.moral.api.pojo.vo.account.AccountUpdateVO;
@@ -12,6 +15,8 @@
 import com.moral.api.service.ManageAccountService;
 import com.moral.constant.Constants;
 import com.moral.constant.ResultMessage;
+import com.moral.util.KaptchaUtils;
+import com.moral.util.TokenUtils;
 import io.swagger.annotations.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -21,6 +26,8 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 
 @Slf4j
 @Api(tags = {"������������������"})
@@ -32,7 +39,6 @@
     @Autowired
     @Qualifier("tokenRedisTemplate")
     RedisTemplate redisTemplate;
-
 
     @PostMapping("login")
     public ResultMessage login(@RequestBody LoginRequest loginRequest) {
@@ -88,6 +94,7 @@
         return ResultMessage.ok(accountQueryVO);
     }
 
+
     @PostMapping("update")
     public ResultMessage update(@RequestBody AccountUpdateRequest accountQeuryRequest){
         if(!accountQeuryRequest.valid())
@@ -102,6 +109,27 @@
         return ResultMessage.fail(accountUpdateVO);
     }
 
+    @PostMapping("delete")
+    public ResultMessage delete(@RequestBody AccountDeleteRequest accountDeleteRequest){
+        if(!accountDeleteRequest.valid())
+            return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING);
+
+        AccountDeleteDTO accountDeleteDTO = accountService.deleteAccount(accountDeleteRequest);
+
+        AccountDeleteVO accountDeleteVO = AccountDeleteVO.convert(accountDeleteDTO);
+
+        if(accountDeleteVO.getCode().equals(accountDeleteVO.SUCCESS))
+            return ResultMessage.ok(accountDeleteVO);
+        return ResultMessage.fail(accountDeleteVO);
+    }
+
+    @PostMapping("yanzhengma")
+    public String yanzhengma(HttpServletResponse response) throws IOException {
+        KaptchaUtils.createVerificationCode();
+        TokenUtils.getToken("1",1);
+        return null;
+    }
+
 
 
 }
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDTO.java
index 00404b3..2a40541 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDTO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDTO.java
@@ -19,4 +19,6 @@
     private ManageAccount account;
 
     private List<ManageRole> roles;
+
+    private String code;
 }
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDeleteDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDeleteDTO.java
new file mode 100644
index 0000000..926319c
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDeleteDTO.java
@@ -0,0 +1,26 @@
+package com.moral.api.pojo.dto.account;
+
+import lombok.Data;
+
+/**
+ * @ClassName AccountDeleteDTO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/3/16 8:59
+ * @Version TODO
+ **/
+@Data
+public class AccountDeleteDTO extends AccountDTO {
+
+    /*
+    * ������������
+    * */
+    public final static String SUCCESS = "0";
+
+    /*
+    * ���������������
+    * */
+    public final static String ACCOUNT_NOT_EXIST = "-1";
+
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java
index 2a96636..3d4b9d3 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java
@@ -56,7 +56,6 @@
     * */
     public static final String PASSWORD_EXIST_SPECIAL_CHAR = "-7";
 
-    private String code;
 
 
 }
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java
index 3fb12d9..b15c23d 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java
@@ -31,5 +31,4 @@
     * */
     public static final String EMAIL_INVALID = "-3";
 
-    private String code;
 }
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/request/AccountDeleteRequest.java b/screen-manage/src/main/java/com/moral/api/pojo/request/AccountDeleteRequest.java
new file mode 100644
index 0000000..426717a
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/request/AccountDeleteRequest.java
@@ -0,0 +1,23 @@
+package com.moral.api.pojo.request;
+
+import lombok.Data;
+
+/**
+ * @ClassName AccountDeleteRequest
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/3/16 8:54
+ * @Version TODO
+ **/
+@Data
+public class AccountDeleteRequest {
+
+    private Integer accountId;
+
+    public boolean valid(){
+        if(accountId==null||accountId==0){
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/request/AccountInsertRequest.java b/screen-manage/src/main/java/com/moral/api/pojo/request/AccountInsertRequest.java
index 13d54de..d070492 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/request/AccountInsertRequest.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/request/AccountInsertRequest.java
@@ -42,8 +42,6 @@
     private String updateTime;
 
 
-    private String isDelete;
-
     private List<String> roleIds;
 
     public boolean valid() {
@@ -53,7 +51,6 @@
                 ObjectUtils.isEmpty(email)    ||
                 ObjectUtils.isEmpty(mobile)   ||
                 ObjectUtils.isEmpty(userName) ||
-                ObjectUtils.isEmpty(isDelete) ||
                 ObjectUtils.isEmpty(roleIds)
             )
             return false;
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/request/AccountUpdateRequest.java b/screen-manage/src/main/java/com/moral/api/pojo/request/AccountUpdateRequest.java
index f0ae72b..6745a7a 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/request/AccountUpdateRequest.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/request/AccountUpdateRequest.java
@@ -25,8 +25,6 @@
 
     private String wechat;
 
-    private String isDelete;
-
     private List<Integer> roleIds;
 
     public boolean valid(){
@@ -35,7 +33,6 @@
                 ObjectUtils.isEmpty(userName) ||
                 ObjectUtils.isEmpty(email)    ||
                 ObjectUtils.isEmpty(mobile)   ||
-                ObjectUtils.isEmpty(isDelete) ||
                 ObjectUtils.isEmpty(roleIds)
                 )
             return false;
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java
new file mode 100644
index 0000000..f06ea46
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java
@@ -0,0 +1,41 @@
+package com.moral.api.pojo.vo.account;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.moral.api.entity.ManageAccount;
+import com.moral.api.pojo.dto.account.AccountDeleteDTO;
+import lombok.Data;
+import org.springframework.util.ObjectUtils;
+
+/**
+ * @ClassName AccountDeleteVO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/3/16 11:40
+ * @Version TODO
+ **/
+@Data
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+
+public class AccountDeleteVO extends AccountVO {
+
+    /*
+     * ������������
+     * */
+    public final static String SUCCESS = "0";
+
+    /*
+     * ���������������
+     * */
+    public final static String ACCOUNT_NOT_EXIST = "-1";
+
+    public static AccountDeleteVO convert(AccountDeleteDTO dto) {
+        AccountDeleteVO vo = new AccountDeleteVO();
+        vo.setCode(dto.getCode());
+        if (!ObjectUtils.isEmpty(dto.getAccount())) {
+            ManageAccount account = dto.getAccount();
+            vo.setId(account.getId());
+            vo.setUserName(account.getUserName());
+        }
+        return vo;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java
index faaf488..8cc4d31 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java
@@ -58,7 +58,6 @@
      * */
     public static final String PASSWORD_EXIST_SPECIAL_CHAR = "-7";
 
-    private String code;
 
 
     /**
@@ -76,7 +75,6 @@
             String email = dto.getAccount().getEmail();
             String mobile = dto.getAccount().getMobile();
             String wechat = dto.getAccount().getWechat();
-            String isDelete = dto.getAccount().getIsDelete();
 
             //������������������������
             List<ManageRole> roles = dto.getRoles();
@@ -88,7 +86,6 @@
             vo.setEmail(email);
             vo.setMobile(mobile);
             vo.setWechat(wechat);
-            vo.setIsDelete(isDelete);
             vo.setRoleNames(roleNames);
         }
 
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java
index 2765a97..cfbf96f 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java
@@ -40,9 +40,6 @@
      * */
     public static final String EMAIL_INVALID = "-3";
 
-    private String code;
-
-
     public static AccountUpdateVO convert(AccountUpdateDTO dto){
         AccountUpdateVO vo = new AccountUpdateVO();
         if(dto.getCode()== AccountUpdateDTO.SUCCESS){
@@ -51,7 +48,6 @@
             String email = dto.getAccount().getEmail();
             String mobile = dto.getAccount().getMobile();
             String wechat = dto.getAccount().getWechat();
-            String isDelete = dto.getAccount().getIsDelete();
 
             //������������������������
             List<ManageRole> roles = dto.getRoles();
@@ -63,7 +59,6 @@
             vo.setEmail(email);
             vo.setMobile(mobile);
             vo.setWechat(wechat);
-            vo.setIsDelete(isDelete);
             vo.setRoleNames(roleNames);
         }
 
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountVO.java
index fbd5d06..155685e 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountVO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountVO.java
@@ -18,8 +18,10 @@
  **/
 @Data
 @JsonInclude(JsonInclude.Include.NON_EMPTY)
-
 public class AccountVO {
+
+    private String code;
+
     private Integer id;
 
     private String userName;
@@ -29,8 +31,6 @@
     private String mobile;
 
     private String wechat;
-
-    private String isDelete;
 
     private List<String> roleNames;
 
@@ -47,7 +47,6 @@
         vo.setEmail(account.getEmail());
         vo.setMobile(account.getMobile());
         vo.setWechat(account.getWechat());
-        vo.setIsDelete(account.getIsDelete());
         vo.setRoleNames(roleNames);
         return vo;
     }
diff --git a/screen-manage/src/main/java/com/moral/api/service/ManageAccountService.java b/screen-manage/src/main/java/com/moral/api/service/ManageAccountService.java
index 471d22d..12bb024 100644
--- a/screen-manage/src/main/java/com/moral/api/service/ManageAccountService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/ManageAccountService.java
@@ -2,10 +2,7 @@
 
 import com.moral.api.entity.ManageAccount;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.moral.api.pojo.dto.account.AccountDTO;
-import com.moral.api.pojo.dto.account.AccountInsertDTO;
-import com.moral.api.pojo.dto.account.AccountQueryDTO;
-import com.moral.api.pojo.dto.account.AccountUpdateDTO;
+import com.moral.api.pojo.dto.account.*;
 import com.moral.api.pojo.dto.login.LoginDTO;
 import com.moral.api.pojo.request.*;
 
@@ -62,4 +59,13 @@
             * @Date: 2021/3/15
             */
     AccountUpdateDTO updateAccount(AccountUpdateRequest accountUpdateRequest);
+
+    /**
+    * @Description: ������������
+            * @Param: [accountDeleteRequest]
+            * @return: com.moral.api.pojo.dto.account.AccountDeleteDTO
+            * @Author: ���������
+            * @Date: 2021/3/16
+            */
+    AccountDeleteDTO deleteAccount(AccountDeleteRequest accountDeleteRequest);
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
index a78cd9b..41b198b 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
@@ -1,6 +1,7 @@
 package com.moral.api.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.moral.api.entity.ManageAccount;
 import com.moral.api.entity.ManageAccountRole;
@@ -10,10 +11,7 @@
 import com.moral.api.mapper.ManageAccountRoleMapper;
 import com.moral.api.mapper.ManageMenuMapper;
 import com.moral.api.mapper.ManageRoleMapper;
-import com.moral.api.pojo.dto.account.AccountDTO;
-import com.moral.api.pojo.dto.account.AccountInsertDTO;
-import com.moral.api.pojo.dto.account.AccountQueryDTO;
-import com.moral.api.pojo.dto.account.AccountUpdateDTO;
+import com.moral.api.pojo.dto.account.*;
 import com.moral.api.pojo.dto.login.AccountInfoDTO;
 import com.moral.api.pojo.dto.login.LoginDTO;
 import com.moral.api.pojo.request.*;
@@ -79,13 +77,19 @@
         //������������������
         QueryWrapper<ManageAccount> wrapper = new QueryWrapper<>();
         wrapper.eq("account", account);
-        ManageAccount manageAccount = manageAccountMapper.selectOne(wrapper);
-        if (ObjectUtils.isEmpty(manageAccount)) {
+        List<ManageAccount> manageAccounts = manageAccountMapper.selectList(wrapper);
+        if (ObjectUtils.isEmpty(manageAccounts)) {
             loginDTO.setCode(LoginDTO.NOT_EXIST);
             return loginDTO;
         }
         //������������������������
-        if (manageAccount.getIsDelete().equals("1")) {
+        ManageAccount manageAccount = null;
+        for (ManageAccount value : manageAccounts) {
+            if("0".equals(value.getIsDelete()))
+                manageAccount = value;
+        }
+
+        if (ObjectUtils.isEmpty(manageAccount)) {
             loginDTO.setCode(LoginDTO.IS_DELETE);
             return loginDTO;
         }
@@ -160,7 +164,6 @@
         String email = accountInsertRequest.getEmail();
         String mobile = accountInsertRequest.getMobile();
         String wechat = accountInsertRequest.getWechat();
-        String isDelete = accountInsertRequest.getIsDelete();
         List<String> roleIdsStr = accountInsertRequest.getRoleIds();
         //������������������������������������
         /*���������������������������������������*/
@@ -193,7 +196,7 @@
             accountInsertDTO.setCode(AccountInsertDTO.EMAIL_INVALID);
             return accountInsertDTO;
         }
-        /*���������������������������*/
+        /*������������������������*/
         ManageAccount exitAccount = new ManageAccount();
         exitAccount.setAccount(account);
         exitAccount.setIsDelete("0");
@@ -217,7 +220,6 @@
         manageAccount.setEmail(email);
         manageAccount.setMobile(mobile);
         manageAccount.setWechat(wechat);
-        manageAccount.setIsDelete(isDelete);
         manageAccountMapper.insert(manageAccount);
         //������account_role
         Integer accountId = manageAccount.getId();
@@ -265,7 +267,11 @@
         queryParams.put("email", email);
         queryParams.put("mobile", mobile);
         queryParams.put("wechat", wechat);
-        queryParams.put("is_delete", isDelete);
+        if(!ObjectUtils.isEmpty(isDelete))
+            queryParams.put("is_delete", isDelete);
+        else
+            queryParams.put("is_delete","0");
+        //���������null���������
         queryParams.values().removeIf(value -> ObjectUtils.isEmpty(value));
         //������������
         Page<ManageAccount> page = new Page<>(pageCount, size);
@@ -292,6 +298,13 @@
         return accountQueryDTO;
     }
 
+    /**
+    * @Description: ������������������
+            * @Param: [accountUpdateRequest]
+            * @return: com.moral.api.pojo.dto.account.AccountUpdateDTO
+            * @Author: ���������
+            * @Date: 2021/3/16
+            */
     @Override
     @Transactional
     public AccountUpdateDTO updateAccount(AccountUpdateRequest accountUpdateRequest) {
@@ -301,7 +314,6 @@
         String email = accountUpdateRequest.getEmail();
         String mobile = accountUpdateRequest.getMobile();
         String wechat = accountUpdateRequest.getWechat();
-        String isDelete = accountUpdateRequest.getIsDelete();
         String userName = accountUpdateRequest.getUserName();
         List<Integer> roleIds = accountUpdateRequest.getRoleIds();
         //������������������������������
@@ -331,7 +343,6 @@
         manageAccount.setEmail(email);
         manageAccount.setMobile(mobile);
         manageAccount.setWechat(wechat);
-        manageAccount.setIsDelete(isDelete);
         manageAccount.setUserName(userName);
         QueryWrapper<ManageAccount> wrapper = new QueryWrapper<>();
         wrapper.eq("id",accountId);
@@ -358,7 +369,44 @@
     }
 
 
-
+    /**
+    * @Description: ������������������
+            * @Param: [accountDeleteRequest]
+            * @return: com.moral.api.pojo.dto.account.AccountDeleteDTO
+            * @Author: ���������
+            * @Date: 2021/3/16
+            */
+    @Override
+    @Transactional
+    public AccountDeleteDTO deleteAccount(AccountDeleteRequest accountDeleteRequest) {
+        AccountDeleteDTO accountDeleteDTO = new AccountDeleteDTO();
+        //������
+        Integer accountId = accountDeleteRequest.getAccountId();
+        //������������������
+        ManageAccount manageAccount = new ManageAccount();
+        manageAccount.setIsDelete("0");
+        manageAccount.setId(accountId);
+        QueryWrapper<ManageAccount> queryWrapper = new QueryWrapper<>();
+        queryWrapper.setEntity(manageAccount);
+        ManageAccount existManageAccount = manageAccount.selectOne(queryWrapper);
+        if(ObjectUtils.isEmpty(existManageAccount)){
+            accountDeleteDTO.setCode(AccountDeleteDTO.ACCOUNT_NOT_EXIST);
+            return accountDeleteDTO;
+        }
+        //������������������
+        existManageAccount.setIsDelete("1");
+        UpdateWrapper<ManageAccount> deleteAccountWrapper = new UpdateWrapper<>();
+        deleteAccountWrapper.set("is_delete","1").eq("id",manageAccount.getId());
+        manageAccountMapper.update(null,deleteAccountWrapper);
+        //������������������������������
+        UpdateWrapper<ManageAccountRole> deleteManageAccountRoleWrapper = new UpdateWrapper<>();
+        deleteManageAccountRoleWrapper.set("is_delete","1").eq("account_id",manageAccount.getId());
+        manageAccountRoleMapper.update(null,deleteManageAccountRoleWrapper);
+        //������������������
+        accountDeleteDTO.setCode(AccountDeleteDTO.SUCCESS);
+        accountDeleteDTO.setAccount(existManageAccount);
+        return accountDeleteDTO;
+    }
 
 
     private static boolean isSpecialChar(String str) {
diff --git a/screen-manage/src/main/resources/application-dev.yml b/screen-manage/src/main/resources/application-dev.yml
index 984b1a4..7aa5cab 100644
--- a/screen-manage/src/main/resources/application-dev.yml
+++ b/screen-manage/src/main/resources/application-dev.yml
@@ -121,6 +121,8 @@
       - /account/insert
       - /account/query
       - /account/update
+      - /account/delete
+      - /account/yanzhengma
 AES:
   KEY:
     AD42F7787B035B7580000EF93BE20BAD

--
Gitblit v1.8.0