From 7f63cc81ceeb02d9fd760709cea7abbce98bd346 Mon Sep 17 00:00:00 2001
From: dd <gitluke@outlook.com>
Date: Tue, 04 Nov 2025 00:47:15 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/controller/UserApiController.java |   87 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 85 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/nq/controller/UserApiController.java b/src/main/java/com/nq/controller/UserApiController.java
index d5bf5ac..7cfdfc8 100644
--- a/src/main/java/com/nq/controller/UserApiController.java
+++ b/src/main/java/com/nq/controller/UserApiController.java
@@ -1,14 +1,25 @@
 package com.nq.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.nq.common.ServerResponse;
 
+import com.nq.dao.MoneyLogMapper;
+import com.nq.dao.StockConfigMapper;
+import com.nq.pojo.MoneyLog;
 import com.nq.pojo.SiteSpread;
+import com.nq.pojo.StockConfig;
+import com.nq.service.IMoneyLogServces;
 import com.nq.service.ISiteSpreadService;
+import com.nq.service.IStockConfigServices;
 import com.nq.service.IUserService;
 
 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;
@@ -17,20 +28,25 @@
 
 import com.nq.utils.redis.RedisShardedPoolUtils;
 
+import com.nq.utils.translate.GoogleTranslateUtil;
 import com.nq.vo.user.UserLoginResultVO;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
 import javax.servlet.http.HttpServletResponse;
 
 import javax.servlet.http.HttpSession;
 
+import org.apache.commons.lang3.StringUtils;
+import org.apache.http.util.TextUtils;
 import org.slf4j.Logger;
 
 import org.slf4j.LoggerFactory;
 
 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;
@@ -42,6 +58,7 @@
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 
 @Controller
@@ -55,12 +72,46 @@
     @Autowired
     ISiteSpreadService iSiteSpreadService;
 
+    @Autowired
+    StockConfigMapper stockConfigMapper;
+
+    @Autowired
+    IMoneyLogServces iMoneyLogServces;
+
+    @Autowired
+    MoneyLogMapper moneyLogMapper;
+
     //注册
     @RequestMapping(value = {"reg.do"}, method = {RequestMethod.POST})
     @ResponseBody
     public ServerResponse reg(@RequestParam("agentCode") String agentCode, @RequestParam("phone") String phone, @RequestParam(value = "yzmCode", defaultValue = "") String yzmCode, @RequestParam("userPwd") String userPwd, HttpServletRequest httpServletRequest) {
         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})
@@ -76,7 +127,7 @@
             UserLoginResultVO resultVO = new UserLoginResultVO();
             resultVO.setKey(pc_cookie_name);
             resultVO.setToken(token);
-            return ServerResponse.createBySuccess("Login Success", resultVO);
+            return ServerResponse.createBySuccess("登录成功", resultVO);
         }
         return serverResponse;
     }
@@ -122,6 +173,38 @@
         return ServerResponse.createBySuccess("Success", siteSpread);
     }
 
+    @RequestMapping({"queryStockConfig.do"})
+    @ResponseBody
+    public  ServerResponse  updateConfig(){
+        StockConfig stockConfig = stockConfigMapper.selectOne(new LambdaQueryWrapper<StockConfig>().eq(StockConfig::getCKey, "buy_handling_charge"));
+        return  ServerResponse.createBySuccess(stockConfig);
 
+    }
+
+    @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,
+                                   HttpServletRequest request) {
+        Page<MoneyLog> page1 = new Page<>(pageNum, pageSize);
+        QueryWrapper<MoneyLog> queryWrapper = new QueryWrapper<>();
+
+        if(!TextUtils.isEmpty(userId)){
+            queryWrapper.eq("user_id",userId);
+        }
+        if(StringUtils.isNotEmpty(type)){
+            queryWrapper.eq("type",type);
+        }
+        queryWrapper.orderByDesc("create_time");
+        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);
+    }
 }
 

--
Gitblit v1.9.3