新增用户名查询openId功能,优化发送邮件,发送公告

master
gaojie 2019-05-31 16:13:59 +08:00
parent 21682ab4a6
commit 7213bd6d8b
11 changed files with 250 additions and 20 deletions

View File

@ -68,15 +68,15 @@ public class MailController {
public @ResponseBody
int sendSysMail(HttpSession session, HttpServletRequest request) throws Exception {
HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
int serverId = Integer.parseInt(parameterMap.get("serverId"));
if (0 == serverId) {
String serverIds = parameterMap.get("serverId");
if (serverIds.equals("0")) {
List<ServerInfo> allServerInfo = serverInfoDao.getAllServerInfo();
for (ServerInfo serverInfo : allServerInfo) {
String reward = JsonUtil.getInstence().getReward(request);
if (Integer.parseInt(parameterMap.get("isAttach")) == 1 && reward.isEmpty()) {
return 1;
}
serverId = serverInfo.getServer_id();
int serverId = serverInfo.getServer_id();
if(serverId == 10000) {
continue;
}
@ -87,12 +87,19 @@ public class MailController {
mailDao.sendSystem(serverId, sysMail);
}
} else {
String reward = JsonUtil.getInstence().getReward(request);
if (Integer.parseInt(parameterMap.get("isAttach")) == 1 && reward.isEmpty()) {
return 2;
String[] split = serverIds.split(",");
for (String str:split){
String reward = JsonUtil.getInstence().getReward(request);
if (Integer.parseInt(parameterMap.get("isAttach")) == 1 && reward.isEmpty()) {
return 2;
}
ServerInfo serverinfo = serverInfoDao.getServerinfo(Integer.parseInt(str));
if (serverinfo == null){
continue;
}
SysMail sysMail = getSysMail(parameterMap, reward);
mailDao.sendSystem(Integer.parseInt(str), sysMail);
}
SysMail sysMail = getSysMail(parameterMap, reward);
mailDao.sendSystem(serverId, sysMail);
}
return 0;
}

View File

@ -4,6 +4,7 @@ import com.jmfy.dao.NoticeDao;
import com.jmfy.dao.ServerInfoDao;
import com.jmfy.model.CNotice;
import com.jmfy.model.ServerInfo;
import com.jmfy.model.SysMail;
import com.jmfy.utils.JsonUtil;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@ -25,23 +26,56 @@ import java.util.List;
public class NoticeController {
@Resource
private NoticeDao noticeDao;
@Resource
private ServerInfoDao serverInfoDao;
@RequestMapping(value = "/sendNotice", method = {RequestMethod.POST, RequestMethod.GET})
public @ResponseBody int getSendMail(HttpSession session, HttpServletRequest request){
public @ResponseBody int sendNotice(HttpSession session, HttpServletRequest request) throws Exception {
String plat = request.getParameter("plat");
CNotice cNotice = getCNotice(request);
try {
noticeDao.sendSnotice(cNotice,plat);
} catch (Exception e) {
e.printStackTrace();
return 1;
List<ServerInfo> allServerInfo = serverInfoDao.getAllServerInfo();
String serveIds = request.getParameter("serverId");
if (serveIds.equals("0")){//登录前全服公告
CNotice cNotice = getCNotice(request, String.valueOf(serveIds));
try {
noticeDao.sendSnotice(cNotice,plat);
} catch (Exception e) {
e.printStackTrace();
return 1;
}
}else if (serveIds.equals("-1")){ //全服公告
for (ServerInfo serverInfo : allServerInfo) {
int serverId = serverInfo.getServer_id();
if(serverId == 10000) {
continue;
}
if (serverInfo.getIsWhite() == 1){
continue;
}
CNotice cNotice = getCNotice(request, String.valueOf(serverId));
try {
noticeDao.sendSnotice(cNotice,plat);
} catch (Exception e) {
e.printStackTrace();
return 1;
}
}
}else{ // 发送指定服务器公告
String[] split = serveIds.split(",");
for (String str :split){
CNotice cNotice = getCNotice(request, String.valueOf(str));
try {
noticeDao.sendSnotice(cNotice,plat);
} catch (Exception e) {
e.printStackTrace();
return 1;
}
}
}
return 0;
}
private CNotice getCNotice(HttpServletRequest request) {
private CNotice getCNotice(HttpServletRequest request,String serverId) {
HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
String serverId = parameterMap.get("serverId");
String contentType = parameterMap.get("contentType");
String popType = parameterMap.get("popType");
String outline = parameterMap.get("outline");

View File

@ -61,8 +61,27 @@ public class UserInfoController {
return "roleList";
}
@RequestMapping(value = "/getUserInfoByName", method = {RequestMethod.POST, RequestMethod.GET})
public String getUserInfoByName(HttpSession session, ModelMap map, HttpServletRequest request) throws Exception {
HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
int serverId = Integer.parseInt(parameterMap.get("serverId"));
String userName = parameterMap.get("userName");
List<RoleVo> roleVos = new ArrayList<>();
CUser cUser = userInfoDao.findCuserByName(serverId, userName);
if (cUser != null) {
CUserInfo cUserInfo = userInfoDao.findUserInfoByUserId(cUser.getId());
RoleVo roleVo = new RoleVo();
roleVo.setUserName(cUser.getUserName());
roleVo.setUserId(cUser.getId());
roleVo.setOpenId(cUserInfo.getOpenId());
roleVo.setServerId(cUserInfo.getServerid());
roleVos.add(roleVo);
}
map.put("RoleVos", roleVos);
return "roleList1";
}
@RequestMapping(value = "/getUserInfo", method = {RequestMethod.POST, RequestMethod.GET})
public String getSendMail(HttpSession session, ModelMap map , HttpServletRequest request) throws Exception {
public String getUserInfo(HttpSession session, ModelMap map , HttpServletRequest request) throws Exception {
HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
int serverId = Integer.parseInt(parameterMap.get("serverId"));
String openId = parameterMap.get("userId");

View File

@ -31,4 +31,7 @@ public interface UserInfoDao {
List<CUserInfo> findRoleList(String userId) throws Exception;
void updateStatus(Update update, CUserInfo cUserInfo) throws Exception;
CUser findCuserByName(int serverId, String userName) throws Exception;
}

View File

@ -130,4 +130,13 @@ public class UserInfoDaoImpl implements UserInfoDao {
Query query = new Query(Criteria.where("_id").is(userinfo.getId()));
mongoTemplate.updateMulti(query, update, CUserInfo.class);
}
@Override
public CUser findCuserByName(int serverId, String userName) throws Exception {
String dbName = MongoName.getMongoDBName(serverId);
MongoTemplate mongoTemplate = connect.getMongoTemplete( dbName);
Query query = new Query(Criteria.where("userName").is(userName));
return mongoTemplate.findOne(query, CUser.class);
}
}

View File

@ -12,6 +12,8 @@ public class RoleVo implements java.io.Serializable {
public float save_amt; //目前儲值
public String openId; // 账号id
public void setUserId(int userId) {
this.userId = userId;
}
@ -31,4 +33,8 @@ public class RoleVo implements java.io.Serializable {
public void setSave_amt(float save_amt) {
this.save_amt = save_amt;
}
public void setOpenId(String openId) {
this.openId = openId;
}
}

View File

@ -0,0 +1,79 @@
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="renderer" content="webkit|ie-comp|ie-stand">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<!--[if lt IE 9]>
<script type="text/javascript" src="../lib/html5shiv.js"></script>
<script type="text/javascript" src="../lib/respond.min.js"></script>
<![endif]-->
<link rel="stylesheet" type="text/css" href="../static/h-ui/css/H-ui.min.css" />
<link rel="stylesheet" type="text/css" href="../static/h-ui.admin/css/H-ui.admin.css" />
<link rel="stylesheet" type="text/css" href="../lib/Hui-iconfont/1.0.8/iconfont.css" />
<link rel="stylesheet" type="text/css" href="../static/h-ui.admin/skin/default/skin.css" id="skin" />
<link rel="stylesheet" type="text/css" href="../static/h-ui.admin/css/style.css" />
<!--[if IE 6]>
<script type="text/javascript" src="../lib/DD_belatedPNG_0.0.8a-min.js" ></script>
<script>DD_belatedPNG.fix('*');</script>
<![endif]-->
<title>個人信息查询</title>
</head>
<body>
<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 個人信息管理 <span class="c-gray en">&gt;</span> 個人信息查询 <a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a></nav>
<div class="page-container" style="text-align: center">
<h1><span style="color: red">查询个人账号信息</span></h1>
<form class="form form-horizontal" id="form-article-add" action="/getUserInfoByName" method="post" onsubmit="return getUserInfo()">
<div class="row cl">
<label class="form-label col-xs-4 col-sm-2">
<span class="c-red">*</span>
服务器id</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="text" name="serverId" placeholder="" value="" class="input-text"/>
<span class="SERVERID"></span>
</div>
</div>
<div class="row cl">
<label class="form-label col-xs-4 col-sm-2">
<span class="c-red">*</span>
用户名称:</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="text" name="userName" placeholder="" value="" class="input-text"/>
<span class="USERID"></span>
</div>
</div>
<div class="row cl" style="text-align: center" >
<div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-2">
<button class="btn btn-primary radius" type="submit" style="font-size: 15px"><i class="Hui-iconfont">&#xe665;</i> 个人信息查询</button>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="../lib/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="../lib/layer/2.4/layer.js"></script>
<script type="text/javascript" src="../static/h-ui/js/H-ui.min.js"></script>
<script type="text/javascript" src="../static/h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
<script type="text/javascript" src="../lib/datatables/1.10.0/jquery.dataTables.min.js"></script>
<script type="text/javascript">
function getUserInfo() {
var serverId = $("input[name='serverId']").val();
var userId = $("input[name='userName']").val();
var erroCode = $('.SERVERID');
if (serverId === '' || serverId == null) {
erroCode.html('<span style="color: red; ">服务器id不能为空!</span>');
return false;
}
if (userId === '' || userId == null) {
erroCode = $('.USERID');
erroCode.html('<span style="color: red; ">用户id不能为空!</span>');
return false;
}
return true
}
</script>
</body>
</html>

View File

@ -45,7 +45,7 @@
<span class="c-red">*</span>
服务器id</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="text" name="serverId" placeholder="服务器id, 登录前公告id为0" value="" class="input-text"/>
<input type="text" name="serverId" placeholder="服务器id, 登录前公告id为0 全服公告:-1 指定服务器公告:服务器id,服务器id....." value="" class="input-text"/>
<span class="SERVERID"></span>
</div>
</div>

View File

@ -46,7 +46,7 @@
<span class="c-red">*</span>
服务器id</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="text" name="serverId" placeholder="单服邮件填写服务器id,全服邮件服务器id为0" value="" class="input-text"/>
<input type="text" name="serverId" placeholder="指定多个服务器: 服务器id,服务器id...,全服邮件服务器id为0" value="" class="input-text"/>
<span class="SERVERID"></span>
</div>
</div>

View File

@ -160,6 +160,7 @@
<ul>
<li><a data-href="/html/getuserInfo.html" data-title="個人信息查询" href="javascript:;">個人信息查询</a></li>
<li><a data-href="/html/getRole.html" data-title="账号角色查询" href="javascript:;">账号角色查询</a></li>
<li><a data-href="/html/getRoleByName.html" data-title="账号角色查询" href="javascript:;">角色名查询</a></li>
</ul>
</dd>
</dl>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8"/>
<meta name="renderer" content="webkit|ie-comp|ie-stand"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<meta http-equiv="Cache-Control" content="no-siteapp"/>
<script type="text/javascript" src="lib/html5shiv.js"></script>
<script type="text/javascript" src="lib/respond.min.js"></script>
<![endif]-->
<link rel="stylesheet" type="text/css" href="h-ui/css/H-ui.min.css"/>
<link rel="stylesheet" type="text/css" href="h-ui.admin/css/H-ui.admin.css"/>
<link rel="stylesheet" type="text/css" href="lib/Hui-iconfont/1.0.8/iconfont.css"/>
<link rel="stylesheet" type="text/css" href="h-ui.admin/skin/default/skin.css" id="skin"/>
<link rel="stylesheet" type="text/css" href="h-ui.admin/css/style.css"/>
<script type="text/javascript" src="lib/DD_belatedPNG_0.0.8a-min.js"></script>
<script>DD_belatedPNG.fix('*');</script>
<title>账号角色信息</title>
</head>
<body>
<nav class="breadcrumb">
<a href="javascript:;" onclick="history.go(-1)"><i class="Hui-iconfont">&#xe67f;</i> 首页</a>
<span class="c-gray en">&gt;</span> 個人信息管理
<span class="c-gray en">&gt;</span> 查询账号角色
</nav>
<div class="page-container" style="text-align: center">
<h2><span style="color:red;">账号角色信息</span></h2>
<div class="text-c">
<div class="mt-20">
<table class="table table-border table-bordered table-bg table-hover table-sort table-responsive">
<thead>
<tr class="text-c">
<!--<th width="25"><input type="checkbox" name="" value=""/></th>-->
<th width="200">角色ID</th>
<th width="200">所在服务器ID</th>
<th width="200">角色名字</th>
<th width="200">账号ID</th>
</tr>
</thead>
<tr th:each="obj:${RoleVos}">
<td th:text="${obj.userId}" style="text-align: center;"></td>
<td th:text="${obj.serverId}" style="text-align: center;"></td>
<td th:text="${obj.userName}" style="text-align: center;"></td>
<td th:text="${obj.openId}" style="text-align: center;"></td>
</tr>
</table>
</div>
</div>
<!--_footer 作为公共模版分离出去-->
<script type="text/javascript" src="lib/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="lib/layer/2.4/layer.js"></script>
<script type="text/javascript" src="h-ui/js/H-ui.min.js"></script>
<script type="text/javascript" src="h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
<!--请在下方写此页面业务相关的脚本-->
<script type="text/javascript" src="lib/My97DatePicker/4.8/WdatePicker.js"></script>
<script type="text/javascript" src="lib/datatables/1.10.0/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="lib/laypage/1.2/laypage.js"></script>
<script type="text/javascript">
$('.table-sort').dataTable({
"aaSorting": [[ 1, "desc" ]],//默认第几个排序
"bStateSave": true,//状态保存
"pading":false,
"aoColumnDefs": [
//{"bVisible": false, "aTargets": [ 3 ]} //控制列的隐藏显示
{"orderable":false,"aTargets":[0,0]}// 不参与排序的列
]
});
</script>
</body>
</html>