Jelajahi Sumber

停车管理手机端:完善登录认证

chenwen 3 tahun lalu
induk
melakukan
e12d783337

+ 13 - 0
src/main/java/com/charging/chargingparking/mapper/mobile/MobileAuthMapper.java

@@ -0,0 +1,13 @@
+package com.charging.chargingparking.mapper.mobile;
+
+import java.util.Map;
+
+public interface MobileAuthMapper {
+
+	/**
+	 * 根据手机号获取用户信息
+	 * @param phoneNum
+	 * @return
+	 */
+	Map<String,Object> getUserByPhone(String phoneNum);
+}

+ 14 - 3
src/main/java/com/charging/chargingparking/modules/mobileController/MobileAuthController.java

@@ -1,5 +1,8 @@
 package com.charging.chargingparking.modules.mobileController;
 
+import java.util.Map;
+
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Pattern;
 
@@ -9,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.charging.chargingparking.dto.MessageResult;
+import com.charging.chargingparking.modules.mobileservice.MobileAuthService;
 import com.charging.chargingparking.utils.RespVO;
 import com.charging.chargingparking.utils.RespVOBuilder;
 import com.charging.chargingparking.utils.SMSUtil;
@@ -22,6 +26,9 @@ public class MobileAuthController {
 	
 	@Autowired
     private VerifyCoder verifyCoder;
+	
+	@Autowired
+	private MobileAuthService  service;
 
 	/**
 	 * 获取验证码
@@ -48,16 +55,20 @@ public class MobileAuthController {
 	 * @return
 	 */
 	@RequestMapping("/checkLogin")
-	public RespVO checkLogin(@NotNull(message = "手机号不能为空") @Pattern(regexp = "^1[3-9]\\d{9}", message = "手机号无效") String phoneNum,String verifyCode) {
+	public RespVO checkLogin(@NotNull(message = "手机号不能为空") @Pattern(regexp = "^1[3-9]\\d{9}", message = "手机号无效") String phoneNum,@NotBlank(message = "验证码不能为空") String verifyCode) {
+		Map<String,Object> us=service.getUserByPhone(phoneNum);
+		if(us==null||us.size()==0) {
+			return RespVOBuilder.error("非系统内的用户");
+		}
 		String refVerifyCode=verifyCoder.getFromSession(phoneNum);
 		if(refVerifyCode==null) {
-			return RespVOBuilder.error("验证码错误或已过期");
+			return RespVOBuilder.error("验证码已失效,请重新获取");
 		}
 		if(!verifyCode.equals(refVerifyCode)) {
 			return RespVOBuilder.error("验证码输入错误");
 		}
 		//验证通过后,清除验证码缓存
 		verifyCoder.clear(phoneNum);
-		return RespVOBuilder.ok();
+		return RespVOBuilder.ok("验证通过");
 	}
 }

+ 13 - 0
src/main/java/com/charging/chargingparking/modules/mobileservice/MobileAuthService.java

@@ -0,0 +1,13 @@
+package com.charging.chargingparking.modules.mobileservice;
+
+import java.util.Map;
+
+public interface MobileAuthService {
+
+	/**
+	 * 根据手机号获取用户信息
+	 * @param phoneNum
+	 * @return
+	 */
+	Map<String,Object> getUserByPhone(String phoneNum);
+}

+ 24 - 0
src/main/java/com/charging/chargingparking/modules/mobileservice/impl/MobileAuthServiceImp.java

@@ -0,0 +1,24 @@
+package com.charging.chargingparking.modules.mobileservice.impl;
+
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.charging.chargingparking.mapper.mobile.MobileAuthMapper;
+import com.charging.chargingparking.modules.mobileservice.MobileAuthService;
+
+@Service
+@Transactional(readOnly = true)	
+public class MobileAuthServiceImp implements MobileAuthService{
+	
+	@Autowired
+	private MobileAuthMapper  mapper;
+
+	@Override
+	public Map<String, Object> getUserByPhone(String phoneNum) {
+		return mapper.getUserByPhone(phoneNum);
+	}
+
+}

+ 60 - 0
src/main/java/com/charging/chargingparking/utils/DateUtil.java

@@ -0,0 +1,60 @@
+package com.charging.chargingparking.utils;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+
+public class DateUtil {
+
+
+    public static Date parse(String dataStr){
+    	return parse(dataStr,null);
+    }
+	
+	public static Date parse(String dateStr,String pattern) {
+		if(dateStr==null||dateStr.length()==0){
+			return null;
+		}
+	try{
+		SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");//SimpleDateFormat非线程安全,每次使用时创建实例
+		if(pattern!=null){
+			df.applyPattern(pattern);
+		}
+		else{
+			if(dateStr.length()>10){//yyyy-MM-dd HH:mm:ss
+				df.applyPattern("yyyy-MM-dd HH:mm:ss");
+			}
+			else{
+				df.applyPattern("yyyy-MM-dd");
+			}
+		}
+		
+		   return df.parse(dateStr);
+		}
+		catch(ParseException pe){
+			pe.printStackTrace();
+			return null;
+		}
+		
+	}
+	
+	public static String format(Date date,String pattern){
+		if(date==null){
+			return null;
+		}
+		if(pattern==null||pattern.length()==0){
+			pattern="yyyy-MM-dd";
+		}
+		SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
+		df.applyPattern(pattern);
+		return df.format(date);
+	}
+	
+	public static void main(String[] args) throws Exception{
+		String d="2011-09-01";
+		Date dd=DateUtil.parse(d, null);
+		System.out.println(dd.getTime());
+	}
+
+}

+ 14 - 0
src/main/resources/mapper/api/MobileAuthMapper.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.charging.chargingparking.mapper.mobile.MobileAuthMapper">
+    
+    <select id="getUserByPhone"  resultType="java.util.HashMap">
+    	select id_ user_id,real_name,phone_num
+		from sys_user
+		where del_flag=false and phone_num=#{0}
+		
+    </select>
+    
+</mapper>