Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 5 years ago
parent
commit
649ecd0256

+ 4 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/filter/PhoneLoginAuthenticationFilter.java

@@ -24,6 +24,7 @@ public class PhoneLoginAuthenticationFilter extends AbstractAuthenticationProces
 	private static final String SPRING_SECURITY_RESTFUL_VERIFY_CODE_KEY = "smsCode";
 	private static final String clientIdParameter = "clientId";
 	private static final String IS_REGISTER_PARAMETER = "register";
+	private static final String IS_LESSEE = "isLessee";
 
 	private static final String SPRING_SECURITY_RESTFUL_LOGIN_URL = "/smsLogin";
 	private boolean postOnly = true;
@@ -45,12 +46,14 @@ public class PhoneLoginAuthenticationFilter extends AbstractAuthenticationProces
 		String principal = obtainParameter(request, SPRING_SECURITY_RESTFUL_PHONE_KEY);
 		String credentials = obtainParameter(request, SPRING_SECURITY_RESTFUL_VERIFY_CODE_KEY);
 		String isRegister = obtainParameter(request, IS_REGISTER_PARAMETER);
+		//是否是租户
+		String isLessee = obtainParameter(request, IS_LESSEE);
 
 		SysUserInfo userInfo = sysUserService.queryUserInfoByPhone(principal);
 
 		String clientId = request.getParameter(clientIdParameter).toUpperCase();
 		if (userInfo == null) {
-			userInfo = sysUserService.initUser(principal,clientId,isRegister);
+			userInfo = sysUserService.initUser(principal,clientId,isRegister,isLessee);
 		}
 	
 //		if (userInfo.getSysUser().getUserType() != SysUserType.SYSTEM && !StringUtils.equalsIgnoreCase(clientId, userInfo.getSysUser().getUserType().getCode())) {

+ 7 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java

@@ -52,4 +52,11 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	 * @return
 	 */
 	SysUser findUserBySalt(String userType);
+
+	/**
+	 * 创建teacher表
+	 * @param userId
+	 * @param lesseeOrganId
+	 */
+	void insertTeacher(@Param("userId") Integer userId, @Param("lesseeOrganId") Integer lesseeOrganId);
 }

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserService.java

@@ -82,5 +82,5 @@ public interface SysUserService extends BaseService<Integer, SysUser> {
 	 * @param clientId
 	 * @return
 	 */
-	SysUserInfo initUser(String phone,String clientId,String isRegister);
+	SysUserInfo initUser(String phone,String clientId,String isRegister,String isLessee);
 }

+ 25 - 21
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java

@@ -44,6 +44,8 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 
 	@Value("${message.autoRegister}")
 	private boolean autoRegister;
+	@Value("${message.lesseeOrganId}")
+	private Integer lesseeOrganId;
 
 	@Override
 	public BaseDAO<Integer, SysUser> getDAO() {
@@ -139,10 +141,32 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public SysUserInfo initUser(String phone, String clientId,String isRegister) {
+	public SysUserInfo initUser(String phone, String clientId,String isRegister,String isLessee) {
 		if("register".equals(isRegister)){
 			throw new UsernameNotFoundException("404.9");
 		}
+		if(StringUtils.isNotEmpty(isLessee) && StringUtils.equalsIgnoreCase(clientId,"TEACHER")){
+			SysUser sysUser = new SysUser();
+			sysUser.setPhone(phone);
+			sysUser.setUserType("TEACHER");
+			sysUserDao.insert(sysUser);
+			//添加用户现金账户
+			imFeignService.register(new ImUserModel(sysUser.getId().toString(),phone,null));
+			userFeignService.createCashAccount(sysUser.getId());
+			//创建teacher表
+			sysUserDao.insertTeacher(sysUser.getId(),lesseeOrganId);
+			return queryUserInfoByPhone(phone);
+		}else if(StringUtils.isNotEmpty(isLessee) && StringUtils.equalsIgnoreCase(clientId,"STUDENT")){
+			SysUser sysUser = new SysUser();
+			sysUser.setPhone(phone);
+			sysUser.setUserType("STUDENT");
+			sysUser.setOrganId(lesseeOrganId);
+			sysUserDao.insert(sysUser);
+			//添加用户现金账户
+			imFeignService.register(new ImUserModel(sysUser.getId().toString(),phone,null));
+			userFeignService.createCashAccount(sysUser.getId());
+			return queryUserInfoByPhone(phone);
+		}
 		if(autoRegister){
 			if(StringUtils.equalsIgnoreCase(clientId,"STUDENT")){
 				SysUser sysUser = new SysUser();
@@ -155,26 +179,6 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 				userFeignService.createCashAccount(sysUser.getId());
 				return queryUserInfoByPhone(phone);
 			}
-			/*Date date = new Date();
-			if(StringUtils.equalsIgnoreCase(clientId,"TEACHER")){
-				SysUser sysUser = sysUserDao.findUserBySalt("TEACHER");
-				if(sysUser != null){
-					sysUser.setPhone(phone);
-					sysUser.setUpdateTime(date);
-					sysUser.setSalt("noReplace");
-					sysUserDao.update(sysUser);
-					return queryUserInfoByPhone(phone);
-				}
-			}else if(StringUtils.equalsIgnoreCase(clientId,"STUDENT")){
-				SysUser sysUser = sysUserDao.findUserBySalt("STUDENT");
-				if(sysUser != null){
-					sysUser.setPhone(phone);
-					sysUser.setUpdateTime(date);
-					sysUser.setSalt("noReplace");
-					sysUserDao.update(sysUser);
-					return queryUserInfoByPhone(phone);
-				}
-			}*/
 		}else if(StringUtils.equalsIgnoreCase(clientId,"STUDENT")){
 			SysUser sysUser = new SysUser();
 			sysUser.setPhone(phone);

+ 8 - 2
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java

@@ -95,8 +95,9 @@ public class UserController extends BaseController {
 	@ApiOperation(value = "设置密码")
 	@PostMapping(value = "/setPassword", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
 	@ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
-			@ApiImplicitParam(name = "password", value = "密码", required = true, dataType = "String") })
-	public Object setPassword(String mobile, String password) {
+			@ApiImplicitParam(name = "password", value = "密码", required = true, dataType = "String"),
+			@ApiImplicitParam(name = "username", value = "用户名", required = true, dataType = "String") })
+	public Object setPassword(String mobile, String password, String username) {
 		if (StringUtils.isEmpty(mobile) || StringUtils.isEmpty(password)) {
 			return failed();
 		}
@@ -104,6 +105,11 @@ public class UserController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户不存在");
 		}
+		if(sysUser.getUserType().contains("TEACHER") || sysUser.getUserType().contains("SYSTEM")){
+			sysUser.setRealName(username);
+		}else {
+			sysUser.setUsername(username);
+		}
 		password = new BCryptPasswordEncoder().encode(password);
 		sysUser.setPassword(password);
 		sysUser.setUpdateTime(new Date());

+ 6 - 6
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -65,16 +65,16 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.auth.api.entity.SysUser" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
-        <!--
-        <selectKey resultClass="int" keyProperty="id" >
-        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
-        </selectKey>
-        -->
         INSERT INTO sys_user
-        (is_super_admin_,im_token_,id_,username_,salt_,phone_,avatar_,organ_id_,create_time_,update_time_,wx_openid_,qq_openid_,user_type_,gender_,nation_,birthdate_,email_,id_card_no_,wechat_id_,real_name_)
+        (is_super_admin_,im_token_,id_,username_,salt_,phone_,avatar_,organ_id_,create_time_,update_time_,wx_openid_,qq_openid_,user_type_,
+        gender_,nation_,birthdate_,email_,id_card_no_,wechat_id_,real_name_)
         VALUES(#{isSuperAdmin},#{imToken},#{id},#{username},#{salt},#{phone},#{avatar},#{organId},now(),now(),#{wxOpenid},#{qqOpenid},#{userType},
         #{gender},#{nation},#{birthdate},#{email},#{idCardNo},#{wechatId},#{realName})
     </insert>
+    <insert id="insertTeacher">
+        INSERT INTO teacher
+        (id_,organ_id_,create_time_,update_time_)VALUES(#{userId},#{lesseeOrganId},NOW(),NOW())
+    </insert>
 
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.auth.api.entity.SysUser">