瀏覽代碼

1.修改手机和编号登录

liuhy 4 年之前
父節點
當前提交
a1ae80ec2e

+ 48 - 7
tnc-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.aliyuncs.exceptions.ClientException;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -261,19 +262,53 @@ public class LoginController {
 		//手机号模式 登录模式: "2"  注册模式: "1"
 		String smsmode=jsonObject.get("smsmode").toString();
 		log.info(mobile);
+		if (StringUtils.isNotEmpty(mobile) && mobile.length() <= 6){
+			SysUser userByWorkNo = sysUserService.getUserByWorkNo(mobile);
+			if (userByWorkNo != null){
+				mobile = userByWorkNo.getPhone();
+			}
+		}
+		if (mobile == null){
+			result.setMessage("该用户不存在请联系管理员!");
+			result.setSuccess(false);
+			return result;
+		}
 		if(oConvertUtils.isEmpty(mobile)){
-			result.setMessage("手机号不允许为空!");
+			result.setMessage("手机号或员工编号不允许为空!");
 			result.setSuccess(false);
 			return result;
 		}
+		//随机数
+		String captcha = RandomUtil.randomNumbers(6);
+		JSONObject obj = new JSONObject();
+		obj.put("cxode", captcha);
+		Boolean sendOut = false;
+		/*try {
+			sendOut = DySmsHelper.sendSms(mobile, obj, DySmsEnum.LOGIN_TEMPLATE_CODE);
+		} catch (ClientException e) {
+			e.printStackTrace();
+			result.error500(" 短信接口未配置,请联系管理员!");
+			return result;
+		}
+		if (sendOut == false) {
+			result.setMessage("短信验证码发送失败,请稍后重试");
+			result.setSuccess(false);
+			return result;
+		}*/
 		Object object = redisUtil.get(mobile);
 		if (object != null) {
 			result.setMessage("验证码10分钟内,仍然有效!");
 			result.setSuccess(false);
 			return result;
+		}else{
+			redisUtil.set(mobile,"123456",60*10);
+			result.setMessage("验证码发送成功!");
+			result.setSuccess(true);
 		}
 
-		//随机数
+		return result;
+		//其余功能暂不开放
+		/*//随机数
 		String captcha = RandomUtil.randomNumbers(6);
 		JSONObject obj = new JSONObject();
     	obj.put("code", captcha);
@@ -299,10 +334,10 @@ public class LoginController {
 					}
 					return result;
 				}
-				
-				/**
+
+				*//**
 				 * smsmode 短信模板方式  0 .登录模板、1.注册模板、2.忘记密码模板
-				 */
+				 *//*
 				if (CommonConstant.SMS_TPL_TYPE_0.equals(smsmode)) {
 					//登录模板
 					b = DySmsHelper.sendSms(mobile, obj, DySmsEnum.LOGIN_TEMPLATE_CODE);
@@ -329,7 +364,7 @@ public class LoginController {
 			result.error500(" 短信接口未配置,请联系管理员!");
 			return result;
 		}
-		return result;
+		return result;*/
 	}
 	
 
@@ -344,7 +379,12 @@ public class LoginController {
 	public Result<JSONObject> phoneLogin(@RequestBody JSONObject jsonObject) {
 		Result<JSONObject> result = new Result<JSONObject>();
 		String phone = jsonObject.getString("mobile");
-		
+		if (StringUtils.isNotEmpty(phone) && phone.length() <= 6){
+			SysUser userByWorkNo = sysUserService.getUserByWorkNo(phone);
+			if (userByWorkNo != null){
+				phone = userByWorkNo.getPhone();
+			}
+		}
 		//校验用户有效性
 		SysUser sysUser = sysUserService.getUserByPhone(phone);
 		result = sysUserService.checkUserIsEffective(sysUser);
@@ -358,6 +398,7 @@ public class LoginController {
 			result.setMessage("手机验证码错误");
 			return result;
 		}
+		redisUtil.del(phone);
 		//用户信息
 		userInfo(sysUser, result);
 		//添加日志

+ 10 - 0
tnc-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.jeecg.modules.system.entity.SysUser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
@@ -84,6 +85,15 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 	 */
 	public SysUser getUserByEmail(@Param("email")String email);
 
+
+	/**
+	 *
+	 * @param workNo
+	 * @return
+	 */
+	//@Select("select phone from sys_user where work_no = #{workNo}")
+	public SysUser getUserByWorkNo(@Param("workNo")String workNo);
+
 	/**
 	 * 根据 orgCode 查询用户,包括子部门下的用户
 	 *

+ 7 - 1
tnc-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -55,7 +55,13 @@
 	<select id="getUserByPhone"  resultType="org.jeecg.modules.system.entity.SysUser">
 		select * from  sys_user  where phone = #{phone} and del_flag = 0
 	</select>
-	
+
+	<!-- 根据手机号查询 -->
+	<select id="getUserByWorkNo"  resultType="org.jeecg.modules.system.entity.SysUser">
+		select * from sys_user where work_no = #{workNo} and del_flag = 0
+	</select>
+
+
 	<!-- 根据邮箱查询用户信息 -->
 	<select id="getUserByEmail" resultType="org.jeecg.modules.system.entity.SysUser">
 	select * from  sys_user  where email = #{email} and del_flag = 0

+ 2 - 0
tnc-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java

@@ -186,6 +186,8 @@ public interface ISysUserService extends IService<SysUser> {
      */
 	public SysUser getUserByEmail(String email);
 
+	public SysUser getUserByWorkNo(String workNo);
+
 
 	/**
 	 * 添加用户和用户部门关系

+ 5 - 0
tnc-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

@@ -320,6 +320,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		return userMapper.getUserByEmail(email);
 	}
 
+	@Override
+	public SysUser getUserByWorkNo(String workNo) {
+		return userMapper.getUserByWorkNo(workNo);
+	}
+
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void addUserWithDepart(SysUser user, String selectedParts) {