diff --git a/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvSysUser.java b/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvSysUser.java index 87b959e..1f73347 100644 --- a/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvSysUser.java +++ b/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvSysUser.java @@ -1,36 +1,34 @@ package com.docus.server.entity.recovery; -import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; -import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.docus.server.enums.EffectiveEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; -import lombok.NoArgsConstructor; import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; +import lombok.NoArgsConstructor; -import com.docus.server.enums.*; +import java.io.Serializable; +import java.util.Date; /** -* -* 系统登录用户表 -* -* @author AutoGenerator -* @since 2023-09-13 -*/ + * 系统登录用户表 + * + * @author AutoGenerator + * @since 2023-09-13 + */ @Data @Builder @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = false) @TableName("rcv_sys_user") -@ApiModel(value="RcvSysUser对象", description="系统登录用户表") +@ApiModel(value = "RcvSysUser对象", description = "系统登录用户表") public class RcvSysUser implements Serializable { @ApiModelProperty(value = "") @@ -71,7 +69,7 @@ public class RcvSysUser implements Serializable { @ApiModelProperty(value = "是否有效,0:无效,1:有效") @TableField("effective") - private Integer effective; + private EffectiveEnum effective; @ApiModelProperty(value = "入库时间") @TableField("create_time") diff --git a/docus-client-interface/src/main/java/com/docus/server/enums/EffectiveEnum.java b/docus-client-interface/src/main/java/com/docus/server/enums/EffectiveEnum.java new file mode 100644 index 0000000..b385f08 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/enums/EffectiveEnum.java @@ -0,0 +1,27 @@ +package com.docus.server.enums; + +import com.docus.infrastructure.core.db.enums.IIntegerEnum; + +public enum EffectiveEnum implements IIntegerEnum { + INVALID(0, "无效"), + EFFECTIVE(1, "有效"); + + private Integer value; + private String display; + + EffectiveEnum(Integer value, String display) { + this.value = value; + this.display = display; + } + + @Override + public Integer getValue() { + return value; + } + + @Override + public String getDisplay() { + + return display; + } +} diff --git a/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvsysuser/RcvSysUserVO.java b/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvsysuser/RcvSysUserVO.java index 32f23d9..c2497be 100644 --- a/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvsysuser/RcvSysUserVO.java +++ b/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvsysuser/RcvSysUserVO.java @@ -1,15 +1,12 @@ package com.docus.server.vo.recovery.rcvsysuser; +import com.docus.server.enums.EffectiveEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import com.docus.server.enums.*; import java.io.Serializable; import java.util.Date; @@ -56,7 +53,7 @@ public class RcvSysUserVO implements Serializable { private String userPosition; @ApiModelProperty(value = "是否有效,0:无效,1:有效") - private Integer effective; + private EffectiveEnum effective; @ApiModelProperty(value = "入库时间") private Date createTime; diff --git a/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java b/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java index 7310deb..6c2b13f 100644 --- a/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java +++ b/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java @@ -1,5 +1,6 @@ package com.docus.server.controller; +import com.docus.infrastructure.shiro.ShiroUtil; import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.response.PageResult; import com.docus.server.api.recovery.RcvSysUserApi; @@ -12,11 +13,8 @@ import com.docus.server.vo.recovery.rcvsysuser.RcvSysUserVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; import java.io.Serializable; import java.util.Collection; import java.util.List; @@ -33,22 +31,20 @@ public class RcvSysUserController implements RcvSysUserApi { @Resource private IRcvSysUserService iRcvSysUserService; - - @ApiOperation("登录") @Override + @ApiOperation("登录") public void login(LoginRcvSysUserDTO userDTO) { - System.out.println(userDTO.getUserName() + userDTO.getUserPwd()); - HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest(); - request.getSession().setAttribute("USER_NAME", userDTO.getUserName()); - request.getSession().setAttribute("SESSION_PASSWORD", userDTO.getUserPwd()); + System.out.println("登录"); + iRcvSysUserService.doLogin(userDTO.getUserName(), userDTO.getUserPwd()); + ShiroUtil.setSessionAttr("USER_NAME", userDTO.getUserName()); + ShiroUtil.setSessionAttr("SESSION_PASSWORD", userDTO.getUserPwd()); } @ApiOperation("退出登录") @Override public void logout() { - HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest(); - request.getSession().removeAttribute("USER_NAME"); - request.getSession().removeAttribute("SESSION_PASSWORD"); + ShiroUtil.removeSessionAttr("USER_NAME"); + ShiroUtil.removeSessionAttr("SESSION_PASSWORD"); System.out.println("退出登录"); } diff --git a/docus-recovery/src/main/java/com/docus/server/service/IRcvSysUserService.java b/docus-recovery/src/main/java/com/docus/server/service/IRcvSysUserService.java index ae3d1de..3e91685 100644 --- a/docus-recovery/src/main/java/com/docus/server/service/IRcvSysUserService.java +++ b/docus-recovery/src/main/java/com/docus/server/service/IRcvSysUserService.java @@ -183,4 +183,6 @@ public interface IRcvSysUserService { * @return 名称重复数量 */ int findByIdAndName(Serializable id, String name); + + void doLogin(String userName, String userPwd); } diff --git a/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysUserServiceImpl.java b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysUserServiceImpl.java index 56f12bb..e667f7e 100644 --- a/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysUserServiceImpl.java +++ b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysUserServiceImpl.java @@ -2,6 +2,9 @@ package com.docus.server.service.impl; import com.docus.infrastructure.core.db.dao.IBaseDao; import com.docus.infrastructure.redis.service.IdService; +import com.docus.infrastructure.shiro.ShiroUtil; +import com.docus.infrastructure.web.exception.ApiException; +import com.docus.infrastructure.web.exception.ExceptionCode; import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.response.PageResult; import com.docus.server.convert.RcvSysUserConvert; @@ -9,9 +12,11 @@ import com.docus.server.dto.recovery.rcvsysuser.AddRcvSysUserDTO; import com.docus.server.dto.recovery.rcvsysuser.DeleteRcvSysUserDTO; import com.docus.server.dto.recovery.rcvsysuser.EditRcvSysUserDTO; import com.docus.server.entity.recovery.RcvSysUser; +import com.docus.server.enums.EffectiveEnum; import com.docus.server.infrastructure.dao.IRcvSysUserDao; import com.docus.server.service.IRcvSysUserService; import com.docus.server.vo.recovery.rcvsysuser.RcvSysUserVO; +import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -320,5 +325,23 @@ public class RcvSysUserServiceImpl implements IRcvSysUserService { return iRcvSysUserDao.findByIdAndName(id, name); } + @Override + public void doLogin(String userName, String userPwd) { + if (StringUtils.isBlank(userName) || StringUtils.isBlank(userPwd)) { + throw new ApiException(ExceptionCode.ParamIllegal.getCode(), "用户名或密码不能为空!"); + } + RcvSysUser user = iRcvSysUserDao.findOneBy("userName", userName); + String md5Pwd = ShiroUtil.md5(userPwd, null); + if (user == null) { + throw new ApiException(ExceptionCode.ParamIllegal.getCode(), "登录失败,用户不存在!"); + } + if (!EffectiveEnum.EFFECTIVE.equals(user.getEffective())) { + throw new ApiException(ExceptionCode.ParamIllegal.getCode(), "登录失败,用户状态未启用!"); + } + if (!user.getUserPwd().equals(md5Pwd)) { + throw new ApiException(ExceptionCode.ParamIllegal.getCode(), "登录失败:密码错误!"); + } + } + } diff --git a/docus-segmentation/pom.xml b/docus-segmentation/pom.xml index ea960d3..2bd0bbd 100644 --- a/docus-segmentation/pom.xml +++ b/docus-segmentation/pom.xml @@ -6,7 +6,7 @@ 1.0-SNAPSHOT 4.0.0 - docus-segmentation + docus-segmentation-linrf Archetype - docus-segmentation http://maven.apache.org diff --git a/docus-segmentation/src/main/resources/bootstrap.yml b/docus-segmentation/src/main/resources/bootstrap.yml index d33fab2..b58de96 100644 --- a/docus-segmentation/src/main/resources/bootstrap.yml +++ b/docus-segmentation/src/main/resources/bootstrap.yml @@ -1,6 +1,9 @@ server: port: 9115 spring: + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 profiles: active: dev application: @@ -71,4 +74,4 @@ docus: vm-task-cron: 0/30 * * * * ? collector-package-download-url: http://192.168.16.110:9113 collector-package-download-savePath: D:\\packages\\ - terminal-restart-bat: cmd /c start D:\webroot\collector-scheduling-management\jenkins-update.bat d:\webroot \ No newline at end of file + terminal-restart-bat: cmd /c start D:\webroot\collector-scheduling-management\jenk ins-update.bat d:\webroot \ No newline at end of file diff --git a/docus-segmentation/src/main/resources/logback.xml b/docus-segmentation/src/main/resources/logback.xml index 6d23488..14e1f9e 100644 --- a/docus-segmentation/src/main/resources/logback.xml +++ b/docus-segmentation/src/main/resources/logback.xml @@ -9,11 +9,11 @@ - - - - - + + + %message%n + + @@ -53,9 +53,9 @@ - - - + + +