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

feat: 获取用户权益信息

parent 7a8db3d5
...@@ -3,6 +3,7 @@ package cn.com.poc.equity.aggregate; ...@@ -3,6 +3,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.constants.ModifyEventEnum; import cn.com.poc.equity.constants.ModifyEventEnum;
import cn.com.poc.equity.domain.modifyEquityInfo.ModifyEventInfo; import cn.com.poc.equity.domain.modifyEquityInfo.ModifyEventInfo;
import cn.com.poc.equity.entity.BizMemberEquityEntity;
/** /**
* 用户权益服务 * 用户权益服务
...@@ -72,5 +73,13 @@ public interface MemberEquityService { ...@@ -72,5 +73,13 @@ public interface MemberEquityService {
* *
* @param memberId 用户id * @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 { ...@@ -241,13 +241,29 @@ public class MemberEquityServiceImpl implements MemberEquityService {
} }
@Override @Override
public String getMemberEquityLevel(Long memberId) throws Exception { public BizMemberEquityEntity getMemberEquityInfo(Long memberId) throws Exception {
BizMemberEquityEntity bizMemberEquityEntity = bizMemberEquityService.getByMemberId(memberId); BizMemberEquityEntity bizMemberEquityEntity = bizMemberEquityService.getByMemberId(memberId);
if (bizMemberEquityEntity == null) { if (bizMemberEquityEntity == null) {
this.initMemberEquity(memberId); this.initMemberEquity(memberId);
bizMemberEquityEntity = bizMemberEquityService.getByMemberId(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; package cn.com.poc.equity.dto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/** /**
* 会员权益基础信息 * 会员权益基础信息
* *
* @author alex.yao * @author alex.yao
* @date 2024/12/9 * @date 2024/12/9
*/ */
public class CurrentUserEquityInfoDto { public class CurrentUserEquityInfoDto implements Serializable {
private String equityLevel; private String equityLevel;
private BigDecimal points;
private Date expireTime;
public String getEquityLevel() { public String getEquityLevel() {
return equityLevel; return equityLevel;
} }
...@@ -17,4 +25,20 @@ public class CurrentUserEquityInfoDto { ...@@ -17,4 +25,20 @@ public class CurrentUserEquityInfoDto {
public void setEquityLevel(String equityLevel) { public void setEquityLevel(String equityLevel) {
this.equityLevel = 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 { ...@@ -29,5 +29,5 @@ public interface EquityRest extends BaseRest {
* @return * @return
*/ */
@Permission(Access.Safety) @Permission(Access.Safety)
CurrentUserEquityInfoDto getCurrentEquityLevel() throws Exception; CurrentUserEquityInfoDto getCurrentEquity() throws Exception;
} }
...@@ -9,12 +9,14 @@ import cn.com.poc.equity.domain.PointEquityInfo; ...@@ -9,12 +9,14 @@ import cn.com.poc.equity.domain.PointEquityInfo;
import cn.com.poc.equity.dto.CurrentUserEquityInfoDto; 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.dto.PointPackagesDto;
import cn.com.poc.equity.entity.BizMemberEquityEntity;
import cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity; 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 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;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
@Component @Component
...@@ -61,11 +63,17 @@ public class EquityRestImpl implements EquityRest { ...@@ -61,11 +63,17 @@ public class EquityRestImpl implements EquityRest {
} }
@Override @Override
public CurrentUserEquityInfoDto getCurrentEquityLevel() throws Exception { public CurrentUserEquityInfoDto getCurrentEquity() throws Exception {
UserBaseEntity userBaseEntity = BlContext.getCurrentUserNotException(); 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 currentUserEquityInfoDto = new CurrentUserEquityInfoDto();
currentUserEquityInfoDto.setEquityLevel(memberEquityLevel); currentUserEquityInfoDto.setPoints(points);
currentUserEquityInfoDto.setExpireTime(memberEquityEntity.getExpiredDate());
currentUserEquityInfoDto.setEquityLevel(memberEquityEntity.getEquityLevel());
return currentUserEquityInfoDto; return currentUserEquityInfoDto;
} }
} }
...@@ -10,7 +10,7 @@ public interface BizMemberPointsService extends BaseService { ...@@ -10,7 +10,7 @@ public interface BizMemberPointsService extends BaseService {
BizMemberPointsEntity get(java.lang.Long id) throws Exception; 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; BizMemberPointsEntity save(BizMemberPointsEntity entity) throws Exception;
......
...@@ -38,7 +38,7 @@ public class BizMemberPointsServiceImpl extends BaseServiceImpl ...@@ -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>(); List<BizMemberPointsEntity> result = new ArrayList<BizMemberPointsEntity>();
BizMemberPointsModel model = new BizMemberPointsModel(); BizMemberPointsModel model = new BizMemberPointsModel();
if (example != null) { 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