Compare commits

..

1092 Commits
master ... gyj

Author SHA1 Message Date
GYJ 33b0c2bb10 员工账号重复校验 2024-11-22 10:10:52 +08:00
GYJ d7ba8509d5 员工账号重复校验 2024-11-21 14:30:28 +08:00
谭凯凯 7a305e8901 交班bug修复 2024-11-21 11:11:06 +08:00
谭凯凯 6c25d89eb2 交班bug修复 2024-11-21 10:59:53 +08:00
谭凯凯 afed250715 jackson配置 2024-11-21 10:54:10 +08:00
谭凯凯 088d8037b8 jackson配置 2024-11-21 10:22:45 +08:00
谭凯凯 b74e455f5d jackson配置 2024-11-21 09:59:01 +08:00
谭凯凯 449e36ab4a jackson配置 2024-11-21 09:54:02 +08:00
wangw 870c1d604e 分享 日期格式问题 2024-11-20 16:25:44 +08:00
wangw 23a5de7ab4 时间格式问题 2024-11-20 16:05:06 +08:00
wangw 24bc7ba3a8 优惠券 修改发放数量的校验 2024-11-20 14:04:12 +08:00
Tankaikai 09df694d36 Merge remote-tracking branch 'origin/dev' into dev 2024-11-20 13:59:13 +08:00
谭凯凯 d9f6969bcc 自动取消超时的积分商品兑换订单 2024-11-20 13:59:04 +08:00
张松 01b414aec0 fix: 支付订单会员价被覆盖修复 2024-11-20 10:24:12 +08:00
张松 845c9808fe fix: detail增加isMember字段 2024-11-20 09:58:04 +08:00
张松 d427fbd53b fix: 懒加载bug修复 2024-11-20 09:50:13 +08:00
张松 10ec7e09fb fix: 懒加载bug修复 2024-11-20 09:44:11 +08:00
张松 f74f47fa40 fix: 先点餐后选择会员会员价不正常修复 2024-11-19 15:16:52 +08:00
wangw aae4ecc9f7 校验 2024-11-19 10:37:28 +08:00
wangw 20aebe1f4d 分享活动 时间字段问题 2024-11-18 17:52:58 +08:00
wangw 36f45f6be5 格式化时间戳 2024-11-18 17:45:26 +08:00
谭凯凯 b9d3d78129 解决延迟加载bug 2024-11-18 14:56:33 +08:00
wangw 68cb508b4e Merge branch 'test' into dev 2024-11-18 11:12:00 +08:00
张松 2f5d902a9b feat: 小程序订单过期返还券 2024-11-15 14:49:01 +08:00
张松 7995746c5d feat: 小程序订单过期返还券 2024-11-15 14:48:17 +08:00
张松 ab78aa6ac8 feat: 订单优惠券信息修改 2024-11-15 14:27:41 +08:00
张松 641b5cb0a9 feat: 订单优惠券信息修改 2024-11-15 14:24:22 +08:00
张松 e0626530e0 feat: 订单创建时间修改 2024-11-15 10:10:12 +08:00
张松 912292805e Merge remote-tracking branch 'origin/test' into test 2024-11-15 10:07:52 +08:00
张松 934871830a feat: 订单创建时间修改 2024-11-15 10:07:21 +08:00
wangw 2e4ef9a0a5 未使用券 不可用删除 2024-11-14 14:18:00 +08:00
wangw aba8d9b524 未使用券 不可用删除 2024-11-14 14:15:09 +08:00
wangw 42775cae36 未使用券 不可用删除 2024-11-14 13:53:10 +08:00
wangw 08351e6260 活动 置空问题 2024-11-14 11:22:21 +08:00
wangw 65c9667d9f 活动 置空问题 2024-11-14 10:59:17 +08:00
wangw e84d655796 活动 置空问题 2024-11-14 10:43:12 +08:00
wangw 1c4a054a2c 活动 置空问题 2024-11-14 10:39:19 +08:00
wangw 47fd21e1d1 活动 置空问题 2024-11-14 10:34:35 +08:00
wangw 1d2ef2fdf5 奖励券不受 优惠券发放数量的限制 不扣除发放数量 2024-11-13 18:23:42 +08:00
wangw 41a86cf574 优惠券删除校验 2024-11-13 17:15:03 +08:00
wangw aa45034a86 订单页优惠券查询 2024-11-13 15:48:55 +08:00
张松 ced9197698 fix: 优惠券使用报错修复 2024-11-13 14:13:46 +08:00
张松 4556bf24cd fix: 优惠券使用报错修复 2024-11-13 14:07:37 +08:00
张松 c9c9ddc871 fix: 优惠券使用报错修复 2024-11-13 13:55:35 +08:00
张松 261fc2d387 fix: 订单保存先付费后付费 2024-11-13 13:23:01 +08:00
张松 2a6013f1dd fix: 创建订单会员价修改 2024-11-13 11:23:54 +08:00
张松 a5434fcdf7 fix: 退款修改 2024-11-12 18:09:27 +08:00
张松 1db366a47f fix: 退款修改 2024-11-12 18:05:47 +08:00
张松 7862b5b33a fix: 退款修改 2024-11-12 17:58:57 +08:00
张松 bd6bbdf4f8 fix: 退款修改退款订单状态 2024-11-12 17:33:10 +08:00
张松 405024b685 fix: 退款修改退款订单状态 2024-11-12 17:32:11 +08:00
张松 9c5b5882e3 Merge remote-tracking branch 'origin/test' into test 2024-11-12 17:17:46 +08:00
张松 be9abe64be fix: 错误码情况判断 2024-11-12 17:17:26 +08:00
wangw f64a026991 商品上下架 2024-11-12 15:51:50 +08:00
wangw b3b27a0aa7 剩余数量
商品上下架
2024-11-12 15:45:31 +08:00
wangw 679ff0acaf 金额值 改为浮点数 2024-11-12 10:33:45 +08:00
张松 e7d63eed46 fix:分割商品未保存detail修复 2024-11-12 10:31:39 +08:00
张松 3b27c1c591 fix:退款金额修复 2024-11-12 10:21:17 +08:00
张松 995cb95359 fix:优惠券优惠金额计算不准确修复 2024-11-12 10:19:48 +08:00
张松 6831a49d97 fix: 1. 台桌列表获取修改 2.优惠券优惠金额计算不准确修复 2024-11-12 09:54:13 +08:00
张松 cb6508a5b9 Merge remote-tracking branch 'origin/test' into test 2024-11-12 09:50:44 +08:00
张松 b1bd7a7e89 fix: 1. 台桌列表获取修改 2.优惠券优惠金额计算不准确修复 2024-11-12 09:50:16 +08:00
谭凯凯 eeea82ed43 添加商品分组排序方式字段 2024-11-12 09:32:42 +08:00
谭凯凯 ff4b651a47 添加商品分组排序方式字段 2024-11-12 09:31:11 +08:00
谭凯凯 01d4f279aa 添加商品分组排序方式字段 2024-11-12 09:25:22 +08:00
谭凯凯 5de9575275 添加商品分组排序方式字段 2024-11-12 09:24:55 +08:00
谭凯凯 756b088f04 添加商品分组排序方式字段 2024-11-12 09:24:13 +08:00
张松 dbed5887a1 fix: 订单详情增加优惠券抵扣标识 2024-11-11 17:28:44 +08:00
张松 bc073414d2 fix: 订单详情增加优惠券抵扣标识 2024-11-11 17:10:15 +08:00
张松 06d92f7e26 fix: 订单列表返回字段修改 2024-11-11 16:59:53 +08:00
张松 68261e6185 fix: 优惠券使用逻辑修改 2024-11-11 16:47:59 +08:00
张松 ddb6573cc0 Merge remote-tracking branch 'origin/test' into test 2024-11-11 16:21:18 +08:00
张松 c4fcf08691 fix: 优惠券使用逻辑修改 2024-11-11 16:21:06 +08:00
谭凯凯 7be59446f2 活动配置新增送积分字段 2024-11-11 15:14:21 +08:00
张松 64fd381ed4 Merge remote-tracking branch 'origin/test' into test 2024-11-11 14:21:05 +08:00
张松 586bede415 fix: 优惠券使用状态不正确修复 2024-11-11 14:20:57 +08:00
张松 98ca9d50bc fix: 优惠券使用状态不正确修复 2024-11-11 14:19:08 +08:00
wangw 99b755f782 字段映射问题 2024-11-11 14:09:15 +08:00
张松 57f682ab44 Merge remote-tracking branch 'origin/test' into test 2024-11-11 14:07:20 +08:00
张松 c988a95337 fix: 优惠券使用状态不正确修复 2024-11-11 14:07:08 +08:00
wangw fef40eac6e skuResult label问题 2024-11-11 11:20:45 +08:00
GYJ a2106c9176 org.springframework.data.domain.Pageable 2024-11-09 11:44:53 +08:00
GYJ c06b922ed3 Merge remote-tracking branch 'origin/dev' into dev 2024-11-09 11:26:29 +08:00
GYJ 54512eef0c org.springframework.data.domain.Pageable 2024-11-09 11:26:00 +08:00
wangw 4f209176e4 活动 添加优惠券名称字段 2024-11-09 11:05:36 +08:00
wangw 0d5a8b66ca 优惠券 来源 2024-11-08 18:14:41 +08:00
wangw 5e3caeda30 优惠券领取记录 2024-11-08 18:01:53 +08:00
wangw 2da48d1c9b Merge branch 'ww-分享' into test 2024-11-08 10:16:31 +08:00
wangw 02a2785878 邀请记录 2024-11-08 10:15:54 +08:00
Tankaikai 0516d443bc Merge remote-tracking branch 'origin/test' into test 2024-11-08 09:52:45 +08:00
谭凯凯 3b88f464de 交班bug修复 2024-11-08 09:52:38 +08:00
张松 543bee70f3 fix: 会员价根据全局设置校验 2024-11-07 16:06:56 +08:00
张松 5ee705cb23 fix: 修改会员接口修改 2024-11-07 11:32:20 +08:00
张松 82d5ebe687 fix: 餐位费校验修改 2024-11-07 11:22:02 +08:00
张松 a75164b688 fix: 统一退款状态 2024-11-07 11:17:33 +08:00
张松 0a519d89b8 fix: 修改会员信息校验餐位费修改 2024-11-07 11:03:34 +08:00
张松 8e308cf187 fix: 修改会员信息校验餐位费修改 2024-11-07 10:58:15 +08:00
张松 d912ff5064 Merge remote-tracking branch 'origin/test' into test 2024-11-07 10:24:11 +08:00
张松 ef09658de7 fix: 修复客座费没有会员价的情况 2024-11-07 10:23:58 +08:00
wangw 66ccea37cd Merge branch 'ww-分享' into test 2024-11-07 09:57:58 +08:00
wangw f567bd821b 分享 主键自增 2024-11-07 09:57:24 +08:00
wangw 8b885e206e 回填 2024-11-07 09:55:48 +08:00
张松 e6145311ed fix: 修复打包未计算的问题 2024-11-06 17:21:32 +08:00
张松 6c5940c6ea fix: 修复打包未计算的问题 2024-11-06 17:18:50 +08:00
张松 77b9b0c409 Merge remote-tracking branch 'origin/test' into test 2024-11-06 17:14:42 +08:00
张松 bd2ed5c8c6 fix: 修复打包未计算的问题 2024-11-06 17:14:22 +08:00
wangw 7d2965d8b8 Merge branch 'ww-分享' into test 2024-11-06 17:00:04 +08:00
wangw 7d4788cb3a 分享好友模块1 2024-11-06 16:57:35 +08:00
张松 f348c8b56f Merge remote-tracking branch 'origin/test' into test 2024-11-06 16:40:55 +08:00
张松 66331f57dc fix: 取消会员修改 2024-11-06 16:40:46 +08:00
wangw e093606785 Merge branch 'ww-分享' into test 2024-11-06 16:37:34 +08:00
wangw b6d3701806 分享好友模块 2024-11-06 16:36:15 +08:00
张松 12602192de fix: 取消会员修改 2024-11-06 16:29:29 +08:00
张松 260aedd6f4 fix: 创建订单会员价计算有误修复 2024-11-06 16:22:58 +08:00
张松 dc6e739f25 Merge remote-tracking branch 'origin/test' into test 2024-11-06 16:20:45 +08:00
张松 14a2b5884b fix: 创建订单会员价计算有误修复 2024-11-06 16:20:35 +08:00
谭凯凯 920219f978 交班bug修复 2024-11-06 16:15:01 +08:00
张松 090e5d320e fix: 创建订单会员价计算有误修复 2024-11-06 15:36:57 +08:00
张松 8d5642c07a fix: 创建订单会员价计算有误修复 2024-11-06 15:35:34 +08:00
张松 5dd35a9572 fix: 创建订单会员价计算有误修复 2024-11-06 15:28:49 +08:00
张松 1f3f3f1e04 fix: 创建订单会员价计算有误修复 2024-11-06 15:19:48 +08:00
张松 4ca85ef425 fix: 创建订单会员价计算有误修复 2024-11-06 15:08:01 +08:00
张松 e0b67cb3cd Merge remote-tracking branch 'origin/test' into test 2024-11-06 13:52:59 +08:00
张松 5118027b9b feat: 增加详情会员价 2024-11-06 13:52:45 +08:00
Tankaikai f2ca18953b Merge remote-tracking branch 'origin/test' into test 2024-11-06 11:26:43 +08:00
谭凯凯 48948eb265 供应商出入库记录 2024-11-06 11:26:37 +08:00
张松 c2f94d0409 feat: 增加详情会员价 2024-11-06 11:14:18 +08:00
张松 b2823c5966 feat: 优惠券返回名称字段 2024-11-06 10:42:32 +08:00
张松 4982d22e5a feat: 优惠券返回名称字段 2024-11-06 10:41:18 +08:00
张松 eee972193c Merge remote-tracking branch 'origin/test' into test 2024-11-06 10:21:40 +08:00
张松 de3b435637 feat: 增加会员价 2024-11-06 10:21:28 +08:00
Tankaikai a37fd2f9ef Merge remote-tracking branch 'origin/test' into test 2024-11-06 10:02:00 +08:00
谭凯凯 cd3624027c 供应商出入库记录 2024-11-06 10:01:54 +08:00
SongZhang b583d01312 fix: 优惠券折扣修改 2024-11-05 17:07:20 +08:00
wangw 648bd55e7a 空指针 2024-11-05 15:57:04 +08:00
谭凯凯 04f844cf93 积分模块相关接口 2024-11-05 15:39:48 +08:00
谭凯凯 763be9bc49 积分模块相关接口 2024-11-05 15:18:17 +08:00
谭凯凯 adb0e978d0 积分模块相关接口 2024-11-05 15:01:53 +08:00
谭凯凯 029213e068 积分模块相关接口 2024-11-05 09:39:15 +08:00
Tankaikai c69cc065a6 Merge remote-tracking branch 'origin/test' into test 2024-11-05 09:31:40 +08:00
谭凯凯 54291604bd 积分模块相关接口 2024-11-05 09:31:32 +08:00
wangw 5d77e0c3d5 多余字段 2024-11-04 17:45:45 +08:00
SongZhang b45709cca1 fix: 会员修改接口修改 2024-11-04 14:33:33 +08:00
SongZhang 5406aedb76 fix: 会员修改接口修改 2024-11-04 14:27:41 +08:00
SongZhang 9b1f802867 fix: 优惠券查询修改 2024-11-04 13:56:19 +08:00
SongZhang 062a0cc2f4 fix: 选择会员修改 2024-11-04 13:37:20 +08:00
SongZhang b401f23ec4 feat: 新增支付积分优惠券支持 2024-11-04 13:26:31 +08:00
SongZhang 7c572d7384 feat: 新增支付积分优惠券支持 2024-11-04 11:12:27 +08:00
wangw 8aad5da104 默认单位 2024-11-04 10:53:42 +08:00
wangw 6f6085343f 默认单位 2024-11-04 10:27:23 +08:00
SongZhang 00e7b35926 Merge remote-tracking branch 'origin/test' into test 2024-11-01 16:54:37 +08:00
SongZhang 086eb3523b 1. 订单表修改 2024-11-01 16:51:51 +08:00
wangw cdeb5e003c 多余注解 2024-11-01 13:46:10 +08:00
wangw 97a8a5472d 多余代码删除 环境配置 2024-11-01 09:40:03 +08:00
Tankaikai c07f374ed7 Merge remote-tracking branch 'origin/test' into test 2024-10-31 15:24:39 +08:00
谭凯凯 2e9c25d8a8 积分模块相关接口 2024-10-31 15:24:33 +08:00
wangw 2d36fa1f6b 盘点出入库判断 2024-10-31 15:11:52 +08:00
wangw 5eab49b844 盘点出入库判断 2024-10-31 15:10:56 +08:00
Tankaikai 7691a967b4 Merge remote-tracking branch 'origin/test' into test 2024-10-31 14:47:48 +08:00
谭凯凯 362c737c4b 积分模块相关接口 2024-10-31 14:47:43 +08:00
GYJ bfa30e0b72 Merge remote-tracking branch 'origin/test' into test 2024-10-31 14:43:47 +08:00
GYJ 0186055934 Merge branch 'refs/heads/dev' into test 2024-10-31 14:43:34 +08:00
GYJ c6aba2caa9 台桌统计导出数据处理订单筛选bug 2024-10-31 14:42:54 +08:00
SongZhang 1f412710e7 1. 取消会员接口修改 2024-10-31 14:23:07 +08:00
SongZhang 479a286040 1. 取消会员接口修改 2024-10-31 14:18:27 +08:00
SongZhang 80d990de17 1. 取消会员接口修改 2024-10-31 14:17:24 +08:00
SongZhang f7ca147e49 1. 创建订单退款订单状态会被覆盖修复
2. 优惠券积分下单相关实现
2024-10-31 14:10:13 +08:00
GYJ f8797b0e79 Merge branch 'refs/heads/dev' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java
2024-10-31 11:25:14 +08:00
GYJ 5ef762f670 台桌统计导出数据处理tableId为null的问题 2024-10-31 11:20:00 +08:00
SongZhang f6b0055bdb fix: 订单列表获取修改 2024-10-31 11:12:13 +08:00
SongZhang d944a9cc82 fix: 就餐人数选择修改 2024-10-31 10:39:15 +08:00
SongZhang eaa08bd877 Merge remote-tracking branch 'origin/test' into test 2024-10-31 10:29:45 +08:00
SongZhang 921015488e fix: 退菜修改 2024-10-31 10:29:23 +08:00
Tankaikai 758e556975 Merge remote-tracking branch 'origin/test' into test 2024-10-31 10:28:53 +08:00
谭凯凯 8888c13083 积分模块相关接口 2024-10-31 10:28:47 +08:00
SongZhang 34460c0f0d fix: 退菜修改 2024-10-31 10:15:58 +08:00
SongZhang a9ea2cdc82 fix: 退菜修改 2024-10-31 10:01:26 +08:00
SongZhang ce93f7593d fix: 退菜修改 2024-10-31 09:55:16 +08:00
SongZhang ec3d76f73d fix: 退菜修改 2024-10-31 09:34:22 +08:00
GYJ c717d0f2c2 Merge branch 'refs/heads/gyj' into dev 2024-10-31 09:34:11 +08:00
GYJ b17636abbe 台桌统计数据导出修改 2024-10-31 09:33:01 +08:00
SongZhang 05dc070107 fix: 创建订单取餐码增加修复 2024-10-31 09:30:05 +08:00
SongZhang 1017b69a89 fix: 订单详情返回客座费信息 2024-10-30 18:28:41 +08:00
SongZhang b363044282 fix: 退款修改 2024-10-30 18:06:48 +08:00
SongZhang c1145538dc fix: 下单次数修复 2024-10-30 18:01:29 +08:00
SongZhang 31f20090e5 fix: 选择会员保存会员相关信息 2024-10-30 17:59:52 +08:00
SongZhang 6630141a99 fix: 选择会员保存会员相关信息 2024-10-30 17:48:24 +08:00
SongZhang 09872cd71b Merge branch 'refs/heads/dev' into test 2024-10-30 17:25:11 +08:00
SongZhang d21833b4b2 fix: 修改购物车修改 2024-10-30 17:24:39 +08:00
SongZhang f386405aaa fix: 外带下单次数修复 2024-10-30 17:11:39 +08:00
SongZhang a8d59c1308 Merge branch 'refs/heads/dev' into test 2024-10-30 17:06:36 +08:00
SongZhang 07990a0a96 fix: 打包赠送修改 2024-10-30 17:06:13 +08:00
SongZhang b80ad45a1b Merge branch 'refs/heads/dev' into test 2024-10-30 17:01:23 +08:00
SongZhang bae22532d1 Merge remote-tracking branch 'origin/dev' into dev 2024-10-30 16:59:05 +08:00
SongZhang bd08205426 fix: 打包赠送修改 2024-10-30 16:58:45 +08:00
SongZhang b4e5eda9f7 fix: 获取购物车修改 2024-10-30 16:04:15 +08:00
SongZhang 8ef801afa1 fix: 获取购物车修改 2024-10-30 16:00:46 +08:00
SongZhang 93845145f3 fix: 修复无台桌切换就餐模式购物车丢失 2024-10-30 15:51:45 +08:00
wangw b5b1ad8b18 副单位 2024-10-30 15:25:36 +08:00
wangw 40b63bff4d 副单位 2024-10-30 15:24:43 +08:00
wangw dcfb79c87a 耗材库存记录列表 默认值 2024-10-30 15:11:38 +08:00
SongZhang 019bf55598 Merge remote-tracking branch 'origin/test' into test 2024-10-30 15:04:39 +08:00
SongZhang 7c1415663d fix: 修复无台桌切换就餐模式购物车丢失 2024-10-30 15:04:17 +08:00
wangw 5cb7e9bdfb 销售统计 效率优化 2024-10-30 14:52:52 +08:00
SongZhang b2a7ea1887 Merge remote-tracking branch 'origin/test' into test 2024-10-30 14:41:05 +08:00
SongZhang 5a90bfe202 Merge branch 'refs/heads/dev' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java
2024-10-30 14:40:54 +08:00
SongZhang 8bb27ab292 fix: 订单列表接口返回就餐类型字段 2024-10-30 14:18:01 +08:00
SongZhang 3f0329a7c5 fix: 无台桌退菜实现 2024-10-30 14:04:06 +08:00
SongZhang 6ec1e0ef7d Merge remote-tracking branch 'origin/dev' into dev 2024-10-29 17:19:07 +08:00
SongZhang 9d23c4d337 fix: 订单过期结束购物车状态 2024-10-29 17:18:58 +08:00
Tankaikai 3a00b85a02 Merge remote-tracking branch 'origin/dev' into test 2024-10-29 16:06:48 +08:00
谭凯凯 d5b0813c46 会员余额支付缺陷修复 2024-10-29 15:47:09 +08:00
谭凯凯 17cbff4228 会员余额支付缺陷修复 2024-10-29 15:16:34 +08:00
Tankaikai a11cb5eea5 Merge remote-tracking branch 'origin/dev' into dev 2024-10-29 15:12:11 +08:00
SongZhang d978abc2e1 Merge branch 'refs/heads/dev' into test 2024-10-29 15:11:00 +08:00
SongZhang 04fab9ef26 fix: 修稿储值卡支付保存的用户id和店铺会员id 2024-10-29 15:10:46 +08:00
SongZhang ad8c87d313 fix: 退款金额不准确修复 2024-10-29 15:02:21 +08:00
SongZhang b94760f6f5 Merge remote-tracking branch 'origin/dev' into test 2024-10-29 15:01:49 +08:00
SongZhang 46be2c0f63 fix: 退款金额不准确修复 2024-10-29 14:54:52 +08:00
SongZhang 0afdccaa9e Merge remote-tracking branch 'origin/test' into test 2024-10-29 14:37:38 +08:00
SongZhang e79e527bfd Merge branch 'refs/heads/dev' into test 2024-10-29 14:37:22 +08:00
yijiegong ecfe7dc128 Merge branch 'gyj' into test 2024-10-29 14:12:24 +08:00
yijiegong edceabad0e Merge branch 'gyj' into dev 2024-10-29 14:11:35 +08:00
yijiegong 9f0bef5f52 TbUserInfoController 恢复 2024-10-29 14:11:17 +08:00
谭凯凯 264da3c5b3 积分模块相关接口 2024-10-29 09:56:41 +08:00
SongZhang 2ba232f149 chore: 正式端三方支付回调地址修改 2024-10-29 09:51:53 +08:00
SongZhang 365bb5cd5e chore: 正式端增加三方支付回调地址配置 2024-10-29 09:39:31 +08:00
SongZhang 35ccf243f1 fix: 储值卡支付不能退款修复 2024-10-29 09:34:34 +08:00
SongZhang fced36d732 fix: 无桌台删除菜品修复 2024-10-29 09:28:30 +08:00
SongZhang 3b9de3bd56 Merge remote-tracking branch 'origin/test' into test 2024-10-29 09:18:37 +08:00
SongZhang 46312d855c Merge branch 'refs/heads/dev' into test 2024-10-29 09:18:16 +08:00
SongZhang bc061518f5 fix: 退菜sql修复 2024-10-29 09:17:48 +08:00
谭凯凯 d54471ec3c 积分模块相关接口 2024-10-29 09:09:28 +08:00
SongZhang 267c24e16a fix: 代客下单折扣为空导致详情金额有误修复 2024-10-28 16:50:07 +08:00
SongZhang 9988723044 fix: 无桌台代客下单修改 2024-10-28 14:19:24 +08:00
SongZhang 7a9d226783 fix: 无台桌购物车为空创建订单报错 2024-10-26 17:54:04 +08:00
谭凯凯 7748367695 Pad点餐后台配置接口 2024-10-26 17:34:48 +08:00
谭凯凯 8ef1894a47 Pad点餐后台配置接口 2024-10-26 17:29:20 +08:00
Tankaikai 0e05d067a0 Merge remote-tracking branch 'origin/dev' into test 2024-10-26 17:27:52 +08:00
wangw 9207ebfd03 Merge branch 'ww' into test 2024-10-26 17:05:07 +08:00
wangw c7187fe1ab 优惠券 领取详情 以及 删除 2024-10-26 17:04:41 +08:00
SongZhang 3b2f2e4bbe fix: 餐位费退菜修复 2024-10-26 16:20:42 +08:00
SongZhang f75aae14a8 fix: 餐位费退菜修复 2024-10-26 16:14:12 +08:00
SongZhang ce94bd7e4e feat: 订单列表返回餐位费信息 2024-10-26 13:51:07 +08:00
SongZhang 763014f65a feat: 订单列表返回餐位费信息 2024-10-26 13:35:04 +08:00
wangw 24387973dc Merge branch 'ww' into test 2024-10-26 11:41:13 +08:00
wangw 25ded0b4f8 优惠券 类型筛选 2024-10-26 11:40:58 +08:00
wangw d805b3d729 Merge branch 'ww' into test 2024-10-26 11:25:03 +08:00
wangw 065772c2c3 优惠券 删除 2024-10-26 11:23:50 +08:00
SongZhang e19535d71e feat: 订单详情返回是否打包赠送字段 2024-10-26 09:55:33 +08:00
SongZhang e9956b5336 fix: 无台桌提示需要餐位费修复 2024-10-25 18:10:45 +08:00
SongZhang 42563c3ce0 fix: 无台桌下单报错修复 2024-10-25 17:36:40 +08:00
SongZhang 0f097f7d86 fix: 无台桌下单报错修复 2024-10-25 17:27:51 +08:00
SongZhang 96ecaa840e feat: 不传递桌码不修改人数 2024-10-25 16:58:57 +08:00
SongZhang 61b80c5a85 feat:台桌列表筛选未绑定的 2024-10-25 15:54:31 +08:00
SongZhang 34b7c23392 fix: 修复台桌购物车数量统计不正确问题 2024-10-25 15:42:42 +08:00
SongZhang 201210202f fix: 修复切换台桌取餐码未更新问题 2024-10-25 15:34:06 +08:00
SongZhang f0632942d5 fix: 修复回调地址 修复切换台桌取餐码未更新问题 2024-10-25 15:02:33 +08:00
SongZhang b49b7ef8af fix: 修复无台桌商品无法删除问题 2024-10-25 11:43:01 +08:00
SongZhang dbf29b5e38 fix: 修复选择台桌购物车未查询出数据问题 2024-10-25 11:39:34 +08:00
wangw 7c3fd4dfe0 Merge branch 'ww' into test 2024-10-25 11:22:23 +08:00
wangw 84a2007b26 优惠券使用 以及 退券 2024-10-25 11:19:25 +08:00
SongZhang 35ad186a9d perf: 台桌接口增加状态查询 选择台桌支持清空原有购物车 2024-10-25 11:02:39 +08:00
SongZhang 56d8195450 perf: 商品接口增加typeEnum 2024-10-25 10:36:43 +08:00
SongZhang 4ba7c7c4e7 Merge remote-tracking branch 'origin/dev' into dev 2024-10-25 10:34:28 +08:00
SongZhang a9f1649749 perf: 更改回调地址 商品接口增加typeEnum 2024-10-25 10:34:17 +08:00
wangw 6b75ca5ff9 商品 价格字段 2024-10-25 10:01:47 +08:00
谭凯凯 edfaaa8c44 完成新增会员接口开发 2024-10-25 10:01:47 +08:00
SongZhang e2a624e653 perf: 台桌列表增加分页 2024-10-25 09:57:08 +08:00
wangw fa85c92d08 Merge branch 'ww' into test 2024-10-24 18:08:27 +08:00
wangw b1e7095357 订单可用优惠券 /shop/storage/find 2024-10-24 18:06:44 +08:00
Tankaikai 12beeb1b51 Merge remote-tracking branch 'origin/test' into test 2024-10-24 16:42:35 +08:00
Tankaikai 25f856f11f Merge remote-tracking branch 'origin/dev' into test 2024-10-24 16:41:46 +08:00
谭凯凯 d2982d3528 完成新增会员接口开发 2024-10-24 16:41:03 +08:00
SongZhang 94b0a951a2 Merge remote-tracking branch 'origin/dev' into test 2024-10-24 16:34:45 +08:00
SongZhang 537b9b408b 新增桌码绑定接口 2024-10-24 16:29:08 +08:00
SongZhang 6c2c12d95d Merge remote-tracking branch 'refs/remotes/origin/dev' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java
#	eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpShopTableService.java
#	eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java
#	eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpShopTableServiceImpl.java
2024-10-24 15:48:55 +08:00
SongZhang 4ec0f04cc5 台桌列表未绑定台桌状态为unbind 2024-10-24 15:47:24 +08:00
wangw 473a8eaca5 Merge branch 'ww' into test
# Conflicts:
#	eladmin-system/src/main/resources/mapper/TbActivateMapper.xml
2024-10-24 15:29:05 +08:00
wangw 824985a6ad 多余内容删除
活动重写
优惠券重写
店铺新增字段
2024-10-24 15:28:15 +08:00
SongZhang d15b17729c 新增台桌状态接口 2024-10-24 15:20:14 +08:00
SongZhang 743f59d4a3 开启库存校验库存数量 2024-10-24 14:12:40 +08:00
SongZhang 62a931145b 无桌台添加购物车修改 2024-10-24 13:25:54 +08:00
SongZhang 01efaac3ab 增加无桌台就餐 2024-10-24 11:43:46 +08:00
SongZhang 94e6794255 客座费选择接口修改 2024-10-24 11:43:46 +08:00
SongZhang b356b3594d 创建订单修改餐位费校验 2024-10-24 11:43:44 +08:00
SongZhang 6f7459604c 创建订单修改餐位费校验 2024-10-24 11:43:42 +08:00
SongZhang eaace1d576 创建订单修改餐位费校验 2024-10-24 11:43:41 +08:00
SongZhang db0e01ecf7 增加无桌台就餐 2024-10-24 11:42:37 +08:00
SongZhang bc90c47f2c 客座费选择接口修改 2024-10-24 09:43:05 +08:00
SongZhang d2eae1734e 创建订单修改餐位费校验 2024-10-24 09:33:42 +08:00
SongZhang 4cdc0b5738 创建订单修改餐位费校验 2024-10-24 09:31:35 +08:00
SongZhang b2f01ed453 创建订单修改餐位费校验 2024-10-24 09:24:58 +08:00
SongZhang d99771f8e7 无台桌模式选择台桌接口修改 2024-10-24 09:07:48 +08:00
SongZhang 24a80cb24a 取餐码获取修改 2024-10-24 09:07:45 +08:00
SongZhang 84d967ca6b 退款校验退款金额 2024-10-24 09:07:43 +08:00
SongZhang bc7d2430ba 修改订单详情餐位费返回结构 2024-10-24 09:07:43 +08:00
SongZhang daccee5d04 修改订单详情餐位费返回结构 2024-10-24 09:07:42 +08:00
SongZhang d53762e777 多次退款累加退款金额 2024-10-24 09:07:41 +08:00
SongZhang 47735d6f4b 订单支持多次退款 2024-10-24 09:07:39 +08:00
SongZhang c2e481cd15 霸王餐查询修改接口 2024-10-24 09:07:38 +08:00
SongZhang b0898330c9 赠送商品打包费不免除 2024-10-24 09:07:37 +08:00
SongZhang 8053c84331 退菜修改 2024-10-24 09:07:36 +08:00
SongZhang c17326ffbe 无台桌模式选择台桌接口修改 2024-10-23 17:32:45 +08:00
SongZhang a77c829287 Merge remote-tracking branch 'origin/test' into test 2024-10-23 16:49:59 +08:00
SongZhang e663ebc8b9 取餐码获取修改 2024-10-23 16:49:47 +08:00
Tankaikai 8e5504da6c Merge remote-tracking branch 'origin/test' into test 2024-10-23 16:34:43 +08:00
谭凯凯 bc587c196d Pad点餐后台配置接口 2024-10-23 16:34:32 +08:00
SongZhang 46ec8d47ff Merge remote-tracking branch 'origin/test' into test 2024-10-23 15:07:03 +08:00
SongZhang 2efd81be50 退款校验退款金额 2024-10-23 15:06:51 +08:00
Tankaikai d9859647b4 Merge remote-tracking branch 'origin/test' into test 2024-10-23 14:52:18 +08:00
谭凯凯 42fcd08d00 Pad点餐后台配置接口 2024-10-23 14:51:21 +08:00
wangw 0c7d9a7c7e 销量统计 时间筛选 2024-10-23 13:47:14 +08:00
SongZhang 82f7bd890e 修改订单详情餐位费返回结构 2024-10-23 11:12:31 +08:00
SongZhang 4d61647e0d 修改订单详情餐位费返回结构 2024-10-23 11:11:40 +08:00
SongZhang f074f45f86 多次退款累加退款金额 2024-10-23 10:52:55 +08:00
SongZhang 5ce67b4014 订单支持多次退款 2024-10-23 10:22:40 +08:00
SongZhang 8fe78a48fd 霸王餐查询修改接口 2024-10-22 17:21:30 +08:00
wangw 94b4954c37 店铺配置
店铺装修
2024-10-22 15:36:10 +08:00
SongZhang 351b53b432 赠送商品打包费不免除 2024-10-22 14:39:36 +08:00
SongZhang c7f68b363e Merge remote-tracking branch 'origin/test' into test 2024-10-22 09:32:08 +08:00
SongZhang d1c0708526 退菜修改 2024-10-22 09:31:58 +08:00
谭凯凯 ddc95cf170 发送订阅消息增加token 2024-10-21 15:42:11 +08:00
谭凯凯 6b4397dec5 发送订阅消息增加token 2024-10-21 15:38:24 +08:00
谭凯凯 0d79a23ad7 发送订阅消息增加token 2024-10-21 15:09:20 +08:00
Tankaikai 843408b81e Merge remote-tracking branch 'origin/test' into test 2024-10-21 13:57:03 +08:00
谭凯凯 c5da6f1ca1 发送订阅消息增加token 2024-10-21 13:56:57 +08:00
SongZhang 844156341c Merge remote-tracking branch 'origin/test' into test 2024-10-21 13:49:49 +08:00
SongZhang 56cf10750d 打印报错 fix 2024-10-21 13:49:27 +08:00
谭凯凯 af1d4faa03 发送订阅消息增加token 2024-10-21 11:06:11 +08:00
谭凯凯 7425f0a4d5 延迟发送订阅消息 2024-10-21 10:42:08 +08:00
wangw 8aa6b1e56b Merge branch 'ww' into test 2024-10-21 10:16:13 +08:00
wangw 3dc3605097 耗材 虚拟列 不做修改 2024-10-21 10:15:36 +08:00
wangw 888821c0e1 Merge branch 'ww' into test 2024-10-21 09:49:16 +08:00
wangw 4ced0336e4 耗材 虚拟列 不做修改 2024-10-21 09:48:56 +08:00
SongZhang b12f6ae823 不能取消赠送fix 2024-10-18 17:27:06 +08:00
SongZhang fcaf1f230b 订单列表支持订单号和商品名模糊查询 2024-10-18 17:18:39 +08:00
wangw b589faefab Merge branch 'ww' into test 2024-10-18 16:36:43 +08:00
wangw 29292c54ed 耗材列表 排序 2024-10-18 16:36:06 +08:00
SongZhang 87de3f891e Merge remote-tracking branch 'origin/test' into test 2024-10-18 15:57:39 +08:00
SongZhang e5224d6bc6 退菜后订单金额不对修复 2024-10-18 15:57:29 +08:00
wangw 45cf1afa48 Merge branch 'ww' into test 2024-10-18 15:29:28 +08:00
wangw 8b49d17982 员工账号校验
耗材出入库 备注
2024-10-18 15:29:00 +08:00
wangw 9129a114df Merge branch 'ww' into test 2024-10-18 13:31:41 +08:00
wangw 31e21e4705 耗材 多余内容删除 2024-10-18 13:31:17 +08:00
wangw 0dcc46d00d Merge branch 'ww' into test 2024-10-17 10:42:45 +08:00
wangw 312c9cc1be 耗材列表 关联 商品 2024-10-17 10:42:12 +08:00
wangw 973796f491 Merge branch 'ww' into test 2024-10-17 10:17:32 +08:00
wangw 0f7502df06 耗材列表 2024-10-17 10:17:06 +08:00
wangw dc9859b31d Merge branch 'ww' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java
2024-10-17 09:57:59 +08:00
wangw 30f21e1dd3 排序 2024-10-17 09:56:38 +08:00
SongZhang e2a127c0d0 Merge remote-tracking branch 'origin/test' into test 2024-10-17 09:13:18 +08:00
SongZhang 519bedfc7c detail价格计算折扣 2024-10-17 09:12:58 +08:00
wangw d79f737665 耗材列表 2024-10-16 17:56:04 +08:00
wangw e04281d8b9 耗材列表 2024-10-16 17:54:16 +08:00
SongZhang eff2d6d630 购物车修改接口 fix 2024-10-16 15:22:32 +08:00
SongZhang 54acf2a0f5 打包赠送允许不传递值 2024-10-16 15:11:53 +08:00
SongZhang 483af5462d 购物车获取修改 2024-10-16 14:27:27 +08:00
SongZhang 0417d122fb 退单接口修改 2024-10-16 14:14:43 +08:00
SongZhang 74a4514c3c 退单接口修改 购物车查询逻辑修改 2024-10-16 14:13:11 +08:00
wangw 8931ce98fa Merge branch 'ww' into test 2024-10-15 18:05:24 +08:00
wangw cd4008d824 报损 备注问题 2024-10-15 17:59:58 +08:00
wangw 03e0793e59 Merge branch 'ww' into test 2024-10-15 17:43:59 +08:00
wangw ffc2568b98 报损数量问题 2024-10-15 17:43:40 +08:00
wangw 7de19ffb1f Merge branch 'ww' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/SuppFlow.java
2024-10-15 15:51:45 +08:00
wangw c105c8d0ff 实体类 2024-10-15 15:51:05 +08:00
wangw 9e8d74845a Merge branch 'ww' into test 2024-10-15 14:33:11 +08:00
wangw a6a8c330ae 耗材 判断记录 2024-10-15 14:32:30 +08:00
SongZhang ef7f4ebb8e Merge remote-tracking branch 'origin/test' into test 2024-10-15 14:07:12 +08:00
SongZhang 1a8a15193e 修改接口支持打包赠送 2024-10-15 14:07:01 +08:00
wangw 1ed5338032 Merge branch 'ww' into test 2024-10-15 13:25:09 +08:00
wangw 01405b33e9 删除商品 2024-10-15 13:24:40 +08:00
wangw 544a251a67 Merge branch 'ww' into test 2024-10-15 10:06:33 +08:00
wangw f8c763ad9d 商品修改库存 记录 2024-10-15 10:06:02 +08:00
wangw fdf551358f 添加商品 规格丢失问题 2024-10-14 16:36:42 +08:00
wangw 192605ae90 添加商品 规格丢失问题 2024-10-14 16:35:09 +08:00
SongZhang 5e8e6661b9 Merge remote-tracking branch 'origin/test' into test 2024-10-14 16:28:53 +08:00
SongZhang 4c19b6c9d3 取餐码获取为null修复 2024-10-14 16:28:37 +08:00
SongZhang 347431f199 取餐码获取为null修复 2024-10-14 16:28:08 +08:00
wangw da9a1dc3b8 Merge branch 'ww' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java
2024-10-14 15:30:07 +08:00
wangw 68fac45b7a 销售统计 2024-10-14 15:29:23 +08:00
wangw f87a2747bc Merge branch 'ww' into test 2024-10-14 15:22:18 +08:00
wangw 2d03914963 分类 列表 数据问题
销售统计
2024-10-14 15:20:35 +08:00
wangw bf5e5ec7dd Merge branch 'ww' into test 2024-10-14 14:56:57 +08:00
wangw 5468fa56de 分类 列表 数据问题 2024-10-14 14:55:09 +08:00
SongZhang 1cc7188488 赠送商品单独拎出 2024-10-14 13:40:25 +08:00
SongZhang a9d92e98c5 退菜fix 2024-10-14 13:26:56 +08:00
SongZhang f01c6c0e3c Merge remote-tracking branch 'origin/test' into test 2024-10-14 10:30:00 +08:00
SongZhang 5a2c3f4208 客座费获取修改 2024-10-14 10:29:51 +08:00
谭凯凯 e659d1f420 调整打印机配置参数 2024-10-14 10:24:11 +08:00
SongZhang afbfde52bb 打印延迟3s 防止事务未提交 2024-10-14 10:15:41 +08:00
SongZhang 72dca1d7c4 Merge remote-tracking branch 'origin/test' into test 2024-10-14 10:03:24 +08:00
SongZhang c88b838e88 退款修改 2024-10-14 10:03:03 +08:00
wangw 958f1cfc5e Merge branch 'ww' into test 2024-10-14 09:14:15 +08:00
wangw cab483a7b9 耗材记录 2024-10-14 09:13:51 +08:00
wangw fac0e9b046 Merge branch 'ww' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsStockCountQueryCriteria.java
#	eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConsInfoFlowRepository.java
#	eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConsInfoFlowController.java
#	eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConsInfoFlowService.java
#	eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoFlowServiceImpl.java
#	eladmin-system/src/main/java/cn/ysk/cashier/repository/product/ProductStockCountRepository.java
2024-10-12 18:28:17 +08:00
wangw f120867e35 耗材记录 2024-10-12 18:26:54 +08:00
wangw 527b5f059c 耗材记录 2024-10-12 18:17:04 +08:00
wangw c918f2e5ce 耗材记录 2024-10-12 18:15:46 +08:00
SongZhang 2553a3605d 退款不更改购物车状态 2024-10-12 18:14:29 +08:00
SongZhang d3cac60125 打包费 2024-10-12 17:51:37 +08:00
SongZhang a8ab3706dd 台桌状态修改 2024-10-12 16:39:30 +08:00
SongZhang 10c11aef8f 已下单商品支持退单 2024-10-12 16:27:29 +08:00
SongZhang 18c1367856 购物车获取修改 2024-10-12 16:10:57 +08:00
SongZhang 10b2ae2537 Merge remote-tracking branch 'origin/test' into test 2024-10-12 15:58:08 +08:00
SongZhang 424082ead3 外带结束购物车状态 2024-10-12 15:57:49 +08:00
wangw 7c7976c197 Merge branch 'ww' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java
2024-10-12 15:12:07 +08:00
wangw 1945d3f906 商品共享库存字段 2024-10-12 15:11:00 +08:00
SongZhang cc9cfceed4 退款金额 2024-10-12 14:41:21 +08:00
SongZhang 1c04a44278 外带不校验餐位费 2024-10-12 14:36:35 +08:00
SongZhang 00f15ef7ee Merge remote-tracking branch 'origin/test' into test 2024-10-12 14:33:09 +08:00
SongZhang 6bccfb8036 退款金额展示有误fix 2024-10-12 14:32:58 +08:00
wangw e86a383c8c 未记录商品销售的bug 2024-10-12 14:16:59 +08:00
wangw b0140e7b23 Merge branch 'ww' into test 2024-10-12 14:16:44 +08:00
wangw 70abb276bc 未记录商品销售的bug 2024-10-12 14:16:24 +08:00
SongZhang ece7e3eb0e Merge remote-tracking branch 'origin/test' into test 2024-10-12 10:46:33 +08:00
SongZhang 90505fd354 订单创建失败不打印菜品票 2024-10-12 10:46:19 +08:00
Tankaikai d2ed566348 Merge remote-tracking branch 'origin/test' into test 2024-10-12 10:44:17 +08:00
谭凯凯 0ab7e04fc8 适配打印机新参数 2024-10-12 10:44:10 +08:00
SongZhang 7379b1d85d 退菜同步修改订单金额 2024-10-12 10:20:02 +08:00
SongZhang 608fb72c78 订单添加支付时间 2024-10-12 09:15:30 +08:00
SongZhang e1a5e491e5 订单查询修改 2024-10-11 18:17:49 +08:00
SongZhang adceb75c5c Merge remote-tracking branch 'origin/test' into test 2024-10-11 17:09:34 +08:00
SongZhang d335268a84 先付费模式创建订单之后清空台桌状态 2024-10-11 17:09:04 +08:00
wangw 7c7a42d58d 商品id 2024-10-11 16:56:43 +08:00
wangw a0b1c60896 商品id 2024-10-11 16:56:11 +08:00
SongZhang 6f50e1e134 Merge remote-tracking branch 'origin/test' into test 2024-10-11 16:42:58 +08:00
SongZhang 857502e26e 先付费模式创建订单之后结束购物车状态 2024-10-11 16:42:35 +08:00
wangw 2e374dcda7 Merge branch 'ww' into test 2024-10-11 15:58:43 +08:00
wangw 080c426caa 耗材记录 排序报错 2024-10-11 15:58:21 +08:00
wangw 4f14f8c914 Merge branch 'ww' into test 2024-10-11 15:47:52 +08:00
wangw 5a2a18992a 耗材记录 报错 2024-10-11 15:47:20 +08:00
wangw c8b2c5903a Merge branch 'ww' into test 2024-10-11 15:41:26 +08:00
wangw e8a7ab070b 耗材列表
绑定耗材
2024-10-11 15:40:15 +08:00
wangw 9fc2f9e702 商品列表 排序 报损 操作人 2024-10-11 14:47:04 +08:00
SongZhang 4d0bb753c4 Merge remote-tracking branch 'origin/test' into test 2024-10-11 14:46:40 +08:00
SongZhang e74fc42cf7 订单查询接口修改 2024-10-11 14:46:19 +08:00
wangw ee59a73d02 商品列表 排序 报损 操作人 2024-10-11 14:46:13 +08:00
谭凯凯 b7e9f74912 店铺管理-店铺配置:打印机设置相关接口 2024-10-11 14:36:34 +08:00
SongZhang 713ff653ad 库存改为商品级库存 2024-10-11 14:14:10 +08:00
SongZhang cc4d34b6fe 支付根据状态查询 2024-10-11 14:12:27 +08:00
SongZhang fb7c22aacc 退款接口修改 2024-10-11 13:48:31 +08:00
SongZhang c49088def2 下单校验餐位费 2024-10-11 11:45:41 +08:00
SongZhang 3b182796ab orderDetail状态未流转fix 2024-10-11 11:27:01 +08:00
SongZhang 838265d73f Merge remote-tracking branch 'origin/test' into test 2024-10-11 10:54:29 +08:00
SongZhang 4cd6d6742c 退款订单添加退款备注 2024-10-11 10:54:17 +08:00
wangw 3e3f8528f3 通用单位 2024-10-11 10:43:25 +08:00
Tankaikai 350012f368 Merge remote-tracking branch 'origin/test' into test 2024-10-11 10:42:42 +08:00
谭凯凯 12a5466e26 店铺管理-店铺配置:打印机设置相关接口 2024-10-11 10:42:34 +08:00
wangw 4d7e108f83 通用单位 2024-10-11 10:42:23 +08:00
wangw 156428784d 导出方法 2024-10-11 09:51:11 +08:00
wangw 66f1fb3da8 Merge branch 'ww' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java
2024-10-11 09:45:35 +08:00
wangw 846cbef3da 初始化单位,统计 关于客坐费没有规格问题 2024-10-11 09:44:18 +08:00
谭凯凯 8c8b49adb2 店铺管理-店铺配置:打印机设置相关接口 2024-10-11 09:38:41 +08:00
SongZhang 504fec5011 Merge remote-tracking branch 'origin/test' into test 2024-10-10 16:58:01 +08:00
SongZhang 42c1c1da3f 扫码支付回调修改 2024-10-10 16:57:51 +08:00
wangw cee923159c Merge branch 'ww' into test 2024-10-10 16:20:54 +08:00
wangw 70d26b5c78 新增商品 修改商品 价格问题 2024-10-10 16:20:27 +08:00
wangw 58ef3ae818 Merge branch 'ww' into test 2024-10-10 16:04:43 +08:00
wangw 4b28ad0f1c 耗材绑定关系 2024-10-10 16:02:23 +08:00
SongZhang 349ddf38a2 Merge remote-tracking branch 'origin/test' into test 2024-10-10 14:47:10 +08:00
SongZhang 3533a1c90e 订单详情返回餐位费信息 2024-10-10 14:46:53 +08:00
Tankaikai f25141a495 店铺小票打印记录查询 2024-10-09 18:21:38 +08:00
SongZhang fac61ff581 Merge remote-tracking branch 'origin/test' into test 2024-10-09 14:55:08 +08:00
SongZhang fece3c274e 取餐码获取修改
退款接口完善
2024-10-09 14:54:56 +08:00
谭凯凯 a0d9a1f591 打印消息队列新增透传参数 2024-10-09 14:48:11 +08:00
SongZhang 37dc169607 支付回调测试 2024-10-09 14:35:00 +08:00
SongZhang 77f193a06b 支付回调测试 2024-10-09 14:34:52 +08:00
SongZhang 4edaecf89c Merge remote-tracking branch 'origin/test' into test 2024-10-09 14:27:29 +08:00
SongZhang 27ffc4fa66 支付回调测试 2024-10-09 14:27:20 +08:00
Tankaikai 27c0c008d1 打印消息队列新增透传参数 2024-10-09 14:21:05 +08:00
SongZhang 680c24d2a2 台桌返回当前订单取餐码 2024-10-09 14:10:38 +08:00
SongZhang 99f372bf46 支付回调测试 2024-10-09 10:30:42 +08:00
SongZhang b6792ccf99 Merge remote-tracking branch 'origin/test' into test 2024-10-09 09:56:42 +08:00
SongZhang 9388c7de3a 支付回调测试 2024-10-09 09:56:32 +08:00
wangw bd21ba9ae8 Merge branch 'ww' into test 2024-10-09 09:35:51 +08:00
wangw 105ccd7e3f 商品列表 统计 sql问题 2024-10-09 09:34:54 +08:00
wangw 9f9355af39 Merge branch 'ww' into test 2024-10-08 18:02:02 +08:00
wangw 772c827118 商品列表 统计 sql问题 2024-10-08 18:01:06 +08:00
wangw 548c3a1940 Merge branch 'ww' into test 2024-10-08 17:49:44 +08:00
wangw d855a7eeac 商品列表 统计 2024-10-08 17:48:42 +08:00
SongZhang eb6e8845a0 Merge remote-tracking branch 'origin/test' into test 2024-10-08 17:15:55 +08:00
SongZhang 10f17d521e 支付回调测试 2024-10-08 17:15:41 +08:00
wangw e9de90557e Merge branch 'ww' into test 2024-10-08 16:28:57 +08:00
wangw 52656b40b9 商品列表 post 请求 2024-10-08 16:27:57 +08:00
wangw b20996355c Merge branch 'ww' into test 2024-10-08 16:16:19 +08:00
wangw 12cc56aada 商品列表v2改为post
统计处理空值
绑定相同耗材 提示
2024-10-08 16:14:09 +08:00
wangw 1a9310ef83 库存警戒值
日志记录
2024-10-08 15:28:31 +08:00
wangw e4a03e583b 库存警戒值
日志记录
2024-10-08 15:27:41 +08:00
SongZhang b9cce3bdf1 挂起订单取消挂起失败fix 2024-10-08 15:20:43 +08:00
SongZhang e7ca92eaaf 排队取号,取号完成无法取号fix 2024-10-08 14:36:45 +08:00
SongZhang 780fce1416 Merge remote-tracking branch 'origin/test' into test 2024-10-08 14:28:12 +08:00
SongZhang 79d15b5c4e 修改全局参数校验异常处理器逻辑 2024-10-08 14:28:02 +08:00
yijiegong 81dce3ea75 Merge branch 'gyj' into test 2024-10-08 13:50:02 +08:00
yijiegong 58a74d1b29 conInfoId 字段名 2024-10-08 13:49:26 +08:00
wangw facfa94973 库存警戒值 2024-10-08 13:43:02 +08:00
wangw 3c2f705bbb Merge branch 'ww' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java
2024-10-08 13:41:18 +08:00
wangw ca3b16c677 库存警戒值 2024-10-08 13:34:05 +08:00
wangw 8c69aa7474 Merge branch 'ww' into test 2024-10-08 13:25:18 +08:00
wangw 869d14f158 商品编辑 修改状态日志记录
快捷修改接口 日志记录 商品Id
库存警戒值
/api/summary/productSaleDate 商品销售 时间顺序
2024-10-08 13:24:03 +08:00
SongZhang f703a40903 退款接口实现 2024-10-08 10:55:08 +08:00
SongZhang fbb2be3755 退款接口实现 2024-10-08 10:51:24 +08:00
SongZhang 27f489fb0f Merge remote-tracking branch 'origin/test' into test 2024-10-08 10:39:42 +08:00
SongZhang f3539d1899 退款接口实现 2024-10-08 10:39:31 +08:00
yijiegong 88b649ab42 Merge branch 'gyj' into test 2024-10-08 10:30:20 +08:00
yijiegong cd1e953583 删除 多余 gitignore 2024-10-08 10:29:49 +08:00
SongZhang ba9482c4f6 Merge remote-tracking branch 'origin/test' into test 2024-10-08 09:27:03 +08:00
SongZhang 21a8fd517e 微信扫码支付报错fix 2024-10-08 09:26:44 +08:00
wangw e838459a1b Merge branch 'ww' into test 2024-09-29 17:52:45 +08:00
wangw f16f23ab84 商品 餐位费 不计 2024-09-29 17:52:19 +08:00
SongZhang 79e99e78a5 修改购物车修改 2024-09-29 11:40:31 +08:00
SongZhang 4ae309b5c5 Merge remote-tracking branch 'origin/test' into test 2024-09-29 11:35:35 +08:00
SongZhang 655383fd02 退款接口 2024-09-29 11:35:22 +08:00
wangw 07c9cb349d Merge branch 'ww' into test 2024-09-29 10:59:30 +08:00
wangw e28cb5d1f5 营业板块 翻台率 2024-09-29 10:57:27 +08:00
SongZhang c5d68ffffc 修改会员点单信息 2024-09-29 10:51:10 +08:00
SongZhang 1fa1921735 修改会员点单信息 2024-09-29 10:42:32 +08:00
SongZhang 4c56736535 Merge remote-tracking branch 'origin/test' into test 2024-09-29 10:40:52 +08:00
SongZhang 185b50a84e 修改会员点单信息 2024-09-29 10:40:42 +08:00
wangw 45907f107d Merge branch 'ww' into test 2024-09-29 10:30:23 +08:00
wangw bfb9f82659 营业板块 2024-09-29 10:29:55 +08:00
wangw 66c28248b7 Merge branch 'ww' into test 2024-09-29 10:04:28 +08:00
wangw 08f01e04ea 销售趋势柱状图 左下 2024-09-29 10:01:54 +08:00
SongZhang 29d09abd5f 退款相关实现
台桌列表获取报错fix
2024-09-29 09:55:37 +08:00
SongZhang c2ff66d937 Merge remote-tracking branch 'origin/test' into test 2024-09-29 09:55:31 +08:00
SongZhang 2186cd5a04 退款相关实现
台桌列表获取报错fix
2024-09-29 09:55:20 +08:00
Tankaikai 3c5c0f7f47 Merge branch 'tkk' into test 2024-09-29 09:42:03 +08:00
谭凯凯 ae1a748ef2 移除alipayAppId、alipayAppToken 2024-09-29 09:41:31 +08:00
wangw 4e14710e3d Merge branch 'ww' into test 2024-09-29 09:30:39 +08:00
wangw d1d42e8fdf 数据统计 销售趋势 2024-09-29 09:29:01 +08:00
SongZhang ffe39b3113 Merge remote-tracking branch 'origin/test' into test 2024-09-28 16:14:46 +08:00
SongZhang 84acdd0161 选择人数添加锁 2024-09-28 16:14:30 +08:00
wangw e36fb3f55e Merge branch 'ww' into test 2024-09-28 14:56:09 +08:00
wangw 29277ec4eb 报损 返回信息 2024-09-28 14:55:49 +08:00
wangw 7fbabbfeec Merge branch 'ww' into test 2024-09-28 14:43:08 +08:00
wangw dfcd29c738 商品报损 状态码 2024-09-28 14:42:44 +08:00
wangw a8f7d019c9 Merge branch 'ww' into test 2024-09-28 14:13:55 +08:00
wangw 58b25c7e0f 商品报损 2024-09-28 14:13:39 +08:00
wangw d785bd7fa8 Merge branch 'ww' into test 2024-09-28 11:21:29 +08:00
SongZhang a4ce1f0299 票据打印简化 2024-09-28 11:00:13 +08:00
wangw 6973d62dd6 保存库存 报错问题 2024-09-28 10:51:35 +08:00
SongZhang c763257ea0 票据打印简化 2024-09-28 10:45:42 +08:00
SongZhang 083f7fedcb 票据打印简化 2024-09-28 10:40:12 +08:00
SongZhang b1835e370d 删除购物车修改 2024-09-28 09:54:26 +08:00
SongZhang 76264b379a 创建订单修改 2024-09-28 09:45:07 +08:00
SongZhang 70291911a6 加入购物车修改 2024-09-28 09:41:17 +08:00
SongZhang 492fa159b9 加入购物车修改 2024-09-28 09:31:30 +08:00
SongZhang 2eaa98a4bc 加入购物车修改 2024-09-28 09:20:13 +08:00
SongZhang b50e76c04e 加入购物车修改 2024-09-28 09:15:30 +08:00
SongZhang 96f81b1b69 Merge remote-tracking branch 'origin/test' into test 2024-09-27 18:00:42 +08:00
SongZhang f7663fa62c 就餐模式切换修改 2024-09-27 18:00:20 +08:00
Tankaikai c24207bce4 Merge branch 'tkk' into test 2024-09-27 17:53:45 +08:00
谭凯凯 1add18e7dd 店铺管理-店铺列表>三方配置:新增支付宝小程序appid录入项 2024-09-27 17:52:55 +08:00
SongZhang 808e0a43bd Merge remote-tracking branch 'origin/test' into test 2024-09-27 17:42:26 +08:00
SongZhang 723cf01696 获取key报错fix 2024-09-27 17:42:05 +08:00
Tankaikai b1f2d56fa4 Merge remote-tracking branch 'origin/test' into test 2024-09-27 17:33:45 +08:00
Tankaikai 1980c8e88d Merge branch 'tkk' into test 2024-09-27 17:33:15 +08:00
SongZhang 5376962c34 创建订单fix 2024-09-27 17:33:08 +08:00
谭凯凯 cb4fa67e48 店铺管理-店铺列表>三方配置:新增支付宝小程序appid录入项 2024-09-27 17:32:30 +08:00
SongZhang e9e3d8ac80 用餐人数修改 2024-09-27 17:27:04 +08:00
SongZhang 5d665893f2 列表不查询挂单商品 2024-09-27 16:45:44 +08:00
SongZhang ce001560cb 手动清台模式不清空台桌状态 2024-09-27 16:32:49 +08:00
SongZhang 3121ab5adb 查询购物车限制时间 2024-09-27 16:22:09 +08:00
SongZhang 7bd4d05381 Merge remote-tracking branch 'origin/test' into test 2024-09-27 16:08:38 +08:00
SongZhang 8f41aa713c 台桌不返回订单id fix 2024-09-27 16:08:29 +08:00
wangw 51f60c002c Merge branch 'ww' into test 2024-09-27 16:01:55 +08:00
wangw 95c83b23d5 店铺付款二维码 2024-09-27 16:01:18 +08:00
Tankaikai 408209950b Merge branch 'tkk' into test 2024-09-27 15:56:17 +08:00
谭凯凯 50a2773b5a 增加系统参数配置相关接口,增加店铺订单支付链接获取接口 2024-09-27 15:55:49 +08:00
Tankaikai fe9b27bbff Merge branch 'tkk' into test 2024-09-27 15:46:49 +08:00
谭凯凯 f739b3b1a6 增加系统参数配置相关接口,增加店铺订单支付链接获取接口 2024-09-27 15:46:22 +08:00
Tankaikai 70af101daf Merge branch 'tkk' into test 2024-09-27 15:41:19 +08:00
谭凯凯 bf735b1a31 增加系统参数配置相关接口,增加店铺订单支付链接获取接口 2024-09-27 15:39:30 +08:00
wangw 7ae3992afc Merge branch 'ww' into test 2024-09-27 15:23:58 +08:00
wangw 1208a38018 商品列表 售罄/下架 2024-09-27 15:22:56 +08:00
yijiegong a799256302 Merge branch 'gyj' into test 2024-09-27 14:58:41 +08:00
yijiegong a4b1beec18 退货数据显示为负数 2024-09-27 14:58:21 +08:00
wangw 4ff17e7aba Merge branch 'ww' into test 2024-09-27 14:31:45 +08:00
wangw 74fee9a48e 耗材重复绑定问题 2024-09-27 14:31:16 +08:00
wangw f5de0d16c3 快捷接口 问题 2024-09-27 14:17:40 +08:00
wangw ba06410d44 快捷接口 问题 2024-09-27 14:17:15 +08:00
SongZhang 325e982645 修改支持备注 2024-09-27 14:03:21 +08:00
SongZhang 5bf555c8a9 修改支持备注 2024-09-27 11:39:54 +08:00
SongZhang a2ccfb0628 Merge remote-tracking branch 'origin/test' into test 2024-09-27 11:30:05 +08:00
SongZhang f4bf18218f 就餐模式切换设置打包费 2024-09-27 11:29:34 +08:00
yijiegong 9522fc1110 Merge branch 'gyj' into test 2024-09-27 10:46:58 +08:00
yijiegong 57e4a9261b 增加获取订阅消息二维码接口 2024-09-27 10:46:32 +08:00
SongZhang 5be2e74d81 就餐模式切换携带tableId 2024-09-27 10:27:30 +08:00
SongZhang e55c1744ad 代客下单逻辑修改 2024-09-27 10:21:40 +08:00
SongZhang bee3d67106 代客下单逻辑修改 2024-09-27 10:17:32 +08:00
SongZhang 36d81b71d4 代客下单逻辑修改 2024-09-27 10:14:11 +08:00
SongZhang 11121d6ca2 Merge remote-tracking branch 'origin/test' into test 2024-09-27 10:05:57 +08:00
SongZhang 19533f37b4 创建订单保存sendType 2024-09-27 10:05:49 +08:00
wangw 7285de2024 Merge branch 'ww' into test 2024-09-27 09:59:10 +08:00
wangw 5be1876d3d 商品/耗材 记录接口 2024-09-27 09:58:03 +08:00
SongZhang cf9ff5c380 就餐模式获取调整 2024-09-27 09:41:54 +08:00
SongZhang b4f227878a Merge remote-tracking branch 'origin/test' into test 2024-09-27 09:12:25 +08:00
SongZhang 1b88298536 就餐模式获取调整 2024-09-27 09:12:14 +08:00
wangw 86dc91cb4e Merge branch 'ww' into test 2024-09-26 18:09:32 +08:00
wangw 0447d240b2 商品报损 报错
主页接口 报错
2024-09-26 18:09:14 +08:00
SongZhang 6686f0c549 Merge remote-tracking branch 'origin/test' into test 2024-09-26 17:49:18 +08:00
SongZhang 1db4743ac8 代客下单调整 2024-09-26 17:49:07 +08:00
wangw e5f632c036 Merge branch 'ww' into test 2024-09-26 17:24:16 +08:00
wangw 90382c8f59 主页板块报错问题 2024-09-26 17:23:55 +08:00
Tankaikai 39e8cded74 Merge remote-tracking branch 'origin/test' into test 2024-09-26 17:11:16 +08:00
Tankaikai 4dec40c568 Merge branch 'tkk' into test 2024-09-26 17:10:42 +08:00
谭凯凯 2e6518a975 店铺管理-店铺列表>三方配置:新增支付宝小程序appid录入项 2024-09-26 17:10:08 +08:00
wangw 1198781b61 库存记录 操作人 2024-09-26 17:02:16 +08:00
wangw 3302b8dd24 库存记录 操作人 2024-09-26 17:01:35 +08:00
Tankaikai 7467cfa444 Merge branch 'tkk' into test 2024-09-26 16:57:10 +08:00
谭凯凯 61b92e07ba 店铺管理-店铺列表>三方配置:新增支付宝小程序appid录入项 2024-09-26 16:56:36 +08:00
SongZhang efb7e64323 代客下单调整 2024-09-26 16:22:02 +08:00
SongZhang a5c11fee41 代客下单调整 2024-09-26 16:16:50 +08:00
SongZhang fbb586b3a4 代客下单调整 2024-09-26 15:54:27 +08:00
SongZhang 1d5c6d7f69 代客下单调整 2024-09-26 15:47:59 +08:00
SongZhang d6d1691098 Merge remote-tracking branch 'origin/test' into test 2024-09-26 15:29:37 +08:00
SongZhang 094f84e92b 代客下单调整 2024-09-26 15:29:25 +08:00
wangw c824146e1c Merge branch 'ww' into test 2024-09-26 15:15:26 +08:00
wangw 386126cb5e 首页 统计 数据统计(包括弹窗)/销量统计
快捷修改接口 报错问题
2024-09-26 15:14:46 +08:00
wangw b2dad3b3fd 首页 统计 数据统计(包括弹窗)/销量统计
快捷修改接口 报错问题
2024-09-26 15:14:40 +08:00
SongZhang 223585f5b9 餐位费支持删除 2024-09-26 10:41:40 +08:00
SongZhang efb5281d90 餐位费支持删除 2024-09-26 10:36:43 +08:00
SongZhang 7877060aa0 修复餐位费无法结算 2024-09-26 10:09:25 +08:00
SongZhang 344c1ae874 修复餐位费无法结算 2024-09-26 10:06:51 +08:00
SongZhang af74c43374 叫号列表固定查询0,1状态 2024-09-26 09:55:08 +08:00
SongZhang 4b60df1987 不统计顺延的桌号 2024-09-26 09:50:23 +08:00
SongZhang dde33361eb 叫号最先保存叫号信息 2024-09-26 09:45:25 +08:00
SongZhang 224cc4999c Merge remote-tracking branch 'origin/test' into test 2024-09-26 09:38:14 +08:00
SongZhang 4acff0f20d 修复台桌金额展示有误 2024-09-26 09:38:04 +08:00
Tankaikai 8275b2709e Merge branch 'tkk' into test 2024-09-25 18:20:49 +08:00
谭凯凯 0ed1e068ed 店铺管理-店铺配置:打印机设置相关接口 2024-09-25 18:20:06 +08:00
SongZhang 55eb77f824 Merge remote-tracking branch 'origin/test' into test 2024-09-25 18:13:40 +08:00
SongZhang f89a5f5280 修改台桌日期字段类型 2024-09-25 18:13:30 +08:00
wangw b06487848f Merge branch 'ww' into test 2024-09-25 17:39:33 +08:00
wangw 57269a1e92 耗材 记录 统计 Bug 2024-09-25 17:38:54 +08:00
wangw ba025f0e09 Merge branch 'ww' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/repository/product/ProductStockCountRepository.java
2024-09-25 17:21:29 +08:00
wangw faa463e396 耗材报损
耗材记录统计bug
2024-09-25 17:20:35 +08:00
wangw f9f69f93cd 商品库存数据统计
商品库存查询变动记录
耗材库存数据统计
商品列表排序
耗材列表排序
商品报损
耗材报损
2024-09-25 16:00:34 +08:00
wangw 46beff3cd9 商品库存数据统计
商品库存查询变动记录
耗材库存数据统计
商品列表排序
耗材列表排序
商品报损
耗材报损
2024-09-25 16:00:05 +08:00
Tankaikai 999126b034 Merge branch 'tkk' into test 2024-09-25 15:50:06 +08:00
谭凯凯 80edd84c4f 店铺管理-店铺配置:打印机设置相关接口 2024-09-25 15:49:26 +08:00
wangw e4b9834684 Merge branch 'ww' into test 2024-09-25 09:33:33 +08:00
wangw 8f5ca9b7f3 数据统计 报错问题 2024-09-25 09:32:13 +08:00
SongZhang 5e9d45520f Merge remote-tracking branch 'origin/test' into test 2024-09-24 18:14:50 +08:00
SongZhang e745d54af6 订单详情返回就餐形式 2024-09-24 18:14:41 +08:00
wangw 0d77408fa5 Merge branch 'ww' into test 2024-09-24 18:14:23 +08:00
wangw 056126127b 数据统计 销售数量 视图数据
新增店铺 店铺名称 校验
2024-09-24 18:14:04 +08:00
wangw 5042ebe490 Merge branch 'ww' into test 2024-09-24 17:46:40 +08:00
wangw d8841522ad 商品 耗材 绑定关系 接口日志
问题处理 不传规格id时 过滤
2024-09-24 17:46:21 +08:00
wangw 6c2ef5d75b Merge branch 'ww' into test 2024-09-24 17:14:18 +08:00
wangw 418e834fe3 商品列表 耗材弹窗 添加至商品/添加至规格 1/2 2024-09-24 17:13:57 +08:00
wangw b4c795e7d5 Merge branch 'ww' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbProskuConDtoV2.java
#	eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbProskuConServiceImpl.java
2024-09-24 17:08:14 +08:00
wangw 0de9071813 商品列表 耗材弹窗 添加至商品/添加至规格 2024-09-24 17:05:54 +08:00
SongZhang 064e683a68 Merge remote-tracking branch 'origin/test' into test 2024-09-24 16:35:16 +08:00
SongZhang 0a14ecdf16 叫号列表查询条件修改,取消顺延功能 2024-09-24 16:34:56 +08:00
wangw 415e6ff469 绑定至规格 2024-09-24 16:28:40 +08:00
wangw 82c72c9e0c 绑定至规格 2024-09-24 16:28:08 +08:00
wangw 8e27e25936 Merge branch 'ww' into test 2024-09-24 16:13:13 +08:00
wangw c20c9c54af 商品 库存警戒线
快捷修改 商品退款退回库存
2024-09-24 16:09:47 +08:00
wangw 7b47f40fe8 库存记录 存入 统计 列表 详情列表 2024-09-24 15:16:30 +08:00
wangw 5b6e8caf35 上下架 报错问题 2024-09-24 15:16:30 +08:00
wangw 81a4bfdf72 库存记录 存入 统计 列表 详情列表 2024-09-24 15:15:35 +08:00
wangw 6b15377285 上下架 报错问题 2024-09-24 15:14:36 +08:00
SongZhang 1e09c75ea0 叫号返回叫号状态 2024-09-24 15:03:05 +08:00
SongZhang 69ec3f381c Merge remote-tracking branch 'origin/test' into test 2024-09-24 11:36:33 +08:00
SongZhang e3a1b5bdf9 叫号报错不返回错误码 2024-09-24 11:36:22 +08:00
wangw 5fc8bfe3e5 Merge branch 'ww' into test 2024-09-24 11:27:08 +08:00
wangw 6300940d2e 商品 价格 羊角符问题 2024-09-24 11:25:47 +08:00
yijiegong 4cd7f05bc9 Merge branch 'gyj' into test 2024-09-24 11:10:39 +08:00
yijiegong 6a4da2891b 创建员工返回状态码200 2024-09-24 11:10:11 +08:00
wangw a1293d642b 修改耗材 2024-09-24 11:07:57 +08:00
wangw 51480b95a8 修改商品 信息 快捷接口 Bug 2024-09-24 11:07:57 +08:00
wangw 6107a37eff 规格价格 单规格去除羊角符 2024-09-24 11:07:57 +08:00
wangw e93e19c596 修改耗材 2024-09-24 11:07:12 +08:00
wangw 49ada5c669 修改商品 信息 快捷接口 Bug 2024-09-23 17:23:52 +08:00
wangw 259c18e131 规格价格 单规格去除羊角符 2024-09-23 17:22:03 +08:00
SongZhang e3d2a9d891 Merge remote-tracking branch 'origin/test' into test 2024-09-23 16:13:58 +08:00
SongZhang 2a80dfece6 台桌返回当前用餐类型 2024-09-23 16:13:46 +08:00
wangw 55ead8507b Merge branch 'ww' into test 2024-09-23 14:44:24 +08:00
wangw e3845071a3 规格价格 去除羊角符合 2024-09-23 14:44:06 +08:00
SongZhang 7c589b74af Merge remote-tracking branch 'origin/test' into test 2024-09-23 14:25:52 +08:00
SongZhang 121e25ec0f 用户查询接口支持id查询 2024-09-23 14:25:31 +08:00
wangw 21d0a29878 Merge branch 'ww' into test 2024-09-23 14:00:39 +08:00
wangw 8208f97c67 快捷修改接口 价格问题 2024-09-23 14:00:17 +08:00
wangw 551104543d 商品列表 返回库存数量 2024-09-23 13:59:59 +08:00
SongZhang 46f0ab568e 代客下单订单同步保存就餐人数 2024-09-23 13:40:42 +08:00
SongZhang 220ec46d4b 代客下单订单同步保存就餐人数 2024-09-23 13:35:05 +08:00
SongZhang eacf010f15 Merge remote-tracking branch 'origin/test' into test 2024-09-23 13:29:53 +08:00
SongZhang 1a01ff5cce 代客下单订单同步保存餐位费 2024-09-23 13:29:15 +08:00
SongZhang 1babbfdefe 代客下单订单同步保存餐位费 2024-09-23 13:28:14 +08:00
wangw 31b20a92fd Merge branch 'ww' into test 2024-09-23 11:43:44 +08:00
wangw 6af7109afb 商品列表 展开问题 2024-09-23 11:43:26 +08:00
wangw f982f82713 Merge branch 'ww' into test 2024-09-23 11:37:58 +08:00
wangw 01ba195445 商品列表 展开问题 2024-09-23 11:36:59 +08:00
SongZhang 3873009e63 叫号记录降序 2024-09-23 11:29:15 +08:00
SongZhang f28466cfae Merge remote-tracking branch 'origin/test' into test 2024-09-23 11:16:54 +08:00
SongZhang 1ab55c2c46 排队取号顺延之后支持重复取号
扫码取号实现
2024-09-23 11:16:33 +08:00
yijiegong 2426a8155e Merge remote-tracking branch 'origin/test' into test 2024-09-23 11:01:42 +08:00
yijiegong e54aaa7c14 Merge branch 'gyj' into test 2024-09-23 11:01:28 +08:00
yijiegong 1e54eb1456 hasPermission 增加默认值 2024-09-23 11:00:55 +08:00
wangw a3c9deda29 员工 实体类 位置 2024-09-23 11:00:25 +08:00
SongZhang 871b0c5262 排队取号顺延之后支持重复取号 2024-09-23 10:59:48 +08:00
SongZhang 2eff0601c7 Merge remote-tracking branch 'origin/test' into test 2024-09-23 10:25:37 +08:00
SongZhang 272ebd6663 代客下单获取下单次数增加useType 2024-09-23 10:25:09 +08:00
yijiegong 96bfc97675 增加员工权限 员工权限bug 2024-09-23 10:13:16 +08:00
yijiegong 48abe51c47 Merge remote-tracking branch 'origin/test' into test 2024-09-23 10:10:40 +08:00
yijiegong c946db4348 增加员工权限 员工权限bug 2024-09-23 10:10:19 +08:00
SongZhang 0fdae37924 代客下单选择人数增加用餐类型 2024-09-23 09:56:54 +08:00
SongZhang f5d64cbb4a Merge remote-tracking branch 'origin/test' into test 2024-09-23 09:51:26 +08:00
SongZhang 0e23f94e80 叫号添加顺延 2024-09-23 09:51:05 +08:00
yijiegong 869059bf59 Merge remote-tracking branch 'origin/test' into test 2024-09-23 09:50:12 +08:00
yijiegong db371bf9fb Merge branch 'gyj' into test 2024-09-23 09:49:42 +08:00
yijiegong 039c0e9166 增加员工权限 - 先插入 员工 2024-09-23 09:49:27 +08:00
wangw f70ef125ed 员工 实体类 位置 2024-09-23 09:48:25 +08:00
wangw 099b6bed74 Merge branch 'ww' into test 2024-09-20 18:24:22 +08:00
wangw 00512ba83b 商品快捷操作接口 以及 落地记录2 2024-09-20 18:24:06 +08:00
wangw 0abcbbec32 Merge branch 'ww' into test 2024-09-20 18:18:13 +08:00
wangw de8199df49 商品快捷操作接口 以及 落地记录 2024-09-20 18:17:26 +08:00
SongZhang 9e25471e1e 代码合并 2024-09-20 17:43:27 +08:00
yijiegong 546b63e336 Merge branch 'gyj' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java
2024-09-20 17:35:45 +08:00
yijiegong c3597cd28e 修改台桌统计导出数据 2024-09-20 17:15:05 +08:00
wangw d8ed96dff7 交班2 2024-09-20 16:10:36 +08:00
SongZhang bd2e79027d 修改排号卓型校验nearNum 2024-09-20 11:24:58 +08:00
SongZhang b81e72a0cc 修改排号卓型不校验nearNum 2024-09-20 11:22:49 +08:00
SongZhang 5c0b87634c Merge remote-tracking branch 'origin/test' into test 2024-09-20 11:13:38 +08:00
SongZhang 948932cb0a 桌型列表isPostpone改为布尔值 2024-09-20 11:12:44 +08:00
wangw 4f89609f07 Merge branch 'ww' into test 2024-09-20 11:00:03 +08:00
wangw 7d5ebbfb65 交班 api/tbHandover/handoverData 2024-09-20 10:59:22 +08:00
SongZhang 4a2fc4e2e0 Merge remote-tracking branch 'origin/test' into test 2024-09-20 09:49:41 +08:00
SongZhang 34c052902a 增加排号卓型添加顺延字段 2024-09-20 09:49:31 +08:00
wangw c020a64469 Merge branch 'ww' into test 2024-09-20 09:28:44 +08:00
wangw 05e1d5390c 规格返回 上下架字段 2024-09-20 09:28:33 +08:00
wangw 6a96987857 Merge branch 'ww' into test 2024-09-20 09:23:57 +08:00
wangw 0f2eea3e13 商品价格范围为空问题 2024-09-20 09:23:45 +08:00
SongZhang 0d06185849 过号发送过号模板消息 2024-09-19 17:51:58 +08:00
SongZhang aded35b3c1 排队叫号添加微信模板消息提醒 2024-09-19 17:46:08 +08:00
SongZhang 395cd4750c 增加小程序模板消息配置 2024-09-19 17:29:16 +08:00
SongZhang 14c437a30e Merge remote-tracking branch 'origin/test' into test 2024-09-19 17:28:18 +08:00
SongZhang 25e45d779d 增加小程序模板消息配置 2024-09-19 17:27:55 +08:00
wangw e56c7c6d81 商品 上下架 2024-09-19 17:13:17 +08:00
wangw f55f709fec 商品 上下架 2024-09-19 17:12:08 +08:00
SongZhang e72cc189da 台桌信息返回当前订单id 2024-09-19 17:05:27 +08:00
SongZhang 9cd49383ff 取号打票 2024-09-19 16:53:51 +08:00
SongZhang e525d7e058 Merge remote-tracking branch 'origin/test' into test 2024-09-19 16:53:38 +08:00
SongZhang 4e76bb2736 代客下单就餐模式判断 2024-09-19 16:53:18 +08:00
wangw f8ac16b457 Merge branch 'ww' into test 2024-09-19 16:06:55 +08:00
wangw df3e3604f2 商品详情 增加关于耗材的 信息
/api/tbProskuCon/V2 新增商品耗材绑定关系
2024-09-19 16:06:30 +08:00
SongZhang d7eaca4af2 Merge remote-tracking branch 'origin/test' into test 2024-09-19 11:14:38 +08:00
SongZhang b4c1743a26 代客下单就餐模式切换接口 2024-09-19 11:14:17 +08:00
wangw 4a6d12f3ad 商品列表 V2 2024-09-19 11:13:18 +08:00
wangw aa880477cb 店铺扩展信息 通过类型查询 title字段 2024-09-19 11:13:18 +08:00
SongZhang a262f6f6b5 代客下单就餐模式切换接口 2024-09-19 10:58:16 +08:00
wangw e4a8991205 商品列表 V2 2024-09-19 10:37:59 +08:00
SongZhang 2f6bbd4dec 挂单报错fix 2024-09-19 10:17:27 +08:00
SongZhang 079bf18d4c 叫号配置接口 2024-09-19 10:16:50 +08:00
SongZhang 66dc7c8581 代客下单 下单根据店铺配置校验餐位费 2024-09-18 17:51:55 +08:00
wangw e4b25899e5 店铺扩展信息 通过类型查询 title字段 2024-09-18 17:32:55 +08:00
SongZhang 1b3158930f 代客下单支持外带用餐模式 2024-09-18 17:29:10 +08:00
SongZhang e9fa13fdd8 排队取号时间格式修改 2024-09-18 11:09:32 +08:00
SongZhang 116ced92cb 排队取号记录修改 2024-09-18 10:38:51 +08:00
SongZhang 510372ff46 排队取号返回叫号信息 2024-09-18 10:31:52 +08:00
SongZhang 1cd6bca4ba 排号修改叫号状态修改 2024-09-18 10:22:32 +08:00
SongZhang d0042e3d63 Merge remote-tracking branch 'origin/test' into test 2024-09-18 10:20:48 +08:00
SongZhang e129be76e8 排号修改叫号状态修改 2024-09-18 10:20:26 +08:00
wangw 5922665e32 店铺扩展信息 通过类型查询 2024-09-18 10:08:02 +08:00
wangw 9fa99a28e3 店铺扩展信息 通过类型查询 2024-09-18 10:07:43 +08:00
SongZhang d0cec6c5ed 排号获取桌型列表fix 2024-09-18 10:01:27 +08:00
SongZhang 5a6d4ce854 Merge remote-tracking branch 'origin/test' into test 2024-09-14 17:22:29 +08:00
SongZhang 04c83a5213 排队桌型列表状态增加筛选 2024-09-14 17:22:09 +08:00
wangw 19a4c0124e Merge branch 'ww' into test 2024-09-14 17:16:49 +08:00
wangw 5215a440c9 去除多余注解
配置 sql日志监听
2024-09-14 17:15:55 +08:00
yijiegong 2abfc01d83 Merge branch 'gyj' into test 2024-09-14 16:59:15 +08:00
yijiegong 35d66973bc 删除注解 2024-09-14 16:58:47 +08:00
SongZhang 5351be915c 排队桌型列表添加总人数 2024-09-14 16:57:32 +08:00
SongZhang b9562194b6 叫号报错fix 2024-09-14 16:48:54 +08:00
SongZhang 54e2bd1651 日志级别修改 2024-09-14 16:45:02 +08:00
SongZhang 14352a6d7b 排队桌型列表修改 2024-09-14 16:40:28 +08:00
SongZhang 2ff0216f68 Merge remote-tracking branch 'origin/test' into test 2024-09-14 16:28:06 +08:00
SongZhang d3d401d2f3 排号增加天数查询限制 2024-09-14 16:27:54 +08:00
yijiegong 50dc84efd5 Merge remote-tracking branch 'origin/test' into test 2024-09-14 16:24:36 +08:00
yijiegong b101bac68c Merge branch 'gyj' into test 2024-09-14 16:23:36 +08:00
yijiegong bdad979450 员工权限 2024-09-14 16:22:41 +08:00
SongZhang 48f82895e7 叫号增加微信提醒 2024-09-14 16:07:46 +08:00
SongZhang f516dae0da 叫号记录增加字段 2024-09-14 16:05:08 +08:00
SongZhang e35da7f608 叫号记录增加字段 2024-09-14 16:02:35 +08:00
SongZhang a9589edca5 叫号记录增加字段 2024-09-14 15:59:46 +08:00
SongZhang 99e7cdf5a9 叫号记录增加字段 2024-09-14 15:55:22 +08:00
SongZhang a956e7b764 叫号记录增加字段 2024-09-14 15:52:13 +08:00
SongZhang 90e8e4944e 叫号记录增加字段 2024-09-14 15:50:06 +08:00
SongZhang 6b9d488749 叫号微信小程序模板消息实现 2024-09-14 15:45:55 +08:00
SongZhang 675569c19e 排号增加叫号记录接口 2024-09-14 15:16:49 +08:00
SongZhang 077222c9b7 排号桌型列表返回总人数 2024-09-14 15:01:34 +08:00
SongZhang 8f2303d1bf 代客下单人数未保存fix 2024-09-14 14:50:22 +08:00
SongZhang ec70083bd6 Merge remote-tracking branch 'origin/test' into test 2024-09-14 11:47:27 +08:00
SongZhang f9b5dbad58 台桌修改状态清除用餐人数 2024-09-14 11:47:03 +08:00
wangw 116852ce30 店铺参数 小程序码 2024-09-14 09:14:47 +08:00
wangw c9c6bb6349 店铺参数 小程序码 2024-09-14 09:14:19 +08:00
SongZhang 78ed984ef8 台桌修改状态清除用餐人数 2024-09-13 15:45:14 +08:00
SongZhang 67af4f1463 排队取号保存号码 2024-09-13 15:24:11 +08:00
SongZhang a73530df84 排队取号保存号码 2024-09-13 15:14:03 +08:00
SongZhang 5e8601745b 客座费修改fix 2024-09-13 15:13:39 +08:00
SongZhang 69053261e0 扫码排队增删改查接口 2024-09-13 11:49:51 +08:00
SongZhang 62c28fe2f6 扫码排队增删改查接口 2024-09-13 11:49:20 +08:00
SongZhang b1e5ae969b 1.台桌列表支持精确搜索
2.台桌选择人数校验最大人数
2024-09-13 10:24:12 +08:00
SongZhang ff27101e13 1.代客下单 orderDetail同步保存cartid 2024-09-12 16:58:35 +08:00
SongZhang 7c00d0d9a0 1.代客下单 创建订单直接付款不增加placeNum 2024-09-12 14:54:53 +08:00
SongZhang 7f0056304d 1.代客下单 创建订单直接付款不增加placeNum 2024-09-12 14:47:08 +08:00
SongZhang a40431fbe7 1.代客下单 添加购物车新增单品备注 2024-09-12 14:43:54 +08:00
SongZhang 0f9c370118 1.代客下单 添加购物车新增单品备注 2024-09-12 14:38:45 +08:00
SongZhang 5c2b995d1f 1.代客下单 创建订单placeNum不正常修复 2024-09-12 14:21:56 +08:00
SongZhang 90d5e3888b 1.代客下单 退单fix 2024-09-12 14:08:13 +08:00
SongZhang d7bf0f2811 1.代客下单 打印当前台桌菜品 2024-09-12 11:21:06 +08:00
SongZhang be097e8b2d Merge remote-tracking branch 'origin/test' into test 2024-09-12 10:47:36 +08:00
SongZhang e08f83ac6e 1.代客下单 删除fix 2024-09-12 10:47:16 +08:00
wangw d2d5c10b0e Merge branch 'ww' into test 2024-09-12 10:31:53 +08:00
wangw baa9c6c260 店铺修改 参数问题 非空 2024-09-12 10:31:26 +08:00
wangw 0a3b50ef6f 店铺修改 参数问题 2024-09-12 10:26:54 +08:00
wangw 8b099a2ae6 店铺修改 参数问题 2024-09-12 10:26:28 +08:00
SongZhang 7e29627bf6 1.代客下单 删除报错fix 2024-09-12 10:22:12 +08:00
SongZhang 242427f1ee 1.代客下单 台桌状态修改 2024-09-12 10:07:53 +08:00
SongZhang c5d92f9ea6 1.代客下单 购物车返回结构修改,添加购物车不设置placeNum 2024-09-12 09:49:54 +08:00
SongZhang 48078ad2d6 1.代客下单 购物车返回结构修改,添加购物车不设置placeNum 2024-09-12 09:33:16 +08:00
SongZhang 7af4a48dfa 1.代客下单 添加台桌就餐人数 2024-09-11 18:04:06 +08:00
SongZhang 3b9617a03e 1.已退单商品忽略订单总价 2024-09-11 18:00:46 +08:00
SongZhang 7921c21295 1.取消挂单修改状态 2024-09-11 17:52:37 +08:00
SongZhang 822141899c Merge remote-tracking branch 'origin/test' into test 2024-09-11 17:37:33 +08:00
SongZhang 2f4fec7631 1.退单 2024-09-11 17:37:25 +08:00
wangw c0bad61875 Merge branch 'ww' into test 2024-09-11 17:10:20 +08:00
wangw 5d15b3c309 翻台率 不保留小数 2024-09-11 17:09:44 +08:00
SongZhang 770c8e01f2 1.代客下单订单打印
2.批量生成台桌
2024-09-11 16:59:20 +08:00
wangw 1dd8dc4508 营业板块 金额问题 2024-09-11 16:54:02 +08:00
wangw f039135371 营业板块 金额问题 2024-09-11 16:52:09 +08:00
SongZhang 2ef311f887 1.代客下单 创建订单更新台桌使用时间 2024-09-11 14:59:57 +08:00
SongZhang 2c99b8cd18 1.代客下单 增加自动手动清台,新增台桌订单状态信息 2024-09-11 14:55:27 +08:00
SongZhang 26b3e0bc2c 1.代客下单 增加自动手动清台,新增台桌订单状态信息 2024-09-11 14:53:21 +08:00
SongZhang 3ebec6f0c5 1.代客下单 增加自动手动清台,新增台桌订单状态信息 2024-09-11 14:49:22 +08:00
SongZhang f2bfc718c3 1.代客下单 已下单商品不支持操作 2024-09-11 14:08:41 +08:00
SongZhang dc0f6eae1e 1.代客下单 客位费 2024-09-11 11:26:58 +08:00
SongZhang 373fb2bdf0 Merge remote-tracking branch 'origin/test' into test 2024-09-11 11:18:45 +08:00
SongZhang 10290bd37b 1.代客下单 退单接口 选择台桌 选择人数 2024-09-11 11:17:39 +08:00
wangw 901fb9af81 Merge branch 'ww' into test 2024-09-11 11:02:55 +08:00
wangw 535079c14d 店铺信息 桌位费 收款码 付款模式 就餐形式 2024-09-11 11:02:29 +08:00
wangw 18614278a7 翻台率 百分数 2024-09-10 16:11:49 +08:00
wangw df4886d62c 翻台率 百分数 2024-09-10 16:11:36 +08:00
wangw ced7d4bc7d 首页 数据统计 2024-09-10 15:55:27 +08:00
wangw efd9d78227 首页 数据统计 2024-09-10 15:54:40 +08:00
yijiegong 6c480acd20 Merge branch 'gyj' into test 2024-09-10 09:21:35 +08:00
yijiegong 260bf68c23 Merge branch 'gyj' into dev 2024-09-10 09:19:50 +08:00
yijiegong c063c19532 二维码下载数量限制500 2024-09-10 09:14:37 +08:00
SongZhang 6096f91b6c Merge remote-tracking branch 'origin/dev' into test 2024-09-10 09:10:48 +08:00
wangw 05adbeb584 sql执行时长 2024-09-09 18:18:30 +08:00
SongZhang 50e0f09be8 1.代客下单 扫码支付记录不准确修复 2024-09-09 10:55:19 +08:00
SongZhang 09252dda7c Merge remote-tracking branch 'origin/test' into test 2024-09-09 10:39:07 +08:00
SongZhang db545ee118 1.代客下单 扫码支付校验相关参数 2024-09-09 10:38:57 +08:00
wangw fec443ce6c Merge branch 'test' into dev
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/config/security/config/bean/LoginProperties.java
#	eladmin-system/src/main/resources/config/application-pre.yml
2024-09-09 09:59:01 +08:00
wangw c618c712f3 验证码 区间 2024-09-06 17:02:29 +08:00
wangw 98bb93516f 去除实体类TagProductDepts 没有主键的提示 2024-09-06 11:14:50 +08:00
wangw 4e81e0fca1 获取临时上传凭证 2024-09-06 09:53:19 +08:00
wangw 28eb1496b9 上传版本文件修改为前端上传 2024-09-06 09:42:12 +08:00
wangw 81b6454557 获取临时上传凭证 2024-09-05 17:32:00 +08:00
SongZhang 72a3057126 1.代客下单 失败添加消息提示 2024-09-05 15:04:23 +08:00
SongZhang b7fc525623 1.代客下单 失败添加消息提示 2024-09-05 15:01:31 +08:00
SongZhang f458e6f77e Merge remote-tracking branch 'origin/test' into test 2024-09-05 14:57:27 +08:00
SongZhang 7b91549664 1.代客下单 失败添加消息提示 2024-09-05 14:57:15 +08:00
wangw 10373ab45f 版本管理列表 时间倒叙 2024-09-05 11:01:36 +08:00
SongZhang a08d181e77 Merge remote-tracking branch 'origin/test' into test 2024-09-05 10:54:58 +08:00
SongZhang 50faef4a20 1.代客下单 失败添加消息提示 2024-09-05 10:54:36 +08:00
wangw 782a152243 pre 内网访问数据库 2024-09-05 10:11:11 +08:00
SongZhang 5e59b19cec Merge remote-tracking branch 'origin/test' into test 2024-09-05 09:56:48 +08:00
SongZhang 8f002b689d 1.代客下单 折扣差1修复 2024-09-05 09:56:38 +08:00
wangw dfe0bb6154 预发布 mq端口修改 2024-09-05 09:55:05 +08:00
wangw 4bd99e7f6e 预发布 mq端口修改 2024-09-05 09:54:47 +08:00
wangw 1cb099702a 预发布 mq端口修改 2024-09-05 09:47:07 +08:00
wangw 37d16054c4 预发布 mq端口修改 2024-09-05 09:46:23 +08:00
SongZhang 3174c9abf3 1.代客下单 扫码支付,储值卡扫码支付, 台桌状态 2024-09-05 09:27:35 +08:00
SongZhang fed5b28ce2 1.代客下单 扫码支付,储值卡扫码支付, 台桌状态 2024-09-05 09:24:50 +08:00
wangw 53512a0b37 简化验证码计算
测试环境 修改数据连接地址
新增 pre 预发布配置
2024-09-04 11:32:01 +08:00
wangw be701b46ec 简化验证码计算
测试环境 修改数据连接地址
新增 pre 预发布配置
2024-09-04 11:30:56 +08:00
SongZhang 8247b3b4bd 1.代客下单 扫码支付,储值卡扫码支付 2024-09-04 10:19:08 +08:00
SongZhang 963920fd2a 1.代客下单 扫码支付,储值卡扫码支付 2024-09-04 10:18:07 +08:00
SongZhang 0b645bd695 1.代客下单 扫码支付,储值卡扫码支付 2024-09-04 09:21:25 +08:00
SongZhang 44329cc64e 1.代客下单 支付折扣 2024-09-03 11:09:36 +08:00
wangw 37be5a521e 设置验证码接口 2024-09-03 10:57:18 +08:00
SongZhang d63861ac13 Merge remote-tracking branch 'origin/test' into test 2024-09-03 10:42:09 +08:00
SongZhang 1b9b088e43 1.代客下单 创建订单删除小程序购物车缓存 2024-09-03 10:41:57 +08:00
牛叉闪闪 6e31bb6251 添加会员流水 2024-09-02 16:27:55 +08:00
牛叉闪闪 4b5c272cd9 添加会员流水 2024-09-02 15:03:40 +08:00
SongZhang 5480d0eb5f Merge remote-tracking branch 'origin/test' into test 2024-09-02 14:51:05 +08:00
SongZhang be4f8cbbdd 1.代客下单 创建订单增加锁
2.代客下单 主扫支付
2024-09-02 14:50:40 +08:00
牛叉闪闪 923c204c3c Merge remote-tracking branch 'origin/hph' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java
2024-09-02 14:43:29 +08:00
牛叉闪闪 b1219a114b 添加会员流水 2024-09-02 14:41:57 +08:00
牛叉闪闪 94e875008b Merge remote-tracking branch 'origin/test' into test 2024-09-01 13:37:28 +08:00
牛叉闪闪 e823832cdb 添加多规格商品价格最大值 2024-09-01 13:36:28 +08:00
SongZhang cce10b9475 Merge remote-tracking branch 'origin/test' into test 2024-08-31 16:48:48 +08:00
SongZhang 68b9b1ab98 1.代客下单 创建订单保存订单id到缓存
2.修复挂起订单重复打票
2024-08-31 16:48:37 +08:00
yijiegong e131095e45 Merge branch 'test' into dev 2024-08-31 09:13:18 +08:00
yijiegong c2843ecc3d 店铺扩展默认参数修改 2024-08-31 09:12:05 +08:00
SongZhang a941cf56f2 Merge remote-tracking branch 'origin/dev' into test 2024-08-30 17:31:53 +08:00
SongZhang 7b62f75cca 1.代客下单 创建订单保存台桌名称 2024-08-30 17:27:55 +08:00
SongZhang 68a96b405d Merge remote-tracking branch 'origin/ww' into test 2024-08-30 16:46:41 +08:00
SongZhang e9297f49a1 Merge remote-tracking branch 'origin/ww' into dev 2024-08-30 16:46:05 +08:00
SongZhang 1c5fb88b38 Merge remote-tracking branch 'origin/test' into dev 2024-08-30 16:24:13 +08:00
SongZhang d6756ee2e3 Merge remote-tracking branch 'origin/test' into test 2024-08-30 15:27:42 +08:00
SongZhang 26f6af0256 1.代客下单 添加购物车接口添加id 2024-08-30 15:27:31 +08:00
yijiegong 77f01cabdc userId 为null处理 2024-08-30 11:49:42 +08:00
yijiegong 33a0722c8c userId 为null处理 2024-08-30 11:33:10 +08:00
yijiegong b0392f70e1 userId 为null处理 2024-08-30 11:32:09 +08:00
yijiegong 9ea2ecf552 查询会员订单数量bug修复 2024-08-30 11:26:23 +08:00
SongZhang 52410b73f1 1.代客下单 支持下单修改会员 2024-08-29 18:26:22 +08:00
SongZhang a68b7ee991 1.代客下单,折扣 2024-08-29 17:59:16 +08:00
SongZhang 71bc936074 1.代客下单,折扣 2024-08-29 17:57:56 +08:00
SongZhang 297ccc0233 1.代客下单,折扣 2024-08-29 14:13:19 +08:00
SongZhang 417451f432 1.修改会员余额支付备注 2024-08-29 13:45:49 +08:00
SongZhang 0fe0722893 1.代客下单 挂起订单增加masterId 2024-08-29 11:27:51 +08:00
SongZhang a0274410a8 Merge remote-tracking branch 'origin/test' into test 2024-08-29 09:04:35 +08:00
wangw fcc1d47a24 代客下单 商品列表 数据缺失问题 2024-08-28 18:07:30 +08:00
wangw bfd96a1d52 代客下单 createOrder 报错问题 2024-08-28 18:07:25 +08:00
wangw dc176f6e46 代客下单 商品列表 数据缺失问题 2024-08-28 18:04:57 +08:00
wangw 59843ce046 代客下单 createOrder 报错问题 2024-08-28 17:32:07 +08:00
wangw 6059797e1a 版本文件 接口记录 2024-08-28 16:23:21 +08:00
wangw 98145e92ec 版本管理 和 版本文件上传 2024-08-28 16:23:19 +08:00
wangw 8c9926c1a7 订单生成 库存消耗记录 并记录销量 2024-08-28 16:23:17 +08:00
wangw 73030b7d91 店铺扩展信息 初始化数据 2024-08-28 16:23:15 +08:00
wangw 41ee71b594 店铺扩展数据 初始化四条数据 2024-08-28 16:23:09 +08:00
wangw 979a3a6ade 版本文件 接口记录 2024-08-28 16:21:55 +08:00
wangw 17fc234975 版本管理 和 版本文件上传 2024-08-28 15:45:46 +08:00
wangw 09c6cd178a 订单生成 库存消耗记录 并记录销量 2024-08-28 15:45:21 +08:00
wangw fcff40f72b 店铺扩展信息 初始化数据 2024-08-28 15:44:33 +08:00
牛叉闪闪 221ad5a8d4 添加退款、会员退款、会员充值控制 2024-08-28 14:09:56 +08:00
yijiegong 8558343524 Merge branch 'gyj' into test 2024-08-28 13:35:19 +08:00
yijiegong 1df8e2cf1f Merge branch 'gyj' into dev 2024-08-28 13:34:37 +08:00
yijiegong e48029a9a4 广告查询bug修改 2024-08-28 13:34:11 +08:00
wangw 489b3597d6 店铺扩展数据 初始化四条数据 2024-08-27 17:57:13 +08:00
牛叉闪闪 2ca427f808 添加退款、会员退款、会员充值控制 2024-08-27 17:33:10 +08:00
yijiegong e9711dffe3 Merge branch 'gyj' into test 2024-08-27 16:00:10 +08:00
yijiegong d7fe7cf40a 订单查询增加userId参数筛选 2024-08-27 15:59:43 +08:00
SongZhang 543d770d98 Merge remote-tracking branch 'origin/dev' into test 2024-08-27 15:59:11 +08:00
SongZhang 30407b1715 Merge remote-tracking branch 'origin/test' into test 2024-08-27 15:58:45 +08:00
SongZhang 2e5cc6ab92 1.代客下单 specSnap为null fix 2024-08-27 15:53:38 +08:00
wangw b01812bce9 获取会员页面 二维码 2024-08-27 15:47:29 +08:00
牛叉闪闪 58a3ac0ed0 添加退款、会员退款、会员充值控制 2024-08-27 14:42:19 +08:00
yijiegong 6863fbc100 Merge branch 'test' into dev
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java
2024-08-27 11:06:16 +08:00
SongZhang 4929e467ab 1.代客下单 masterId实时更新修复 2024-08-27 10:44:50 +08:00
yijiegong d78a7a7ac6 添加最后登录时间 1 2024-08-26 11:41:35 +08:00
yijiegong 6ba0544243 添加最后登录时间 2024-08-26 11:38:24 +08:00
yijiegong bbcd6edf20 添加最后登录时间 2024-08-26 11:33:11 +08:00
牛叉闪闪 f0476f05e0 添加退款、会员退款、会员充值控制 2024-08-26 10:53:48 +08:00
SongZhang 48aab9eeac 1.代客下单 库存不足提示商品名 2024-08-26 10:21:21 +08:00
SongZhang 078a986e6b 1.代客下单 库存不足提示商品名 2024-08-26 10:17:38 +08:00
SongZhang d272efa45f 1.代客下单 只查询当天挂起订单 2024-08-26 09:21:50 +08:00
SongZhang 29ccf35e5f 1.代客下单 存单返回备注内容 2024-08-23 17:48:36 +08:00
SongZhang f9931b50ea 1.代客下单 存单保存备注 2024-08-23 17:26:54 +08:00
SongZhang f6e473b8bb 1.代客下单 取单不操作购物车状态 2024-08-23 15:34:13 +08:00
SongZhang 98bc995b71 1.代客下单 挂单列表数量不准确fix 2024-08-23 14:57:51 +08:00
SongZhang 96791306f2 1.代客下单 挂单之后masterId未增加修复 2024-08-23 14:51:47 +08:00
SongZhang b4f113e811 1.代客下单 挂单列表根据tableId获取 2024-08-23 14:23:35 +08:00
SongZhang 01d92b3812 1.代客下单 挂单列表根据tableId获取 2024-08-23 14:14:59 +08:00
SongZhang e16d9dfcb1 1.代客下单 创建订单会员为null修复 2024-08-23 13:34:03 +08:00
SongZhang 64e89d5ed6 1.代客下单 取单sql fix 2024-08-23 13:31:10 +08:00
SongZhang 28874a59f1 1.代客下单 添加购物车 不查询昨日数据 2024-08-23 11:48:02 +08:00
wangw 12e7379cbf Merge branch 'ww' into test 2024-08-23 11:36:52 +08:00
wangw a2e16bf05d 订单管理 会员商品 名称 变黄 2024-08-23 11:34:37 +08:00
SongZhang f8a9022064 1.代客下单 会员支付,台桌状态问题 2024-08-23 11:06:26 +08:00
SongZhang ce54b66205 Merge remote-tracking branch 'origin/test' into test 2024-08-23 10:47:48 +08:00
SongZhang 8381287036 1.代客下单 会员支付,负数余额问题 2024-08-23 10:47:38 +08:00
wangw 112206d2ec Merge branch 'ww' into test 2024-08-23 10:39:47 +08:00
wangw 16f07f2f40 赠送商品 为空时 2024-08-23 10:39:33 +08:00
wangw 52dce24fb8 赠送商品为空 2024-08-23 10:32:57 +08:00
SongZhang 614ffc9abf 1.代客下单 同步查询小程序购物车商品 2024-08-23 10:28:49 +08:00
SongZhang 532dec69e3 1.代客下单 同步查询小程序购物车商品 2024-08-23 09:41:27 +08:00
SongZhang 9e26fad331 1.代客下单 会员支付实现 2024-08-23 09:20:51 +08:00
yijiegong c408e8e168 Merge branch 'gyj' into test 2024-08-22 16:20:51 +08:00
yijiegong 2a6c54ba47 桌台统计添加收银台 2024-08-22 16:20:20 +08:00
wangw bffa05f07f Merge branch 'ww' into test 2024-08-22 16:04:30 +08:00
wangw 91e2e0caaf 活动赠送商品
订单超时 回滚赠送使用数量
2024-08-22 16:04:12 +08:00
SongZhang d981259995 1.代客下单 挂单不增加masterId 2024-08-21 13:29:30 +08:00
SongZhang a9e5ad8229 1.代客下单 挂单不增加masterId 2024-08-21 11:36:57 +08:00
SongZhang edadbb5662 1.代客下单 挂单不增加masterId 2024-08-21 11:02:38 +08:00
SongZhang 7d37e58206 Merge remote-tracking branch 'origin/test' into test 2024-08-21 10:46:16 +08:00
SongZhang 91751b0f32 1.代客下单 台桌状态同步更新 2024-08-21 10:45:59 +08:00
wangw 7f78921eda Merge branch 'ww' into test 2024-08-21 10:16:37 +08:00
wangw e3e0c93502 店铺扩展信息 新增时 key不可重复 2024-08-21 10:16:22 +08:00
wangw df0570860d 店铺扩展信息 增加描述字段 2024-08-21 09:36:21 +08:00
SongZhang 7d1571628f 1.代客下单 选择会员fix 2024-08-20 18:15:37 +08:00
SongZhang 4e5c560d95 1.代客下单 选择会员fix 2024-08-20 18:11:13 +08:00
GYJ 0d8aa662e4 Merge branch 'refs/heads/gyj' into test 2024-08-20 17:31:05 +08:00
GYJ beea5e902c 修改查询会员列表 - 从shopUser查询 2024-08-20 17:30:24 +08:00
SongZhang 98cf4f2f6d Merge remote-tracking branch 'origin/test' into test 2024-08-20 17:05:46 +08:00
SongZhang 376af15266 1.代客下单 新增后付款下单 2024-08-20 17:05:36 +08:00
牛叉闪闪 f00ad6a46c 添加员工折扣字段 2024-08-20 16:13:13 +08:00
牛叉闪闪 972ab851c8 修改增加减少用户资金接口 2024-08-20 15:30:21 +08:00
牛叉闪闪 aa7c5d3744 修改增加减少用户资金接口 2024-08-20 15:20:04 +08:00
wangw b9157ddc6b Merge branch 'ww' into test 2024-08-20 14:58:12 +08:00
wangw 1cb0d9c80f 会员活动赠送商品 2024-08-20 14:57:55 +08:00
SongZhang 830271a838 Merge remote-tracking branch 'origin/test' into test 2024-08-20 14:47:50 +08:00
SongZhang b388b3a044 1.库存排序 2024-08-20 14:47:32 +08:00
牛叉闪闪 049f52499e Merge remote-tracking branch 'origin/hph' into test 2024-08-20 14:46:52 +08:00
牛叉闪闪 d6b8919294 修改增加减少用户资金接口 2024-08-20 14:46:12 +08:00
SongZhang fcfe0a2f53 1.库存排序 2024-08-20 14:39:01 +08:00
SongZhang a90c441988 Merge remote-tracking branch 'origin/test' into zs 2024-08-19 17:45:09 +08:00
SongZhang d6bbe73d58 1.代客下单 会员点单 取消点单 2024-08-19 17:42:47 +08:00
牛叉闪闪 2567044da8 添加是否允许会员自定义金额字段 2024-08-19 17:41:25 +08:00
SongZhang 15de68b704 1.代客下单 会员点单 取消点单 2024-08-19 16:24:45 +08:00
SongZhang 2252f4edcb Merge remote-tracking branch 'origin/test' into zs
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java
#	eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbShopTableService.java
2024-08-19 16:15:52 +08:00
SongZhang ea86b42847 1.代客下单 会员点单 取消点单 2024-08-19 16:15:01 +08:00
GYJ 53275cd5de 集成model类型修改 2024-08-19 16:09:44 +08:00
SongZhang b5fc56c0aa 1.代客下单 挂单规格返回 2024-08-19 15:43:11 +08:00
SongZhang a74612f5a6 1.代客下单 桌号获取 2024-08-19 14:12:07 +08:00
牛叉闪闪 95e37c2048 添加增加减少会员余额接口 2024-08-19 11:25:01 +08:00
牛叉闪闪 e35cb8ad3c Merge remote-tracking branch 'origin/hph' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopUserController.java
2024-08-19 11:24:22 +08:00
牛叉闪闪 635625842a 添加增加减少会员余额接口 2024-08-19 11:23:59 +08:00
牛叉闪闪 53fd7e24c0 判断修改耗材参数 2024-08-19 11:23:59 +08:00
牛叉闪闪 cf62b77128 添加耗材信息单价字段 2024-08-19 11:23:59 +08:00
牛叉闪闪 58eb528047 添加耗材信息单价字段 2024-08-19 11:23:59 +08:00
SongZhang 4909ebe807 1.代客下单 删除订单接口 2024-08-19 11:23:59 +08:00
牛叉闪闪 fa868cce31 添加耗材信息单价字段 2024-08-19 11:23:59 +08:00
SongZhang 5f2950ab72 1.代客下单挂单修改 2024-08-19 11:23:58 +08:00
SongZhang 8da97add53 1.商品不推送修复 2024-08-19 11:23:58 +08:00
wangw 2250bda5c1 分组时间管控 2024-08-19 11:23:58 +08:00
wangw e3f68dc486 用户管理 排序 2024-08-19 11:23:58 +08:00
wangw ff07ab528e 活动管理 赠送商品 2024-08-19 11:23:58 +08:00
SongZhang 0ec21c31e9 1.代客下单 挂起订单 2024-08-19 11:23:58 +08:00
SongZhang 8d73b216ef 1.代客下单 挂起订单 2024-08-19 11:23:58 +08:00
牛叉闪闪 2ad3ca3ef8 添加增加减少会员余额接口 2024-08-19 11:23:32 +08:00
牛叉闪闪 341b54bd6b Merge remote-tracking branch 'origin/test' into hph 2024-08-19 11:22:34 +08:00
牛叉闪闪 89810ae9b9 添加增加减少会员余额接口 2024-08-19 11:20:58 +08:00
GYJ 5643faab22 弹窗广告 2024-08-19 11:16:47 +08:00
SongZhang c51e0ec580 Merge remote-tracking branch 'origin/test' into test 2024-08-19 10:12:02 +08:00
SongZhang 96f1dcb768 1.代客下单 删除订单接口 2024-08-19 10:11:51 +08:00
牛叉闪闪 9f6f7c2a78 判断修改耗材参数 2024-08-19 09:45:48 +08:00
GYJ e1499150f9 修改库存开关导致数据缺失的问题 2024-08-18 20:24:26 +08:00
GYJ e6b8414366 Merge branch 'refs/heads/test' into dev
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/StockServiceImpl.java
2024-08-18 20:14:25 +08:00
牛叉闪闪 085ae733e2 添加耗材信息单价字段 2024-08-17 18:33:35 +08:00
牛叉闪闪 9b8ec56b96 添加耗材信息单价字段 2024-08-17 18:25:03 +08:00
SongZhang d10a9671a9 Merge remote-tracking branch 'origin/test' into test 2024-08-17 17:37:23 +08:00
SongZhang 7da10ca43e 1.代客下单挂单修改 2024-08-17 17:37:06 +08:00
牛叉闪闪 a21e361b4e Merge remote-tracking branch 'origin/hph' into test 2024-08-17 17:04:08 +08:00
SongZhang e8f9af93e8 1.商品不推送修复 2024-08-17 16:57:51 +08:00
SongZhang fcaba6d511 1.商品不推送修复 2024-08-17 16:52:29 +08:00
SongZhang b13a48d5e5 1.商品不推送修复 2024-08-17 16:49:18 +08:00
牛叉闪闪 3807eb43ce 添加耗材信息单价字段 2024-08-17 15:28:21 +08:00
SongZhang 7eab45ae49 Merge remote-tracking branch 'origin/test' into test 2024-08-17 15:22:38 +08:00
SongZhang 89582d3bc8 1.代客下单 挂起订单 2024-08-17 15:21:45 +08:00
wangw 1de1edb537 分组时间管控 2024-08-17 14:38:00 +08:00
wangw df95c09724 用户管理 排序 2024-08-17 14:15:12 +08:00
wangw a53e9f7ab4 活动管理 赠送商品 2024-08-17 11:49:01 +08:00
GYJ 8e0f237e2e 台桌数据导出修改 2024-08-17 11:29:59 +08:00
SongZhang e938911e4a 1.代客下单 挂起订单 2024-08-17 10:03:11 +08:00
牛叉闪闪 0c5192e86e 添加耗材信息更新时间和创建时间字段 2024-08-16 18:13:51 +08:00
wangw 5732e6974f 商品分组-时段 跨日的展示 次日 2024-08-16 18:00:25 +08:00
wangw 1cfc94b22a Merge branch 'test' into dev 2024-08-16 15:41:32 +08:00
wangw adee84544d 数据报表-销量-统计 2024-08-16 14:52:59 +08:00
SongZhang 7c122565fc 1.增加库存记录mq处理 2024-08-16 14:45:50 +08:00
SongZhang 2ec29a3825 Merge remote-tracking branch 'origin/dev' into zs2 2024-08-16 13:47:41 +08:00
SongZhang b8a60a1549 1.增加库存记录mq处理 2024-08-16 13:38:52 +08:00
SongZhang d32f9705a0 1.代客下单,支付,挂起,下单接口开发 2024-08-16 11:12:25 +08:00
SongZhang 62ca02cdc4 Merge remote-tracking branch 'origin/dev' into zs 2024-08-16 11:11:21 +08:00
SongZhang 4a8bce3c34 1.增加库存预警模板消息id 2024-08-16 11:10:54 +08:00
wangw 199e787d92 Merge branch 'test' into dev
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java
2024-08-16 09:23:43 +08:00
wangw 7271e77b05 数据报表-销量-统计
商品 规格 返回
2024-08-15 18:23:46 +08:00
GYJ a183d2bfec 修改销量和台桌导出 -- 合并 2024-08-15 17:33:03 +08:00
GYJ fa566a7057 Merge branch 'refs/heads/gyj' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java
2024-08-15 17:31:07 +08:00
GYJ 3d9e4ee511 修改销量和台桌导出 2024-08-15 17:25:36 +08:00
GYJ f808912006 Merge branch 'refs/heads/test' into gyj 2024-08-15 13:50:16 +08:00
牛叉闪闪 5fe0e2a83b Merge remote-tracking branch 'origin/dev' into dev 2024-08-14 15:08:48 +08:00
牛叉闪闪 9d8bb72a7e 添加耗材库存检测开关 2024-08-14 15:08:28 +08:00
SongZhang a0930151a8 1.推送修改 2024-08-14 15:05:16 +08:00
SongZhang 441ecf38f1 1.代客下单相关接口 2024-08-14 15:04:53 +08:00
SongZhang 9bfa67d71b Merge remote-tracking branch 'origin/dev' into zs 2024-08-14 11:31:31 +08:00
牛叉闪闪 9ec06de8cd 添加耗材库存检测开关 2024-08-14 11:29:15 +08:00
wangw cd6d6f2e07 Merge branch 'ww' into test
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductGroupServiceImpl.java
2024-08-14 11:17:16 +08:00
SongZhang 27f7d07f27 Merge remote-tracking branch 'origin/dev' into zs 2024-08-14 11:01:18 +08:00
牛叉闪闪 b08ff62d86 修改耗材信息 2024-08-14 10:59:27 +08:00
SongZhang 7715b758f1 Merge remote-tracking branch 'origin/dev' into zs
# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java
2024-08-14 10:28:04 +08:00
牛叉闪闪 6e03ad4997 添加订单数量和充值金额字段 2024-08-14 10:19:47 +08:00
wangw c35df24d2d 分组增加可售时段 2024-08-14 09:43:25 +08:00
牛叉闪闪 eb32bedc25 修改会员充值奖励功能 2024-08-13 14:50:27 +08:00
SongZhang a7de11423f 1.数据报表导出cpu拉高问题修复
2.代客下单相关接口
2024-08-13 14:39:32 +08:00
SongZhang e53037232f 1.数据报表导出cpu拉高问题修复 2024-08-13 10:59:27 +08:00
SongZhang fd5b79d6ec 1.代客下单规格修改接口 2024-08-13 09:48:03 +08:00
SongZhang 7f1c028fed 1.代课下单支持赠送 2024-08-13 09:02:44 +08:00
SongZhang 66ae922dc4 Merge remote-tracking branch 'origin/zs' into test 2024-08-12 15:33:21 +08:00
SongZhang 0e9996bcf0 1.通知中心相关接口
2.代客下单
2024-08-12 14:55:21 +08:00
wangw d862eb43be 获取商家 会员二维码 2024-08-12 14:18:31 +08:00
wangw 5cf796ac83 sql skuId问题 2024-08-12 13:57:41 +08:00
SongZhang 220c717085 1.下架无法查询到导致报错问题修复 2024-08-09 10:23:57 +08:00
wangw 8e1aa5bc19 修改商品 规格 2024-08-08 14:25:42 +08:00
GYJ bff2ad2250 优化台桌统计 2024-08-08 10:42:13 +08:00
GYJ 260d6eb7d7 Merge remote-tracking branch 'origin/dev' into dev 2024-08-08 10:41:35 +08:00
GYJ b218436a1c 优化台桌统计 2024-08-08 10:41:12 +08:00
wangw 3d43f5f114 日志 详情 2024-08-08 10:00:59 +08:00
wangw 9e13d1ff98 商品规格修改 2024-08-08 09:12:35 +08:00
819 changed files with 22884 additions and 14899 deletions

