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

feat: 积分充值包

parent 7e7fb1c8
......@@ -2,6 +2,7 @@ package cn.com.poc.equity.aggregate;
import cn.com.poc.equity.constants.EquityEnum;
import cn.com.poc.equity.domain.AgentEquity;
import cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity;
import java.util.List;
......@@ -18,7 +19,7 @@ public interface EquityService {
/**
* 获取积分包信息
*/
Object getPointList();
List<BizPaymentPackageConfigurationEntity> getPointList();
/**
* 创建权益支付订单
......
......@@ -66,4 +66,11 @@ public interface MemberEquityService {
* @return 返回权益等级变更流水号
*/
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 {
}
@Override
public Object getPointList() {
public List<BizPaymentPackageConfigurationEntity> getPointList() {
BizPaymentPackageConfigurationEntity bizPaymentPackageConfigurationEntity = new BizPaymentPackageConfigurationEntity();
bizPaymentPackageConfigurationEntity.setType(EquityEnum.TYPE.normal.name());
bizPaymentPackageConfigurationEntity.setDomain(EquityEnum.DOMAIN.point.name());
bizPaymentPackageConfigurationEntity.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizPaymentPackageConfigurationEntity> entities = bizPaymentPackageConfigurationService.findByExample(bizPaymentPackageConfigurationEntity, null);
......
......@@ -235,6 +235,16 @@ public class MemberEquityServiceImpl implements MemberEquityService {
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;
import cn.com.poc.equity.dto.CurrentUserEquityInfoDto;
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.web.permission.Access;
import cn.com.yict.framemax.web.permission.Permission;
......@@ -11,6 +13,7 @@ public interface EquityRest extends BaseRest {
/**
* 获取会员权益充值包列表,专业版 / 旗舰版
*
* @return
*/
EquityPackagesDto getPackageList();
......@@ -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;
import cn.com.poc.common.utils.BlContext;
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.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.PointPackagesDto;
import cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity;
import cn.com.poc.equity.rest.EquityRest;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
......@@ -17,6 +24,9 @@ public class EquityRestImpl implements EquityRest {
@Resource
private EquityService equityService;
@Resource
private MemberEquityService memberEquityService;
@Override
public EquityPackagesDto getPackageList() {
List<AgentEquity> professinalList = equityService.getEquityList(EquityEnum.TYPE.professional);
......@@ -29,7 +39,33 @@ public class EquityRestImpl implements EquityRest {
@Override
public Object getPointPackageList() {
return equityService.getPointList();
public PointPackagesDto getPointPackageList() {
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