use of com.topcom.cms.domain.User in project topcom-cloud by 545314690.
the class LoginController method login2.
/**
* 登录验证 登录成功后返回用户信息(为了测试,去掉验证码信息)
*
* @param request
* @param response
* @param username
* @param password
* @param captcha
* @return
* @throws SQLException
*/
@RequestMapping(value = "/login2", method = RequestMethod.POST)
@ResponseBody
public ModelMap login2(HttpServletRequest request, HttpServletResponse response, @RequestParam String username, @RequestParam String password, @RequestParam(required = false) String captcha, @RequestParam(required = false) Boolean admin, @RequestParam(required = false) Boolean rememberMe) throws AuthenticationException {
ModelMap modelMap = new ModelMap("success", false);
UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(username, password);
if (admin != null && admin == true) {
usernamePasswordToken.setAdmin(admin);
}
boolean logined = SubjectUtil.login(usernamePasswordToken);
// 验证是否登录成功
if (logined) {
modelMap.put("success", true);
modelMap.put("message", "登录成功");
String token = SubjectUtil.getLoginToken(username);
User currentUser = SubjectUtil.getCurrentUser(token);
request.getSession().setAttribute(Constants.CURRENT_USER, currentUser);
modelMap.put("token", token);
modelMap.put("user", currentUser.getFullName() == null ? username : currentUser.getFullName());
} else {
throw new AuthenticationException();
}
return modelMap;
}
use of com.topcom.cms.domain.User in project topcom-cloud by 545314690.
the class LoginController method loginGet.
@RequestMapping(value = "/loginGet", method = RequestMethod.GET)
@ResponseBody
public ModelMap loginGet(HttpServletRequest request, HttpServletResponse response, @RequestParam String username, @RequestParam String password, @RequestParam(required = false) String captcha, @RequestParam(required = false) Boolean admin, @RequestParam(required = false) Boolean rememberMe) throws AuthenticationException {
ModelMap modelMap = new ModelMap("success", false);
UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(username, password);
if (admin != null && admin == true) {
usernamePasswordToken.setAdmin(admin);
}
boolean logined = SubjectUtil.login(usernamePasswordToken);
// 验证是否登录成功
if (logined) {
modelMap.put("success", true);
modelMap.put("message", "登录成功");
String token = SubjectUtil.getLoginToken(username);
User currentUser = SubjectUtil.getCurrentUser(token);
request.getSession().setAttribute(Constants.CURRENT_USER, currentUser);
modelMap.put("token", token);
modelMap.put("user", currentUser.getFullName() == null ? username : currentUser.getFullName());
} else {
throw new AuthenticationException();
}
return modelMap;
}
use of com.topcom.cms.domain.User in project topcom-cloud by 545314690.
the class WarningJob method sendWechat.
/**
* 发送微信
* @param page
* @param subject
* @param wangningLogId
*/
private void sendWechat(Page page, CustomSubject subject, Long wangningLogId) {
WarningTask warningTask = subject.getWarning();
logger.info("开始推送Wechat消息:" + subject.getName());
List<Contact> contacts = warningTask.getContacts();
Set<String> wechatSet = contacts.stream().filter(contact -> Contact.Type.WECHAT.equals(contact.getType())).map(contact -> contact.getAccount()).collect(Collectors.toSet());
WechatSendRequest wechatSendRequest = new WechatSendRequest();
JSONObject data = getData(page.getContent());
User user = userManager.findById(subject.getUserId());
// userName
setData(data, "name", user.getFullName() == null ? user.getUsername() : user.getFullName());
setData(data, "subjectName", subject.getName());
setData(data, "num", page.getTotalElements());
wechatSendRequest.setData(data);
wechatSendRequest.setTemplate_id(TEMPLATE_ID);
wechatSendRequest.setUrl(warningEmailSetting.getLogUrl());
if (wechatSet.size() > 0) {
for (String s : wechatSet) {
wechatSendRequest.setTouser(s);
wechatUtil.sendTemplate(JSONObject.fromObject(wechatSendRequest));
}
warningTask.setLastWarningDate(new Date());
warningManager.save(warningTask);
}
}
use of com.topcom.cms.domain.User in project topcom-cloud by 545314690.
the class WarningJob method sendEmail.
private void sendEmail(Page page, CustomSubject subject, Long wangningLogId) {
WarningTask warningTask = subject.getWarning();
// logger.info("开始推送Email消息:" + subject.getName());
List<Contact> contacts = warningTask.getContacts();
/**
* 获取所有联系人
*/
Set<String> emailSet = contacts.stream().filter(contact -> Contact.Type.EMAIL.equals(contact.getType())).map(contact -> contact.getAccount()).collect(Collectors.toSet());
logger.info("开始推送Email消息:" + subject.getName() + emailSet.toString());
if (emailSet.size() > 0) {
/**
*先保存预警日志,否则下面warningLog.getId()取到的日志Id总为0,保存日志的时候,不要调用save
*/
// 发送邮件
SenderFactory emailSenderFactory = new EmailSenderFactory();
Sender emailSender = emailSenderFactory.create();
String[] emails = {};
emails = emailSet.toArray(emails);
try {
WarningEmailBody warningEmailBody = new WarningEmailBody();
warningEmailBody.setContent(page.getContent());
warningEmailBody.setSpecialNumber(String.valueOf(page.getTotalElements()));
warningEmailBody.setSpecialName(subject.getName());
User user = userManager.findById(subject.getUserId());
warningEmailBody.setUser(user.getFullName() == null ? user.getUsername() : user.getFullName());
// warningEmailBody.setSubject("");
warningEmailBody.setSpecialUrl(warningEmailSetting.getSubjectUrl() + subject.getId());
warningEmailBody.setWarningLogUrl(warningEmailSetting.getLogUrl() + wangningLogId);
WarningEmail warningEmail = new WarningEmail().create(emails, warningEmailBody);
emailSender.send(warningEmail);
// 更新上次预警时间
warningTask.setLastWarningDate(new Date());
warningManager.save(warningTask);
} catch (IOException | TemplateException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Aggregations