基于javaweb+mysql的jsp+servlet会员卡积分管理系统(java+jsp+javascript+html+mysql)

基于javaweb+mysql的jsp+servlet会员卡积分管理系统(java+jsp+javascript+html+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的JSP+Servlet会员卡积分管理系统(java+jsp+javascript+html+mysql)

项目介绍

管理员角色包含以下功能: 登录,系统用户管理,修改后台登录密码,会员管理,添加会员,注册用户管理,会员卡管理,添加会员卡,会员卡充值,商品管理,会员积分统计,留言管理,信息统计图,积分兑换商品等功能。

用户角色包含以下功能: 登录,登录后页面,修改密码,修改详细资料,留言板等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本;

技术栈

HTML+CSS+JavaScript+jsp+mysql

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/login.jsp 登录
@RequestMapping(value="/add",method=RequestMethod.POST)

@ResponseBody

public Result<Boolean> add(Role role){

//用统一验证实体方法验证是否合法

CodeMsg validate = ValidateEntityUtil.validate(role);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(roleService.save(role) == null){

return Result.error(CodeMsg.ADMIN_ROLE_ADD_ERROR);

log.info("添加角色【"+role+"】");

operaterLogService.add("添加角色【"+role.getName()+"】");

return Result.success(true);

*/

@RequestMapping(value="/edit",method=RequestMethod.POST)

@ResponseBody

public Result<Boolean> edit(Role role){

//用统一验证实体方法验证是否合法

CodeMsg validate = ValidateEntityUtil.validate(role);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

Role existRole = roleService.find(role.getId());

if(existRole == null){

return Result.error(CodeMsg.ADMIN_ROLE_NO_EXIST);

existRole.setName(role.getName());

existRole.setRemark(role.getRemark());

* @param pageBean

* @return

*/

@RequestMapping(value="/list")

public String list(Model model, Role role, PageBean<Role> pageBean){

model.addAttribute("title", "角色列表");

model.addAttribute("name", role.getName());

model.addAttribute("pageBean", roleService.findByName(role, pageBean));

return "admin/role/list";

/**

* 角色添加页面

* @param model

* @return


* @param model

* @param role

* @param pageBean

* @return

*/

@RequestMapping(value="/list")

public String list(Model model, Role role, PageBean<Role> pageBean){

model.addAttribute("title", "角色列表");

model.addAttribute("name", role.getName());

model.addAttribute("pageBean", roleService.findByName(role, pageBean));

return "admin/role/list";

/**

* 角色添加页面

* @return

*/

@RequestMapping(value="/add",method=RequestMethod.GET)

public String add(Model model){

model.addAttribute("roles", roleService.findAll());

return "admin/user/add";

/**

* 用户添加表单提交处理

* @param user

* @return

*/

@RequestMapping(value="/add",method=RequestMethod.POST)


CodeMsg validate = ValidateEntityUtil.validate(user);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(user.getRole() == null || user.getRole().getId() == null){

return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);

if(user.getId() == null || user.getId().longValue() <= 0){

return Result.error(CodeMsg.ADMIN_USE_NO_EXIST);

if(userService.isExistUsername(user.getUsername(), user.getId())){

return Result.error(CodeMsg.ADMIN_USERNAME_EXIST);

//到这说明一切符合条件,进行数据库保存

User findById = userService.find(user.getId());


private UserService userService;

@Autowired

private RoleService roleService;

@Autowired

private OperaterLogService operaterLogService;

/**

* 用户列表页面

* @param model

* @param user

* @param pageBean

* @return

*/

@RequestMapping(value="/list")


model.addAttribute("topMenus",MenuUtil.getTopMenus(findAll));

model.addAttribute("secondMenus",MenuUtil.getSecondMenus(findAll));

model.addAttribute("thirdMenus",MenuUtil.getThirdMenus(findAll));

Role role = roleService.find(id);

model.addAttribute("role", role);

model.addAttribute("authorities",JSONArray.toJSON(role.getAuthorities()).toString());

return "admin/role/edit";

/**

* 角色修改表单提交处理

* @param request

* @param role

* @return

*/

if(existRole == null){

return Result.error(CodeMsg.ADMIN_ROLE_NO_EXIST);

existRole.setName(role.getName());

existRole.setRemark(role.getRemark());

existRole.setStatus(role.getStatus());

existRole.setAuthorities(role.getAuthorities());

if(roleService.save(existRole) == null){

return Result.error(CodeMsg.ADMIN_ROLE_EDIT_ERROR);

log.info("编辑角色【"+role+"】");

operaterLogService.add("编辑角色【"+role.getName()+"】");

return Result.success(true);

/**

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(user.getRole() == null || user.getRole().getId() == null){

return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);

if(user.getId() == null || user.getId().longValue() <= 0){

return Result.error(CodeMsg.ADMIN_USE_NO_EXIST);

if(userService.isExistUsername(user.getUsername(), user.getId())){

return Result.error(CodeMsg.ADMIN_USERNAME_EXIST);

//到这说明一切符合条件,进行数据库保存

User findById = userService.find(user.getId());

//讲提交的用户信息指定字段复制到已存在的user对象中,该方法会覆盖新字段内容

return Result.error(CodeMsg.ADMIN_ROLE_NO_EXIST);

existRole.setName(role.getName());

existRole.setRemark(role.getRemark());

existRole.setStatus(role.getStatus());

existRole.setAuthorities(role.getAuthorities());

if(roleService.save(existRole) == null){

return Result.error(CodeMsg.ADMIN_ROLE_EDIT_ERROR);

log.info("编辑角色【"+role+"】");

operaterLogService.add("编辑角色【"+role.getName()+"】");

return Result.success(true);

/**


model.addAttribute("pageBean", userService.findList(user, pageBean));

return "admin/user/list";

/**

* 新增用户页面

* @param model

* @return

*/

@RequestMapping(value="/add",method=RequestMethod.GET)

public String add(Model model){

model.addAttribute("roles", roleService.findAll());

return "admin/user/add";

return "admin/role/edit";

/**

* 角色修改表单提交处理

* @param request

* @param role

* @return

*/

@RequestMapping(value="/edit",method=RequestMethod.POST)

@ResponseBody

public Result<Boolean> edit(Role role){

//用统一验证实体方法验证是否合法

CodeMsg validate = ValidateEntityUtil.validate(role);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

* @param id

* @return

*/

@RequestMapping(value="/delete",method=RequestMethod.POST)

@ResponseBody

public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){

try {

userService.delete(id);

} catch (Exception e) {

return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR);


userService.delete(id);

} catch (Exception e) {

return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR);

operaterLogService.add("添加用户,用户ID:" + id);

return Result.success(true);

后台角色管理控制器:

/**

* 后台角色管理控制器

*/

@RequestMapping("/admin/role")

@Controller

* 用户编辑页面

* @param model

* @return

*/

@RequestMapping(value="/edit",method=RequestMethod.GET)

public String edit(Model model,@RequestParam(name="id",required=true)Long id){

model.addAttribute("roles", roleService.findAll());

model.addAttribute("user", userService.find(id));

return "admin/user/edit";

/**

* 编辑用户信息表单提交处理

* @param user


model.addAttribute("title", "角色列表");

model.addAttribute("name", role.getName());

model.addAttribute("pageBean", roleService.findByName(role, pageBean));

return "admin/role/list";

/**

* 角色添加页面

* @param model

* @return

*/

@RequestMapping(value="/add",method=RequestMethod.GET)

public String add(Model model){

List<Menu> findAll = menuService.findAll();


model.addAttribute("roles", roleService.findAll());

return "admin/user/add";

/**

* 用户添加表单提交处理

* @param user

* @return

*/

@RequestMapping(value="/add",method=RequestMethod.POST)

@ResponseBody

public Result<Boolean> add(User user){

//用统一验证实体方法验证是否合法

CodeMsg validate = ValidateEntityUtil.validate(user);

*/

@RequestMapping(value="/edit",method=RequestMethod.GET)

public String edit(Model model,@RequestParam(name="id",required=true)Long id){

model.addAttribute("roles", roleService.findAll());

model.addAttribute("user", userService.find(id));

return "admin/user/edit";

/**

* 编辑用户信息表单提交处理

* @param user

* @return

*/


return Result.error(CodeMsg.ADMIN_USE_EDIT_ERROR);

operaterLogService.add("编辑用户,用户名:" + user.getUsername());

return Result.success(true);

/**

* 删除用户

* @param id

* @return

*/

@RequestMapping(value="/delete",method=RequestMethod.POST)

@ResponseBody


@ResponseBody

public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){

try {

userService.delete(id);

} catch (Exception e) {

return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR);

operaterLogService.add("添加用户,用户ID:" + id);

return Result.success(true);

后台角色管理控制器:

/**

* 后台角色管理控制器

*/

* 角色添加页面

* @param model

* @return

*/

@RequestMapping(value="/add",method=RequestMethod.GET)

public String add(Model model){

List<Menu> findAll = menuService.findAll();

model.addAttribute("topMenus", MenuUtil.getTopMenus(findAll));

model.addAttribute("secondMenus",MenuUtil.getSecondMenus(findAll));

model.addAttribute("thirdMenus",MenuUtil.getThirdMenus(findAll));

return "admin/role/add";

/**

* 角色添加表单提交处理


@RequestMapping(value="/add",method=RequestMethod.POST)

@ResponseBody

public Result<Boolean> add(Role role){

//用统一验证实体方法验证是否合法

CodeMsg validate = ValidateEntityUtil.validate(role);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(roleService.save(role) == null){

return Result.error(CodeMsg.ADMIN_ROLE_ADD_ERROR);

log.info("添加角色【"+role+"】");

operaterLogService.add("添加角色【"+role.getName()+"】");

return Result.success(true);

/**

* 角色编辑页面

/**

* 用户添加表单提交处理

* @param user

* @return

*/

@RequestMapping(value="/add",method=RequestMethod.POST)

@ResponseBody

public Result<Boolean> add(User user){

//用统一验证实体方法验证是否合法

CodeMsg validate = ValidateEntityUtil.validate(user);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(user.getRole() == null || user.getRole().getId() == null){

return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);

//判断用户名是否存在

if(userService.isExistUsername(user.getUsername(), 0l)){

return Result.error(CodeMsg.ADMIN_USERNAME_EXIST);

//到这说明一切符合条件,进行数据库新增

if(userService.save(user) == null){

return Result.error(CodeMsg.ADMIN_USE_ADD_ERROR);

operaterLogService.add("添加用户,用户名:" + user.getUsername());

* @return

*/

@RequestMapping(value="/edit",method=RequestMethod.POST)

@ResponseBody

public Result<Boolean> edit(User user){

//用统一验证实体方法验证是否合法

CodeMsg validate = ValidateEntityUtil.validate(user);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(user.getRole() == null || user.getRole().getId() == null){

return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首创的会员激励机制,超越传统会员管理系统被动的消费积分管理、会员信息管理等事务性管理,利用会员销售提成、积分抽奖等激励手段,推动会员增长,推动销售飚升。 业务员发展1个种子会员,此会员介绍10-20个新会员;这10-20个新会员每人再介绍10-20个新会员。这样一级级地发展,仅仅只需要4级,会员就发展到十几万人。 主要功能介绍 会员管理 业务员发展种子会员,用提成奖励机制,促使会员进入自动繁殖式发展。 会员添加 记录会员的引荐人,该会员消费,给引荐人一定提成奖励。 记录会员姓名、会员卡号、手机号三个关键数据和会员联络信息。 手机号和会员卡号作为会员识别会员身份的标识。特别是本系统可以用手机号替代会员卡,省去了会员带卡出门的麻烦,为会员广泛欢迎。 会员消费 会员持手机或会员卡进行消费,记录会员消费积分。 消费收款和超市销售收款类似,可以现金支付、储值支付及其他手段支付,默认储值支付优先,可根据需要调整。支付后计算找零,打印消费小票等。 会员消费会记录销售人的业绩,一般情况默认会员推荐人为销售人,特殊情况可更改销售人。 计次消费 会员购买计次服务项目,一次性付款,不定时使用服务。计次服务享受消费积分,记录销售人业绩。 积分兑换 用消费积分兑换服务、商品。也可转换成会员储值,需要是再消费。 积分抽奖 用积分参加抽奖,获得奖金或奖品。奖金奖品的设置可设立大奖吸引会员参加。抽奖原理的彩票抽奖类似。 快速积分 根据需要给会员赠送积分。如会员参加活动、会员推荐新会员、会员介绍业务等等,不发生消费也可获得积分积分设置 负责人可以设置积分比例,比如储值一元获得13积分,消费一元获得27积分,可根据需要设置积分比例。 会员储值 会员可以通过现金、转帐等方式,向个人帐户充值。充值消费获得双倍积分。充值是获得一次积分,用充值消费时又获得一次积分。充值消费避免找零的麻烦。 储值提现 储值余额若不再消费,可以通过提现的方式提出现金。量大也可以转帐提现。 储值明细 会员可以查询储值明细,查询帐户余额。 会员管理 对会员进行审核、对不遵守协议的会员可以锁定。修改、删除会员信息。需要注意的是,有消费信息的会员尽量不要删除,用锁定的方式保留会员消费信息。 会员提成 会员介绍推荐新会员入员,新会员消费,给推荐人一定比例的提成。激励会员推荐更多的新会员。当推荐的会员人数较多时,推荐人可得到一笔可观的收入。 会员也可在直接推荐消费,会员直接推荐消费,按业务员提成比例获得提成。 消费明细 会员可以查询所有消费明细、消费总额,打印消费清单。 会员排行榜 对会员消费、会员积分进行排行,激励会员消费。 业务管理 报表管理 短信管理 后台管理 实时交流

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值