wangjiayao #1

Closed
pfvaqhn2p wants to merge 1 commits from branch-wangjiayao into develop

@ -4,7 +4,6 @@ import com.rabbiter.association.service.ActiveLogsService;
import com.rabbiter.association.service.UsersService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@ -24,8 +23,7 @@ import java.util.List;
import java.util.Map;
/**
*
*
*
*/
@Controller
@RequestMapping("/activeLogs")
@ -34,86 +32,119 @@ public class ActiveLogsController extends BaseController {
protected static final Logger Log = LoggerFactory.getLogger(ActiveLogsController.class);
@Autowired
private CacheHandle cacheHandle;
private CacheHandle cacheHandle; // 注入缓存处理类
@Autowired
private UsersService usersService;
private UsersService usersService; // 注入用户服务类
@Autowired
private ActiveLogsService activeLogsService;
private ActiveLogsService activeLogsService; // 注入报名记录服务类
/**
*
* <p></p>
*/
@RequestMapping("")
public String index() {
return "pages/ActiveLogs";
return "pages/ActiveLogs"; // 返回报名记录页面的视图名称
}
/**
*
* <p>HTTP GETID</p>
*
* @param id ID
* @return
*/
@GetMapping("/info")
@ResponseBody
public R getInfo(String id) {
Log.info("查找指定报名记录ID{}", id); // 记录日志
Log.info("查找指定报名记录ID{}", id);
ActiveLogs activeLogs = activeLogsService.getOne(id); // 通过ID获取报名记录
ActiveLogs activeLogs = activeLogsService.getOne(id);
return R.successData(activeLogs);
return R.successData(activeLogs); // 返回成功响应,包含报名记录信息
}
/**
*
* <p>HTTP GETID</p>
*
* @param activeId ID
* @return
*/
@GetMapping("/list")
@ResponseBody
public R getList(String activeId) {
Log.info("获取指定活动的报名记录活动ID{}", activeId); // 记录日志
Log.info("获取指定活动的报名记录活动ID{}", activeId);
List<Map<String, Object>> list = activeLogsService.getListByActiveId(activeId);
List<Map<String, Object>> list = activeLogsService.getListByActiveId(activeId); // 通过活动ID获取报名记录列表
return R.successData(list);
return R.successData(list); // 返回成功响应,包含报名记录列表
}
/**
*
* <p>HTTP POST</p>
*
* @param token token
* @param activeLogs
* @return
*/
@PostMapping("/add")
@ResponseBody
public R addInfo(String token, ActiveLogs activeLogs) {
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); // 通过token获取用户信息
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token));
if (activeLogsService.isActive(activeLogs.getActiveId(), user.getId())) { // 检查用户是否已参与活动
if(activeLogsService.isActive(activeLogs.getActiveId(), user.getId())){
activeLogs.setId(IDUtils.makeIDByCurrent()); // 生成报名记录ID
activeLogs.setUserId(user.getId()); // 设置报名用户ID
activeLogs.setCreateTime(DateUtils.getNowDate()); // 设置报名时间
activeLogs.setId(IDUtils.makeIDByCurrent());
activeLogs.setUserId(user.getId());
activeLogs.setCreateTime(DateUtils.getNowDate());
Log.info("添加报名记录,传入参数:{}", activeLogs); // 记录日志
Log.info("添加报名记录,传入参数:{}", activeLogs);
activeLogsService.add(activeLogs); // 添加报名记录
activeLogsService.add(activeLogs);
return R.success();
}else{
return R.warn("该活动您已参与,请勿重复报名");
return R.success(); // 返回成功响应
} else {
return R.warn("该活动您已参与,请勿重复报名"); // 返回警告响应,提示用户已参与活动
}
}
/**
*
* <p>HTTP POST</p>
*
* @param activeLogs
* @return
*/
@PostMapping("/upd")
@ResponseBody
public R updInfo(ActiveLogs activeLogs) {
Log.info("修改报名记录,传入参数:{}", activeLogs); // 记录日志
Log.info("修改报名记录,传入参数:{}", activeLogs);
activeLogsService.update(activeLogs); // 更新报名记录
activeLogsService.update(activeLogs);
return R.success();
return R.success(); // 返回成功响应
}
/**
*
* <p>HTTP POSTID</p>
*
* @param id ID
* @return
*/
@PostMapping("/del")
@ResponseBody
public R delInfo(String id) {
Log.info("删除报名记录, ID:{}", id); // 记录日志
Log.info("删除报名记录, ID:{}", id);
ActiveLogs activeLogs = activeLogsService.getOne(id);
ActiveLogs activeLogs = activeLogsService.getOne(id); // 通过ID获取报名记录
activeLogsService.delete(activeLogs);
activeLogsService.delete(activeLogs); // 删除报名记录
return R.success();
return R.success(); // 返回成功响应
}
}

@ -21,10 +21,7 @@ import com.rabbiter.association.msg.PageData;
import com.rabbiter.association.entity.Activities;
import com.rabbiter.association.service.ActivitiesService;
/**
*
*
*/
@Controller
@RequestMapping("/activities")
public class ActivitiesController extends BaseController {

@ -4,7 +4,6 @@ import com.rabbiter.association.service.ApplyLogsService;
import com.rabbiter.association.service.UsersService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.ObjectUtils;
@ -23,8 +22,7 @@ import com.rabbiter.association.msg.PageData;
import com.rabbiter.association.entity.ApplyLogs;
/**
*
*
*
*/
@Controller
@RequestMapping("/applyLogs")
@ -33,31 +31,51 @@ public class ApplyLogsController extends BaseController {
protected static final Logger Log = LoggerFactory.getLogger(ApplyLogsController.class);
@Autowired
private CacheHandle cacheHandle;
private CacheHandle cacheHandle; // 注入缓存处理类
@Autowired
private UsersService usersService;
private UsersService usersService; // 注入用户服务类
@Autowired
private ApplyLogsService applyLogsService;
private ApplyLogsService applyLogsService; // 注入申请记录服务类
/**
*
* <p></p>
*/
@RequestMapping("")
public String index() {
return "pages/ApplyLogs";
return "pages/ApplyLogs"; // 返回申请记录页面的视图名称
}
/**
*
* <p>HTTP GETID</p>
*
* @param id ID
* @return
*/
@GetMapping("/info")
@ResponseBody
public R getInfo(String id) {
Log.info("查找指定申请记录ID{}", id); // 记录日志
Log.info("查找指定申请记录ID{}", id);
ApplyLogs applyLogs = applyLogsService.getOne(id);
ApplyLogs applyLogs = applyLogsService.getOne(id); // 通过ID获取申请记录
return R.successData(applyLogs);
return R.successData(applyLogs); // 返回成功响应,包含申请记录信息
}
/**
*
* <p></p>
*
* @param pageIndex
* @param pageSize
* @param token token
* @param teamName
* @param userName
* @return
*/
@GetMapping("/page")
@ResponseBody
public R getPageInfos(Long pageIndex, Long pageSize,
@ -99,50 +117,68 @@ public class ApplyLogsController extends BaseController {
}
}
/**
*
* <p>HTTP POST</p>
*
* @param token token
* @param applyLogs
* @return
*/
@PostMapping("/add")
@ResponseBody
public R addInfo(String token, ApplyLogs applyLogs) {
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); // 通过token获取用户信息
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token));
if(applyLogsService.isApply(user.getId(), applyLogs.getTeamId())){
if(applyLogsService.isApply(user.getId(), applyLogs.getTeamId())) { // 检查用户是否已提交申请
applyLogs.setId(IDUtils.makeIDByCurrent());
applyLogs.setUserId(user.getId());
applyLogs.setCreateTime(DateUtils.getNowDate());
applyLogs.setId(IDUtils.makeIDByCurrent()); // 生成申请记录ID
applyLogs.setUserId(user.getId()); // 设置申请用户ID
applyLogs.setCreateTime(DateUtils.getNowDate()); // 设置申请时间
Log.info("添加申请记录,传入参数:{}", applyLogs);
Log.info("添加申请记录,传入参数:{}", applyLogs); // 记录日志
applyLogsService.add(applyLogs);
applyLogsService.add(applyLogs); // 添加申请记录
return R.success();
}else{
return R.warn("申请审核中,请耐心等待");
return R.success(); // 返回成功响应
} else {
return R.warn("申请审核中,请耐心等待"); // 返回警告响应,提示申请审核中
}
}
/**
*
* <p>HTTP POST</p>
*
* @param applyLogs
* @return
*/
@PostMapping("/upd")
@ResponseBody
public R updInfo(ApplyLogs applyLogs) {
Log.info("修改申请记录,传入参数:{}", applyLogs); // 记录日志
Log.info("修改申请记录,传入参数:{}", applyLogs);
applyLogsService.update(applyLogs); // 更新申请记录
applyLogsService.update(applyLogs);
return R.success();
return R.success(); // 返回成功响应
}
/**
*
* <p>HTTP POSTID</p>
*
* @param id ID
* @return
*/
@PostMapping("/del")
@ResponseBody
public R delInfo(String id) {
Log.info("删除申请记录, ID:{}", id); // 记录日志
Log.info("删除申请记录, ID:{}", id);
ApplyLogs applyLogs = applyLogsService.getOne(id);
ApplyLogs applyLogs = applyLogsService.getOne(id); // 通过ID获取申请记录
applyLogsService.delete(applyLogs);
applyLogsService.delete(applyLogs); // 删除申请记录
return R.success();
return R.success(); // 返回成功响应
}
}

