package com.example.springboot1.service;
import com.example.springboot1.exceptions.ParamsException;
import com.example.springboot1.mapper.UserMapper;
import com.example.springboot1.pojo.User;
import com.example.springboot1.utils.AssertUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import com.example.springboot1.utils.Md5Util;
import java.io.*;
import java.util.Properties;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
@Cacheable({"Login"})
public String userLogin(String userEmail,String userPwd) {
System.out.println("检验缓存是否生效");
// 1. 参数判断,判断用户姓名、用户密码非空
checkLoginParams(userEmail, userPwd);
// 2. 调用数据访问层,通过用户名查询用户记录,返回用户对象
User user = userMapper.queryUserByEmail(userEmail);
// 3. 判断用户对象是否为空
AssertUtil.isTrue(user == null,"邮箱不存在或已注销");
// 4. 判断密码是否正确,比较客户端传递的用户密码与数据库中查询的用户对象中的用户密码
checkUserPwd(userPwd, user.getPassword());
// 返回构建用户对象
// 如果想返回多个成员的话,可以使用json序列化一下,然后外部再反序列化
return user.getEmail();
}
private void checkLoginParams(String userEmail, String userPwd) {
AssertUtil.isTrue(StringUtils.isBlank(userEmail),"邮箱不能为空");
AssertUtil.isTrue(StringUtils.isBlank(userPwd),"用户密码不能为空");
}
private void checkUserPwd(String userPwd, String userPwdTrue) {
AssertUtil.isTrue(!(StringUtils.equals( Md5Util.encode(userPwd),userPwdTrue)),"密码错误");
}
public User userSignin(String userName, String userPwd, String userEmail, String userAddr) {
User user = new User(userName, Md5Util.encode(userPwd) , userEmail, userAddr);
// 1. 参数判断,判断用户姓名、用户密码、邮箱、地址非空
checkSigninParams(userName, userPwd, userEmail, userAddr);
String basePath = "./src/main/resources/config.properties";
InputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(new File(basePath)));
} catch (FileNotFoundException e) {
e.printStackTrace();
return user;
}
Properties prop = new Properties();
try {
prop.load(in);
} catch (IOException e) {
e.printStackTrace();
return user;
}
String totalSigninNumber = prop.getProperty("TotalSigninNumber");
System.out.println(totalSigninNumber);
int signinNumber = Integer.parseInt(totalSigninNumber);
System.out.println(signinNumber);
int count = userMapper.count();
if (signinNumber > count){
// 2. 调用数据访问层,增加用户数据
int isAddUser = userMapper.addUser(user);
// 3. 判断是否成功插入
AssertUtil.isTrue(isAddUser == 0,"操作失败");
} else{
throw new ParamsException("超过注册上限");
}
// 返回构建用户对象
return user;
}
private void checkSigninParams(String userName, String userPwd, String userEmail, String userAddr) {
AssertUtil.isTrue(StringUtils.isBlank(userName),"用户名不能为空");
AssertUtil.isTrue(StringUtils.isBlank(userPwd),"用户密码不能为空");
AssertUtil.isTrue(StringUtils.isBlank(userEmail),"邮箱不能为空");
AssertUtil.isTrue(StringUtils.isBlank(userAddr),"用户地址不能为空");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
redis作业1111
共150个文件
xml:108个
java:13个
class:13个
需积分: 0 0 下载量 148 浏览量
2022-09-18
21:19:05
上传
评论
收藏 617KB RAR 举报
温馨提示
1111111111
资源详情
资源评论
资源推荐
收起资源包目录
redis作业1111 (150个子文件)
UserService.class 4KB
LogAspect.class 3KB
UserIDBase64.class 3KB
User.class 3KB
HelloController.class 2KB
ParamsException.class 1KB
Md5Util.class 1KB
Md5UtilTest.class 877B
SpringBoot1Application.class 827B
UserMapper.class 744B
AssertUtil.class 717B
SpringBoot1ApplicationTests.class 566B
UserMapperTest.class 329B
mvnw.cmd 7KB
.gitignore 395B
.gitignore 188B
SpringBoot1.iml 12KB
maven-wrapper.jar 57KB
UserService.java 4KB
HelloController.java 2KB
LogAspect.java 2KB
UserMapperTest.java 2KB
UserIDBase64.java 2KB
ParamsException.java 875B
Md5Util.java 518B
UserMapper.java 504B
SpringBoot1Application.java 412B
Md5UtilTest.java 352B
User.java 322B
AssertUtil.java 304B
SpringBoot1ApplicationTests.java 230B
HELP.md 850B
performance_schema.kIw0nw.meta 76B
mysql.osA4Bg.meta 63B
sys.zb4BAA.meta 61B
mvnw 10KB
application.properties 567B
application.properties 567B
maven-wrapper.properties 233B
config.properties 20B
config.properties 20B
22c0f3db-edd0-4dde-b0a2-b3832161a45a.xml 705KB
workspace.xml 7KB
pom.xml 3KB
UserMapper.xml 1KB
UserMapper.xml 1KB
dataSources.local.xml 1006B
compiler.xml 888B
jarRepositories.xml 864B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_3.xml 736B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_1_0.xml 730B
Maven__io_netty_netty_transport_native_unix_common_4_1_79_Final.xml 726B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_7_3.xml 713B
Maven__org_springframework_boot_spring_boot_starter_data_redis_2_7_3.xml 713B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 700B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_3.xml 695B
Maven__org_springframework_boot_spring_boot_starter_logging_2_7_3.xml 692B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_1_1.xml 688B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_7_3.xml 685B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_3.xml 681B
Maven__org_springframework_boot_spring_boot_starter_cache_2_7_3.xml 678B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_7_3.xml 678B
Maven__org_springframework_boot_spring_boot_starter_json_2_7_3.xml 671B
Maven__org_springframework_boot_spring_boot_starter_test_2_7_3.xml 671B
Maven__org_springframework_boot_spring_boot_starter_jdbc_2_7_3.xml 671B
Maven__org_springframework_boot_spring_boot_starter_aop_2_7_3.xml 664B
Maven__org_springframework_boot_spring_boot_starter_web_2_7_3.xml 664B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_65.xml 660B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_3.xml 651B
Maven__org_springframework_spring_context_support_5_3_22.xml 644B
Maven__org_springframework_data_spring_data_keyvalue_2_7_2.xml 643B
Maven__org_springframework_boot_spring_boot_starter_2_7_3.xml 636B
Maven__org_springframework_data_spring_data_commons_2_7_2.xml 636B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 633B
Maven__org_junit_platform_junit_platform_commons_1_8_2.xml 633B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 633B
Maven__com_fasterxml_jackson_core_jackson_databind_2_13_3.xml 630B
Maven__org_junit_platform_junit_platform_engine_1_8_2.xml 626B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_65.xml 625B
Maven__org_springframework_data_spring_data_redis_2_7_2.xml 622B
Maven__com_baomidou_mybatis_plus_annotation_3_1_2.xml 616B
Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml 615B
Maven__org_springframework_boot_spring_boot_test_2_7_3.xml 615B
Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml 615B
Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_65.xml 611B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 611B
Maven__org_springframework_spring_expression_5_3_22.xml 609B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml 608B
Maven__com_fasterxml_jackson_core_jackson_core_2_13_3.xml 602B
Maven__org_mockito_mockito_junit_jupiter_4_5_1.xml 598B
Maven__org_reactivestreams_reactive_streams_1_0_4.xml 595B
Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml 594B
Maven__io_netty_netty_transport_4_1_79_Final.xml 593B
Maven__org_springframework_spring_context_5_3_22.xml 588B
Maven__io_lettuce_lettuce_core_6_1_9_RELEASE.xml 587B
Maven__io_netty_netty_resolver_4_1_79_Final.xml 586B
Maven__net_bytebuddy_byte_buddy_agent_1_12_13.xml 585B
Maven__org_springframework_spring_webmvc_5_3_22.xml 581B
Maven__org_springframework_boot_spring_boot_2_7_3.xml 580B
Maven__io_netty_netty_handler_4_1_79_Final.xml 579B
共 150 条
- 1
- 2
weixin_44474837
- 粉丝: 2
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (完整)数据库课程设计餐厅点餐说明书-21ab6d3c8beb172ded630b1c59eef8c75ebf952c.doc
- 2023-04-06-项目笔记 - 第一百五十四阶段 - 4.4.2.152全局变量的作用域-152 -2024.06.04
- 松哥解协议松哥解协议松哥解协议松哥解协议松哥解协议
- 618节日618节日618节日
- tensorflow-gpu-2.9.1-cp37-cp37m-win-amd64.whl
- tensorflow-gpu-2.9.0-cp37-cp37m-win-amd64.whl
- tensorflow-gpu-2.9.0-cp39-cp39-win-amd64.whl
- lcd daimalcd daima
- 电影领域-推荐算法-个性化内容-观影决策-电影推荐小程序.zip
- 电气控制PLC考试题库
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0