开发日志2024-04-12

开发日志2024/04/12

1、分店月业绩和年业绩都需要添加为真实数据

**开发思路:**分店下所属的技师的业绩总和

代码实现:

  • 前端

  • 后端
//TODO 将技师多对应的积分累加到他所属的分店的月/年累计业绩销量中//TODO 查询技师所对应的分店地址String fendian = jishiService.selectFenDianByJiShi(yonghuyuyuexinxi.getZhidingjishi());//在分店年/月业绩的表中添加对应技师的积分int fendianYueYeJi =  qiantaiyueyejitongjiService.updateYueYeJi(fendian,Integer.parseInt(jifenByXiangmu));int fendianNianYeJi =  qiantainianyejitongjiService.updateNianYeJi(fendian,Integer.parseInt(jifenByXiangmu));System.out.println("fendianNianYeJi = " + fendianNianYeJi);System.out.println("fendianYueYeJi = " + fendianYueYeJi);System.out.println("fendian = " + fendian);
-----------------------------------------------//TODO 将技师多对应的积分累加到他所属的分店的月/年累计业绩销量中//TODO 查询技师所对应的分店地址String fendian = jishiService.selectFenDianByJiShi(huiyuanyuyuexinxi.getZhidingjishi());//在分店年/月业绩的表中添加对应技师的积分System.out.println("fendian = " + fendian);int fendianYueYeJi =  qiantaiyueyejitongjiService.updateYueYeJi(fendian,Integer.parseInt(jifenByXiangmu));int fendianNianYeJi =  qiantainianyejitongjiService.updateNianYeJi(fendian,Integer.parseInt(jifenByXiangmu));System.out.println("fendianNianYeJi = " + fendianNianYeJi);System.out.println("fendianYueYeJi = " + fendianYueYeJi);

5、理疗项目的年/月预约量和年/月预约额都需要添加为真实数据

**开发思路:**理疗项目在管理员审核完成后,将此项目对应的销量+1,同时将项目对应的价格添加到销售额上边

代码实现:

  • 前端

  • 后端
		//TODO 将用户预约的项目对应的名称累加到理疗项目对应的月/年销售量上,将项目对应的价格加到销售额度上//TODO 先通过预约项目名称查询到对应的数据是否存在int YueXiaoFeixiangMuMingCheng = meirongxiangmuyuetongjiService.selectXiangMuMingCheng(yonghuyuyuexinxi.getXiangmumingcheng());int NianXiaoFeixiangMuMingCheng = meirongxiangmuniantongjiService.selectXiangMuMingCheng(yonghuyuyuexinxi.getXiangmumingcheng());//有的修改,无则添加System.out.println("NianXiaoFeixiangMuMingCheng = " + NianXiaoFeixiangMuMingCheng);System.out.println("YueXiaoFeixiangMuMingCheng = " + YueXiaoFeixiangMuMingCheng);if (YueXiaoFeixiangMuMingCheng != 0) {//修改月销量和月销售额度meirongxiangmuyuetongjiService.updateYueXiaoLiaoAndEdu(yonghuyuyuexinxi.getXiangmumingcheng(),xiangmuJiaGe);}else {MeirongxiangmuyuetongjiEntity xiangmuyuetongji = new MeirongxiangmuyuetongjiEntity();xiangmuyuetongji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());xiangmuyuetongji.setAddtime(new DateTime());xiangmuyuetongji.setTongjiriqi(new DateTime());xiangmuyuetongji.setXiangmumingcheng(yonghuyuyuexinxi.getXiangmumingcheng());xiangmuyuetongji.setXiangmuzhaopian(xiangmuZhaoPian);xiangmuyuetongji.setYuexiaoliang(1);xiangmuyuetongji.setYuexiaoshoue(Integer.parseInt(jifenByXiangmu));//添加meirongxiangmuyuetongjiService.insert(xiangmuyuetongji);}/*年销售量*/if (NianXiaoFeixiangMuMingCheng != 0) {//修改年销售量和年销售额度meirongxiangmuniantongjiService.updateNianXiaoLiaoAndEdu(yonghuyuyuexinxi.getXiangmumingcheng(),xiangmuJiaGe);}else {MeirongxiangmuniantongjiEntity xiangmuniantongji = new MeirongxiangmuniantongjiEntity();xiangmuniantongji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());xiangmuniantongji.setAddtime(new DateTime());xiangmuniantongji.setTongjiriqi(new DateTime());xiangmuniantongji.setXiangmumingcheng(yonghuyuyuexinxi.getXiangmumingcheng());xiangmuniantongji.setXiangmuzhaopian(xiangmuZhaoPian);xiangmuniantongji.setNianxiaoliang(1);xiangmuniantongji.setNianxiaoshoue(Integer.parseInt(jifenByXiangmu));//添加meirongxiangmuniantongjiService.insert(xiangmuniantongji);}
