——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明








基于javaweb的SSM+Maven微信小程序社团管理系统(java+ssm+maven+wechat+vue+mysql)
/CommunitySystem
后端Tomcat端口使用8585(避免8080被系统占用)
后端启动:Tomcat
前端web端启动:npm run serve
前端小程序端启动:微信开发者工具
管理员:
admin 123456
社团:
社团编号1 123456
社团编号2 123456
社团编号3 123456
社团编号4 123456
社团编号5 123456
社团编号6 123456
用户:
账号1 123456
账号2 123456
账号3 123456
账号4 123456
账号5 123456
账号6 123456
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| * 下载文件 */ @IgnoreAuth @RequestMapping("/download") public void download(@RequestParam String fileName, HttpServletRequest request, HttpServletResponse response) { try { File file = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+fileName); if (file.exists()) { response.reset(); response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName+"\""); response.setHeader("Cache-Control", "no-cache"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setContentType("application/octet-stream; charset=UTF-8"); IOUtils.write(FileUtils.readFileToByteArray(file), response.getOutputStream()); }
} catch (IOException e) { e.printStackTrace(); } } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| } if(map.get("remindend")!=null) { Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate = c.getTime(); map.put("remindend", sdf.format(remindEndDate)); } } Wrapper<StoreupEntity> wrapper = new EntityWrapper<StoreupEntity>(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); } if(!request.getSession().getAttribute("role").toString().equals("管理员")) { wrapper.eq("userid", (Long)request.getSession().getAttribute("userId")); }
int count = storeupService.selectCount(wrapper); return R.ok().put("count", count); }
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
@Component public class AuthorizationInterceptor implements HandlerInterceptor {
public static final String LOGIN_TOKEN_KEY = "Token";
@Autowired private TokenService tokenService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Headers", "x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization"); response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
IgnoreAuth annotation; if (handler instanceof HandlerMethod) { annotation = ((HandlerMethod) handler).getMethodAnnotation(IgnoreAuth.class); } else { return true; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| @IgnoreAuth @RequestMapping("/group/{tableName}/{columnName}") public R group(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) { Map<String, Object> params = new HashMap<String, Object>(); params.put("table", tableName); params.put("column", columnName); List<Map<String, Object>> result = commonService.selectGroup(params); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for(Map<String, Object> m : result) { for(String k : m.keySet()) { if(m.get(k) instanceof Date) { m.put(k, sdf.format((Date)m.get(k))); } } } return R.ok().put("data", result); }
@IgnoreAuth @RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}") public R value(@PathVariable("tableName") String tableName, @PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName) { Map<String, Object> params = new HashMap<String, Object>(); params.put("table", tableName); params.put("xColumn", xColumnName); params.put("yColumn", yColumnName); List<Map<String, Object>> result = commonService.selectValue(params); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for(Map<String, Object> m : result) { for(String k : m.keySet()) { if(m.get(k) instanceof Date) { m.put(k, sdf.format((Date)m.get(k))); } } } return R.ok().put("data", result); }
@IgnoreAuth @RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}/{timeStatType}") public R valueDay(@PathVariable("tableName") String tableName, @PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType) { Map<String, Object> params = new HashMap<String, Object>(); params.put("table", tableName); params.put("xColumn", xColumnName);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| huodongbaoming.setShetuanbianhao((String)request.getSession().getAttribute("username")); } if(tableName.equals("yonghu")) { huodongbaoming.setZhanghao((String)request.getSession().getAttribute("username")); } EntityWrapper<HuodongbaomingEntity> ew = new EntityWrapper<HuodongbaomingEntity>(); PageUtils page = huodongbaomingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, huodongbaoming), params), params)); return R.ok().put("data", page); }
@RequestMapping("/lists") public R list( HuodongbaomingEntity huodongbaoming){ EntityWrapper<HuodongbaomingEntity> ew = new EntityWrapper<HuodongbaomingEntity>(); ew.allEq(MPUtil.allEQMapPre( huodongbaoming, "huodongbaoming")); return R.ok().put("data", huodongbaomingService.selectListView(ew)); }
@RequestMapping("/query") public R query(HuodongbaomingEntity huodongbaoming){ EntityWrapper< HuodongbaomingEntity> ew = new EntityWrapper< HuodongbaomingEntity>(); ew.allEq(MPUtil.allEQMapPre( huodongbaoming, "huodongbaoming")); HuodongbaomingView huodongbaomingView = huodongbaomingService.selectView(ew); return R.ok("查询活动报名成功").put("data", huodongbaomingView); }
@RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ HuodongbaomingEntity huodongbaoming = huodongbaomingService.selectById(id); return R.ok().put("data", huodongbaoming); }
@RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("shetuan")) { wrapper.eq("shetuanbianhao", (String)request.getSession().getAttribute("username")); } if(tableName.equals("yonghu")) { wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username")); }
int count = huodongbaomingService.selectCount(wrapper); return R.ok().put("count", count); }
}
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=551925010203201pt
https://javayms.pages.dev?id=551925010203201pt