@ -18,6 +18,9 @@ import com.rabbiter.association.utils.IDUtils;
import javax.servlet.http.HttpSession;
import java.util.List;
/**
*
*/
@Controller
@RequestMapping("/")
public class IndexController extends BaseController {
@ -25,125 +28,156 @@ public class IndexController extends BaseController {
private static final Logger Log = LoggerFactory.getLogger(IndexController.class);
@Autowired
private UsersService usersService;
private UsersService usersService; // 注入用户服务类
@Autowired
private CacheHandle cacheHandle;
private CacheHandle cacheHandle; // 注入缓存处理类
@Autowired
private NoticesService noticesService;
private NoticesService noticesService; // 注入通知服务类
/**
*
* <p></p>
*
* @param token token
* @return
*/
@GetMapping("/sys/notices")
@ResponseBody
public R getNoticeList(String token){
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token));
if(ObjectUtils.isEmpty(user)) {
return R.error("登录信息不存在,请重新登录");
public R getNoticeList(String token) {
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); // 通过token获取用户信息
if (ObjectUtils.isEmpty(user)) { // 检查用户信息是否存在
return R.error("登录信息不存在,请重新登录"); // 用户信息不存在时返回错误响应
}
if(user.getType() == 0){
List<Notices> list = noticesService.getSysNotices();
return R.successData(list);
}else if(user.getType() == 1){
List<Notices> list = noticesService.getManNotices(user.getId());
return R.successData(list);
}else{
List<Notices> list = noticesService.getMemNotices(user.getId());
return R.successData(list);
// 根据用户类型获取通知列表
List<Notices> list;
if (user.getType() == 0) {
list = noticesService.getSysNotices(); // 系统通知
} else if (user.getType() == 1) {
list = noticesService.getManNotices(user.getId()); // 团队管理员通知
} else {
list = noticesService.getMemNotices(user.getId()); // 普通成员通知
}
return R.successData(list); // 返回成功响应,包含通知列表
}
/**
*
* <p></p>
*
* @param userName
* @param passWord
* @param session HttpSession
* @return
*/
@PostMapping("/login")
@ResponseBody
public R login(String userName, String passWord, HttpSession session){
Log.info("用户登录,用户名:{} 用户密码:{}", userName, passWord);
Users user = usersService.getUserByUserName(userName);
if(user == null) {
public R login(String userName, String passWord, HttpSession session) {
Log.info("用户登录,用户名:{} 用户密码:{}", userName, passWord); // 记录日志
return R.error("输入的用户名不存在");
}else {
Users user = usersService.getUserByUserName(userName); // 根据用户名获取用户信息
if(passWord.equals(user.getPassWord().trim())) {
if (user == null) {
return R.error("输入的用户名不存在"); // 用户不存在时返回错误响应
} else {
if (passWord.equals(user.getPassWord().trim())) { // 验证密码
String token = IDUtils.makeIDByUUID(); // 生成token
cacheHandle.addUserCache(token, user.getId()); // 将用户信息存储到缓存
String token = IDUtils.makeIDByUUID();
cacheHandle.addUserCache(token, user.getId());
return R.success("登录成功", token);
}else {
return R.error("输入的密码错误");
return R.success("登录成功", token); // 返回成功响应包含token
} else {
return R.error("输入的密码错误"); // 密码错误时返回错误响应
}
}
}
/**
* 退
* <p>退</p>
*
* @param token token
* @return
*/
@RequestMapping("/exit")
@ResponseBody
public R exit(String token) {
Log.info("用户退出系统并移除登录信息"); // 记录日志
Log.info("用户退出系统并移除登录信息");
cacheHandle.removeUserCache(token); // 从缓存中移除用户信息
cacheHandle.removeUserCache(token);
return R.success();
return R.success(); // 返回成功响应
}
/**
*
* <p>token</p>
*
* @param token token
* @return
*/
@GetMapping("/info")
@ResponseBody
public R info(String token){
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token));
public R info(String token) {
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); // 通过token获取用户信息
return R.successData(user);
return R.successData(user); // 返回成功响应,包含用户信息
}
/**
*
* <p></p>
*
* @param user
* @return
*/
@PostMapping("/info")
@ResponseBody
public R info(Users user){
Log.info("修改用户信息,{}", user);
public R info(Users user) {
Log.info("修改用户信息,{}", user); // 记录日志
usersService.update(user);
usersService.update(user); // 更新用户信息
return R.success();
return R.success(); // 返回成功响应
}
/**
*
* <p></p>
*
* @param oldPwd
* @param token token
* @return
*/
@RequestMapping("/checkPwd")
@ResponseBody
public R checkPwd(String oldPwd, String token) {
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); // 通过token获取用户信息
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token));
if(oldPwd.equals(user.getPassWord())) {
return R.success();
}else {
return R.warn("原始密码和输入密码不一致");
if (oldPwd.equals(user.getPassWord())) { // 验证密码
return R.success(); // 密码正确时返回成功响应
} else {
return R.warn("原始密码和输入密码不一致"); // 密码错误时返回警告响应
}
}
/**
*
* <p></p>
*
* @param token token
* @param password
* @return
*/
@PostMapping("/pwd")
@ResponseBody
public R pwd(String token, String password) {
Log.info("修改用户密码,{}", password); // 记录日志
Log.info("修改用户密码,{}", password);
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token));
user.setPassWord(password);
usersService.update(user);
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); // 通过token获取用户信息
user.setPassWord(password); // 设置新密码
usersService.update(user); // 更新用户信息
return R.success();
return R.success(); // 返回成功响应
}
}

@ -21,10 +21,7 @@ import com.rabbiter.association.msg.PageData;
import com.rabbiter.association.entity.Members;
/**
*
*
*/
@Controller
@RequestMapping("/members")
public class

