Commit 0f37be3d authored by alex yao's avatar alex yao

优化用户剩余可用积分计算方式

parent 7e960157
......@@ -73,7 +73,7 @@ public interface MemberEquityService {
/**
* 获取用户剩余可用积分
*
* @param memberId
* @param memberId 用户id
* @return
*/
Long getMemberPoints(Long memberId);
......@@ -81,7 +81,7 @@ public interface MemberEquityService {
/**
* 获取用户权益信息
*
* @param memberId
* @param memberId 用户id
* @return
*/
MemberEquityInfo getEquityInfo(Long memberId) throws Exception;
......
......@@ -258,18 +258,7 @@ public class MemberEquityServiceImpl implements MemberEquityService {
@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;
return bizMemberPointsService.getMemberPoints(memberId);
}
@Override
......
select
sum(usage_points) as usage_points
from
biz_member_points
where is_deleted = 'N'
and expired_time > now()
<< and member_id = :memberId >>
\ No newline at end of file
package cn.com.poc.equity.query;
import java.io.Serializable;
/**
* Query Condition class for MemberPointsQuery
*/
public class MemberPointsQueryCondition implements Serializable{
private static final long serialVersionUID = 1L;
private java.lang.Long memberId;
public java.lang.Long getMemberId(){
return this.memberId;
}
public void setMemberId(java.lang.Long memberId){
this.memberId = memberId;
}
}
\ No newline at end of file
package cn.com.poc.equity.query;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import cn.com.yict.framemax.data.model.BaseItemClass;
/**
* Query Item class for MemberPointsQuery
*/
@Entity
public class MemberPointsQueryItem extends BaseItemClass implements Serializable{
private static final long serialVersionUID = 1L;
/** usage_points
*usage_points
*/
private java.lang.Long usagePoints;
@Column(name = "usage_points")
public java.lang.Long getUsagePoints(){
return this.usagePoints;
}
public void setUsagePoints(java.lang.Long usagePoints){
this.usagePoints = usagePoints;
}
}
\ No newline at end of file
......@@ -10,12 +10,20 @@ public interface BizMemberPointsService extends BaseService {
BizMemberPointsEntity get(java.lang.Long id) throws Exception;
List<BizMemberPointsEntity> findByExample(BizMemberPointsEntity example,PagingInfo pagingInfo) ;
List<BizMemberPointsEntity> findByExample(BizMemberPointsEntity example, PagingInfo pagingInfo);
BizMemberPointsEntity save(BizMemberPointsEntity entity) throws Exception;
BizMemberPointsEntity update(BizMemberPointsEntity entity) throws Exception;
void deletedById(java.lang.Long id) throws Exception;
/**
* 获取用户剩余可用积分
*
* @param memberId
* @return 可用积分 - 单位为分,需要除以100得出到最终积分数
*/
Long getMemberPoints(Long memberId);
}
\ No newline at end of file
package cn.com.poc.equity.service.impl;
import cn.com.yict.framemax.core.service.impl.BaseServiceImpl;
import cn.com.poc.equity.service.BizMemberPointsService;
import cn.com.poc.equity.model.BizMemberPointsModel;
import cn.com.poc.equity.entity.BizMemberPointsEntity;
import cn.com.poc.equity.convert.BizMemberPointsConvert;
import cn.com.poc.equity.entity.BizMemberPointsEntity;
import cn.com.poc.equity.model.BizMemberPointsModel;
import cn.com.poc.equity.query.MemberPointsQueryCondition;
import cn.com.poc.equity.query.MemberPointsQueryItem;
import cn.com.poc.equity.repository.BizMemberPointsRepository;
import cn.com.poc.equity.service.BizMemberPointsService;
import cn.com.yict.framemax.core.service.impl.BaseServiceImpl;
import cn.com.yict.framemax.data.model.PagingInfo;
import org.springframework.stereotype.Service;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.stream.Collectors;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.util.Assert;
import java.util.stream.Collectors;
@Service
public class BizMemberPointsServiceImpl extends BaseServiceImpl
......@@ -93,4 +93,16 @@ public class BizMemberPointsServiceImpl extends BaseServiceImpl
}
}
@Override
public Long getMemberPoints(Long memberId) {
Long result = 0L;
MemberPointsQueryCondition condition = new MemberPointsQueryCondition();
condition.setMemberId(memberId);
List<MemberPointsQueryItem> items = this.sqlDao.query(condition, MemberPointsQueryItem.class);
if (CollectionUtils.isNotEmpty(items)) {
result = items.get(0).getUsagePoints();
}
return result;
}
}
\ No newline at end of file
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