# intern **Repository Path**: pusw/intern ## Basic Information - **Project Name**: intern - **Description**: 吾研项目,拿offer实习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-14 - **Last Updated**: 2021-09-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **吾研开发文档第一期** 需求说明: 1.信息填写 对研究生的个人信息进行认证,主要涉及到学校、专业,在校时间,导师,研究方向,认证方式的选择(学习邮箱和校园卡二选一)的填写保存 2.发送验证验证邮箱 邮箱判断,验证码4位,一天发送10次,有效期5分钟 发送验证后,将验证码存入session,与用户提交的进行比较,且时间不超过5分钟。 3、图片上传 将图片上传到另一个文件,回传状态 数据库设计: User表 数据库字段: Id, username,姓名 major,专业 inschool_time_bg,在校时间 inschool_time_end,离校时间 tour, 导师 reserch, 研究方向 msg_auth, 信息认证,1为邮箱验证,2为学生证验证 email,邮箱 yzm_times,发送次数 re_school,在读学校 Sc_img,学生证图片 框架说明springboot+mybaitsplus+swwager-ui 项目结构: Config Controler层 Dao层 Entiy层 Serivese层 Imp层 Util层 1、信息保存接口 @PostMapping("Save") @ResponseBody public ResponseDO SaveMesage(HttpServletRequest request, @Valid User user, Param yanzm) throws ParseException { //首先使用Valid做表单校验) 邮箱验证码格式 public boolean isEmail(String email) {} } --------------------------------------------------------------------------------------- @PostMapping("Save") @ResponseBody public ResponseDO SaveMesage(HttpServletRequest request, @Valid User user, Param yanzm) throws ParseException { //首先使用Valid做表单校验 //判断认证方式 String auth_msg=user.getMsg_auth(); //如果是邮箱验证 if(auth_msg.equals("1")){ String u_email=user.getEmail(); if (!isEmail(u_email)){ //不符合邮箱格式 return new ResponseDO(false, "邮箱格式不正确",SUCCESS_ID,null); }else{//如果是邮箱验证,验证码和实际是否正确 //如果邮箱验证码正确且没超过5分钟 if(如果邮箱验证码正确且没超过5分钟){ return new ResponseDO(true, "保存成功",SUCCESS_ID,null); }else { return new ResponseDO(false, "邮箱验证不正确",SUCCESS_ID,null); } } }else{ //如果是学生证验证 //调用图片上传接口 //上传学生证照片 } return new ResponseDO(true, "邮箱格式不正确",SUCCESS_ID,null); } 2、邮箱验证码发送接口 @RestController public class TestEmail extends BaseController { Private static final Logger log = LoggerFactory.getLogger(HomeController.class); 接口: @RequestMapping("/testEmail") public ResponseDO testEmail(HttpServletRequest request) { } -------------------------------------------------------------------------------------------------- @RestController public class TestEmail extends BaseController { StringRandom stringRandom = new StringRandom(); @Autowired private EmailService emailService; @RequestMapping("/testEmail") public ResponseDO testEmail(HttpServletRequest request) { String yzm=stringRandom.getStringRandom(4); String subject = "测试邮件"; String content = "你的验证码为:"+yzm+"验证码5分钟内有效"; HttpSession session = request.getSession(); Map map = new HashMap<>(); map.put("verifyCode", yzm); map.put("createTime", System.currentTimeMillis()); // 将认证码存入SESSION request.getSession().setAttribute("verifyCodemap", map); Boolean status=emailService.sendSimpleMail(mailSender, "1220399075@qq.com", null, subject, content); return new ResponseDO(status, "短信已发送", SUCCESS_ID, null); } } 3、图片上传接口 @PostMapping(value = "/fileUpload") public String fileUpload(@RequestParam(value = "file") MultipartFile file, Model model,HttpServletRequest request) {} Swwager-ui界面