From c980c8c2cd9403393db6a3f42705612a0a4d4511 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 16 十二月 2024 15:49:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 103 insertions(+), 2 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java index d94fa02..11a35a9 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java @@ -2,12 +2,23 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.other.api.domain.OrderActivityInfo; import com.ruoyi.other.service.OrderActivityInfoService; +import com.ruoyi.other.service.VipSettingService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -19,10 +30,13 @@ */ @RestController @RequestMapping("/order-activity-info") +@Api("订单优惠活动") public class OrderActivityInfoController { @Resource private OrderActivityInfoService orderActivityInfoService; + @Resource + private VipSettingService vipSettingService; /** @@ -37,7 +51,94 @@ .last(" and now() between start_time and end_time and FIND_IN_SET(" + vip + ", vip_ids) limit 0, 1")); return R.ok(one); } - - + + /** + * 添加活动 + */ + @PostMapping("/save") + @ApiOperation(value = "订单优惠活动-添加活动", tags = {"管理后台-活动管理"}) + public R<Void> saveActivityConfig(@RequestBody OrderActivityInfo orderActivityInfo){ + orderActivityInfo.setIsShelf(0); + orderActivityInfoService.save(orderActivityInfo); + return R.ok(); + } + + /** + * 删除活动 + */ + @DeleteMapping("/delete") + @ApiOperation(value = "订单优惠活动-删除活动", tags = {"管理后台-活动管理"}) + public R<Void> deleteActivityConfig(@RequestParam("id") Long id){ + orderActivityInfoService.removeById(id); + return R.ok(); + } + + /** + * 修改活动 + */ + @PostMapping("/update") + @ApiOperation(value = "修改活动", tags = {"管理后台-活动管理"}) + public R<Void> updateActivityConfig(@RequestBody OrderActivityInfo orderActivityInfo){ + orderActivityInfo.setId(Long.valueOf(orderActivityInfo.getIdStr())); + orderActivityInfoService.updateById(orderActivityInfo); + return R.ok(); + } + + /** + * 获取活动列表 + */ + @GetMapping("/list") + @ApiOperation(value = "订单优惠活动-获取活动列表", tags = {"管理后台-活动管理"}) + public R<Page<OrderActivityInfo>> list(@ApiParam("页码") @RequestParam Integer pageNum, + @ApiParam("每一页数据大小") Integer pageSize, + OrderActivityInfo orderActivityInfo){ + + Page<OrderActivityInfo> page = orderActivityInfoService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<OrderActivityInfo>() + .eq(orderActivityInfo.getId() != null, OrderActivityInfo::getId, orderActivityInfo.getId()) + .eq(StringUtils.isNotEmpty(orderActivityInfo.getActivityName()), OrderActivityInfo::getActivityName, orderActivityInfo.getActivityName()) + .lt(orderActivityInfo.getStatus() != null && orderActivityInfo.getStatus() == 0, OrderActivityInfo::getStartTime, orderActivityInfo.getStartTime()) + .ge(orderActivityInfo.getStatus() != null && orderActivityInfo.getStatus() == 1, OrderActivityInfo::getEndTime, orderActivityInfo.getStartTime()) + .eq(orderActivityInfo.getIsShelf() != null, OrderActivityInfo::getIsShelf, orderActivityInfo.getIsShelf())); + page.getRecords().forEach(item -> { + LocalDateTime startTime = item.getStartTime(); + LocalDateTime now = LocalDateTime.now(); + LocalDateTime endTime = item.getEndTime(); + if (endTime.isBefore(now)){ + item.setStatus(2); //已结束 + }else if (startTime.isBefore(now)){ + item.setStatus(1); // 已开始 + }else { + item.setStatus(0); // 未开始 + } + + String vipIds = item.getVipIds(); + if (StringUtils.isNotEmpty(vipIds)){ + String[] vipIdArr = vipIds.split(","); + if (vipIdArr.length == 7){ + item.setVipName("全部"); + }else { + List<String> vipNameList = new ArrayList<>(); + for (String vipId : vipIdArr) { + String vipName = vipSettingService.getById(Long.parseLong(vipId)).getVipName(); + vipNameList.add(vipName); + } + item.setVipName(String.join(",", vipNameList)); + } + + } + }); + return R.ok(page); + } + + /** + * 获取活动详情 + */ + @GetMapping("/getDetailById") + @ApiOperation(value = "订单优惠活动-获取活动详情", tags = {"管理后台-活动管理"}) + public R<OrderActivityInfo> getDetailById(@RequestParam("id") String id){ + return R.ok(orderActivityInfoService.getById(Long.parseLong(id))); + } + + } -- Gitblit v1.7.1