Ver código fonte

用户登陆接口

shengqianlei 2 anos atrás
pai
commit
88f5daa91a
21 arquivos alterados com 272 adições e 20 exclusões
  1. 2 2
      pom.xml
  2. 1 0
      src/main/java/com/abcsz/litigationcase/controller/DataDictionaryController.java
  3. 3 3
      src/main/java/com/abcsz/litigationcase/controller/UserController.java
  4. 39 0
      src/main/java/com/abcsz/litigationcase/controller/UserLoginController.java
  5. 1 1
      src/main/java/com/abcsz/litigationcase/dao/entity/DataDictionaryEntity.java
  6. 1 1
      src/main/java/com/abcsz/litigationcase/dao/entity/LawFirmEntity.java
  7. 55 0
      src/main/java/com/abcsz/litigationcase/dao/entity/UserLoginEntity.java
  8. 19 0
      src/main/java/com/abcsz/litigationcase/dao/mapper/UserLoginMapper.java
  9. 1 1
      src/main/java/com/abcsz/litigationcase/domain/ro/DataDictionaryQueryRo.java
  10. 1 1
      src/main/java/com/abcsz/litigationcase/domain/ro/LawFirmQueryRo.java
  11. 1 1
      src/main/java/com/abcsz/litigationcase/domain/ro/LawFirmRo.java
  12. 20 0
      src/main/java/com/abcsz/litigationcase/domain/ro/UserLoginRo.java
  13. 1 1
      src/main/java/com/abcsz/litigationcase/domain/ro/UserQueryRo.java
  14. 1 1
      src/main/java/com/abcsz/litigationcase/domain/ro/UserRo.java
  15. 1 1
      src/main/java/com/abcsz/litigationcase/domain/vo/DataDictionaryQueryVo.java
  16. 1 1
      src/main/java/com/abcsz/litigationcase/domain/vo/LawFirmQueryVo.java
  17. 1 1
      src/main/java/com/abcsz/litigationcase/domain/vo/UseQueryVo.java
  18. 19 0
      src/main/java/com/abcsz/litigationcase/service/UserLoginService.java
  19. 84 0
      src/main/java/com/abcsz/litigationcase/service/impl/UserLoginServiceIml.java
  20. 19 4
      src/main/java/com/abcsz/litigationcase/service/impl/UserServiceIml.java
  21. 1 1
      src/test/java/com/abcsz/litigationcase/CodeGenerator.java

+ 2 - 2
pom.xml

@@ -77,13 +77,13 @@
 		<dependency>
 			<groupId>io.springfox</groupId>
 			<artifactId>springfox-swagger2</artifactId>
-			<version>2.8.0</version>
+			<version>2.9.2</version>
 		</dependency>
 
 		<dependency>
 			<groupId>io.springfox</groupId>
 			<artifactId>springfox-swagger-ui</artifactId>
-			<version>2.8.0</version>
+			<version>2.9.2</version>
 		</dependency>
 
 		<dependency>

+ 1 - 0
src/main/java/com/abcsz/litigationcase/controller/DataDictionaryController.java

@@ -6,6 +6,7 @@ import com.abcsz.litigationcase.domain.ro.UserRo;
 import com.abcsz.litigationcase.domain.vo.DataDictionaryQueryVo;
 import com.abcsz.litigationcase.domain.vo.PublicVo;
 import com.abcsz.litigationcase.service.DataDictionaryService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;

+ 3 - 3
src/main/java/com/abcsz/litigationcase/controller/UserController.java

