|
|
|
@ -28,6 +28,7 @@ import sun.misc.BASE64Decoder; |
|
|
|
|
|
|
|
|
|
import javax.validation.Valid; |
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
|
import java.util.*; |
|
|
|
|
import java.util.concurrent.TimeUnit; |
|
|
|
|
|
|
|
|
@ -43,6 +44,12 @@ public class LoginController { |
|
|
|
|
|
|
|
|
|
private static final Logger LOG = LoggerFactory.getLogger(LoginController.class); |
|
|
|
|
|
|
|
|
|
private static final String SMS_TYPE_LOGIN = "LOGIN"; |
|
|
|
|
|
|
|
|
|
private static final int TIME_OUT=10; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private AssessUserService assessUserService; |
|
|
|
|
|
|
|
|
@ -54,6 +61,7 @@ public class LoginController { |
|
|
|
|
notes = LoginApi.YyyfLogin.METHOD_NOTE) |
|
|
|
|
public ResultDTO<YyyfLoginDto> loginyyyf(@ApiParam(LoginApi.YyyfLogin.METHOD_API_YYYFLOGINREQUESTVO) @Valid YyyfLoginRequestVo yyyfLoginRequestVo) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//存到redis中用于以渔有方用户与智信链用户进行绑定
|
|
|
|
|
|
|
|
|
|
//登录返回的Data
|
|
|
|
@ -95,6 +103,15 @@ public class LoginController { |
|
|
|
|
} |
|
|
|
|
AssessUser assessUser = this.assessUserService.selectAssessUserByUserIdAndissueIdForNotEnd(userId, examId); |
|
|
|
|
if (assessUser == null) { |
|
|
|
|
Date now = new Date(); |
|
|
|
|
String tel=new SimpleDateFormat("yyMMddHHmm").format(now).concat(String.valueOf(userId)); |
|
|
|
|
|
|
|
|
|
//第一次进入进行注册
|
|
|
|
|
String code=String.format("%06d",new Random().nextInt(1000000)); |
|
|
|
|
redisTemplate.opsForValue().set(SMS_TYPE_LOGIN.concat(tel),code,TIME_OUT, TimeUnit.MINUTES); |
|
|
|
|
yyyfLoginDto.setCode(code); |
|
|
|
|
|
|
|
|
|
String password=IdGenerator.uuid(); |
|
|
|
|
String assessUserId = IdGenerator.uuid(); |
|
|
|
|
assessUser = new AssessUser(); |
|
|
|
|
assessUser.setId(assessUserId); |
|
|
|
@ -104,21 +121,30 @@ public class LoginController { |
|
|
|
|
assessUser.setCourseId(yyyfLoginRequestVo.getCourserId()); |
|
|
|
|
assessUser.setIssueId(examId); |
|
|
|
|
assessUser.setSsPractiseId(yyyfLoginRequestVo.getCaseId()); |
|
|
|
|
assessUser.setStartTime(new Date()); |
|
|
|
|
assessUser.setStartTime(now); |
|
|
|
|
assessUser.setUserId(userId); |
|
|
|
|
assessUser.setUserName(userName); |
|
|
|
|
assessUser.setUserType(yyyfLoginRequestVo.getUserType()); |
|
|
|
|
assessUser.setTel(tel); |
|
|
|
|
assessUser.setPassword(password); |
|
|
|
|
|
|
|
|
|
//获取案例信息
|
|
|
|
|
HashOperations<String, String, ExamPaperDto> examPaperOpsForHash = redisTemplate.opsForHash(); |
|
|
|
|
ExamPaperDto examPaperDto = examPaperOpsForHash.get(YyyfConstant.EXAM_PAPER_KEY, examPaperId); |
|
|
|
|
List<TrainCaseTargetDto> trainCaseTargeList = examPaperDto.getTrainCaseTargeList(); |
|
|
|
|
List<TrainCaseTargetDto> trainCaseTargeList = examPaperDto.getTrainCaseTargetList(); |
|
|
|
|
assessUser.setWechatInitMoney(examPaperDto.getWechatInitMoney()); |
|
|
|
|
assessUser.setAlipayInitMoney(examPaperDto.getAlipayInitMoney()); |
|
|
|
|
assessUser.setBankcardInitMoney(examPaperDto.getBankcardInitMoney()); |
|
|
|
|
assessUser.setDigitwalletInitMoney(examPaperDto.getDigitwalletInitMoney()); |
|
|
|
|
this.assessUserService.initAssessUser(assessUser, trainCaseTargeList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yyyfUserDto.setAssessUserId(assessUser.getId()); |
|
|
|
|
|
|
|
|
|
yyyfUserDto.setAssessUserId(assessUser.getId()); |
|
|
|
|
yyyfLoginDto.setTel(assessUser.getTel()); |
|
|
|
|
yyyfLoginDto.setPassword(assessUser.getPassword()); |
|
|
|
|
yyyfLoginDto.setNickName(userName); |
|
|
|
|
|
|
|
|
|
HashOperations<String, String, ExamDto> examDtoOpsForHash = redisTemplate.opsForHash(); |
|
|
|
|
|
|
|
|
@ -185,6 +211,8 @@ public class LoginController { |
|
|
|
|
redisTemplate.expire(caseKey, 2, TimeUnit.HOURS); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return handleAfterLogin(yyyfLoginDto, yyyfUserDto); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|