package com.hxzk.controller;
|
|
import com.github.pagehelper.PageInfo;
|
import com.hxzk.pojo.*;
|
import com.hxzk.service.*;
|
|
import com.hxzk.util.MyThreadTask;
|
import com.hxzk.util.result;
|
import com.hxzk.util.resultutil;
|
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 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.RestController;
|
|
import javax.print.DocFlavor;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.io.UnsupportedEncodingException;
|
import java.text.SimpleDateFormat;
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.Executors;
|
import java.util.concurrent.Future;
|
|
@RestController
|
@RequestMapping("/")
|
public class UserController {
|
|
public static String username = "";
|
@Autowired
|
UserService userService;
|
@Autowired
|
ComapanyService comapanyService;
|
|
@Autowired
|
ScreenService screenService;
|
|
@Autowired
|
WarningService warningService;
|
|
@Autowired
|
TbSmsReminderService smsReminderService;
|
|
@Autowired
|
SmsLogService smsLogService;
|
|
|
@Autowired
|
SystemLogService systemLogService;
|
private String SecretId ="AKIDrjZOI4e6KLZu9FAsSRN8eOwSt52lbMBz";
|
private String SecretKey = "xnRtHUL3YqdMyOLVSBjKkz1pQoxujS4d";
|
|
// 创建一个固定大小的线程池
|
ExecutorService threadPool = Executors.newFixedThreadPool(3);
|
|
@PostMapping("login")
|
public TbUser login(TbUser user, HttpServletRequest request) {
|
TbUser user1 = new TbUser();
|
if (user.getPhone() == null || user.getPhone().equals("")) {
|
user1 = userService.login(user);
|
if (user1 != null) {
|
username = user1.getUsername();
|
}
|
//用户名密码登录
|
} else {
|
//手机号验证码登录
|
user1 = userService.loginPhone(user);
|
if (user1 != null) {
|
username = user1.getUsername();
|
}
|
}
|
|
// 将要执行的任务封装为一个Runnable对象
|
Runnable task = new Runnable() {
|
@Override
|
public void run() {
|
MyThreadTask myThreadTask = new MyThreadTask(warningService, smsReminderService, smsLogService);
|
myThreadTask.run();
|
}
|
};
|
|
// 提交任务给线程池执行
|
threadPool.submit(task);
|
return user1;
|
}
|
@GetMapping("findUserRole")
|
public TbUser UserRole(TbUser user){
|
return userService.UserRole(user);
|
}
|
//获取验证码
|
@GetMapping("sms")
|
public int sms(String phone,int randomNumber) throws TencentCloudSDKException {
|
try {
|
System.out.println("生成的随机整数是:" + randomNumber);
|
// 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
|
// 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
|
// 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
|
Credential cred = new Credential(SecretId, SecretKey);
|
// 实例化一个http选项,可选的,没有特殊需求可以跳过
|
HttpProfile httpProfile = new HttpProfile();
|
httpProfile.setEndpoint("sms.tencentcloudapi.com");
|
// 实例化一个client选项,可选的,没有特殊需求可以跳过
|
ClientProfile clientProfile = new ClientProfile();
|
clientProfile.setHttpProfile(httpProfile);
|
// 实例化要请求产品的client对象,clientProfile是可选的
|
SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile);
|
// 实例化一个请求对象,每个接口都会对应一个request对象
|
SendSmsRequest req = new SendSmsRequest();
|
String[] phoneNumberSet1 = {phone};
|
req.setPhoneNumberSet(phoneNumberSet1);
|
|
req.setSmsSdkAppId("1400838975");
|
req.setSignName("北京华星北斗智控");
|
req.setTemplateId("1878379");
|
|
String[] templateParamSet1 = {String.valueOf(randomNumber)};
|
req.setTemplateParamSet(templateParamSet1);
|
|
// 返回的resp是一个SendSmsResponse的实例,与请求对象对应
|
SendSmsResponse resp = client.SendSms(req);
|
// 输出json格式的字符串回包
|
System.out.println(SendSmsResponse.toJsonString(resp));
|
} catch (TencentCloudSDKException e) {
|
System.out.println(e.toString());
|
}
|
return randomNumber;
|
}
|
|
@GetMapping("findUser")
|
result<List<TbUser>> findUser(Integer page, Integer limit,HttpServletRequest request) throws UnsupportedEncodingException {
|
PageInfo<TbUser> cz= userService.findAll(page, limit);
|
return resultutil.returnSuccess(cz.getTotal(), cz.getList());
|
}
|
|
@PostMapping("addUser")
|
public void addUser(TbUser user,HttpServletResponse response) throws IOException {
|
user.setTime(gettime());
|
if (user.getUadd() == null || user.getUadd() == ""){
|
user.setUadd("No");
|
}else{
|
user.setUadd("Yes");
|
}
|
if (user.getUdelete() == null || user.getUdelete() == ""){
|
user.setUdelete("No");
|
}else {
|
user.setUdelete("Yes");
|
}
|
if (user.getUupdate() == null || user.getUupdate() == ""){
|
user.setUupdate("No");
|
}else{
|
user.setUupdate("Yes");
|
}
|
if(user.getUjoin() == null || user.getUjoin() == ""){
|
user.setUjoin("No");
|
}else{
|
user.setUjoin("Yes");
|
}
|
userService.addUser(user);
|
TbScreenSettings screenSettings = new TbScreenSettings();
|
TbSystemOperationLog systemOperationLog = new TbSystemOperationLog();
|
systemOperationLog.setName(UserController.username);
|
systemOperationLog.setTime(gettime());
|
systemOperationLog.setContent("添加了一个用户,该用户为:"+user.getUsername());
|
systemLogService.insertSystem(systemOperationLog);
|
response.sendRedirect("/hxzkuwb/HouTai/User/User.jsp");
|
}
|
@PostMapping("updateUser")
|
public void updateUser(TbUser user,HttpServletResponse response) throws IOException {
|
if (user.getUadd() == null || user.getUadd() == ""){
|
user.setUadd("No");
|
}else{
|
user.setUadd("Yes");
|
}
|
if (user.getUdelete() == null || user.getUdelete() == ""){
|
user.setUdelete("No");
|
}else {
|
user.setUdelete("Yes");
|
}
|
if (user.getUupdate() == null || user.getUupdate() == ""){
|
user.setUupdate("No");
|
}else{
|
user.setUupdate("Yes");
|
}
|
if(user.getUjoin() == null || user.getUjoin() == ""){
|
user.setUjoin("No");
|
}else{
|
user.setUjoin("Yes");
|
}
|
user.setTime(gettime());
|
userService.updateUser(user);
|
TbSystemOperationLog systemOperationLog = new TbSystemOperationLog();
|
systemOperationLog.setName(UserController.username);
|
systemOperationLog.setTime(gettime());
|
systemOperationLog.setContent("修改了一个用户,该用户为:"+user.getUsername());
|
systemLogService.insertSystem(systemOperationLog);
|
response.sendRedirect("/hxzkuwb/HouTai/User/User.jsp");
|
}
|
@PostMapping("deleteUser")
|
public void deleteUser(TbUser user,HttpServletResponse response) throws IOException {
|
userService.deleteUser(user);
|
screenService.deScreen(user.getUsername());
|
TbSystemOperationLog systemOperationLog = new TbSystemOperationLog();
|
systemOperationLog.setName(UserController.username);
|
systemOperationLog.setTime(gettime());
|
systemOperationLog.setContent("删除了一个用户,该用户为:"+user.getUsername());
|
systemLogService.insertSystem(systemOperationLog);
|
response.sendRedirect("/hxzkuwb/HouTai/User/User.jsp");
|
}
|
|
//用户表格搜索
|
@PostMapping("findUserSearch")
|
result<List<TbUser>> findUserSearch(Integer page, Integer limit,TbUser user){
|
PageInfo<TbUser> cz= userService.findSearch(page, limit,user);
|
return resultutil.returnSuccess(cz.getTotal(), cz.getList());
|
}
|
|
|
//获取所有公司表格
|
@GetMapping("findCompany")
|
result<List<TbCompany>> findCompany(Integer page, Integer limit){
|
PageInfo<TbCompany> cz= comapanyService.findAll(page, limit);
|
return resultutil.returnSuccess(cz.getTotal(), cz.getList());
|
}
|
|
//获取所有公司下拉框
|
@GetMapping("listCompany")
|
public List<TbCompany> listcompany(){
|
return comapanyService.listcompany();
|
}
|
|
//添加公司
|
@PostMapping("addCompany")
|
public void addCompany(TbCompany company, HttpServletResponse response) throws IOException {
|
Calendar calendar = Calendar.getInstance();
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
String dateStr = sdf.format(calendar.getTime());
|
company.setAddtime(dateStr);
|
comapanyService.addCompany(company);
|
TbScreenSettings screenSettings = new TbScreenSettings();
|
screenSettings.setCompanyname(company.getCompanyname());
|
screenService.AddScreen(screenSettings);
|
TbSystemOperationLog systemOperationLog = new TbSystemOperationLog();
|
systemOperationLog.setName(UserController.username);
|
systemOperationLog.setTime(gettime());
|
systemOperationLog.setContent("增加了一个公司,该公司名称为:"+company.getCompanyname());
|
systemLogService.insertSystem(systemOperationLog);
|
response.sendRedirect("/hxzkuwb/HouTai/User/Company.jsp");
|
}
|
|
@PostMapping("updateCompany")
|
public void updateCompany(TbCompany company,HttpServletResponse response) throws IOException {
|
comapanyService.updateCompany(company);
|
TbSystemOperationLog systemOperationLog = new TbSystemOperationLog();
|
systemOperationLog.setName(UserController.username);
|
systemOperationLog.setTime(gettime());
|
systemOperationLog.setContent("修改了一个公司,该公司名称为:"+company.getCompanyname());
|
systemLogService.insertSystem(systemOperationLog);
|
response.sendRedirect("/hxzkuwb/HouTai/User/Company.jsp");
|
}
|
|
@PostMapping("deleteCompany")
|
public int deleteCompany(TbCompany company){
|
screenService.deScreen(company.getCompanyname());
|
TbSystemOperationLog systemOperationLog = new TbSystemOperationLog();
|
systemOperationLog.setName(UserController.username);
|
systemOperationLog.setTime(gettime());
|
systemOperationLog.setContent("删除了一个公司,该公司名称为:"+company.getCompanyname());
|
systemLogService.insertSystem(systemOperationLog);
|
return comapanyService.deleteCompany(company);
|
}
|
|
@PostMapping("findcompanySearch")
|
result<List<TbCompany>> findanchorSearch(Integer page, Integer limit, TbCompany company){
|
PageInfo<TbCompany> cz= comapanyService.findSearch(page, limit,company);
|
return resultutil.returnSuccess(cz.getTotal(), cz.getList());
|
}
|
|
//根据用户名称查询公司设置的系统名称
|
@GetMapping("findCompanySystemName")
|
public TbCompany findComapanySystemName(String username){
|
TbUser user = userService.findCompanyName(username);
|
return comapanyService.findCompany(user.getCompany());
|
}
|
|
@GetMapping("findIdUser")
|
public TbUser findIdUser(Integer id){
|
return userService.findIdUser(id);
|
}
|
|
@GetMapping("findPhoneUser")
|
public TbUser findPhoneUser(String phone){
|
return userService.findPhoneUser(phone);
|
}
|
|
public String gettime(){
|
Date now = new Date();
|
// 创建日期格式化对象,设置格式为 "yyyy-MM-dd HH:mm"
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
// 格式化日期对象,输出字符串结果
|
String formattedDate = sdf.format(now);
|
return formattedDate;
|
}
|
}
|