11
This commit is contained in:
1 parent
2ca14aa1e0
commit
b254ef0783
31 files changed
+939
-79
No files matched your search
+37
@@ -0,0 +1,37 @@
|
||||
package com.bsd.pjcloud.hard.api.dto.hard;
|
||||
|
||||
import jakarta.validation.constraints.Max;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Android 终端离线人员快照分页请求。
|
||||
*
|
||||
* <p>按设备绑定部门树的用户主键升序做固定上界游标分页;部门和钱包类型均由
|
||||
* DEVICE-ID 解析,终端不可指定范围。首次请求 snapshotMaxId 传空,由服务端
|
||||
* 固定本次快照上界,后续请求必须原样携带。</p>
|
||||
*/
|
||||
@Data
|
||||
public class HardOfflineUserSyncDto {
|
||||
|
||||
/**
|
||||
* 排他游标;首页传 0,之后使用上一页返回的 nextAfterId。
|
||||
*/
|
||||
@NotNull(message = "离线人员同步游标不能为空")
|
||||
@Min(value = 0, message = "离线人员同步游标不能小于0")
|
||||
private Long afterId;
|
||||
|
||||
/**
|
||||
* 单页用户数量;默认 200,最大 500。
|
||||
*/
|
||||
@Min(value = 1, message = "离线人员同步分页大小必须大于0")
|
||||
@Max(value = 500, message = "离线人员同步分页大小不能超过500")
|
||||
private Integer limit;
|
||||
|
||||
/**
|
||||
* 首次请求由服务端固定的快照用户主键上界;后续请求原样携带。
|
||||
*/
|
||||
@Min(value = 0, message = "离线人员同步快照上界无效")
|
||||
private Long snapshotMaxId;
|
||||
}
|
||||
+3
@@ -17,6 +17,9 @@ public class HardDoorManualSettleDto {
|
||||
@Schema(description = "手动选择的商品列表", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<Item> items;
|
||||
|
||||
@Schema(description = "操作备注(选填,记录人工判断依据)")
|
||||
private String reason;
|
||||
|
||||
@Data
|
||||
public static class Item {
|
||||
|
||||
|
||||
+6
@@ -182,6 +182,12 @@ public class HardDoorFlowEntity extends Model<HardDoorFlowEntity> {
|
||||
@Schema(description = "sku识别主动获取时间")
|
||||
private LocalDateTime skuDrivingTime;
|
||||
|
||||
/**
|
||||
* 手动结算/取消操作快照(操作人+购物车明细+金额+备注)
|
||||
*/
|
||||
@Schema(description = "手动结算/取消操作快照(操作人+购物车明细+金额+备注)")
|
||||
private String manualSettleVo;
|
||||
|
||||
/**
|
||||
* 支付时间
|
||||
*/
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package com.bsd.pjcloud.hard.api.vo.android;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Android 终端离线人员快照分页结果。
|
||||
*/
|
||||
@Data
|
||||
public class HardOfflineUserSyncSnapshotVo {
|
||||
|
||||
/**
|
||||
* 当前页用户记录;服务端按用户主键严格升序返回,仅包含绑定了可用钱包的用户。
|
||||
*/
|
||||
private List<HardOfflineUserVo> records;
|
||||
|
||||
/**
|
||||
* 下一页排他游标;末页等于当前请求游标。
|
||||
*/
|
||||
private Long nextAfterId;
|
||||
|
||||
/**
|
||||
* 是否还有位于固定快照上界内的下一页。
|
||||
*/
|
||||
private Boolean hasMore;
|
||||
|
||||
/**
|
||||
* 本次快照固定的用户主键上界;分页期间数据变化不会扩大同步范围。
|
||||
*/
|
||||
private Long snapshotMaxId;
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
package com.bsd.pjcloud.hard.api.vo.android;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Android 终端离线人员快照记录。
|
||||
*
|
||||
* <p>仅包含断网消费匹配和展示所需的字段:姓名已按首字符脱敏,不返回手机号、
|
||||
* 头像等个人信息;余额为同步时刻的服务端快照,离线扣款后以本地订单为准。</p>
|
||||
*/
|
||||
@Data
|
||||
public class HardOfflineUserVo {
|
||||
|
||||
/**
|
||||
* 用户ID;同时作为快照分页游标。
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 脱敏用户名,例如“张*”。
|
||||
*/
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 钱包卡号;断网刷离线饭卡时的匹配键。
|
||||
*/
|
||||
private String walletCardNumber;
|
||||
|
||||
/**
|
||||
* 钱包id。
|
||||
*/
|
||||
private Long walletId;
|
||||
|
||||
/**
|
||||
* 钱包类型id。
|
||||
*/
|
||||
private Long walletTypeId;
|
||||
|
||||
/**
|
||||
* 钱包余额(分)快照。
|
||||
*/
|
||||
private Integer walletBalance;
|
||||
|
||||
/**
|
||||
* 用户所属的商户id,主要用于机器的离线模式。
|
||||
*/
|
||||
private Long canteenId;
|
||||
}
|
||||
Reference in new issue
Block a user