初始化表情bug

This commit is contained in:
2025-06-13 17:35:48 +08:00
parent b8f9b63c14
commit 7b37a423d8

View File

@@ -66,54 +66,59 @@ public class FaceJsonService extends BaseService {
*/
@SneakyThrows
public FaceJson getValidFaceJson(String appVersion) {
boolean afterVipFaceVer = AppVersionUtil.compareVersion(appVersion, VIP_FACE_VERSION) >= 0;
String json = jedisService.get(RedisKey.face_json.getKey());
FaceJson faceJson;
if (!BlankUtil.isBlank(json)) {
faceJson = gson.fromJson(json, FaceJson.class);
} else {
faceJson = getFaceJsonFromDB();
jedisService.set(RedisKey.face_json.getKey(), gson.toJson(faceJson));
}
/**
* 解密 -> 处理数据 -> 重新加密返回
* 不知道为啥非要全部信息加密返回给客户端,真是折磨
*/
String faceJsonString = DESUtils.DESAndBase64Decrypt(faceJson.getJson(), Constant.FaceJsonConfig.FACE_JSON_KEY);
FaceJsonDetail faceJsonDetail = JSONObject.parseObject(faceJsonString, FaceJsonDetail.class);
List<FaceInfo> faceList = faceJsonDetail.getFaces();
for (FaceInfo faceInfo : faceList) {
faceInfo.setName(StrUtil.EMPTY);
}
List<FaceInfo> normalFaceList = faceList.stream().filter(faceInfo ->
(faceInfo.getFaceKind() == null || Constant.FaceKind.NORMAL.equals(faceInfo.getFaceKind())))
.collect(Collectors.toList());
if (afterVipFaceVer) {
// 按照faceKind进行分组
List<FaceInfo> vipFaceList = faceList.stream().filter(faceInfo -> Constant.FaceKind.VIP_FACE.equals(faceInfo.getFaceKind()))
try {
boolean afterVipFaceVer = AppVersionUtil.compareVersion(appVersion, VIP_FACE_VERSION) >= 0;
String json = jedisService.get(RedisKey.face_json.getKey());
if (!BlankUtil.isBlank(json)) {
faceJson = gson.fromJson(json, FaceJson.class);
} else {
faceJson = getFaceJsonFromDB();
jedisService.set(RedisKey.face_json.getKey(), gson.toJson(faceJson));
}
/**
* 解密 -> 处理数据 -> 重新加密返回
* 不知道为啥非要全部信息加密返回给客户端,真是折磨
*/
String faceJsonString = DESUtils.DESAndBase64Decrypt(faceJson.getJson(), Constant.FaceJsonConfig.FACE_JSON_KEY);
FaceJsonDetail faceJsonDetail = JSONObject.parseObject(faceJsonString, FaceJsonDetail.class);
List<FaceInfo> faceList = faceJsonDetail.getFaces();
for (FaceInfo faceInfo : faceList) {
faceInfo.setName(StrUtil.EMPTY);
}
List<FaceInfo> normalFaceList = faceList.stream().filter(faceInfo ->
(faceInfo.getFaceKind() == null || Constant.FaceKind.NORMAL.equals(faceInfo.getFaceKind())))
.collect(Collectors.toList());
List<FaceInfo> vipFaces = new ArrayList<>();
List<FaceInfo> finalVipFaces = vipFaces;
vipFaceList.forEach(faceInfo -> {
VipInfo vipInfo = vipAuthItemService.getVipInfoByTypeAndItemId(Constant.VipAuthType.FACE, faceInfo.getId().toString());
if (null != vipInfo) {
VipBaseInfoVO faceVipInfo = new VipBaseInfoVO();
faceVipInfo.setVipIcon(vipInfo.getVipIcon());
faceVipInfo.setVipLevel(vipInfo.getVipLevel());
faceVipInfo.setVipName(vipInfo.getVipName());
faceInfo.setFaceVipInfo(faceVipInfo);
finalVipFaces.add(faceInfo);
}
});
vipFaces = finalVipFaces.stream().sorted(Comparator.comparing(face -> face.getFaceVipInfo().getVipLevel())).collect(Collectors.toList());
faceJsonDetail.setVipFaces(vipFaces);
if (afterVipFaceVer) {
// 按照faceKind进行分组
List<FaceInfo> vipFaceList = faceList.stream().filter(faceInfo -> Constant.FaceKind.VIP_FACE.equals(faceInfo.getFaceKind()))
.collect(Collectors.toList());
List<FaceInfo> vipFaces = new ArrayList<>();
List<FaceInfo> finalVipFaces = vipFaces;
vipFaceList.forEach(faceInfo -> {
VipInfo vipInfo = vipAuthItemService.getVipInfoByTypeAndItemId(Constant.VipAuthType.FACE, faceInfo.getId().toString());
if (null != vipInfo) {
VipBaseInfoVO faceVipInfo = new VipBaseInfoVO();
faceVipInfo.setVipIcon(vipInfo.getVipIcon());
faceVipInfo.setVipLevel(vipInfo.getVipLevel());
faceVipInfo.setVipName(vipInfo.getVipName());
faceInfo.setFaceVipInfo(faceVipInfo);
finalVipFaces.add(faceInfo);
}
});
vipFaces = finalVipFaces.stream().sorted(Comparator.comparing(face -> face.getFaceVipInfo().getVipLevel())).collect(Collectors.toList());
faceJsonDetail.setVipFaces(vipFaces);
}
faceJsonDetail.setFaces(normalFaceList);
// 加密返回
String faceJsonDetailStr = JSONObject.toJSONString(faceJsonDetail);
String encryptStr = DESUtils.DESAndBase64Encrypt(faceJsonDetailStr, Constant.FaceJsonConfig.FACE_JSON_KEY);
faceJson.setJson(encryptStr);
return faceJson;
} catch (Exception e) {
logger.error("FaceJsonService.getValidFaceJson(java.lang.String)", e.getMessage(), e);
}
faceJsonDetail.setFaces(normalFaceList);
// 加密返回
String faceJsonDetailStr = JSONObject.toJSONString(faceJsonDetail);
String encryptStr = DESUtils.DESAndBase64Encrypt(faceJsonDetailStr, Constant.FaceJsonConfig.FACE_JSON_KEY);
faceJson.setJson(encryptStr);
return faceJson;
return null;
}