View File

@ -1,7 +0,0 @@
### IDEA ###
.idea/*
*.iml
*/target/*
*/*.iml
/.gradle/
/application.pid

191
LICENSE
View File

@ -1,191 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and
distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright
owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities
that control, are controlled by, or are under common control with that entity.
For the purposes of this definition, "control" means (i) the power, direct or
indirect, to cause the direction or management of such entity, whether by
contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising
permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including
but not limited to software source code, documentation source, and configuration
files.
"Object" form shall mean any form resulting from mechanical transformation or
translation of a Source form, including but not limited to compiled object code,
generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made
available under the License, as indicated by a copyright notice that is included
in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that
is based on (or derived from) the Work and for which the editorial revisions,
annotations, elaborations, or other modifications represent, as a whole, an
original work of authorship. For the purposes of this License, Derivative Works
shall not include works that remain separable from, or merely link (or bind by
name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version
of the Work and any modifications or additions to that Work or Derivative Works
thereof, that is intentionally submitted to Licensor for inclusion in the Work
by the copyright owner or by an individual or Legal Entity authorized to submit
on behalf of the copyright owner. For the purposes of this definition,
"submitted" means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems, and
issue tracking systems that are managed by, or on behalf of, the Licensor for
the purpose of discussing and improving the Work, but excluding communication
that is conspicuously marked or otherwise designated in writing by the copyright
owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
of whom a Contribution has been received by Licensor and subsequently
incorporated within the Work.
2. Grant of Copyright License.
Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the Work and such
Derivative Works in Source or Object form.
3. Grant of Patent License.
Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable (except as stated in this section) patent license to make, have
made, use, offer to sell, sell, import, and otherwise transfer the Work, where
such license applies only to those patent claims licensable by such Contributor
that are necessarily infringed by their Contribution(s) alone or by combination
of their Contribution(s) with the Work to which such Contribution(s) was
submitted. If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
Contribution incorporated within the Work constitutes direct or contributory
patent infringement, then any patent licenses granted to You under this License
for that Work shall terminate as of the date such litigation is filed.
4. Redistribution.
You may reproduce and distribute copies of the Work or Derivative Works thereof
in any medium, with or without modifications, and in Source or Object form,
provided that You meet the following conditions:
You must give any other recipients of the Work or Derivative Works a copy of
this License; and
You must cause any modified files to carry prominent notices stating that You
changed the files; and
You must retain, in the Source form of any Derivative Works that You distribute,
all copyright, patent, trademark, and attribution notices from the Source form
of the Work, excluding those notices that do not pertain to any part of the
Derivative Works; and
If the Work includes a "NOTICE" text file as part of its distribution, then any
Derivative Works that You distribute must include a readable copy of the
attribution notices contained within such NOTICE file, excluding those notices
that do not pertain to any part of the Derivative Works, in at least one of the
following places: within a NOTICE text file distributed as part of the
Derivative Works; within the Source form or documentation, if provided along
with the Derivative Works; or, within a display generated by the Derivative
Works, if and wherever such third-party notices normally appear. The contents of
the NOTICE file are for informational purposes only and do not modify the
License. You may add Your own attribution notices within Derivative Works that
You distribute, alongside or as an addendum to the NOTICE text from the Work,
provided that such additional attribution notices cannot be construed as
modifying the License.
You may add Your own copyright statement to Your modifications and may provide
additional or different license terms and conditions for use, reproduction, or
distribution of Your modifications, or for any such Derivative Works as a whole,
provided Your use, reproduction, and distribution of the Work otherwise complies
with the conditions stated in this License.
5. Submission of Contributions.
Unless You explicitly state otherwise, any Contribution intentionally submitted
for inclusion in the Work by You to the Licensor shall be under the terms and
conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the terms of
any separate license agreement you may have executed with Licensor regarding
such Contributions.
6. Trademarks.
This License does not grant permission to use the trade names, trademarks,
service marks, or product names of the Licensor, except as required for
reasonable and customary use in describing the origin of the Work and
reproducing the content of the NOTICE file.
7. Disclaimer of Warranty.
Unless required by applicable law or agreed to in writing, Licensor provides the
Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
including, without limitation, any warranties or conditions of TITLE,
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
solely responsible for determining the appropriateness of using or
redistributing the Work and assume any risks associated with Your exercise of
permissions under this License.
8. Limitation of Liability.
In no event and under no legal theory, whether in tort (including negligence),
contract, or otherwise, unless required by applicable law (such as deliberate
and grossly negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special, incidental,
or consequential damages of any character arising as a result of this License or
out of the use or inability to use the Work (including but not limited to
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
any and all other commercial damages or losses), even if such Contributor has
been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability.
While redistributing the Work or Derivative Works thereof, You may choose to
offer, and charge a fee for, acceptance of support, warranty, indemnity, or
other liability obligations and/or rights consistent with this License. However,
in accepting such obligations, You may act only on Your own behalf and on Your
sole responsibility, not on behalf of any other Contributor, and only if You
agree to indemnify, defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason of your
accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work
To apply the Apache License to your work, attach the following boilerplate
notice, with the fields enclosed by brackets "{}" replaced with your own
identifying information. (Don't include the brackets!) The text should be
enclosed in the appropriate comment syntax for the file format. We also
recommend that a file or class name and description of purpose be included on
the same "printed page" as the copyright notice for easier identification within
third-party archives.
Copyright 2019-2020 Zheng Jie
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -1,36 +0,0 @@
# cashierAdmin
#### Description
{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
#### Software Architecture
Software architecture description
#### Installation
1. xxxx
2. xxxx
3. xxxx
#### Instructions
1. xxxx
2. xxxx
3. xxxx
#### Contribution
1. Fork the repository
2. Create Feat_xxx branch
3. Commit your code
4. Create Pull Request
#### Gitee Feature
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4. The most valuable open source project [GVP](https://gitee.com/gvp)
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.annotation;
import java.lang.annotation.*;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.annotation;
import java.lang.annotation.ElementType;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.annotation;
import cn.ysk.cashier.aspect.LimitType;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.annotation;
import java.lang.annotation.ElementType;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.aspect;
import cn.ysk.cashier.exception.BadRequestException;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.aspect;
/**

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.base;
import io.swagger.annotations.ApiModelProperty;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.base;
import java.util.List;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config;
import cn.ysk.cashier.utils.SecurityUtils;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config;
import lombok.Data;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config;
import cn.ysk.cashier.utils.SecurityUtils;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config;
import lombok.Data;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config;
import cn.hutool.core.lang.Assert;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config;
import lombok.Data;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config;
import cn.hutool.core.collection.CollUtil;

View File

@ -1,20 +1,7 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.exception;
import cn.hutool.core.util.StrUtil;
import lombok.Getter;
import org.springframework.http.HttpStatus;
import static org.springframework.http.HttpStatus.BAD_REQUEST;
@ -37,4 +24,8 @@ public class BadRequestException extends RuntimeException{
super(msg);
this.status = status.value();
}
public BadRequestException(String template ,Object... args){
super(StrUtil.format(template, args));
}
}

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.exception;
import org.springframework.util.StringUtils;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.exception;
import org.springframework.util.StringUtils;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.exception.handler;
import com.fasterxml.jackson.annotation.JsonFormat;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.exception.handler;
import lombok.extern.slf4j.Slf4j;
@ -99,9 +85,9 @@ public class GlobalExceptionHandler {
log.error(ThrowableUtil.getStackTrace(e));
ObjectError objectError = e.getBindingResult().getAllErrors().get(0);
String message = objectError.getDefaultMessage();
if (objectError instanceof FieldError) {
message = ((FieldError) objectError).getField() + ": " + message;
}
// if (objectError instanceof FieldError) {
// message = ((FieldError) objectError).getField() + ": " + message;
// }
return buildResponseEntity(ApiError.error(message));
}

View File

@ -74,4 +74,6 @@ public interface CacheKey {
*/
String PRODUCT = "PRODUCT:";
String SONG_URL = "song:";
String VIPCODE = "VIPCODE:";
}

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import java.io.Closeable;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
/**

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import javax.crypto.Cipher;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import cn.hutool.core.io.IoUtil;
@ -23,9 +9,11 @@ import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import cn.ysk.cashier.exception.BadRequestException;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;
@ -37,10 +25,8 @@ import java.io.*;
import java.security.MessageDigest;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.ConcurrentLinkedQueue;
/**
* File工具类扩展 hutool 工具包
@ -237,6 +223,69 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
IoUtil.close(out);
}
public static void downloadAndMergeExcel(List<Map<String, Object>> list, List<List<Integer>> mergeData, List<String> keyList, HttpServletResponse response) throws IOException {
String tempPath = SYS_TEM_DIR + IdUtil.fastSimpleUUID() + ".xlsx";
// 创建工作簿
Workbook workbook = new XSSFWorkbook();
// 创建工作表
Sheet sheet = workbook.createSheet("Sheet1");
// 合并单元格从第 0 行第 0 列到第 0 行第 2
// sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2));
for (List<Integer> mergeDatum : mergeData) {
sheet.addMergedRegion(new CellRangeAddress(mergeDatum.get(0), mergeDatum.get(1), mergeDatum.get(2), mergeDatum.get(3)));
}
Row row0 = sheet.createRow(0);
for (int i = 0; i < keyList.size(); i++) {
Cell cell = row0.createCell(i);
cell.setCellValue(keyList.get(i));
}
for (int i = 0; i < list.size(); i++) {
Map<String, Object> map = list.get(i);
Row row = sheet.createRow(i + 1);
for (int j = 0; j < keyList.size(); j++) {
Cell cell = row.createCell(j);
String value = map.get(keyList.get(j)) == null ? "" : map.get(keyList.get(j)).toString();
cell.setCellValue(value);
if (j == 11 && !"0".equals(value)) {
cell.setCellValue("-" + value);
setCellBackground(cell, IndexedColors.YELLOW, workbook);
}
if (j == 12 && !"0.00".equals(value)) {
cell.setCellValue("-" + value);
setCellBackground(cell, IndexedColors.YELLOW, workbook);
}
}
}
// response为HttpServletResponse对象
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=file.xlsx");
try (FileOutputStream outputStream = new FileOutputStream(tempPath);
ServletOutputStream out = response.getOutputStream()) {
workbook.write(outputStream);
workbook.write(out);
} catch (IOException e) {
// 更详细的错误处理
e.printStackTrace();
// 可以考虑返回一个错误响应给客户端
}
}
private static void setCellBackground(Cell cell, IndexedColors color, Workbook workbook) {
CellStyle style = workbook.createCellStyle();
style.setFillForegroundColor(color.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cell.setCellStyle(style);
}
/**
* 输入标题到excel
*
@ -270,7 +319,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
}
}
public static void downloadExcelAndMerge(List<Map<String, Object>> list, int colSize, HttpServletResponse response, ArrayList<Integer> mergeRowIndex) throws IOException {
public static void downloadExcelAndMerge(ConcurrentLinkedQueue<Map<String, Object>> list, int colSize, HttpServletResponse response, List<Integer> mergeRowIndex) throws IOException {
String tempPath = SYS_TEM_DIR + IdUtil.fastSimpleUUID() + ".xlsx";
File file = new File(tempPath);
ExcelWriter writer = ExcelUtil.getWriter(file);

View File

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.ArrayList;
import java.util.List;
@ -87,6 +88,38 @@ public class JSONUtil {
}
}
public static <T> List<T> parseJSONStrTList(String jsonStr, Class<T> clazz) {
ObjectMapper objectMapper = new ObjectMapper();
try {
// 将JSON字符串转换为List<T>
return objectMapper.readValue(jsonStr, objectMapper.getTypeFactory().constructCollectionType(List.class, clazz));
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* @param list 某集合
* @param clazz 要转成的实体
* 需要在目标实体增加注解 忽略未知属性 @JsonIgnoreProperties(ignoreUnknown = true)
* @return
* @param <T>
*/
public static <T> List<T> parseListTNewList(List<?> list, Class<T> clazz) {
ObjectMapper objectMapper = new ObjectMapper(); // 创建JSON转换器
try {
// 将List<?>转换为JSON字符串
String json = objectMapper.writeValueAsString(list);
// 将JSON字符串转换为List<T>
return objectMapper.readValue(json, objectMapper.getTypeFactory().constructCollectionType(List.class, clazz));
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static void main(String[] args) {
String sss = "{\"bizData\":{\"amount\":1,\"currency\":\"cny\",\"ifCode\":\"sxfpay\",\"mchOrderNo\":\"CZ1715744291232\",\"mercNo\":\"B240510702030\",\"note\":\"等待用户付款\",\"payOrderId\":\"O1790587460614225921\",\"payType\":\"WECHAT\",\"settlementType\":\"D1\",\"state\":\"TRADE_AWAIT\",\"storeId\":\"S2405103298\",\"subject\":\"测试支付\",\"tradeFee\":0},\"code\":\"000000\",\"msg\":\"请求成功\",\"sign\":\"40710a3c293eeac3c7f4a1b0696a2bf6\",\"signType\":\"MD5\",\"timestamp\":\"20240515113813\"}";
// TypeReference<PublicResp<MainScanResp>> typeRef = new TypeReference<PublicResp<MainScanResp>>(){};

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import org.apache.poi.ss.formula.functions.T;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import cn.hutool.core.collection.CollUtil;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import com.google.common.collect.Lists;
@ -257,6 +243,15 @@ public class RedisUtils {
}
}
public boolean setNx(String key, Object value) {
try {
return redisTemplate.opsForValue().setIfAbsent(key, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 普通缓存放入并设置时间
*

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import org.springframework.web.context.request.RequestContextHolder;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import cn.hutool.json.JSONArray;
@ -26,6 +12,7 @@ import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import java.util.List;
/**
@ -71,6 +58,15 @@ public class SecurityUtils {
return new JSONObject(new JSONObject(userDetails).get("user")).get("id", Long.class);
}
/**
* 获取系统用户nickName
* @return 系统用户NickName
*/
public static String getCurrentUserNickName() {
UserDetails userDetails = getCurrentUser();
return new JSONObject(new JSONObject(userDetails).get("user")).get("nickName", String.class);
}
/**
* 获取当前用户的数据权限
* @return /

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import lombok.extern.slf4j.Slf4j;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import cn.hutool.http.HttpUtil;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import java.io.PrintWriter;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import cn.hutool.json.JSONArray;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import cn.hutool.core.lang.Validator;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils.enums;
import lombok.AllArgsConstructor;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils.enums;
import lombok.AllArgsConstructor;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils.enums;
import lombok.AllArgsConstructor;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils.enums;
import lombok.AllArgsConstructor;

View File

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>eladmin</artifactId>
<groupId>cn.ysk.cashier</groupId>
<version>2.6</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>eladmin-generator</artifactId>
<name>代码生成模块</name>
<properties>
<configuration.version>1.10</configuration.version>
</properties>
<dependencies>
<dependency>
<groupId>cn.ysk.cashier</groupId>
<artifactId>eladmin-common</artifactId>
<version>2.6</version>
</dependency>
<!--模板引擎-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-configuration/commons-configuration -->
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>${configuration.version}</version>
</dependency>
</dependencies>
</project>

View File

@ -1,97 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.domain;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import cn.ysk.cashier.utils.GenUtil;
import javax.persistence.*;
import java.io.Serializable;
/**
* 列的数据信息
* @author Zheng Jie
* @date 2019-01-02
*/
@Getter
@Setter
@Entity
@NoArgsConstructor
@Table(name = "code_column_config")
public class ColumnInfo implements Serializable {
@Id
@Column(name = "column_id")
@ApiModelProperty(value = "ID", hidden = true)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ApiModelProperty(value = "表名")
private String tableName;
@ApiModelProperty(value = "数据库字段名称")
private String columnName;
@ApiModelProperty(value = "数据库字段类型")
private String columnType;
@ApiModelProperty(value = "数据库字段键类型")
private String keyType;
@ApiModelProperty(value = "字段额外的参数")
private String extra;
@ApiModelProperty(value = "数据库字段描述")
private String remark;
@ApiModelProperty(value = "是否必填")
private Boolean notNull;
@ApiModelProperty(value = "是否在列表显示")
private Boolean listShow;
@ApiModelProperty(value = "是否表单显示")
private Boolean formShow;
@ApiModelProperty(value = "表单类型")
private String formType;
@ApiModelProperty(value = "查询 1:模糊 2精确")
private String queryType;
@ApiModelProperty(value = "字典名称")
private String dictName;
@ApiModelProperty(value = "日期注解")
private String dateAnnotation;
public ColumnInfo(String tableName, String columnName, Boolean notNull, String columnType, String remark, String keyType, String extra) {
this.tableName = tableName;
this.columnName = columnName;
this.columnType = columnType;
this.keyType = keyType;
this.extra = extra;
this.notNull = notNull;
if(GenUtil.PK.equalsIgnoreCase(keyType) && GenUtil.EXTRA.equalsIgnoreCase(extra)){
this.notNull = false;
}
this.remark = remark;
this.listShow = true;
this.formShow = true;
}
}

View File

@ -1,78 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.domain;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 代码生成配置
* @author Zheng Jie
* @date 2019-01-03
*/
@Getter
@Setter
@Entity
@NoArgsConstructor
@Table(name = "code_gen_config")
public class GenConfig implements Serializable {
public GenConfig(String tableName) {
this.tableName = tableName;
}
@Id
@Column(name = "config_id")
@ApiModelProperty(value = "ID", hidden = true)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank
@ApiModelProperty(value = "表名")
private String tableName;
@ApiModelProperty(value = "接口名称")
private String apiAlias;
@NotBlank
@ApiModelProperty(value = "包路径")
private String pack;
@NotBlank
@ApiModelProperty(value = "模块名")
private String moduleName;
@NotBlank
@ApiModelProperty(value = "前端文件路径")
private String path;
@ApiModelProperty(value = "前端文件路径")
private String apiPath;
@ApiModelProperty(value = "作者")
private String author;
@ApiModelProperty(value = "表前缀")
private String prefix;
@ApiModelProperty(value = "是否覆盖")
private Boolean cover = false;
}

View File

@ -1,48 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.domain.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 表的数据信息
* @author Zheng Jie
* @date 2019-01-02
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TableInfo {
/** 表名称 */
private Object tableName;
/** 创建日期 */
private Object createTime;
/** 数据库引擎 */
private Object engine;
/** 编码集 */
private Object coding;
/** 备注 */
private Object remark;
}

View File

@ -1,34 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.repository;
import cn.ysk.cashier.domain.ColumnInfo;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
* @author Zheng Jie
* @date 2019-01-14
*/
public interface ColumnInfoRepository extends JpaRepository<ColumnInfo,Long> {
/**
* 查询表信息
* @param tableName 表格名
* @return 表信息
*/
List<ColumnInfo> findByTableNameOrderByIdAsc(String tableName);
}

View File

@ -1,33 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.repository;
import cn.ysk.cashier.domain.GenConfig;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* @author Zheng Jie
* @date 2019-01-14
*/
public interface GenConfigRepository extends JpaRepository<GenConfig,Long> {
/**
* 查询表配置
* @param tableName 表名
* @return /
*/
GenConfig findByTableName(String tableName);
}

View File

@ -1,51 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.rest;
import cn.ysk.cashier.domain.GenConfig;
import cn.ysk.cashier.service.GenConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* @author Zheng Jie
* @date 2019-01-14
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/genConfig")
@Api(tags = "系统:代码生成器配置管理")
public class GenConfigController {
private final GenConfigService genConfigService;
@ApiOperation("查询")
@GetMapping(value = "/{tableName}")
public ResponseEntity<Object> queryGenConfig(@PathVariable String tableName){
return new ResponseEntity<>(genConfigService.find(tableName), HttpStatus.OK);
}
@PutMapping
@ApiOperation("修改")
public ResponseEntity<Object> updateGenConfig(@Validated @RequestBody GenConfig genConfig){
return new ResponseEntity<>(genConfigService.update(genConfig.getTableName(), genConfig),HttpStatus.OK);
}
}

View File

@ -1,107 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.rest;
import cn.ysk.cashier.domain.ColumnInfo;
import cn.ysk.cashier.exception.BadRequestException;
import cn.ysk.cashier.service.GenConfigService;
import cn.ysk.cashier.service.GeneratorService;
import cn.ysk.cashier.utils.PageUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* @author Zheng Jie
* @date 2019-01-02
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/generator")
@Api(tags = "系统:代码生成管理")
public class GeneratorController {
private final GeneratorService generatorService;
private final GenConfigService genConfigService;
@Value("${generator.enabled}")
private Boolean generatorEnabled;
@ApiOperation("查询数据库数据")
@GetMapping(value = "/tables/all")
public ResponseEntity<Object> queryAllTables(){
return new ResponseEntity<>(generatorService.getTables(), HttpStatus.OK);
}
@ApiOperation("查询数据库数据")
@GetMapping(value = "/tables")
public ResponseEntity<Object> queryTables(@RequestParam(defaultValue = "") String name,
@RequestParam(defaultValue = "0")Integer page,
@RequestParam(defaultValue = "10")Integer size){
int[] startEnd = PageUtil.transToStartEnd(page, size);
return new ResponseEntity<>(generatorService.getTables(name,startEnd), HttpStatus.OK);
}
@ApiOperation("查询字段数据")
@GetMapping(value = "/columns")
public ResponseEntity<Object> queryColumns(@RequestParam String tableName){
List<ColumnInfo> columnInfos = generatorService.getColumns(tableName);
return new ResponseEntity<>(PageUtil.toPage(columnInfos,columnInfos.size()), HttpStatus.OK);
}
@ApiOperation("保存字段数据")
@PutMapping
public ResponseEntity<HttpStatus> saveColumn(@RequestBody List<ColumnInfo> columnInfos){
generatorService.save(columnInfos);
return new ResponseEntity<>(HttpStatus.OK);
}
@ApiOperation("同步字段数据")
@PostMapping(value = "sync")
public ResponseEntity<HttpStatus> syncColumn(@RequestBody List<String> tables){
for (String table : tables) {
generatorService.sync(generatorService.getColumns(table), generatorService.query(table));
}
return new ResponseEntity<>(HttpStatus.OK);
}
@ApiOperation("生成代码")
@PostMapping(value = "/{tableName}/{type}")
public ResponseEntity<Object> generatorCode(@PathVariable String tableName, @PathVariable Integer type, HttpServletRequest request, HttpServletResponse response){
if(!generatorEnabled && type == 0){
throw new BadRequestException("此环境不允许生成代码,请选择预览或者下载查看!");
}
switch (type){
// 生成代码
case 0: generatorService.generator(genConfigService.find(tableName), generatorService.getColumns(tableName));
break;
// 预览
case 1: return generatorService.preview(genConfigService.find(tableName), generatorService.getColumns(tableName));
// 打包
case 2: generatorService.download(genConfigService.find(tableName), generatorService.getColumns(tableName), request, response);
break;
default: throw new BadRequestException("没有这个选项");
}
return new ResponseEntity<>(HttpStatus.OK);
}
}

View File

@ -1,40 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.service;
import cn.ysk.cashier.domain.GenConfig;
/**
* @author Zheng Jie
* @date 2019-01-14
*/
public interface GenConfigService {
/**
* 查询表配置
* @param tableName 表名
* @return 表配置
*/
GenConfig find(String tableName);
/**
* 更新表配置
* @param tableName 表名
* @param genConfig 表配置
* @return 表配置
*/
GenConfig update(String tableName, GenConfig genConfig);
}

View File

@ -1,96 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.service;
import cn.ysk.cashier.domain.GenConfig;
import cn.ysk.cashier.domain.ColumnInfo;
import org.springframework.http.ResponseEntity;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* @author Zheng Jie
* @date 2019-01-02
*/
public interface GeneratorService {
/**
* 查询数据库元数据
* @param name 表名
* @param startEnd 分页参数
* @return /
*/
Object getTables(String name, int[] startEnd);
/**
* 得到数据表的元数据
* @param name 表名
* @return /
*/
List<ColumnInfo> getColumns(String name);
/**
* 同步表数据
* @param columnInfos /
* @param columnInfoList /
*/
void sync(List<ColumnInfo> columnInfos, List<ColumnInfo> columnInfoList);
/**
* 保持数据
* @param columnInfos /
*/
void save(List<ColumnInfo> columnInfos);
/**
* 获取所有table
* @return /
*/
Object getTables();
/**
* 代码生成
* @param genConfig 配置信息
* @param columns 字段信息
*/
void generator(GenConfig genConfig, List<ColumnInfo> columns);
/**
* 预览
* @param genConfig 配置信息
* @param columns 字段信息
* @return /
*/
ResponseEntity<Object> preview(GenConfig genConfig, List<ColumnInfo> columns);
/**
* 打包下载
* @param genConfig 配置信息
* @param columns 字段信息
* @param request /
* @param response /
*/
void download(GenConfig genConfig, List<ColumnInfo> columns, HttpServletRequest request, HttpServletResponse response);
/**
* 查询数据库的表字段数据数据
* @param table /
* @return /
*/
List<ColumnInfo> query(String table);
}

View File

@ -1,66 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.service.impl;
import lombok.RequiredArgsConstructor;
import cn.ysk.cashier.domain.GenConfig;
import cn.ysk.cashier.repository.GenConfigRepository;
import cn.ysk.cashier.service.GenConfigService;
import org.springframework.stereotype.Service;
import java.io.File;
/**
* @author Zheng Jie
* @date 2019-01-14
*/
@Service
@RequiredArgsConstructor
public class GenConfigServiceImpl implements GenConfigService {
private final GenConfigRepository genConfigRepository;
@Override
public GenConfig find(String tableName) {
GenConfig genConfig = genConfigRepository.findByTableName(tableName);
if(genConfig == null){
return new GenConfig(tableName);
}
return genConfig;
}
@Override
public GenConfig update(String tableName, GenConfig genConfig) {
String separator = File.separator;
String[] paths;
String symbol = "\\";
if (symbol.equals(separator)) {
paths = genConfig.getPath().split("\\\\");
} else {
paths = genConfig.getPath().split(File.separator);
}
StringBuilder api = new StringBuilder();
for (String path : paths) {
api.append(path);
api.append(separator);
if ("src".equals(path)) {
api.append("api");
break;
}
}
genConfig.setApiPath(api.toString());
return genConfigRepository.save(genConfig);
}
}

View File

@ -1,206 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ZipUtil;
import lombok.RequiredArgsConstructor;
import cn.ysk.cashier.domain.GenConfig;
import cn.ysk.cashier.domain.ColumnInfo;
import cn.ysk.cashier.domain.vo.TableInfo;
import cn.ysk.cashier.exception.BadRequestException;
import cn.ysk.cashier.repository.ColumnInfoRepository;
import cn.ysk.cashier.service.GeneratorService;
import cn.ysk.cashier.utils.FileUtil;
import cn.ysk.cashier.utils.GenUtil;
import cn.ysk.cashier.utils.PageUtil;
import cn.ysk.cashier.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author Zheng Jie
* @date 2019-01-02
*/
@Service
@RequiredArgsConstructor
public class GeneratorServiceImpl implements GeneratorService {
private static final Logger log = LoggerFactory.getLogger(GeneratorServiceImpl.class);
@PersistenceContext
private EntityManager em;
private final ColumnInfoRepository columnInfoRepository;
private final String CONFIG_MESSAGE = "请先配置生成器";
@Override
public Object getTables() {
// 使用预编译防止sql注入
String sql = "select table_name ,create_time , engine, table_collation, table_comment from information_schema.tables " +
"where table_schema = (select database()) " +
"order by create_time desc";
Query query = em.createNativeQuery(sql);
return query.getResultList();
}
@Override
public Object getTables(String name, int[] startEnd) {
// 使用预编译防止sql注入
String sql = "select table_name ,create_time , engine, table_collation, table_comment from information_schema.tables " +
"where table_schema = (select database()) " +
"and table_name like :table order by create_time desc";
Query query = em.createNativeQuery(sql);
query.setFirstResult(startEnd[0]);
query.setMaxResults(startEnd[1] - startEnd[0]);
query.setParameter("table", StringUtils.isNotBlank(name) ? ("%" + name + "%") : "%%");
List result = query.getResultList();
List<TableInfo> tableInfos = new ArrayList<>();
for (Object obj : result) {
Object[] arr = (Object[]) obj;
tableInfos.add(new TableInfo(arr[0], arr[1], arr[2], arr[3], ObjectUtil.isNotEmpty(arr[4]) ? arr[4] : "-"));
}
String countSql = "select count(1) from information_schema.tables " +
"where table_schema = (select database()) and table_name like :table";
Query queryCount = em.createNativeQuery(countSql);
queryCount.setParameter("table", StringUtils.isNotBlank(name) ? ("%" + name + "%") : "%%");
Object totalElements = queryCount.getSingleResult();
return PageUtil.toPage(tableInfos, totalElements);
}
@Override
public List<ColumnInfo> getColumns(String tableName) {
List<ColumnInfo> columnInfos = columnInfoRepository.findByTableNameOrderByIdAsc(tableName);
if (CollectionUtil.isNotEmpty(columnInfos)) {
return columnInfos;
} else {
columnInfos = query(tableName);
return columnInfoRepository.saveAll(columnInfos);
}
}
@Override
public List<ColumnInfo> query(String tableName) {
// 使用预编译防止sql注入
String sql = "select column_name, is_nullable, data_type, column_comment, column_key, extra from information_schema.columns " +
"where table_name = ? and table_schema = (select database()) order by ordinal_position";
Query query = em.createNativeQuery(sql);
query.setParameter(1, tableName);
List result = query.getResultList();
List<ColumnInfo> columnInfos = new ArrayList<>();
for (Object obj : result) {
Object[] arr = (Object[]) obj;
columnInfos.add(
new ColumnInfo(
tableName,
arr[0].toString(),
"NO".equals(arr[1]),
arr[2].toString(),
ObjectUtil.isNotNull(arr[3]) ? arr[3].toString() : null,
ObjectUtil.isNotNull(arr[4]) ? arr[4].toString() : null,
ObjectUtil.isNotNull(arr[5]) ? arr[5].toString() : null)
);
}
return columnInfos;
}
@Override
public void sync(List<ColumnInfo> columnInfos, List<ColumnInfo> columnInfoList) {
// 第一种情况数据库类字段改变或者新增字段
for (ColumnInfo columnInfo : columnInfoList) {
// 根据字段名称查找
List<ColumnInfo> columns = columnInfos.stream().filter(c -> c.getColumnName().equals(columnInfo.getColumnName())).collect(Collectors.toList());
// 如果能找到就修改部分可能被字段
if (CollectionUtil.isNotEmpty(columns)) {
ColumnInfo column = columns.get(0);
column.setColumnType(columnInfo.getColumnType());
column.setExtra(columnInfo.getExtra());
column.setKeyType(columnInfo.getKeyType());
if (StringUtils.isBlank(column.getRemark())) {
column.setRemark(columnInfo.getRemark());
}
columnInfoRepository.save(column);
} else {
// 如果找不到则保存新字段信息
columnInfoRepository.save(columnInfo);
}
}
// 第二种情况数据库字段删除了
for (ColumnInfo columnInfo : columnInfos) {
// 根据字段名称查找
List<ColumnInfo> columns = columnInfoList.stream().filter(c -> c.getColumnName().equals(columnInfo.getColumnName())).collect(Collectors.toList());
// 如果找不到就代表字段被删除了则需要删除该字段
if (CollectionUtil.isEmpty(columns)) {
columnInfoRepository.delete(columnInfo);
}
}
}
@Override
public void save(List<ColumnInfo> columnInfos) {
columnInfoRepository.saveAll(columnInfos);
}
@Override
public void generator(GenConfig genConfig, List<ColumnInfo> columns) {
if (genConfig.getId() == null) {
throw new BadRequestException(CONFIG_MESSAGE);
}
try {
GenUtil.generatorCode(columns, genConfig);
} catch (IOException e) {
log.error(e.getMessage(), e);
throw new BadRequestException("生成失败,请手动处理已生成的文件");
}
}
@Override
public ResponseEntity<Object> preview(GenConfig genConfig, List<ColumnInfo> columns) {
if (genConfig.getId() == null) {
throw new BadRequestException(CONFIG_MESSAGE);
}
List<Map<String, Object>> genList = GenUtil.preview(columns, genConfig);
return new ResponseEntity<>(genList, HttpStatus.OK);
}
@Override
public void download(GenConfig genConfig, List<ColumnInfo> columns, HttpServletRequest request, HttpServletResponse response) {
if (genConfig.getId() == null) {
throw new BadRequestException(CONFIG_MESSAGE);
}
try {
File file = new File(GenUtil.download(columns, genConfig));
String zipPath = file.getPath() + ".zip";
ZipUtil.zip(file.getPath(), zipPath);
FileUtil.downloadFile(request, response, new File(zipPath), true);
} catch (IOException e) {
throw new BadRequestException("打包失败");
}
}
}

View File

@ -1,54 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import org.apache.commons.configuration.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* sql字段转java
*
* @author Zheng Jie
* @date 2019-01-03
*/
public class ColUtil {
private static final Logger log = LoggerFactory.getLogger(ColUtil.class);
/**
* 转换mysql数据类型为java数据类型
*
* @param type 数据库字段类型
* @return String
*/
static String cloToJava(String type) {
Configuration config = getConfig();
assert config != null;
return config.getString(type, "unknowType");
}
/**
* 获取配置信息
*/
public static PropertiesConfiguration getConfig() {
try {
return new PropertiesConfiguration("generator.properties");
} catch (ConfigurationException e) {
log.error(e.getMessage(), e);
}
return null;
}
}

View File

@ -1,422 +0,0 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.utils;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.template.*;
import cn.ysk.cashier.domain.ColumnInfo;
import cn.ysk.cashier.domain.GenConfig;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ObjectUtils;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.time.LocalDate;
import java.util.*;
import static cn.ysk.cashier.utils.FileUtil.SYS_TEM_DIR;
/**
* 代码生成
*
* @author Zheng Jie
* @date 2019-01-02
*/
@Slf4j
@SuppressWarnings({"unchecked", "all"})
public class GenUtil {
private static final String TIMESTAMP = "Timestamp";
private static final String BIGDECIMAL = "BigDecimal";
public static final String PK = "PRI";
public static final String EXTRA = "auto_increment";
/**
* 获取后端代码模板名称
*
* @return List
*/
private static List<String> getAdminTemplateNames() {
List<String> templateNames = new ArrayList<>();
templateNames.add("Entity");
templateNames.add("Dto");
templateNames.add("Mapper");
templateNames.add("Controller");
templateNames.add("QueryCriteria");
templateNames.add("Service");
templateNames.add("ServiceImpl");
templateNames.add("Repository");
return templateNames;
}
/**
* 获取前端代码模板名称
*
* @return List
*/
private static List<String> getFrontTemplateNames() {
List<String> templateNames = new ArrayList<>();
templateNames.add("index");
templateNames.add("api");
return templateNames;
}
public static List<Map<String, Object>> preview(List<ColumnInfo> columns, GenConfig genConfig) {
Map<String, Object> genMap = getGenMap(columns, genConfig);
List<Map<String, Object>> genList = new ArrayList<>();
// 获取后端模版
List<String> templates = getAdminTemplateNames();
TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("template", TemplateConfig.ResourceMode.CLASSPATH));
for (String templateName : templates) {
Map<String, Object> map = new HashMap<>(1);
Template template = engine.getTemplate("generator/admin/" + templateName + ".ftl");
map.put("content", template.render(genMap));
map.put("name", templateName);
genList.add(map);
}
// 获取前端模版
templates = getFrontTemplateNames();
for (String templateName : templates) {
Map<String, Object> map = new HashMap<>(1);
Template template = engine.getTemplate("generator/front/" + templateName + ".ftl");
map.put(templateName, template.render(genMap));
map.put("content", template.render(genMap));
map.put("name", templateName);
genList.add(map);
}
return genList;
}
public static String download(List<ColumnInfo> columns, GenConfig genConfig) throws IOException {
// 拼接的路径/tmpeladmin-gen-temp/这个路径在Linux下需要root用户才有权限创建,非root用户会权限错误而失败更改为 /tmp/eladmin-gen-temp/
// String tempPath =SYS_TEM_DIR + "eladmin-gen-temp" + File.separator + genConfig.getTableName() + File.separator;
String tempPath = SYS_TEM_DIR + "eladmin-gen-temp" + File.separator + genConfig.getTableName() + File.separator;
Map<String, Object> genMap = getGenMap(columns, genConfig);
TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("template", TemplateConfig.ResourceMode.CLASSPATH));
// 生成后端代码
List<String> templates = getAdminTemplateNames();
for (String templateName : templates) {
Template template = engine.getTemplate("generator/admin/" + templateName + ".ftl");
String filePath = getAdminFilePath(templateName, genConfig, genMap.get("className").toString(), tempPath + "eladmin" + File.separator);
assert filePath != null;
File file = new File(filePath);
// 如果非覆盖生成
if (!genConfig.getCover() && FileUtil.exist(file)) {
continue;
}
// 生成代码
genFile(file, template, genMap);
}
// 生成前端代码
templates = getFrontTemplateNames();
for (String templateName : templates) {
Template template = engine.getTemplate("generator/front/" + templateName + ".ftl");
String path = tempPath + "eladmin-web" + File.separator;
String apiPath = path + "src" + File.separator + "api" + File.separator;
String srcPath = path + "src" + File.separator + "views" + File.separator + genMap.get("changeClassName").toString() + File.separator;
String filePath = getFrontFilePath(templateName, apiPath, srcPath, genMap.get("changeClassName").toString());
assert filePath != null;
File file = new File(filePath);
// 如果非覆盖生成
if (!genConfig.getCover() && FileUtil.exist(file)) {
continue;
}
// 生成代码
genFile(file, template, genMap);
}
return tempPath;
}
public static void generatorCode(List<ColumnInfo> columnInfos, GenConfig genConfig) throws IOException {
Map<String, Object> genMap = getGenMap(columnInfos, genConfig);
TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("template", TemplateConfig.ResourceMode.CLASSPATH));
// 生成后端代码
List<String> templates = getAdminTemplateNames();
for (String templateName : templates) {
Template template = engine.getTemplate("generator/admin/" + templateName + ".ftl");
String rootPath = System.getProperty("user.dir");
String filePath = getAdminFilePath(templateName, genConfig, genMap.get("className").toString(), rootPath);
assert filePath != null;
File file = new File(filePath);
// 如果非覆盖生成
if (!genConfig.getCover() && FileUtil.exist(file)) {
continue;
}
// 生成代码
genFile(file, template, genMap);
}
// 生成前端代码
templates = getFrontTemplateNames();
for (String templateName : templates) {
Template template = engine.getTemplate("generator/front/" + templateName + ".ftl");
String filePath = getFrontFilePath(templateName, genConfig.getApiPath(), genConfig.getPath(), genMap.get("changeClassName").toString());
assert filePath != null;
File file = new File(filePath);
// 如果非覆盖生成
if (!genConfig.getCover() && FileUtil.exist(file)) {
continue;
}
// 生成代码
genFile(file, template, genMap);
}
}
// 获取模版数据
private static Map<String, Object> getGenMap(List<ColumnInfo> columnInfos, GenConfig genConfig) {
// 存储模版字段数据
Map<String, Object> genMap = new HashMap<>(16);
// 接口别名
genMap.put("apiAlias", genConfig.getApiAlias());
// 包名称
genMap.put("package", genConfig.getPack());
// 模块名称
genMap.put("moduleName", genConfig.getModuleName());
// 作者
genMap.put("author", genConfig.getAuthor());
// 创建日期
genMap.put("date", LocalDate.now().toString());
// 表名
genMap.put("tableName", genConfig.getTableName());
// 大写开头的类名
String className = StringUtils.toCapitalizeCamelCase(genConfig.getTableName());
// 小写开头的类名
String changeClassName = StringUtils.toCamelCase(genConfig.getTableName());
// 判断是否去除表前缀
if (StringUtils.isNotEmpty(genConfig.getPrefix())) {
className = StringUtils.toCapitalizeCamelCase(StrUtil.removePrefix(genConfig.getTableName(), genConfig.getPrefix()));
changeClassName = StringUtils.toCamelCase(StrUtil.removePrefix(genConfig.getTableName(), genConfig.getPrefix()));
changeClassName = StringUtils.uncapitalize(changeClassName);
}
// 保存类名
genMap.put("className", className);
// 保存小写开头的类名
genMap.put("changeClassName", changeClassName);
// 存在 Timestamp 字段
genMap.put("hasTimestamp", false);
// 查询类中存在 Timestamp 字段
genMap.put("queryHasTimestamp", false);
// 存在 BigDecimal 字段
genMap.put("hasBigDecimal", false);
// 查询类中存在 BigDecimal 字段
genMap.put("queryHasBigDecimal", false);
// 是否需要创建查询
genMap.put("hasQuery", false);
// 自增主键
genMap.put("auto", false);
// 存在字典
genMap.put("hasDict", false);
// 存在日期注解
genMap.put("hasDateAnnotation", false);
// 保存字段信息
List<Map<String, Object>> columns = new ArrayList<>();
// 保存查询字段的信息
List<Map<String, Object>> queryColumns = new ArrayList<>();
// 存储字典信息
List<String> dicts = new ArrayList<>();
// 存储 between 信息
List<Map<String, Object>> betweens = new ArrayList<>();
// 存储不为空的字段信息
List<Map<String, Object>> isNotNullColumns = new ArrayList<>();
for (ColumnInfo column : columnInfos) {
Map<String, Object> listMap = new HashMap<>(16);
// 字段描述
listMap.put("remark", column.getRemark());
// 字段类型
listMap.put("columnKey", column.getKeyType());
// 主键类型
String colType = ColUtil.cloToJava(column.getColumnType());
// 小写开头的字段名
String changeColumnName = StringUtils.toCamelCase(column.getColumnName());
// 大写开头的字段名
String capitalColumnName = StringUtils.toCapitalizeCamelCase(column.getColumnName());
if (PK.equals(column.getKeyType())) {
// 存储主键类型
genMap.put("pkColumnType", colType);
// 存储小写开头的字段名
genMap.put("pkChangeColName", changeColumnName);
// 存储大写开头的字段名
genMap.put("pkCapitalColName", capitalColumnName);
}
// 是否存在 Timestamp 类型的字段
if (TIMESTAMP.equals(colType)) {
genMap.put("hasTimestamp", true);
}
// 是否存在 BigDecimal 类型的字段
if (BIGDECIMAL.equals(colType)) {
genMap.put("hasBigDecimal", true);
}
// 主键是否自增
if (EXTRA.equals(column.getExtra())) {
genMap.put("auto", true);
}
// 主键存在字典
if (StringUtils.isNotBlank(column.getDictName())) {
genMap.put("hasDict", true);
if(!dicts.contains(column.getDictName()))
dicts.add(column.getDictName());
}
// 存储字段类型
listMap.put("columnType", colType);
// 存储字原始段名称
listMap.put("columnName", column.getColumnName());
// 不为空
listMap.put("istNotNull", column.getNotNull());
// 字段列表显示
listMap.put("columnShow", column.getListShow());
// 表单显示
listMap.put("formShow", column.getFormShow());
// 表单组件类型
listMap.put("formType", StringUtils.isNotBlank(column.getFormType()) ? column.getFormType() : "Input");
// 小写开头的字段名称
listMap.put("changeColumnName", changeColumnName);
//大写开头的字段名称
listMap.put("capitalColumnName", capitalColumnName);
// 字典名称
listMap.put("dictName", column.getDictName());
// 日期注解
listMap.put("dateAnnotation", column.getDateAnnotation());
if (StringUtils.isNotBlank(column.getDateAnnotation())) {
genMap.put("hasDateAnnotation", true);
}
// 添加非空字段信息
if (column.getNotNull()) {
isNotNullColumns.add(listMap);
}
// 判断是否有查询如有则把查询的字段set进columnQuery
if (!StringUtils.isBlank(column.getQueryType())) {
// 查询类型
listMap.put("queryType", column.getQueryType());
// 是否存在查询
genMap.put("hasQuery", true);
if (TIMESTAMP.equals(colType)) {
// 查询中存储 Timestamp 类型
genMap.put("queryHasTimestamp", true);
}
if (BIGDECIMAL.equals(colType)) {
// 查询中存储 BigDecimal 类型
genMap.put("queryHasBigDecimal", true);
}
if ("between".equalsIgnoreCase(column.getQueryType())) {
betweens.add(listMap);
} else {
// 添加到查询列表中
queryColumns.add(listMap);
}
}
// 添加到字段列表中
columns.add(listMap);
}
// 保存字段列表
genMap.put("columns", columns);
// 保存查询列表
genMap.put("queryColumns", queryColumns);
// 保存字段列表
genMap.put("dicts", dicts);
// 保存查询列表
genMap.put("betweens", betweens);
// 保存非空字段信息
genMap.put("isNotNullColumns", isNotNullColumns);
return genMap;
}
/**
* 定义后端文件路径以及名称
*/
private static String getAdminFilePath(String templateName, GenConfig genConfig, String className, String rootPath) {
String projectPath = rootPath + File.separator + genConfig.getModuleName();
String packagePath = projectPath + File.separator + "src" + File.separator + "main" + File.separator + "java" + File.separator;
if (!ObjectUtils.isEmpty(genConfig.getPack())) {
packagePath += genConfig.getPack().replace(".", File.separator) + File.separator;
}
if ("Entity".equals(templateName)) {
return packagePath + "domain" + File.separator + className + ".java";
}
if ("Controller".equals(templateName)) {
return packagePath + "rest" + File.separator + className + "Controller.java";
}
if ("Service".equals(templateName)) {
return packagePath + "service" + File.separator + className + "Service.java";
}
if ("ServiceImpl".equals(templateName)) {
return packagePath + "service" + File.separator + "impl" + File.separator + className + "ServiceImpl.java";
}
if ("Dto".equals(templateName)) {
return packagePath + "service" + File.separator + "dto" + File.separator + className + "Dto.java";
}
if ("QueryCriteria".equals(templateName)) {
return packagePath + "service" + File.separator + "dto" + File.separator + className + "QueryCriteria.java";
}
if ("Mapper".equals(templateName)) {
return packagePath + "service" + File.separator + "mapstruct" + File.separator + className + "Mapper.java";
}
if ("Repository".equals(templateName)) {
return packagePath + "repository" + File.separator + className + "Repository.java";
}
return null;
}
/**
* 定义前端文件路径以及名称
*/
private static String getFrontFilePath(String templateName, String apiPath, String path, String apiName) {
if ("api".equals(templateName)) {
return apiPath + File.separator + apiName + ".js";
}
if ("index".equals(templateName)) {
return path + File.separator + "index.vue";
}
return null;
}
private static void genFile(File file, Template template, Map<String, Object> map) throws IOException {
// 生成目标文件
Writer writer = null;
try {
FileUtil.touch(file);
writer = new FileWriter(file);
template.render(map, writer);
} catch (TemplateException | IOException e) {
throw new RuntimeException(e);
} finally {
assert writer != null;
writer.close();
}
}
}

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.annotation;
import java.lang.annotation.*;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.aspect;
import cn.ysk.cashier.domain.Log;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.domain;
import lombok.Getter;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.repository;
import cn.ysk.cashier.domain.Log;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.service;
import cn.ysk.cashier.service.dto.LogQueryCriteria;
@ -67,6 +53,13 @@ public interface LogService {
@Async
void save(String username, String browser, String ip, ProceedingJoinPoint joinPoint, Log log,Integer shopId);
/**
* @param description 描述
* @param method 方法
* @param param 入参
*/
void save(String description,String method,Integer shopId,String param);
/**
* 查询异常详情
* @param id 日志ID

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.service.dto;
import lombok.Data;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.service.dto;
import lombok.Data;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.service.dto;
import lombok.Data;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.service.impl;
import cn.hutool.core.lang.Dict;
@ -40,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.Method;
@ -96,8 +83,7 @@ public class LogServiceImpl implements LogService {
String value = SpelUtil.generateKeyBySpEL(split[1], joinPoint);
// 描述
log.setDescription(split[0] + ":" + value);
}
if (split.length == 3) {
} else if (split.length == 3) {
// String v1 = SpelUtil.generateKeyBySpEL(split[1], joinPoint);
String v2 = SpelUtil.generateKeyBySpEL(split[2], joinPoint);
if (methodName.contains("createOutAndONOperate")) {
@ -135,6 +121,25 @@ public class LogServiceImpl implements LogService {
logRepository.save(log);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(String description,String method,Integer shopId,String param) {
Log log = new Log();
HttpServletRequest request = RequestHolder.getHttpServletRequest();
log.setUsername(SecurityUtils.getCurrentUsername());
log.setLogType("INFO");
log.setBrowser(StringUtils.getBrowser(request));
log.setRequestIp(StringUtils.getIp(request));
log.setAddress(StringUtils.getCityInfo(log.getRequestIp()));
log.setShopId(shopId);
log.setDescription(description);
log.setMethod(method);
log.setParams(param);
logRepository.save(log);
}
/**
* 根据方法和传入的参数获取请求参数
*/

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.service.mapstruct;
import cn.ysk.cashier.base.BaseMapper;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.service.mapstruct;
import cn.ysk.cashier.base.BaseMapper;

View File

@ -19,7 +19,15 @@
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
<version>3.8.2</version>
</dependency>
<!-- 代码生成模块 -->
<dependency>
<groupId>cn.ysk.cashier</groupId>
@ -98,11 +106,13 @@
<version>6.1.4</version>
</dependency>
<!--
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
-->
<!-- <dependency>-->
<!-- <groupId>com.baomidou</groupId>-->
@ -112,12 +122,12 @@
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.3.1</version>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
<version>3.5.7</version>
</dependency>
<!-- zxing生成二维码 -->
@ -140,6 +150,13 @@
<version>2.0.21</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework</groupId>-->
<!-- <artifactId>spring-context-indexer</artifactId>-->
<!-- <version>5.2.0.RELEASE</version>-->
<!-- <optional>true</optional>-->
<!-- </dependency>-->
</dependencies>
<profiles>
@ -150,9 +167,15 @@
</properties>
</profile>
<profile>
<id>pro</id>
<id>pre</id>
<properties>
<env>pro</env>
<env>pre</env>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<env>prod</env>
</properties>
</profile>
</profiles>

View File

@ -1,23 +1,10 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier;
import io.swagger.annotations.Api;
import cn.ysk.cashier.annotation.rest.AnonymousGetMapping;
import cn.ysk.cashier.utils.SpringContextHolder;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.ApplicationPidFileWriter;
@ -36,8 +23,9 @@ import org.springframework.web.bind.annotation.RestController;
@EnableAsync
@RestController
@Api(hidden = true)
@SpringBootApplication
@EnableTransactionManagement
@SpringBootApplication
@MapperScan("cn.ysk.cashier.mybatis.mapper")
@EnableJpaAuditing(auditorAwareRef = "auditorAware")
public class AppRun {

View File

@ -29,6 +29,7 @@ public class AppApiMethodAspect {
"cn.ysk.cashier.controller.* " +
"|| cn.ysk.cashier.controller.*.* " +
"|| cn.ysk.cashier.mnt.rest.* " +
"|| cn.ysk.cashier.cons.rest.* " +
"|| cn.ysk.cashier.system.rest.* " +
"|| cn.ysk.cashier.config.security.rest.*" +
").*(..))")

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config;
import com.alibaba.fastjson.serializer.SerializerFeature;
@ -28,6 +14,7 @@ import org.springframework.web.filter.CorsFilter;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
@ -42,7 +29,9 @@ import java.util.List;
@EnableWebMvc
public class ConfigurerAdapter implements WebMvcConfigurer {
/** 文件配置 */
/**
* 文件配置
*/
private final FileProperties properties;
public ConfigurerAdapter(FileProperties properties) {
@ -64,8 +53,8 @@ public class ConfigurerAdapter implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
FileProperties.ElPath path = properties.getPath();
String avatarUtl = "file:" + path.getAvatar().replace("\\","/");
String pathUtl = "file:" + path.getPath().replace("\\","/");
String avatarUtl = "file:" + path.getAvatar().replace("\\", "/");
String pathUtl = "file:" + path.getPath().replace("\\", "/");
registry.addResourceHandler("/avatar/**").addResourceLocations(avatarUtl).setCachePeriod(0);
registry.addResourceHandler("/file/**").addResourceLocations(pathUtl).setCachePeriod(0);
registry.addResourceHandler("/**").addResourceLocations("classpath:/META-INF/resources/").setCachePeriod(0);
@ -79,7 +68,7 @@ public class ConfigurerAdapter implements WebMvcConfigurer {
supportMediaTypeList.add(MediaType.APPLICATION_JSON);
FastJsonConfig config = new FastJsonConfig();
config.setDateFormat("yyyy-MM-dd HH:mm:ss");
config.setSerializerFeatures(SerializerFeature.WriteMapNullValue);
config.setSerializerFeatures(SerializerFeature.WriteMapNullValue, SerializerFeature.WriteDateUseDateFormat);
converter.setFastJsonConfig(config);
converter.setSupportedMediaTypes(supportMediaTypeList);
converter.setDefaultCharset(StandardCharsets.UTF_8);

View File

@ -12,7 +12,6 @@ import java.util.Collections;
@Configuration
@MapperScan("cn.ysk.cashier.mybatis.mapper")
@EnableTransactionManagement
public class MybatisPlusConfig {

View File

@ -13,6 +13,10 @@ public class RabbitConfig {
public static final String EXCHANGE_STOCK_RECORD = "exchange.stock.record";
public static final String ROUTING_STOCK_RECORD_SALE = "routing.stock.record.sale";
public static final String QUEUE_STOCK_RECORD = "queue.stock.record";
public static final String ROUTING_STOCK_RECORD= "routing.stock.record";
@Bean
Queue stockRecordSaleQueue() {
return new Queue(QUEUE_STOCK_RECORD_SALE);
@ -27,4 +31,14 @@ public class RabbitConfig {
Binding binding(Queue stockRecordSaleQueue, DirectExchange stockRecordExchange) {
return BindingBuilder.bind(stockRecordSaleQueue).to(stockRecordExchange).with(ROUTING_STOCK_RECORD_SALE);
}
@Bean
Queue stockRecordSaleQueue2() {
return new Queue(QUEUE_STOCK_RECORD);
}
@Bean
Binding binding2(Queue stockRecordSaleQueue2, DirectExchange stockRecordExchange) {
return BindingBuilder.bind(stockRecordSaleQueue2).to(stockRecordExchange).with(ROUTING_STOCK_RECORD);
}
}

View File

@ -0,0 +1,25 @@
package cn.ysk.cashier.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
@Configuration//加上这个注解作用可以被Spring扫描
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate(ClientHttpRequestFactory factory){
return new RestTemplate(factory);
}
@Bean
public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setReadTimeout(500000);//单位为ms
factory.setConnectTimeout(500000);//单位为ms
return factory;
}
}

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config;
import org.springframework.context.annotation.Bean;

View File

@ -4,8 +4,10 @@ import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.web.PageableHandlerMethodArgumentResolver;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import java.nio.charset.Charset;
@ -17,6 +19,7 @@ public class fastJsonConfig extends WebMvcConfigurationSupport {
/**
* 使用阿里 fastjson 作为JSON MessageConverter
*
* @param converters
*/
@Override
@ -45,4 +48,10 @@ public class fastJsonConfig extends WebMvcConfigurationSupport {
converter.setSupportedMediaTypes(mediaTypeList);
converters.add(converter);
}
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
// 注册Spring data jpa pageable的参数分解器
argumentResolvers.add(new PageableHandlerMethodArgumentResolver());
}
}

View File

@ -10,7 +10,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry){
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new UserInterceptor());
}
}

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.config;
import cn.ysk.cashier.config.security.security.JwtAccessDeniedHandler;
@ -138,6 +124,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers(anonymousUrls.get(RequestMethodEnum.ALL.getType()).toArray(new String[0])).permitAll()
.antMatchers("/auth/appletsLogin").permitAll()
.antMatchers("/api/tbHandover").permitAll()
.antMatchers("/notify/fstPay").permitAll()
// 所有请求都需要认证
.anyRequest().authenticated()
.and().apply(securityConfigurerAdapter());

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.config.bean;
import lombok.Data;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.rest;
import cn.hutool.core.util.IdUtil;
@ -43,6 +29,7 @@ import cn.ysk.cashier.config.security.service.dto.JwtUserDto;
import cn.ysk.cashier.config.security.service.OnlineUserService;
import cn.ysk.cashier.pojo.shop.TbShopInfo;
import cn.ysk.cashier.repository.shop.TbShopInfoRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@ -232,6 +219,14 @@ public class AuthorizationController {
return ResponseEntity.ok(imgResult);
}
@ApiOperation("设置验证码")
@AnonymousGetMapping(value = "/setCode")
public ResponseEntity<Object> setCode(@RequestParam String uuid, @RequestParam String code) {
// 保存
redisUtils.set(uuid, code, loginProperties.getLoginCode().getExpiration(), TimeUnit.MINUTES);
return ResponseEntity.ok("ok");
}
@ApiOperation("退出登录")
@AnonymousDeleteMapping(value = "/logout")
public ResponseEntity<Object> logout(HttpServletRequest request) {

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.rest;
import io.swagger.annotations.Api;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.security;
import org.springframework.security.access.AccessDeniedException;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.security;
import org.springframework.security.core.AuthenticationException;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.security;
import cn.ysk.cashier.config.security.config.bean.SecurityProperties;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.security;
import cn.hutool.core.util.StrUtil;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.security;
import cn.hutool.core.date.DateField;
@ -105,6 +91,7 @@ public class TokenProvider implements InitializingBean {
.getBody();
}
/**
* @param token 需要检查的token
*/
@ -137,4 +124,17 @@ public class TokenProvider implements InitializingBean {
}
return null;
}
public String getSubject() {
HttpServletRequest request = SpringContextHolder.getRequest();
final String requestHeader = request.getHeader(properties.getHeader());
if (requestHeader != null && requestHeader.startsWith(properties.getTokenStartWith())) {
Claims claims = jwtParser
.parseClaimsJws(requestHeader.substring(7))
.getBody();
return claims.getSubject();
}
return null;
}
}

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.service;
import cn.ysk.cashier.config.security.config.bean.SecurityProperties;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.service;
import cn.hutool.core.util.RandomUtil;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.service;
import cn.ysk.cashier.config.security.service.dto.JwtUserDto;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.service.dto;
import lombok.Getter;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.service.dto;
import lombok.AllArgsConstructor;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.service.dto;
import cn.ysk.cashier.system.service.dto.UserLoginDto;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.security.service.dto;
import lombok.AllArgsConstructor;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.thread;
import lombok.extern.slf4j.Slf4j;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.thread;
import lombok.Data;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.thread;
import cn.ysk.cashier.utils.StringUtils;

View File

@ -1,18 +1,4 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.ysk.cashier.config.thread;
import java.util.concurrent.ArrayBlockingQueue;

View File

@ -0,0 +1,57 @@
package cn.ysk.cashier.cons;
public interface RedisConstant {
//在线用户
String ONLINE_USER = "ONLINE:USER";
String CART = "CZG:CART:";
public final Object PRODUCT = "PRODUCT:";
public final String OUT_NUMBER="ORDER:NUMBER:";
public static final String ORDER_MESSAGE="ORDER:MESSAGE:";
public static final String ORDER_PRODUCT_NUM = "ORDER_NUM:";
public static final String ORDER_CART_EXISTS = "ORDER_CART_EXISTS:";
String CURRENT_TABLE_ORDER = "CURRENT_TABLE_ORDER:";
public static String TABLE_CART = "TABLE:CART:";
String ADD_TABLE_CART_LOCK = "ADD_TABLE_CART";
String PC_OUT_NUMBER = "PC_OUT_NUMBER:";
String LOCK_KEY = "LOCK:";
String CREATE_ORDER = "CREATE_ORDER";
// 排队取号全局号码
String TABLE_CALL_NUMBER = "TABLE_CALL_NUMBER:";
// 选择人数锁
String CHOSE_TABLE_COUNT = "CHOSE_TABLE_COUNT";
String MASTER_ID = "SHOP:CODE:USER:pc:";
static String getCurrentOrderKey(String tableId, String shopId) {
return CURRENT_TABLE_ORDER + shopId + ":" + tableId;
}
static String getTableCartKey(String tableId, String shopId) {
return TABLE_CART + tableId + "-" + shopId;
}
static String getLockKey(String sign, Object... args) {
StringBuilder key = new StringBuilder(LOCK_KEY + ":" + sign + ":");
for (Object arg : args) {
if (arg != null) {
key.append(":").append(arg);
}
}
return key.toString();
}
static String getTableCallNumKey(Integer shopId, Integer callTableId) {
return TABLE_CALL_NUMBER + shopId + ":" + callTableId;
}
static String getMasterIdKey(Integer shopId, String day, String tableId) {
return MASTER_ID + shopId + ":" + day + ":" + tableId;
}
}

View File

@ -0,0 +1,188 @@
package cn.ysk.cashier.cons;
import lombok.Getter;
import java.util.Objects;
public interface TableConstant {
String CART_SEAT_ID = "-999";
class ShopTable {
@Getter
public enum State {
IDLE("idle"), CLOSED("closed"), PAYING("paying"), PENDING("pending"), USING("using"), CLEANING("cleaning");
private final String value;
State(String value) {
this.value = value;
}
}
}
class CashierCart {
public static final String ID = "-999";
@Getter
public enum Status {
REFUNDING("refunding"), REFUND("refund"), CLOSED("closed"), CREATE("create"),
UNPAID("unpaid"), PAYING("paying"), RETURN("return"), CANCEL("cancel");
private final String value;
Status(String value) {
this.value = value;
}
public boolean equalsVals(String value) {
return this.value.equals(value);
}
}
@Getter
public enum UseType {
TAKEOUT("takeout"),
DINE_IN_AFTER("dine-in-after"),
DINE_IN_BEFORE("dine-in-before");
private final String value;
UseType(String value) {
this.value = value;
}
public boolean equalsVals(String value) {
return this.value.equals(value);
}
}
}
class OrderInfo {
@Getter
public enum Status {
REFUNDING("refunding"), REFUND("refund"), CLOSED("closed"), CREATE("create"),
UNPAID("unpaid"), PAYING("paying"), RETURN("return"), FINAL("final");
private final String value;
Status(String value) {
this.value = value;
}
public boolean equalsVals(String value) {
return this.value.equals(value);
}
}
@Getter
public enum UseType {
TAKEOUT("takeout"),
DINE_IN_AFTER("dine-in-after"),
DINE_IN_BEFORE("dine-in-before"), NONE_TABLE("dine-in");
private final String value;
UseType(String value) {
this.value = value;
}
public boolean equalsVals(String value) {
return this.value.equals(value);
}
}
}
class FreeDineRecord {
@Getter
public enum State {
WAIT_PAY(0),
SUCCESS_PAY(1),
FAIL_PAY(2);
private final Integer value;
State(Integer value) {
this.value = value;
}
}
@Getter
public enum UseType {
TAKEOUT("takeout"),
DINE_IN_AFTER("dine-in-after"),
DINE_IN_BEFORE("dine-in-before");
private final String value;
UseType(String value) {
this.value = value;
}
public boolean equalsVals(String value) {
return this.value.equals(value);
}
}
}
class ShopInfo {
@Getter
public enum EatModel {
TAKEOUT("takeout"),
DINE_IN("dine-in");
private final String value;
EatModel(String value) {
this.value = value;
}
public boolean equalsVals(String value) {
return this.value.equals(value);
}
}
}
class MemberIn {
@Getter
public enum Type {
NORMAL(0),
FREE_DINE(1);
private final Integer value;
Type(Integer value) {
this.value = value;
}
public boolean equalsVals(Integer value) {
return Objects.equals(this.value, value);
}
}
}
class ActivateOutRecord {
@Getter
public enum Type {
// 满减
FULL_REDUCTION(1),
// 商品
PRODUCT(2);
private final Integer value;
Type(Integer value) {
this.value = value;
}
public boolean equalsVals(Integer value) {
return Objects.equals(this.value, value);
}
}
@Getter
public enum Status {
CREATE("create"),
CANCEL("cancel"),
// 商品
CLOSED("closed");
private final String value;
Status(String value) {
this.value = value;
}
public boolean equalsVals(String value) {
return this.value.equals(value);
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More