个人中心会员相关
This commit is contained in:
@@ -15,8 +15,10 @@ import com.czg.account.service.*;
|
||||
import com.czg.market.entity.*;
|
||||
import com.czg.market.service.*;
|
||||
import com.czg.market.vo.MemberConfigVO;
|
||||
import com.czg.market.vo.MemberDetailVO;
|
||||
import com.czg.market.vo.MemberLevelVO;
|
||||
import com.czg.exception.ApiNotPrintException;
|
||||
import com.czg.market.vo.MemberListVO;
|
||||
import com.czg.order.entity.OrderInfo;
|
||||
import com.czg.order.entity.OrderPayment;
|
||||
import com.czg.order.service.OrderInfoService;
|
||||
@@ -36,9 +38,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 会员基础配置 服务层实现。
|
||||
@@ -69,6 +70,8 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
private MemberExpFlowService memberExpFlowService;
|
||||
@Resource
|
||||
private MkShopCouponRecordService shopCouponRecordService;
|
||||
@DubboReference
|
||||
private ShopInfoService shopInfoService;
|
||||
|
||||
@Override
|
||||
public MemberConfigVO detail(Long shopId) {
|
||||
@@ -414,4 +417,40 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
shopUser.setIsVip(1);
|
||||
return shopUserService.updateById(shopUser);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MemberListVO> getMemberList(Long userId) {
|
||||
List<ShopUser> shopUsers = shopUserService.list(new QueryWrapper().eq(ShopUser::getUserId, userId));
|
||||
Set<Long> shopIdList = shopUsers.stream().map(ShopUser::getSourceShopId).collect(Collectors.toSet());
|
||||
Map<Long, ShopInfo> shopInfoMap = shopInfoService.list(new QueryWrapper().in(ShopInfo::getId, shopIdList)).stream().collect(Collectors.toMap(ShopInfo::getId, item -> item));
|
||||
ArrayList<MemberListVO> memberListVOS = new ArrayList<>();
|
||||
shopUsers.forEach(shopUser -> {
|
||||
if (shopUser.getStartTime() != null && shopUser.getEndTime() != null && DateUtil.isIn(DateUtil.date(), DateUtil.date(shopUser.getStartTime()), DateUtil.date(shopUser.getEndTime()))) {
|
||||
ShopInfo shopInfo = shopInfoMap.getOrDefault(shopUser.getSourceShopId(), new ShopInfo());
|
||||
memberListVOS.add(new MemberListVO().setShopName(shopInfo.getShopName())
|
||||
.setShopId(shopInfo.getId())
|
||||
.setLogo(shopInfo.getLogo()));
|
||||
}else {
|
||||
shopUser.setIsVip(0);
|
||||
shopUserService.updateById(shopUser);
|
||||
}
|
||||
});
|
||||
|
||||
return memberListVOS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MemberDetailVO getUserDetail(Long userId, Long shopId) {
|
||||
ShopUser shopUser = shopUserService.getOne(new QueryWrapper().eq(ShopUser::getUserId, userId).eq(ShopUser::getSourceShopId, shopId));
|
||||
ShopInfo shopInfo = shopInfoService.getById(shopUser.getSourceShopId());
|
||||
MemberLevelVO levelVO = levelConfigService.detail(shopUser.getMemberLevelId());
|
||||
MemberLevelConfig nextLevel = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId).ge(MemberLevelConfig::getExperienceValue, shopUser.getExperience())
|
||||
.ne(MemberLevelConfig::getId, shopUser.getId()).orderBy(MemberLevelConfig::getExperienceValue, true));
|
||||
return new MemberDetailVO()
|
||||
.setShopInfo(shopInfo)
|
||||
.setMemberLevel(levelVO)
|
||||
.setExperience(shopUser.getExperience())
|
||||
.setEndTime(shopUser.getEndTime())
|
||||
.setNextExperienceValue(nextLevel.getExperienceValue() - shopUser.getExperience());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user