diff --git a/src/main/java/com/jmfy/controller/GuildController.java b/src/main/java/com/jmfy/controller/GuildController.java new file mode 100644 index 0000000..603abc0 --- /dev/null +++ b/src/main/java/com/jmfy/controller/GuildController.java @@ -0,0 +1,82 @@ +package com.jmfy.controller; + +import com.jmfy.WebSecurityConfig; +import com.jmfy.dao.CUserDao; +import com.jmfy.dao.GsGuildDao; +import com.jmfy.dao.ServerInfoDao; +import com.jmfy.model.CAdmin; +import com.jmfy.model.GsGuildInfoBean; +import com.jmfy.model.ServerInfo; +import com.jmfy.model.vo.PowersEnum; +import com.jmfy.utils.JsonUtil; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +/** + * @Author hj + * @Date 2021/5/20 10:13 + * @Description: 公会 + * @Version 1.0 + */ +@Controller +public class GuildController { + + @Resource + private GsGuildDao gsGuildDao; + @Resource + private ServerInfoDao serverInfoDao; + @Resource + private CUserDao cUserDao; + + /*** + * 公会列表管理界面 + * @param map + * @return + */ + @RequestMapping(value = "/guildListManager",method = {RequestMethod.POST, RequestMethod.GET}) + public String guildListManager(ModelMap map){ + try { + ArrayList guildList = new ArrayList<>(); + + List serverInfo = serverInfoDao.getAllServerInfo(); + for (ServerInfo info : serverInfo) { + List beans = gsGuildDao.getGuildList(Integer.parseInt(info.getServer_id())); + guildList.addAll(beans); + } + map.addAttribute("guildList",guildList); + } + catch (Exception e) { + e.printStackTrace(); + } + return "guildListManager"; + } + + @RequestMapping(value = "/updateGuildInfo",method = {RequestMethod.POST, RequestMethod.GET}) + public @ResponseBody + int updateGuildInfo(HttpServletRequest request) throws Exception { + String userName = (String) request.getSession().getAttribute(WebSecurityConfig.SESSION_KEY); + // 权限查询 + CAdmin admin = cUserDao.findAdmin(userName); + if (!admin.getPowers().contains(PowersEnum.GUILD_OPERATE_PERMISSIONS.getId())){ + return 3; + } + + HashMap parameterMap = JsonUtil.getInstence().getParameterMap(request); + // 参数 + int guildId = Integer.valueOf(parameterMap.get("guildId")); + int type = Integer.valueOf(parameterMap.get("type")); + + + return 1; + } + +} diff --git a/src/main/java/com/jmfy/dao/GsGuildDao.java b/src/main/java/com/jmfy/dao/GsGuildDao.java new file mode 100644 index 0000000..203f523 --- /dev/null +++ b/src/main/java/com/jmfy/dao/GsGuildDao.java @@ -0,0 +1,40 @@ +package com.jmfy.dao; + +import com.jmfy.model.GsGuildInfoBean; + +import java.util.List; + +/** + * @Author hj + * @Date 2021/5/20 10:32 + * @Description: + * @Version 1.0 + */ +public interface GsGuildDao { + + /** + * 获取公会列表 + * @return + * @param serverId + * @throws Exception + */ + List getGuildList(int serverId) throws Exception; + + /** + * 查找单个公会 + * @param serverId + * @param guildId + * @return + * @throws Exception + */ + GsGuildInfoBean findGuildInfo(int serverId, int guildId) throws Exception; + + /** + * 修改公会信息 + * @param serverId + * @param guildInfoBean + * @throws Exception + */ + void updateGuildInfo(int serverId, GsGuildInfoBean guildInfoBean) throws Exception; + +} diff --git a/src/main/java/com/jmfy/dao/impl/GsGuildDaoImpl.java b/src/main/java/com/jmfy/dao/impl/GsGuildDaoImpl.java new file mode 100644 index 0000000..42abf4a --- /dev/null +++ b/src/main/java/com/jmfy/dao/impl/GsGuildDaoImpl.java @@ -0,0 +1,46 @@ +package com.jmfy.dao.impl; + +import com.jmfy.dao.GsGuildDao; +import com.jmfy.model.GsGuildInfoBean; +import com.jmfy.utils.Connect; +import com.jmfy.utils.MongoName; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author hj + * @Date 2021/5/20 10:48 + * @Description: + * @Version 1.0 + */ +public class GsGuildDaoImpl implements GsGuildDao { + + @Resource + private Connect connect; + + @Override + public List getGuildList(int serverId) throws Exception { + String dbName = MongoName.getMongoDBName(serverId); + MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName); + Query query = new Query(); + return mongoTemplate.find(query, GsGuildInfoBean.class); + } + + @Override + public GsGuildInfoBean findGuildInfo(int serverId, int guildId) throws Exception { + String dbName = MongoName.getMongoDBName(serverId); + MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName); + Query query = new Query(Criteria.where("_id").is(guildId)); + return mongoTemplate.findOne(query, GsGuildInfoBean.class); + } + + @Override + public void updateGuildInfo(int serverId, GsGuildInfoBean guildInfoBean) throws Exception { + + } + +} diff --git a/src/main/java/com/jmfy/model/GsGuilidManagerBean.java b/src/main/java/com/jmfy/model/GsGuildManagerBean.java similarity index 80% rename from src/main/java/com/jmfy/model/GsGuilidManagerBean.java rename to src/main/java/com/jmfy/model/GsGuildManagerBean.java index 99941d1..36f45f5 100644 --- a/src/main/java/com/jmfy/model/GsGuilidManagerBean.java +++ b/src/main/java/com/jmfy/model/GsGuildManagerBean.java @@ -2,7 +2,7 @@ package com.jmfy.model; import java.util.*; -public class GsGuilidManagerBean { +public class GsGuildManagerBean { public static Map guildInfoMap = new HashMap<>(); public static Map guildNameInfoMap = new HashMap<>(); @@ -13,7 +13,7 @@ public class GsGuilidManagerBean { } public static void setGuildInfoMap(Map guildInfoMap) { - GsGuilidManagerBean.guildInfoMap = guildInfoMap; + GsGuildManagerBean.guildInfoMap = guildInfoMap; } public static Map getGuildNameInfoMap() { @@ -21,7 +21,7 @@ public class GsGuilidManagerBean { } public static void setGuildNameInfoMap(Map guildNameInfoMap) { - GsGuilidManagerBean.guildNameInfoMap = guildNameInfoMap; + GsGuildManagerBean.guildNameInfoMap = guildNameInfoMap; } public static Map> getGuildLogInfoMap() { @@ -29,6 +29,6 @@ public class GsGuilidManagerBean { } public static void setGuildLogInfoMap(Map> guildLogInfoMap) { - GsGuilidManagerBean.guildLogInfoMap = guildLogInfoMap; + GsGuildManagerBean.guildLogInfoMap = guildLogInfoMap; } } diff --git a/src/main/java/com/jmfy/model/vo/PowersEnum.java b/src/main/java/com/jmfy/model/vo/PowersEnum.java index 87971cb..b180ecb 100644 --- a/src/main/java/com/jmfy/model/vo/PowersEnum.java +++ b/src/main/java/com/jmfy/model/vo/PowersEnum.java @@ -39,6 +39,8 @@ public enum PowersEnum { PACKAGE_NAME_MANAGER(410,"频道管理",400), ADD_PACKAGE_NAME(411,"权限: 添加频道",400), DELETE_PACKAGE_NAME(412,"权限: 删除频道",400), + GUILD_LIST_MANAGER(413,"公会列表管理",400), + GUILD_OPERATE_PERMISSIONS(414,"权限: 操作公会",400), // 流水日志管理500-599 BILL_LOG(500,"流水日志管理",500), diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 8c5f082..65eab33 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -130,6 +130,8 @@ href="javascript:;">添加白名单账号英雄
  • 频道管理
  • +
  • 公会列表管理