| | |
| | | import com.doumee.dao.web.dto.CouponDTO; |
| | | import com.doumee.dao.web.dto.MemberCouponDTO; |
| | | import com.doumee.dao.web.request.PayDetailRequest; |
| | | import com.doumee.dao.web.response.MemberCouponResponse; |
| | | import com.doumee.dao.web.response.goods.OrderGoodsCalculateResponse; |
| | | import com.doumee.service.business.MemberCouponService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private MemberCouponJoinMapper memberCouponJoinMapper; |
| | | |
| | | @Autowired |
| | | private LabelsMapper labelsMapper; |
| | | |
| | | |
| | | @Autowired |
| | | private CouponMapper couponMapper; |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<CouponDTO> memberCouponPage(IPage pages, BigDecimal price, Integer memberId,Integer couponType) { |
| | | IPage<CouponDTO> page = memberCouponMapper.memberCouponPage(pages,new QueryWrapper<CouponDTO>() |
| | | public IPage<MemberCouponResponse> memberCouponPage(IPage pages, BigDecimal price, Integer memberId,Integer couponType,Integer status) { |
| | | IPage<MemberCouponResponse> page = memberCouponMapper.memberCouponPage(pages,new QueryWrapper<MemberCouponResponse>() |
| | | .eq("m.MEMBER_ID",memberId) |
| | | .eq("m.TYPE",Constants.ONE) |
| | | .eq("m.STATUS",Constants.ZERO) |
| | | .apply(Objects.nonNull(status)&&Constants.equalsInteger(status,Constants.ZERO),"m.STATUS = 0 and m.END_DATE >= now()" ) |
| | | .apply(Objects.nonNull(status)&&Constants.equalsInteger(status,Constants.ONE),"m.STATUS = 1" ) |
| | | .apply(Objects.nonNull(status)&&Constants.equalsInteger(status,Constants.TWO),"m.STATUS = 0 and m.END_DATE < now() " ) |
| | | .eq("TYPE",couponType) |
| | | .apply(!Objects.isNull(price)," m.LIMIT_PRICE >= "+price+" ") |
| | | .apply(" now() between m.START_DATE and m.END_DATE ") |
| | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public MemberCouponResponse getMemberCouponDetail(Integer id){ |
| | | MemberCoupon memberCoupon = memberCouponJoinMapper.selectById(id); |
| | | if(Objects.isNull(memberCoupon)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | MemberCouponResponse memberCouponResponse = new MemberCouponResponse(); |
| | | BeanUtils.copyProperties(memberCoupon,memberCouponResponse); |
| | | if(StringUtils.isNotBlank(memberCouponResponse.getApplyIds())){ |
| | | if(Constants.equalsInteger(memberCouponResponse.getApplyType(),Constants.ONE)){ |
| | | List<Labels> labelsList = labelsMapper.selectList(new QueryWrapper<Labels>().lambda() |
| | | .eq(Labels::getIsdeleted,Constants.ZERO) |
| | | .eq(Labels::getType,Constants.LabelsType.GOODSTYPE.getKey()) |
| | | .apply(" find_in_set( id , '"+memberCouponResponse.getApplyIds()+"' ) ") |
| | | ); |
| | | if(CollectionUtils.isNotEmpty(labelsList)){ |
| | | memberCouponResponse.setRelationInfoList(labelsList.stream().map(i->i.getName()).collect(Collectors.toList())); |
| | | } |
| | | }else if(Constants.equalsInteger(memberCouponResponse.getApplyType(),Constants.TWO)){ |
| | | List<Goods> labelsList = goodsMapper.selectList(new QueryWrapper<Goods>().lambda() |
| | | .eq(Goods::getIsdeleted,Constants.ZERO) |
| | | .apply(" find_in_set( id , '"+memberCouponResponse.getApplyIds()+"' ) ") |
| | | ); |
| | | if(CollectionUtils.isNotEmpty(labelsList)){ |
| | | memberCouponResponse.setRelationInfoList(labelsList.stream().map(i->i.getName()).collect(Collectors.toList())); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return memberCouponResponse; |
| | | } |
| | | |
| | | |
| | | |