anderx пре 7 година
родитељ
комит
9c580a84bc

+ 0 - 1
src/main/java/com/goafanti/app/controller/AppUserController.java

@@ -130,7 +130,6 @@ public class AppUserController extends CertifyApiController {
 				}
 			}
 		}
-		u.setId(TokenManager.getUserId());
 		userServiceImpl.updateByPrimaryKeySelective(u);
 		return res;
 	}

+ 0 - 1
src/main/java/com/goafanti/app/controller/OpenAppUserController.java

@@ -218,7 +218,6 @@ public class OpenAppUserController extends BaseApiController {
 			us.setUpdateTime(now.getTime());
 			us.setPassword(passwordUtil.getEncryptPwd(us));
 			us.setNickname(user.getUnitName());
-			us.setType(user.getType());
 			us.setBeInviteCode(user.getBeInviteCode());
 			us.setSource(AFTConstants.USER_SOURCE_REGISTER);
 			us.setStatus(AFTConstants.USER_STATUS_NORMAL);

+ 1 - 1
src/main/java/com/goafanti/common/dao/UserMapper.java

@@ -91,7 +91,7 @@ public interface UserMapper {
 
 	Long selectNumberByPrimaryKey(String userId);
 	
-	User selectByMobieAndType(String mobile, Integer type);
+	User selectByMobieAndType(@Param("mobile")String mobile, @Param("type")Integer type);
 
 	List<OrganizationContactBook> findAllContacts(String uid);
 

+ 3 - 3
src/main/java/com/goafanti/common/mapper/UserMapper.xml

@@ -709,9 +709,9 @@
     select
   <include refid="Base_Column_List" />
     from user
-    where mobile = #{0} 
-    <if test="#{1} !=null">
-    and type=#{1} 
+    where mobile = #{mobile} 
+    <if test="type != null">
+    and type=#{type} 
     </if>
     and source = 0
   </select>

+ 34 - 6
src/main/java/com/goafanti/common/utils/InvitationCodeUtils.java

@@ -24,7 +24,6 @@ public class InvitationCodeUtils {
     public static String toSerialCode(long id) {
         char[] buf=new char[32];
         int charPos=32;
-        System.out.println(id);
         while((id / binLen) > 0) {
             int ind=(int)(id % binLen);
             buf[--charPos]=r[ind];
@@ -40,17 +39,46 @@ public class InvitationCodeUtils {
             Random rnd=new Random();
             for(int i=1; i <= s - str.length(); i++) {
             sb.append(r[rnd.nextInt(binLen)]);
-            System.out.println(rnd.nextInt(binLen));
             }
             str+=sb.toString();
         }
         return str;
     }
- /*
-  public static void main(String[] args) {
-	  for (int i = 0; i < 100; i++) {
+    /**
+     * 根据ID生成随机码
+     * @param id ID
+     * @return 随机码
+     */
+    public static String randomCode(long id,Integer size) {
+        char[] buf=new char[32];
+        int charPos=32;
+        while((id / binLen) > 0) {
+            int ind=(int)(id % binLen);
+            buf[--charPos]=r[ind];
+            id /= binLen;
+            
+        }
+        buf[--charPos]=r[(int)(id % binLen)];
+        String str=new String(buf, charPos, (32 - charPos));
+        // 不够长度的自动随机补全
+        if(str.length() < size) {
+            StringBuilder sb=new StringBuilder();
+            Random rnd=new Random();
+            for(int i=1; i <= size - str.length(); i++) {
+            sb.append(r[rnd.nextInt(binLen)]);
+            }
+            str+=sb.toString();
+        }else if(str.length() > size){
+        	System.out.println(str.length()-size);
+        	System.out.println(str.length());
+			str=str.substring(str.length()-size,str.length());
+		}
+        return str;
+    }
+ 
+  /*public static void main(String[] args) {
+		  System.out.println(randomCode(new Date().getTime(),6));
 		  System.out.println(toSerialCode(new Date().getTime()));
-	}
 }*/
 
 	

+ 1 - 1
src/main/java/com/goafanti/core/shiro/token/UserRealm.java

@@ -60,7 +60,7 @@ public class UserRealm extends AuthorizingRealm {
 			return new SimpleAuthenticationInfo(aftUser, aftUser.getPassword(), passwordUtil.getAftSalt(aftUser),
 					getName());
 		} else {
-			User user = userService.selectByMobieAndType(token.getUsername().trim(), token.getType());
+			User user = userService.selectByMobieAndType(token.getUsername().trim(), null);
 			if (null == user) {
 				throw new UnknownAccountException();
 			}

+ 2 - 0
src/main/java/com/goafanti/user/controller/UserApiController.java

@@ -721,6 +721,7 @@ public class UserApiController extends BaseApiController {
 		}
 		if(StringUtils.isNotBlank(email))user.setEmail(email);
 		user.setNickname(nickname);
+		if(type !=null)user.setType(type);
 		if(res.getError().size()>0){
 			return res;
 		}
@@ -728,6 +729,7 @@ public class UserApiController extends BaseApiController {
 		return res;
 	}
 	
+	
 	/**
 	 * 登陆后返回用户基本信息
 	 * 

+ 60 - 9
src/main/java/com/goafanti/user/controller/UserLoginController.java

@@ -1,16 +1,15 @@
 package com.goafanti.user.controller;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.authc.UnknownAccountException;
 import org.apache.shiro.web.util.SavedRequest;
 import org.apache.shiro.web.util.WebUtils;
 import org.springframework.stereotype.Controller;
@@ -21,19 +20,16 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.goafanti.app.bo.UserBasicInfo;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseController;
 import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.model.Admin;
-import com.goafanti.common.model.MessageConsumer;
-import com.goafanti.common.model.MessageProducer;
 import com.goafanti.common.model.User;
+import com.goafanti.common.utils.PasswordUtil;
 import com.goafanti.common.utils.TimeUtils;
 import com.goafanti.common.utils.VerifyCodeUtils;
 import com.goafanti.core.shiro.token.TokenManager;
-import com.goafanti.message.bo.MessageBo;
 import com.goafanti.message.service.MessageService;
 import com.goafanti.user.service.UserService;
 
@@ -46,6 +42,9 @@ public class UserLoginController extends BaseController {
 	@Resource
 	private MessageService messageService;
 	
+	@Resource(name = "passwordUtil")
+	private PasswordUtil	passwordUtil;
+	
 	
 	@RequestMapping(value = "/login", method = RequestMethod.GET)
 	@ResponseBody
@@ -74,9 +73,61 @@ public class UserLoginController extends BaseController {
 			jo.put("queryString", sr.getQueryString());
 		}
 		res.setToken(SecurityUtils.getSubject().getSession().getId());
+		Map<String, Object> map =new HashMap<>();
+		map.put("uid",TokenManager.getUserId());
+		map.put("type",TokenManager.getUserType());
+		res.data(map);
 		return res;
 	}
+	/**
+	 * 登录检查
+	 * 
+	 * @param remember
+	 * @return
+	 */
+	@RequestMapping(value = "/open/loginCheck", method = RequestMethod.GET)
+	@ResponseBody
+	public Result loginCheck(String mobile,String password) {
+		Result res = new Result();
+		if (StringUtils.isBlank(mobile)||StringUtils.isBlank(password)) {
+			res.getError().add(buildError("","手机号码不能为空"));
+			return res;
+		}
+		User user=userService.selectByMobieAndType(mobile,null);
+		String pwd=user.getPassword();
+		user.setPassword(password);
+		if (!pwd.equals(passwordUtil.getEncryptPwd(user))) {
+			res.getError().add(buildError("","手机密码错误"));
+			return res;
+		}
+		if (user!=null) {
+			res.data(user);
+		}
+		return res;
+	}
+	
 
+	@RequestMapping(value = "/open/updateUser",method = RequestMethod.POST)
+	@ResponseBody
+	public Result updateUser(User u){
+		Result res = new Result();
+		if(u!=null&&StringUtils.isNotEmpty(u.getMobile())){
+			//验证手机号码格式是否正确
+			Pattern p = Pattern.compile("^(1[1-9][0-9])\\d{8}$"); // 验证手机号           
+			Matcher m = p.matcher(u.getMobile());   
+			if(!m.matches()){
+				res.getError().add(buildError("电话号码格式不对","电话号码格式不对"));
+			}else{
+				//验证手机是否存在
+				int i = userService.getCountByMobile(u.getId(),u.getMobile(),u.getType());
+				if(i>0){
+					res.getError().add(buildError("电话号码重复","电话号码重复"));
+				}
+			}
+		}
+		res.data(userService.updateByPrimaryKeySelective(u));
+		return res;
+	}
 
 	/**
 	 * 用户登录

+ 5 - 6
src/main/java/com/goafanti/user/controller/UserRegisterController.java

@@ -25,6 +25,7 @@ import com.goafanti.common.enums.UserLevel;
 import com.goafanti.common.enums.VoucherSourceType;
 import com.goafanti.common.model.JtVoucherDetail;
 import com.goafanti.common.model.User;
+import com.goafanti.common.utils.InvitationCodeUtils;
 import com.goafanti.common.utils.PasswordUtil;
 import com.goafanti.common.utils.TimeUtils;
 import com.goafanti.common.utils.VerifyCodeUtils;
@@ -80,7 +81,7 @@ public class UserRegisterController extends BaseController {
 			res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "手机号码不能为空"));
 			return res;
 		}
-		User u = userService.selectByMobieAndType(user.getMobile().trim(),user.getType());
+		User u = userService.selectByMobieAndType(user.getMobile().trim(),null);
 		if (null != u) {
 			res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "用户已存在"));
 			return res;
@@ -110,7 +111,6 @@ public class UserRegisterController extends BaseController {
 			us.setPassword(passwordUtil.getEncryptPwd(us));
 			us.setNickname(user.getUnitName());
 			us.setSource(AFTConstants.USER_SOURCE_REGISTER);
-			us.setType(user.getType());
 			us.setBeInviteCode(user.getBeInviteCode());
 			us.setStatus(AFTConstants.USER_STATUS_NORMAL);
 			us.setShareType(AFTConstants.USER_SHARE_PUBLIC);
@@ -142,14 +142,13 @@ public class UserRegisterController extends BaseController {
 			return res;
 		}
 		if (StringUtils.isBlank(user.getUnitName())) {
-			res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "用户名不能为空"));
-			return res;
+			user.setUnitName("jt_"+InvitationCodeUtils.randomCode(new Date().getTime(),6));
 		}
 		if (StringUtils.isBlank(user.getMobile())) {
 			res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "手机号码不能为空"));
 			return res;
 		}
-		User u = userService.selectByMobieAndType(user.getMobile().trim(),user.getType());
+		User u = userService.selectByMobieAndType(user.getMobile().trim(),null);
 		if (null != u) {
 			res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "用户已存在"));
 		}
@@ -177,7 +176,7 @@ public class UserRegisterController extends BaseController {
 			us.setUpdateTime(now.getTime());
 			us.setPassword(passwordUtil.getEncryptPwd(us));
 			us.setNickname(user.getUnitName());
-			us.setType(user.getType());
+			if(user.getType() !=null)us.setType(user.getType());
 			us.setBeInviteCode(user.getBeInviteCode());
 			us.setSource(AFTConstants.USER_SOURCE_REGISTER);
 			us.setStatus(AFTConstants.USER_STATUS_NORMAL);

+ 27 - 5
src/main/webapp/WEB-INF/views/common.html

@@ -420,13 +420,13 @@
 							<label for="pass"><img th:src="${portalHost+'/img/login_password.png'}"/></label>
 							<input type="password" name="pass" id="Lo_pass" autocomplete="off" placeholder="请输入密码" />
 						</div>
-						<div class="login_pass">
+						<!-- <div class="login_pass">
 							<img th:src="${portalHost+'/img/resiger_username.jpg'}" alt=""/>
 							<select id="customerType">
 								<option value="0">个人</option>
 								<option value="1">企业</option>
 							</select>
-						</div>
+						</div> -->
 						<div class="login_check">
 						<a href="#">忘记密码?</a>
 						</div>
@@ -455,13 +455,13 @@
 								手机号码:<input type="text" name="type" id="forget_phone" placeholder="请输入您的手机号码..."/>
 							</label>
 						</div>
-						<div class="login_pa">
+					<!-- 	<div class="login_pa">
 							客户类别:
 							<select id="customerTy">
 								<option value="0">个人</option>
 								<option value="1">企业</option>
 							</select>
-						</div>
+						</div> -->
 						<div class="cellcode_">
 							<div>
 								验证码:<input type="text" name="cellCode" placeholder="手机验证码" id="photo_n"/>
@@ -512,6 +512,28 @@
 		<div class="loading">
 			<div></div>
 		</div>
+		<div class="modeBj">
+			<div class="modeLogin">
+				<i class="glyphicon glyphicon-remove delLogin"></i>
+				<div>
+					<span>请选择您的用户类型</span>
+					<p data-val='0' class="active">个人用户</p>
+					<p data-val='1'>企业用户</p>
+					<button class="btn btn-success">确认</button>
+					<button class="btn btn-default">返回</button>
+				</div>
+			</div>
+		</div>
+		<div class="modeLogin">
+			<i class="glyphicon glyphicon-remove delLogin"></i>
+			<div>
+				<span>请选择您的用户类型</span>
+				<p data-val='0' class="active">个人用户</p>
+				<p data-val='1'>企业用户</p>
+				<button class="btn btn-success">确认</button>
+				<button class="btn btn-default">返回</button>
+			</div>
+		</div>
 	</th:block>
 
 	<th:block th:fragment="footer(scripts)">
@@ -584,7 +606,7 @@
 				lvl : /*[[${userData == null} ? null : ${userData.lvl}]]*/''
 			}
 			/*]]>*/
-			
+		
 		</script>
 		<th:block th:replace="${scripts}" />
 		<script language="javascript" src="https://put.zoosnet.net/JS/LsJS.aspx?siteid=PUT70876498&float=1&lng=cn"></script>

+ 2 - 2
src/main/webapp/WEB-INF/views/user/signIn.html

@@ -36,14 +36,14 @@
 							<input type="password" name="userPassword2" placeholder="确认密码" id="userpassword2" autocomplete="off"/>
 							<span class="star"> * </span>
 						</div>
-						<div class="zhuce_input">
+						<!-- <div class="zhuce_input">
 							<img th:src="${portalHost+'/img/resiger_username.jpg'}" alt=""/>
 							<select id="customerTypes">
 								<option value="0">个人</option>
 								<option value="1">企业</option>
 							</select>
 							<span class="star"> * </span>
-						</div>
+						</div> -->
 						<div class="zhuce_input">
 							<img th:src="${portalHost+'/img/resiger_photo2.jpg'}" alt=""/>
 							<input type="text" name="photo" placeholder="请输入手机号码" id="usePhoto" autocomplete="off"/>