开发日志2024-04-11

开发日志2024/04/11

1、会员/普通用户预约完成后,技师对应的积分添加预约完成的项目价格添加到统计表的业绩字段中,同时对应的服务次数字段+1

实现代码:

  • 前端
    shHandler(){this.$confirm(`确定操作?`, "提示", {confirmButtonText: "确定",cancelButtonText: "取消",type: "warning"}).then(() => {this.$http({url: "huiyuanyuyuexinxi/update",method: "post",data: this.shForm}).then(({ data }) => {if (data && data.code === 0) {this.$message({message: "操作成功",type: "success",duration: 1500,onClose: () => {this.getDataList();this.shDialog()}});} else {this.$message.error(data.msg);}});});},
  • 后端
   /*** 修改*/@RequestMapping("/update")public R update(@RequestBody HuiyuanyuyuexinxiEntity huiyuanyuyuexinxi, HttpServletRequest request){//ValidatorUtils.validateEntity(huiyuanyuyuexinxi);huiyuanyuyuexinxiService.updateById(huiyuanyuyuexinxi);//全部更新//给相应的技师添加对应项目的积分//查询对应的项目所对应的积分数据String jifenByXiangmu = meirongxiangmuService.selectJifenByXiangmu(huiyuanyuyuexinxi.getXiangmumingcheng());//查询对应的技师数据,在此基础上进行修改积分字段int result =  jishiService.UpdateJiShiByMingcheng(huiyuanyuyuexinxi.getZhidingjishi(),Integer.parseInt(jifenByXiangmu));//TODO 将积分添加到技师月统计和年统计业绩上int res = jishinianyejitongjiService.updateYeJiByMincheng(huiyuanyuyuexinxi.getZhidingjishi(),Integer.parseInt(jifenByXiangmu));int resYue = jishiyueyejitongjiService.updateYeJiByMincheng(huiyuanyuyuexinxi.getZhidingjishi(),Integer.parseInt(jifenByXiangmu));//TODO 将统计表中的服务次数都+1int resFuWu = jishinianyejitongjiService.updateFuWuByMincheng(huiyuanyuyuexinxi.getZhidingjishi());int resYueFuWu = jishiyueyejitongjiService.updateFuWuByMincheng(huiyuanyuyuexinxi.getZhidingjishi());return R.ok();}

2、管理员的会员的消费管理和技师的业绩统计管理分店业绩管理

**开发思路:**按照之前的思路将所有的图标汇总到一起

代码实现:

  • 前端
<div class="home"><el-row><el-col :span="12"><div id="myChart" :style="{ width: '600px', height: '600px' }"></div></el-col><el-col :span="12"> <div id="myChartNian" style="height: 500px; width: 600px;"></div></el-col></el-row></div>
------------------
dataXiaoliang: [],
dataNianXiaoliang: [],
----------------    
mounted() {this.Draw();this.$http({url: 'huiyuanyuexiaofeixinxi/xiaofei',method: 'get'}).then(res => {console.log(res.data)// 读取接口请求成功回传回来的数据var Huiyuanyuexiaofeixinxis = res.data.Huiyuanyuexiaofeixinxis// 定义数组,存放一会覆盖echarts图形的数据var data = []// 循环遍历数组,取出数据,转成和data一样的格式for (var i = 0; i < Huiyuanyuexiaofeixinxis.length; i++) {var d = { name: '', value: 0 }d.name = Huiyuanyuexiaofeixinxis[i].huiyuanxingmingd.value = Huiyuanyuexiaofeixinxis[i].yuexiaofeie// 往data数组中添加数据data.push(d)}// 排序,b - a降序——a - b升序data.sort((a, b) => b.value - a.value)// 覆盖data(){}中全局变量的数据this.dataXiaoliang = data// 画出图形this.Draw()}).catch(err => {console.log(err)console.log("后台接口请求失败!")})this.DrawNian();//绘制年销量的图this.$http({url: 'huiyuannianxiaofeixinxi/xiaofei',method: 'get'}).then(res => {console.log(res.data)// 读取接口请求成功回传回来的数据var Huiyuannianxiaofeixins = res.data.Huiyuannianxiaofeixins// 定义数组,存放一会覆盖echarts图形的数据var data = []console.log(Huiyuannianxiaofeixins.length)// 循环遍历数组,取出数据,转成和data一样的格式for (var i = 0; i < Huiyuannianxiaofeixins.length; i++) {var d = { name: '', value: 0 }d.name = Huiyuannianxiaofeixins[i].huiyuanxingmingd.value = Huiyuannianxiaofeixins[i].nianxiaofeie// 往data数组中添加数据data.push(d)}// 排序,b - a降序——a - b升序data.sort((a, b) => b.value - a.value)// 覆盖data(){}中全局变量的数据this.dataNianXiaoliang = data// 画出图形this.DrawNian()}).catch(err => {console.log(err)console.log("后台接口请求失败!")})},      
//绘制饼状图
methods:	Draw() {// 基于准备好的dom,初始化echarts实例let myChart = this.$echarts.init(document.getElementById('myChart'))// 绘制图表myChart.setOption({title: {text: '会员用户月销量统计(饼状图)',x: 'center'},// options配置项tooltip: {trigger: 'item'},legend: {top: '5%',left: 'center'},series: [{name: 'Access From',type: 'pie',radius: ['40%', '70%'],avoidLabelOverlap: false,itemStyle: {borderRadius: 10,borderColor: '#fff',borderWidth: 2},label: {show: false,position: 'center'},emphasis: {label: {show: true,fontSize: 40,fontWeight: 'bold'}},labelLine: {show: false},data: this.dataXiaoliang}]})},DrawNian() {// 基于准备好的dom,初始化echarts实例let myChartNian = this.$echarts.init(document.getElementById('myChartNian'))// 绘制图表myChartNian.setOption({title: {text: '会员用户年销量统计(饼状图)',x: 'center'},// options配置项tooltip: {trigger: 'item'},legend: {top: '7%', //调整图例的位置left: 'center'},series: [{center: ['50%', '60%'], // 调整饼图位置name: 'Access From',type: 'pie',radius: ['40%', '70%'],avoidLabelOverlap: false,itemStyle: {borderRadius: 10,borderColor: '#fff',borderWidth: 2},label: {show: false,position: 'center'},emphasis: {label: {show: true,fontSize: 40,fontWeight: 'bold'}},labelLine: {show: false},data: this.dataNianXiaoliang}]})},
  • 后端
    /*** 后端饼状图*/@GetMapping("/xiaofei")public Map<String,List<MeirongxiangmuniantongjiEntity>> xiaofei(){HashMap<String,List<MeirongxiangmuniantongjiEntity>> map = new HashMap<>();map.put("Xiangmunianyejixinxis",meirongxiangmuniantongjiService.selectAllYonghuyuexiaofeixinxis());return map;}

image-20240411105207602

3、实现用于和会员在前台预约完成后管理员审核后,在普通用户/会员的消费统计页面添加对应的值

**开发思路:**普通用户和会员在预约后,管理员审核完成后将预约的项目的价格加到他们对应的消费额度上

代码实现:

  • 前端

  • 后端
/*** 修改*/@RequestMapping("/update")public R update(@RequestBody YonghuyuyuexinxiEntity yonghuyuyuexinxi, HttpServletRequest request){yonghuyuyuexinxiService.updateById(yonghuyuyuexinxi);//全部更新//给相应的技师添加对应项目的积分//查询对应的项目所对应的积分数据String jifenByXiangmu = meirongxiangmuService.selectJifenByXiangmu(yonghuyuyuexinxi.getXiangmumingcheng());//查询对应的技师数据,在此基础上进行修改积分字段System.out.println("jifenByXiangmu = " + jifenByXiangmu);int result =  jishiService.UpdateJiShiByMingcheng(yonghuyuyuexinxi.getZhidingjishi(),Integer.parseInt(jifenByXiangmu));System.out.println("result = " + result);System.out.println("zhidingjishi = " + yonghuyuyuexinxi.getZhidingjishi());//将积分添加到技师月统计和年统计业绩上int res = jishinianyejitongjiService.updateYeJiByMincheng(yonghuyuyuexinxi.getZhidingjishi(),Integer.parseInt(jifenByXiangmu));int resYue = jishiyueyejitongjiService.updateYeJiByMincheng(yonghuyuyuexinxi.getZhidingjishi(),Integer.parseInt(jifenByXiangmu));//将统计表中的服务次数都+1int resFuWu = jishinianyejitongjiService.updateFuWuByMincheng(yonghuyuyuexinxi.getZhidingjishi());int resYueFuWu = jishiyueyejitongjiService.updateFuWuByMincheng(yonghuyuyuexinxi.getZhidingjishi());//TODO 将项目对应的价格添加到用户的月消费额度和年消费额度//TODO 根据用户预约的项目名称查询对应的价格int xiangmuJiaGe = meirongxiangmuService.selectJiaGeByXiangMuXingMing(yonghuyuyuexinxi.getXiangmumingcheng());//先查询一下用户统计表中有没有要查询的数据,有则更新,无则增加int resXiaoFei =  yonghuyuexiaofeixinxiService.selectYonghuYueXiaoFeie(yonghuyuyuexinxi.getXingming());System.out.println("resXiaoFei = " + resXiaoFei);/*用户月消费*/if (resXiaoFei == 0) {//用户月消费统计表中添加这条数据YonghuyuexiaofeixinxiEntity yonghuyuexiaofeixinxi = new YonghuyuexiaofeixinxiEntity();yonghuyuexiaofeixinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());yonghuyuexiaofeixinxi.setZhanghao(yonghuyuyuexinxi.getZhanghao());yonghuyuexiaofeixinxi.setAddtime(new DateTime());//根据预约的姓名查询用户表中对应的性别String sex = putongyonghuService.selectSexByName(yonghuyuyuexinxi.getXingming());yonghuyuexiaofeixinxi.setXingbie(sex);yonghuyuexiaofeixinxi.setXingming(yonghuyuyuexinxi.getXingming());yonghuyuexiaofeixinxi.setYuexiaofeie(xiangmuJiaGe);boolean insert = yonghuyuexiaofeixinxiService.insert(yonghuyuexiaofeixinxi);if (insert) {System.out.println("用户月消费额度增加一条" + insert);}}else{//更新数据yonghuyuexiaofeixinxiService.updateYonghuYueXiaoFeie(yonghuyuyuexinxi.getXingming(), xiangmuJiaGe);}//先查询一下用户统计表中有没有要查询的数据,有则更新,无则增加int resNianXiaoFei =  yonghunianxiaofeixinxiService.selectYonghuNianXiaoFeie(yonghuyuyuexinxi.getXingming());/*用户年消费*/if (resNianXiaoFei == 0) {//用户月消费统计表中添加这条数据YonghunianxiaofeixinxiEntity yonghunianxiaofeixinxi = new YonghunianxiaofeixinxiEntity();yonghunianxiaofeixinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());yonghunianxiaofeixinxi.setZhanghao(yonghuyuyuexinxi.getZhanghao());yonghunianxiaofeixinxi.setAddtime(new DateTime());//根据预约的姓名查询用户表中对应的性别String sex = putongyonghuService.selectSexByName(yonghuyuyuexinxi.getXingming());yonghunianxiaofeixinxi.setXingbie(sex);yonghunianxiaofeixinxi.setXingming(yonghuyuyuexinxi.getXingming());yonghunianxiaofeixinxi.setNianxiaofeie(xiangmuJiaGe);boolean insert = yonghunianxiaofeixinxiService.insert(yonghunianxiaofeixinxi);if (insert) {System.out.println("用户年消费额度增加一条" + insert);}}else{//更新数据int updateYonghuNianXiaoFeie = yonghunianxiaofeixinxiService.updateYonghuNianXiaoFeie(yonghuyuyuexinxi.getXingming(), xiangmuJiaGe);System.out.println("updateYonghuNianXiaoFeie = " + updateYonghuNianXiaoFeie);}System.out.println("resNianXiaoFei = " + resNianXiaoFei);return R.ok();}

会员:

  • 后端
   /*** 修改*/@RequestMapping("/update")public R update(@RequestBody HuiyuanyuyuexinxiEntity huiyuanyuyuexinxi, HttpServletRequest request){//ValidatorUtils.validateEntity(huiyuanyuyuexinxi);huiyuanyuyuexinxiService.updateById(huiyuanyuyuexinxi);//全部更新//给相应的技师添加对应项目的积分//查询对应的项目所对应的积分数据String jifenByXiangmu = meirongxiangmuService.selectJifenByXiangmu(huiyuanyuyuexinxi.getXiangmumingcheng());//查询对应的技师数据,在此基础上进行修改积分字段int result =  jishiService.UpdateJiShiByMingcheng(huiyuanyuyuexinxi.getZhidingjishi(),Integer.parseInt(jifenByXiangmu));//TODO 将积分添加到技师月统计和年统计业绩上int res = jishinianyejitongjiService.updateYeJiByMincheng(huiyuanyuyuexinxi.getZhidingjishi(),Integer.parseInt(jifenByXiangmu));int resYue = jishiyueyejitongjiService.updateYeJiByMincheng(huiyuanyuyuexinxi.getZhidingjishi(),Integer.parseInt(jifenByXiangmu));//TODO 将统计表中的服务次数都+1int resFuWu = jishinianyejitongjiService.updateFuWuByMincheng(huiyuanyuyuexinxi.getZhidingjishi());int resYueFuWu = jishiyueyejitongjiService.updateFuWuByMincheng(huiyuanyuyuexinxi.getZhidingjishi());//TODO 将项目对应的价格添加到会员的月消费额度和年消费额度//TODO 根据会员预约的项目名称查询对应的价格int xiangmuJiaGe = meirongxiangmuService.selectJiaGeByXiangMuXingMing(huiyuanyuyuexinxi.getXiangmumingcheng());//先查询一下用户统计表中有没有要查询的数据,有则更新,无则增加int resHuiYuanXiaoFei =  huiyuanyuexiaofeixinxiService.selectHuiYuanYueXiaoFeie(huiyuanyuyuexinxi.getHuiyuanxingming());System.out.println("resHuiYuanXiaoFei的值为:" + resHuiYuanXiaoFei);/*用户月消费*/if (resHuiYuanXiaoFei == 0) {//用户月消费统计表中添加这条数据HuiyuanyuexiaofeixinxiEntity huiyuanyuexiaofeixinxi = new HuiyuanyuexiaofeixinxiEntity();huiyuanyuexiaofeixinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());huiyuanyuexiaofeixinxi.setHuiyuanzhanghao(huiyuanyuyuexinxi.getHuiyuanzhanghao());huiyuanyuexiaofeixinxi.setAddtime(new DateTime());//根据预约的姓名查询用户表中对应的性别String sex = huiyuanService.selectSexByName(huiyuanyuyuexinxi.getHuiyuanxingming());huiyuanyuexiaofeixinxi.setXingbie(sex);huiyuanyuexiaofeixinxi.setHuiyuanxingming(huiyuanyuyuexinxi.getHuiyuanxingming());huiyuanyuexiaofeixinxi.setYuexiaofeie(xiangmuJiaGe);boolean insert = huiyuanyuexiaofeixinxiService.insert(huiyuanyuexiaofeixinxi);if (insert) {System.out.println("会员的月消费额度数据增加条数为:" + insert + "条");}}else{//更新数据huiyuanyuexiaofeixinxiService.updateHuiYuanYueXiaoFeie(huiyuanyuyuexinxi.getHuiyuanxingming(), xiangmuJiaGe);}//先查询一下用户统计表中有没有要查询的数据,有则更新,无则增加int resHuiYuanNianXiaoFei =  huiyuannianxiaofeixinxiService.selectHuiyuanNianXiaoFeie(huiyuanyuyuexinxi.getHuiyuanxingming());/*用户年消费*/if (resHuiYuanNianXiaoFei == 0) {//用户月消费统计表中添加这条数据HuiyuannianxiaofeixinxiEntity huiyuannianxiaofeixinxi = new HuiyuannianxiaofeixinxiEntity();huiyuannianxiaofeixinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());huiyuannianxiaofeixinxi.setHuiyuanzhanghao(huiyuanyuyuexinxi.getHuiyuanzhanghao());System.out.println("会员账号是:" + (huiyuanyuyuexinxi.getHuiyuanzhanghao()));huiyuannianxiaofeixinxi.setAddtime(new DateTime());//根据预约的姓名查询用户表中对应的性别String sex = huiyuanService.selectSexByName(huiyuanyuyuexinxi.getHuiyuanxingming());huiyuannianxiaofeixinxi.setXingbie(sex);huiyuannianxiaofeixinxi.setHuiyuanxingming(huiyuanyuyuexinxi.getHuiyuanxingming());huiyuannianxiaofeixinxi.setNianxiaofeie(xiangmuJiaGe);boolean insert = huiyuannianxiaofeixinxiService.insert(huiyuannianxiaofeixinxi);if (insert) {System.out.println("会员年消费额度增加条数为:" + insert + "条");}}else{//更新数据int updateYonghuNianXiaoFeie = huiyuannianxiaofeixinxiService.updateHuiYuanNianXiaoFeie(huiyuanyuyuexinxi.getHuiyuanxingming(), xiangmuJiaGe);System.out.println("updateYonghuNianXiaoFeie的值为:" + updateYonghuNianXiaoFeie);}System.out.println("resHuiYuanNianXiaoFei的值为:" + resHuiYuanNianXiaoFei);return R.ok();}
 后端```java/*** 后端查询所有的所有的技师工号*/@RequestMapping("/getJiShiGongHaoList")public R getJiShiGongHaoList() {List<String> result = jishiService.getJiShiGongHaoList();return R.ok().put("data", result);}/*** 后端查询根据技师工号查询技师姓名*/@RequestMapping("/getJiShiGongName")public R getJiShiGongName(String jishigonghao) {List<String> result = jishiService.getJiShiGongName(jishigonghao);return R.ok().put("data", result);}
--------------
<select id="getJiShiGongHaoList" resultType="java.lang.String">select distinct jishigonghao from jishi</select><select id="getJiShiGongName" resultType="java.lang.String">select distinct jishixingming from jishiwhere  jishigonghao = #{jishigonghao}
</select>

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

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

相关文章

flutter跑通腾讯云直播Demo

运行示例 前提条件 要求java jdk 11版本 并且配置到了环境变量 重要 要求flutter 版本 2.8.0 并且配置到了环境变量 重要 要求dart-sdk版本2.15 并且配置到了环境变量 重要 您已 注册腾讯云 账号&#xff0c;并完成 实名认证。 申请 SDKAPPID 和 SECRETKEY 登录实时音视频控…

Leetcode 406. 根据身高重建队列

心路历程&#xff1a; 看到二维数组的排序问题&#xff0c;第一反应想到了之前合并区间那道题先对数组按照第一维排序&#xff0c;后来在纸上模拟后发现&#xff0c;如果按照第一维度降维&#xff0c;第二维度升维的方式排序&#xff0c;那么后面插入的元素一定不会影响前面的…

【算法练习】29:插入排序学习笔记

一、插入排序的算法思想 原理&#xff1a;将一个无序的数据序列逐步转化为有序序列。算法将待排序的数组分为两个部分已排序部分和未排序部分。 时间复杂度&#xff1a;插入排序的时间复杂度在最坏、平均和最好情况下的表现相同&#xff0c;均为 &#xff0c;其中 n 是待排序数…

WS2812B彩灯

目录 1、介绍 2、参数 3、引脚功能 4、应用电路 5、Code 1、介绍 WS2812是一种智能控制LED灯源&#xff0c;集成了控制电路和RGB芯片在一个5050封装组件中。它的主要特点和技术规格如下&#xff1a; 集成设计&#xff1a;WS2812将控制电路和RGB芯片集成在同一个封装中&…

【高端电流检测IC储能产品应用方案】耐压28V侧轨的电流检测芯片FP130A 应用于电脑电源,开关电源以及多口快充充电器,户外移动电源,适配器,电池充电器等

电流检测技术常用于高压短路保护、电机控制、DC/DC换流器、系统功耗管理、二次电池的电流管理、蓄电池管理等电流侦测等场景。对于大多数应用而言&#xff0c;都是间接测量电阻两端的跨压差来获取待测电流。 如下面的高端电流检测芯片FP130A&#xff0c;丝印是FC915。电路原理图…

【方法】PDF密码如何取消?

对于重要的PDF文件&#xff0c;很多人会设置密码保护&#xff0c;那后续不需要保护了&#xff0c;如何取消密码呢&#xff1f; 今天我们来看看&#xff0c;PDF的两种密码&#xff0c;即“限制密码”和“打开密码”&#xff0c;是如何取消的&#xff0c;以及忘记密码的情况要怎…

设计模式-组合模式(Composite Pattern)

1. 概念 组合模式是一种结构型设计模式&#xff0c;它允许将对象组合成树状的层次结构&#xff0c;用来表示“整体-部分”的关系。 2. 原理结构图 原理图 抽象角色&#xff08;Component&#xff09;&#xff1a;这是组合模式的核心&#xff0c;它定义了树叶和树枝构件的公…

【linux】set ff=unix、linux设置文件格式

文章目录 一、文件格式二、如何查看文件格式三、设置文件格式、set ffunix四、查看unix与dos的区别 一、文件格式 当我们打开sh脚本时发现有时候格式是unix(LF) ,有时候是windows(CR LF) 。如下图&#xff1a; 文件格式影响了文件中的换行符 linux中sh类型的文件一般要设置为…

Centos7 k8s 集群 - Rook Ceph 安装

环境准备 基础环境 系统名称操作系统CPU内存硬盘Kubernete 版本Docker版本IPmasterCentos74c4gsdb 20G1.17.023.0.1192.168.1.128node01Centos74c4gsdb 20G1.17.023.0.1192.168.1.129node02Centos74c4gsdb 20G1.17.023.0.1192.168.1.130node03Centos74c4gsdb 20G1.17.023.0.1…

oracle分区表迁移后空间占用增大

检查分区段隐含参数&#xff1a; select a.KSPPINM "Parameter", c.ksppstvl "Instance Value", ksppdesc "Desc" from sys.x$ksppi a, sys.x$ksppcv b, sys.x$ksppsv c where a.indx b.indx and a.indx c.indx and substr(ksppinm,1,1)_ and…

MySQL——全文检索

不是所有的数据表都支持全文检索 MySQL支持多种底层数据库引擎&#xff0c;但是并非所有的引擎支持全文检索 &#xff0c;目前最常用引擎是是MyISAM和InnoDB&#xff1b;前者支持全文检索&#xff0c;后者不支持。 booolean模式操作符 实验&#xff1a; 表productnotes &…

[Kubernetes[K8S]集群:Slaver从节点初始化和Join]:添加到主节点集群内

文章目录 操作流程&#xff1a;上篇主节初始化地址&#xff1a;前置&#xff1a;Docker和K8S安装版本匹配查看0.1&#xff1a;安装指定docker版本 **[1 — 8] ** [ 这些步骤主从节点前置操作一样的 ]一&#xff1a;主节点操作 查看主机域名->编辑域名->域名配置二&#x…