peter
2025-11-19 eb357bb9938d569734b04948695726b80c5dfb85
src/main/java/com/nq/controller/UserApiController.java
@@ -18,6 +18,8 @@
import com.nq.utils.PropertiesUtil;
import com.nq.utils.email.EmailValidator;
import com.nq.utils.email.GmailSender;
import com.nq.utils.redis.CookieUtils;
import com.nq.utils.redis.JsonUtil;
@@ -26,6 +28,7 @@
import com.nq.utils.redis.RedisShardedPoolUtils;
import com.nq.utils.translate.GoogleTranslateUtil;
import com.nq.vo.user.UserLoginResultVO;
import javax.annotation.Resource;
@@ -43,6 +46,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -54,6 +58,7 @@
import org.springframework.web.bind.annotation.ResponseBody;
import java.math.BigDecimal;
import java.util.List;
@Controller
@@ -83,6 +88,31 @@
        return this.iUserService.reg(yzmCode, agentCode, phone, userPwd, httpServletRequest);
    }
    //发送邮件
    @RequestMapping(value = {"sendmail.do"}, method = {RequestMethod.POST})
    @ResponseBody
    public ServerResponse sendmail(@RequestParam("email") String email,HttpServletRequest request) {
        try {
            if(!EmailValidator.isValidEmail(email)){
                return ServerResponse.createByErrorMsg("请输入正确的邮箱格式",request);
            }
            String code = GmailSender.generateSecureSixDigitCode();
            String keys = "emailCode:" + email;
            RedisShardedPoolUtils.setEx(keys, code, 60);
            //谷歌
//            GmailSender.sendEmail(email,"verification code",code);
            //阿里邮箱
//            GmailSender.sendEmailAli(email,"verification code",code);
            GmailSender.aokSend(email,"verification code",code);
            return ServerResponse.createBySuccess("发送成功!",request);
        }catch (Exception e){
            e.printStackTrace();
            return ServerResponse.createByErrorMsg("验证码发送失败",request);
        }
    }
    //登录
    @RequestMapping(value = {"login.do"}, method = {RequestMethod.POST})
    @ResponseBody
@@ -92,7 +122,7 @@
        ServerResponse serverResponse = this.iUserService.login(phone, userPwd, request);
        if (serverResponse.isSuccess()) {
            CookieUtils.writeLoginToken(response, token, pc_cookie_name);
            String redisSetExResult = RedisShardedPoolUtils.setEx(token, JsonUtil.obj2String(serverResponse.getData()), 9999);
            String redisSetExResult = RedisShardedPoolUtils.set(token, JsonUtil.obj2String(serverResponse.getData()));
            log.info("redis setex user result : {}", redisSetExResult);
            UserLoginResultVO resultVO = new UserLoginResultVO();
            resultVO.setKey(pc_cookie_name);
@@ -151,13 +181,13 @@
    }
    @RequestMapping({"moneylogAll.do"})
    @ResponseBody
    public ServerResponse taskList(@RequestParam(value = "userId") String userId,
                                   @RequestParam(value = "type", required = false) String type,
                                   @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                   @RequestParam(value = "pageSize", defaultValue = "50") int pageSize) {
                                   @RequestParam(value = "pageSize", defaultValue = "50") int pageSize,
                                   HttpServletRequest request) {
        Page<MoneyLog> page1 = new Page<>(pageNum, pageSize);
        QueryWrapper<MoneyLog> queryWrapper = new QueryWrapper<>();
@@ -168,7 +198,13 @@
            queryWrapper.eq("type",type);
        }
        queryWrapper.orderByDesc("create_time");
        return ServerResponse.createBySuccess(moneyLogMapper.selectPage(page1,queryWrapper));
        Page<MoneyLog> moneyLogPage = moneyLogMapper.selectPage(page1, queryWrapper);
        List<MoneyLog> records = moneyLogPage.getRecords();
        records.forEach(f->{
            f.setDescs( new GoogleTranslateUtil().translate(f.getDescs(),request.getHeader("lang")));
        });
        moneyLogPage.setRecords(records);
        return ServerResponse.createBySuccess(moneyLogPage);
    }
}