Browse Source

fix 机构学生注册登陆

Eric 1 year ago
parent
commit
46c15fc3fc

+ 13 - 18
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java

@@ -7,13 +7,11 @@ import com.yonge.cooleshow.biz.dal.entity.Student;
 import com.yonge.cooleshow.biz.dal.entity.TenantGroup;
 import com.yonge.cooleshow.biz.dal.entity.TenantInfo;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.mapper.TenantGroupMapper;
-import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
-import com.yonge.cooleshow.biz.dal.service.ImGroupService;
-import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
 import com.yonge.cooleshow.biz.dal.service.SmsCodeService;
 import com.yonge.cooleshow.biz.dal.service.StudentService;
-import com.yonge.cooleshow.biz.dal.service.TeacherService;
+import com.yonge.cooleshow.biz.dal.service.SysMessageService;
 import com.yonge.cooleshow.biz.dal.service.TenantInfoService;
 import com.yonge.cooleshow.biz.dal.wrapper.StudentWrapper;
 import com.yonge.cooleshow.common.controller.BaseController;
@@ -31,9 +29,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.HashSet;
-import java.util.List;
 import java.util.Objects;
+import java.util.Optional;
 
 @Slf4j
 @RestController
@@ -44,9 +41,6 @@ public class OpenStudentController extends BaseController {
     private StudentService studentService;
 
     @Autowired
-    private TeacherService teacherService;
-
-    @Autowired
     private TenantInfoService tenantInfoService;
 
     @Autowired
@@ -56,20 +50,14 @@ public class OpenStudentController extends BaseController {
     private SmsCodeService smsCodeService;
 
     @Autowired
-    private ImUserFriendService imUserFriendService;
-
-    @Autowired
-    private ImGroupService imGroupService;
-
-    @Autowired
-    private ImGroupMemberService imGroupMemberService;
+    private SysMessageService sysMessageService;
 
     @Autowired
     private TenantGroupMapper tenantGroupMapper;
 
     @PostMapping("/save")
     @ApiOperation(value = "新增/修改", notes = "传入Student,换绑时按照返回错误码5004判断,是否需要换绑,updateTenant=true表示换绑")
-    public HttpResponseResult<Boolean> save(@Validated @RequestBody StudentVo.Student student) {
+    public HttpResponseResult<String> save(@Validated @RequestBody StudentVo.Student student) {
         String code = student.getCode();
         if (StringUtils.isEmpty(code)) {
             throw new BizException("验证码不能为空");
@@ -131,6 +119,13 @@ public class OpenStudentController extends BaseController {
         studentInfo.setTenantId(tenantInfo.getId());
 
         studentService.save(studentInfo);
-        return succeed();
+
+        // 自动注册登陆验证码
+        String loginCode = "";
+        if (Optional.ofNullable(student.getLoginCode()).orElse(false)) {
+            // 生成登陆验证码
+            loginCode = sysMessageService.sendSecurityCode(MessageTypeEnum.SMS_VERIFY_CODE_LOGIN, student.getPhone());
+        }
+        return succeed(loginCode);
     }
 }

+ 3 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/vo/StudentVo.java

@@ -51,5 +51,8 @@ public class StudentVo {
 
         @ApiModelProperty("短信验证码")
         private String code;
+
+        @ApiModelProperty("登陆验证码")
+        private Boolean loginCode;
     }
 }

+ 8 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysMessageService.java

@@ -64,6 +64,14 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	public boolean sendSecurityCode(MessageSender messageSender, Long userId, MessageTypeEnum messageType, String receiver, String platform);
 
 	/**
+	 * 发送验证码
+	 * @param messageType 消息类型
+	 * @param receiver 消息接受者
+	 * @return 验证码
+	 */
+	String sendSecurityCode(MessageTypeEnum messageType, String receiver);
+
+	/**
 	 * 获取已经发送的验证码
 	 * @param type
 	 * @param mobileNOOrEmailAddr

+ 22 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysMessageServiceImpl.java

@@ -315,6 +315,28 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		return true;
 	}
 
+	/**
+	 * 发送验证码
+	 *
+	 * @param messageType 消息类型
+	 * @param receiver    消息接受者
+	 * @return true-发送成功  false-发送失败
+	 */
+	@Override
+	public String sendSecurityCode(MessageTypeEnum messageType, String receiver) {
+
+		// 生成验证码
+		String code = String.valueOf(getRandomCode(messageType, receiver));
+
+		// 验证码缓存Key
+		String key = getVerificationCodeCacheKey(messageType, receiver);
+
+		// 发送验证码缓存
+		redisCache.put(key, code, CODE_EXPIRE);
+
+		return code;
+	}
+
 	@Override
 	public String getSendedVerificationCode(MessageTypeEnum type, String mobileNOOrEmailAddr) {
 		if (debugMode == true) {