环境要求:
jdk 1.8
maven3.5 3.6
idea
mysql5.7
navicat
演示视频:
java毕业设计之基于springboot在线竞拍平台java网上拍卖系统源码mysql编号408【包调试运行 指导】
关键代码:
package com.auction.base.controller.home;
import com.auction.base.entity.home.HomeUser;
import com.auction.base.entity.home.UserAlipay;
import com.auction.base.entity.home.UserBankCard;
import com.auction.base.entity.home.UserWithdrawalRecord;
import com.auction.base.service.home.HomeUserService;
import com.auction.base.service.home.UserAlipayService;
import com.auction.base.service.home.UserBankCardService;
import com.auction.base.service.home.UserWithdrawalRecordService;
import com.auction.base.bean.CodeMsg;
import com.auction.base.bean.PageBean;
import com.auction.base.bean.Result;
import com.auction.base.bean.UserStatus;
import com.auction.base.constant.SessionConstant;
import com.auction.base.util.SessionUtil;
import com.auction.base.util.StringUtil;
import com.auction.base.util.ValidateEntityUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
/**
* 前台用户Controller
*/
@Controller
@RequestMapping("/home/user")
public class HomeUserController {
@Autowired
private HomeUserService homeUserService;
@Autowired
private UserBankCardService userBankCardService;
@Autowired
private UserAlipayService userAlipayService;
@Autowired
private UserWithdrawalRecordService userWithdrawalRecordService;
/**
* 注册页面
* @return
*/
@GetMapping("/register")
public String register(HttpServletRequest request){
request.setAttribute("success","");
return "home/home_user/register";
}
/**
* 注册表单提交
* @param homeUser
* @return
*/
@PostMapping("/register")
public String register(HomeUser homeUser, HttpServletRequest request){
homeUser.setPayPassword(HomeUser.DEFAULT_PAY_PASSWORD);
String email = (String) SessionUtil.get("email");
Date sendTime = (Date) SessionUtil.get("sendTime");
HomeUser byEmail = homeUserService.findByEmail(email);
if(byEmail != null){
request.setAttribute("success",CodeMsg.EMAIL_HAS_REGISTER);
return "home/home_user/register";
}
if(homeUserService.save(homeUser) == null){
request.setAttribute("success",CodeMsg.HOME_USER_SAVE_ERROR);
return "home/home_user/register";
}
System.out.println(homeUser);
request.setAttribute("success",CodeMsg.EMAIL_ERROR);
return "home/home_user/login";
}
@PostMapping("/register1")
@ResponseBody
public Result<Boolean> register1(HomeUser homeUser){
homeUser.setPayPassword(HomeUser.DEFAULT_PAY_PASSWORD);
String email = (String) SessionUtil.get("email");
Date sendTime = (Date) SessionUtil.get("sendTime");
if(!homeUser.getEmail().trim().equals(email)){
return Result.error(CodeMsg.EMAIL_ERROR);
}
if(!StringUtil.emailFormat(email)){
return Result.error(CodeMsg.COMMON_EMAIL_FORMAET_ERROR);
}
HomeUser byEmail = homeUserService.findByEmail(email);
if(byEmail != null){
return Result.error(CodeMsg.EMAIL_HAS_REGISTER);
}
if(!StringUtil.isMobile(homeUser.getMobile())){
return Result.error(CodeMsg.MOBILE_FORMAT_ERROR);
}
HomeUser byMobile = homeUserService.findByMobile(homeUser.getMobile());
if(byMobile != null){
return Result.error(CodeMsg.MOBILE_HAS_REGISTER);
}
if(!StringUtil.isCard(homeUser.getIdNumber())){
return Result.error(CodeMsg.ID_NUMBER_FORMAT_ERROR);
}
HomeUser byIdNumber = homeUserService.findByIdNumber(homeUser.getIdNumber());
if(byIdNumber != null){
return Result.error(CodeMsg.ID_NUMBER_HAS_REGISTER);
}
if(homeUserService.save(homeUser) == null){
return Result.error(CodeMsg.HOME_USER_SAVE_ERROR);
}
System.out.println(homeUser);
return Result.success(true);
}
/**
* 登录页面
* @return
*/
@GetMapping("/login")
public String login(){
return "home/home_user/login";
}
/**
* 根据密码登录提交
* @param email
* @param password
* @return
*/
@PostMapping("/loginByPass")
@ResponseBody
public Result<Boolean> loginByPass(String email,String password){
if(StringUtils.isEmpty(email)){
return Result.error(CodeMsg.EMAIL_NULL_ERROR);
}
if(StringUtils.isEmpty(password)){
return Result.error(CodeMsg.PASSWORD_NULL_ERROR);
}
if(!StringUtil.emailFormat(email)){
return Result.error(CodeMsg.COMMON_EMAIL_FORMAET_ERROR);
}
HomeUser byEmail = homeUserService.findByEmail(email);
if(byEmail.getStatus() == UserStatus.FREEZE.code){
return Result.error(CodeMsg.HOME_USER_UNABLE);
}
if(byEmail == null){
return Result.error(CodeMsg.EMAIL_NOT_REGISTER);
}
if(!byEmail.getPassword().equals(password)){
return Result.error(CodeMsg.PASSWORD_ERROR);
}
SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_CODE,null);
SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_KEY,byEmail);
return Result.success(true);
}
/**
* 根据验证码登录提交
* @param email
* @param identifyCode
* @return
*/
@PostMapping("/loginByVal")
@ResponseBody
public Result<Boolean> loginByVal(String email,String identifyCode){
if(StringUtils.isEmpty(email)){
return Result.error(CodeMsg.EMAIL_NULL_ERROR);
}
if(StringUtils.isEmpty(identifyCode)){
return Result.error(CodeMsg.PASSWORD_NULL_ERROR);
}
Object code = SessionUtil.get(SessionConstant.SESSION_HOME_USER_LOGIN_CODE);
if(code == null){
return Result.error(CodeMsg.EMAIL_CODE_NOT_SEND);
}
String codeString = code.toString();
String sendEmail = (String) SessionUtil.get("email");
Date sendTime = (Date) SessionUtil.get("sendTime");
if(sendTime.getTime() + (120*1000) < new Date().getTime()){
SessionUtil.setRegisterSession(SessionConstant.SESSION_HOME_USER_LOGIN_CODE);
return Result.error(CodeMsg.CODE_TIME_OVER_ERROR);
}
if(!identifyCode.equalsIgnoreCase(codeString)){
return Result.error(CodeMsg.CODE_ERROR);
}
if(!sendEmail.trim().equals(email)){
return Result.error(CodeMsg.EMAIL_ERROR);
}
if(!StringUtil.emailFormat(email)){
return Result.error(CodeMsg.COMMON_EMAIL_FORMAET_ERROR);
}
HomeUser byEmail = homeUserService.findByEmail(email);
if(byEmail == null){
return Result.error(CodeMsg.EMAIL_NOT_REGISTER);
}
SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_CODE,null);
SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_KEY,byEmail);
return Result.success(true);
}
/**
* 退出登录
* @return
*/
@GetMapping("/logout")
public String logout(){
HomeUser loginedHomeUser = SessionUtil.getLoginedHomeUser();
if(loginedHomeUser != null){
SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_KEY,null);
}
return "redirect:login";
}
/**
* 个人中心首页 个人基本资料
* @return
*/
@GetMapping("/index")
public String index(Model model){
HomeUser loginedHomeUser = SessionUtil.getLoginedHomeUser();
if(loginedHomeUser == null){
return "redirect:login";
}
HomeUser homeUser = homeUserService.find(loginedHomeUser.getId());
model.addAttribute("homeUser",homeUser);
return "home/home_user/index";
}
/**
* 基本信息修改
* @param homeUser
* @return
*/
@PostMapping("/updateBasic")
@ResponseBody
public Result<Boolean> updateBasic(HomeUser homeUser){
if(homeUser == null){
return Result.error(CodeMsg.DATA_ERROR);
}
if(homeUser.getUsername() == null){
return Result.error(CodeMsg.USER_NAME_NULL_ERROR);
}
if(homeUser.getUsername().length() < 2 || homeUser.getUsername().length() > 18){
return Result.error(CodeMsg.USER_NAME_LENGTH_ERROR);
}
if(homeUser.getName().length() > 18){
return Result.error(CodeMsg.NAME_LENGTH_ERROR);
}
HomeUser loginedHomeUser = SessionUtil.getLoginedHomeUser();
if(loginedHomeUser == null){
return Result.error(CodeMsg.USER_SESSION_EXPIRED);
}
HomeUser find = homeUserService.find(loginedHomeUser.getId());
find.setUsername(homeUser.getUsername());
find.setName(homeUser.getName());
find.setSex(homeUser.getSex());
if(homeUserService.save(find) == null){
return Result.error(CodeMsg.HOME_USER_EDIT_ERROR);
}
SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_KEY,find);
return Result.success(true);
}
/**
* 更新头像
* @param headPic
* @return
*/
@PostMapping("/updatePic")
@ResponseBody
public Result<Boolean> updatePic(String headPic){
HomeUser loginedHomeUser = SessionUtil.getLoginedHomeUser();
if(loginedHomeUser == null){
return Result.error(CodeMsg.USER_SESSION_EXPIRED);
}
HomeUser find = homeUserService.find(loginedHomeUser.getId());
find.setHeadPic(headPic);
if(homeUserService.save(find) == null){
return Result.error(CodeMsg.HOME_USER_EDIT_HEAD_PIC_ERROR);
}
loginedHomeUser.setHeadPic(headPic);
SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_KEY,loginedHomeUser);
return Result.success(true);
}
/**
* 修改密码页面
* @return
*/
@GetMapping("/updatePassword")
public String updatePassword(){
return "home/home_user/update_password";
}
/**
* 更改密码提交
* @param password
* @return
*/
@PostMapping("/updatePassword")
@ResponseBody
public Result<Boolean> updatePassword(@RequestParam("password") String password,@RequestParam("identifyCode")String identifyCode){
HomeUser loginedHomeUser = SessionUtil.getLoginedHomeUser();
if(loginedHomeUser == null){
return Result.error(CodeMsg.USER_SESSION_EXPIRED);
}
if(password.length()<4||password.length()>32){
return Result.error(CodeMsg.PASSWORD_LENGTH_ERROR);
}
Object editPassCode = SessionUtil.get(SessionConstant.SESSION_HOME_USER_EDIT_PASS_CODE);
if(editPassCode == null){
return Result.error(CodeMsg.EMAIL_CODE_NOT_SEND);
}
String editCodeString = editPassCode.toString();
String email = (String) SessionUtil.get("email");
Date sendTime = (Date) SessionUtil.get("sendTime");
if(sendTime.getTime() + (120*1000) < new Date().getTime()){
SessionUtil.setRegisterSession(SessionConstant.SESSION_HOME_USER_EDIT_PASS_CODE);
return Result.error(CodeMsg.CODE_TIME_OVER_ERROR);
}
if(!identifyCode.equalsIgnoreCase(editCodeString)){
return Result.error(CodeMsg.CODE_ERROR);
}
HomeUser find = homeUserService.find(loginedHomeUser.getId());
if(!find.getEmail().trim().equals(email)){
return Result.error(CodeMsg.EMAIL_ERROR);
}
find.setPassword(password);
if(homeUserService.save(find) == null){
return Result.error(CodeMsg.HOME_USER_EDIT_HEAD_PIC_ERROR);
}
SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_KEY,find);
return Result.success(true);
}
/**
* 修改支付密码页面
* @return
*/
@GetMapping("/updatePayPassword")
public String updatePayPassword(){
return "home/home_user/update_pay_password";
}
/**
* 支付密码修改提交
* @param password
* @param payPassword
* @return
*/
@PostMapping("/updatePayPassword")
@ResponseBody
public Result<Boolean> updatePayPassword(@RequestParam("password") String password,@RequestParam("payPassword")String payPassword){
HomeUser loginedHomeUser = SessionUtil.getLoginedHomeUser();
if(loginedHomeUser == null){
return Result.error(CodeMsg.USER_SESSION_EXPIRED);
}
if(StringUtils.isEmpty(password)){
return Result.error(CodeMsg.PASSWORD_NULL_ERROR);
}
if(payPassword.length() != 6){
return Result.error(CodeMsg.PAY_PASSWORD_LENGTH_ERROR);
}
HomeUser find = homeUserService.find(loginedHomeUser.getId());
if(!find.getPassword().equals(password)){
return Result.error(CodeMsg.PASSWORD_ERROR);
}
find.setPayPassword(payPassword);
if(homeUserService.save(find) == null){
return Result.error(CodeMsg.HOME_USER_EDIT_HEAD_PIC_ERROR);
}
SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_KEY,find);
return Result.success(true);
}
/**
* 银行卡管理页面
* @param model
* @return
*/
@GetMapping("/bankCard")
public String bankCard(Model model, PageBean<UserBankCard> pageBean){
HomeUser loginedHomeUser = SessionUtil.getLoginedHomeUser();
if(loginedHomeUser == null){
return "redirect:login";
}
model.addAttribute("pageBean",userBankCardService.findList(loginedHomeUser.getId(),pageBean));
return "home/home_user/bankCard";
}
/**
* 充值管理页面
* @param model
* @param pageBean
* @return
*/
@GetMapping("/alipay")
public String alipay(Model model, PageBean<UserAlipay> pageBean){
HomeUser loginedHomeUser = SessionUtil.getLoginedHomeUser();
if(loginedHomeUser == null){
return "redirect:login";
}
model.addAttribute("pageBean",userAlipayService.findList(loginedHomeUser.getId(),pageBean));
return "home/home_user/alipay";
}
/**
* 提现管理页面
* @param model
* @param pageBean
* @return
*/
@GetMapping("/withdrawalRecord")
public String withdrawalRecord(Model model, PageBean<UserWithdrawalRecord> pageBean){
HomeUser loginedHomeUser = SessionUtil.getLoginedHomeUser();
if(loginedHomeUser == null){
return "redirect:login";
}
model.addAttribute("bankCardList",userBankCardService.finByHomeUserId(loginedHomeUser.getId()));
model.addAttribute("pageBean",userWithdrawalRecordService.findList(loginedHomeUser.getId(),pageBean));
return "home/home_user/withdrawal_record";
}
/**
* 确认支付密码
* @param payPassword
* @return
*/
@RequestMapping(value = "/pay_password_ensure",method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> payPasswordEnsure(String payPassword){
HomeUser loginedHomeUser = SessionUtil.getLoginedHomeUser();
if(!payPassword.equals(loginedHomeUser.getPayPassword())){
return Result.error(CodeMsg.COMMON_PAY_PASSWORD_ERROR);
}
return Result.success(true);
}
}