From 39351c46dacff36acf745b4a332e4d67be85aef9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 13:26:02 +0800 Subject: [PATCH 01/24] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9B=BE=E5=BD=A2?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E7=A0=81=E5=92=8C=E7=99=BB=E5=85=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cwf/admin/web/controller/system/Aa.java | 25 -- .../controller/system/KaptchaController.java | 38 +++ .../controller/system/LoginController.java | 59 ++++ .../cwf/common/handle/ExceptionHandler.java | 111 ++++++++ cvmagic-framework/pom.xml | 7 + .../authcode/config/KaptchaConfig.java | 48 ++++ .../entity/KaptchaImageCodeEntity.java | 21 ++ .../authcode/service/KaptchaService.java | 34 +++ .../service/impl/KaptchaServiceImpl.java | 100 +++++++ .../com/cwf/framework/redis/RedisService.java | 262 ++++++++++++++++++ .../cwf/security/config/SecurityConfig.java | 3 +- .../com/cwf/security/dao/UserLoginDao.java | 28 ++ .../com/cwf/security/entity/SecurityUser.java | 4 +- .../com/cwf/security/entity/UserLogin.java | 73 +++++ .../filter/JwtAuthenticationTokenFilter.java | 6 +- .../security/service/UserLoginService.java | 24 ++ .../service/impl/UserDetailsServiceImpl.java | 58 ++-- .../service/impl/UserLoginServiceImpl.java | 52 ++++ .../validation/login/UserLoginGroup.java | 16 ++ .../validation/login/UserLoginGroup.java | 12 + .../login/UserLoginRequestParam.java | 23 ++ pom.xml | 7 + 22 files changed, 956 insertions(+), 55 deletions(-) delete mode 100644 cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/Aa.java create mode 100644 cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/KaptchaController.java create mode 100644 cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/LoginController.java create mode 100644 cvmagic-common/src/main/java/com/cwf/common/handle/ExceptionHandler.java create mode 100644 cvmagic-framework/src/main/java/com/cwf/framework/authcode/config/KaptchaConfig.java create mode 100644 cvmagic-framework/src/main/java/com/cwf/framework/authcode/entity/KaptchaImageCodeEntity.java create mode 100644 cvmagic-framework/src/main/java/com/cwf/framework/authcode/service/KaptchaService.java create mode 100644 cvmagic-framework/src/main/java/com/cwf/framework/authcode/service/impl/KaptchaServiceImpl.java create mode 100644 cvmagic-framework/src/main/java/com/cwf/framework/redis/RedisService.java create mode 100644 cvmagic-security/src/main/java/com/cwf/security/dao/UserLoginDao.java create mode 100644 cvmagic-security/src/main/java/com/cwf/security/entity/UserLogin.java create mode 100644 cvmagic-security/src/main/java/com/cwf/security/service/UserLoginService.java create mode 100644 cvmagic-security/src/main/java/com/cwf/security/service/impl/UserLoginServiceImpl.java create mode 100644 cvmagic-security/src/main/java/com/cwf/security/validation/login/UserLoginGroup.java create mode 100644 cvmagic-system/src/main/java/com/cwf/system/validation/login/UserLoginGroup.java create mode 100644 cvmagic-system/src/main/java/com/cwf/system/validation/login/UserLoginRequestParam.java diff --git a/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/Aa.java b/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/Aa.java deleted file mode 100644 index 0b7ae09..0000000 --- a/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/Aa.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.cwf.admin.web.controller.system; - - -import com.alibaba.fastjson2.JSON; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping("/test") -public class Aa { - - @Autowired - RedisTemplate redisTemplate; - - @GetMapping("/a") - public Object test(){ - Object o = redisTemplate.opsForValue().get("permission:3"); - System.out.println(JSON.toJSONString(o)); - - return 123; - } -} diff --git a/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/KaptchaController.java b/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/KaptchaController.java new file mode 100644 index 0000000..c5e4b6e --- /dev/null +++ b/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/KaptchaController.java @@ -0,0 +1,38 @@ +package com.cwf.admin.web.controller.system; + + +import com.cwf.common.entity.http.R; +import com.cwf.framework.authcode.entity.KaptchaImageCodeEntity; +import com.cwf.framework.authcode.service.KaptchaService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; + +@RestController +@RequestMapping("/api/auth/code") +public class KaptchaController { + + + @Autowired + private KaptchaService kaptchaService; + + + /** + * @description 获取图形验证码 + * @author 18068 + * @date 2023/2/17 11:27 + * @return + */ + + @RequestMapping("/image") + public R generateImageCode(){ + try { + KaptchaImageCodeEntity codeEntity = kaptchaService.generateImageCode(); + return R.success(codeEntity); + } catch (IOException e) { + return R.error("获取验证码失败"); + } + } +} diff --git a/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/LoginController.java b/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/LoginController.java new file mode 100644 index 0000000..fe5253f --- /dev/null +++ b/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/LoginController.java @@ -0,0 +1,59 @@ +package com.cwf.admin.web.controller.system; + + +import com.cwf.common.entity.http.R; +import com.cwf.framework.authcode.service.KaptchaService; +import com.cwf.security.dao.UserLoginDao; +import com.cwf.security.entity.UserLogin; +import com.cwf.security.service.UserLoginService; +import com.cwf.security.validation.login.UserLoginGroup; +import com.cwf.system.validation.login.UserLoginRequestParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; + +@RestController +@RequestMapping("/admin") +@Valid +public class LoginController { + + + @Autowired + UserLoginService userLoginService; + + + @Autowired + KaptchaService kaptchaService; + + + @Autowired + UserLoginDao userLoginDao; + + @PostMapping("/login") + public R login(@RequestBody @Validated UserLoginRequestParam userLogin){ + + //检查验证码 + kaptchaService.checkImageCode(userLogin.getUuid(),userLogin.getCode()); + + + + UserLogin userInfo = UserLogin.builder() + .userName(userLogin.getUserName()) + .password(userLogin.getPassword()) + .build(); + + userLoginService.login(userInfo); + + + return R.success(1); + + + + + } +} diff --git a/cvmagic-common/src/main/java/com/cwf/common/handle/ExceptionHandler.java b/cvmagic-common/src/main/java/com/cwf/common/handle/ExceptionHandler.java new file mode 100644 index 0000000..2f18fea --- /dev/null +++ b/cvmagic-common/src/main/java/com/cwf/common/handle/ExceptionHandler.java @@ -0,0 +1,111 @@ +package com.cwf.common.handle; + +import com.cwf.common.entity.http.R; +import com.cwf.common.enums.ResCodeEnum; +import com.cwf.common.exception.base.MyException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.validation.FieldError; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +import javax.validation.ConstraintViolation; +import javax.validation.ConstraintViolationException; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +@SuppressWarnings("all") +@RestControllerAdvice() +@Slf4j +public class ExceptionHandler { + + + /** + * @description: 单参数验证 + * @param e + * @return: com.commons.utils.ResUtils + * @author 18068 + * @date: 2022/9/3 10:51 + */ + @org.springframework.web.bind.annotation.ExceptionHandler({ConstraintViolationException.class}) + @ResponseBody + public R exceptionHandler(ConstraintViolationException e) { + List list = new ArrayList<>(); + Set> constraintViolations = e.getConstraintViolations(); + + String msg = ""; + + for (ConstraintViolation s:constraintViolations){ + + String param = s.getPropertyPath().toString().split("\\.")[1]; + list.add(param+s.getMessage()); + + msg += param+s.getMessage()+";"; + + } + + return R.error(msg).writeCode(ResCodeEnum.PARAM_ERR.getCode()); + } + + /** + * @description: 实体类验证 + * @param e + * @return: com.commons.utils.ResUtils + * @author 18068 + * @date: 2022/9/3 10:51 + */ + @org.springframework.web.bind.annotation.ExceptionHandler({MethodArgumentNotValidException.class}) + @ResponseBody + public R handleMethodArgumentNotValidException(MethodArgumentNotValidException e) { + List result = new ArrayList(); + BindingResult bindingResult = e.getBindingResult(); + List fieldErrors = bindingResult.getFieldErrors(); + + String msg = ""; + + for (FieldError fieldError:fieldErrors){ + result.add(fieldError.getField()+fieldError.getDefaultMessage()); + msg += fieldError.getField()+fieldError.getDefaultMessage()+";"; + } + return R.error(msg).writeCode(ResCodeEnum.PARAM_ERR.getCode()); + } + + /** + * @description: 异常捕获 + * @param e + * @return: com.commons.utils.ResUtils + * @author 18068 + * @date: 2022/9/3 11:11 + */ +/* @ExceptionHandler({Exception.class}) + @ResponseBody + public ResUtils Exception(Exception e) { + System.out.println(e); + log.error(e.getMessage()); + return ResUtils.serviceError(); + } + + @ExceptionHandler({RuntimeException.class}) + @ResponseBody + public ResUtils runException(RuntimeException e) { + System.out.println(e); + log.error(e.getMessage()); + return ResUtils.serviceError(); + }*/ + + /** + * @description: 自定义异常捕获 + * @param e + * @return: com.commons.utils.ResUtils + * @author 18068 + * @date: 2022/9/3 11:11 + */ + @org.springframework.web.bind.annotation.ExceptionHandler({MyException.class}) + @ResponseBody + public R handleMethodArgumentNotValidException(MyException e) { + System.out.println(e.getCode()); + return R.error().writeMsg(e.getMessage()).writeCode(e.getCode()).writeData(null); + } +} diff --git a/cvmagic-framework/pom.xml b/cvmagic-framework/pom.xml index d974b38..b36149b 100644 --- a/cvmagic-framework/pom.xml +++ b/cvmagic-framework/pom.xml @@ -71,6 +71,13 @@ lombok + + + + com.github.penggle + kaptcha + + diff --git a/cvmagic-framework/src/main/java/com/cwf/framework/authcode/config/KaptchaConfig.java b/cvmagic-framework/src/main/java/com/cwf/framework/authcode/config/KaptchaConfig.java new file mode 100644 index 0000000..438e0e8 --- /dev/null +++ b/cvmagic-framework/src/main/java/com/cwf/framework/authcode/config/KaptchaConfig.java @@ -0,0 +1,48 @@ +package com.cwf.framework.authcode.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; + + +@SuppressWarnings("all") +@Configuration +public class KaptchaConfig { + @Bean + public DefaultKaptcha getKaptcha() { + //验证码生成器 + DefaultKaptcha defaultKaptcha = new DefaultKaptcha(); + //配置 + Properties properties = new Properties(); + //是否有边框 + properties.setProperty("kaptcha.border", "yes"); + //设置边框颜色 + properties.setProperty("kaptcha.border.color", "105,179,90"); + //边框粗细度,默认为1 + // properties.setProperty("kaptcha.border.thickness","1"); + //验证码 + properties.setProperty("kaptcha.session.key", "code"); + //验证码文本字符颜色 默认为黑色 + properties.setProperty("kaptcha.textproducer.font.color", "blue"); + //设置字体样式 + properties.setProperty("kaptcha.textproducer.font.names", "宋体,楷体,微软雅 黑"); + //字体大小,默认40 + properties.setProperty("kaptcha.textproducer.font.size", "30"); + //验证码文本字符内容范围 默认为abced2345678gfynmnpwx + // properties.setProperty("kaptcha.textproducer.char.string", ""); + //字符长度,默认为5 + properties.setProperty("kaptcha.textproducer.char.length", "4"); + //字符间距 默认为2 + properties.setProperty("kaptcha.textproducer.char.space", "5"); + //验证码图片宽度 默认为200 + properties.setProperty("kaptcha.image.width", "100"); + //验证码图片高度 默认为40 + properties.setProperty("kaptcha.image.height", "50"); + Config config = new Config(properties); + defaultKaptcha.setConfig(config); + return defaultKaptcha; + } +} diff --git a/cvmagic-framework/src/main/java/com/cwf/framework/authcode/entity/KaptchaImageCodeEntity.java b/cvmagic-framework/src/main/java/com/cwf/framework/authcode/entity/KaptchaImageCodeEntity.java new file mode 100644 index 0000000..be3e772 --- /dev/null +++ b/cvmagic-framework/src/main/java/com/cwf/framework/authcode/entity/KaptchaImageCodeEntity.java @@ -0,0 +1,21 @@ +package com.cwf.framework.authcode.entity; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.SuperBuilder; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@SuperBuilder +@ToString +public class KaptchaImageCodeEntity { + + private String uuid; + + private String image; + + +} diff --git a/cvmagic-framework/src/main/java/com/cwf/framework/authcode/service/KaptchaService.java b/cvmagic-framework/src/main/java/com/cwf/framework/authcode/service/KaptchaService.java new file mode 100644 index 0000000..641f158 --- /dev/null +++ b/cvmagic-framework/src/main/java/com/cwf/framework/authcode/service/KaptchaService.java @@ -0,0 +1,34 @@ +package com.cwf.framework.authcode.service; + +import com.cwf.framework.authcode.entity.KaptchaImageCodeEntity; + +import java.io.IOException; + +/** + * @description 图形验证码服务 + * @author 18068 + * @date 2023/2/17 13:24 + */ +public interface KaptchaService { + + + /** + * @param + * @return + * @description 生成图形验证码 + * @author 18068 + * @date 2023/2/17 10:34 + */ + KaptchaImageCodeEntity generateImageCode() throws IOException; + + + /** + * @description 检查验证码是否正确 + * @param uuid 验证码标识 + * @param code 验证码 + * @author 18068 + * @date 2023/2/17 12:43 + * @return + */ + boolean checkImageCode(String uuid,String code); +} diff --git a/cvmagic-framework/src/main/java/com/cwf/framework/authcode/service/impl/KaptchaServiceImpl.java b/cvmagic-framework/src/main/java/com/cwf/framework/authcode/service/impl/KaptchaServiceImpl.java new file mode 100644 index 0000000..cfce34d --- /dev/null +++ b/cvmagic-framework/src/main/java/com/cwf/framework/authcode/service/impl/KaptchaServiceImpl.java @@ -0,0 +1,100 @@ +package com.cwf.framework.authcode.service.impl; + +import com.alibaba.fastjson2.JSON; +import com.cwf.common.enums.ResCodeEnum; +import com.cwf.common.exception.base.MyException; +import com.cwf.common.utils.id.IdUtil; +import com.cwf.framework.authcode.entity.KaptchaImageCodeEntity; +import com.cwf.framework.authcode.service.KaptchaService; +import com.cwf.framework.redis.RedisService; +import com.google.code.kaptcha.impl.DefaultKaptcha; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; +import sun.misc.BASE64Encoder; + +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +@Slf4j +@Service +public class KaptchaServiceImpl implements KaptchaService { + + + private String mark ="Kaptcha:"; + + + @Autowired + DefaultKaptcha defaultKaptcha; + + + @Autowired + RedisService redisTemplate; + + + @Override + public KaptchaImageCodeEntity generateImageCode() throws IOException { + + + ByteArrayOutputStream out; + //生成UUID + String key = IdUtil.randomUUID(); + //生成验证码 + String text = defaultKaptcha.createText(); + + BufferedImage image = defaultKaptcha.createImage(text); + + out = new ByteArrayOutputStream(); + ImageIO.write(image, "jpg", out); + BASE64Encoder base64Encoder = new BASE64Encoder(); + + + log.info("\n生成验证码{}\nuuid: {}", text,key); + + String redisKey = mark + key; + + try { + redisTemplate.setCacheObject(redisKey, text, 300, TimeUnit.SECONDS); + } catch (Exception e) { + throw new MyException("验证码获取失败", 400); + } + + //生成验证码信息 + KaptchaImageCodeEntity codeEntity = KaptchaImageCodeEntity.builder() + .uuid(key) + .image("data:image/jpg;base64," + base64Encoder.encode(out.toByteArray()).trim().replace("\n", "").replace("\r", "")) + .build(); + + return codeEntity; + } + + + @Override + public boolean checkImageCode(String uuid, String code) { + + String key = mark + uuid; + + String redisCode = redisTemplate.getCacheObject(key); + + log.info("\n前台验证码: {}", code); + log.info("\nredis验证码:{}", redisCode); + + + if (redisCode == null){ + throw new MyException("验证码过期", ResCodeEnum.ERROR.getCode()); + } + + if (redisCode.equals(code)) { + log.info("\n验证码检验成功"); + return true; + } else { + throw new MyException("验证码错误", ResCodeEnum.ERROR.getCode()); + } + } +} diff --git a/cvmagic-framework/src/main/java/com/cwf/framework/redis/RedisService.java b/cvmagic-framework/src/main/java/com/cwf/framework/redis/RedisService.java new file mode 100644 index 0000000..0aaa25b --- /dev/null +++ b/cvmagic-framework/src/main/java/com/cwf/framework/redis/RedisService.java @@ -0,0 +1,262 @@ +package com.cwf.framework.redis; + + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.BoundSetOperations; +import org.springframework.data.redis.core.HashOperations; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; +import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.concurrent.TimeUnit; + +@Service +@Component +public class RedisService +{ + @Autowired + public RedisTemplate redisTemplate; + + /** + * 缓存基本的对象,Integer、String、实体类等 + * + * @param key 缓存的键值 + * @param value 缓存的值 + */ + public void setCacheObject(final String key, final T value) + { + redisTemplate.opsForValue().set(key, value); + } + + /** + * 缓存基本的对象,Integer、String、实体类等 + * + * @param key 缓存的键值 + * @param value 缓存的值 + * @param timeout 时间 + * @param timeUnit 时间颗粒度 + */ + public void setCacheObject(final String key, final T value, final Integer timeout, final TimeUnit timeUnit) + { + redisTemplate.opsForValue().set(key, value, timeout, timeUnit); + } + + /** + * 设置有效时间 + * + * @param key Redis键 + * @param timeout 超时时间 + * @return true=设置成功;false=设置失败 + */ + public boolean expire(final String key, final long timeout) + { + return expire(key, timeout, TimeUnit.SECONDS); + } + + /** + * 设置有效时间 + * + * @param key Redis键 + * @param timeout 超时时间 + * @param unit 时间单位 + * @return true=设置成功;false=设置失败 + */ + public boolean expire(final String key, final long timeout, final TimeUnit unit) + { + return redisTemplate.expire(key, timeout, unit); + } + + /** + * 获取有效时间 + * + * @param key Redis键 + * @return 有效时间 + */ + public long getExpire(final String key) + { + return redisTemplate.getExpire(key); + } + + /** + * 判断 key是否存在 + * + * @param key 键 + * @return true 存在 false不存在 + */ + public Boolean hasKey(String key) + { + return redisTemplate.hasKey(key); + } + + /** + * 获得缓存的基本对象。 + * + * @param key 缓存键值 + * @return 缓存键值对应的数据 + */ + public T getCacheObject(final String key) + { + ValueOperations operation = redisTemplate.opsForValue(); + return operation.get(key); + } + + /** + * 删除单个对象 + * + * @param key + */ + public boolean deleteObject(final String key) + { + return redisTemplate.delete(key); + } + + /** + * 删除集合对象 + * + * @param collection 多个对象 + * @return + */ + public boolean deleteObject(final Collection collection) + { + return redisTemplate.delete(collection) > 0; + } + + /** + * 缓存List数据 + * + * @param key 缓存的键值 + * @param dataList 待缓存的List数据 + * @return 缓存的对象 + */ + public long setCacheList(final String key, final List dataList) + { + Long count = redisTemplate.opsForList().rightPushAll(key, dataList); + return count == null ? 0 : count; + } + + /** + * 获得缓存的list对象 + * + * @param key 缓存的键值 + * @return 缓存键值对应的数据 + */ + public List getCacheList(final String key) + { + return redisTemplate.opsForList().range(key, 0, -1); + } + + /** + * 缓存Set + * + * @param key 缓存键值 + * @param dataSet 缓存的数据 + * @return 缓存数据的对象 + */ + public BoundSetOperations setCacheSet(final String key, final Set dataSet) + { + BoundSetOperations setOperation = redisTemplate.boundSetOps(key); + Iterator it = dataSet.iterator(); + while (it.hasNext()) + { + setOperation.add(it.next()); + } + return setOperation; + } + + /** + * 获得缓存的set + * + * @param key + * @return + */ + public Set getCacheSet(final String key) + { + return redisTemplate.opsForSet().members(key); + } + + /** + * 缓存Map + * + * @param key + * @param dataMap + */ + public void setCacheMap(final String key, final Map dataMap) + { + if (dataMap != null) { + redisTemplate.opsForHash().putAll(key, dataMap); + } + } + + /** + * 获得缓存的Map + * + * @param key + * @return + */ + public Map getCacheMap(final String key) + { + return redisTemplate.opsForHash().entries(key); + } + + /** + * 往Hash中存入数据 + * + * @param key Redis键 + * @param hKey Hash键 + * @param value 值 + */ + public void setCacheMapValue(final String key, final String hKey, final T value) + { + redisTemplate.opsForHash().put(key, hKey, value); + } + + /** + * 获取Hash中的数据 + * + * @param key Redis键 + * @param hKey Hash键 + * @return Hash中的对象 + */ + public T getCacheMapValue(final String key, final String hKey) + { + HashOperations opsForHash = redisTemplate.opsForHash(); + return opsForHash.get(key, hKey); + } + + /** + * 获取多个Hash中的数据 + * + * @param key Redis键 + * @param hKeys Hash键集合 + * @return Hash对象集合 + */ + public List getMultiCacheMapValue(final String key, final Collection hKeys) + { + return redisTemplate.opsForHash().multiGet(key, hKeys); + } + + /** + * 删除Hash中的某条数据 + * + * @param key Redis键 + * @param hKey Hash键 + * @return 是否成功 + */ + public boolean deleteCacheMapValue(final String key, final String hKey) + { + return redisTemplate.opsForHash().delete(key, hKey) > 0; + } + + /** + * 获得缓存的基本对象列表 + * + * @param pattern 字符串前缀 + * @return 对象列表 + */ + public Collection keys(final String pattern) + { + return redisTemplate.keys(pattern); + } +} diff --git a/cvmagic-security/src/main/java/com/cwf/security/config/SecurityConfig.java b/cvmagic-security/src/main/java/com/cwf/security/config/SecurityConfig.java index 51b908b..223f56c 100644 --- a/cvmagic-security/src/main/java/com/cwf/security/config/SecurityConfig.java +++ b/cvmagic-security/src/main/java/com/cwf/security/config/SecurityConfig.java @@ -55,7 +55,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { .authorizeRequests() //允许登录接口匿名访问 .antMatchers("/user/login").permitAll() - .antMatchers("/**/api/**").permitAll() + .antMatchers("/admin/login").permitAll() + .antMatchers("/api/**").permitAll() .antMatchers("/websocket/**").permitAll() //除此之外的所有接口需要鉴权认证 diff --git a/cvmagic-security/src/main/java/com/cwf/security/dao/UserLoginDao.java b/cvmagic-security/src/main/java/com/cwf/security/dao/UserLoginDao.java new file mode 100644 index 0000000..24454b0 --- /dev/null +++ b/cvmagic-security/src/main/java/com/cwf/security/dao/UserLoginDao.java @@ -0,0 +1,28 @@ +package com.cwf.security.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.cwf.security.entity.User; +import com.cwf.security.entity.UserLogin; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +/** + * (UserLogin)表数据库访问层 + * + * @author makejava + * @since 2023-02-17 08:55:42 + */ +@Mapper +public interface UserLoginDao extends BaseMapper { + + /** + * 通过用户名查询用户基本信息 + * + * @param loginName 用户名 + * @return 实例对象 + */ + @Select("select * from user_login\n" + + "where user_name=#{username}") + UserLogin userDetails(String loginName); +} + diff --git a/cvmagic-security/src/main/java/com/cwf/security/entity/SecurityUser.java b/cvmagic-security/src/main/java/com/cwf/security/entity/SecurityUser.java index 7dc410d..91839a7 100644 --- a/cvmagic-security/src/main/java/com/cwf/security/entity/SecurityUser.java +++ b/cvmagic-security/src/main/java/com/cwf/security/entity/SecurityUser.java @@ -19,7 +19,7 @@ import java.util.stream.Collectors; public class SecurityUser implements UserDetails { //用户信息 - private User user; + private UserLogin user; //用户权限列表 private List permissions; @@ -51,7 +51,7 @@ public class SecurityUser implements UserDetails { } public String getUserID() { - return user.getUserId(); + return user.getId(); } @Override diff --git a/cvmagic-security/src/main/java/com/cwf/security/entity/UserLogin.java b/cvmagic-security/src/main/java/com/cwf/security/entity/UserLogin.java new file mode 100644 index 0000000..6befa03 --- /dev/null +++ b/cvmagic-security/src/main/java/com/cwf/security/entity/UserLogin.java @@ -0,0 +1,73 @@ +package com.cwf.security.entity; + +import java.util.Date; + +import com.cwf.security.validation.login.UserLoginGroup; +import lombok.*; +import lombok.experimental.SuperBuilder; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * (UserLogin)实体类 + * + * @author makejava + * @since 2023-02-17 08:55:42 + */ +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@SuperBuilder +@ToString +public class UserLogin implements Serializable { + private static final long serialVersionUID = -60951295976241654L; + /** + * 用户id + */ + private String id; + /** + * 用户名 + */ + + @NotBlank(groups = UserLoginGroup.login.class) + @Length(min = 6,max = 11,groups = UserLoginGroup.login.class) + private String userName; + /** + * 密码 + */ + @NotBlank(groups = UserLoginGroup.login.class) + @Length(min = 6,max = 20,groups = UserLoginGroup.login.class) + private String password; + + + /** + * 昵称 + */ + private String name; + /** + * 头像 + */ + private String avatarUrl; + /** + * 用户状态 + */ + private Integer state; + /** + * 逻辑删除 + */ + private Integer isDelete; + /** + * 创建时间 + */ + private Date createTime; + /** + * 更新时间 + */ + private Date updateTime; + + +} + diff --git a/cvmagic-security/src/main/java/com/cwf/security/filter/JwtAuthenticationTokenFilter.java b/cvmagic-security/src/main/java/com/cwf/security/filter/JwtAuthenticationTokenFilter.java index ecbf566..397e25c 100644 --- a/cvmagic-security/src/main/java/com/cwf/security/filter/JwtAuthenticationTokenFilter.java +++ b/cvmagic-security/src/main/java/com/cwf/security/filter/JwtAuthenticationTokenFilter.java @@ -6,6 +6,7 @@ import com.cwf.common.enums.TokenInfoKeyEnum; import com.cwf.common.utils.auth.JwtUtil; import com.cwf.security.entity.SecurityUser; import com.cwf.security.entity.User; +import com.cwf.security.entity.UserLogin; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -44,11 +45,14 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter { String token = request.getHeader("Authorization"); + System.out.println(token); + + TokenInfo userInfo = JwtUtil.getTokenInfo(token, TokenInfoKeyEnum.OK.getCode()); - User user = new User(); + UserLogin user = new UserLogin(); Optional.ofNullable("").ifPresent(v -> { //获取用户id diff --git a/cvmagic-security/src/main/java/com/cwf/security/service/UserLoginService.java b/cvmagic-security/src/main/java/com/cwf/security/service/UserLoginService.java new file mode 100644 index 0000000..700fe6d --- /dev/null +++ b/cvmagic-security/src/main/java/com/cwf/security/service/UserLoginService.java @@ -0,0 +1,24 @@ +package com.cwf.security.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.cwf.security.entity.UserLogin; + +/** + * (UserLogin)表服务接口 + * + * @author makejava + * @since 2023-02-17 08:55:42 + */ +public interface UserLoginService extends IService { + + + + /** + * @description 用户登入 + * @author 18068 + * @date 2023/2/17 8:46 + * @return + */ + boolean login(UserLogin userLogin); +} + diff --git a/cvmagic-security/src/main/java/com/cwf/security/service/impl/UserDetailsServiceImpl.java b/cvmagic-security/src/main/java/com/cwf/security/service/impl/UserDetailsServiceImpl.java index b57c00e..15a13ff 100644 --- a/cvmagic-security/src/main/java/com/cwf/security/service/impl/UserDetailsServiceImpl.java +++ b/cvmagic-security/src/main/java/com/cwf/security/service/impl/UserDetailsServiceImpl.java @@ -2,8 +2,10 @@ package com.cwf.security.service.impl; import com.cwf.security.dao.LoginDao; +import com.cwf.security.dao.UserLoginDao; import com.cwf.security.entity.SecurityUser; import com.cwf.security.entity.User; +import com.cwf.security.entity.UserLogin; import com.cwf.security.service.PermissionListService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -31,7 +33,7 @@ public class UserDetailsServiceImpl implements UserDetailsService { RedisTemplate redisTemplate; @Autowired - LoginDao loginDao; + UserLoginDao loginDao; @Autowired PermissionListService permissionListService; @@ -44,36 +46,40 @@ public class UserDetailsServiceImpl implements UserDetailsService { public UserDetails loadUserByUsername(String loginName) { - final User user = loginDao.userDetails(loginName); + UserLogin user = loginDao.userDetails(loginName); - List permissionList = null; - - try { - permissionList = Optional.ofNullable(user).map(v -> { - //获取当前用户权限列表 - List permissions = permissionListService.permissionList(user.getUserId()); - - if (permissions.size()!=0) return permissions; - return new ArrayList(); - //处理 - }).get(); + System.out.println(user); - log.info("\n当前用户用户名: {}",loginName); - log.info("\n当前登录用户获取权限列: {}",permissionList); - //redis权限列表缓存 - String key = "permission:"+user.getUserId(); - - try { - redisTemplate.opsForValue().set(key,permissionList); - }catch (Exception e){ - log.error("id为{}的用户缓存权限列表失败,请检查redis是否正常",user.getUserId()); - } + List permissionList = null; - }catch (Exception e){ - log.error("\n当前登录用户获取权限列表异常"); - } +// try { +// permissionList = Optional.ofNullable(user).map(v -> { +// //获取当前用户权限列表 +// List permissions = permissionListService.permissionList(user.getId()); +// +// if (permissions.size()!=0) return permissions; +// +// return new ArrayList(); +// //处理 +// }).get(); +// +// log.info("\n当前用户用户名: {}",loginName); +// log.info("\n当前登录用户获取权限列: {}",permissionList); +// +// //redis权限列表缓存 +// String key = "permission:"+user.getId(); +// +// try { +// redisTemplate.opsForValue().set(key,permissionList); +// }catch (Exception e){ +// log.error("id为{}的用户缓存权限列表失败,请检查redis是否正常",user.getId()); +// } +// +// }catch (Exception e){ +// log.error("\n当前登录用户获取权限列表异常"); +// } diff --git a/cvmagic-security/src/main/java/com/cwf/security/service/impl/UserLoginServiceImpl.java b/cvmagic-security/src/main/java/com/cwf/security/service/impl/UserLoginServiceImpl.java new file mode 100644 index 0000000..d1d54bc --- /dev/null +++ b/cvmagic-security/src/main/java/com/cwf/security/service/impl/UserLoginServiceImpl.java @@ -0,0 +1,52 @@ +package com.cwf.security.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.cwf.security.dao.UserLoginDao; +import com.cwf.security.entity.SecurityUser; +import com.cwf.security.entity.UserLogin; +import com.cwf.security.service.UserLoginService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * (UserLogin)表服务实现类 + * + * @author makejava + * @since 2023-02-17 08:55:42 + */ + +@Slf4j +@Service("userLoginService") +public class UserLoginServiceImpl extends ServiceImpl implements UserLoginService { + + + + + + @Autowired + AuthenticationManager authenticationManager; + + @Override + public boolean login(UserLogin user) { + + UsernamePasswordAuthenticationToken token =new UsernamePasswordAuthenticationToken(user.getUserName(),user.getPassword()); + Authentication authenticate = authenticationManager.authenticate(token); + + if (Objects.isNull(authenticate)){ + log.error("登入失败"); + }else { + log.info("密码验证成功"); + } + + SecurityUser principal = (SecurityUser) authenticate.getPrincipal(); + + return false; + } +} + diff --git a/cvmagic-security/src/main/java/com/cwf/security/validation/login/UserLoginGroup.java b/cvmagic-security/src/main/java/com/cwf/security/validation/login/UserLoginGroup.java new file mode 100644 index 0000000..c26f911 --- /dev/null +++ b/cvmagic-security/src/main/java/com/cwf/security/validation/login/UserLoginGroup.java @@ -0,0 +1,16 @@ +package com.cwf.security.validation.login; + +public class UserLoginGroup { + + public interface add{ + + } + + public interface update{ + + } + + public interface login{ + + } +} diff --git a/cvmagic-system/src/main/java/com/cwf/system/validation/login/UserLoginGroup.java b/cvmagic-system/src/main/java/com/cwf/system/validation/login/UserLoginGroup.java new file mode 100644 index 0000000..27120ba --- /dev/null +++ b/cvmagic-system/src/main/java/com/cwf/system/validation/login/UserLoginGroup.java @@ -0,0 +1,12 @@ +package com.cwf.system.validation.login; + +public class UserLoginGroup { + + public interface add{ + + } + + public interface update{ + + } +} diff --git a/cvmagic-system/src/main/java/com/cwf/system/validation/login/UserLoginRequestParam.java b/cvmagic-system/src/main/java/com/cwf/system/validation/login/UserLoginRequestParam.java new file mode 100644 index 0000000..3800317 --- /dev/null +++ b/cvmagic-system/src/main/java/com/cwf/system/validation/login/UserLoginRequestParam.java @@ -0,0 +1,23 @@ +package com.cwf.system.validation.login; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.SuperBuilder; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@SuperBuilder +@ToString +public class UserLoginRequestParam { + private String userName; + + private String password; + + private String uuid; + + private String code; +} diff --git a/pom.xml b/pom.xml index b40fe04..66a3e96 100644 --- a/pom.xml +++ b/pom.xml @@ -169,6 +169,13 @@ + + org.slf4j + slf4j-api + 1.7.30 + + + -- Gitee From 3f3c236047129049f7e4f4903628622f9bd5f709 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 13:42:09 +0800 Subject: [PATCH 02/24] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9B=BE=E5=BD=A2?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E7=A0=81=E5=92=8C=E7=99=BB=E5=85=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/KaptchaController.java | 1 - .../controller/system/LoginController.java | 9 ++++-- .../security/service/UserLoginService.java | 4 +-- .../service/impl/UserLoginServiceImpl.java | 28 +++++++++++++++++-- 4 files changed, 34 insertions(+), 8 deletions(-) diff --git a/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/KaptchaController.java b/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/KaptchaController.java index c5e4b6e..f36c6c5 100644 --- a/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/KaptchaController.java +++ b/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/KaptchaController.java @@ -25,7 +25,6 @@ public class KaptchaController { * @date 2023/2/17 11:27 * @return */ - @RequestMapping("/image") public R generateImageCode(){ try { diff --git a/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/LoginController.java b/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/LoginController.java index fe5253f..92fc8fe 100644 --- a/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/LoginController.java +++ b/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/LoginController.java @@ -38,7 +38,7 @@ public class LoginController { public R login(@RequestBody @Validated UserLoginRequestParam userLogin){ //检查验证码 - kaptchaService.checkImageCode(userLogin.getUuid(),userLogin.getCode()); + // kaptchaService.checkImageCode(userLogin.getUuid(),userLogin.getCode()); @@ -47,10 +47,13 @@ public class LoginController { .password(userLogin.getPassword()) .build(); - userLoginService.login(userInfo); + String token = userLoginService.login(userInfo); - return R.success(1); + + + + return R.success(token); diff --git a/cvmagic-security/src/main/java/com/cwf/security/service/UserLoginService.java b/cvmagic-security/src/main/java/com/cwf/security/service/UserLoginService.java index 700fe6d..773234c 100644 --- a/cvmagic-security/src/main/java/com/cwf/security/service/UserLoginService.java +++ b/cvmagic-security/src/main/java/com/cwf/security/service/UserLoginService.java @@ -14,11 +14,11 @@ public interface UserLoginService extends IService { /** + * @return * @description 用户登入 * @author 18068 * @date 2023/2/17 8:46 - * @return */ - boolean login(UserLogin userLogin); + String login(UserLogin userLogin); } diff --git a/cvmagic-security/src/main/java/com/cwf/security/service/impl/UserLoginServiceImpl.java b/cvmagic-security/src/main/java/com/cwf/security/service/impl/UserLoginServiceImpl.java index d1d54bc..da399e7 100644 --- a/cvmagic-security/src/main/java/com/cwf/security/service/impl/UserLoginServiceImpl.java +++ b/cvmagic-security/src/main/java/com/cwf/security/service/impl/UserLoginServiceImpl.java @@ -1,6 +1,11 @@ package com.cwf.security.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.cwf.common.entity.auth.TokenInfo; +import com.cwf.common.enums.ResCodeEnum; +import com.cwf.common.exception.base.MyException; +import com.cwf.common.utils.auth.JwtUtil; +import com.cwf.framework.redis.RedisService; import com.cwf.security.dao.UserLoginDao; import com.cwf.security.entity.SecurityUser; import com.cwf.security.entity.UserLogin; @@ -13,6 +18,7 @@ import org.springframework.security.core.Authentication; import org.springframework.stereotype.Service; import java.util.Objects; +import java.util.concurrent.TimeUnit; /** * (UserLogin)表服务实现类 @@ -32,12 +38,16 @@ public class UserLoginServiceImpl extends ServiceImpl i @Autowired AuthenticationManager authenticationManager; + @Autowired + RedisService redisService; + @Override - public boolean login(UserLogin user) { + public String login(UserLogin user) { UsernamePasswordAuthenticationToken token =new UsernamePasswordAuthenticationToken(user.getUserName(),user.getPassword()); Authentication authenticate = authenticationManager.authenticate(token); + if (Objects.isNull(authenticate)){ log.error("登入失败"); }else { @@ -46,7 +56,21 @@ public class UserLoginServiceImpl extends ServiceImpl i SecurityUser principal = (SecurityUser) authenticate.getPrincipal(); - return false; + TokenInfo tokenInfo = new TokenInfo(); + + tokenInfo.setUserId(principal.getUserID()); + tokenInfo.setUserName(principal.getUsername()); + + String tokenStr = JwtUtil.getToken(tokenInfo); + + String redisKey = "token:"+principal.getUserID(); + + try { + redisService.setCacheObject(redisKey,tokenStr,7, TimeUnit.DAYS); + }catch (Exception e){ + throw new MyException("登入失败", ResCodeEnum.LOGIN_ERR.getCode()); + } + return tokenStr; } } -- Gitee From 527340071803228d3f14d7984912514db764f8f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 14:24:42 +0800 Subject: [PATCH 03/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 8 +++++ Jenkinsfile | 64 ++++++++++++++++++++++++++++++++++++++++ cvmagic-admin/Dockerfile | 5 ++++ 3 files changed, 77 insertions(+) create mode 100644 docker-compose.yml create mode 100644 Jenkinsfile create mode 100644 cvmagic-admin/Dockerfile diff --git a/ docker-compose.yml b/ docker-compose.yml new file mode 100644 index 0000000..fc2cb5f --- /dev/null +++ b/ docker-compose.yml @@ -0,0 +1,8 @@ +version: "3" +services: + cvmagic-admin: + build: + context: cvmagic-admin + dockerfile: Dockerfile + ports: + - "9001:9001" \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..6020fa6 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,64 @@ +node { + + stage('拉取gitee代码') { + git branch: "${BRANCH}", credentialsId: 'a5809969-9357-49d7-84b9-72fbd1e8d902', url: 'https://gitee.com/cai-wangfa/cloud-shopping.git' + } + + stage('maven构建项目') { + sh "mvn clean install -pl ${"${SERVICE}"} -am -amd -Pdev -Dmaven.test.skip=true" + } + + stage('jar包上传,构建docker镜像运行') { + + def item = "${SERVICE}".split(",") + println item.toString() + for(int i=0;i Date: Fri, 17 Feb 2023 14:32:12 +0800 Subject: [PATCH 04/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6020fa6..adea408 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,23 +1,28 @@ node { stage('拉取gitee代码') { - git branch: "${BRANCH}", credentialsId: 'a5809969-9357-49d7-84b9-72fbd1e8d902', url: 'https://gitee.com/cai-wangfa/cloud-shopping.git' + //git branch: "${BRANCH}", credentialsId: 'a5809969-9357-49d7-84b9-72fbd1e8d902', url: 'https://gitee.com/cai-wangfa/cloud-shopping.git' + + git branch: "dev1", credentialsId: 'a5809969-9357-49d7-84b9-72fbd1e8d902', url: 'https://gitee.com/cai-wangfa/cvmagic-vue.git' } stage('maven构建项目') { - sh "mvn clean install -pl ${"${SERVICE}"} -am -amd -Pdev -Dmaven.test.skip=true" + //sh "mvn clean install -pl ${"${SERVICE}"} -am -amd -Pdev -Dmaven.test.skip=true" + sh "mvn clean install -pl cvmagic-admin -am -amd -Pdev -Dmaven.test.skip=true" } stage('jar包上传,构建docker镜像运行') { - def item = "${SERVICE}".split(",") + /*def item = "${SERVICE}".split(",") println item.toString() for(int i=0;i Date: Fri, 17 Feb 2023 14:37:35 +0800 Subject: [PATCH 05/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index adea408..9ae0a46 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,7 +39,7 @@ node { def uploadFile(def name){ String cmd = "cd /www/wwwroot/cvmagic-vue && docker-compose up -d --force-recreate --build ${name}" - String sourceFilePath = "${name}/**/*.jar,${name}/Dockerfile,docker-compose.yml" + String sourceFilePath = "${name}/**/*.jar,${name}/Dockerfile,./docker-compose.yml" println sourceFilePath sshPublisher( -- Gitee From 123aa4b35a166434c4bcb6951a9e8e2c3775af57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 14:40:29 +0800 Subject: [PATCH 06/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9ae0a46..62e266d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,7 +39,7 @@ node { def uploadFile(def name){ String cmd = "cd /www/wwwroot/cvmagic-vue && docker-compose up -d --force-recreate --build ${name}" - String sourceFilePath = "${name}/**/*.jar,${name}/Dockerfile,./docker-compose.yml" + String sourceFilePath = "docker-compose.yml" println sourceFilePath sshPublisher( @@ -49,7 +49,6 @@ def uploadFile(def name){ transfers: [sshTransfer( cleanRemote: false, excludes: '', - execCommand: cmd, execTimeout: 120000, flatten: false, makeEmptyDirs: false, -- Gitee From 275bc60687f772d1a47b82090ae16034066868bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 14:42:02 +0800 Subject: [PATCH 07/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 62e266d..db749a5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,7 +39,7 @@ node { def uploadFile(def name){ String cmd = "cd /www/wwwroot/cvmagic-vue && docker-compose up -d --force-recreate --build ${name}" - String sourceFilePath = "docker-compose.yml" + String sourceFilePath = "/docker-compose.yml" println sourceFilePath sshPublisher( -- Gitee From 9f5094ee03b2e615a813b11cfb12a663122e7f2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 14:42:36 +0800 Subject: [PATCH 08/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index db749a5..c0fe587 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -8,7 +8,7 @@ node { stage('maven构建项目') { //sh "mvn clean install -pl ${"${SERVICE}"} -am -amd -Pdev -Dmaven.test.skip=true" - sh "mvn clean install -pl cvmagic-admin -am -amd -Pdev -Dmaven.test.skip=true" + //sh "mvn clean install -pl cvmagic-admin -am -amd -Pdev -Dmaven.test.skip=true" } stage('jar包上传,构建docker镜像运行') { -- Gitee From f2a720350f13edcf58d4b7d37447ac96b7433b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 14:45:07 +0800 Subject: [PATCH 09/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index c0fe587..9a34729 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,7 +39,7 @@ node { def uploadFile(def name){ String cmd = "cd /www/wwwroot/cvmagic-vue && docker-compose up -d --force-recreate --build ${name}" - String sourceFilePath = "/docker-compose.yml" + String sourceFilePath = "./docker-compose.yml" println sourceFilePath sshPublisher( -- Gitee From e30d56460930009d75d45c47f604127b973fbf87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 14:48:34 +0800 Subject: [PATCH 10/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 4 ++-- cvmagic-admin/docker-compose.yml | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 cvmagic-admin/docker-compose.yml diff --git a/Jenkinsfile b/Jenkinsfile index 9a34729..b4f4e40 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -8,7 +8,7 @@ node { stage('maven构建项目') { //sh "mvn clean install -pl ${"${SERVICE}"} -am -amd -Pdev -Dmaven.test.skip=true" - //sh "mvn clean install -pl cvmagic-admin -am -amd -Pdev -Dmaven.test.skip=true" + sh "mvn clean install -pl cvmagic-admin -am -amd -Pdev -Dmaven.test.skip=true" } stage('jar包上传,构建docker镜像运行') { @@ -39,7 +39,7 @@ node { def uploadFile(def name){ String cmd = "cd /www/wwwroot/cvmagic-vue && docker-compose up -d --force-recreate --build ${name}" - String sourceFilePath = "./docker-compose.yml" + String sourceFilePath = "${name}/**/*.jar,${name}/Dockerfile,${name}/docker-compose.yml" println sourceFilePath sshPublisher( diff --git a/cvmagic-admin/docker-compose.yml b/cvmagic-admin/docker-compose.yml new file mode 100644 index 0000000..fc2cb5f --- /dev/null +++ b/cvmagic-admin/docker-compose.yml @@ -0,0 +1,8 @@ +version: "3" +services: + cvmagic-admin: + build: + context: cvmagic-admin + dockerfile: Dockerfile + ports: + - "9001:9001" \ No newline at end of file -- Gitee From a15126d364081c2cf963fd6e1cfe31dca37d79b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 14:51:32 +0800 Subject: [PATCH 11/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index b4f4e40..b46bc4e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,7 +39,7 @@ node { def uploadFile(def name){ String cmd = "cd /www/wwwroot/cvmagic-vue && docker-compose up -d --force-recreate --build ${name}" - String sourceFilePath = "${name}/**/*.jar,${name}/Dockerfile,${name}/docker-compose.yml" + String sourceFilePath = "${name}/**/*.jar,${name}/Dockerfile,docker-compose.yml" println sourceFilePath sshPublisher( -- Gitee From 33126797d1e4534f90510997aef205055e5e74a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 14:57:05 +0800 Subject: [PATCH 12/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index b46bc4e..60f4a63 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,7 +39,7 @@ node { def uploadFile(def name){ String cmd = "cd /www/wwwroot/cvmagic-vue && docker-compose up -d --force-recreate --build ${name}" - String sourceFilePath = "${name}/**/*.jar,${name}/Dockerfile,docker-compose.yml" + String sourceFilePath = "/**/docker-compose.yml,${name}/**/*.jar,${name}/Dockerfile" println sourceFilePath sshPublisher( -- Gitee From f569eda9abeeb1ba285f203c20ff0ace1ffc91c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 14:58:50 +0800 Subject: [PATCH 13/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 60f4a63..03ff855 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,7 +39,7 @@ node { def uploadFile(def name){ String cmd = "cd /www/wwwroot/cvmagic-vue && docker-compose up -d --force-recreate --build ${name}" - String sourceFilePath = "/**/docker-compose.yml,${name}/**/*.jar,${name}/Dockerfile" + String sourceFilePath = "/docker-compose.yml,${name}/**/*.jar,${name}/Dockerfile" println sourceFilePath sshPublisher( -- Gitee From e76f1f53d8ad5fd6d6e7475a5485dd7529c737a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 15:02:08 +0800 Subject: [PATCH 14/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 8 -------- docker-compose.yml | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 8 deletions(-) delete mode 100644 docker-compose.yml create mode 100644 docker-compose.yml diff --git a/ docker-compose.yml b/ docker-compose.yml deleted file mode 100644 index fc2cb5f..0000000 --- a/ docker-compose.yml +++ /dev/null @@ -1,8 +0,0 @@ -version: "3" -services: - cvmagic-admin: - build: - context: cvmagic-admin - dockerfile: Dockerfile - ports: - - "9001:9001" \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..cd4da3a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,35 @@ +version: "3" +services: + cloud-gw: + build: + context: cloud-gw + dockerfile: Dockerfile + ports: + - "3002:3002" + cloud-system: + build: + context: cloud-system + dockerfile: Dockerfile + ports: + - "9006:9006" + + cloud-user: + build: + context: cloud-user + dockerfile: Dockerfile + ports: + - "9003:9003" + + cloud-goods: + build: + context: cloud-goods + dockerfile: Dockerfile + ports: + - "9001:9001" + + cloud-order: + build: + context: cloud-order + dockerfile: Dockerfile + ports: + - "9002:9002" \ No newline at end of file -- Gitee From c41bde7f7abbfe66d0dc7aa18e8316c7f53b8134 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 15:04:12 +0800 Subject: [PATCH 15/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 03ff855..b46bc4e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,7 +39,7 @@ node { def uploadFile(def name){ String cmd = "cd /www/wwwroot/cvmagic-vue && docker-compose up -d --force-recreate --build ${name}" - String sourceFilePath = "/docker-compose.yml,${name}/**/*.jar,${name}/Dockerfile" + String sourceFilePath = "${name}/**/*.jar,${name}/Dockerfile,docker-compose.yml" println sourceFilePath sshPublisher( -- Gitee From ddc4725a9232ac2ee533c2fe27e73585e7bfc8f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 15:12:01 +0800 Subject: [PATCH 16/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index cd4da3a..1ad555f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,34 +2,7 @@ version: "3" services: cloud-gw: build: - context: cloud-gw + context: cvmagic-admin dockerfile: Dockerfile ports: - - "3002:3002" - cloud-system: - build: - context: cloud-system - dockerfile: Dockerfile - ports: - - "9006:9006" - - cloud-user: - build: - context: cloud-user - dockerfile: Dockerfile - ports: - - "9003:9003" - - cloud-goods: - build: - context: cloud-goods - dockerfile: Dockerfile - ports: - - "9001:9001" - - cloud-order: - build: - context: cloud-order - dockerfile: Dockerfile - ports: - - "9002:9002" \ No newline at end of file + - "9001:9001" \ No newline at end of file -- Gitee From b24a858f4fd0114c6e2be260b2b50dce1be3e20b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 15:12:49 +0800 Subject: [PATCH 17/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index b46bc4e..adea408 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -49,6 +49,7 @@ def uploadFile(def name){ transfers: [sshTransfer( cleanRemote: false, excludes: '', + execCommand: cmd, execTimeout: 120000, flatten: false, makeEmptyDirs: false, -- Gitee From 0f12e40b2d8aa93d00aac6c19d1855719df97207 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 15:14:54 +0800 Subject: [PATCH 18/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 1ad555f..fc2cb5f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ version: "3" services: - cloud-gw: + cvmagic-admin: build: context: cvmagic-admin dockerfile: Dockerfile -- Gitee From 08248d7b60d4252fa89446330e0e37bb64f334c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 15:17:19 +0800 Subject: [PATCH 19/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index fc2cb5f..5387f31 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,4 +5,4 @@ services: context: cvmagic-admin dockerfile: Dockerfile ports: - - "9001:9001" \ No newline at end of file + - "9100:9001" \ No newline at end of file -- Gitee From 33ec5adadca3f1dd98a1e02311820809a07ced55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 15:18:17 +0800 Subject: [PATCH 20/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5387f31..6ebb9a9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,4 +5,4 @@ services: context: cvmagic-admin dockerfile: Dockerfile ports: - - "9100:9001" \ No newline at end of file + - "5000:9001" \ No newline at end of file -- Gitee From 3658073f20f4a445ecb0ac9325c7494304748206 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 15:19:49 +0800 Subject: [PATCH 21/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cvmagic-admin/Dockerfile | 2 +- cvmagic-admin/docker-compose.yml | 8 -------- cvmagic-admin/src/main/resources/application-dev.yml | 2 +- docker-compose.yml | 2 +- 4 files changed, 3 insertions(+), 11 deletions(-) delete mode 100644 cvmagic-admin/docker-compose.yml diff --git a/cvmagic-admin/Dockerfile b/cvmagic-admin/Dockerfile index 3af35e4..b4430f9 100644 --- a/cvmagic-admin/Dockerfile +++ b/cvmagic-admin/Dockerfile @@ -1,5 +1,5 @@ FROM java:8 VOLUME /temp ADD target/*.jar demo.jar -EXPOSE 9001 +EXPOSE 9000 ENTRYPOINT ["java","-Djava.security.egd-file:/dev/./urandom","-jar","-Xmx128m","-Xms128m","/demo.jar"] \ No newline at end of file diff --git a/cvmagic-admin/docker-compose.yml b/cvmagic-admin/docker-compose.yml deleted file mode 100644 index fc2cb5f..0000000 --- a/cvmagic-admin/docker-compose.yml +++ /dev/null @@ -1,8 +0,0 @@ -version: "3" -services: - cvmagic-admin: - build: - context: cvmagic-admin - dockerfile: Dockerfile - ports: - - "9001:9001" \ No newline at end of file diff --git a/cvmagic-admin/src/main/resources/application-dev.yml b/cvmagic-admin/src/main/resources/application-dev.yml index 647ed67..63a866b 100644 --- a/cvmagic-admin/src/main/resources/application-dev.yml +++ b/cvmagic-admin/src/main/resources/application-dev.yml @@ -1,5 +1,5 @@ server: - port: 9001 + port: 9000 #开发环境 spring: diff --git a/docker-compose.yml b/docker-compose.yml index 6ebb9a9..d45927c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,4 +5,4 @@ services: context: cvmagic-admin dockerfile: Dockerfile ports: - - "5000:9001" \ No newline at end of file + - "9000:9000" \ No newline at end of file -- Gitee From 1cefffb754951f1ed4e2649e6b3d39f2dc9a2e93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 15:21:59 +0800 Subject: [PATCH 22/24] =?UTF-8?q?Jenkins=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cvmagic-admin/Dockerfile | 2 +- cvmagic-admin/src/main/resources/application-dev.yml | 2 +- docker-compose.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cvmagic-admin/Dockerfile b/cvmagic-admin/Dockerfile index b4430f9..44a83c5 100644 --- a/cvmagic-admin/Dockerfile +++ b/cvmagic-admin/Dockerfile @@ -1,5 +1,5 @@ FROM java:8 VOLUME /temp ADD target/*.jar demo.jar -EXPOSE 9000 +EXPOSE 3000 ENTRYPOINT ["java","-Djava.security.egd-file:/dev/./urandom","-jar","-Xmx128m","-Xms128m","/demo.jar"] \ No newline at end of file diff --git a/cvmagic-admin/src/main/resources/application-dev.yml b/cvmagic-admin/src/main/resources/application-dev.yml index 63a866b..34956c4 100644 --- a/cvmagic-admin/src/main/resources/application-dev.yml +++ b/cvmagic-admin/src/main/resources/application-dev.yml @@ -1,5 +1,5 @@ server: - port: 9000 + port: 3000 #开发环境 spring: diff --git a/docker-compose.yml b/docker-compose.yml index d45927c..bd38cae 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,4 +5,4 @@ services: context: cvmagic-admin dockerfile: Dockerfile ports: - - "9000:9000" \ No newline at end of file + - "3000:3000" \ No newline at end of file -- Gitee From 9d121a723eeb427d2e4c2609be7b4f04970daf26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 15:39:21 +0800 Subject: [PATCH 23/24] =?UTF-8?q?=E7=99=BB=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/web/controller/system/LoginController.java | 5 ++--- .../main/java/com/cwf/security/entity/UserLogin.java | 5 ----- .../validation/login/UserLoginRequestParam.java | 11 ++++++++++- 3 files changed, 12 insertions(+), 9 deletions(-) rename {cvmagic-system/src/main/java/com/cwf/system => cvmagic-security/src/main/java/com/cwf/security}/validation/login/UserLoginRequestParam.java (61%) diff --git a/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/LoginController.java b/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/LoginController.java index 92fc8fe..026112b 100644 --- a/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/LoginController.java +++ b/cvmagic-admin/src/main/java/com/cwf/admin/web/controller/system/LoginController.java @@ -6,8 +6,7 @@ import com.cwf.framework.authcode.service.KaptchaService; import com.cwf.security.dao.UserLoginDao; import com.cwf.security.entity.UserLogin; import com.cwf.security.service.UserLoginService; -import com.cwf.security.validation.login.UserLoginGroup; -import com.cwf.system.validation.login.UserLoginRequestParam; +import com.cwf.security.validation.login.UserLoginRequestParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; @@ -38,7 +37,7 @@ public class LoginController { public R login(@RequestBody @Validated UserLoginRequestParam userLogin){ //检查验证码 - // kaptchaService.checkImageCode(userLogin.getUuid(),userLogin.getCode()); + kaptchaService.checkImageCode(userLogin.getUuid(),userLogin.getCode()); diff --git a/cvmagic-security/src/main/java/com/cwf/security/entity/UserLogin.java b/cvmagic-security/src/main/java/com/cwf/security/entity/UserLogin.java index 6befa03..de2961e 100644 --- a/cvmagic-security/src/main/java/com/cwf/security/entity/UserLogin.java +++ b/cvmagic-security/src/main/java/com/cwf/security/entity/UserLogin.java @@ -31,15 +31,10 @@ public class UserLogin implements Serializable { /** * 用户名 */ - - @NotBlank(groups = UserLoginGroup.login.class) - @Length(min = 6,max = 11,groups = UserLoginGroup.login.class) private String userName; /** * 密码 */ - @NotBlank(groups = UserLoginGroup.login.class) - @Length(min = 6,max = 20,groups = UserLoginGroup.login.class) private String password; diff --git a/cvmagic-system/src/main/java/com/cwf/system/validation/login/UserLoginRequestParam.java b/cvmagic-security/src/main/java/com/cwf/security/validation/login/UserLoginRequestParam.java similarity index 61% rename from cvmagic-system/src/main/java/com/cwf/system/validation/login/UserLoginRequestParam.java rename to cvmagic-security/src/main/java/com/cwf/security/validation/login/UserLoginRequestParam.java index 3800317..99e334e 100644 --- a/cvmagic-system/src/main/java/com/cwf/system/validation/login/UserLoginRequestParam.java +++ b/cvmagic-security/src/main/java/com/cwf/security/validation/login/UserLoginRequestParam.java @@ -1,4 +1,4 @@ -package com.cwf.system.validation.login; +package com.cwf.security.validation.login; import lombok.AllArgsConstructor; @@ -6,6 +6,9 @@ import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; import lombok.experimental.SuperBuilder; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; @Data @NoArgsConstructor @@ -13,8 +16,14 @@ import lombok.experimental.SuperBuilder; @SuperBuilder @ToString public class UserLoginRequestParam { + + + @NotBlank + @Length(min = 6,max = 11) private String userName; + @NotBlank + @Length(min = 6,max = 20) private String password; private String uuid; -- Gitee From b5f897a4016d3af6c7e653550a2b09d171f10b18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Fri, 17 Feb 2023 15:45:19 +0800 Subject: [PATCH 24/24] test --- .../java/com/cwf/system/controller/PermissionController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java b/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java index ed67070..1c92d73 100644 --- a/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java +++ b/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java @@ -46,6 +46,6 @@ public class PermissionController extends BaseController { String userId = getUserId(); - return R.success(userId); + return R.success(permissionTreeVOList); } } -- Gitee