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