@@ -30,7 +30,7 @@ public class UserController {
     @Autowired
     private UserService userService;
 
-    @ApiOperation("用户信息查询")
+    @ApiOperation("查询用户信息")
     @PostMapping("/query")
     public UseQueryVo query(@RequestBody @Validated UserQueryRo ro)  {
 
@@ -38,7 +38,7 @@ public class UserController {
         return vo;
     }
 
-    @ApiOperation("用户信息新增")
+    @ApiOperation("新增用户信息")
     @PostMapping("/insert")
     public PublicVo insert(@RequestBody @Validated UserRo ro)  {
 
@@ -47,7 +47,7 @@ public class UserController {
     }
 
 
-    @ApiOperation("用户信息修改")
+    @ApiOperation("修改用户信息")
     @PostMapping("/modify")
     public PublicVo modify(@RequestBody @Validated UserRo ro)  {
 

+ 39 - 0
src/main/java/com/abcsz/litigationcase/controller/UserLoginController.java

@@ -0,0 +1,39 @@
+package com.abcsz.litigationcase.controller;
+
+
+import com.abcsz.litigationcase.domain.ro.UserLoginRo;
+import com.abcsz.litigationcase.domain.ro.UserRo;
+import com.abcsz.litigationcase.domain.vo.PublicVo;
+import com.abcsz.litigationcase.service.UserLoginService;
+import io.swagger.annotations.ApiOperation;
+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;
+
+/**
+ * <p>
+ * 用户登陆记录表 前端控制器
+ * </p>
+ *
+ * @author shengqianlei
+ * @since 2022-04-28
+ */
+@RestController
+@RequestMapping("/userLoginEntity")
+public class UserLoginController {
+    @Autowired
+    private UserLoginService userLoginService;
+
+    @ApiOperation("用户登陆登记")
+    @PostMapping("/login")
+    public PublicVo login(@RequestBody @Validated UserLoginRo ro)  {
+
+        PublicVo vo = userLoginService.userLogin(ro);
+        return vo;
+    }
+}
+

+ 1 - 1
src/main/java/com/abcsz/litigationcase/dao/entity/DataDictionaryEntity.java

@@ -25,7 +25,7 @@ import lombok.experimental.Accessors;
  */
 @Data
 @TableName("tb_data_dictionary")
-@ApiModel(value = "DataDictionaryEntity对象", description = "数据字典信息")
+@ApiModel(value = "DataDictionaryEntity对象", description = "数据字典")
 public class DataDictionaryEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;

+ 1 - 1
src/main/java/com/abcsz/litigationcase/dao/entity/LawFirmEntity.java

@@ -27,7 +27,7 @@ import lombok.experimental.Accessors;
  */
 @Data
 @TableName("tb_law_firm")
-@ApiModel(value = "LawFirmEntity对象", description = "律师事务所信息")
+@ApiModel(value = "LawFirmEntity对象", description = "律师事务所")
 public class LawFirmEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;

+ 55 - 0
src/main/java/com/abcsz/litigationcase/dao/entity/UserLoginEntity.java

@@ -0,0 +1,55 @@
+package com.abcsz.litigationcase.dao.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 用户登陆记录表
+ * </p>
+ *
+ * @author shengqianlei
+ * @since 2022-04-28
+ */
+@Data
+@TableName("tb_user_login")
+@ApiModel(value = "UserLoginEntity对象", description = "用户登陆记录表")
+public class UserLoginEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "登陆记录id")
+    @TableId(value = "login_id", type = IdType.ASSIGN_UUID)
+    private String loginId;
+
+    @ApiModelProperty(value = "用户id")
+    private String userId;
+
+    @ApiModelProperty(value = "登录时间")
+    private Date loginTime;
+
+    @ApiModelProperty(value = "登出时间")
+    private Date outTime;
+
+    @TableField(value = "txt_hold_1")
+    private String txtHold1;
+
+    @TableField(value = "txt_hold_2")
+    private String txtHold2;
+
+    @ApiModelProperty(value = "是否失效 0-正常 9-失效")
+    private Integer delFlag;
+
+
+}

+ 19 - 0
src/main/java/com/abcsz/litigationcase/dao/mapper/UserLoginMapper.java

@@ -0,0 +1,19 @@
+package com.abcsz.litigationcase.dao.mapper;
+
+import com.abcsz.litigationcase.dao.entity.UserLoginEntity;
+import com.abcsz.litigationcase.domain.vo.PublicVo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 用户登陆记录表 Mapper 接口
+ * </p>
+ *
+ * @author shengqianlei
+ * @since 2022-04-28
+ */
+@Mapper
+public interface UserLoginMapper extends BaseMapper<UserLoginEntity> {
+
+}

+ 1 - 1
src/main/java/com/abcsz/litigationcase/domain/ro/DataDictionaryQueryRo.java

@@ -7,7 +7,7 @@ import lombok.Data;
 import javax.validation.constraints.NotNull;
 
 @Data
-@ApiModel(value = "查询数据字典输入对象",description = "查询字典的相关信息")
+@ApiModel(value = "查询数据字典输入对象")
 public class DataDictionaryQueryRo {
 
     @ApiModelProperty(value = "数据字典名称")

+ 1 - 1
src/main/java/com/abcsz/litigationcase/domain/ro/LawFirmQueryRo.java

@@ -8,7 +8,7 @@ import lombok.Data;
  * @author shengqianlei
  */
 @Data
-@ApiModel(value = "查询事务所输入对象",description = "查询律师事务所的相关信息")
+@ApiModel(value = "查询事务所输入对象")
 public class LawFirmQueryRo {
     @ApiModelProperty(value = "事务所编码")
     private String lawFirmCode;

+ 1 - 1
src/main/java/com/abcsz/litigationcase/domain/ro/LawFirmRo.java

@@ -7,7 +7,7 @@ import lombok.Data;
 import javax.validation.constraints.NotNull;
 
 @Data
-@ApiModel(value = "新增/修改律师事务所输入对象",description = "新增/修改律师事务所的相关信息")
+@ApiModel(value = "新增/修改律师事务所输入对象")
 public class LawFirmRo {
 
     @ApiModelProperty(value = "事务所名称")

+ 20 - 0
src/main/java/com/abcsz/litigationcase/domain/ro/UserLoginRo.java

@@ -0,0 +1,20 @@
+package com.abcsz.litigationcase.domain.ro;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "用户登陆输入对象")
+public class UserLoginRo {
+
+    @ApiModelProperty(value = "用户账号")
+    @NotNull(message = "用户账号不能为空")
+    private String  UserAccount;
+
+    @ApiModelProperty(value = "用户密码")
+    @NotNull(message = "用户密码不能为空")
+    private String UserPassword;
+}

+ 1 - 1
src/main/java/com/abcsz/litigationcase/domain/ro/UserQueryRo.java

@@ -6,7 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
-@ApiModel(value = "查询用户输入对象",description = "查询用户的相关信息")
+@ApiModel(value = "查询用户输入对象")
 public class UserQueryRo {
 
     @ApiModelProperty(value = "用户身份证信息")

+ 1 - 1
src/main/java/com/abcsz/litigationcase/domain/ro/UserRo.java

@@ -7,7 +7,7 @@ import lombok.Data;
 import javax.validation.constraints.NotNull;
 
 @Data
-@ApiModel(value = "新增/修改用户输入对象",description = "新增/修改用户的相关信息")
+@ApiModel(value = "新增/修改用户输入对象")
 public class UserRo {
     @ApiModelProperty(value = "用户账号")
     @NotNull(message = "用户账号不能为空")

+ 1 - 1
src/main/java/com/abcsz/litigationcase/domain/vo/DataDictionaryQueryVo.java

@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
-@ApiModel(value = "查询数据字典输出对象",description = "返回查询的数据字典信息")
+@ApiModel(value = "查询数据字典输出对象")
 public class DataDictionaryQueryVo extends PublicVo {
     @ApiModelProperty(value = "数据字典内容")
     private String dictionaryContent;

+ 1 - 1
src/main/java/com/abcsz/litigationcase/domain/vo/LawFirmQueryVo.java

@@ -10,7 +10,7 @@ import java.util.List;
  * @author shengqianlei
  */
 @Data
-@ApiModel(value = "查询事务所输出对象",description = "返回查询的事务所的信息")
+@ApiModel(value = "查询事务所输出对象")
 public class LawFirmQueryVo extends PublicVo{
     private List<LawFirmEntity> data;
 }

+ 1 - 1
src/main/java/com/abcsz/litigationcase/domain/vo/UseQueryVo.java

@@ -7,7 +7,7 @@ import lombok.Data;
 import java.util.List;
 
 @Data
-@ApiModel(value = "查询用户输出对象",description = "返回查询的用户的信息")
+@ApiModel(value = "查询用户输出对象")
 public class UseQueryVo  extends PublicVo{
     private List<UserEntity> data;
 }

+ 19 - 0
src/main/java/com/abcsz/litigationcase/service/UserLoginService.java

@@ -0,0 +1,19 @@
+package com.abcsz.litigationcase.service;
+
+import com.abcsz.litigationcase.dao.entity.UserLoginEntity;
+import com.abcsz.litigationcase.domain.ro.UserLoginRo;
+import com.abcsz.litigationcase.domain.vo.PublicVo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 用户登陆记录表 服务类
+ * </p>
+ *
+ * @author shengqianlei
+ * @since 2022-04-28
+ */
+public interface UserLoginService extends IService<UserLoginEntity> {
+
+    PublicVo userLogin(UserLoginRo ro);
+}

+ 84 - 0
src/main/java/com/abcsz/litigationcase/service/impl/UserLoginServiceIml.java

@@ -0,0 +1,84 @@
+package com.abcsz.litigationcase.service.impl;
+
+import com.abcsz.litigationcase.dao.entity.UserEntity;
+import com.abcsz.litigationcase.dao.entity.UserLoginEntity;
+import com.abcsz.litigationcase.dao.mapper.UserLoginMapper;
+import com.abcsz.litigationcase.dao.mapper.UserMapper;
+import com.abcsz.litigationcase.domain.ro.UserLoginRo;
+import com.abcsz.litigationcase.domain.vo.PublicVo;
+import com.abcsz.litigationcase.service.UserLoginService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 用户登陆记录表 服务实现类
+ * </p>
+ *
+ * @author shengqianlei
+ * @since 2022-04-28
+ */
+@Slf4j
+@Service
+public class UserLoginServiceIml extends ServiceImpl<UserLoginMapper, UserLoginEntity> implements UserLoginService {
+
+    @Autowired
+    private UserMapper userMapper;
+    @Autowired
+    private UserLoginMapper userLoginMapper;
+
+    @Override
+    public PublicVo userLogin(UserLoginRo ro) {
+        log.info("用户登录登记...");
+        PublicVo publicVo = new PublicVo();
+
+        try {
+            /* 查询用户信息 */
+            QueryWrapper<UserEntity> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("user_account",ro.getUserAccount());
+            queryWrapper.eq("del_flag",0);
+            UserEntity userEntity = userMapper.selectOne(queryWrapper);
+            if(userEntity == null){
+                publicVo.setRetCode("Y001");
+                publicVo.setRetMsg("用户账号不存在");
+                log.info(publicVo.getRetCode() + "****" + publicVo.getRetMsg());
+                return publicVo;
+            }
+            if(!(userEntity.getUserPassword().equals(ro.getUserPassword()))){
+                publicVo.setRetCode("Y002");
+                publicVo.setRetMsg("密码输入错误");
+                log.info(publicVo.getRetCode() + "****" + publicVo.getRetMsg());
+                return publicVo;
+            }
+
+            UserLoginEntity userLoginEntity = new UserLoginEntity();
+            userLoginEntity.setUserId(userEntity.getUserId());
+            userLoginEntity.setLoginTime(new Date());
+            userLoginEntity.setDelFlag(0);
+            int count = userLoginMapper.insert(userLoginEntity);
+            if(count !=1){
+                publicVo.setRetCode("S001");
+                publicVo.setRetMsg("登陆信息登记异常,请重新登陆");
+                log.info(publicVo.getRetCode() + "****" + publicVo.getRetMsg());
+                return publicVo;
+            }
+
+        } catch (Exception e) {
+            log.error(e.getMessage() + "****" + e.getStackTrace());
+            publicVo.setRetCode("X001");
+            publicVo.setRetMsg("系统异常");
+            log.error(publicVo.getRetCode() + "****" + publicVo.getRetMsg());
+            return publicVo;
+        }
+
+        publicVo.setRetCode("0000");
+        publicVo.setRetMsg("操作成功");
+        log.info(publicVo.getRetCode() + "****" + publicVo.getRetMsg());
+        return publicVo;
+    }
+}

+ 19 - 4
src/main/java/com/abcsz/litigationcase/service/impl/UserServiceIml.java

@@ -108,12 +108,14 @@ public class UserServiceIml extends ServiceImpl<UserMapper, UserEntity> implemen
         try {
             /* 查询该用户是否已经存在 */
             QueryWrapper<UserEntity> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("user_identity", ro.getUserIdentity());
+            queryWrapper.eq("user_account", ro.getUserAccount())
+                        .or()
+                        .eq("user_identity",ro.getUserIdentity());
             queryWrapper.eq("del_flag", 0);
             UserEntity userEntity = userMapper.selectOne(queryWrapper);
             if (userEntity != null) {
                 publicVo.setRetCode("Y001");
-                publicVo.setRetMsg("该用户已存在,请勿重复操作");
+                publicVo.setRetMsg("该用户已存在");
                 log.info(publicVo.getRetCode() + "****" + publicVo.getRetMsg());
                 return publicVo;
             }
@@ -187,15 +189,28 @@ public class UserServiceIml extends ServiceImpl<UserMapper, UserEntity> implemen
                 return publicVo;
             }
 
-            if (ro.getIsAbc() == 0 && ro.getBankId() == null) {
+            /* 查询用户账号是否重复 */
+            QueryWrapper<UserEntity> queryWrapper2 = new QueryWrapper<>();
+            queryWrapper2.eq("user_account", ro.getUserAccount());
+            queryWrapper2.ne("user_identity", ro.getUserIdentity());
+            queryWrapper2.eq("del_flag", 0);
+            UserEntity userEntity2 = userMapper.selectOne(queryWrapper);
+            if (userEntity2 != null) {
                 publicVo.setRetCode("Y002");
+                publicVo.setRetMsg("用户名重复");
+                log.info(publicVo.getRetCode() + "****" + publicVo.getRetMsg());
+                return publicVo;
+            }
+
+            if (ro.getIsAbc() == 0 && ro.getBankId() == null) {
+                publicVo.setRetCode("Y003");
                 publicVo.setRetMsg("行内人员请输入所属银行信息");
                 log.info(publicVo.getRetCode() + "****" + publicVo.getRetMsg());
                 return publicVo;
             }
 
             if (ro.getIsAbc() == 1 && ro.getLawFirmId() == null) {
-                publicVo.setRetCode("Y003");
+                publicVo.setRetCode("Y004");
                 publicVo.setRetMsg("行外人员请输入所属事务所信息");
                 log.info(publicVo.getRetCode() + "****" + publicVo.getRetMsg());
                 return publicVo;

+ 1 - 1
src/test/java/com/abcsz/litigationcase/CodeGenerator.java

@@ -71,7 +71,7 @@ public class CodeGenerator {
         /* 4 策略配置 */
         StrategyConfig strategyConfig = new StrategyConfig();
         // 映射的表名
-        strategyConfig.setInclude("tb_user");
+        strategyConfig.setInclude("tb_user_login");
         // 去除表tb_前缀
         strategyConfig.setTablePrefix("tb_");
         strategyConfig.setNaming(NamingStrategy.underline_to_camel);