Commit 6af49a1c authored by alex yao's avatar alex yao

feat: 积分充值包

parent 7e7fb1c8
...@@ -2,6 +2,7 @@ package cn.com.poc.equity.aggregate; ...@@ -2,6 +2,7 @@ package cn.com.poc.equity.aggregate;
import cn.com.poc.equity.constants.EquityEnum; import cn.com.poc.equity.constants.EquityEnum;
import cn.com.poc.equity.domain.AgentEquity; import cn.com.poc.equity.domain.AgentEquity;
import cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity;
import java.util.List; import java.util.List;
...@@ -18,7 +19,7 @@ public interface EquityService { ...@@ -18,7 +19,7 @@ public interface EquityService {
/** /**
* 获取积分包信息 * 获取积分包信息
*/ */
Object getPointList(); List<BizPaymentPackageConfigurationEntity> getPointList();
/** /**
* 创建权益支付订单 * 创建权益支付订单
......
...@@ -66,4 +66,11 @@ public interface MemberEquityService { ...@@ -66,4 +66,11 @@ public interface MemberEquityService {
* @return 返回权益等级变更流水号 * @return 返回权益等级变更流水号
*/ */
String changeEquityLevel(Long memberId, ModifyEventEnum modifyEventEnum, EquityEnum.TYPE type, EquityEnum.VALIDITY_UNIT validityUnit, ModifyEventInfo modifyEventInfo) throws Exception; String changeEquityLevel(Long memberId, ModifyEventEnum modifyEventEnum, EquityEnum.TYPE type, EquityEnum.VALIDITY_UNIT validityUnit, ModifyEventInfo modifyEventInfo) throws Exception;
/**
* 获取会员当前权益等级
*
* @param memberId 用户id
*/
String getMemberEquityLevel(Long memberId) throws Exception;
} }
...@@ -58,9 +58,8 @@ public class EquityServiceImpl implements EquityService { ...@@ -58,9 +58,8 @@ public class EquityServiceImpl implements EquityService {
} }
@Override @Override
public Object getPointList() { public List<BizPaymentPackageConfigurationEntity> getPointList() {
BizPaymentPackageConfigurationEntity bizPaymentPackageConfigurationEntity = new BizPaymentPackageConfigurationEntity(); BizPaymentPackageConfigurationEntity bizPaymentPackageConfigurationEntity = new BizPaymentPackageConfigurationEntity();
bizPaymentPackageConfigurationEntity.setType(EquityEnum.TYPE.normal.name());
bizPaymentPackageConfigurationEntity.setDomain(EquityEnum.DOMAIN.point.name()); bizPaymentPackageConfigurationEntity.setDomain(EquityEnum.DOMAIN.point.name());
bizPaymentPackageConfigurationEntity.setIsDeleted(CommonConstant.IsDeleted.N); bizPaymentPackageConfigurationEntity.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizPaymentPackageConfigurationEntity> entities = bizPaymentPackageConfigurationService.findByExample(bizPaymentPackageConfigurationEntity, null); List<BizPaymentPackageConfigurationEntity> entities = bizPaymentPackageConfigurationService.findByExample(bizPaymentPackageConfigurationEntity, null);
......
...@@ -235,6 +235,16 @@ public class MemberEquityServiceImpl implements MemberEquityService { ...@@ -235,6 +235,16 @@ public class MemberEquityServiceImpl implements MemberEquityService {
return transactionSn; return transactionSn;
} }
@Override
public String getMemberEquityLevel(Long memberId) throws Exception {
BizMemberEquityEntity bizMemberEquityEntity = bizMemberEquityService.getByMemberId(memberId);
if (bizMemberEquityEntity == null) {
this.initMemberEquity(memberId);
bizMemberEquityEntity = bizMemberEquityService.getByMemberId(memberId);
}
return bizMemberEquityEntity.getEquityLevel();
}
/** /**
* 检查权益包是否已发放 * 检查权益包是否已发放
* *
......
package cn.com.poc.equity.domain;
/**
* @author alex.yao
* @date 2024/12/9
*/
public class PointEquityInfo {
private Long amount;
private Long points;
public Long getAmount() {
return amount;
}
public void setAmount(Long amount) {
this.amount = amount;
}
public Long getPoints() {
return points;
}
public void setPoints(Long points) {
this.points = points;
}
}
package cn.com.poc.equity.dto;
/**
* 会员权益基础信息
*
* @author alex.yao
* @date 2024/12/9
*/
public class CurrentUserEquityInfoDto {
private String equityLevel;
public String getEquityLevel() {
return equityLevel;
}
public void setEquityLevel(String equityLevel) {
this.equityLevel = equityLevel;
}
}
package cn.com.poc.equity.dto;
import cn.com.poc.equity.domain.PointEquityInfo;
/**
* 积分套餐DTO
*/
public class PointPackagesDto {
private PointEquityInfo normal;
private PointEquityInfo professional;
private PointEquityInfo ultimate;
public PointEquityInfo getNormal() {
return normal;
}
public void setNormal(PointEquityInfo normal) {
this.normal = normal;
}
public PointEquityInfo getProfessional() {
return professional;
}
public void setProfessional(PointEquityInfo professional) {
this.professional = professional;
}
public PointEquityInfo getUltimate() {
return ultimate;
}
public void setUltimate(PointEquityInfo ultimate) {
this.ultimate = ultimate;
}
}
package cn.com.poc.equity.rest; package cn.com.poc.equity.rest;
import cn.com.poc.equity.dto.CurrentUserEquityInfoDto;
import cn.com.poc.equity.dto.EquityPackagesDto; import cn.com.poc.equity.dto.EquityPackagesDto;
import cn.com.poc.equity.dto.PointPackagesDto;
import cn.com.yict.framemax.core.rest.BaseRest; import cn.com.yict.framemax.core.rest.BaseRest;
import cn.com.yict.framemax.web.permission.Access; import cn.com.yict.framemax.web.permission.Access;
import cn.com.yict.framemax.web.permission.Permission; import cn.com.yict.framemax.web.permission.Permission;
...@@ -11,6 +13,7 @@ public interface EquityRest extends BaseRest { ...@@ -11,6 +13,7 @@ public interface EquityRest extends BaseRest {
/** /**
* 获取会员权益充值包列表,专业版 / 旗舰版 * 获取会员权益充值包列表,专业版 / 旗舰版
*
* @return * @return
*/ */
EquityPackagesDto getPackageList(); EquityPackagesDto getPackageList();
...@@ -18,5 +21,13 @@ public interface EquityRest extends BaseRest { ...@@ -18,5 +21,13 @@ public interface EquityRest extends BaseRest {
/** /**
* 获取积分充值包列表 * 获取积分充值包列表
*/ */
Object getPointPackageList(); PointPackagesDto getPointPackageList();
/**
* 获取当前会员权益等级
*
* @return
*/
@Permission(Access.Safety)
CurrentUserEquityInfoDto getCurrentEquityLevel() throws Exception;
} }
package cn.com.poc.equity.rest.impl; package cn.com.poc.equity.rest.impl;
import cn.com.poc.common.utils.BlContext;
import cn.com.poc.equity.aggregate.EquityService; import cn.com.poc.equity.aggregate.EquityService;
import cn.com.poc.equity.aggregate.MemberEquityService;
import cn.com.poc.equity.constants.EquityEnum; import cn.com.poc.equity.constants.EquityEnum;
import cn.com.poc.equity.domain.AgentEquity; import cn.com.poc.equity.domain.AgentEquity;
import cn.com.poc.equity.domain.PointEquityInfo;
import cn.com.poc.equity.dto.CurrentUserEquityInfoDto;
import cn.com.poc.equity.dto.EquityPackagesDto; import cn.com.poc.equity.dto.EquityPackagesDto;
import cn.com.poc.equity.dto.PointPackagesDto;
import cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity;
import cn.com.poc.equity.rest.EquityRest; import cn.com.poc.equity.rest.EquityRest;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -17,6 +24,9 @@ public class EquityRestImpl implements EquityRest { ...@@ -17,6 +24,9 @@ public class EquityRestImpl implements EquityRest {
@Resource @Resource
private EquityService equityService; private EquityService equityService;
@Resource
private MemberEquityService memberEquityService;
@Override @Override
public EquityPackagesDto getPackageList() { public EquityPackagesDto getPackageList() {
List<AgentEquity> professinalList = equityService.getEquityList(EquityEnum.TYPE.professional); List<AgentEquity> professinalList = equityService.getEquityList(EquityEnum.TYPE.professional);
...@@ -29,7 +39,33 @@ public class EquityRestImpl implements EquityRest { ...@@ -29,7 +39,33 @@ public class EquityRestImpl implements EquityRest {
@Override @Override
public Object getPointPackageList() { public PointPackagesDto getPointPackageList() {
return equityService.getPointList(); PointPackagesDto result = new PointPackagesDto();
List<BizPaymentPackageConfigurationEntity> pointList = equityService.getPointList();
for (BizPaymentPackageConfigurationEntity bizPaymentPackageConfigurationEntity : pointList) {
PointEquityInfo pointEquityInfo = new PointEquityInfo();
String type = bizPaymentPackageConfigurationEntity.getType();
Integer amount = bizPaymentPackageConfigurationEntity.getAmount();
Integer points = bizPaymentPackageConfigurationEntity.getResourceCount();
pointEquityInfo.setPoints(points.longValue());
pointEquityInfo.setAmount(amount.longValue());
if (type.equals(EquityEnum.TYPE.normal.name())) {
result.setNormal(pointEquityInfo);
} else if (type.equals(EquityEnum.TYPE.professional.name())) {
result.setProfessional(pointEquityInfo);
} else if (type.equals(EquityEnum.TYPE.ultimate.name())) {
result.setUltimate(pointEquityInfo);
}
}
return result;
}
@Override
public CurrentUserEquityInfoDto getCurrentEquityLevel() throws Exception {
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
String memberEquityLevel = memberEquityService.getMemberEquityLevel(userBaseEntity.getUserId());
CurrentUserEquityInfoDto currentUserEquityInfoDto = new CurrentUserEquityInfoDto();
currentUserEquityInfoDto.setEquityLevel(memberEquityLevel);
return currentUserEquityInfoDto;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment