yonge пре 1 недеља
родитељ
комит
fc56cdfca1

+ 4 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/UserOrderController.java

@@ -302,6 +302,10 @@ public class UserOrderController extends BaseController {
         }
         orderReq.setUserId(sysUser.getId());
         orderReq.setPaymentClient(ClientEnum.STUDENT.name());
+        
+        if(orderReq.getRecomUserId() == null) {
+        	orderReq.setRecomUserId(sysUser.getInviteUserId());
+        }
 
         // 如果是机构的学生
         Student student = studentService.getById(sysUser.getId());

+ 20 - 0
cooleshow-auth/auth-api/src/main/java/com/yonge/cooleshow/auth/api/entity/LoginEntity.java

@@ -15,6 +15,10 @@ public class LoginEntity {
 
     private String phone;
     
+    private Long inviteUserId;
+    
+    private String username;
+    
     private String deviceNum;
     //二维码code
     private String qrCode;
@@ -102,4 +106,20 @@ public class LoginEntity {
     public void setLoginType(String loginType) {
         this.loginType = loginType;
     }
+
+	public Long getInviteUserId() {
+		return inviteUserId;
+	}
+
+	public void setInviteUserId(Long inviteUserId) {
+		this.inviteUserId = inviteUserId;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
 }

+ 3 - 0
cooleshow-auth/auth-api/src/main/java/com/yonge/cooleshow/auth/api/entity/SysUser.java

@@ -32,6 +32,9 @@ public class SysUser implements Serializable{
 	/**  */
 	@ApiModelProperty(value = "密码")
 	private String password;
+	
+	@ApiModelProperty(value = "邀请人编号")
+	private Long inviteUserId;
 
 	/** 随机盐 */
 	@ApiModelProperty(value = "随机盐")

+ 5 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/filter/PhoneLoginAuthenticationFilter.java

@@ -27,6 +27,8 @@ public class PhoneLoginAuthenticationFilter extends AbstractAuthenticationProces
 	private static final String QR_CODE = "qrCode";
 	private static final String AUTH_TOKEN = "token";
 	private static final String LOGIN_TYPE = "loginType";
+	private static final String INVITE_USER_ID = "inviteUserId";
+	private static final String USER_NAME = "username";
 
 	private static final String DEVICE_NUM = "deviceNum";
 
@@ -53,6 +55,7 @@ public class PhoneLoginAuthenticationFilter extends AbstractAuthenticationProces
 		String qrCode = obtainParameter(request, QR_CODE);
 		String authToken = obtainParameter(request, AUTH_TOKEN);
 		String loginType = obtainParameter(request, LOGIN_TYPE);
+		Long inviteUserId = Long.parseLong(obtainParameter(request, INVITE_USER_ID));
 
 		String clientId = request.getParameter(clientIdParameter).toUpperCase();
 
@@ -74,6 +77,8 @@ public class PhoneLoginAuthenticationFilter extends AbstractAuthenticationProces
 		loginEntity.setQrCode(qrCode);
 		loginEntity.setAuthToken(authToken);
 		loginEntity.setLoginType(loginType);
+		loginEntity.setInviteUserId(inviteUserId);
+		loginEntity.setUsername(obtainParameter(request, USER_NAME));
 
 		authRequest = new PhoneAuthenticationToken(SecurityConstants.PHONE_PRINCIPAL_PREFIX + principal, loginEntity);
 

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/provider/PhoneAuthenticationProvider.java

@@ -168,7 +168,7 @@ public class PhoneAuthenticationProvider extends AbstractAuthenticationProvider
                     throw new LockedException("用户不存在");
                 }
 
-                userInfo = sysUserService.registerUser(loginEntity.getPhone(), clientId, loginUserType);
+                userInfo = sysUserService.registerUser(loginEntity.getPhone(), clientId, loginUserType, loginEntity.getInviteUserId(), loginEntity.getUsername());
 
                 if (Objects.nonNull(userInfo.getSysUser())) {
                     // 自动添加系统默认IM帐号为好友,并自动发送通知消息

+ 3 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/SysUserService.java

@@ -117,9 +117,11 @@ public interface SysUserService extends BaseService<Long, SysUser> {
      * @param phone
      * @param clientId
      * @param loginUserType
+     * @param inviteUserId
+     * @param username
      * @return
      */
-    SysUserInfo registerUser(String phone, String clientId, String loginUserType);
+    SysUserInfo registerUser(String phone, String clientId, String loginUserType, Long inviteUserId, String username);
 
     /**
      * 添加系统客服好友消息

+ 8 - 4
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java

@@ -153,17 +153,17 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public SysUserInfo registerUser(String phone, String clientId, String loginUserType) {
+    public SysUserInfo registerUser(String phone, String clientId, String loginUserType, Long inviteUserId, String username) {
 
         SysUserInfo userInfo = null;
         if (StringUtils.equalsIgnoreCase(loginUserType, "TEACHER")) {
             userInfo = registerTeacher(phone);
         } else if (StringUtils.equalsIgnoreCase(loginUserType, "STUDENT")) {
-            userInfo = registerStudent(phone);
+            userInfo = registerStudent(phone, inviteUserId, username);
         } else if (StringUtils.equalsIgnoreCase(clientId, "TEACHER")) {
             userInfo = registerTeacher(phone);
         } else if (StringUtils.equalsIgnoreCase(clientId, "STUDENT")) {
-            userInfo = registerStudent(phone);
+            userInfo = registerStudent(phone, inviteUserId, username);
         }
 
         return userInfo;
@@ -186,13 +186,17 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
         return queryUserInfoByPhone(phone);
     }
 
-    private SysUserInfo registerStudent(String phone) {
+    private SysUserInfo registerStudent(String phone, Long inviteUserId, String username) {
         SysUser sysUser = new SysUser();
         sysUser.setPhone(phone);
         String defaultHeard = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD);
         sysUser.setAvatar(defaultHeard);
         sysUser.setGender(1);
         sysUser.setUserType("STUDENT");
+        
+    	sysUser.setInviteUserId(inviteUserId);
+    	sysUser.setUsername(username);
+        
         sysUserDao.insert(sysUser);
         saveStudent(sysUser);
 

+ 5 - 2
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/web/controller/TokenController.java

@@ -86,7 +86,9 @@ public class TokenController extends BaseController {
             @ApiImplicitParam(name = "smsCode", value = "验证码", required = true, dataType = "String"),
             @ApiImplicitParam(name = "isSurportRegister", value = "是否在登录时注册", dataType = "Boolean"),
             @ApiImplicitParam(name = "loginType", value = "登陆类型", dataType = "String", defaultValue = "PASSWORD"),
-            @ApiImplicitParam(name = "loginUserType", value = "登录用户类型 STUDENT TEACHER(官网登录)", dataType = "String")
+            @ApiImplicitParam(name = "loginUserType", value = "登录用户类型 STUDENT TEACHER(官网登录)", dataType = "String"),
+            @ApiImplicitParam(name = "inviteUerId", value = "邀请人编号", dataType = "String"),
+            @ApiImplicitParam(name = "username", value = "用户姓名", dataType = "String")
     })
     public Object smsLogin() {
         return succeed();
@@ -138,7 +140,8 @@ public class TokenController extends BaseController {
             @ApiImplicitParam(name = "clientSecret", value = "固定传 app", required = true, dataType = "String"),
             @ApiImplicitParam(name = "username", value = "手机号", required = true, dataType = "String"),
             @ApiImplicitParam(name = "password", value = "密码", required = true, dataType = "String"),
-            @ApiImplicitParam(name = "loginUserType", value = "登录用户类型 STUDENT TEACHER(官网登录)", dataType = "String")
+            @ApiImplicitParam(name = "loginUserType", value = "登录用户类型 STUDENT TEACHER(官网登录)", dataType = "String"),
+            @ApiImplicitParam(name = "inviteUserId", value = "邀请人编号", dataType = "String")
     })
     public Object usernameLogin() {
         return succeed();