| | |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.utils.uuid.IdUtils; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.goods.api.domain.LotteryEvent; |
| | | import com.ruoyi.goods.api.domain.LotteryEventPrize; |
| | | import com.ruoyi.goods.api.domain.TLotteryEvent; |
| | | import com.ruoyi.goods.api.domain.TLotteryEventPrize; |
| | | import com.ruoyi.goods.domain.dto.DelShopLotteryDrawDto; |
| | | import com.ruoyi.goods.domain.dto.ShopLotteryDrawListDto; |
| | | import com.ruoyi.goods.domain.dto.ShopWinningRecordDto; |
| | |
| | | import com.ruoyi.goods.service.lottery.IUserLotteryEventService; |
| | | import com.ruoyi.system.api.domain.poji.goods.Goods; |
| | | import com.ruoyi.system.api.domain.poji.shop.Shop; |
| | | import com.ruoyi.system.api.service.RemoteMemberService; |
| | | import com.ruoyi.system.api.service.RemoteShopService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | |
| | | * @author zhibing.pu |
| | | * @Date 2025/5/8 18:13 |
| | | */ |
| | | @Slf4j |
| | | @Api(value = "商户端商户相关接口", tags = "商户端商户相关接口", description = "商户端商户相关接口") |
| | | @RestController |
| | | @RequestMapping("/mer/lotteryEvent") |
| | |
| | | @Resource |
| | | private GoodsService goodsService; |
| | | |
| | | @Resource |
| | | private RemoteMemberService remoteMemberService; |
| | | |
| | | |
| | | @RequestMapping(value = "/getShopLotteryDrawList", method = RequestMethod.POST) |
| | | @ApiOperation(value = "获取门店抽奖活动列表【2.0】") |
| | |
| | | @RequestMapping(value = "/delShopLotteryDraw", method = RequestMethod.POST) |
| | | @ApiOperation(value = "门店删除抽奖活动【2.0】") |
| | | public R delShopLotteryDraw(@RequestBody DelShopLotteryDrawDto dto) { |
| | | LotteryEvent lotteryEvent = lotteryEventService.getById(dto.getId()); |
| | | TLotteryEvent lotteryEvent = lotteryEventService.getById(dto.getId()); |
| | | if (null == lotteryEvent) { |
| | | return R.fail("抽奖活动不存在"); |
| | | } |
| | | if (LocalDateTime.now().isAfter(lotteryEvent.getStartTime())) { |
| | | return R.fail("删除失败"); |
| | | return R.fail("活动已开始,不能删除!"); |
| | | } |
| | | if (!lotteryEvent.getShopId().equals(dto.getShopId())) { |
| | | return R.fail("删除失败"); |
| | | return R.fail("删除失败,该活动不属于该店铺"); |
| | | } |
| | | lotteryEvent.setDelFlag(1); |
| | | lotteryEventService.updateById(lotteryEvent); |
| | |
| | | |
| | | @RequestMapping(value = "/getShopLotteryDrawInfo", method = RequestMethod.POST) |
| | | @ApiOperation(value = "获取门店抽奖详情【2.0】") |
| | | public R<LotteryEvent> getShopLotteryDrawInfo(@RequestBody DelShopLotteryDrawDto dto) { |
| | | LotteryEvent lotteryEvent = lotteryEventService.getById(dto.getId()); |
| | | if (null == lotteryEvent) { |
| | | public R<TLotteryEvent> getShopLotteryDrawInfo(@RequestBody DelShopLotteryDrawDto dto) { |
| | | TLotteryEvent lotteryEvent = lotteryEventService.getById(dto.getId()); |
| | | if (null == lotteryEvent || 1 == lotteryEvent.getDelFlag()) { |
| | | return R.fail("抽奖活动不存在"); |
| | | } |
| | | if (!lotteryEvent.getShopId().equals(dto.getShopId())) { |
| | | if (!lotteryEvent.getShopId().equals(dto.getShopId().intValue())) { |
| | | return R.fail("查询失败"); |
| | | } |
| | | List<LotteryEventPrize> list = lotteryEventPrizeService.list(new LambdaQueryWrapper<LotteryEventPrize>().eq(LotteryEventPrize::getLotteryEventId, dto.getId())); |
| | | List<TLotteryEventPrize> list = lotteryEventPrizeService.list(new LambdaQueryWrapper<TLotteryEventPrize>().eq(TLotteryEventPrize::getLotteryEventId, dto.getId())); |
| | | lotteryEvent.setPrizes(list); |
| | | return R.ok(lotteryEvent); |
| | | } |
| | |
| | | |
| | | @RequestMapping(value = "/editShopLotteryDraw", method = RequestMethod.POST) |
| | | @ApiOperation(value = "保存门店抽奖【2.0】") |
| | | public R editShopLotteryDraw(@RequestBody LotteryEvent lotteryEvent) { |
| | | public R editShopLotteryDraw(@RequestBody TLotteryEvent lotteryEvent) { |
| | | if (lotteryEvent.getId() == null) { |
| | | lotteryEvent.setId(IdUtils.simpleUUID()); |
| | | String weiXinQrCode = remoteMemberService.getWeiXinQrCode("id=" + lotteryEvent.getId() + "&activityType=" + lotteryEvent.getActivityType(), "/pages/turntable/index"); |
| | | lotteryEvent.setWxMiniProgramQrCode(weiXinQrCode); |
| | | lotteryEvent.setCreateTime(LocalDateTime.now()); |
| | | lotteryEvent.setCreateUserId(lotteryEvent.getCreateUserId()); |
| | | } |
| | | lotteryEvent.setUpdateTime(LocalDateTime.now()); |
| | | lotteryEvent.setUpdateUserId(SecurityUtils.getUserId()); |
| | | lotteryEventService.saveOrUpdate(lotteryEvent); |
| | | //先删除原有的奖品 |
| | | lotteryEventPrizeService.remove(new LambdaQueryWrapper<LotteryEventPrize>().eq(LotteryEventPrize::getLotteryEventId, lotteryEvent.getId())); |
| | | lotteryEventPrizeService.remove(new LambdaQueryWrapper<TLotteryEventPrize>().eq(TLotteryEventPrize::getLotteryEventId, lotteryEvent.getId())); |
| | | //添加新的奖品 |
| | | List<LotteryEventPrize> prizes = lotteryEvent.getPrizes(); |
| | | List<TLotteryEventPrize> prizes = lotteryEvent.getPrizes(); |
| | | prizes.forEach(s -> { |
| | | s.setId(IdUtils.simpleUUID()); |
| | | if (s.getPrizeType() == 2 && StringUtils.isEmpty(s.getObjectName())) { |
| | |
| | | @RequestMapping(value = "/getShopWinningRecord", method = RequestMethod.POST) |
| | | @ApiOperation(value = "获取中奖记录列表【2.0】") |
| | | public R<Page<ShopWinningRecordVo>> getShopWinningRecord(@RequestBody ShopWinningRecordDto dto) { |
| | | LotteryEvent lotteryEvent = lotteryEventService.getById(dto.getId()); |
| | | TLotteryEvent lotteryEvent = lotteryEventService.getById(dto.getId()); |
| | | if (null == lotteryEvent) { |
| | | return R.fail("抽奖活动不存在"); |
| | | } |
| | | if (!lotteryEvent.getShopId().equals(dto.getShopId())) { |
| | | if (!lotteryEvent.getShopId().equals(dto.getShopId().intValue())) { |
| | | return R.fail("查询失败"); |
| | | } |
| | | Page<ShopWinningRecordVo> page = new Page<>(); |