diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/book-api/src/main/java/com/imooc/controller/PassportController.java b/book-api/src/main/java/com/imooc/controller/PassportController.java index 9267618..1c0c78d 100644 --- a/book-api/src/main/java/com/imooc/controller/PassportController.java +++ b/book-api/src/main/java/com/imooc/controller/PassportController.java @@ -2,6 +2,7 @@ package com.imooc.controller; import com.imooc.base.BaseInfoProperties; import com.imooc.bo.RegistLoginBO; +import com.imooc.bo.LoginWithPasswordBO; import com.imooc.grace.result.GraceJSONResult; import com.imooc.grace.result.ResponseStatusEnum; import com.imooc.pojo.Users; @@ -70,6 +71,7 @@ public class PassportController extends BaseInfoProperties { user = userService.createUser(registLoginBO.getMobile()); } String uToken = UUID.randomUUID().toString(); + log.info(uToken); redis.set(REDIS_USER_TOKEN+":"+user.getId(),uToken); //清除验证码 @@ -84,6 +86,30 @@ public class PassportController extends BaseInfoProperties { } + @PostMapping("loginWithPassword") + public Object loginWithPassword(@Valid @RequestBody LoginWithPasswordBO loginWithPasswordBO){ + String phone = loginWithPasswordBO.getMobile(); + String password = loginWithPasswordBO.getPassword(); + log.info(phone); + log.info(password); + Users user = userService.queryMobileIsExist(loginWithPasswordBO.getMobile()); + if (user==null){ + return GraceJSONResult.errorCustom(ResponseStatusEnum.USER_NOT_EXIST_ERROR); + } + String uToken = UUID.randomUUID().toString(); + log.info(uToken); + redis.set(REDIS_USER_TOKEN+":"+user.getId(),uToken); + + //返回给前端 + UsersVO usersVO = new UsersVO(); + BeanUtils.copyProperties(user, usersVO); + usersVO.setUserToken(uToken); + + return GraceJSONResult.ok(usersVO); + + } + + @PostMapping("logout") public Object logout(@RequestParam String userId){ diff --git a/book-mapper/src/main/resources/mapper/UsersMapper.xml b/book-mapper/src/main/resources/mapper/UsersMapper.xml index 6330222..62fafde 100644 --- a/book-mapper/src/main/resources/mapper/UsersMapper.xml +++ b/book-mapper/src/main/resources/mapper/UsersMapper.xml @@ -21,5 +21,7 @@ + + \ No newline at end of file diff --git a/book-model/src/main/java/com/imooc/bo/LoginWithPasswordBO.java b/book-model/src/main/java/com/imooc/bo/LoginWithPasswordBO.java new file mode 100644 index 0000000..59d4649 --- /dev/null +++ b/book-model/src/main/java/com/imooc/bo/LoginWithPasswordBO.java @@ -0,0 +1,30 @@ +package com.imooc.bo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; +import org.hibernate.validator.constraints.Length; +import javax.validation.constraints.NotBlank; + +/** + * 密码登陆中, 对前端数据映射的实体类. + * + * @author lzc + * @version 1.0 + */ +@Data +@ToString +@AllArgsConstructor +@NoArgsConstructor +public class LoginWithPasswordBO { + + @NotBlank(message = "账号不能为空!") + @Length(min = 5, max = 16, message = "账号格式不正确!") + private String mobile; + + @NotBlank(message = "密码不能为空!") + @Length(min = 5, max = 16, message = "密码格式不正确!") + private String password; + +} \ No newline at end of file diff --git a/book-model/src/main/java/com/imooc/pojo/Users.java b/book-model/src/main/java/com/imooc/pojo/Users.java index 5233311..957ca69 100644 --- a/book-model/src/main/java/com/imooc/pojo/Users.java +++ b/book-model/src/main/java/com/imooc/pojo/Users.java @@ -13,11 +13,14 @@ public class Users { */ private String mobile; + private String password; + /** * 昵称,媒体号 */ private String nickname; + /** * 慕课号,类似头条号,抖音号,公众号,唯一标识,需要限制修改次数,比如终生1次,每年1次,每半年1次等,可以用于付费修改。 */ @@ -371,4 +374,12 @@ public class Users { public void setUpdatedTime(Date updatedTime) { this.updatedTime = updatedTime; } + + public void setPassword(String password) { + this.password = password; + } + + public String getPassword() { + return password; + } } \ No newline at end of file diff --git a/book-service/pom.xml b/book-service/pom.xml index c8a169c..9b3e23a 100644 --- a/book-service/pom.xml +++ b/book-service/pom.xml @@ -24,6 +24,10 @@ book-mapper 1.0-SNAPSHOT + + org.springframework.security + spring-security-crypto + \ No newline at end of file diff --git a/book-service/src/main/java/com/imooc/service/impl/UserServiceImpl.java b/book-service/src/main/java/com/imooc/service/impl/UserServiceImpl.java index 78a25a9..d2e05b0 100644 --- a/book-service/src/main/java/com/imooc/service/impl/UserServiceImpl.java +++ b/book-service/src/main/java/com/imooc/service/impl/UserServiceImpl.java @@ -18,6 +18,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import tk.mybatis.mapper.entity.Example; + + +import javax.annotation.Resource; import java.util.Date; /** @@ -30,6 +33,7 @@ public class UserServiceImpl implements UserService { @Autowired private UsersMapper usersMapper; + @Autowired private Sid sid; private static final String USER_FACE1 = "http://122.152.205.72:88/group1/M00/00/05/CpoxxF6ZUySASMbOAABBAXhjY0Y649.png"; @@ -50,22 +54,21 @@ public class UserServiceImpl implements UserService { Users user = new Users(); user.setId(userId); - + user.setPassword(mobile); user.setMobile(mobile); user.setNickname("用户:" + DesensitizationUtil.commonDisplay(mobile)); user.setImoocNum("用户:" + DesensitizationUtil.commonDisplay(mobile)); user.setFace(USER_FACE1); - user.setBirthday(DateUtil.stringToDate("1900-01-01")); + user.setBirthday(DateUtil.stringToDate("1999-01-01")); user.setSex(Sex.secret.type); - + user.setBgImg("http://82.156.121.2:29000/bucket/IMG20241212102441.jpg"); // 测试用地址 user.setCountry("中国"); user.setProvince(""); user.setCity(""); user.setDistrict(""); user.setDescription("这家伙很懒,什么都没留下~"); user.setCanImoocNumBeUpdated(YesOrNo.YES.type); - user.setCreatedTime(new Date()); user.setUpdatedTime(new Date());