Commit 59584eca authored by alex yao's avatar alex yao

feat: 获取用户权益信息

parent 7a8db3d5
......@@ -3,6 +3,7 @@ package cn.com.poc.equity.aggregate;
import cn.com.poc.equity.constants.EquityEnum;
import cn.com.poc.equity.constants.ModifyEventEnum;
import cn.com.poc.equity.domain.modifyEquityInfo.ModifyEventInfo;
import cn.com.poc.equity.entity.BizMemberEquityEntity;
/**
* 用户权益服务
......@@ -72,5 +73,13 @@ public interface MemberEquityService {
*
* @param memberId 用户id
*/
String getMemberEquityLevel(Long memberId) throws Exception;
BizMemberEquityEntity getMemberEquityInfo(Long memberId) throws Exception;
/**
* 获取用户剩余可用积分
*
* @param memberId
* @return
*/
Long getMemberPoints(Long memberId);
}
......@@ -241,13 +241,29 @@ public class MemberEquityServiceImpl implements MemberEquityService {
}
@Override
public String getMemberEquityLevel(Long memberId) throws Exception {
public BizMemberEquityEntity getMemberEquityInfo(Long memberId) throws Exception {
BizMemberEquityEntity bizMemberEquityEntity = bizMemberEquityService.getByMemberId(memberId);
if (bizMemberEquityEntity == null) {
this.initMemberEquity(memberId);
bizMemberEquityEntity = bizMemberEquityService.getByMemberId(memberId);
}
return bizMemberEquityEntity.getEquityLevel();
return bizMemberEquityEntity;
}
@Override
public Long getMemberPoints(Long memberId) {
BizMemberPointsEntity bizMemberPointsEntity = new BizMemberPointsEntity();
bizMemberPointsEntity.setMemberId(memberId);
bizMemberPointsEntity.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizMemberPointsEntity> pointsEntities = bizMemberPointsService.findByExample(bizMemberPointsEntity, null);
Long points = 0L;
if (CollectionUtils.isEmpty(pointsEntities)) {
return points;
}
for (BizMemberPointsEntity pointsEntity : pointsEntities) {
points += pointsEntity.getUsagePoints();
}
return points;
}
/**
......
package cn.com.poc.equity.dto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 会员权益基础信息
*
* @author alex.yao
* @date 2024/12/9
*/
public class CurrentUserEquityInfoDto {
public class CurrentUserEquityInfoDto implements Serializable {
private String equityLevel;
private BigDecimal points;
private Date expireTime;
public String getEquityLevel() {
return equityLevel;
}
......@@ -17,4 +25,20 @@ public class CurrentUserEquityInfoDto {
public void setEquityLevel(String equityLevel) {
this.equityLevel = equityLevel;
}
public BigDecimal getPoints() {
return points;
}
public void setPoints(BigDecimal points) {
this.points = points;
}
public Date getExpireTime() {
return expireTime;
}
public void setExpireTime(Date expireTime) {
this.expireTime = expireTime;
}
}
......@@ -29,5 +29,5 @@ public interface EquityRest extends BaseRest {
* @return
*/
@Permission(Access.Safety)
CurrentUserEquityInfoDto getCurrentEquityLevel() throws Exception;
CurrentUserEquityInfoDto getCurrentEquity() throws Exception;
}
......@@ -9,12 +9,14 @@ 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.BizMemberEquityEntity;
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;
import java.math.BigDecimal;
import java.util.List;
@Component
......@@ -61,11 +63,17 @@ public class EquityRestImpl implements EquityRest {
}
@Override
public CurrentUserEquityInfoDto getCurrentEquityLevel() throws Exception {
public CurrentUserEquityInfoDto getCurrentEquity() throws Exception {
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException();
String memberEquityLevel = memberEquityService.getMemberEquityLevel(userBaseEntity.getUserId());
BizMemberEquityEntity memberEquityEntity = memberEquityService.getMemberEquityInfo(userBaseEntity.getUserId());
Long memberPoints = memberEquityService.getMemberPoints(userBaseEntity.getUserId());
BigDecimal bigDecimal = new BigDecimal(memberPoints);
BigDecimal points = bigDecimal.divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP);
CurrentUserEquityInfoDto currentUserEquityInfoDto = new CurrentUserEquityInfoDto();
currentUserEquityInfoDto.setEquityLevel(memberEquityLevel);
currentUserEquityInfoDto.setPoints(points);
currentUserEquityInfoDto.setExpireTime(memberEquityEntity.getExpiredDate());
currentUserEquityInfoDto.setEquityLevel(memberEquityEntity.getEquityLevel());
return currentUserEquityInfoDto;
}
}
......@@ -10,7 +10,7 @@ public interface BizMemberPointsService extends BaseService {
BizMemberPointsEntity get(java.lang.Long id) throws Exception;
List<BizMemberPointsEntity> findByExample(BizMemberPointsEntity example,PagingInfo pagingInfo) throws Exception;
List<BizMemberPointsEntity> findByExample(BizMemberPointsEntity example,PagingInfo pagingInfo) ;
BizMemberPointsEntity save(BizMemberPointsEntity entity) throws Exception;
......
......@@ -38,7 +38,7 @@ public class BizMemberPointsServiceImpl extends BaseServiceImpl
}
public List<BizMemberPointsEntity> findByExample(BizMemberPointsEntity example, PagingInfo pagingInfo) throws Exception {
public List<BizMemberPointsEntity> findByExample(BizMemberPointsEntity example, PagingInfo pagingInfo) {
List<BizMemberPointsEntity> result = new ArrayList<BizMemberPointsEntity>();
BizMemberPointsModel model = new BizMemberPointsModel();
if (example != null) {
......
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