| | |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.enumerates.StateUpDownEnum; |
| | | import cc.mrbird.febs.common.exception.FebsException; |
| | | import cc.mrbird.febs.common.utils.MallUtils; |
| | | import cc.mrbird.febs.mall.dto.AdminHappyActivityCategoryDto; |
| | | import cc.mrbird.febs.mall.dto.activity.*; |
| | |
| | | import cc.mrbird.febs.mall.service.IAdminHappyActivityService; |
| | | import cc.mrbird.febs.mall.vo.AdminMallGoodsCommentVo; |
| | | import cc.mrbird.febs.mall.vo.activity.AdminActivityCommentVo; |
| | | import cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderCheckVo; |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Slf4j |
| | |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse checkOrder(AdminHappyActivityCheckOrderDto dto) { |
| | | public FebsResponse checkOrder(List<Long> ids) { |
| | | |
| | | List<Long> ids = dto.getIds(); |
| | | if (CollUtil.isEmpty(ids)){ |
| | | return new FebsResponse().fail().message("请选择需要核销的订单"); |
| | | } |
| | |
| | | if(CollUtil.isNotEmpty(happyActivityOrderItems)){ |
| | | happyActivityOrderItems.forEach(happyActivityOrderItem -> { |
| | | happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode()); |
| | | happyActivityOrderItem.setUpdatedTime(DateUtil.date()); |
| | | happyActivityOrderItemMapper.updateById(happyActivityOrderItem); |
| | | }); |
| | | } |
| | |
| | | public FebsResponse activityOrderDel(Long id) { |
| | | |
| | | HappyActivityOrder happyActivityOrder = happyActivityOrderMapper.selectById(id); |
| | | |
| | | if(StateUpDownEnum.ORDER_STATE_OVERTIME.getCode() != happyActivityOrder.getState()){ |
| | | throw new FebsException("该订单状态不是已失效状态!"); |
| | | } |
| | | if(ObjectUtil.isNotEmpty(happyActivityOrder)){ |
| | | happyActivityOrder.setDeleteFlag(StateUpDownEnum.UP.getCode()); |
| | | happyActivityOrderMapper.updateById(happyActivityOrder); |
| | |
| | | happyActivityCommentMapper.updateById(happyActivityComment); |
| | | return new FebsResponse().success().message("操作成功"); |
| | | } |
| | | |
| | | @Override |
| | | public List<HappyActivityOrder> getOrderListForExport(Map<String, String> params) { |
| | | LambdaQueryWrapper<HappyActivityOrder> queryWrapper = new LambdaQueryWrapper<>(); |
| | | if(ObjectUtil.isNotEmpty(params.get("activityId"))){ |
| | | queryWrapper.eq(HappyActivityOrder::getActivityId, Long.valueOf(params.get("activityId"))); |
| | | } |
| | | List<Integer> stateList = Arrays.asList(StateUpDownEnum.ORDER_STATE_WAIT_USE.getCode(), StateUpDownEnum.ORDER_STATE_USED.getCode()); |
| | | queryWrapper.in(HappyActivityOrder::getState, stateList); |
| | | queryWrapper.eq(HappyActivityOrder::getDeleteFlag, StateUpDownEnum.DOWN.getCode()); |
| | | queryWrapper.orderByDesc(HappyActivityOrder::getState); |
| | | queryWrapper.orderByDesc(HappyActivityOrder::getId); |
| | | List<HappyActivityOrder> happyActivityOrders = happyActivityOrderMapper.selectList(queryWrapper); |
| | | |
| | | if(CollUtil.isNotEmpty(happyActivityOrders)){ |
| | | Set<Long> collect = happyActivityOrders.stream().map(HappyActivityOrder::getMemberId).collect(Collectors.toSet()); |
| | | List<MallMember> mallMembers = mallMemberMapper.selectList( |
| | | new LambdaQueryWrapper<MallMember>() |
| | | .select(MallMember::getId,MallMember::getName) |
| | | .in(MallMember::getId, collect) |
| | | ); |
| | | Map<Long, MallMember> mallMemberMap = mallMembers.stream().collect(Collectors.toMap(MallMember::getId, mallMember -> mallMember)); |
| | | |
| | | happyActivityOrders.forEach(happyActivityOrder -> { |
| | | MallMember mallMember = mallMemberMap.get(happyActivityOrder.getMemberId()); |
| | | if (ObjectUtil.isNotEmpty(mallMember)){ |
| | | happyActivityOrder.setName(mallMember.getName()); |
| | | }else{ |
| | | happyActivityOrder.setName(""); |
| | | } |
| | | }); |
| | | } |
| | | return happyActivityOrders; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<AdminHappyActivityOrderCheckVo> activityOrderCheckList(AdminHappyActivityOrderCheckDto dto, QueryRequest request) { |
| | | |
| | | Page<AdminHappyActivityOrderCheckVo> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | IPage<AdminHappyActivityOrderCheckVo> adminHappyActivityOrderCheckVoIPage = this.baseMapper.activityOrderCheckList(page, dto); |
| | | return adminHappyActivityOrderCheckVoIPage; |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse checkOrderItem(List<Long> ids) { |
| | | if (CollUtil.isEmpty(ids)){ |
| | | return new FebsResponse().fail().message("请选择需要核销的订单"); |
| | | } |
| | | |
| | | List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList( |
| | | new LambdaQueryWrapper<HappyActivityOrderItem>() |
| | | .in(HappyActivityOrderItem::getId, ids) |
| | | .eq(HappyActivityOrderItem::getState, StateUpDownEnum.DOWN.getCode()) |
| | | ); |
| | | if(CollUtil.isNotEmpty(happyActivityOrderItems)){ |
| | | happyActivityOrderItems.forEach(happyActivityOrderItem -> { |
| | | happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode()); |
| | | happyActivityOrderItem.setUpdatedTime(DateUtil.date()); |
| | | happyActivityOrderItemMapper.updateById(happyActivityOrderItem); |
| | | }); |
| | | } |
| | | return new FebsResponse().success().message("操作成功"); |
| | | } |
| | | |
| | | @Override |
| | | public List<AdminHappyActivityOrderCheckVo> getOrderCheckListForExport(Map<String, String> params) { |
| | | return this.baseMapper.getOrderCheckListForExport(Long.valueOf(params.get("activityId"))); |
| | | } |
| | | } |