-------------------//TODO 根据项目名称查询项目照片String xiangmuZhaoPian = meirongxiangmuService.selectZhaoPian(huiyuanyuyuexinxi.getXiangmumingcheng());//有的修改,无则添加System.out.println("HuiYuanNianXiaoFeixiangMuMingCheng = " + NianXiaoFeixiangMuMingCheng);System.out.println("HuiYuanYueXiaoFeixiangMuMingCheng = " + YueXiaoFeixiangMuMingCheng);if (YueXiaoFeixiangMuMingCheng != 0) {//修改月销量和月销售额度meirongxiangmuyuetongjiService.updateYueXiaoLiaoAndEdu(huiyuanyuyuexinxi.getXiangmumingcheng(),xiangmuJiaGe);}else {MeirongxiangmuyuetongjiEntity xiangmuyuetongji = new MeirongxiangmuyuetongjiEntity();xiangmuyuetongji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());xiangmuyuetongji.setAddtime(new DateTime());xiangmuyuetongji.setTongjiriqi(new DateTime());xiangmuyuetongji.setXiangmumingcheng(huiyuanyuyuexinxi.getXiangmumingcheng());xiangmuyuetongji.setXiangmuzhaopian(xiangmuZhaoPian);xiangmuyuetongji.setYuexiaoliang(1);xiangmuyuetongji.setYuexiaoshoue(Integer.parseInt(jifenByXiangmu));//添加meirongxiangmuyuetongjiService.insert(xiangmuyuetongji);}/*年销售量*/if (NianXiaoFeixiangMuMingCheng != 0) {//修改年销售量和年销售额度meirongxiangmuniantongjiService.updateNianXiaoLiaoAndEdu(huiyuanyuyuexinxi.getXiangmumingcheng(),xiangmuJiaGe);}else {MeirongxiangmuniantongjiEntity xiangmuniantongji = new MeirongxiangmuniantongjiEntity();xiangmuniantongji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());xiangmuniantongji.setAddtime(new DateTime());xiangmuniantongji.setTongjiriqi(new DateTime());xiangmuniantongji.setXiangmumingcheng(huiyuanyuyuexinxi.getXiangmumingcheng());xiangmuniantongji.setXiangmuzhaopian(xiangmuZhaoPian);xiangmuniantongji.setNianxiaoliang(1);xiangmuniantongji.setNianxiaoshoue(Integer.parseInt(jifenByXiangmu));//添加meirongxiangmuniantongjiService.insert(xiangmuniantongji);}

2、Update语句更新两个字段

update tableName 
set 字段1 = 字段值, 字段2 = 字段值
where 条件

3、技师登录查看自己的业绩

实现思路: 在Vue创建页面复制之前的Echarts的页面,后台调用接口的是查询两个会员预约信息和普通胡用户预约信息中是当前技师姓名的所有数据,在Vue按照项目名称来进行展示(可以参考普通用户预约和会员预约页面)

4、Vue查询当前登录的用户名

实现思路: 利用this.$storage.get(‘adminName’)获取到当前登录的用户名,将此作为参数传递给后台调用查询

实现代码:

  • 前端
    //调用api查询技师姓名selectJiShiName(adminName){this.$http({url: `jishi/jishiName/${adminName}`,method: 'get'}).then(res => {console.log(res.data.data)this.jishiName = res.data.dataconsole.log("技师姓名查询成功!")})},
  • 后端
	/*** 根据技师账号查询技师姓名*/@RequestMapping("/jishiName/{adminName}")public R findName(@PathVariable("adminName") String jshizhanghao){String jishiName = jishiService.selectJiShiName(jshizhanghao);return R.ok().put("data", jishiName);}<select id="selectJiShiName" resultType="java.lang.String">select jishixingmingfrom jishiwhere jishigonghao = #{jshizhanghao};</select>

image-20240412105236128

5、分店管理员权限下的分店技师管理页面

实现思路: 根据分店的账号查询分店地址,再将地址作为参数传给后台调用api查询当前分店所属的技师业绩信息

