喝不起奶茶,咱就为奶茶店开发个会员积分收银系统

作者主页:编程指南针

 简介:Java领域优质创作者、CSDN博客专家  Java项目、简历模板、学习资料、面试题库、技术互助

文末获取源码

 项目编号:BS-XX-011

本系统基于SSM框架开发实现,前端使用easyui开发实现,功能强大,界面美观,数据库使用mysql数据库,开发工具采用idea。

系统部分功能展示如下:

系统管理员登陆: admin /admin

http://localhost/login

登陆后主界面:

用户管理

角色管理

资源管理

地区管理

奶茶管理==类目管理

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

消费积分管理

日志管理

以上是奶茶店会员管理系统的部分功能展示,本项目功能完整,运行无误,适合做毕业设计使用。

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;/*** 消费奶茶记录*/
@Service
@Transactional
public class ConsumeService {@Autowiredprivate ConsumeMapper consumeMapper;@Autowiredprivate IntegralService integralService;@Autowiredprivate 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;}@SuppressWarnings("all")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;/*** 用户消费总积分*/
@Service
@Transactional
@SuppressWarnings("all")
public class IntegralService {@Autowiredprivate 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;@Service
public class LogService {@Autowiredprivate 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;/*** 奶茶管理业务层**/
@Service
@Transactional
public class MilkService {@Autowiredprivate 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;@Service
public class OrganizationService {@Autowiredprivate 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);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/19950.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

商汤回应AI作图争议/ 推特公司不存在了/ 巴菲特:不确定ChatGPT是否有益…今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 大家好&#xff0c;今天是4月13日&#xff0c;好久不见&#xff0c;准备疯狂星期四了吗&#xff1f; 听说今天沙尘暴又来了&#xff0c;Be Like&#xff1a;&#xff08;by Midjourney&#xff09; 今天科技圈有哪些新鲜事儿&#xf…

如何让ChatGPT制作XMind思维导图

一、使用ChatGPT辅助生成内容 给大家一个思路&#xff0c;比如我想制作《股神巴菲特给儿女的一生忠告》相关的思维导图&#xff0c;那我们可以在ChatGPT上提问“请使用markdown格式写出股神巴菲特给儿女的一生忠告的思维导图&#xff0c;以代码格式输出”。 生成后&#xff0…

chatgpt赋能python:Python怎么打包成APP

Python怎么打包成APP 如果你想将你的Python程序打包成APP并分享给其他人&#xff0c;或者想将其发布到应用商店&#xff0c;那么这篇文章就是为你准备的。 介绍 首先&#xff0c;我们来介绍一些Python打包工具。有很多工具可供选择&#xff0c;这里列出了几个&#xff1a; …

数字时代,你想成为一只“弱鸡”,还是一个“超级个体”?

电话延伸了人类的耳朵&#xff0c;屏幕延伸了人类的眼睛&#xff0c;汽车这样的交通工具延伸了人类的腿脚&#xff0c;人类的生存能力开始变得和技术相关&#xff0c;而这个趋势仍在加剧。 如今&#xff0c;Web3延伸了人的综合体验&#xff0c;AI延伸了人类的大脑&#xff0c;它…

最新研究:游戏科技已成为人工智能创新发展的重要驱动力

来源&#xff1a;腾云 4月25日&#xff0c;中国科学院虚拟经济与数据科学研究中心、中国科学院大数据挖掘与知识管理重点实验室在京联合举办《探寻AI创新之路——游戏科技与人工智能创新发展报告》发布暨研讨会。 人工智能是21世纪对人类社会影响最为深远的科技领域之一。报告认…

《探寻AI创新之路——游戏科技与人工智能创新发展报告》正式发布

近日&#xff0c;中国科学院虚拟经济与数据科学研究中心、中国科学院大数据挖掘与知识管理重点实验室在京联合举办《探寻AI创新之路——游戏科技与人工智能创新发展报告》发布暨研讨会。 报告下载地址&#xff1a;http://www.feds.ac.cn/index.php/zh-cn/2020-04-13-04-45-08/2…

消费电子景气回升 云计算前景喜人,伟仕佳杰步入新一轮盈利周期

数字化转型的大趋势&#xff0c;催使许多IT分销商加速向技术附加值更高的云计算领域上探。3月23日&#xff0c;伟仕佳杰控股有限公司&#xff08;00856.HK&#xff0c;下称“伟仕佳杰”&#xff09;公布2022年度业绩&#xff0c;从数据来看&#xff0c;以IT分销起家的伟仕佳杰&…

上海亚商投顾:三大指数小幅上涨算力概念股全线爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 市场情绪 三大指数今日冲高回落&#xff0c;收盘均小幅上涨&#xff0c;深成指走势较强。算力、云服务全线爆发&#xff0c;…

Notion AI,又一款强大的内容生成工具?

文|Juny 编辑| VickyXiao 去年11月底&#xff0c;当ChatGPT横空出世、惊艳亮相的时候&#xff0c;很多人可能并不知道&#xff0c;当时在硅谷另一个角落&#xff0c;百亿生产力软件独角兽Notion也悄悄上线了其AI服务&#xff0c;并向用户开放了预约。 最近几个月&#xff0c;…

精通ChatGPT等大模型,掌握最前沿技术,这有份绝佳资源

视学算法专栏 机器之心编辑部 各种 AI 技术铺天盖地的来袭&#xff0c;招架不住&#xff1f;这儿有一个名为 EgoAlpha 的 AI 社区&#xff0c;其涵盖大模型技术追踪、最前沿的国际发展动态、最新的上下文学习与提示工程的学习资源等&#xff0c;该社区致力于探索 AI 感知、认知…

Tushare 获取股票实时数据

Tushare 获取股票实时数据 自己实现了一个能获取股票实时交易数据的脚本&#xff0c;功能是每3秒钟获取当前大盘涨跌&#xff0c;和自己添加股票的价格和涨跌幅 原理是通过获取Tushare 平台提供的api&#xff0c;来获取股票数据&#xff0c;可以通过 https://tushare.pro/regis…

获取历史和实时股票数据接口

&#xfeff;&#xfeff; http://blog.sina.com.cn/s/blog_510844b70102wrvf.html 实时股票数据接口 股票数据的获取目前有如下两种方法可以获取:1. http/javascript接口取数据2. web-service接口1.http/javascript接口取数据1.1Sina股票数据接口以大秦铁路&#xff08;股票代…

讯飞学习机: 算法能力与B端校园 合作打造坚实护城河

初代学习机2000年左右出现&#xff0c;软硬件技术合力突破推动迭代 第一代学习机约在2000年左右 出现&#xff0c;例如上图的文曲星A100&#xff0c;有黑白屏幕和简单按 键。主要功能与卖点为电子 词典的英语单词检索和学习 功能。 利用电子词典与用户的紧密 结合度&#xff0c…

【NLP】稍微读一下LIMA: Less Is More for Alignment

稍微机翻一下最近火的一个有关小数据集fine-tune大模型&#xff1f;的文 如有误请见谅斧正 如您认为此文侵犯了您的权益 请联系我 我会删除ASAP https://arxiv.org/abs/2305.11206 1 引言2 如何生成精干的 Alignment Data※3 训练4 人工评估4.1 实验设置基线内容生成方法论Int…

母婴市场进入增长寒冬,AIGC能否为孩子王“供暖”?

文|螳螂观察 作者| 青月 人口负增长这件事&#xff0c;已经使母婴行业成了首批受到冲击的板块之一。用「母婴行业观察」的话来概括&#xff0c;就是“母婴行业正在进入销量低增长甚至零增长、营收利润低增长的挤压式竞争新阶段&#xff0c;并且已经开始了”。 行业内的玩家&…

ChatYuan - 国内首个开源对话大模型的体验和评测

★★★ 本文源自AlStudio社区精品项目&#xff0c;【点击此处】查看更多精品内容 >>> ChatYuan: 元语功能型对话大模型 这个模型可以用于问答、结合上下文做对话、做各种生成任务&#xff0c;包括创意性写作&#xff0c;也能回答一些像法律、新冠等领域问题。它基于P…

LLaMA以及其扩展模型总结(一)

自从ChatGPT发布以来&#xff0c;人们看到了AGI时代的曙光&#xff0c;但是由于ChatGPT是闭源的&#xff0c;只能在官网体验和使用API进行访问&#xff0c;据OpenAI CEO说是出于AGI的安全性考虑&#xff0c;这样大大限制了很多研究人员和机构对于AGI的研究进展。Meta公司反其道…

在生成式AI的崛起中,百度“先下一城”

年初&#xff0c;李彦宏在一封内部信中预言&#xff1a;“AI技术已经发展到一个临界点&#xff0c;各行各业都不可避免地被改变&#xff0c;中国AI市场即将迎来爆发性的需求增长。” 而几个小时前&#xff0c;百度正式启动产品测评的“文心一言” 全新一代知识增强大语言模型&…

斯坦福发布最新LLM排行榜AlpacaEval,微软WizardLM登顶开源模型第一

斯坦福发布最新LLM排行榜AlpacaEval&#xff0c;微软WizardLM登顶开源模型第一 文章目录 Part 1. 众多LLM排行榜Part 2. AlpacaEval 技术细节2.1 AlpacaEval 评估效果2.2 如何使用AlpacaEval评估模型 Part 3. 微软 WizardLM 登顶开源模型第一3.1 关于 WizadLM 与 Evol-Instruc…

AI职场汇报智能办公文案写作效率提升视频教程

一、视频教程地址 点我访问完整版视频教程 二、你将收获 ChatGPT文本创作&#xff0c;一键生成办公文案AI智能写作&#xff0c;轻松搞定多场景文案写作智能美化PPT,用AI为职场汇报加速AI神器联动&#xff0c;十倍提升视频创作效率 三、结合chatgpt提问快速提升办公文案协作…