From e15f561a1f9eddfde503d59baf45a860b131928e Mon Sep 17 00:00:00 2001
From: fei.wang <wf18701153496@163.com>
Date: 星期三, 13 八月 2025 14:22:50 +0800
Subject: [PATCH] 更新最新版代码

---
 src/main/java/com/flow/controller/LoginController.java |  225 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 225 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/flow/controller/LoginController.java b/src/main/java/com/flow/controller/LoginController.java
new file mode 100644
index 0000000..cac15bb
--- /dev/null
+++ b/src/main/java/com/flow/controller/LoginController.java
@@ -0,0 +1,225 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by FernFlower decompiler)
+//
+
+package com.flow.controller;
+
+import com.flow.pojo.Company;
+import com.flow.pojo.Loginjilu;
+import com.flow.service.CompanyService;
+import com.flow.service.LoginJiLuService;
+import com.flow.service.LoginFailRecordService;
+import com.flow.util.DESUtil;
+import com.flow.util.IpUtil;
+import com.flow.util.result;
+import com.flow.util.resultutil;
+import com.github.pagehelper.PageInfo;
+import com.tencentcloudapi.common.Credential;
+import com.tencentcloudapi.common.exception.TencentCloudSDKException;
+import com.tencentcloudapi.common.profile.ClientProfile;
+import com.tencentcloudapi.common.profile.HttpProfile;
+import com.tencentcloudapi.sms.v20210111.SmsClient;
+import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest;
+import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Random;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.servlet.ModelAndView;
+
+@RequestMapping({"/hxzk"})
+@RestController
+public class LoginController {
+    private String SecretId = "AKIDrjZOI4e6KLZu9FAsSRN8eOwSt52lbMBz";
+    private String SecretKey = "xnRtHUL3YqdMyOLVSBjKkz1pQoxujS4d";
+    @Autowired
+    LoginJiLuService loginJiLuService;
+    @Autowired
+    CompanyService companyService;
+    @Autowired
+    LoginFailRecordService loginFailRecordService;
+
+    public LoginController() {
+    }
+
+    @GetMapping({"FindLoginJiLu"})
+    public result<List<Loginjilu>> FindCard(Integer page, Integer limit) throws Exception {
+        PageInfo<Loginjilu> cz = this.loginJiLuService.FindLoginJiLu(page, limit);
+
+        for (int i = 0; i < cz.getSize(); ++i) {
+            ((Loginjilu) cz.getList().get(i)).setLoginphone(DESUtil.decrypt(((Loginjilu) cz.getList().get(i)).getLoginphone(), DESUtil.key));
+        }
+
+        return resultutil.returnSuccess(cz.getTotal(), cz.getList());
+    }
+
+    @PostMapping({"FindLoginJiLuZi"})
+    public result<List<Loginjilu>> FindCardZi(Loginjilu loginjilu, Integer page, Integer limit) throws Exception {
+        PageInfo<Loginjilu> cz = this.loginJiLuService.FindLoginJiLuZi(loginjilu, page, limit);
+
+        for (int i = 0; i < cz.getSize(); ++i) {
+            ((Loginjilu) cz.getList().get(i)).setLoginphone(DESUtil.decrypt(((Loginjilu) cz.getList().get(i)).getLoginphone(), DESUtil.key));
+        }
+
+        return resultutil.returnSuccess(cz.getTotal(), cz.getList());
+    }
+
+    @PostMapping({"Login"})
+    @ResponseBody
+    public Company Login(Company company, HttpSession session) throws Exception {
+        company.setCompanyabbname(company.getCompanyabbname());
+
+//        company.setLoginphone(DESUtil.encrypt(company.getLoginphone(), DESUtil.key));
+        if (company.getPassword() != null) {
+            company.setPassword(company.getPassword());
+        }
+        Company company1 = this.companyService.findUser(company);
+        if (company1 != null) {
+            session.setAttribute("admin", company.getCompanyabbname());
+        }
+
+        return company1;
+    }
+
+    @PostMapping({"LoginIp"})
+    @ResponseBody
+    public int Login(Loginjilu loginjilu, HttpServletRequest request) throws Exception {
+        String ip = IpUtil.getIpAddress(request);
+        loginjilu.setIp(ip);
+        return this.loginJiLuService.LoginIp(loginjilu);
+    }
+
+    @GetMapping({"fwl"})
+    public List fwl() {
+        return this.loginJiLuService.fwl();
+    }
+
+    @GetMapping({"huiLogin"})
+    public void hui(HttpServletResponse response) throws IOException {
+        response.sendRedirect("../Login.jsp");
+    }
+
+    @PostMapping({"upUser"})
+    public ModelAndView UpUser(Company company, HttpServletResponse response) throws Exception {
+        this.companyService.upUser(company);
+        ModelAndView modelAndView = new ModelAndView();
+        modelAndView.setViewName("/page/setting.jsp");
+        return modelAndView;
+    }
+
+    @ResponseBody
+    @PostMapping({"lophone"})
+    public Company lophone(Company company) throws Exception {
+        return this.companyService.HuoPhone(company);
+    }
+
+    @PostMapping({"userdate"})
+    public int userdate(String Zong) {
+        String userdate = this.loginJiLuService.userdate(Zong);
+        return this.loginJiLuService.upuserdate(Zong, userdate);
+    }
+
+    @PostMapping({"accountLogin"})
+    @ResponseBody
+    public Company accountLogin(String account, String password, HttpSession session) throws Exception {
+        if (account == null || password == null) {
+            return null;
+        }
+        
+        // 妫�鏌ヨ处鍙锋槸鍚﹁閿佸畾
+        if (loginFailRecordService.isAccountLocked(account)) {
+            // 璐﹀彿琚攣瀹氾紝杩斿洖鐗规畩鏍囪瘑
+            Company lockedCompany = new Company();
+            lockedCompany.setCompanyabbname("LOCKED");
+            return lockedCompany;
+        }
+        
+        // 鏋勯�燙ompany瀵硅薄锛屽亣璁綼ccount涓哄叕鍙哥畝绉版垨鐧诲綍璐﹀彿瀛楁
+        Company company = new Company();
+        company.setLoginphone(account);
+        company.setPassword(password);
+        Company company1 = this.companyService.findUser(company);
+        
+        if (company1 != null) {
+            // 鐧诲綍鎴愬姛锛屾竻闄ゅけ璐ヨ褰�
+            loginFailRecordService.unlockAccount(account);
+            session.setAttribute("admin", company.getCompanyabbname());
+        } else {
+            // 鐧诲綍澶辫触锛岃褰曞け璐ユ鏁�
+            loginFailRecordService.recordLoginFail(account);
+        }
+        
+        return company1;
+    }
+
+    @GetMapping({"Login11"})
+    @ResponseBody
+    public int sms(String phone) throws TencentCloudSDKException {
+        int randomNumber = 0;
+
+        try {
+            Random random = new Random();
+            randomNumber = random.nextInt(10000) + 10000;
+            System.out.println("鐢熸垚鐨勯殢鏈烘暣鏁版槸锛�" + randomNumber);
+            Credential cred = new Credential(this.SecretId, this.SecretKey);
+            HttpProfile httpProfile = new HttpProfile();
+            httpProfile.setEndpoint("sms.tencentcloudapi.com");
+            ClientProfile clientProfile = new ClientProfile();
+            clientProfile.setHttpProfile(httpProfile);
+            SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile);
+            SendSmsRequest req = new SendSmsRequest();
+            String[] phoneNumberSet1 = new String[]{phone};
+            req.setPhoneNumberSet(phoneNumberSet1);
+            req.setSmsSdkAppId("1400838975");
+            req.setSignName("鍖椾含鍗庢槦鍖楁枟鏅烘帶");
+            req.setTemplateId("1878379");
+            String[] templateParamSet1 = new String[]{String.valueOf(randomNumber)};
+            req.setTemplateParamSet(templateParamSet1);
+            SendSmsResponse resp = client.SendSms(req);
+            System.out.println(SendSmsResponse.toJsonString(resp));
+        } catch (TencentCloudSDKException var12) {
+            System.out.println(var12.toString());
+        }
+
+        return randomNumber;
+    }
+    
+    /**
+     * 楠岃瘉鐮佺櫥褰曡В閿佽处鍙�
+     */
+    @PostMapping({"unlockAccountBySms"})
+    @ResponseBody
+    public Company unlockAccountBySms(String phone, String verificationCode, HttpSession session) throws Exception {
+        if (phone == null || verificationCode == null) {
+            return null;
+        }
+        
+        // 楠岃瘉楠岃瘉鐮侊紙杩欓噷闇�瑕佹牴鎹疄闄呯殑楠岃瘉鐮侀獙璇侀�昏緫鏉ュ疄鐜帮級
+        // 鍋囪楠岃瘉鐮侀獙璇佹垚鍔�
+        boolean isCodeValid = true; // 杩欓噷搴旇璋冪敤瀹為檯鐨勯獙璇佺爜楠岃瘉閫昏緫
+        
+        if (isCodeValid) {
+            // 楠岃瘉鐮佹纭紝瑙i攣璐﹀彿
+            loginFailRecordService.unlockAccount(phone);
+            
+            // 杩斿洖鐧诲綍鎴愬姛鐨勪俊鎭�
+            Company company = new Company();
+            company.setCompanyabbname("UNLOCKED");
+            session.setAttribute("admin", phone);
+            return company;
+        } else {
+            return null;
+        }
+    }
+}

--
Gitblit v1.9.3