道具券VIP名字单独处理

This commit is contained in:
tianfeng 2025-11-06 21:41:07 +08:00
parent 320d1c3ad6
commit 5cc2557fca

View File

@ -120,6 +120,8 @@ public class PropCouponGrantCmdExe {
LocalDateTime now = LocalDateTime.now();
LocalDateTime expireTime = now.plusDays(cmd.getValidDays());
// 转换贵族等级名称为VIP等级
String displayPropName = convertNobleNameToVipLevel(cmd.getPropName());
for (Long userId : userIds) {
PropCoupon propCoupon = new PropCoupon();
propCoupon.setCouponNo(generateCouponNo());
@ -127,7 +129,7 @@ public class PropCouponGrantCmdExe {
propCoupon.setCouponType(couponType);
propCoupon.setPropId(cmd.getPropId());
propCoupon.setPropIcon(cmd.getPropIcon());
propCoupon.setPropName(cmd.getPropName());
propCoupon.setPropName(displayPropName);
propCoupon.setValidDays(cmd.getValidDays());
propCoupon.setStatus(PropCouponStatus.UNUSED);
propCoupon.setSource(PropCouponSource.ADMIN_GRANT);
@ -142,6 +144,35 @@ public class PropCouponGrantCmdExe {
}
/**
* 转换贵族等级名称为VIP等级
*
* @param propName 道具名称
* @return VIP等级名称
*/
private String convertNobleNameToVipLevel(String propName) {
if (propName == null) {
return propName;
}
// 贵族等级映射
switch (propName.toUpperCase()) {
case "VISCOUNT":
return "VIP 1";
case "EARL":
return "VIP 2";
case "MARQUIS":
return "VIP 3";
case "DUKE":
return "VIP 4";
case "KING":
return "VIP 5";
default:
return propName;
}
}
/**
* 生成券编号唯一
*/
private String generateCouponNo() {