实现代码:

  • 前端
  console.log("分店账号是")console.log(this.$storage.get('adminName'))this.Draw();if (this.fendianName) {this.$http({url: `qiantai/fendianName/${this.$storage.get('adminName')}`,method: 'get'}).then(res => {console.log(res.data.data)this.fendianName = res.data.datathis.$http({url: `jishiyueyejitongji/fendian/xiaofei/${this.fendianName}`,method: 'get'}).then(res => {console.log(res.data)// 读取接口请求成功回传回来的数据var Jishiyueyejitongjis = res.data.Jishiyueyejitongjis// 定义数组,存放一会覆盖echarts图形的数据var data = []// 循环遍历数组,取出数据,转成和data一样的格式for (var i = 0; i < Jishiyueyejitongjis.length; i++) {var d = { name: '', value: 0 }d.name = Jishiyueyejitongjis[i].jishixingmingd.value = Jishiyueyejitongjis[i].yueyejie// 往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();}else{this.$http({url: `qiantai/fendianName/${this.$storage.get('adminName')}`,method: 'get'}).then(res => {console.log(res.data.data)this.fendianName = res.data.datathis.$http({url: `jishiyueyejitongji/fendian/xiaofei/${this.fendianName}`,method: 'get'}).then(res => {console.log(res.data)// 读取接口请求成功回传回来的数据var Jishiyueyejitongjis = res.data.Jishiyueyejitongjis// 定义数组,存放一会覆盖echarts图形的数据var data = []// 循环遍历数组,取出数据,转成和data一样的格式for (var i = 0; i < Jishiyueyejitongjis.length; i++) {var d = { name: '', value: 0 }d.name = Jishiyueyejitongjis[i].jishixingmingd.value = Jishiyueyejitongjis[i].yueyejie// 往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();})}
  • 后端
/*** 后端年业绩饼状图*/@GetMapping("/fendian/xiaofei/{fendianName}")public Map<String,List<JishinianyejitongjiEntity>> xiaofei(@PathVariable("fendianName") String fendianName){HashMap<String,List<JishinianyejitongjiEntity>> map = new HashMap<>();//TODO 查询此分店下的技师姓名集合List<String> jishiNames = jishiService.selectJishiNamesByFenDian(fendianName);for (int i = 0; i < jishiNames.size(); i++) {System.out.println("技师" + i + "为:" +jishiNames.get(i));}//TODO 在月统计表中查询技师姓名在上述集合中的数据map.put("Jishinianyejitongjis",jishinianyejitongjiService.selectJiShixiaofeixinxis(jishiNames));return map;}

image-20240412154437779

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

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

相关文章

【C++入门】内联函数、auto与基于范围的for循环

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

「2024」React 状态管理入门

概念 简单来说&#xff0c;状态指的是某一时刻应用中的数据或界面的呈现。这些数据可能包括用户填写表单的信息、应用内的用户偏好设置、应用的页面/路由状态、或者任何其他可能改变UI的信息。 状态管理是前端开发中处理用户界面(UI)状态的过程&#xff0c;在复杂应用中尤其重…

MATLAB 构建协方差矩阵,解算特征值和特征向量(63)

MATLAB 局部点云构建协方差矩阵,解算特征值和特征向量(63) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 对于某片有待分析的点云,我们希望构建协方差矩阵,计算特征值和特征向量,这是很多算法必要的分析方法,这里提供完整的计算代码(验证正确) !!! 特别需要注意…

Linux上的可执行文件在Windows上是不能运行的

一、概要 1、可执行文件的格式 Linux上的可执行文件是elf格式的 Windows上的可执行文件是exe格式的 Linux上的可执行文件在Windows上是不能运行的 2、程序的普通构建与静态构建 普通构建&#xff1a; 一个.c文件&#xff0c;用gcc命令编译成可执行文件(程序)&#xff0c…

[lesson22]对象的销毁

对象的销毁 对象的销毁 生活中的对象都是被初始化后才上市的 生活中的对象被销毁前会做一些清理工作 一般而言&#xff0c;需要销毁的对象都应该做清理 解决方案 为每个类都提供一个public的free函数对象不在需要时立即调用free函数进行清理 存在的问题 free只是一个普通…

STM32H7的MPU学习和应用示例

STM32H7的MPU学习记录 什么是MPU&#xff1f;MPU的三种内存类型内存映射MPU保护区域以及优先级 MPU的寄存器XN位AP位TEX、C、B、S位SRD 位SIZE 位CTRL 寄存器的各个位 示例总结 什么是MPU&#xff1f; MPU&#xff08;Memory Protection Unit&#xff0c;内存保护单元&#xf…

文献分享:《基于中国人群的BRCA胚系突变筛查专家共识(2024年版)》

&#xff3b;摘要&#xff3d; BRCA基因&#xff08;包括BRCA1和BRCA2&#xff09;的胚系突变是家族性乳腺癌、卵巢癌等肿瘤的核心风险因素。在人群中&#xff0c;特别是已有肿瘤家族史的高危人群中&#xff0c;BRCA基因检测可以发挥预防性管理作用&#xff0c;有助于降低此类遗…

【C语言__编译和链接__复习篇2】

目录 前言 一、翻译环境和运行环境 二、翻译环境 2.1 预处理 2.1 编译 2.1.1 词法分析 2.1.2 语法分析 2.1.3 语义分析 2.2 汇编 2.3 链接 三、运行环境 四、简答主线问题 前言 本篇主要讨论以下问题&#xff1a; 主线问题&#xff1a; 1. 源文件(.c)如何转换成(.exe)文件…

每日一题---OJ题: 环形链表 II

片头 嗨! 小伙伴们,大家好! 我们又见面啦,在上一篇中,我们学习了环形链表I, 今天我们继续来打boss,准备好了吗? Ready Go ! ! ! emmm,同样都是环形链表,有什么不一样的地方呢? 肯定有, 要不然也不会一个标记为"简单" ,一个标记为"中等"了,哈哈哈哈哈 …

·13·1dawwd

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

轮腿机器人-五连杆正运动学解算

轮腿机器人-五连杆与VMC 1.五连杆正运动学分析2.参考文献 1.五连杆正运动学分析 如图所示为五连杆结构图&#xff0c;其中A&#xff0c;E为机器人腿部控制的两个电机&#xff0c;θ1,θ4可以通过电机的编码器测得。五连杆控制任务主要关注机构末端C点位置&#xff0c;其位置用直…

Zotero插件ZotCard中AI-NNDL文献笔记卡分享及卡片使用方法

一、卡片社区分享 github&#xff1a;ZotCard插件AI-NNDL论文卡片模板 Issue #67 018/zotcard (github.com) 二、卡片效果预览 ZotCard插件AI-NNDL论文卡片模板是关于人工智能神经网络与深度学习论文的笔记卡片&#xff0c;效果预览如下图&#xff1a; 三、卡片代码 经过了…

SAP CAP篇十七:写个ERP的会计系统吧,Part IV

本文目录 本系列文章目标开发步骤数据库表设计借贷初始化数据 会计凭证 Service 定义生成Fiori App更新CDS AnnotationApp运行 本系列文章 SAP CAP篇一: 快速创建一个Service&#xff0c;基于Java的实现 SAP CAP篇二&#xff1a;为Service加上数据库支持 SAP CAP篇三&#xff…

HarmonyOS分布式应用框架深入解读

随着越来越多设备的智能化&#xff0c;在多设备场景下应用开发面临以下挑战&#xff1a;从多设备的形态差异&#xff08;不同大小、不同分辨率、不同形状的屏幕&#xff0c;多样化的交互方式–按钮、触屏、键盘、语音、手势等&#xff09;&#xff0c;多设备的能力差异&#xf…

AI赋能档案开放审核:实战

关注我们 - 数字罗塞塔计划 - 为进一步推进档案开放审核工作提质增效&#xff0c;结合近几年的业务探索、研究及项目实践&#xff0c;形成了一套较为成熟、高效的AI辅助档案开放审核解决方案&#xff0c;即以“AI人工”的人机协同模式引领档案开放审机制创新&#xff0c;在档…

一站式开源持续测试平台 MerterSphere 之测试跟踪操作详解

一、MeterSphere平台介绍 MeterSphere是一站式的开源持续测试平台&#xff0c;遵循 GPL v3 开源许可协议&#xff0c;涵盖测试跟踪、接口测试、UI 测试和性能测试等功能&#xff0c;全面兼容JMeter、Selenium 等主流开源标准&#xff0c;有效助力开发和测试团队充分利用云弹性…

TCP协议简单总结

TCP&#xff1a;传输控制协议 特点&#xff1a;面向连接、可靠通信 TCP的最终目的&#xff1a;要保证在不可靠的信道上实现可靠的传输 TCP主要有三个步骤实现可靠传输&#xff1a;三次握手建立连接&#xff0c;传输数据进行确认&#xff0c;四次挥手断开连接 三次握手建立可靠…

Golang ProtoBuf 初学者完整教程:语法

一、编码规范推荐 1、文件名使用小写下划线的命名风格&#xff0c;例如 lower_snake_case.proto 2、使用 2 个空格缩进 3、包名应该和目录结构对应 4、消息名使用首字母大写驼峰风格(CamelCase)&#xff0c;例如message StudentRequest { ... } 5、字段名使用小写下划线的风格…

【系统分析师】操作系统部分

文章目录 1、进程状态2、前趋图3、PV操作4、死锁问题5、存储管理5.1 页式存储5.2 段式存储5.3 段页式存储5.4 页面置换算法 6、文件管理6.1 索引文件结构6.2 空闲存储空间管理 7、设备管理7.1数据传输控制7.2 虚设备和SPOOLING技术7.3 微内核操作系统7.4 嵌入式操作系统 说明&a…

LeetCode-32. 最长有效括号【栈 字符串 动态规划】

LeetCode-32. 最长有效括号【栈 字符串 动态规划】 题目描述&#xff1a;解题思路一&#xff1a;辅助栈解题思路二&#xff1a;动态规划解题思路三&#xff1a;0 题目描述&#xff1a; 给你一个只包含 ‘(’ 和 ‘)’ 的字符串&#xff0c;找出最长有效&#xff08;格式正确且…