喝不起奶茶,咱就为奶茶店开发个会员积分收银系统
作者主页:
简介:Java领域优质创作者、CSDN博客专家 Java项目、简历模板、学习资料、面试题库、技术互助
文末获取源码
项目编号:BS-XX-011
本系统基于SSM框架开发实现,前端使用easyui开发实现,功能强大,界面美观,数据库使用mysql数据库,开发工具采用idea。
系统部分功能展示如下:
系统管理员登陆: admin /admin

登陆后主界面:

用户管理

角色管理

资源管理

地区管理

奶茶管理==类目管理

点击购买==输入会员卡进行购买

消费积分管理


日志管理

以上是奶茶店会员管理系统的部分功能展示,本项目功能完整,运行无误,适合做毕业设计使用。
package SystemManage.ConsumeManage.service;import SystemManage.Common.until.PageInfo;import SystemManage.ConsumeManage.dao.ConsumeMapper;import SystemManage.ConsumeManage.entity.Consume;import SystemManage.ConsumeManage.entity.ConsumeVo;import SystemManage.IntegralDetialManage.service.IntegralDetialService;import SystemManage.IntegralManage.service.IntegralService;import SystemManage.MilkManage.entity.MilkConsumeVo;import com.github.pagehelper.Page;import com.github.pagehelper.PageHelper;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import java.util.Date;import java.util.Map;/**
* 消费奶茶记录
*/public class ConsumeService {
private ConsumeMapper consumeMapper;
private IntegralService integralService;
private IntegralDetialService integralDetialService; /**
* 更新消费记录
*
* @param vo
* @return
*/
public int add(MilkConsumeVo vo) { Consume record = new Consume();
record.setConsumeDate(new Date());
record.setConsumeMilkId(vo.getMilkId());
record.setConsumeUserId(vo.getUserId()); int insert = consumeMapper.insert(record); // 消费记录成功,进行积分的更细和积分详细表的更新,否则都不更细
if (insert > 0) { //先更新总积分
int add = integralService.add(vo); //再更新积分详情表
if (add > 0) { return integralDetialService.add(vo, record.getId());
}
} return 0;
}
public PageInfo list(String milkName,Long userId, PageInfo info) {
PageHelper.startPage(info.getNowpage(), info.getPagesize());
Page<ConsumeVo> milks = consumeMapper.list(userId,milkName);
info.setRows(milks.getResult());
info.setTotal((int) milks.getTotal()); return info;
}
}
package SystemManage.IntegralManage.service;import SystemManage.IntegralManage.dao.IntegralMapper;import SystemManage.IntegralManage.entity.Integral;import SystemManage.IntegralManage.entity.IntegralExample;import SystemManage.MilkManage.entity.MilkConsumeVo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import java.util.Date;import java.util.List;/**
* 用户消费总积分
*/public class IntegralService {
private IntegralMapper integralMapper; /**
* 根据用户ID查询用户积分
*
* @param userId
* @return
*/
public Double findIntegralInfoByUserId(Long userId) { if (userId == null) { throw new RuntimeException("用户ID不能为空");
} IntegralExample example = new IntegralExample();
IntegralExample.Criteria criteria = example.createCriteria();
criteria.andIntegralUserIdEqualTo(Integer.parseInt(String.valueOf(userId)));
List<Integral> integrals = integralMapper.selectByExample(example); if (integrals != null && integrals.size() > 0) { Integral integral = integrals.get(0); return integral.getIntegralSum();
} return 0d;
} /**
* 更新总积分系统
*
* @param vo
* @return
*/
public int add(MilkConsumeVo vo) { // 判断是否有总积分,没有就直接添加即可
Integral integral = integralMapper.selectByUserId(vo.getUserId()); // 证明是第一次添加
if (integral == null || integral.getIntegralConsume() == 0.0) { Integral record = new Integral();
record.setIntegralTieme(new Date());
record.setIntegralUserId(vo.getUserId()); // 价格就是积分,1元钱1积分
record.setIntegralConsume(vo.getMilkPrice());
record.setIntegralSum(vo.getMilkPrice()); int insert = integralMapper.insert(record); return insert;
} else { // 积分很多,需要加上价格减去抵扣的积分进行累计增加
integral.setIntegralSum(integral.getIntegralSum() + vo.getMilkPrice() - vo.getIntegralCount());
integral.setIntegralConsume((vo.getMilkPrice() - vo.getIntegralCount()) + integral.getIntegralConsume()); int insert = integralMapper.updateByPrimaryKey(integral); return insert;
}
}
}
package SystemManage.LogManage.service;import SystemManage.Common.until.PageInfo;import SystemManage.LogManage.dao.LogDao;import SystemManage.LogManage.entity.Log;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;public class LogService { private LogDao logDao; public void insertLog(Log sysLog) { logDao.insert(sysLog); } public void findDataGrid(PageInfo pageInfo) { pageInfo.setRows(logDao.findDataGrid(pageInfo)); pageInfo.setTotal(logDao.findDataGridCount(pageInfo)); } public void batchDelete(List ids){ logDao.batchDelete(ids) ; } public Log selectById(Long id){ return logDao.selectById(id) ; } public int delByDate(String date){ int count = logDao.delLogCount(date); logDao.delByDate(date); return count ; } }
package SystemManage.MilkManage.service;import SystemManage.Common.until.PageInfo;import SystemManage.MilkManage.dao.MilkMapper;import SystemManage.MilkManage.entity.Milk;import SystemManage.MilkManage.entity.MilkExample;import com.github.pagehelper.Page;import com.github.pagehelper.PageHelper;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import java.util.Date;/**
* 奶茶管理业务层
*
*/public class MilkService {
private MilkMapper milkMapper; public PageInfo list(PageInfo info,Milk milk) { MilkExample milkExample = new MilkExample();
MilkExample.Criteria criteria = milkExample.createCriteria(); // 条件查询
if(milk != null && milk.getMilkCode() != null && milk.getMilkCode() != ""){
criteria.andMilkCodeEqualTo(milk.getMilkCode());
} if(milk != null && milk.getMilkName() != null && milk.getMilkName() != ""){
criteria.andMilkNameLike("%" + milk.getMilkName() + "%");
}
PageHelper.startPage(info.getNowpage(),info.getPagesize());
Page<Milk> milks = (Page<Milk>) milkMapper.selectByExample(milkExample);
info.setRows(milks.getResult());
info.setTotal((int)milks.getTotal()); return info;
} public int add(Milk milk) { int insert = milkMapper.insert(milk); return insert;
} public int delete(Integer id) { return milkMapper.deleteByPrimaryKey(id);
} public Milk findOne(Integer id) { return milkMapper.selectByPrimaryKey(id);
} public int update(Milk milk) {
milk.setMilkDate(new Date()); return milkMapper.updateByPrimaryKey(milk);
}
}
package SystemManage.OrganizationManage.service;import SystemManage.Common.entity.Tree;import SystemManage.Common.until.PageInfo;import SystemManage.OrganizationManage.dao.OrganizationDao;import SystemManage.OrganizationManage.entity.Organization;import com.google.common.collect.Lists;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.ArrayList;import java.util.List;public class OrganizationService {
private OrganizationDao organizationDao ; /**
* @description
* 查找用户管理中组织机构的资源树
* 第一步: 先加载父资源
* 第二步: 通过父资源的 id 查询子资源
* 加入到 实体层中
* @return
*/
public List<Tree> findTree(){
List<Tree> trees = new ArrayList<Tree>(); // 查找父资源的信息 ;
List<Organization> organizationFather = organizationDao.findOrganizationAllByPidNull(); if (organizationFather != null){ for (Organization organizationOne : organizationFather){ Tree treeOne = new Tree();
treeOne.setId(organizationOne.getId());
treeOne.setText(organizationOne.getName());
treeOne.setIconCls(organizationOne.getIcon());
List<Organization> organizationSon = organizationDao.findOrganizationAllByPid(organizationOne.getId()); if (organizationSon != null){
List<Tree> tree = new ArrayList<Tree>(); for (Organization organizationTwo : organizationSon ){ Tree treeTwo = new Tree();
treeTwo.setId(organizationTwo.getId());
treeTwo.setText(organizationTwo.getName());
treeTwo.setIconCls(organizationTwo.getIcon());
tree.add(treeTwo);
}
treeOne.setChildren(tree);
} else {
treeOne.setState("closed");
}
trees.add(treeOne);
}
} return trees ;
} public List<Organization> findTreeGrid() { return organizationDao.findOrganizationAll();
} public void addOrganization(Organization organization) {
organizationDao.insert(organization);
} public Organization findOrganizationById(Long id) { return organizationDao.findOrganizationById(id);
} public void updateOrganization(Organization organization) {
organizationDao.updateOrganization(organization);
} public void deleteOrganizationById(Long id) {
organizationDao.deleteOrganizationById(id);
}
}