1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package com.fjhx.controller;
- import com.alibaba.fastjson.JSON;
- import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
- import com.fjhx.base.R;
- import com.fjhx.config.redis.RedisCache;
- import com.fjhx.constants.RedisConstant;
- import com.fjhx.entity.EmailInfo;
- import com.fjhx.service.IAccountService;
- import com.fjhx.vo.BindingVo;
- import com.fjhx.vo.ListenerVo;
- import com.fjhx.vo.ProgressVo;
- import com.fjhx.vo.SubmitVo;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- @RestController
- @RequestMapping("/account")
- public class AccountController {
- @Autowired
- private IAccountService accountService;
- /**
- * 绑定邮箱
- */
- @PostMapping("/binding")
- public R binding(@RequestBody BindingVo bindingVo) {
- EmailInfo emailInfo = accountService.binding(bindingVo);
- return R.ok(emailInfo);
- }
- /**
- * 查看用户账号同步进度
- */
- @GetMapping("getAsyncProgress")
- public R getAsyncProgress(@RequestParam("email") String email) {
- ProgressVo progressVo = RedisCache.get(RedisConstant.PROGRESS_KEY + email);
- if (ObjectUtils.isNull(progressVo)) {
- return R.ok();
- }
- if (progressVo.getPercentage() >= 100) {
- RedisCache.delete(RedisConstant.PROGRESS_KEY + email);
- }
- return R.ok(progressVo);
- }
- /**
- * 监听邮件事件
- */
- @PostMapping("/listener")
- public R post(@RequestBody ListenerVo listenerVo) {
- accountService.listener(listenerVo);
- return R.ok();
- }
- /**
- * 发送邮件
- */
- @PostMapping("submit")
- public R submit(@RequestBody SubmitVo submitVo) {
- System.out.println(JSON.toJSONString(submitVo));
- accountService.submit(submitVo);
- return R.ok();
- }
- }
|