订单管理 付款统计

手动修改密码的示例 readme.md
This commit is contained in:
2024-03-08 16:38:02 +08:00
parent 2c96f2835a
commit 3b59b87cf5
4 changed files with 14 additions and 82 deletions

View File

@@ -11,47 +11,6 @@
#### 项目简介 #### 项目简介
一个基于 Spring Boot 2.1.0 、 Spring Boot Jpa、 JWT、Spring Security、Redis、Vue的前后端分离的后台管理系统 一个基于 Spring Boot 2.1.0 、 Spring Boot Jpa、 JWT、Spring Security、Redis、Vue的前后端分离的后台管理系统
**开发文档:** [https://eladmin.vip](https://eladmin.vip)
**体验地址:** [https://eladmin.vip/demo](https://eladmin.vip/demo)
**账号密码:** `admin / 123456`
#### 项目源码
| | 后端源码 | 前端源码 |
|--- |--- | --- |
| github | https://github.com/elunez/eladmin | https://github.com/elunez/eladmin-web |
| 码云 | https://gitee.com/elunez/eladmin | https://gitee.com/elunez/eladmin-web |
#### 主要特性
- 使用最新技术栈,社区资源丰富。
- 高效率开发,代码生成器可一键生成前后端代码
- 支持数据字典,可方便地对一些状态进行管理
- 支持接口限流,避免恶意请求导致服务层压力过大
- 支持接口级别的功能权限与数据权限,可自定义操作
- 自定义权限注解与匿名接口注解,可快速对接口拦截与放行
- 对一些常用地前端组件封装:表格数据请求、数据字典等
- 前后端统一异常拦截处理,统一输出异常,避免繁琐的判断
- 支持在线用户管理与服务器性能监控,支持限制单用户登录
- 支持运维管理,可方便地对远程服务器的应用进行部署与管理
#### 系统功能
- 用户管理提供用户的相关配置新增用户后默认密码为123456
- 角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限
- 菜单管理:已实现菜单动态路由,后端可配置化,支持多级菜单
- 部门管理:可配置系统组织架构,树形表格展示
- 岗位管理:配置各个部门的职位
- 字典管理:可维护常用一些固定的数据,如:状态,性别等
- 系统日志:记录用户操作日志与异常日志,方便开发人员定位排错
- SQL监控采用druid 监控数据库访问性能默认用户名admin密码123456
- 定时任务整合Quartz做定时任务加入任务日志任务运行情况一目了然
- 代码生成:高灵活度生成前后端代码,减少大量重复的工作任务
- 邮件工具配合富文本发送html格式的邮件
- 七牛云存储:可同步七牛云存储的数据到系统,无需登录七牛云直接操作云数据
- 支付宝支付:整合了支付宝支付并且提供了测试账号,可自行测试
- 服务监控:监控服务器的负载情况
- 运维管理:一键部署你的应用
#### 项目结构 #### 项目结构
项目采用按功能分模块的开发方式,结构如下 项目采用按功能分模块的开发方式,结构如下
@@ -69,40 +28,21 @@
#### 详细结构 #### 详细结构
``` ```
- eladmin-common 公共模块
- annotation 为系统自定义注解
- aspect 自定义注解的切面
- base 提供了Entity、DTO基类和mapstruct的通用mapper
- config 自定义权限实现、redis配置、swagger配置、Rsa配置等
- exception 项目统一异常的处理
- utils 系统通用工具类
- eladmin-system 系统核心模块(系统启动入口)
- config 配置跨域与静态资源,与数据权限
- thread 线程池相关
- modules 系统相关模块(登录授权、系统监控、定时任务、运维管理等)
- eladmin-logging 系统日志模块
- eladmin-tools 系统第三方工具模块
- eladmin-generator 系统代码生成模块
``` ```
#### 特别鸣谢 #### 问题记录
- 感谢 [七牛云](https://portal.qiniu.com/signup?utm_source=kaiyuan&utm_media=ELADMIN) 提供的免费云存储与CDN加速支持 - 手动修改密码
- 感谢 [JetBrains](https://www.jetbrains.com/) 提供的非商业开源软件开发授权 原文:[123456]()
- 感谢 [PanJiaChen](https://github.com/PanJiaChen/vue-element-admin) 大佬提供的前端模板 passwordEncoder.encode后为
[$2a$10$VweP6V.MYfhW9pUOhp1rEOqTpglY.gQGZSvCcVvSDpzbLBGP45WZ6]()
- 感谢 [Moxun](https://github.com/moxun1639) 大佬提供的前端 Curd 通用组件 MD5Utils.encrypt后为
[e10adc3949ba59abbe56e057f20f883e]()
- 感谢 [zhy6599](https://gitee.com/zhy6599) 大佬提供的后端运维管理相关功能 - sys_user的密码 内容修改为passwordEncoder.encode后密码
- MerchantAccount的密码 修改为MD5Utils.encrypt后密码
- 感谢 [j.yao.SUSE](https://github.com/everhopingandwaiting) 大佬提供的匿名接口与Redis限流等功能 - tb_pluss_shop_staff的密码 修改为MD5Utils.encrypt后的密码
- 感谢 [d15801543974](https://github.com/d15801543974) 大佬提供的基于注解的通用查询方式
#### 项目捐赠
项目的发展离不开你的支持,请作者喝杯咖啡吧☕ [Donate](https://eladmin.vip/donation/)
#### 反馈交流
- QQ交流群一群<strike>891137268</strike> 、二群:<strike>947578238</strike>、三群659622532

View File

@@ -18,6 +18,7 @@ package cn.ysk.cashier.config.security.rest;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.ysk.cashier.config.security.config.bean.LoginCodeEnum; import cn.ysk.cashier.config.security.config.bean.LoginCodeEnum;
import cn.ysk.cashier.config.security.security.TokenProvider; import cn.ysk.cashier.config.security.security.TokenProvider;
import cn.ysk.cashier.utils.*;
import com.wf.captcha.base.Captcha; import com.wf.captcha.base.Captcha;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -37,10 +38,6 @@ import cn.ysk.cashier.config.security.service.dto.JwtUserDto;
import cn.ysk.cashier.config.security.service.OnlineUserService; import cn.ysk.cashier.config.security.service.OnlineUserService;
import cn.ysk.cashier.pojo.shop.TbShopInfo; import cn.ysk.cashier.pojo.shop.TbShopInfo;
import cn.ysk.cashier.repository.shop.TbShopInfoRepository; import cn.ysk.cashier.repository.shop.TbShopInfoRepository;
import cn.ysk.cashier.utils.RsaUtils;
import cn.ysk.cashier.utils.RedisUtils;
import cn.ysk.cashier.utils.SecurityUtils;
import cn.ysk.cashier.utils.StringUtils;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;

View File

@@ -54,10 +54,10 @@ public class TbOrderInfoController {
tbOrderInfoService.download(tbOrderInfoService.queryAll(criteria), response); tbOrderInfoService.download(tbOrderInfoService.queryAll(criteria), response);
} }
@GetMapping @PostMapping("/date")
@Log("查询订单") @Log("查询订单")
@ApiOperation("查询订单") @ApiOperation("查询订单")
public ResponseEntity<Object> queryTbOrderInfo(TbOrderInfoQueryCriteria criteria, Pageable pageable){ public ResponseEntity<Object> queryTbOrderInfo(@RequestBody TbOrderInfoQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(tbOrderInfoService.queryAll(criteria,pageable),HttpStatus.OK); return new ResponseEntity<>(tbOrderInfoService.queryAll(criteria,pageable),HttpStatus.OK);
} }

View File

@@ -46,7 +46,6 @@ public class TbProductStockDetailController {
@Log("导出数据") @Log("导出数据")
@ApiOperation("导出数据") @ApiOperation("导出数据")
@GetMapping(value = "/download") @GetMapping(value = "/download")
@PreAuthorize("@el.check('tbProductStockDetail:list')")
public void exportTbProductStockDetail(HttpServletResponse response, TbProductStockDetailQueryCriteria criteria) throws IOException { public void exportTbProductStockDetail(HttpServletResponse response, TbProductStockDetailQueryCriteria criteria) throws IOException {
tbProductStockDetailService.download(tbProductStockDetailService.queryAll(criteria), response); tbProductStockDetailService.download(tbProductStockDetailService.queryAll(criteria), response);
} }
@@ -54,7 +53,6 @@ public class TbProductStockDetailController {
@GetMapping @GetMapping
@Log("查询/product/Stock") @Log("查询/product/Stock")
@ApiOperation("查询/product/Stock") @ApiOperation("查询/product/Stock")
@PreAuthorize("@el.check('tbProductStockDetail:list')")
public ResponseEntity<Object> queryTbProductStockDetail(TbProductStockDetailQueryCriteria criteria, Pageable pageable){ public ResponseEntity<Object> queryTbProductStockDetail(TbProductStockDetailQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(tbProductStockDetailService.queryAll(criteria,pageable),HttpStatus.OK); return new ResponseEntity<>(tbProductStockDetailService.queryAll(criteria,pageable),HttpStatus.OK);
} }
@@ -80,7 +78,6 @@ public class TbProductStockDetailController {
@PostMapping @PostMapping
@Log("新增/product/Stock") @Log("新增/product/Stock")
@ApiOperation("新增/product/Stock") @ApiOperation("新增/product/Stock")
@PreAuthorize("@el.check('tbProductStockDetail:add')")
public ResponseEntity<Object> createTbProductStockDetail(@Validated @RequestBody TbProductStockDetail resources){ public ResponseEntity<Object> createTbProductStockDetail(@Validated @RequestBody TbProductStockDetail resources){
return new ResponseEntity<>(tbProductStockDetailService.create(resources),HttpStatus.CREATED); return new ResponseEntity<>(tbProductStockDetailService.create(resources),HttpStatus.CREATED);
} }
@@ -88,7 +85,6 @@ public class TbProductStockDetailController {
@PutMapping @PutMapping
@Log("修改/product/Stock") @Log("修改/product/Stock")
@ApiOperation("修改/product/Stock") @ApiOperation("修改/product/Stock")
@PreAuthorize("@el.check('tbProductStockDetail:edit')")
public ResponseEntity<Object> updateTbProductStockDetail(@Validated @RequestBody TbProductStockDetail resources){ public ResponseEntity<Object> updateTbProductStockDetail(@Validated @RequestBody TbProductStockDetail resources){
tbProductStockDetailService.update(resources); tbProductStockDetailService.update(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT); return new ResponseEntity<>(HttpStatus.NO_CONTENT);
@@ -97,7 +93,6 @@ public class TbProductStockDetailController {
@DeleteMapping @DeleteMapping
@Log("删除/product/Stock") @Log("删除/product/Stock")
@ApiOperation("删除/product/Stock") @ApiOperation("删除/product/Stock")
@PreAuthorize("@el.check('tbProductStockDetail:del')")
public ResponseEntity<Object> deleteTbProductStockDetail(@RequestBody Long[] ids) { public ResponseEntity<Object> deleteTbProductStockDetail(@RequestBody Long[] ids) {
tbProductStockDetailService.deleteAll(ids); tbProductStockDetailService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);