Преглед изворни кода

新增:1. :修复批发客户累计消费统计 2. 01-22:扫码付款--支持发跑腿 3. 01-26:设备ID 获取与保存

shizhongqi пре 6 месеци
родитељ
комит
09876f067e

+ 4 - 4
任务小笔记/25年/25-0925:App 通知/上线.md

@@ -38,8 +38,8 @@ CREATE TABLE `xhHdDevice` (
 
 ### uni-admin 框架(原名 uniCloud admin)
 使用 uni-admin 分别创建两个云服务空间,请前往 https://unicloud.dcloud.net.cn/  查看
-- ghs-uni-admin
-- hd-uni-admin
+- ghs-uni-admin --- 登录帐户:admin   密码:Uni.19640123
+- hd-uni-admin --- 登录帐户:admin   密码:Uni.19640123
 
 什么是 uni-admin 请查看 https://doc.dcloud.net.cn/uniCloud/admin.html
 
@@ -48,5 +48,5 @@ uni-admin 中包含有以下主要功能:
 App 开放的 uni 统计在此查看
 
 - 推送管理
-1.可以做为 push 消息测试
-2.可以查看push发送统计
+	1. 可以做为 push 消息测试
+	2. 可以查看push发送统计

+ 0 - 0
任务小笔记/25年/25-1021:聚合配送/扫码付款--也要支持发跑腿.md


+ 0 - 0
任务小笔记/26年/26-01-06:红包功能/26-01-06:红包功能.md → 任务小笔记/26年/01-06:红包功能/26-01-06:红包功能.md


+ 16 - 14
任务小笔记/26年/26-01-06:红包功能/SQL.md → 任务小笔记/26年/01-06:红包功能/SQL.md

@@ -5,22 +5,24 @@ CREATE TABLE `xhHb` (
 	`mainId` int(11) NOT NULL DEFAULT '0' COMMENT '中央id',
 	`shopId` int(11) NOT NULL DEFAULT '0' COMMENT '门店id',
 	`userId` int(11) NOT NULL DEFAULT '0' COMMENT '用户id',
-	`name` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '红包' COMMENT '红包名称',
-	`amount` int(11) NOT NULL DEFAULT '0' COMMENT '红包金额,单位元',
-	`miniCost` int(11) NOT NULL DEFAULT '0' COMMENT '最低消费金额,0表示没有要求',
-	`beginTime` int(11) NOT NULL DEFAULT '0' COMMENT '开始时间',
-	`endTime` int(11) NOT NULL DEFAULT '0' COMMENT '实际到期时间,永不过期用数值4102416000表示即2100-01-01 00:00:00,不另外建字段,方便查询',
-	`willTime` int(11) NOT NULL DEFAULT '0' COMMENT '将要到期时间,永不过期用数值4102416000表示即2100-01-01 00:00:00,不另外建字段,方便查询',
+	`customId` int(11) NOT NULL DEFAULT '0' COMMENT '客户表id',
+	`name` varchar(20) NOT NULL DEFAULT '红包' COMMENT '红包名称',
+	`amount` decimal(9,2) NOT NULL DEFAULT '0.00' COMMENT '红包金额,单位元',
+	`minConsume` decimal(9,2) NOT NULL DEFAULT '0.00' COMMENT '最低消费金额,0表示没有要求',
+	`beginTime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '开始时间',
+	`endTime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '实际到期时间,永不过期用数值4102416000表示即2100-01-01 00:00:00,不另外建字段,方便查询',
+	`willTime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '将要到期时间,永不过期用数值4102416000表示即2100-01-01 00:00:00,不另外建字段,方便查询',
 	`duration` smallint(6) NOT NULL DEFAULT '1' COMMENT '有效时长,天',
 	`getType` tinyint(4) NOT NULL DEFAULT '0' COMMENT '取得方式 0新人领取 1门店发放 2充值赠送',
-	`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态 -1作废 0未使用 1已使用。0时还要结合deadline来判断是否过期',
+	`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态 -1作废 0未使用 1已使用。0时还要结合endTime来判断是否过期',
 	`orderId` int(11) NOT NULL DEFAULT '0' COMMENT '红包使用的订单id',
-	`createdAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
-	`updatedAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, CURRENT_TIMESTAMP COMMENT '修改时间',
+	`createdAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+	`updatedAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
 	PRIMARY KEY (`id`),
 	KEY `idx_mainId` (`mainId`),
 	KEY `idx_shopId` (`shopId`),
-	KEY `idx_userId_createdAt_status` (`userId`, `createdAt`, `status`),
+	KEY `idx_userId` (`userId`),
+	KEY `idx_customId_createdAt_status` (`customId`, `createdAt`, `status`),
 	KEY `idx_createdAt_status` (`createdAt`, `status`),
 	KEY `idx_orderId` (`orderId`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='零售端红包表';
@@ -30,16 +32,16 @@ CREATE TABLE `xhHb` (
 ```
 CREATE TABLE `xhHbManage` (
 	`id` int(11) NOT NULL AUTO_INCREMENT,
-	`hbId` int(11) NOT NULL DEFAULT '0' COMMENT '红包id',
+	`hbId` int(11) NOT NULL DEFAULT '0' COMMENT '零售端红包id',
 	`getType` tinyint(4) NOT NULL DEFAULT '0' COMMENT '取得方式 0新人领取 1门店发放 2充值赠送',
 	`getTargetId` int(11) NOT NULL DEFAULT '0' COMMENT '根据getType判断是哪个表的id,新人领取主键id,门店发放主键id,充值赠送主键id,没有则不存',
 	`createStaffId` int(11) NOT NULL DEFAULT '0' COMMENT '发放人',
-	`createStaffName` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '发放人名称',
+	`createStaffName` varchar(30) NOT NULL DEFAULT '' COMMENT '发放人名称',
 	`remark` varchar(200) NOT NULL DEFAULT '' COMMENT '备注',
 	`cancelStaffId` int(11) NOT NULL DEFAULT '0' COMMENT '作废人',
-	`cancelStaffName` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '作废人名称',
+	`cancelStaffName` varchar(30) NOT NULL DEFAULT '' COMMENT '作废人名称',
 	`cancelTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '作废时间',
-	`createdAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+	`createdAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
 	`updatedAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 	PRIMARY KEY (`id`),
 	KEY `idx_hbId` (`hbId`),

+ 15 - 0
任务小笔记/26年/01-06:红包功能/待完善功能.md

@@ -0,0 +1,15 @@
+1. 客户详情页增加一个:红包记录
+	-  跳转到红包列表页,要选中客户
+
+2. 升降级 旁边加一个 发红包
+
+3. 钉钉上发你的截图,没看懂,不是消费红包,调用的是hbBack()
+
+4. 取消订单时取消红包含有的风险
+
+5. 后面做批发端,注意xhGhsOrder xhCg都要管理hbId字段
+
+6. 订单操作页操作退回红包需要限制,然后已经退了要显示已退
+
+7. 跟售后单一起退回红包时,判断条件调整
+	- 封装为一个函数,函数中要查询订单数据,检查 actPrice 是否已经为0

+ 16 - 0
任务小笔记/26年/01-21:修复批发客户累计消费统计.md

@@ -0,0 +1,16 @@
+![[Pasted image 20260121095542.png]]
+
+1、批发端客户累计消费有问题,退款时,累计消息的总金额没有减少。需要解决。
+- 注意订单退款,包括前台退(花掌柜端,客户发起售后请求,销花宝(卖家)审核通过)和后台退(销花宝主动售后)
+- 累计消费金额存在 xhGhsCustom - buyAmount 和xhGhs - expendAmount
+
+2、第1个问题,解决之后:
+- 上线之后,再生成的客户,直接显示消费金额就行,因为数据是对的,用客户表的addTime来判断
+- 解决之前已经有的客户,数据是错的,需要更新,
+	- —~~(原先方案) -- 在xhGhsCustom 建个buyStat tinyint 0表示没有更新过,1表示更新过,没有更新过显示 拉取 二字~~
+	- (新方案)-- 把 xhGhsCustom 表的 buyAmount 字段更新为 -10000000.00(表示没更新过),其它值为已更新。更新SQL:  UPDATE xhGhsCustom SET buyAmount = -10000000.00 WHERE addTime < '2026-01-22 00:00:00'
+
+- 点拉取时,推到rabbitmq里,去统计这个客户的订单表的actPrice总金额,然后更新到xhGhs 和 xhGhsCustom的字段里
+- 点了拉取之后,提示,请稍等10秒,不要让他重复拉取
+
+![[Pasted image 20260121151211.png]]

+ 15 - 0
任务小笔记/26年/01-22:扫码付款--支持发跑腿.md

@@ -0,0 +1,15 @@
+
+### 扫码付款的,实现支持发跑腿
+
+1、下单时,发跑腿需要的信息,根据ghs_pt_orderId 、 hd_pt_orderId键名放到缓存,第一缓存的跑腿信息,有过期时间,第二个这个缓存会过期失效,如碰到以上二个原因,造成没有发跑腿,要通知用户
+
+  
+2、如果跑腿发送失败,比如余额不足等,也要通知用户
+
+
+3、付款成功了,哪里进行生产者,我给位置或者方法,这里:HdDeliveryOrderClass::payAfter和GhsDeliveryOrderClass::payAfter
+
+
+4、失败发提示内容:
+	发跑腿失败
+	余额不足 龙岩小林鲜花 ¥316

+ 19 - 0
任务小笔记/26年/01-26:设备ID 获取与保存.md

@@ -0,0 +1,19 @@
+### 实现方案
+
+| **平台**      | **首选方案**            | **备选方案 (降级)**                  |
+| ----------- | ------------------- | ------------------------------ |
+| **Android** | **OAID** (需插件)      | **Android ID** (无需权限即可获取)      |
+| **iOS**     | **Keychain + UUID** | **IDFV** (由系统提供,仅在同厂商 App 间共享) |
+各手机使用以上插件实现获取手机设备ID,但有可能会获取失败,如:华为手机获取 00000000-0000-0000-0000-000000000000,所以使用组合唯一索引`uidx_s_d` (`shopId`, `deviceId`) -- 暂时解决。
+
+问题:如果一家门店下有两部华为手机,那还是会出现问题的。 ---- 最终,会检测获取的 OAID ,如果是 0或-组成的字符串,则改获取 AndroidID 、GUID 或 IMEI
+### 表相关信息
+xhHdDevice 与 xhGhsDevice 表使用 UNIQUE KEY `uidx_s_d` (`shopId`,`deviceId`) 做为唯一索引
+
+### 设备表更新机制
+xhHdDevice 与 xhGhsDevice 的更新机制要有一套完整规则:
+1. 新增设备时,按 UNIQUE KEY `uidx_s_d` (`shopId`,`deviceId`) 来新增
+2. 门店切换时,要把旧登录的门店状态(status)更新为退出(让其不会再接收到消息)-- 即:根据 deviceId + shopId(旧,当前) 查询获取数据,然后把status更新为 0
+3. 门店切换时,要把当前登录的门店状态(status)更新为登录(让其能接收到消息)-- 即:根据 deviceId + shopId(新,切换的)  查询获取数据,然后把status更新为 1
+4. 账号登录与退出接口中,也要添加对设备状态的更新
+

+ 9 - 0
任务小笔记/26年/01-27:App 消息总结与bug修复.md

@@ -0,0 +1,9 @@
+- 华为手机--花掌柜离线收不到消息
+
+7、怎样增加一个app消息通知,要做哪些事情,很多消息都要加
+  
+
+9、学习中心右边放个 清空消息,能让他清掉已经存在的全部角标
+
+
+![[Pasted image 20260122160303.png]]

BIN
任务小笔记/26年/images/Pasted image 20260121095542.png


BIN
任务小笔记/26年/images/Pasted image 20260121151211.png


BIN
任务小笔记/26年/images/Pasted image 20260122160303.png