package com.zj.service;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.log4j.Logger;
import cn.com.util.CheckoutEmail;
import cn.com.util.CheckoutIDCard;
import cn.com.util.CheckoutPhoneNumber;
import cn.com.util.PageUtil;
import cn.com.util.UUIDGenerator;
import com.zj.dao.UserDao;
import com.zj.dao.impl.UserDaoImpl;
import com.zj.entity.GrogshopOrder;
import com.zj.entity.ManagerInfo;
import com.zj.entity.User;
import com.zj.service.impl.HouseCommentServiceImpl;
import com.zj.service.impl.HouseServiceImpl;
import com.zj.service.impl.UserServiceImpl;
/**
*
* @author lijia 用户服务层类
*/
public class UserService implements UserServiceImpl {
private UserDaoImpl userDaoImpl = new UserDao();
private HouseServiceImpl houseServiceImpl = new HouseService();
private HouseCommentServiceImpl houseCoServiceImpl = new HouseCommentService();
private Logger log = Logger.getLogger(UserService.class);
/**
* 将所有用户信息包装成一个list<map>返回
* @throws SQLException
*/
public Map<String, Object> getAllUserInfo(Integer limit,Integer page){
Map<String,Object> map = new HashMap<String,Object>();
List<User> userList = null;
try {
userList = userDaoImpl.queryUserPage((page-1)*10, limit);
map.put("data", userList);
map.put("count", Integer.valueOf(userDaoImpl.queryCountUser().toString()));
map.put("msg", "");
map.put("code", 0);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return map;
}
public Integer getUserInfoCountPage(){
Integer countPage = null;
try {
countPage = Integer.valueOf(userDaoImpl.queryCountUser().toString());
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return countPage;
}
/**
* 将单个用户信息包装成map返回 用user_phone查询
*/
public Map<String, Object> getUserInfoByPhone(String user_phone) {
Map<String, Object> map = null;
try {
User user = userDaoImpl.getUserInfoByPhone(user_phone);
if (user != null) {
map = new HashMap<String, Object>();
map.put("user_id", user.getUser_id());
map.put("user_name", user.getUser_name());
map.put("user_headimg_url", user.getUser_headimg_url());
map.put("user_email", user.getUser_email());
map.put("user_phone", user.getUser_phone());
map.put("user_IDcard", user.getUser_IDcard());
map.put("is_lanlord", user.getIs_landlord());
map.put("real_name", user.getReal_name());
map.put("user_describe", user.getUser_describe());
}
} catch (SQLException e) {
e.printStackTrace();
}
return map;
}
/**
* 将单个用户信息包装成map返回 用user_id查询
*/
public Map<String, Object> getUserInfoById(Integer user_id) {
Map<String, Object> map = null;
try {
User user = userDaoImpl.getUserInfoById(user_id);
if (user != null) {
map = new HashMap<String, Object>();
map.put("user_id", user.getUser_id());
map.put("user_name", user.getUser_name());
map.put("user_headimg_url", user.getUser_headimg_url());
map.put("user_email", user.getUser_email());
map.put("user_phone", user.getUser_phone());
map.put("user_IDcard", user.getUser_IDcard());
map.put("is_lanlord", user.getIs_landlord());
map.put("real_name", user.getReal_name());
map.put("user_describe", user.getUser_describe());
map.put("money", user.getMoney());
map.put("inform_date", user.getInform_date());
}
} catch (SQLException e) {
e.printStackTrace();
}
return map;
}
/**
* 手机号/邮箱和密码登录
*
* @throws SQLException
*/
public Map<String, Object> loginByCode(Map<String, Object> info) {
Map<String, Object> map = new HashMap<String, Object>();
// 登录所需数据
String user_code = info.get("user_code").toString();
String user_pwd = info.get("user_pwd").toString();
User userInfo;
try {
userInfo = userDaoImpl.queryUserInfo(user_code, user_pwd);
if (userInfo != null) {
// 登录成功
Map<String, Object> userMap = new HashMap<String, Object>();
userMap.put("user_id", userInfo.getUser_id());
userMap.put("user_name", userInfo.getUser_name());
userMap.put("user_headimg_url", userInfo.getUser_headimg_url());
userMap.put("user_email", userInfo.getUser_email());
userMap.put("user_phone", userInfo.getUser_phone());
userMap.put("user_IDcard", userInfo.getUser_IDcard());
userMap.put("is_landlord", userInfo.getIs_landlord());
userMap.put("user_pwd", userInfo.getUser_pwd());
userMap.put("money", userInfo.getMoney());
userMap.put("real_name", userInfo.getReal_name());
userMap.put("user_describe", userInfo.getUser_describe());
userMap.put("inform_date", userInfo.getInform_date());
map.put("userInfo", userMap);
map.put("msg", "登录成功!");
} else {
// 登录失败
map.put("msg", "账号或密码错误,登录失败!");
}
} catch (SQLException e) {
// 登录失败
map.put("msg", "登录失败!");
return map;
}
return map;
}
/**
* 手机号登录,若手机号存在则用户注册
*
* @throws SQLException
*/
public Map<String, Object> loginByPhone(String user_phone, Integer code,Integer myCode) {
Map<String, Object> map = new HashMap<String, Object>();
boolean bool = CheckoutPhoneNumber.isPhoneNumberValid(user_phone);
if (bool) {// 手机号格式正确
Integer count;
try {
count = userDaoImpl.queryPhoneExit(user_phone);
User userInfo = null;
System.out.println(code+"----"+myCode);
if (count > 0) {// 手机号已存在,验证码登录
if ( !code.equals(myCode)) {
map.put("msg", "验证码不正确,登录失败!");
return map;
} else {
map.put("msg", "登录成功!");
userInfo = userDaoImpl.getUserInfoByPhone(user_phone);
}
} else {
// 手机号不存在,直接注册
String user_name = UUIDGenerator.getUUID().substring(0, 7);
count = userDaoImpl.addUser(user_name, user_phone);
if (count < 0) {// 注册成功
// 注册失败
map.put("msg", "注册失败!");
return map;
} else {
map.put("msg", "注册成功!");
userInfo = userDaoImpl.getUserInfoByPhoneAndName(
user_name, user_phone);
}
}
Map<String, Object> userMap = new HashMap<String, Object>();
userMap.put("user_id", userInfo.getUser_id());
userMap.put("user_name", userInfo.getUser_name());
userMap.put("user_headimg_url", userInfo.getUser_headimg_url());
userMap.put("user_email", userInfo.getUser_email());
userMap.put("user_phone", userInfo.getUser_phone());
userMap.put("user_IDcard", userInfo.getUser_IDcard());
userMap.put("is_landlord", userInfo.getIs_landlord());
userMap.put("user_pwd", userInfo.getUser_pwd());
userMap.put("money", userInfo.getMoney());
userMap.put("real_name", userInfo.getReal_name());
userMap.put("user_describe", userInfo.getUser_describe());
userMap.put("inform_date", userInfo.getInform_date());
map.put("userInfo", userMap);
} catch (Exception e) {
e.printStackTrace();
map.put("msg", "注册失败!");
return map;
}
} else {
// 手机号错误
map.put("msg", "手机号格式错误,登录失败!");
}
return map;
}
/**
* 用户设置密码
*
* @throws SQLException
*/
public Map<String, Object> setUserPwd(Map<String, Object> info) {
Map<String, Object> map = new HashMap<String, Object>();
Integer user_id = Integer.valueOf(info.get("user_id").toString());
String user_pwd = info.get("new_user_pwd1").toString();
String user_pwdVal = info.get("new_user_pwd2").toString();
// 密码正
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
适合学习/练手、毕业设计、课程设计、期末/期中/大作业、工程实训、相关项目/竞赛学习等。 项目具有较高的学习借鉴价值,也可直接拿来修改复现。可以在这些基础上学习借鉴进行修改和扩展,实现其它功能。 【无积分此资源可私信博主有偿获取】 可放心下载学习借鉴,你会有所收获。 —— 对于学习和实践,选择合适的项目和资源确实是一种有效的方式。 在进行毕业设计、课程设计或大作业时,选择具备学习借鉴价值的项目可以帮助你理解和应用所学知识,同时也可以通过修改和扩展来实现其他功能。 通过参与实际项目,你可以应用所学的理论知识,深入了解软件开发或其他领域的实践流程和技术要求。 可放心下载学习借鉴,你会有所收获。 【无积分此资源可私信博主有偿获取】 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
资源推荐
资源详情
资源评论
收起资源包目录
基于servlet+html+layui+bootstrap的酒店管理和预定系统(仿照爱彼迎).zip (1260个子文件)
.classpath 1KB
org.eclipse.wst.common.component 472B
org.eclipse.wst.jsdt.ui.superType.container 49B
style.min.css 321KB
style.css 270KB
weather-icons-wind.min.css 142KB
weather-icons-wind.css 142KB
bootstrap.min.css 137KB
bootstrap.min.css 124KB
bootstrap.min.css 98KB
material-design-iconic-font.css 83KB
materialdesignicons.min.css 76KB
layui.css 71KB
layui.css 71KB
material-design-iconic-font.min.css 69KB
ie7.css 35KB
weather-icons.css 31KB
bootstrap-grid.min.css 28KB
font-awesome.min.css 27KB
weather-icons.min.css 23KB
themify-icons.css 16KB
layer.css 14KB
layer.css 14KB
chartist.min.css 11KB
layui.mobile.css 10KB
layui.mobile.css 10KB
style3.css 8KB
laydate.css 7KB
laydate.css 7KB
style2.css 7KB
style4.css 7KB
style1.css 6KB
loginstyle.css 5KB
jquery.cxcalendar.css 5KB
fallback.css 5KB
demo.css 5KB
templatemo-style.css 4KB
bootstrap-reboot.min.css 4KB
weather-icons-core.css 2KB
code.css 1KB
code.css 1KB
chartist-plugin-tooltip.css 821B
myPage.css 658B
myPage.css 658B
weather-icons-variables.css 0B
variables-day.css 0B
variables-moon.css 0B
variables-time.css 0B
variables-beaufort.css 0B
variables-direction.css 0B
variables-night.css 0B
variables-neutral.css 0B
variables-wind-names.css 0B
variables-misc.css 0B
Thumbs.db 21KB
materialdesignicons-webfont.eot 255KB
weathericons-regular-webfont.eot 97KB
themify.eot 77KB
fontawesome-webfont.eot 69KB
Material-Design-Iconic-Font.eot 41KB
iconfont.eot 41KB
iconfont.eot 41KB
6.gif 17KB
7.gif 15KB
4.gif 14KB
59.gif 10KB
59.gif 10KB
22.gif 10KB
22.gif 10KB
24.gif 8KB
24.gif 8KB
13.gif 7KB
13.gif 7KB
16.gif 7KB
16.gif 7KB
39.gif 6KB
39.gif 6KB
64.gif 6KB
64.gif 6KB
8.gif 6KB
63.gif 6KB
63.gif 6KB
50.gif 6KB
50.gif 6KB
loading-0.gif 6KB
loading-0.gif 6KB
4.gif 6KB
4.gif 6KB
1.gif 5KB
1.gif 5KB
42.gif 5KB
42.gif 5KB
71.gif 5KB
71.gif 5KB
21.gif 5KB
21.gif 5KB
20.gif 5KB
20.gif 5KB
29.gif 5KB
29.gif 5KB
共 1260 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13
资源评论
阿齐Archie
- 粉丝: 1w+
- 资源: 2303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功