优化
This commit is contained in:
		| @ -80,8 +80,8 @@ public class ActivityPayTableController { | ||||
|     @GetMapping("/groupPage") | ||||
|     @Operation(summary = "获得活动付款分页") | ||||
|     public CommonResult<PageResult<ActivityPayTableRespVO>>  getActivityPayTableGroupPage(@Valid ActivityPayTablePageReqVO pageReqVO) { | ||||
|         PageResult<ActivityPayTableDO> pageResult = activityPayTableService. getActivityPayTableGroupPage(pageReqVO); | ||||
|         return success(BeanUtils.toBean(pageResult, ActivityPayTableRespVO.class)); | ||||
|         PageResult<ActivityPayTableRespVO> pageResult = activityPayTableService. getActivityPayTableGroupPage(pageReqVO); | ||||
|         return success(pageResult); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/export-excel") | ||||
|  | ||||
| @ -1,11 +1,13 @@ | ||||
| package cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo; | ||||
|  | ||||
| import lombok.*; | ||||
| import java.util.*; | ||||
| import io.swagger.v3.oas.annotations.media.Schema; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||||
| import java.math.BigDecimal; | ||||
| import io.swagger.v3.oas.annotations.media.Schema; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.ToString; | ||||
| import org.springframework.format.annotation.DateTimeFormat; | ||||
|  | ||||
| import java.math.BigDecimal; | ||||
| import java.time.LocalDateTime; | ||||
|  | ||||
| import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||||
| @ -32,4 +34,6 @@ public class ActivityPayTablePageReqVO extends PageParam { | ||||
|     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||||
|     private LocalDateTime[] createTime; | ||||
|  | ||||
|  | ||||
|     private Long merchantId; | ||||
| } | ||||
| @ -38,4 +38,6 @@ public class ActivityPayTableRespVO { | ||||
|     private LocalDateTime createTime; | ||||
|  | ||||
|     private  BigDecimal allPrice; | ||||
|  | ||||
|     private String name; | ||||
| } | ||||
| @ -9,8 +9,12 @@ import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||||
| import cn.iocoder.yudao.module.member.controller.admin.activitytable.vo.ActivityTablePageReqVO; | ||||
| import cn.iocoder.yudao.module.member.controller.admin.activitytable.vo.ActivityTableRespVO; | ||||
| import cn.iocoder.yudao.module.member.controller.admin.activitytable.vo.ActivityTableSaveReqVO; | ||||
| import cn.iocoder.yudao.module.member.dal.dataobject.activitymerchant.ActivityMerchantDO; | ||||
| import cn.iocoder.yudao.module.member.dal.dataobject.activitytable.ActivityTableDO; | ||||
| import cn.iocoder.yudao.module.member.dal.dataobject.activitytabledish.ActivityTableDishDO; | ||||
| import cn.iocoder.yudao.module.member.service.activitymerchant.ActivityMerchantService; | ||||
| import cn.iocoder.yudao.module.member.service.activitytable.ActivityTableService; | ||||
| import cn.iocoder.yudao.module.member.service.activitytabledish.ActivityTableDishService; | ||||
| import io.swagger.v3.oas.annotations.Operation; | ||||
| import io.swagger.v3.oas.annotations.Parameter; | ||||
| import io.swagger.v3.oas.annotations.tags.Tag; | ||||
| @ -23,6 +27,7 @@ import javax.servlet.http.HttpServletResponse; | ||||
| import javax.validation.Valid; | ||||
| import java.io.IOException; | ||||
| import java.util.List; | ||||
| import java.util.stream.Collectors; | ||||
|  | ||||
| import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||||
| import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | ||||
| @ -35,6 +40,10 @@ public class ActivityTableController { | ||||
|  | ||||
|     @Resource | ||||
|     private ActivityTableService activityTableService; | ||||
|     @Resource | ||||
|     private ActivityTableDishService activityTableDishService; | ||||
|     @Resource | ||||
|     private ActivityMerchantService activityMerchantService; | ||||
|  | ||||
|     @PostMapping("/create") | ||||
|     @Operation(summary = "创建活动用餐桌子") | ||||
| @ -73,8 +82,26 @@ public class ActivityTableController { | ||||
|     @Operation(summary = "获得活动用餐桌子分页") | ||||
|     @PreAuthorize("@ss.hasPermission('member:activity-table:query')") | ||||
|     public CommonResult<PageResult<ActivityTableRespVO>> getActivityTablePage(@Valid ActivityTablePageReqVO pageReqVO) { | ||||
|         if(pageReqVO.getMerchantId() != null){ | ||||
|             List<ActivityTableDishDO> listByActivityIdAndMerchantId = activityTableDishService.getListByActivityIdAndMerchantId(pageReqVO.getActivityId(), pageReqVO.getMerchantId()); | ||||
|             if (listByActivityIdAndMerchantId.isEmpty()) { | ||||
|                 return success(PageResult.empty()); | ||||
|             } | ||||
|              List<Integer> collect = listByActivityIdAndMerchantId.stream().map(ActivityTableDishDO::getSerialNumber).collect(Collectors.toList()); | ||||
|             pageReqVO.setSerialNumbers(collect); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         PageResult<ActivityTableDO> pageResult = activityTableService.getActivityTablePage(pageReqVO); | ||||
|         return success(BeanUtils.toBean(pageResult, ActivityTableRespVO.class)); | ||||
|         PageResult<ActivityTableRespVO> bean = BeanUtils.toBean(pageResult, ActivityTableRespVO.class); | ||||
|         bean.getList().forEach(item -> { | ||||
|             Long merchantIdByActivityIdAndSerialNumber = activityTableDishService.getMerchantIdByActivityIdAndSerialNumber(item.getActivityId(), item.getSerialNumber()); | ||||
|             if(merchantIdByActivityIdAndSerialNumber != null){ | ||||
|                 ActivityMerchantDO activityMerchant = activityMerchantService.getActivityMerchant(merchantIdByActivityIdAndSerialNumber); | ||||
|                 item.setName(activityMerchant.getName()); | ||||
|             } | ||||
|         }); | ||||
|         return success(bean); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/list") | ||||
|  | ||||
| @ -45,4 +45,6 @@ public class ActivityTableRespVO { | ||||
|     @ExcelProperty("创建时间") | ||||
|     private LocalDateTime createTime; | ||||
|  | ||||
|     private String name; | ||||
|  | ||||
| } | ||||
| @ -2,6 +2,7 @@ package cn.iocoder.yudao.module.member.service.activitypaytable; | ||||
|  | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo.ActivityPayTablePageReqVO; | ||||
| import cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo.ActivityPayTableRespVO; | ||||
| import cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo.ActivityPayTableSaveReqVO; | ||||
| import cn.iocoder.yudao.module.member.dal.dataobject.activitypaytable.ActivityPayTableDO; | ||||
|  | ||||
| @ -55,5 +56,5 @@ public interface ActivityPayTableService { | ||||
|  | ||||
|     void insertBatch(List<ActivityPayTableDO> list); | ||||
|  | ||||
|     PageResult<ActivityPayTableDO> getActivityPayTableGroupPage(ActivityPayTablePageReqVO pageReqVO); | ||||
|     PageResult<ActivityPayTableRespVO> getActivityPayTableGroupPage(ActivityPayTablePageReqVO pageReqVO); | ||||
| } | ||||
| @ -1,18 +1,27 @@ | ||||
| package cn.iocoder.yudao.module.member.service.activitypaytable; | ||||
|  | ||||
| import cn.hutool.core.collection.CollectionUtil; | ||||
| import cn.hutool.core.util.StrUtil; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||||
| import cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo.ActivityPayTablePageReqVO; | ||||
| import cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo.ActivityPayTableRespVO; | ||||
| import cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo.ActivityPayTableSaveReqVO; | ||||
| import cn.iocoder.yudao.module.member.dal.dataobject.activitymerchant.ActivityMerchantDO; | ||||
| import cn.iocoder.yudao.module.member.dal.dataobject.activitypaytable.ActivityPayTableDO; | ||||
| import cn.iocoder.yudao.module.member.dal.dataobject.activitytabledish.ActivityTableDishDO; | ||||
| import cn.iocoder.yudao.module.member.dal.mysql.activitypaytable.ActivityPayTableMapper; | ||||
| import cn.iocoder.yudao.module.member.service.activitymerchant.ActivityMerchantService; | ||||
| import cn.iocoder.yudao.module.member.service.activitytabledish.ActivityTableDishService; | ||||
| import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||
| import org.springframework.context.annotation.Lazy; | ||||
| import org.springframework.stereotype.Service; | ||||
| import org.springframework.validation.annotation.Validated; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
| import java.util.stream.Collectors; | ||||
|  | ||||
| import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | ||||
| import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.ACTIVITY_PAY_TABLE_NOT_EXISTS; | ||||
| @ -28,6 +37,12 @@ public class ActivityPayTableServiceImpl implements ActivityPayTableService { | ||||
|  | ||||
|     @Resource | ||||
|     private ActivityPayTableMapper activityPayTableMapper; | ||||
|     @Resource | ||||
|     @Lazy | ||||
|     private ActivityTableDishService activityTableDishService; | ||||
|     @Resource | ||||
|     @Lazy | ||||
|     private ActivityMerchantService activityMerchantService; | ||||
|  | ||||
|     @Override | ||||
|     public Long createActivityPayTable(ActivityPayTableSaveReqVO createReqVO) { | ||||
| @ -72,13 +87,38 @@ public class ActivityPayTableServiceImpl implements ActivityPayTableService { | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public PageResult<ActivityPayTableDO> getActivityPayTableGroupPage(ActivityPayTablePageReqVO pageReqVO) { | ||||
|         return activityPayTableMapper.selectPage(pageReqVO,new LambdaQueryWrapper<ActivityPayTableDO>() | ||||
|                         .select(ActivityPayTableDO::getSerialNumbers,ActivityPayTableDO::getAllPrice) | ||||
|                         .eq(StrUtil.isNotBlank(pageReqVO.getSerialNumbers()),ActivityPayTableDO::getSerialNumbers,pageReqVO.getSerialNumbers()) | ||||
|                         .eq(ActivityPayTableDO::getActivityId,pageReqVO.getActivityId()) | ||||
|                         .groupBy(ActivityPayTableDO::getSerialNumbers) | ||||
|                 ); | ||||
|     public PageResult<ActivityPayTableRespVO> getActivityPayTableGroupPage(ActivityPayTablePageReqVO pageReqVO) { | ||||
|         List<Integer> collect = new ArrayList<>(); | ||||
|         if(pageReqVO.getMerchantId() != null){ | ||||
|             List<ActivityTableDishDO> listByActivityIdAndMerchantId = activityTableDishService.getListByActivityIdAndMerchantId(pageReqVO.getActivityId(), pageReqVO.getMerchantId()); | ||||
|             if (listByActivityIdAndMerchantId.isEmpty()) { | ||||
|                 return PageResult.empty(); | ||||
|             } | ||||
|             collect = listByActivityIdAndMerchantId.stream().map(ActivityTableDishDO::getSerialNumber).collect(Collectors.toList()); | ||||
|         } | ||||
|         PageResult<ActivityPayTableDO> activityPayTableDOPageResult = activityPayTableMapper.selectPage(pageReqVO, new LambdaQueryWrapper<ActivityPayTableDO>() | ||||
|                 .select(ActivityPayTableDO::getSerialNumbers, ActivityPayTableDO::getAllPrice) | ||||
|                 .eq(StrUtil.isNotBlank(pageReqVO.getSerialNumbers()), ActivityPayTableDO::getSerialNumbers, pageReqVO.getSerialNumbers()) | ||||
|                 .eq(ActivityPayTableDO::getActivityId, pageReqVO.getActivityId()) | ||||
|                 .in(CollectionUtil.isNotEmpty(collect), ActivityPayTableDO::getSerialNumbers, collect) | ||||
|                 .groupBy(ActivityPayTableDO::getSerialNumbers) | ||||
|         ); | ||||
|         List<ActivityPayTableDO> list = activityPayTableDOPageResult.getList(); | ||||
|  | ||||
|         List<ActivityPayTableRespVO> newList = new ArrayList<>(); | ||||
|  | ||||
|         if(CollectionUtil.isNotEmpty(list)){ | ||||
|             list.forEach(activityPayTableDO -> { | ||||
|                 ActivityPayTableRespVO bean = BeanUtils.toBean(activityPayTableDO, ActivityPayTableRespVO.class); | ||||
|                 Long merchantIdByActivityIdAndSerialNumber = activityTableDishService.getMerchantIdByActivityIdAndSerialNumber(pageReqVO.getActivityId(), Integer.valueOf(activityPayTableDO.getSerialNumbers())); | ||||
|                 if(merchantIdByActivityIdAndSerialNumber != null){ | ||||
|                     ActivityMerchantDO activityMerchant = activityMerchantService.getActivityMerchant(merchantIdByActivityIdAndSerialNumber); | ||||
|                     bean.setName(activityMerchant.getName()); | ||||
|                 } | ||||
|                 newList.add(bean); | ||||
|             }); | ||||
|         } | ||||
|         return new PageResult<>(newList, activityPayTableDOPageResult.getTotal()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|  | ||||
| @ -62,4 +62,6 @@ public interface ActivityTableDishService { | ||||
|     List<ActivityTableDishDO> getListByIds(List<Long> ids); | ||||
|  | ||||
|     List<ActivityTableDishDO> getListByActivityIdAndMerchantId(Long activityId,Long merchantId); | ||||
|  | ||||
|     Long getMerchantIdByActivityIdAndSerialNumber(Long  activityId,Integer serialNumber); | ||||
| } | ||||
| @ -130,4 +130,16 @@ public class ActivityTableDishServiceImpl implements ActivityTableDishService { | ||||
|                 .eq(ActivityTableDishDO::getActivityId, activityId) | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Long getMerchantIdByActivityIdAndSerialNumber(Long activityId, Integer serialNumber) { | ||||
|         ActivityTableDishDO activityTableDishDO = activityTableDishMapper.selectOne(Wrappers.<ActivityTableDishDO>lambdaQuery() | ||||
|                 .eq(ActivityTableDishDO::getSerialNumber, serialNumber) | ||||
|                 .eq(ActivityTableDishDO::getActivityId, activityId).last("limit 1") | ||||
|         ); | ||||
|         if(activityTableDishDO != null){ | ||||
|             return activityTableDishDO.getMerchantId(); | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 zt
					zt