86 lines
2.6 KiB
Dart
86 lines
2.6 KiB
Dart
import 'package:get/get.dart';
|
|
import 'package:pj_supermarket_cloud/common/index.dart';
|
|
|
|
abstract class SyncUserTool {
|
|
static const _tag = "sync商品工具";
|
|
|
|
// 获取存储用户
|
|
static Future<UserEntity?> storageUserByCarNumber(String cardNumber) async {
|
|
final app = Get.find<AppControl>();
|
|
final userDao = app.dataBase.getUserDao;
|
|
return await userDao.findByCardNumber(cardNumber);
|
|
}
|
|
|
|
// 获取存储用户
|
|
static Future<UserEntity?> storageUserByUserId(String userId) async {
|
|
final app = Get.find<AppControl>();
|
|
final userDao = app.dataBase.getUserDao;
|
|
return await userDao.findByUserId(userId);
|
|
}
|
|
|
|
/// 存储用户
|
|
static Future<void> storageUser({required ServiceUser user}) async {
|
|
try {
|
|
final app = Get.find<AppControl>();
|
|
final userDao = app.dataBase.getUserDao;
|
|
final detail = await userDao.findByUserId(user.userId!);
|
|
if (detail == null) {
|
|
final obj = _parseStorageUser(user: user, createDate: true);
|
|
await userDao.save(obj);
|
|
logger.i("|$_tag|,存储用户,新增成功|${obj.toJson()}|");
|
|
} else {
|
|
final obj = _parseStorageUser(user: user, updateDate: true);
|
|
obj.id = detail.id;
|
|
if (obj == detail) return;
|
|
await userDao.edit(obj);
|
|
logger.i("|$_tag|,存储用户,修改成功|${obj.toJson()}|");
|
|
}
|
|
} catch (e, stack) {
|
|
logger.e("|$_tag|,存储用户失败意外的错误error:|$e|stack:|$stack|");
|
|
}
|
|
}
|
|
|
|
static ServiceUser parsePayUser({
|
|
required UserEntity user,
|
|
}) {
|
|
return ServiceUser(
|
|
userId: user.userId,
|
|
username: user.nickname,
|
|
deptId: null,
|
|
userMobile: user.mobile,
|
|
userAvatar: user.avatar,
|
|
walletId: user.walletId,
|
|
walletTypeId: user.walletTypeId,
|
|
walletBalance: user.walletBalance,
|
|
walletIsFreeze: false,
|
|
walletCardNumber: user.walletCardNumber,
|
|
canteenId: user.canteenId,
|
|
);
|
|
}
|
|
|
|
static UserEntity _parseStorageUser({
|
|
required ServiceUser user,
|
|
bool createDate = false,
|
|
bool updateDate = false,
|
|
}) {
|
|
final userEntity = UserEntity(
|
|
userId: user.userId ?? "-1",
|
|
nickname: user.username ?? "未知",
|
|
mobile: user.userMobile,
|
|
avatar: user.userAvatar,
|
|
walletCardNumber: user.walletCardNumber,
|
|
walletId: user.walletId,
|
|
walletTypeId: user.walletTypeId,
|
|
walletBalance: user.walletBalance,
|
|
canteenId: user.canteenId,
|
|
);
|
|
if (createDate) {
|
|
userEntity.createTime = DateTime.now();
|
|
}
|
|
if (updateDate) {
|
|
userEntity.updateTime = DateTime.now();
|
|
}
|
|
return userEntity;
|
|
}
|
|
}
|