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