package com.nusture.controller;
import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.util.SaResult;
import com.nusture.service.FamilyService;
import com.nusture.pojo.User;
import com.nusture.service.CostService;
import com.nusture.service.IncomeService;
import com.nusture.service.UserService;
import com.nusture.util.SparkCalculate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.scheduling.annotation.Async;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.text.ParseException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private CostService costService;
@Autowired
private IncomeService incomeService;
@Autowired
private UserService userService;
@Autowired
private FamilyService familyService;
@Autowired
private ApplicationContext applicationContext;
//获取当日收支
@PostMapping("today")
public SaResult today(@RequestHeader String token) {
//通过token获取用户id
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
//通过id查询用户
User user = userService.getUserById(id);
//统计今日收支金额
BigDecimal todayCost = costService.getTodayCost(user.getFamilyCode());
BigDecimal todayIncome = incomeService.getTodayIncome(user.getFamilyCode());
HashMap<String, BigDecimal> map = new HashMap<>();
map.put("todayCost", todayCost);
map.put("todayIncome", todayIncome);
//将数据传给前端
return SaResult.data(map);
}
//获取所有时间总资产的变化
@PostMapping("moneyChange")
public SaResult moneyChange(@RequestHeader String token) {
//通过token获取用户id
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
//通过id查询用户
User user = userService.getUserById(id);
//通过familyCode查询家庭基础资金
List<Map<String,Object>> moneyChangeList = familyService.getBaseMoneyAll(user.getFamilyCode());
return SaResult.data(moneyChangeList);
}
//通过家庭码获取支出类别统计
@PostMapping("costByType")
public SaResult costByType(@RequestHeader String token) {
//通过token获取用户id
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
//通过id查询用户
User user = userService.getUserById(id);
//通过familyCode查询所有时间支出
List<Map<String, Object>> costTypeList = costService.getCostByType(user.getFamilyCode());
return SaResult.data(costTypeList);
}
//通过家庭码获取支出类别统计水波图
@PostMapping("costByTypeWater")
public SaResult costByTypeWater(@RequestHeader String token) {
//通过token获取用户id
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
//通过id查询用户
User user = userService.getUserById(id);
//通过familyCode查询所有时间支出
List<Map<String, Object>> costTypeList = costService.getCostByTypeWater(user.getFamilyCode());
return SaResult.data(costTypeList);
}
//通过家庭码获取收入类别统计
@PostMapping("incomeByType")
public SaResult incomeByType(@RequestHeader String token) {
//通过token获取用户id
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
//通过id查询用户
User user = userService.getUserById(id);
//通过familyCode查询所有时间支出
List<Map<String, Object>> incomeTypeList = incomeService.getIncomeByType(user.getFamilyCode());
return SaResult.data(incomeTypeList);
}
//通过家庭码获取收入类别统计水波图
@PostMapping("incomeByTypeWater")
public SaResult incomeByTypeWater(@RequestHeader String token) {
//通过token获取用户id
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
//通过id查询用户
User user = userService.getUserById(id);
//通过familyCode查询所有时间支出
List<Map<String, Object>> costTypeList = incomeService.getIncomeByTypeWater(user.getFamilyCode());
return SaResult.data(costTypeList);
}
//通过家庭码获取该家庭所有用户
@PostMapping("getAllUser")
public SaResult getAllUser(@RequestHeader String token, @RequestBody Map<String, String> map) {
//通过token获取用户id
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
Map<String, Object> userMap = userService.getAllUser(id, map.get("username"), map.get("phone"), Integer.parseInt(map.get("currentPage")), Integer.parseInt(map.get("pageSize")), map.get("birth"), map.get("gender"), map.get("address"), map.get("email"));
return SaResult.data(userMap);
}
//获取家庭码和余额
@PostMapping("getFCMoney")
public SaResult getFamilyCode(@RequestHeader String token) {
//通过token获取用户id
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
User user = userService.getUserById(id);
String familyCode = user.getFamilyCode();
Map<String, String> money = familyService.getMoneyByCode(familyCode);
HashMap<String, Object> FCMap = new HashMap<>();
FCMap.put("familyCode", familyCode);
FCMap.put("money", money.get("money"));
FCMap.put("fullMoney", money.get("fullMoney"));
return SaResult.data(FCMap);
}
//更改余额
@PostMapping("changeMoney")
public SaResult changeMoney(@RequestHeader String token, @RequestBody Map<String, String> map) {
try{
//通过token获取用户id
UserController userController = applicationContext.getBean(UserController.class);
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
User user = userService.getUserById(id);
String familyCode = user.getFamilyCode();
familyService.changeMoney(familyCode, new BigDecimal(map.get("money")));
userController.AsyncTask();
}catch (Exception e){
System.out.println(e);
}
return SaResult.ok();
}
//获取用户信息
@PostMapping("getUserById")
public SaResult getUserById(@RequestHeader String token) {
//通过token获取用户id
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
User user = userService.getUserById(id);
return SaResult.data(user);
}
//修改用户信息
@PostMapping("changeUser")
public SaResult changeUser(@RequestHeader String token, @RequestBody Map<String, String> map) {
//通过token获取用户id
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
userService.changeUser(id, map.get("username"), map.get("phone"), map.get("birth"), map.get("gender"), map.get("address"), map.get("email"), map.get("signature"));
return SaResult.ok();
}
//获取密码
@PostMapping("getPassword")
public SaResult getPassword(@RequestHeader String token) {
//通过token获取用户id
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
Map<String, String> password = userService.getPassword(id);
return SaResult.data(password);
}
//修改密码
@PostMapping("changePassword")
public SaResult changePassword(@RequestHeader String token, @RequestBody Map<String, String> map) {
//通过token获取用户id
int id = Integer.parseInt((String) StpUtil.getLoginIdByToken(token));
userService.changePassword(id, map.get("password"));
没有合适的资源?快使用搜索试试~ 我知道了~
基于springboot+vue的家庭财务管理系统family.zip
共484个文件
xml:300个
java:51个
class:51个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
1 下载量 70 浏览量
2024-05-19
11:34:24
上传
评论
收藏 10.17MB ZIP 举报
温馨提示
该项目利用了基于springboot + vue + mysql的开发模式框架实现的课设系统,包括了项目的源码资源、sql文件、相关指引文档等等。 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【技术】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot+vue的家庭财务管理系统family.zip (484个子文件)
UserServiceImpl.class 11KB
CostServiceImpl.class 11KB
IncomeServiceImpl.class 11KB
UserController.class 9KB
User.class 8KB
Income.class 6KB
Cost.class 6KB
MpGenerator.class 6KB
FamilyServiceImpl.class 5KB
SparkCalculate.class 5KB
incomeController.class 5KB
CostController.class 5KB
LoginController.class 4KB
Family.class 4KB
AjaxJson.class 4KB
SparkSql.class 4KB
DateUtils.class 4KB
MySaTokenConfig.class 3KB
AllCi.class 3KB
IncomeByType.class 3KB
AllUserCI.class 3KB
CostByType.class 3KB
MoneyChange.class 3KB
GlobalException.class 3KB
CommitRecord.class 2KB
IncomeByWater.class 2KB
CostByWater.class 2KB
WordCloud.class 2KB
JavaSparkSqlDemo.class 2KB
UserService.class 2KB
MybatisPlusConfig.class 2KB
CorsConfig.class 1KB
MyMetaObjectHandler.class 1KB
IncomeService.class 1KB
CostService.class 1KB
FamilyFinancialManagementSystemApplication.class 866B
FamilyService.class 804B
IncomeByWaterMapper.class 596B
CommitRecordMapper.class 591B
IncomeByTypeMapper.class 591B
MoneyChangeMapper.class 586B
CostByWaterMapper.class 586B
CostByTypeMapper.class 581B
AllUserCIMapper.class 576B
WordCloudMapper.class 576B
AllCiMapper.class 556B
FamilyFinancialManagementSystemApplicationTests.class 487B
FamilyMapper.class 382B
IncomeMapper.class 382B
CostMapper.class 376B
UserMapper.class 376B
.classpath 1KB
main.css 3KB
color-dark.css 431B
icon.css 88B
.gitignore 231B
.gitignore 176B
index.html 703B
favicon3.ico 72KB
favicon.ico 9KB
FamilyFinancialManagementSystem.iml 29KB
UserController.java 10KB
CostServiceImpl.java 8KB
IncomeServiceImpl.java 8KB
UserServiceImpl.java 7KB
SparkCalculate.java 5KB
AjaxJson.java 5KB
FamilyServiceImpl.java 3KB
incomeController.java 3KB
CostController.java 3KB
MpGenerator.java 3KB
LoginController.java 3KB
SparkSql.java 2KB
GlobalException.java 2KB
DateUtils.java 2KB
JavaSparkSqlDemo.java 2KB
MybatisPlusConfig.java 1KB
Income.java 1KB
Cost.java 1KB
User.java 1KB
UserService.java 1KB
Family.java 1KB
MySaTokenConfig.java 1KB
IncomeService.java 956B
CorsConfig.java 948B
MyMetaObjectHandler.java 926B
CostService.java 898B
FamilyService.java 603B
FamilyFinancialManagementSystemApplication.java 524B
IncomeByWaterMapper.java 387B
IncomeByTypeMapper.java 381B
CostByWaterMapper.java 376B
CommitRecordMapper.java 345B
MoneyChangeMapper.java 340B
CostByTypeMapper.java 335B
AllUserCI.java 334B
AllCi.java 333B
WordCloudMapper.java 330B
AllUserCIMapper.java 330B
IncomeMapper.java 326B
共 484 条
- 1
- 2
- 3
- 4
- 5
资源评论
枫蜜柚子茶
- 粉丝: 7334
- 资源: 5102
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 目标检测-零售食品LOGO检测数据集-5000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-1000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- Delphi 12 控件之LMD.VCL.Full.Version.zip
- 计算机科学选修课:人工智能导论 第二节 PPT
- 计算机科学选修课:人工智能导论 第一章 PPT
- 忘记navicat密码时,此工具可以帮您查看密码
- 电子商务-电子商务平台-水果销售-在线购物-果库小程序.zip
- 基于React的后台开发框架(javascript)
- 用户界面设计-滑动选项卡-交互组件-用户体验-滑动选项卡小程序.zip
- 371系列智能型电动执行机构说明书
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功