@ -23,10 +23,7 @@ import com.rabbiter.association.entity.Notices;
import com.rabbiter.association.service.NoticesService;
import com.rabbiter.association.utils.StringUtils;
/**
*
*
*/
@Controller
@RequestMapping("/notices")
public class NoticesController extends BaseController {

@ -22,10 +22,7 @@ import com.rabbiter.association.msg.PageData;
import com.rabbiter.association.entity.PayLogs;
/**
*
*
*/
@Controller
@RequestMapping("/payLogs")
public class PayLogsController extends BaseController {

@ -20,10 +20,7 @@ import com.rabbiter.association.entity.TeamTypes;
import java.util.List;
/**
*
*
*/
@Controller
@RequestMapping("/teamTypes")
public class TeamTypesController extends BaseController {

@ -24,10 +24,7 @@ import com.rabbiter.association.entity.Teams;
import java.util.List;
/**
*
*
*/
@Controller
@RequestMapping("/teams")
public class TeamsController extends BaseController {

@ -18,10 +18,7 @@ import com.rabbiter.association.msg.PageData;
import com.rabbiter.association.entity.Users;
/**
*
*
*/
@Controller
@RequestMapping("/users")
public class UsersController extends BaseController {

@ -11,20 +11,12 @@ import com.rabbiter.association.entity.Activities;
import java.util.Map;
/**
*
*
*/
@Repository("activitiesDao")
public interface ActivitiesDao extends BaseMapper<Activities> {
/**
*
* @param page
* @param activeName
* @param teamName
* @return
*/
@Select("<script>" +
"SELECT " +
"a.id, a.name, a.comm, a.detail, a.ask, a.total, " +
@ -45,14 +37,7 @@ public interface ActivitiesDao extends BaseMapper<Activities> {
@Param("activeName") String activeName,
@Param("teamName") String teamName);
/**
*
* @param page
* @param memId ID
* @param activeName
* @param teamName
* @return
*/
@Select("<script>" +
"SELECT " +
"a.id, a.name, a.comm, a.detail, a.ask, a.total, " +

@ -11,20 +11,11 @@ import com.rabbiter.association.entity.Members;
import java.util.Map;
/**
*
*
*/
@Repository("membersDao")
public interface MembersDao extends BaseMapper<Members> {
/**
*
* @param page
* @param teamName
* @param userName
* @return
*/
@Select("<script>" +
"SELECT " +
"m.id, m.create_time createTime, m.team_id teamId, m.user_id userId, " +
@ -45,14 +36,7 @@ public interface MembersDao extends BaseMapper<Members> {
@Param("teamName") String teamName,
@Param("userName") String userName);
/**
* ID
* @param page
* @param manId ID
* @param teamName
* @param userName
* @return
*/
@Select("<script>" +
"SELECT " +
"m.id, m.create_time createTime, m.team_id teamId, m.user_id userId, " +

@ -12,17 +12,11 @@ import com.rabbiter.association.entity.Notices;
import java.util.List;
import java.util.Map;
/**
*
*
*/
@Repository("noticesDao")
public interface NoticesDao extends BaseMapper<Notices> {
/**
*
* @return
*/
@Select("<script>" +
"SELECT " +
"id, title, detail, create_time createTime, team_id teamId " +
@ -32,11 +26,7 @@ public interface NoticesDao extends BaseMapper<Notices> {
"</script>")
public List<Notices> qrySysNotices();
/**
*
* @param manId ID
* @return
*/
@Select("<script>" +
"SELECT " +
"id, title, detail, create_time createTime, team_id teamId " +
@ -46,11 +36,7 @@ public interface NoticesDao extends BaseMapper<Notices> {
"</script>")
public List<Notices> qryManNotices(String manId);
/**
*
* @param memId ID
* @return
*/
@Select("<script>" +
"SELECT " +
"id, title, detail, create_time createTime, team_id teamId " +
@ -60,13 +46,7 @@ public interface NoticesDao extends BaseMapper<Notices> {
"</script>")
public List<Notices> qryMemNotices(String memId);
/**
*
* @param page
* @param title
* @param teamName
* @return
*/
@Select("<script>" +
"SELECT " +
"n.id, n.title, n.detail, n.create_time createTime, n.team_id teamId, t.name teamName " +
@ -85,14 +65,7 @@ public interface NoticesDao extends BaseMapper<Notices> {
@Param("title") String title,
@Param("teamName") String teamName);
/**
*
* @param page
* @param userId ID
* @param title
* @param teamName
* @return
*/
@Select("<script>" +
"SELECT " +
"n.id, n.title, n.detail, n.create_time createTime, n.team_id teamId, t.name teamName " +

@ -11,21 +11,11 @@ import com.rabbiter.association.entity.PayLogs;
import java.util.Map;
/**
*
*
*/
@Repository("payLogsDao")
public interface PayLogsDao extends BaseMapper<PayLogs> {
/**
*
* @param page
* @param userId ID
* @param teamName
* @param userName
* @return
*/
@Select("<script>" +
"SELECT " +
"pl.id, pl.create_time createTime, pl.total, pl.team_id teamId, pl.user_id userId, " +

@ -6,10 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.rabbiter.association.entity.TeamTypes;
/**
*
*
*/
@Repository("teamTypesDao")
public interface TeamTypesDao extends BaseMapper<TeamTypes> {

@ -6,10 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.rabbiter.association.entity.Teams;
/**
*
*
*/
@Repository("teamsDao")
public interface TeamsDao extends BaseMapper<Teams> {

@ -6,10 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.rabbiter.association.entity.Users;
/**
*
*
*/
@Repository("usersDao")
public interface UsersDao extends BaseMapper<Users> {

@ -3,95 +3,115 @@ package com.rabbiter.association.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
*
*
*
* <p>使MyBatis Plus</p>
*/
@TableName(value = "active_logs")
public class ActiveLogs implements Serializable {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L; // 序列化ID用于版本控制
/**
* ID
* ID
*/
@TableId(value = "id")
private String id;
/**
*
/**
* create_time
*/
@TableField(value = "create_time")
private String createTime;
/**
*
/**
* active_id
*/
@TableField(value = "active_id")
private String activeId;
/**
*
/**
* user_id
*/
@TableField(value = "user_id")
private String userId;
public String getId(){
/**
* ID
* @return ID
*/
public String getId() {
return id;
}
public void setId(String id){
/**
* ID
* @param id ID
*/
public void setId(String id) {
this.id = id;
}
public String getCreateTime(){
/**
*
* @return
*/
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime){
/**
*
* @param createTime
*/
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getActiveId(){
/**
*
* @return
*/
public String getActiveId() {
return activeId;
}
public void setActiveId(String activeId){
/**
*
* @param activeId
*/
public void setActiveId(String activeId) {
this.activeId = activeId;
}
public String getUserId(){
/**
* ID
* @return ID
*/
public String getUserId() {
return userId;
}
public void setUserId(String userId){
/**
* ID
* @param userId ID
*/
public void setUserId(String userId) {
this.userId = userId;
}
/**
* toString
* @return
*/
@Override
public String toString() {
return "ActiveLogs [id=" + id
return "ActiveLogs [id=" + id
+ ", createTime=" + createTime
+ ", activeId=" + activeId
+ ", userId=" + userId
+ "]";
}
}

@ -6,60 +6,40 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
*
*
*/
@TableName(value = "activities")
public class Activities implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id")
private String id;
/**
*
*/
@TableField(value = "name")
private String name;
/**
*
*/
@TableField(value = "comm")
private String comm;
/**
*
*/
@TableField(value = "detail")
private String detail;
/**
*
*/
@TableField(value = "ask")
private String ask;
/**
*
*/
@TableField(value = "total")
private Integer total;
/**
*
*/
@TableField(value = "active_time")
private String activeTime;
/**
*
*/
@TableField(value = "team_id")
private String teamId;

@ -3,113 +3,142 @@ package com.rabbiter.association.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
*
*
*
* <p>使MyBatis Plus</p>
*/
@TableName(value = "apply_logs")
public class ApplyLogs implements Serializable {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L; // 序列化ID用于版本控制
/**
* ID
* ID
*/
@TableId(value = "id")
private String id;
/**
*
/**
* status
* <p>0-1-2-</p>
*/
@TableField(value = "status")
private Integer status;
/**
*
/**
* create_time
* <p></p>
*/
@TableField(value = "create_time")
private String createTime;
/**
*
/**
* team_id
* <p>ID</p>
*/
@TableField(value = "team_id")
private String teamId;
/**
*
/**
* user_id
* <p>ID</p>
*/
@TableField(value = "user_id")
private String userId;
public String getId(){
/**
* ID
* @return ID
*/
public String getId() {
return id;
}
public void setId(String id){
/**
* ID
* @param id ID
*/
public void setId(String id) {
this.id = id;
}
public Integer getStatus(){
/**
*
* @return
*/
public Integer getStatus() {
return status;
}
public void setStatus(Integer status){
/**
*
* @param status
*/
public void setStatus(Integer status) {
this.status = status;
}
public String getCreateTime(){
/**
*
* @return
*/
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime){
/**
*
* @param createTime
*/
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getTeamId(){
/**
* ID
* @return ID
*/
public String getTeamId() {
return teamId;
}
public void setTeamId(String teamId){
/**
* ID
* @param teamId ID
*/
public void setTeamId(String teamId) {
this.teamId = teamId;
}
public String getUserId(){
/**
* ID
* @return ID
*/
public String getUserId() {
return userId;
}
public void setUserId(String userId){
/**
* ID
* @param userId ID
*/
public void setUserId(String userId) {
this.userId = userId;
}
/**
* toString
* @return
*/
@Override
public String toString() {
return "ApplyLogs [id=" + id
return "ApplyLogs [id=" + id
+ ", status=" + status
+ ", createTime=" + createTime
+ ", teamId=" + teamId
+ ", userId=" + userId
+ "]";
}
}

@ -6,36 +6,24 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
*
*
*/
@TableName(value = "members")
public class Members implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id")
private String id;
/**
*
*/
@TableField(value = "create_time")
private String createTime;
/**
*
*/
@TableField(value = "team_id")
private String teamId;
/**
*
*/
@TableField(value = "user_id")
private String userId;

@ -6,42 +6,28 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
*
*
*/
@TableName(value = "notices")
public class Notices implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id")
private String id;
/**
*
*/
@TableField(value = "title")
private String title;
/**
*
*/
@TableField(value = "detail")
private String detail;
/**
*
*/
@TableField(value = "create_time")
private String createTime;
/**
*
*/
@TableField(value = "team_id")
private String teamId;

@ -6,42 +6,30 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
*
*
*/
@TableName(value = "pay_logs")
public class PayLogs implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id")
private String id;
/**
*
*/
@TableField(value = "create_time")
private String createTime;
/**
*
*/
@TableField(value = "total")
private Double total;
/**
*
*/
@TableField(value = "team_id")
private String teamId;
/**
*
*/
@TableField(value = "user_id")
private String userId;

@ -6,30 +6,21 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
*
*
*/
@TableName(value = "team_types")
public class TeamTypes implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id")
private String id;
/**
*
*/
@TableField(value = "name")
private String name;
/**
*
*/
@TableField(value = "create_time")
private String createTime;

@ -6,48 +6,33 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
*
*
*/
@TableName(value = "teams")
public class Teams implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id")
private String id;
/**
*
*/
@TableField(value = "name")
private String name;
/**
*
*/
@TableField(value = "create_time")
private String createTime;
/**
*
*/
@TableField(value = "total")
private Integer total;
/**
*
*/
@TableField(value = "manager")
private String manager;
/**
*
*/
@TableField(value = "type_id")
private String typeId;

@ -7,78 +7,53 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
*
*
*/
@TableName(value = "users")
public class Users implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id")
private String id;
/**
*
*/
@TableField(value = "user_name")
private String userName;
/**
*
*/
@TableField(value = "pass_word")
private String passWord;
/**
*
*/
@TableField(value = "name")
private String name;
/**
*
*/
@TableField(value = "gender")
private String gender;
/**
*
*/
@TableField(value = "age")
private Integer age;
/**
*
*/
@TableField(value = "phone")
private String phone;
/**
*
*/
@TableField(value = "address")
private String address;
/**
*
*/
@TableField(value = "status")
private Integer status;
/**
*
*/
@TableField(value = "create_time")
private String createTime;
/**
*
*/
@TableField(value = "type")
private Integer type;

@ -6,61 +6,63 @@ import org.springframework.cache.CacheManager;
import org.springframework.stereotype.Component;
/**
*
*
* <p>Spring@Component@Autowired使CacheManager</p>
*/
@Component("cacheHandle")
public class CacheHandle {
@Autowired
private CacheManager cacheManager;
private CacheManager cacheManager; // 自动注入CacheManager用于操作缓存
private final String USER_KEY = "users";
private final String USER_KEY = "users"; // 缓存名称为"users"
/**
*
* @return
*
* <p>CacheManager"users"</p>
*
* @return Cachenull
*/
public Cache getUserCache(){
public Cache getUserCache() {
Cache cache = cacheManager.getCache(USER_KEY);
return cache;
return cache;
}
/**
*
* @param key token
* @param val
*
* <p>keytoken</p>
*
* @param key token
* @param val
*/
public void addUserCache(String key, Object val) {
Cache cache = getUserCache(); // 获取用户缓存对象
Cache cache = getUserCache();
cache.put(key, val);
cache.put(key, val); // 将用户信息存储到缓存
}
/**
*
* @param key token
*
* <p>keytoken</p>
*
* @param key token
*/
public void removeUserCache(String key){
Cache cache = getUserCache();
cache.evict(key);
public void removeUserCache(String key) {
Cache cache = getUserCache(); // 获取用户缓存对象
cache.evict(key); // 从缓存中移除指定key的用户信息
}
/**
*
* @param key token
* @return
*
* <p>keytoken</p>
*
* @param key token
* @return null
*/
public String getUserInfoCache(String key){
Cache cache = getUserCache();
String userId = cache.get(key, String.class);
public String getUserInfoCache(String key) {
Cache cache = getUserCache(); // 获取用户缓存对象
return userId;
return cache.get(key, String.class); // 从缓存中获取指定key的用户信息
}
}
}

@ -6,31 +6,49 @@ import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
/**
*
* <p>使@ControllerAdvice</p>
*/
@ControllerAdvice
public class GlobalExceptionHandler {
/**
*
* <p>使@ExceptionHandlerException</p>
* <p>@ResponseBody</p>
*
* @param e
* @return HTTPResponseEntity
*/
@ExceptionHandler(value = Exception.class)
@ResponseBody
public ResponseEntity<String> handleException(Exception e) {
// 自定义异常处理逻辑
String message = e.getMessage();
String message = e.getMessage(); // 获取异常消息
if (message.contains("(using password: YES)")) {
// 处理包含特定文本的异常消息,避免敏感信息泄露
if (!message.contains("'root'@'")) {
message = "PU Request failed with status code 500";
} else if (message.contains("'root'@'localhost'")) {
message = "P Request failed with status code 500";
}
} else if(message.contains("Table") && message.contains("doesn't exist")) {
} else if (message.contains("Table") && message.contains("doesn't exist")) {
// 处理数据库表不存在的异常
message = "T Request failed with status code 500";
} else if (message.contains("Unknown database")) {
// 处理未知数据库的异常
message = "U Request failed with status code 500";
} else if (message.contains("edis")) {
// 处理Redis相关的异常
message = "R Request failed with status code 500";
} else if (message.contains("Failed to obtain JDBC Connection")) {
// 处理JDBC连接失败的异常
message = "C Request failed with status code 500";
} else if (message.contains("SQLSyntaxErrorException")) {
// 处理SQL语法错误的异常
message = "S Request failed with status code 500";
}
return new ResponseEntity<>(message, HttpStatus.INTERNAL_SERVER_ERROR);
return new ResponseEntity<>(message, HttpStatus.INTERNAL_SERVER_ERROR); // 返回500错误和自定义消息
}
}
}

@ -1,29 +1,31 @@
package com.rabbiter.association.service;
import com.rabbiter.association.entity.ActiveLogs;
import java.util.List;
import java.util.Map;
/**
*
*
*
* <p>BaseServiceActiveLogs</p>
*/
public interface ActiveLogsService extends BaseService<ActiveLogs, String> {
/**
*
* @param activeId ID
* @param userId ID
* @return
*
* <p></p>
*
* @param activeId ID
* @param userId ID
* @return truefalse
*/
public Boolean isActive(String activeId, String userId);
/**
* ID
* ID
* <p>ID</p>
*
* @param activeId ID
* @return
* @return MapMap
*/
public List<Map<String, Object>> getListByActiveId(String activeId);
}

@ -4,31 +4,14 @@ import com.rabbiter.association.msg.PageData;
import com.rabbiter.association.entity.Activities;
/**
*
*
*/
public interface ActivitiesService extends BaseService<Activities, String> {
/**
*
* @param pageIndex
* @param pageSize
* @param activeName
* @param teamName
* @return
*/
public PageData getPageAll(Long pageIndex, Long pageSize, String activeName, String teamName);
/**
*
* @param pageIndex
* @param pageSize
* @param userId ID
* @param activeName
* @param teamName
* @return
*/
public PageData getPageByUserId(Long pageIndex, Long pageSize, String userId, String activeName, String teamName);
}

@ -1,42 +1,47 @@
package com.rabbiter.association.service;
import com.rabbiter.association.msg.PageData;
import com.rabbiter.association.entity.ApplyLogs;
/**
*
*
*
* <p>BaseServiceApplyLogs</p>
*/
public interface ApplyLogsService extends BaseService<ApplyLogs, String> {
/**
*
*
* <p>IDID</p>
*
* @param userId ID
* @param teamId ID
* @return
* @return truefalse
*/
public Boolean isApply(String userId, String teamId);
/**
*
*
* <p>使</p>
*
* @param pageIndex
* @param pageSize
* @param userId
* @param teamName
* @param userName
* @return
* @return PageData
*/
public PageData getManPageInfo(Long pageIndex, Long pageSize, String userId, String teamName, String userName);
/**
*
*
* <p></p>
*
* @param pageIndex
* @param pageSize
* @param userId
* @param teamName
* @param userName
* @return
* @return PageData
*/
public PageData getPageInfo(Long pageIndex, Long pageSize, String userId, String teamName, String userName);
}

@ -4,38 +4,16 @@ import com.rabbiter.association.msg.PageData;
import com.rabbiter.association.entity.Members;
/**
*
*
*/
public interface MembersService extends BaseService<Members, String> {
/**
*
* @param userId ID
* @param teamId ID
* @return
*/
public Boolean isManager(String teamId, String userId);
/**
*
* @param pageIndex
* @param pageSize
* @param teamName
* @param userName
* @return
*/
public PageData getPageAll(Long pageIndex, Long pageSize, String teamName, String userName);
/**
*
* @param pageIndex
* @param pageSize
* @param manId ID
* @param teamName
* @param userName
* @return
*/
public PageData getPageByManId(Long pageIndex, Long pageSize, String manId, String teamName, String userName);
}

@ -6,50 +6,21 @@ import com.rabbiter.association.entity.Notices;
import java.util.List;
/**
*
*
*/
public interface NoticesService extends BaseService<Notices, String> {
/**
*
* @return
*/
public List<Notices> getSysNotices();
/**
*
* @param manId ID
* @return
*/
public List<Notices> getManNotices(String manId);
/**
*
* @param memId ID
* @return
*/
public List<Notices> getMemNotices(String memId);
/**
*
* @param pageIndex
* @param pageSize
* @param title
* @param teamName
* @return
*/
public PageData getPageAll(Long pageIndex, Long pageSize, String title, String teamName);
/**
*
* @param pageIndex
* @param pageSize
* @param userId ID
* @param title
* @param teamName
* @return
*/
public PageData getPageById(Long pageIndex, Long pageSize, String userId, String title, String teamName);
}

@ -4,31 +4,13 @@ import com.rabbiter.association.msg.PageData;
import com.rabbiter.association.entity.PayLogs;
/**
*
*
*/
public interface PayLogsService extends BaseService<PayLogs, String> {
/**
*
* @param pageIndex
* @param pageSize
* @param userId
* @param teamName
* @param userName
* @return
*/
public PageData getManPageInfo(Long pageIndex, Long pageSize, String userId, String teamName, String userName);
/**
*
* @param pageIndex
* @param pageSize
* @param userId
* @param teamName
* @param userName
* @return
*/
public PageData getPageInfo(Long pageIndex, Long pageSize, String userId, String teamName, String userName);
}

@ -6,32 +6,15 @@ import com.rabbiter.association.entity.TeamTypes;
import java.util.List;
/**
*
*
*/
public interface TeamTypesService extends BaseService<TeamTypes, String> {
/**
*
*
* @param typeId ID
* @return
*/
public Boolean isRemove(String typeId);
/**
*
* @return
*/
public List<TeamTypes> getAll();
/**
*
* @param pageIndex
* @param pageSize
* @param teamTypes
* @return
*/
public PageData getPageInfo(Long pageIndex, Long pageSize, TeamTypes teamTypes);
}

@ -6,32 +6,17 @@ import com.rabbiter.association.entity.Teams;
import java.util.List;
/**
*
*
*/
public interface TeamsService extends BaseService<Teams, String> {
/**
*
* @return
*/
public List<Teams> getAll();
/**
*
* @param manId
* @return
*/
public List<Teams> getListByManId(String manId);
/**
*
* @param pageIndex
* @param pageSize
* @param teams
* @return
*/
public PageData getPageInfo(Long pageIndex, Long pageSize, Teams teams);
Integer addTeams(Teams teams);

@ -5,33 +5,16 @@ import com.rabbiter.association.msg.PageData;
import com.rabbiter.association.entity.Users;
/**
*
*
*/
public interface UsersService extends BaseService<Users, String> {
/**
*
*
* @param userId ID
* @return
*/
public Boolean isRemove(String userId);
/**
*
* @param userName
* @return
*/
public Users getUserByUserName(String userName);
/**
*
* @param pageIndex
* @param pageSize
* @param users
* @return
*/
public PageData getPageInfo(Long pageIndex, Long pageSize, Users users);
}

@ -1,4 +1,5 @@
package com.rabbiter.association.utils;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.ExceptionSorter;
import org.mybatis.spring.annotation.MapperScan;
@ -10,58 +11,75 @@ import java.sql.SQLException;
import java.util.Properties;
/**
* Description
* Author: rabbiter
* Date: 2020/2/26 23:39
* Druid
*
* <p>Author: rabbiter</p>
* <p>Date: 2020/2/26 23:39</p>
**/
@Configuration
public class DataSourceConfiguration {
// 从application.properties或application.yml中注入数据库驱动类名
@Value("${spring.datasource.driver-class-name}")
private String jdbcDriver;
// 从application.properties或application.yml中注入数据库连接URL
@Value("${spring.datasource.url}")
private String jdbcUrl;
// 从application.properties或application.yml中注入数据库用户名
@Value("${spring.datasource.username}")
private String jdbcUsername;
// 从application.properties或application.yml中注入数据库密码
@Value("${spring.datasource.password}")
private String jdbcPassword;
/**
* Druid
*
* @return DruidDataSource
* @throws Exception
**/
@Bean(name="dataSource")
public DruidDataSource createDataSource() throws Exception {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(jdbcDriver);
dataSource.setUrl(jdbcUrl);
dataSource.setUsername(jdbcUsername);
dataSource.setPassword(jdbcPassword);
dataSource.setDriverClassName(jdbcDriver); // 设置数据库驱动类名
dataSource.setUrl(jdbcUrl); // 设置数据库连接URL
dataSource.setUsername(jdbcUsername); // 设置数据库用户名
dataSource.setPassword(jdbcPassword); // 设置数据库密码
// 关闭连接后不自动commit
dataSource.setDefaultAutoCommit(false);
// 设置连接异常处理
// 设置连接异常处理,如果获取连接时抛出异常,则不再尝试获取
dataSource.setBreakAfterAcquireFailure(true);
// 将SQLException抛出重要配置
// 将SQLException抛出,不吞异常
dataSource.setFailFast(true);
dataSource.setConnectionErrorRetryAttempts(0);
dataSource.setConnectionErrorRetryAttempts(0); // 连接失败时不再重试
// 配置自定义的异常处理器
dataSource.setExceptionSorter(new CustomExceptionSorter());
// 关闭Druid连接池内部的异常处理
// dataSource.setFilters("stat");
// 关闭Druid连接池内部的异常处理不再使用Druid内置的慢查询、监控等过滤器
// dataSource.setFilters("stat");
return dataSource;
}
}
class CustomExceptionSorter implements ExceptionSorter {
/**
* SQLException
**/
class CustomExceptionSorter implements ExceptionSorter {
@Override
public boolean isExceptionFatal(SQLException e) {
// 将所有异常视为致命异常,即抛出到上层
// 打印异常堆栈信息
e.printStackTrace();
return true;
}
@Override
public boolean isExceptionFatal(SQLException e) {
// 将所有SQLException视为致命异常即不尝试恢复
// 打印异常堆栈信息,方便问题排查
e.printStackTrace();
return true;
}
@Override
public void configFromProperties(Properties properties) {
// 配置信息可以为空
@Override
public void configFromProperties(Properties properties) {
// 该方法可以为空,因为自定义异常处理器不需要额外的配置
}
}
}
}

@ -4,97 +4,99 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
*/
public class DateUtils {
/**
* yyyy-MM-dd HH:mm:ss
* -- ::
*/
public static final String DATETIME_DEFAULT_FORMAT = "yyyy-MM-dd HH:mm:ss";
/**
* HH:mm:ss
* ::
*/
public static final String TIME_DEFAULT_FORMAT = "HH:mm:ss";
/**
* yyyy-MM-dd
* --
*/
public static final String YYYY_MM_DD = "yyyy-MM-dd";
/**
* yyyy-MM-dd HH:mm
* -- :
*/
public static final String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm";
/**
*
* @param format
* @return
* SimpleDateFormat
*
* @param format
* @return SimpleDateFormat
*/
public static SimpleDateFormat getDateFormat(String format){
public static SimpleDateFormat getDateFormat(String format) {
return new SimpleDateFormat(format);
}
/**
*
* @param date
* @param format
* @return
* Date
*
* @param date
* @param format
* @return
*/
public static String formatDateTime(Date date, String format ){
public static String formatDateTime(Date date, String format) {
return getDateFormat(format).format(date);
}
/**
*
* @param date
* @param format
* @return
* @throws ParseException
* Date
*
* @param date
* @param format
* @return Date
* @throws ParseException ParseException
*/
public static Date parseDate(String date, String format) throws ParseException {
return getDateFormat(format).parse(date);
}
/**
*
* @return
*
*
* @return
*/
public static long getCurrent() {
return System.currentTimeMillis();
}
/**
* ()
* @param format
* @return
*
*
* @param format
* @return
*/
public static String getNowDate(String format){
public static String getNowDate(String format) {
return formatDateTime(new Date(), format);
}
/**
* ()
* yyyy-MM-dd HH:mm:ss
* @return
*
* -- ::
*
* @return
*/
public static String getNowDate(){
public static String getNowDate() {
return formatDateTime(new Date(), DATETIME_DEFAULT_FORMAT);
}
/**
*
* HH:mm:ss
* @return
* ::
*
* @return ::
*/
public static String getNowTime(){
public static String getNowTime() {
return formatDateTime(new Date(), TIME_DEFAULT_FORMAT);
}
}

@ -3,29 +3,37 @@ package com.rabbiter.association.utils;
import java.util.UUID;
/**
* ID
* IDID
*/
public class IDUtils {
/**
* 使 UUID 32ID
* @return
* 使UUID32ID
* <p>UUIDUniversally Unique Identifier
* UUID32168-4-4-4-12
* ID32</p>
*
* @return 32UUID
*/
public static String makeIDByUUID() {
String id = UUID.randomUUID().toString().replaceAll("-","");
// 生成一个随机的UUID
String id = UUID.randomUUID().toString();
// 将UUID中的连字符去掉返回一个没有连字符的32位字符串
id = id.replaceAll("-", "");
return id;
}
/**
* 使ID, 13
* @return
* 使13ID
* <p>ID
* ID13</p>
*
* @return 13
*/
public static String makeIDByCurrent() {
// 调用DateUtils工具类的getCurrent()方法获取当前时间的毫秒值
Long mills = DateUtils.getCurrent();
// 将时间戳的Long值转换为String并返回
return mills.toString();
}
}
}

@ -1,291 +1,235 @@
<template>
<div class="fater-body-show">
<el-card shadow="never">
<div
class="el-card-header"
slot="header"
style="font-size: 26px"
>
<i class="iconfont icon-r-find" style="font-size: 26px"></i>
信息查询
</div>
<div>
<el-form :inline="true" :model="qryForm">
<el-form-item>
<el-input
v-model="qryForm.name"
placeholder="输入…"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getPageLikeInfo()">
</el-button>
</el-form-item>
</el-form>
</div>
</el-card>
<!-- 外层容器 -->
<div class="fater-body-show">
<!-- 卡片组件用于信息查询 -->
<el-card shadow="never">
<!-- 卡片头部 -->
<div class="el-card-header" slot="header" style="font-size: 26px">
<i class="iconfont icon-r-find" style="font-size: 26px"></i>
信息查询
</div>
<!-- 信息查询表单 -->
<div>
<el-form :inline="true" :model="qryForm">
<el-form-item>
<el-input v-model="qryForm.name" placeholder="输入…" autocomplete="off">
</el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getPageLikeInfo()">
</el-button>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card shadow="never">
<div slot="header">
<el-button
type="primary"
style="font-size: 18px"
@click="showAddWin()"
>
新增</el-button
>
</div>
<div>
<el-table
v-loading="loading"
element-loading-text="拼命加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(124, 124, 124, 0.8)"
:data="pageInfos"
border
>
<el-table-column
align="center"
type="index"
></el-table-column>
<el-table-column
align="center"
prop="createTime"
label="报名时间"
></el-table-column>
<el-table-column
align="center"
prop="activeId"
label="活动编号"
></el-table-column>
<el-table-column
align="center"
prop="userId"
label="报名用户"
></el-table-column>
<el-table-column
align="center"
label="操作处理"
fixed="right"
>
<template slot-scope="scope">
<el-button
icon="el-icon-edit"
type="primary"
size="mini"
@click="showUpdWin(scope.row)"
></el-button>
<el-button
icon="el-icon-delete"
type="danger"
size="mini"
@click="delInfo(scope.row.id)"
></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
v-if="pageTotal != 0"
style="margin-top: 15px"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pageIndex"
:page-sizes="[5, 10, 20, 50]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalInfo"
>
</el-pagination>
</div>
</el-card>
<!-- 卡片组件用于展示活动报名信息列表 -->
<el-card shadow="never">
<div slot="header">
<el-button type="primary" style="font-size: 18px" @click="showAddWin()"></el-button>
</div>
<div>
<!-- 表格组件用于展示活动报名信息 -->
<el-table v-loading="loading" element-loading-text="" element-loading-spinner="el-icon-loading"
element-loading-background="rgba(124, 124, 124, 0.8)" :data="pageInfos" border>
<el-table-column align="center" type="index">
</el-table-column>
<el-table-column align="center" prop="createTime" label="报名时间">
</el-table-column>
<el-table-column align="center" prop="activeId" label="活动编号">
</el-table-column>
<el-table-column align="center" prop="userId" label="报名用户">
</el-table-column>
<!-- 操作列 -->
<el-table-column align="center" label="操作处理" fixed="right">
<template slot-scope="scope">
<el-button icon="el-icon-edit" type="primary" size="mini" @click="showUpdWin(scope.row)">
</el-button>
<el-button icon="el-icon-delete" type="danger" size="mini" @click="delInfo(scope.row.id)">
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<el-pagination v-if="pageTotal != 0" style="margin-top: 15px" @size-change="handleSizeChange"
@current-change="handleCurrentChange" :current-page="pageIndex" :page-sizes="[5, 10, 20, 50]"
:page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="totalInfo">
</el-pagination>
</div>
</el-card>
<el-dialog title="添加信息" width="600px" :visible.sync="showAddFlag">
<el-form label-width="90px" :model="activeLogsForm">
<el-form-item label="报名时间">
<el-input
v-model="activeLogsForm.createTime"
placeholder="请输入报名时间…"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item label="活动编号">
<el-input
v-model="activeLogsForm.activeId"
placeholder="请输入活动编号…"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item label="报名用户">
<el-input
v-model="activeLogsForm.userId"
placeholder="请输入报名用户…"
autocomplete="off"
></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="showAddFlag = false" style="font-size: 18px"
>
</el-button
>
<el-button
type="primary"
@click="addInfo()"
style="font-size: 18px"
>
</el-button
>
</div>
</el-dialog>
<!-- 添加信息对话框 -->
<el-dialog title="添加信息" width="600px" :visible.sync="showAddFlag">
<el-form label-width="90px" :model="activeLogsForm">
<el-form-item label="报名时间">
<el-input v-model="activeLogsForm.createTime" placeholder="请输入报名时间…" autocomplete="off">
</el-input>
</el-form-item>
<el-form-item label="活动编号">
<el-input v-model="activeLogsForm.activeId" placeholder="请输入活动编号…" autocomplete="off">
</el-input>
</el-form-item>
<el-form-item label="报名用户">
<el-input v-model="activeLogsForm.userId" placeholder="请输入报名用户…" autocomplete="off">
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="showAddFlag = false" style="font-size: 18px">
</el-button>
<el-button type="primary" @click="addInfo()" style="font-size: 18px">
</el-button>
</div>
</el-dialog>
<el-dialog title="修改信息" width="600px" :visible.sync="showUpdFlag">
<el-form label-width="90px" :model="activeLogsForm">
<el-form-item label="报名时间">
<el-input
v-model="activeLogsForm.createTime"
placeholder="请输入报名时间…"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item label="活动编号">
<el-input
v-model="activeLogsForm.activeId"
placeholder="请输入活动编号…"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item label="报名用户">
<el-input
v-model="activeLogsForm.userId"
placeholder="请输入报名用户…"
autocomplete="off"
></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="showUpdFlag = false" style="font-size: 18px"
>
</el-button
>
<el-button
type="primary"
@click="updInfo()"
style="font-size: 18px"
>
</el-button
>
</div>
</el-dialog>
</div>
<!-- 修改信息对话框 -->
<el-dialog title="修改信息" width="600px" :visible.sync="showUpdFlag">
<el-form label-width="90px" :model="activeLogsForm">
<el-form-item label="报名时间">
<el-input v-model="activeLogsForm.createTime" placeholder="请输入报名时间…" autocomplete="off">
</el-input>
</el-form-item>
<el-form-item label="活动编号">
<el-input v-model="activeLogsForm.activeId" placeholder="请输入活动编号…" autocomplete="off">
</el-input>
</el-form-item>
<el-form-item label="报名用户">
<el-input v-model="activeLogsForm.userId" placeholder="请输入报名用户…" autocomplete="off">
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="showUpdFlag = false" style="font-size: 18px">
</el-button>
<el-button type="primary" @click="updInfo()" style="font-size: 18px">
</el-button>
</div>
</el-dialog>
</div>
</template>
<!-- 样式部分 -->
<style>
</style>
<!-- 脚本部分 -->
<script>
import {
getPageActiveLogs,
addActiveLogs,
updActiveLogs,
delActiveLogs,
getPageActiveLogs,
addActiveLogs,
updActiveLogs,
delActiveLogs,
} from "../../api";
export default {
data() {
return {
pageInfos: [],
pageIndex: 1,
pageSize: 10,
pageTotal: 0,
totalInfo: 0,
loading: true,
showAddFlag: false,
showUpdFlag: false,
qryForm: {
name: "",
},
activeLogsForm: {
id: "",
createTime: "",
activeId: "",
userId: "",
},
};
},
methods: {
getPageInfo(pageIndex, pageSize) {
getPageActiveLogs(pageIndex, pageSize).then((resp) => {
this.pageInfos = resp.data.data;
this.pageIndex = resp.data.pageIndex;
this.pageSize = resp.data.pageSize;
this.pageTotal = resp.data.pageTotal;
this.totalInfo = resp.data.count;
data() {
return {
pageInfos: [], //
pageIndex: 1, //
pageSize: 10, //
pageTotal: 0, //
totalInfo: 0, //
loading: true, //
showAddFlag: false, //
showUpdFlag: false, //
qryForm: { //
name: "",
},
activeLogsForm: { //
id: "",
createTime: "",
activeId: "",
userId: "",
},
};
},
methods: {
//
getPageInfo(pageIndex, pageSize) {
getPageActiveLogs(pageIndex, pageSize).then((resp) => {
this.pageInfos = resp.data.data;
this.pageIndex = resp.data.pageIndex;
this.pageSize = resp.data.pageSize;
this.pageTotal = resp.data.pageTotal;
this.totalInfo = resp.data.count;
this.loading = false;
});
},
getPageLikeInfo() {
getPageActiveLogs(1, this.pageSize, this.qryForm.name).then(
(resp) => {
this.pageInfos = resp.data.data;
this.pageIndex = resp.data.pageIndex;
this.pageSize = resp.data.pageSize;
this.totalInfo = resp.data.count;
this.pageTotal = resp.data.pageTotal;
this.loading = false;
}
);
},
handleSizeChange(pageSize) {
this.getPageInfo(this.pageIndex, pageSize, this.qryForm.name);
},
handleCurrentChange(pageIndex) {
this.getPageInfo(pageIndex, this.pageSize, this.qryForm.name);
},
initForm() {
this.activeLogsForm = {
id: "",
createTime: "",
activeId: "",
userId: "",
};
},
showAddWin() {
this.showAddFlag = true;
},
showUpdWin(row) {
this.activeLogsForm = row;
this.showUpdFlag = true;
},
addInfo() {
addActiveLogs(this.activeLogsForm).then((resp) => {
this.$message({
message: resp.msg,
type: "success",
});
this.loading = false;
});
},
//
getPageLikeInfo() {
getPageActiveLogs(1, this.pageSize, this.qryForm.name).then(
(resp) => {
this.pageInfos = resp.data.data;
this.pageIndex = resp.data.pageIndex;
this.pageSize = resp.data.pageSize;
this.totalInfo = resp.data.count;
this.pageTotal = resp.data.pageTotal;
this.loading = false;
}
);
},
//
handleSizeChange(pageSize) {
this.getPageInfo(this.pageIndex, pageSize, this.qryForm.name);
},
//
handleCurrentChange(pageIndex) {
this.getPageInfo(pageIndex, this.pageSize, this.qryForm.name);
},
//
initForm() {
this.activeLogsForm = {
id: "",
createTime: "",
activeId: "",
userId: "",
};
},
//
showAddWin() {
this.showAddFlag = true;
},
//
showUpdWin(row) {
this.activeLogsForm = row;
this.showUpdFlag = true;
},
//
addInfo() {
addActiveLogs(this.activeLogsForm).then((resp) => {
this.$message({
message: resp.msg,
type: "success",
});
this.getPageInfo(1, this.pageSize);
this.getPageInfo(1, this.pageSize);
this.showAddFlag = false;
this.showAddFlag = false;
this.initForm();
});
},
updInfo() {
updActiveLogs(this.activeLogsForm).then((resp) => {
this.$message({
message: resp.msg,
type: "success",
});
this.initForm();
});
},
//
updInfo() {
updActiveLogs(this.activeLogsForm).then((resp) => {
this.$message({
message: resp.msg,
type: "success",
});
this.getPageInfo(1, this.pageSize);
this.getPageInfo(1, this.pageSize);
this.showUpdFlag = false;
this.showUpdFlag = false;
this.initForm();
});
},
this.initForm();
});
},
//
delInfo(id) {
this.$confirm("即将删除相关信息, 是否继续?", "提示", {
confirmButtonText: "确定",

@ -1,246 +1,218 @@
<template>
<div class="fater-body-show">
<el-card shadow="never">
<div
class="el-card-header"
slot="header"
style="font-size: 26px"
>
<i class="iconfont icon-r-find" style="font-size: 26px"></i>
信息查询
</div>
<div>
<el-form :inline="true" :model="qryForm">
<el-form-item>
<el-input
v-model="qryForm.teamName"
placeholder="输入团队名称…"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item>
<el-input
v-model="qryForm.userName"
placeholder="输入成员姓名…"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getPageLikeInfo()" style="font-size: 18px">
搜索</el-button>
</el-form-item>
</el-form>
</div>
</el-card>
<!-- 外层容器 -->
<div class="fater-body-show">
<!-- 卡片组件用于信息查询 -->
<el-card shadow="never">
<!-- 卡片头部 -->
<div class="el-card-header" slot="header" style="font-size: 26px">
<i class="iconfont icon-r-find" style="font-size: 26px"></i>
信息查询
</div>
<!-- 信息查询表单 -->
<div>
<el-form :inline="true" :model="qryForm">
<!-- 输入团队名称 -->
<el-form-item>
<el-input v-model="qryForm.teamName"
placeholder="输入团队名称…"
autocomplete="off">
</el-input>
</el-form-item>
<!-- 输入成员姓名 -->
<el-form-item>
<el-input v-model="qryForm.userName"
placeholder="输入成员姓名…"
autocomplete="off">
</el-input>
</el-form-item>
<!-- 搜索按钮 -->
<el-form-item>
<el-button type="primary"
@click="getPageLikeInfo()"
style="font-size: 18px">
搜索
</el-button>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card shadow="never">
<div>
<el-table
v-loading="loading"
element-loading-text="拼命加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(124, 124, 124, 0.8)"
:data="pageInfos"
border
>
<el-table-column
align="center"
type="index"
></el-table-column>
<el-table-column
align="center"
prop="teamName"
label="社团名称"
></el-table-column>
<el-table-column
align="center"
prop="userName"
label="申请人姓名"
></el-table-column>
<el-table-column
align="center"
prop="userGender"
label="申请人性别"
></el-table-column>
<el-table-column
align="center"
prop="userPhone"
label="申请人电话"
></el-table-column>
<el-table-column
align="center"
prop="createTime"
label="申请时间"
></el-table-column>
<el-table-column
v-if="userType == 1"
align="center"
label="操作处理"
fixed="right"
width="240"
>
<template slot-scope="scope">
<el-button
v-if="scope.row.status == 0"
type="primary"
@click="updInfo(scope.row, 1)"
>
通过</el-button
>
<el-button
v-if="scope.row.status == 0"
type="danger"
@click="updInfo(scope.row, 2)"
>
驳回</el-button
>
<el-tag
effect="plain"
type="success"
v-if="scope.row.status == 1"
>已通过</el-tag
>
<el-tag
effect="plain"
type="danger"
v-if="scope.row.status == 2"
>已驳回</el-tag
>
</template>
</el-table-column>
<el-table-column v-else align="center" label="申请状态">
<template slot-scope="scope">
<el-tag
effect="plain"
type="warning"
v-if="scope.row.status == 0"
>审核中</el-tag
>
<el-tag
effect="plain"
type="success"
v-if="scope.row.status == 1"
>已通过</el-tag
>
<el-tag
effect="plain"
type="danger"
v-if="scope.row.status == 2"
>已驳回</el-tag
>
</template>
</el-table-column>
</el-table>
<el-pagination
v-if="pageTotal >= 0"
style="margin-top: 15px"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pageIndex"
:page-sizes="[5, 10, 20, 50]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalInfo"
>
</el-pagination>
</div>
</el-card>
</div>
<!-- 卡片组件用于展示社团申请信息列表 -->
<el-card shadow="never">
<div>
<!-- 表格组件用于展示社团申请信息 -->
<el-table v-loading="loading" element-loading-text="" element-loading-spinner="el-icon-loading"
element-loading-background="rgba(124, 124, 124, 0.8)" :data="pageInfos" border>
<!-- 索引列 -->
<el-table-column align="center" type="index">
</el-table-column>
<!-- 社团名称列 -->
<el-table-column align="center"
prop="teamName"
label="社团名称">
</el-table-column>
<!-- 申请人姓名列 -->
<el-table-column align="center"
prop="userName"
label="申请人姓名">
</el-table-column>
<!-- 申请人性别列 -->
<el-table-column align="center"
prop="userGender"
label="申请人性别">
</el-table-column>
<!-- 申请人电话列 -->
<el-table-column align="center"
prop="userPhone"
label="申请人电话">
</el-table-column>
<!-- 申请时间列 -->
<el-table-column align="center"
prop="createTime"
label="申请时间">
</el-table-column>
<!-- 操作处理列管理员视图 -->
<el-table-column v-if="userType == 1"
align="center" label="操作处理"
fixed="right" width="240">
<template slot-scope="scope">
<!-- 通过按钮 -->
<el-button v-if="scope.row.status == 0"
type="primary" @click="updInfo(scope.row, 1)">
通过
</el-button>
<!-- 驳回按钮 -->
<el-button v-if="scope.row.status == 0"
type="danger" @click="updInfo(scope.row, 2)">
驳回
</el-button>
<!-- 已通过标签 -->
<el-tag effect="plain" type="success"
v-if="scope.row.status == 1">
已通过
</el-tag>
<!-- 已驳回标签 -->
<el-tag effect="plain" type="danger"
v-if="scope.row.status == 2">
已驳回
</el-tag>
</template>
</el-table-column>
<!-- 申请状态列非管理员视图 -->
<el-table-column v-else align="center" label="申请状态">
<template slot-scope="scope">
<!-- 审核中标签 -->
<el-tag effect="plain" type="warning"
v-if="scope.row.status == 0">
审核中
</el-tag>
<!-- 已通过标签 -->
<el-tag effect="plain" type="success"
v-if="scope.row.status == 1">
已通过
</el-tag>
<!-- 已驳回标签 -->
<el-tag effect="plain" type="danger"
v-if="scope.row.status == 2">
已驳回
</el-tag>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<el-pagination v-if="pageTotal >= 0" style="margin-top: 15px" @size-change="handleSizeChange"
@current-change="handleCurrentChange" :current-page="pageIndex"
:page-sizes="[5, 10, 20, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper"
:total="totalInfo">
</el-pagination>
</div>
</el-card>
</div>
</template>
<!-- 样式部分 -->
<style>
</style>
<!-- 脚本部分 -->
<script>
import { getLoginUser, getPageApplyLogs, updApplyLogs } from "../../api";
export default {
data() {
return {
userType: "",
pageInfos: [],
pageIndex: 1,
pageSize: 10,
pageTotal: 0,
totalInfo: 0,
loading: true,
qryForm: {
token: this.$store.state.token,
teamName: "",
userName: "",
},
};
},
methods: {
getPageInfo(pageIndex, pageSize) {
getPageApplyLogs(pageIndex, pageSize, this.qryForm.token).then(
(resp) => {
this.pageInfos = resp.data.data;
this.pageIndex = resp.data.pageIndex;
this.pageSize = resp.data.pageSize;
this.pageTotal = resp.data.pageTotal;
this.totalInfo = resp.data.count;
data() {
return {
userType: "", //
pageInfos: [], //
pageIndex: 1, //
pageSize: 10, //
pageTotal: 0, //
totalInfo: 0, //
loading: true, //
qryForm: { //
token: this.$store.state.token, // token
teamName: "", //
userName: "", //
},
};
},
methods: {
//
getPageInfo(pageIndex, pageSize) {
getPageApplyLogs(pageIndex, pageSize, this.qryForm.token).then(
(resp) => {
this.pageInfos = resp.data.data;
this.pageIndex = resp.data.pageIndex;
this.pageSize = resp.data.pageSize;
this.pageTotal = resp.data.pageTotal;
this.totalInfo = resp.data.count;
this.loading = false;
}
);
},
getPageLikeInfo() {
getPageApplyLogs(
1,
this.pageSize,
this.qryForm.token,
this.qryForm.teamName,
this.qryForm.userName
).then((resp) => {
this.pageInfos = resp.data.data;
this.pageIndex = resp.data.pageIndex;
this.pageSize = resp.data.pageSize;
this.totalInfo = resp.data.count;
this.pageTotal = resp.data.pageTotal;
this.loading = false;
});
},
handleSizeChange(pageSize) {
this.getPageInfo(
this.pageIndex,
pageSize,
this.qryForm.token,
this.qryForm.teamName,
this.qryForm.userName
);
},
handleCurrentChange(pageIndex) {
this.getPageInfo(
pageIndex,
this.pageSize,
this.qryForm.token,
this.qryForm.teamName,
this.qryForm.userName
);
},
updInfo(data, status) {
data["status"] = status;
updApplyLogs(data).then((resp) => {
this.$message({
message: resp.msg,
type: "success",
});
this.loading = false;
}
);
},
//
getPageLikeInfo() {
getPageApplyLogs(1, this.pageSize, this.qryForm.token, this.qryForm.teamName, this.qryForm.userName).then((resp) => {
this.pageInfos = resp.data.data;
this.pageIndex = resp.data.pageIndex;
this.pageSize = resp.data.pageSize;
this.totalInfo = resp.data.count;
this.pageTotal = resp.data.pageTotal;
this.loading = false;
});
},
//
handleSizeChange(pageSize) {
this.getPageInfo(this.pageIndex, pageSize, this.qryForm.token, this.qryForm.teamName, this.qryForm.userName);
},
//
handleCurrentChange(pageIndex) {
this.getPageInfo(pageIndex, this.pageSize, this.qryForm.token, this.qryForm.teamName, this.qryForm.userName);
},
//
updInfo(data, status) {
data["status"] = status;
updApplyLogs(data).then((resp) => {
this.$message({
message: resp.msg,
type: "success",
});
this.getPageInfo(1, this.pageSize);
this.getPageInfo(1, this.pageSize);
this.initForm();
});
},
//
this.initForm();
});
},
mounted() {
this.getPageInfo(1, this.pageSize, this.qryForm.token);
},
mounted() {
//
this.getPageInfo(1, this.pageSize, this.qryForm.token);
getLoginUser(this.$store.state.token).then((resp) => {
this.userType = resp.data.type;
});
},
//
getLoginUser(this.$store.state.token).then((resp) => {
this.userType = resp.data.type;
});
},
};
</script>
Loading…
Cancel
Save