个人中心会员相关
This commit is contained in:
@@ -14,16 +14,11 @@ import com.czg.account.entity.*;
|
||||
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.market.vo.*;
|
||||
import com.czg.order.entity.OrderInfo;
|
||||
import com.czg.order.entity.OrderPayment;
|
||||
import com.czg.order.service.OrderInfoService;
|
||||
import com.czg.order.service.OrderPaymentService;
|
||||
import com.czg.sa.StpKit;
|
||||
import com.czg.service.market.enums.OrderStatusEnums;
|
||||
import com.czg.service.market.mapper.TbMemberConfigMapper;
|
||||
import com.czg.utils.AssertUtil;
|
||||
@@ -99,6 +94,48 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
return memberConfigVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UMemberConfigVO detail(Long shopId, Long userId) {
|
||||
MemberConfigVO memberConfigVO = detail(shopId);
|
||||
ShopUser shopUserInfo = shopUserService.getShopUserInfo(shopId, userId);
|
||||
HashMap<String, Object> conditionMap = new HashMap<>();
|
||||
UMemberConfigVO configVO = new UMemberConfigVO();
|
||||
configVO.setMemberConfig(memberConfigVO);
|
||||
configVO.setConditionMap(conditionMap);
|
||||
if (memberConfigVO.getConditionList() != null) {
|
||||
for (MemberConfigDTO.condition item : memberConfigVO.getConditionList()) {
|
||||
switch (item.getCode()) {
|
||||
case "BIND_PHONE":
|
||||
conditionMap.put("BIND_PHONE", StrUtil.isNotBlank(shopUserInfo.getPhone()));
|
||||
break;
|
||||
case "ORDER":
|
||||
conditionMap.put("ORDER", orderInfoService.count(new QueryWrapper().eq(OrderInfo::getShopId, shopUserInfo.getSourceShopId()).eq(OrderInfo::getUserId, shopUserInfo.getUserId())
|
||||
.notIn(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode(), OrderStatusEnums.CANCELLED.getCode())) >= Integer.parseInt(item.getValue()));
|
||||
|
||||
break;
|
||||
case "COST_AMOUNT":
|
||||
conditionMap.put("BIND_PHONE", orderInfoService.list(new QueryWrapper().eq(OrderInfo::getShopId, shopUserInfo.getSourceShopId()).eq(OrderInfo::getUserId, shopUserInfo.getUserId())
|
||||
.notIn(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode(), OrderStatusEnums.CANCELLED.getCode()))
|
||||
.stream().map(OrderInfo::getPayAmount).reduce(BigDecimal.ZERO, BigDecimal::add).compareTo(new BigDecimal(item.getValue())) >= 0);
|
||||
|
||||
break;
|
||||
case "RECHARGE_AMOUNT":
|
||||
conditionMap.put("BIND_PHONE", paymentService.list(new QueryWrapper().eq(OrderPayment::getShopId, shopUserInfo.getSourceShopId())
|
||||
.eq(OrderPayment::getSourceId, shopUserInfo.getId()).isNotNull(OrderPayment::getTradeNumber))
|
||||
.stream().map(OrderPayment::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add).compareTo(new BigDecimal(item.getValue())) >= 0);
|
||||
|
||||
break;
|
||||
default:
|
||||
throw new CzgException("会员开通条件类型错误");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return configVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean edit(Long shopId, MemberConfigDTO memberDTO) {
|
||||
TbMemberConfig memberConfig = getOne(new QueryWrapper().eq(TbMemberConfig::getShopId, shopId));
|
||||
|
||||
Reference in New Issue
Block a user