Commit cf80dded by huluobin

long 序列化

parent 15d2d17e
......@@ -35,6 +35,7 @@ public interface MarketService {
void setterOrderMarket(Integer orderId);
/**
* 结算订单
*
* @param orderId
*/
......
......@@ -8,11 +8,13 @@ import com.gogirl.application.market.CouponCustomerRelevanceService;
import com.gogirl.application.market.MarketService;
import com.gogirl.domain.market.coupon.Coupon;
import com.gogirl.domain.market.coupon.CouponCustomerRelevance;
import com.gogirl.domain.market.discount.DiscountConfig;
import com.gogirl.domain.order.serve.OrderManage;
import com.gogirl.domain.order.serve.OrderServe;
import com.gogirl.infrastructure.common.util.ListUtil;
import com.gogirl.infrastructure.mapper.market.coupon.CouponCustomerRelevanceMapper;
import com.gogirl.infrastructure.mapper.market.coupon.CouponMapper;
import com.gogirl.infrastructure.mapper.market.discount.DiscountConfigMapper;
import com.gogirl.infrastructure.mapper.order.serve.OrderManageMapper;
import com.gogirl.infrastructure.mapper.order.serve.OrderServeMapper;
import com.gogirl.shared.market.command.SetUpOuterCouponCommand;
......@@ -23,6 +25,7 @@ import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@Service
......@@ -40,6 +43,9 @@ public class CouponCustomerRelevanceServiceImpl extends ServiceImpl<CouponCustom
@Resource
private MarketService marketService;
@Resource
private DiscountConfigMapper discountConfigMapper;
@Override
public List<CouponCustomerRelevance> getOrderCoupon(Integer currentCustomerId, Integer orderId) {
......@@ -48,14 +54,31 @@ public class CouponCustomerRelevanceServiceImpl extends ServiceImpl<CouponCustom
return couponCustomerRelevanceMapper
.selectList(new LambdaQueryWrapper<CouponCustomerRelevance>()
.eq(CouponCustomerRelevance::getCustomerId, currentCustomerId)
//内部券
.eq(CouponCustomerRelevance::getSourceType, 0)
.ne(CouponCustomerRelevance::getState, 2)
.ne(CouponCustomerRelevance::getState, 3))
.eq(CouponCustomerRelevance::getState, 1))
//
.stream()
//过滤所有可用在服务上的
.filter(couponCustomerRelevance -> {
List<Integer> canUserServeIds = couponCustomerRelevanceMapper.queryCouponCustomerServeRelevance(couponCustomerRelevance.getCouponId());
canUserServeIds.retainAll(orderServeList.stream().map(OrderServe::getServeId).collect(Collectors.toList()));
List<Integer> freeCouponIds = discountConfigMapper.selectList(new LambdaQueryWrapper<>()).stream().map(DiscountConfig::getCouponId).filter(Objects::nonNull).collect(Collectors.toList());
if (freeCouponIds.contains(couponCustomerRelevance.getCouponId())) {
canUserServeIds.retainAll(orderServeList.stream()
.filter(orderServe -> orderServe.getBindCoupon() == 2)
.map(OrderServe::getServeId)
.collect(Collectors.toList()));
} else {
canUserServeIds.retainAll(orderServeList.stream()
.filter(orderServe -> orderServe.getBindCoupon() == 2)
.filter(orderServe -> orderServe.getProduceCurrentPrice() == null)
.filter(orderServe -> orderServe.getProducePromotionTimeId() == null)
.filter(orderServe -> orderServe.getLeisureDiscountConfigId() == null)
.map(OrderServe::getServeId)
.collect(Collectors.toList()));
}
return ListUtil.isNotEmpty(canUserServeIds);
})
//过滤可用
......
......@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
......@@ -24,6 +26,7 @@ public class CustomerMessage {
public static final String PARAM_FRIEND_PAY_CUSTOMER_ID = "customerId";
@TableId(type = IdType.AUTO)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("顾客id")
......
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