From 6f5e0af7b4e3c4e6d2bcd33bafb6649727e98b37 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 06 六月 2025 18:33:44 +0800 Subject: [PATCH] 开发商户端相关接口 --- ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 20 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/LotteryEventMapper.java | 11 ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/LotteryEventPrize.java | 10 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/MerLotteryEventController.java | 39 ++ ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/service/LotteryEventClient.java | 2 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java | 9 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml | 3 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/ShopWinningRecordVo.java | 21 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventService.java | 10 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/UserLotteryEventMapper.xml | 12 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/ShopLotteryDrawListDto.java | 15 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/ShopWinningRecordDto.java | 17 + ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/CancelMerOrderDto.java | 16 + ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerOrderPageDto.java | 6 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java | 14 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/Member.java | 13 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberPageVo.java | 11 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java | 5 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/ShopLotteryDrawVo.java | 19 + ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberOrderVo.java | 17 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/IUserLotteryEventService.java | 10 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/UserLotteryEventMapper.java | 16 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/DelShopLotteryDrawDto.java | 16 + ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java | 45 ++- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerVerifyAwardVo.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 42 ++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/UserLotteryEventServiceImpl.java | 59 ++++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java | 5 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java | 15 + ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml | 13 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java | 2 ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/LotteryEvent.java | 26 + ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerConsumerController.java | 2 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java | 140 +++++++++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java | 52 +++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsListVo.java | 37 +- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/ShopLotteryDrawListVo.java | 24 + ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java | 16 + 38 files changed, 697 insertions(+), 95 deletions(-) diff --git a/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/LotteryEvent.java b/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/LotteryEvent.java index 4d76a54..124b5f4 100644 --- a/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/LotteryEvent.java +++ b/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/LotteryEvent.java @@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; /** * @author zhibing.pu @@ -24,66 +26,85 @@ * 主键 */ @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty("活动id") private String id; + /** + * 门店id + */ + @TableField("shop_id") + @ApiModelProperty("门店id") + private Integer shopId; /** * 抽奖名称 */ @TableField("name") + @ApiModelProperty("抽奖名称") private String name; /** * 活动简介名称 */ @TableField("activity_profile") + @ApiModelProperty("活动简介名称") private String activityProfile; /** * 开启方式(1=新注册用户,2=下单,3=分享小程序,4=普通抽奖,5=答题抽奖) */ @TableField("activity_type") + @ApiModelProperty("开启方式(1=新注册用户,2=下单,3=分享小程序,4=普通抽奖,5=答题抽奖)") private Integer activityType; /** * 可抽奖次数 */ @TableField("times") + @ApiModelProperty("可抽奖次数") private Integer times; /** * 活动开始时间 */ @TableField("start_time") + @ApiModelProperty("活动开始时间") private LocalDateTime startTime; /** * 活动结束时间 */ @TableField("end_time") + @ApiModelProperty("活动结束时间") private LocalDateTime endTime; /** * 分享抽奖间隔天数 */ @TableField("interval_time") + @ApiModelProperty("分享抽奖间隔天数") private Integer intervalTime; /** * 下单支付金额 */ @TableField("pay_money") + @ApiModelProperty("下单支付金额") private BigDecimal payMoney; /** * 答题抽奖正确率% */ @TableField("accuracy") + @ApiModelProperty("答题抽奖正确率%") private BigDecimal accuracy; /** * 答题时间限制(分钟) */ @TableField("answering_time") + @ApiModelProperty("答题时间限制(分钟)") private Integer answeringTime; /** * 封面图 */ @TableField("cover_image") + @ApiModelProperty("封面图") private String coverImage; /** * 详情介绍 */ @TableField("activity_content") + @ApiModelProperty("详情介绍") private String activityContent; /** * 删除标记 @@ -104,10 +125,13 @@ * 更新用户id */ @TableField("update_user_id") - private Integer updateUserId; + private Long updateUserId; /** * 更新时间 */ @TableField("update_time") private LocalDateTime updateTime; + + @ApiModelProperty("奖品列表") + private List<LotteryEventPrize> prizes; } diff --git a/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/LotteryEventPrize.java b/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/LotteryEventPrize.java index 62e27a3..1a7eeae 100644 --- a/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/LotteryEventPrize.java +++ b/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/LotteryEventPrize.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @@ -18,36 +19,43 @@ /** * 主键 */ - @TableId(value = "id", type = IdType.AUTO) + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty("奖品id") private String id; /** * 抽奖id */ @TableField("lottery_event_id") + @ApiModelProperty("抽奖id") private String lotteryEventId; /** * 奖品类型(1=优惠券,2=平台商品,3=线下商品,4=积分) */ @TableField("prize_type") + @ApiModelProperty("奖品类型(1=优惠券,2=平台商品,3=线下商品,4=积分)") private Integer prizeType; /** * 奖品id */ @TableField("object_id") + @ApiModelProperty("奖品id") private String objectId; /** * 奖品名称 */ @TableField("object_name") + @ApiModelProperty("奖品名称") private String objectName; /** * 奖品数量 */ @TableField("number") + @ApiModelProperty("奖品数量") private Integer number; /** * 中奖率% */ @TableField("win_rate") + @ApiModelProperty("中奖率%") private BigDecimal winRate; } diff --git a/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/service/LotteryEventClient.java b/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/service/LotteryEventClient.java index 42b6442..4ce86d5 100644 --- a/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/service/LotteryEventClient.java +++ b/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/service/LotteryEventClient.java @@ -23,6 +23,6 @@ * @param activityType * @return */ - @PostMapping("/mer/lotteryEvent/getLotteryEventList") + @PostMapping("/lotteryEvent/getLotteryEventList") R<List<LotteryEvent>> getLotteryEventList(@RequestParam("activityType") Integer activityType); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/Member.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/Member.java index 9a3e5b7..83dd638 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/Member.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/Member.java @@ -162,19 +162,24 @@ */ @TableField("belong_district") private String belongDistrict; - + @TableField("frozen_flag") private Integer frozenFlag; - + /** * 绑定类型1商城订单2活动订单3线下订单4核销优惠券5核销奖品6商户创建7平台变动8商户绑定 */ @TableField("binding_type") private Integer bindingType; - + /** + * 上次确认服务的id + */ + @TableField("last_service_id") + private String lastServiceId; + @Override protected Serializable pkVal() { return this.userId; } - + } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java index 68324fb..f5685ce 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java @@ -222,6 +222,11 @@ @TableField("platform_birthday_flag") private Integer platformBirthdayFlag; /** + * 抽奖1开2关 + */ + @TableField("lottery_draw_flag") + private Integer lotteryDrawFlag; + /** * 店铺设置状态 */ @TableField("shop_custom_status") diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java index f78331b..75e9145 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java @@ -176,6 +176,11 @@ public R saveMemberGiftRecord(MemberGiftRecord memberGiftRecord) { return R.fail("添加奖品数据失败:" + throwable.getMessage()); } + + @Override + public R editMember(Member member) { + return R.fail("修改会员失败:" + throwable.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java index 54f5d9c..e3d1e8b 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java @@ -293,4 +293,13 @@ */ @PostMapping("/member/saveMemberGiftRecord") R saveMemberGiftRecord(@RequestBody MemberGiftRecord memberGiftRecord); + + /** + * 修改会员数据 + * + * @param member + * @return + */ + @PostMapping("/member/editMember") + R editMember(@RequestBody Member member); } \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java index baa4810..52f9647 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java @@ -1,18 +1,42 @@ package com.ruoyi.goods.controller.business; 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.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.domain.dto.DelShopLotteryDrawDto; +import com.ruoyi.goods.domain.dto.ShopLotteryDrawListDto; +import com.ruoyi.goods.domain.dto.ShopWinningRecordDto; +import com.ruoyi.goods.domain.vo.ShopLotteryDrawListVo; +import com.ruoyi.goods.domain.vo.ShopLotteryDrawVo; +import com.ruoyi.goods.domain.vo.ShopWinningRecordVo; +import com.ruoyi.goods.service.goods.GoodsService; +import com.ruoyi.goods.service.lottery.ILotteryEventPrizeService; import com.ruoyi.goods.service.lottery.ILotteryEventService; -import org.springframework.web.bind.annotation.*; +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.RemoteShopService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang.StringUtils; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.List; /** * @author zhibing.pu * @Date 2025/5/8 18:13 */ +@Api(value = "商户端商户相关接口", tags = "商户端商户相关接口", description = "商户端商户相关接口") @RestController @RequestMapping("/mer/lotteryEvent") public class MerLotteryEventController { @@ -20,19 +44,109 @@ @Resource private ILotteryEventService lotteryEventService; + @Resource + private RemoteShopService remoteShopService; - /** - * 根据开启方式获取活动列表 - * - * @param activityType - * @return - */ - @ResponseBody - @PostMapping("/getLotteryEventList") - public R<List<LotteryEvent>> getLotteryEventList(@RequestParam("activityType") Integer activityType) { - List<LotteryEvent> list = lotteryEventService.list(new LambdaQueryWrapper<LotteryEvent>().eq(LotteryEvent::getActivityType, activityType) - .eq(LotteryEvent::getDelFlag, 0).last(" and now() between start_time and end_time")); - return R.ok(list); + @Resource + private ILotteryEventPrizeService lotteryEventPrizeService; + + @Resource + private IUserLotteryEventService userLotteryEventService; + + @Resource + private GoodsService goodsService; + + + @RequestMapping(value = "/getShopLotteryDrawList", method = RequestMethod.POST) + @ApiOperation(value = "获取门店抽奖活动列表【2.0】") + public R<ShopLotteryDrawVo> getShopLotteryDrawList(@RequestBody ShopLotteryDrawListDto dto) { + Page<ShopLotteryDrawListVo> page = new Page<>(); + page.setSize(dto.getPageSize()); + page.setCurrent(dto.getPageNum()); + Shop shop = remoteShopService.getShop(dto.getShopId()).getData(); + ShopLotteryDrawVo shopLotteryDrawVo = new ShopLotteryDrawVo(); + shopLotteryDrawVo.setLotteryDrawFlag(shop.getLotteryDrawFlag()); + List<ShopLotteryDrawListVo> shopLotteryDrawList = lotteryEventService.getShopLotteryDrawList(page, dto.getShopId()); + page.setRecords(shopLotteryDrawList); + shopLotteryDrawVo.setPage(page); + return R.ok(shopLotteryDrawVo); + } + + @RequestMapping(value = "/delShopLotteryDraw", method = RequestMethod.POST) + @ApiOperation(value = "门店删除抽奖活动【2.0】") + public R delShopLotteryDraw(@RequestBody DelShopLotteryDrawDto dto) { + LotteryEvent lotteryEvent = lotteryEventService.getById(dto.getId()); + if (null == lotteryEvent) { + return R.fail("抽奖活动不存在"); + } + if (LocalDateTime.now().isAfter(lotteryEvent.getStartTime())) { + return R.fail("删除失败"); + } + if (!lotteryEvent.getShopId().equals(dto.getShopId())) { + return R.fail("删除失败"); + } + lotteryEvent.setDelFlag(1); + lotteryEventService.updateById(lotteryEvent); + return R.ok(); + } + + + @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) { + return R.fail("抽奖活动不存在"); + } + if (!lotteryEvent.getShopId().equals(dto.getShopId())) { + return R.fail("查询失败"); + } + List<LotteryEventPrize> list = lotteryEventPrizeService.list(new LambdaQueryWrapper<LotteryEventPrize>().eq(LotteryEventPrize::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) { + if (lotteryEvent.getId() == null) { + lotteryEvent.setId(IdUtils.simpleUUID()); + } + lotteryEvent.setUpdateTime(LocalDateTime.now()); + lotteryEvent.setUpdateUserId(SecurityUtils.getUserId()); + lotteryEventService.saveOrUpdate(lotteryEvent); + //先删除原有的奖品 + lotteryEventPrizeService.remove(new LambdaQueryWrapper<LotteryEventPrize>().eq(LotteryEventPrize::getLotteryEventId, lotteryEvent.getId())); + //添加新的奖品 + List<LotteryEventPrize> prizes = lotteryEvent.getPrizes(); + prizes.forEach(s -> { + s.setId(IdUtils.simpleUUID()); + if (s.getPrizeType() == 2 && StringUtils.isEmpty(s.getObjectName())) { + Goods goods = goodsService.getById(s.getObjectId()); + s.setObjectName(goods.getGoodsName()); + } + s.setLotteryEventId(lotteryEvent.getId()); + }); + lotteryEventPrizeService.saveOrUpdateBatch(prizes); + return R.ok(); + } + + @RequestMapping(value = "/getShopWinningRecord", method = RequestMethod.POST) + @ApiOperation(value = "获取中奖记录列表【2.0】") + public R<Page<ShopWinningRecordVo>> getShopWinningRecord(@RequestBody ShopWinningRecordDto dto) { + LotteryEvent lotteryEvent = lotteryEventService.getById(dto.getId()); + if (null == lotteryEvent) { + return R.fail("抽奖活动不存在"); + } + if (!lotteryEvent.getShopId().equals(dto.getShopId())) { + return R.fail("查询失败"); + } + Page<ShopWinningRecordVo> page = new Page<>(); + page.setSize(dto.getPageSize()); + page.setCurrent(dto.getPageNum()); + List<ShopWinningRecordVo> shopWinningRecordVoList = userLotteryEventService.getShopWinningRecord(page, dto.getId()); + return R.ok(page.setRecords(shopWinningRecordVoList)); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/MerLotteryEventController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/MerLotteryEventController.java new file mode 100644 index 0000000..357dd78 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/MerLotteryEventController.java @@ -0,0 +1,39 @@ +package com.ruoyi.goods.controller.concole; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.goods.api.domain.LotteryEvent; +import com.ruoyi.goods.service.lottery.ILotteryEventService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author zhibing.pu + * @Date 2025/5/8 18:13 + */ +@RestController +@RequestMapping("/lotteryEvent") +public class MerLotteryEventController { + + @Resource + private ILotteryEventService lotteryEventService; + + + /** + * 根据开启方式获取活动列表 + * + * @param activityType + * @return + */ + @ResponseBody + @PostMapping("/getLotteryEventList") + public R<List<LotteryEvent>> getLotteryEventList(@RequestParam("activityType") Integer activityType) { + List<LotteryEvent> list = lotteryEventService.list(new LambdaQueryWrapper<LotteryEvent>().eq(LotteryEvent::getActivityType, activityType) + .eq(LotteryEvent::getDelFlag, 0).last(" and now() between start_time and end_time")); + return R.ok(list); + } + + +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/DelShopLotteryDrawDto.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/DelShopLotteryDrawDto.java new file mode 100644 index 0000000..a2be9f9 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/DelShopLotteryDrawDto.java @@ -0,0 +1,16 @@ +package com.ruoyi.goods.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** + * @author zhibing.pu + * @Date 2025/6/5 10:32 + */ +@ApiModel +@Data +public class DelShopLotteryDrawDto { + @ApiModelProperty("门店id") + private Long shopId; + @ApiModelProperty("抽奖活动id") + private String id; +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/ShopLotteryDrawListDto.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/ShopLotteryDrawListDto.java new file mode 100644 index 0000000..41949f3 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/ShopLotteryDrawListDto.java @@ -0,0 +1,15 @@ +package com.ruoyi.goods.domain.dto; + +import com.ruoyi.system.api.domain.dto.MgtPageDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** + * @author zhibing.pu + * @Date 2025/6/5 9:23 + */ +@Data +@ApiModel +public class ShopLotteryDrawListDto extends MgtPageDto { + @ApiModelProperty(value = "商户id") + private Long shopId; +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/ShopWinningRecordDto.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/ShopWinningRecordDto.java new file mode 100644 index 0000000..6fd67e8 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/ShopWinningRecordDto.java @@ -0,0 +1,17 @@ +package com.ruoyi.goods.domain.dto; + +import com.ruoyi.system.api.domain.dto.MgtPageDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** + * @author zhibing.pu + * @Date 2025/6/5 11:24 + */ +@Data +@ApiModel +public class ShopWinningRecordDto extends MgtPageDto { + @ApiModelProperty("门店id") + private Long shopId; + @ApiModelProperty("抽奖id") + private String id; +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/ShopLotteryDrawListVo.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/ShopLotteryDrawListVo.java new file mode 100644 index 0000000..84bfe63 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/ShopLotteryDrawListVo.java @@ -0,0 +1,24 @@ +package com.ruoyi.goods.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** + * @author zhibing.pu + * @Date 2025/6/5 9:27 + */ +@Data +@ApiModel +public class ShopLotteryDrawListVo { + @ApiModelProperty("数据id") + private String id; + @ApiModelProperty("抽奖名称") + private String name; + @ApiModelProperty("简介") + private String activityProfile; + @ApiModelProperty("抽奖图片") + private String coverImage; + @ApiModelProperty("抽奖开始时间") + private String startTime; + @ApiModelProperty("抽奖结束时间") + private String endTime; +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/ShopLotteryDrawVo.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/ShopLotteryDrawVo.java new file mode 100644 index 0000000..3ddb20b --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/ShopLotteryDrawVo.java @@ -0,0 +1,19 @@ +package com.ruoyi.goods.domain.vo; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2025/6/5 9:25 + */ +@Data +@ApiModel +public class ShopLotteryDrawVo { + @ApiModelProperty(value = "抽奖1开2关") + private Integer lotteryDrawFlag; + @ApiModelProperty("抽奖列表") + private Page<ShopLotteryDrawListVo> page; +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/ShopWinningRecordVo.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/ShopWinningRecordVo.java new file mode 100644 index 0000000..8717221 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/ShopWinningRecordVo.java @@ -0,0 +1,21 @@ +package com.ruoyi.goods.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** + * @author zhibing.pu + * @Date 2025/6/5 11:09 + */ +@Data +@ApiModel +public class ShopWinningRecordVo { + @ApiModelProperty("用户名") + private String userName; + @ApiModelProperty("用户电话") + private String userPhone; + @ApiModelProperty("抽奖时间") + private String lotteryTime; + @ApiModelProperty("奖品名称") + private String awardName; + +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/LotteryEventMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/LotteryEventMapper.java index 2733f17..1e85866 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/LotteryEventMapper.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/LotteryEventMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.goods.api.domain.LotteryEvent; import com.ruoyi.goods.domain.vo.AppLotteryEventPageVo; +import com.ruoyi.goods.domain.vo.ShopLotteryDrawListVo; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -23,4 +24,14 @@ * @return */ List<AppLotteryEventPageVo> pageAppLotteryEvent(Page<AppLotteryEventPageVo> page, @Param("userId") Long userId); + + + /** + * 获取门店抽奖列表 + * + * @param page + * @param shopId + * @return + */ + List<ShopLotteryDrawListVo> getShopLotteryDrawList(Page<ShopLotteryDrawListVo> page, @Param("shopId") Long shopId); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/UserLotteryEventMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/UserLotteryEventMapper.java index 6b75b63..a61e79d 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/UserLotteryEventMapper.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/UserLotteryEventMapper.java @@ -1,11 +1,27 @@ package com.ruoyi.goods.mapper.lottery; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.goods.api.domain.UserLotteryEvent; +import com.ruoyi.goods.domain.vo.ShopWinningRecordVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; /** * @author zhibing.pu * @Date 2025/5/12 10:40 */ public interface UserLotteryEventMapper extends BaseMapper<UserLotteryEvent> { + + + /** + * 获取门店中奖记录 + * + * @param page + * @param id + * @return + */ + List<Map<String, Object>> getShopWinningRecord(Page<ShopWinningRecordVo> page, @Param("id") String id); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java index b83e9cb..c180e93 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java @@ -13,6 +13,7 @@ import com.ruoyi.goods.api.domain.UserLotteryEventQuestions; import com.ruoyi.goods.domain.vo.AppLotteryEventPageVo; import com.ruoyi.goods.domain.vo.LotteryEventVo; +import com.ruoyi.goods.domain.vo.ShopLotteryDrawListVo; import com.ruoyi.goods.domain.vo.UserLotteryEventVo; import com.ruoyi.goods.mapper.lottery.LotteryEventMapper; import com.ruoyi.goods.service.lottery.ILotteryEventPrizeService; @@ -198,6 +199,7 @@ case 2: memberGiftRecord.setGiftType(2); memberGiftRecord.setGoodsId(userLotteryEvent.getObjectId()); + memberGiftRecord.setGiftName(userLotteryEvent.getObjectName()); memberGiftRecord.setGoodsNumber(userLotteryEvent.getNumber()); break; case 3: @@ -236,4 +238,17 @@ public List<AppLotteryEventPageVo> pageAppLotteryEvent(Page<AppLotteryEventPageVo> page, Long userId) { return this.baseMapper.pageAppLotteryEvent(page, userId); } + + + /** + * 获取门店抽奖列表 + * + * @param page + * @param shopId + * @return + */ + @Override + public List<ShopLotteryDrawListVo> getShopLotteryDrawList(Page<ShopLotteryDrawListVo> page, Long shopId) { + return this.baseMapper.getShopLotteryDrawList(page, shopId); + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/UserLotteryEventServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/UserLotteryEventServiceImpl.java index 3e7c5aa..cbbe0be 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/UserLotteryEventServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/UserLotteryEventServiceImpl.java @@ -1,10 +1,20 @@ package com.ruoyi.goods.service.impl.lottery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.goods.api.domain.UserLotteryEvent; +import com.ruoyi.goods.domain.vo.ShopWinningRecordVo; import com.ruoyi.goods.mapper.lottery.UserLotteryEventMapper; import com.ruoyi.goods.service.lottery.IUserLotteryEventService; +import com.ruoyi.system.api.domain.poji.member.Member; +import com.ruoyi.system.api.service.RemoteMemberService; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; +import java.util.StringJoiner; +import java.util.stream.Collectors; /** * @author zhibing.pu @@ -12,4 +22,53 @@ */ @Service public class UserLotteryEventServiceImpl extends ServiceImpl<UserLotteryEventMapper, UserLotteryEvent> implements IUserLotteryEventService { + + @Resource + private RemoteMemberService remoteMemberService; + + + /** + * 获取店铺中中奖记录 + * + * @return + */ + @Override + public List<ShopWinningRecordVo> getShopWinningRecord(Page<ShopWinningRecordVo> page, String id) { + List<Map<String, Object>> shopWinningRecord = this.baseMapper.getShopWinningRecord(page, id); + List<ShopWinningRecordVo> collect = shopWinningRecord.stream().map(item -> { + Long user_id = Long.valueOf(item.get("user_id").toString()); + Member member = remoteMemberService.getMember(user_id).getData(); + + String create_time = item.get("create_time").toString(); + String content = item.get("content").toString(); + String[] prizes = content.split(","); + StringJoiner awardName = new StringJoiner("、"); + for (String prize : prizes) { + String[] split = prize.split("_"); + String name = ""; + switch (split[0]) { + case "1": + name = "优惠券"; + break; + case "2": + name = split[2] + "x" + split[3]; + break; + case "3": + name = split[2] + "x" + split[3]; + break; + case "4": + name = "积分"; + break; + } + awardName.add(name); + } + ShopWinningRecordVo shopWinningRecordVo = new ShopWinningRecordVo(); + shopWinningRecordVo.setUserName(member.getRealName()); + shopWinningRecordVo.setUserPhone(member.getMobile()); + shopWinningRecordVo.setLotteryTime(create_time); + shopWinningRecordVo.setAwardName(awardName.toString()); + return shopWinningRecordVo; + }).collect(Collectors.toList()); + return collect; + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventService.java index 6ba7f01..29a1855 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventService.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventService.java @@ -6,6 +6,7 @@ import com.ruoyi.goods.api.domain.LotteryEvent; import com.ruoyi.goods.domain.vo.AppLotteryEventPageVo; import com.ruoyi.goods.domain.vo.LotteryEventVo; +import com.ruoyi.goods.domain.vo.ShopLotteryDrawListVo; import java.util.List; @@ -42,4 +43,13 @@ * @return */ List<AppLotteryEventPageVo> pageAppLotteryEvent(Page<AppLotteryEventPageVo> page, Long userId); + + + /** + * 获取门店的抽奖列表 + * + * @param page + * @return + */ + List<ShopLotteryDrawListVo> getShopLotteryDrawList(Page<ShopLotteryDrawListVo> page, Long shopId); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/IUserLotteryEventService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/IUserLotteryEventService.java index d4268d1..0c5bffb 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/IUserLotteryEventService.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/IUserLotteryEventService.java @@ -1,7 +1,11 @@ package com.ruoyi.goods.service.lottery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.goods.api.domain.UserLotteryEvent; +import com.ruoyi.goods.domain.vo.ShopWinningRecordVo; + +import java.util.List; /** @@ -9,4 +13,10 @@ * @Date 2025/5/12 10:40 */ public interface IUserLotteryEventService extends IService<UserLotteryEvent> { + + + /** + * 获取店铺中中奖记录 + */ + List<ShopWinningRecordVo> getShopWinningRecord(Page<ShopWinningRecordVo> page, String id); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml index 08dc23c..0419a27 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml @@ -27,4 +27,17 @@ and a.activity_type in (4, 5)) as aa order by aa.sort, aa.startTime </select> + + + <select id="getShopLotteryDrawList" resultType="com.ruoyi.goods.domain.vo.ShopLotteryDrawListVo"> + select id, + `name`, + activity_profile as activityProfile, + cover_image as coverImage, + DATE_FORMAT(start_time, '%Y-%m-%d %H:%i') as startTime, + DATE_FORMAT(end_time, '%Y-%m-%d %H:%i') as endTime + from t_lottery_event + where shop_id = #{shopId} + order by create_time desc + </select> </mapper> diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/UserLotteryEventMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/UserLotteryEventMapper.xml index ef8817f..753574d 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/UserLotteryEventMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/UserLotteryEventMapper.xml @@ -1,5 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.goods.mapper.lottery.UserLotteryEventMapper"> - + + <select id="getShopWinningRecord" resultType="map"> + select aa.user_id, + DATE_FORMAT(any_value(aa.create_time), '%Y-%m-%d %H:%i') as create_time, + GROUP_CONCAT(CONCAT(aa.prize_type, '_', aa.object_id, '_', aa.object_name, '_', aa.number)) as content + from (select * + from t_user_lottery_event + where prize_type != 5 and lottery_event_id = #{id} + order by create_time) as aa + group by aa.user_id + </select> </mapper> diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java index 52522ae..2e804c8 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java @@ -53,7 +53,7 @@ } @RequestMapping(value = "/pageMerMember", method = RequestMethod.POST) - @ApiOperation(value = "分页获取商户绑定会员列表") + @ApiOperation(value = "分页获取商户绑定会员列表【2.0】") public R<Page<MerMemberPageVo>> pageMerMember(@RequestBody MerMemberPageDto merMemberPageDto) { Long userId = SecurityUtils.getUserId(); Page<MerMemberPageVo> page = new Page<>(); diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java index c9af95a..84b8c1b 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java @@ -50,7 +50,7 @@ * @author jqs34 * @date: 2023/4/30 12:49 */ - + @PostMapping("/getMember") public R<Member> getMember(@RequestBody Long userId) { Member member = memberService.getByUserId(userId); @@ -60,6 +60,20 @@ return R.ok(member); } + + /** + * 修改会员数据 + * + * @param member + * @return + */ + @PostMapping("/editMember") + public R editMember(@RequestBody Member member) { + memberService.updateById(member); + return R.ok(); + } + + /** * 小程序登录 */ diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberPageVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberPageVo.java index 1353e22..6fa4fbb 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberPageVo.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberPageVo.java @@ -44,13 +44,16 @@ @ApiModelProperty(value = "用户标签") private String userTags; - + @ApiModelProperty(value = "商品类型") private String goodsType; - - @ApiModelProperty(value = "最近消费时间",hidden = true) + + @ApiModelProperty(value = "最近消费时间", hidden = true) private Date lastPayTime; - + @ApiModelProperty(value = "活跃度") private String memberActiveness; + + @ApiModelProperty(value = "调理问题") + private String memberNurse; } diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml index 0913eef..639ee84 100644 --- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml +++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml @@ -161,7 +161,8 @@ tm.birthday birthday, tm.user_tags userTags, tm.goods_type goodsType, - tmt.last_service_time lastPayTime + tmt.last_service_time lastPayTime, + tm.memberNurse FROM t_member tm INNER JOIN t_member_total tmt ON tm.member_id = tmt.member_id WHERE tm.relation_shop_id = #{param.shopId} AND tm.binding_flag = 1 diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerConsumerController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerConsumerController.java index c4dae7b..d20cf53 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerConsumerController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerConsumerController.java @@ -43,7 +43,7 @@ private UserServiceRecordService userServiceRecordService; @RequestMapping(value = "/listMerConsumerGoods", method = RequestMethod.POST) - @ApiOperation(value = "获取用户服务列表") + @ApiOperation(value = "获取用户服务列表【2.0】") public R<MerConsumerGoodsVo> listMerConsumerGoods(@RequestBody MerConsumerGoodsDto merConsumerGoodsDto) { Long userId = SecurityUtils.getUserId(); merConsumerGoodsDto.setUserId(userId); diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java index 8f8a37c..b4c22d6 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java @@ -5,6 +5,7 @@ import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.domain.dto.*; +import com.ruoyi.order.domain.pojo.order.Order; import com.ruoyi.order.domain.vo.*; import com.ruoyi.order.service.order.OrderService; import com.ruoyi.system.api.constant.AppErrorConstant; @@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.Date; import java.util.List; /** @@ -71,7 +73,12 @@ Long userId = SecurityUtils.getUserId(); merVerifyCodeDto.setUserId(userId); String verifyCode = merVerifyCodeDto.getVerifyCode(); - MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrder(verifyCode,merVerifyCodeDto.getShopId()); + MerVerifyOrderVo merVerifyOrderVo = null; + if (!verifyCode.contains("http")) { + merVerifyOrderVo = orderService.verifyOrder(verifyCode, merVerifyCodeDto.getShopId()); + } else { + //三方订单 + } return R.ok(merVerifyOrderVo); } @@ -80,7 +87,12 @@ public R<MerVerifyOrderVo> sureVerifyOrder(@RequestBody MerVerifyOrderDto merVerifyOrderDto) { Long userId = SecurityUtils.getUserId(); merVerifyOrderDto.setUserId(userId); - MerVerifyOrderVo merVerifyOrderVo = orderService.sureVerifyOrder(merVerifyOrderDto); + MerVerifyOrderVo merVerifyOrderVo = null; + if (!merVerifyOrderDto.getOrderId().contains("http")) { + merVerifyOrderVo = orderService.sureVerifyOrder(merVerifyOrderDto); + } else { + //三方订单 + } return R.ok(merVerifyOrderVo); } @@ -133,19 +145,43 @@ orderService.createNewOrder(merNewOrderDto); return R.ok(); } - + @RequestMapping(value = "/pageMerOrder", method = RequestMethod.POST) - @ApiOperation(value = "获取商户端订单列表") + @ApiOperation(value = "获取商户端订单列表【2.0】") public R<Page<MerOrderPageVo>> pageMerOrder(@RequestBody MerOrderPageDto merOrderPageDto) { Long userId = SecurityUtils.getUserId(); merOrderPageDto.setUserId(userId); Page<MerOrderPageVo> page = new Page<>(); page.setSize(merOrderPageDto.getPageSize()); page.setCurrent(merOrderPageDto.getPageNum()); - List<MerOrderPageVo> merOrderPageVoList = orderService.pageMerOrder(page,merOrderPageDto); + List<MerOrderPageVo> merOrderPageVoList = orderService.pageMerOrder(page, merOrderPageDto); return R.ok(page.setRecords(merOrderPageVoList)); } - + + + @RequestMapping(value = "/cancelMerOrder", method = RequestMethod.POST) + @ApiOperation(value = "商户端取消线下订单【2.0】") + public R cancelMerOrder(@RequestBody CancelMerOrderDto dto) { + Order order = orderService.getById(dto.getOrderId()); + if (null == order) { + return R.fail("订单不存在"); + } + if (order.getOrderStatus() == 0) { + return R.fail("订单已取消"); + } + if (!order.getShopId().equals(dto.getShopId())) { + return R.fail("取消失败"); + } + if (3 != order.getOrderFrom()) { + return R.fail("取消失败"); + } + order.setOrderStatus(0); + order.setCancelTime(new Date()); + orderService.updateById(order); + return R.ok(); + } + + @RequestMapping(value = "/totalMerOrder", method = RequestMethod.POST) @ApiOperation(value = "商户端订单管理统计") public R<MerTotalOrderVo> totalMerOrder(@RequestBody MerOrderPageDto merOrderPageDto) { @@ -154,9 +190,9 @@ MerTotalOrderVo totalOrderVo = orderService.totalMerOrder(merOrderPageDto); return R.ok(totalOrderVo); } - + @RequestMapping(value = "/pageMerMemberOrder", method = RequestMethod.POST) - @ApiOperation(value = "分页商户端用户收银记录") + @ApiOperation(value = "分页商户端用户收银记录【2.0】") public R<Page<MerMemberOrderVo>> pageMerMemberOrder(@RequestBody MerMemberNoClearOrderDto merMemberNoClearOrderDto) { Long userId = SecurityUtils.getUserId(); merMemberNoClearOrderDto.setUserId(userId); diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/CancelMerOrderDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/CancelMerOrderDto.java new file mode 100644 index 0000000..f7a62bc --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/CancelMerOrderDto.java @@ -0,0 +1,16 @@ +package com.ruoyi.order.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** + * @author zhibing.pu + * @Date 2025/6/5 17:53 + */ +@Data +@ApiModel +public class CancelMerOrderDto { + @ApiModelProperty("商户id") + private Long shopId; + @ApiModelProperty("订单id") + private String orderId; +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerOrderPageDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerOrderPageDto.java index d608eec..6e9df12 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerOrderPageDto.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerOrderPageDto.java @@ -27,7 +27,7 @@ @ApiModelProperty(value = "搜索关键词") private String keyword; - @ApiModelProperty(value = "1.全部2.待核销3.已核销") + @ApiModelProperty(value = "0.已取消1.全部2.待核销3.已核销") private Integer type; @ApiModelProperty(value = "订单开始时间") @@ -35,7 +35,7 @@ @ApiModelProperty(value = "订单结束时间") private String endOrderDate; - - @ApiModelProperty(value = "订单来源1.店铺商品2.平台秒杀活动3.线下创建") + + @ApiModelProperty(value = "订单来源1.商城2.秒杀活动3.线下创建4.抽奖5.美团6.抖音7.快手") private Integer orderFrom; } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsListVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsListVo.java index 27755d9..c54294d 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsListVo.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerConsumerGoodsListVo.java @@ -24,31 +24,34 @@ @ApiModelProperty(value="商品类型1周期2服务3体验4单品") private Integer goodsType; - - @ApiModelProperty(value="商品名称") + + @ApiModelProperty(value = "商品名称") private String goodsName; - - @ApiModelProperty(value="商品标签") + + @ApiModelProperty(value = "商品标签") private String goodsTags; - + @ApiModelProperty(value = "商品简介") private String goodsIntroduction; - - @ApiModelProperty(value="商品图片") + + @ApiModelProperty(value = "商品图片") private String goodsPicture; - - @ApiModelProperty(value="商品调理问题") + + @ApiModelProperty(value = "商品调理问题") private String goodsNurses; - - @ApiModelProperty(value="周期标记") + + @ApiModelProperty(value = "周期标记") private Integer cycleNumFlag; - - @ApiModelProperty(value="服务次数") + + @ApiModelProperty(value = "服务次数") private Integer serviceNum; - - @ApiModelProperty(value="消耗次数") + + @ApiModelProperty(value = "消耗次数") private Integer usedNum; - - @ApiModelProperty(value="待确认次数") + + @ApiModelProperty(value = "待确认次数") private Integer sureNum; + + @ApiModelProperty(value = "是否选中") + private Boolean optionFlag; } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberOrderVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberOrderVo.java index 5271477..63f1660 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberOrderVo.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberOrderVo.java @@ -1,11 +1,13 @@ package com.ruoyi.order.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.system.api.domain.vo.MerCouponGoodsListVo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; +import java.util.List; /** * @ClassName MerMemberOrderVo @@ -55,14 +57,17 @@ @ApiModelProperty(value="未收金额") private BigDecimal unPaidMoney; - - @ApiModelProperty(value="收款时间") + + @ApiModelProperty(value = "收款时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date receiveMoneyTime; - - @ApiModelProperty(value="收款金额") + + @ApiModelProperty(value = "收款金额") private BigDecimal thisReceiveMoney; - - @ApiModelProperty(value="收款方式") + + @ApiModelProperty(value = "收款方式") private String thisReceiveType; + + @ApiModelProperty(value = "商品信息") + private List<MerCouponGoodsListVo> goodsList; } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerVerifyAwardVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerVerifyAwardVo.java index ac68377..199316f 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerVerifyAwardVo.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerVerifyAwardVo.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "奖品来源") private String giftFrom; - @ApiModelProperty(value = "礼物类型1优惠券2商品3现金4实物") + @ApiModelProperty(value = "礼物类型1优惠券2商品3现金4实物5积分") private Integer giftType; @ApiModelProperty(value = "奖品名称") diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java index 59dfddd..b5a1724 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.order.service.impl.order; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.R; @@ -87,20 +88,29 @@ public List<AppConsumerPageVo> pageUserConsumerGoods(Page page, AppConsumerPageDto appConsumerPageDto){ return consumerGoodsMapper.pageUserConsumerGoods(page, appConsumerPageDto); } - + /** * 获取会员服务商品 + * * @param merConsumerGoodsDto * @return */ @Override - public MerConsumerGoodsVo listMerConsumerGoods(MerConsumerGoodsDto merConsumerGoodsDto){ + public MerConsumerGoodsVo listMerConsumerGoods(MerConsumerGoodsDto merConsumerGoodsDto) { MerConsumerGoodsVo merConsumerGoodsVo = new MerConsumerGoodsVo(); - if(merConsumerGoodsDto.getGoodsType()==1){ + if (merConsumerGoodsDto.getGoodsType() == 1) { List<MerConsumerGoodsListVo> noSureList = consumerGoodsMapper.listMerNoSureConsumerGoods(merConsumerGoodsDto); merConsumerGoodsVo.setNoSureList(noSureList); } List<MerConsumerGoodsListVo> sureList = consumerGoodsMapper.listMerConsumerGoods(merConsumerGoodsDto); + Member member = remoteMemberService.getMember(merConsumerGoodsDto.getUserId()).getData(); + String lastServiceId = member.getLastServiceId(); + if (StringUtils.isNotEmpty(lastServiceId)) { + List<String> list = JSON.parseArray(lastServiceId, String.class); + sureList.forEach(s -> { + s.setOptionFlag(list.contains(s.getConsumerGoodsId())); + }); + } merConsumerGoodsVo.setSureList(sureList); return merConsumerGoodsVo; } @@ -174,13 +184,13 @@ } } //判断商品确认次数 - if(sureNum>oldConsumerGoods.getSureNum()){ + if (sureNum > oldConsumerGoods.getSureNum()) { throw new ServiceException(AppErrorConstant.GOODS_SURE_FAILED); - }else{ + } else { int surpNum = oldConsumerGoods.getSureNum(); surpNum = surpNum - sureNum; oldConsumerGoods.setSureNum(surpNum); - if(surpNum==0){ + if (surpNum == 0) { oldConsumerGoods.setDelFlag(1); } this.saveOrUpdate(oldConsumerGoods); @@ -304,20 +314,26 @@ serviceRecord.setConsumerGoodsNames(goodsNames); userServiceRecordService.saveOrUpdate(serviceRecord); //服务记录详情 - for(ServiceRecordDetail serviceRecordDetail1 : serviceRecordDetailList){ + for (ServiceRecordDetail serviceRecordDetail1 : serviceRecordDetailList) { serviceRecordDetail1.setRecordId(serviceRecord.getId()); } serviceRecordDetailService.saveBatch(serviceRecordDetailList); + + //保存本次确认的服务商品id,用于下次进入页面后默认勾选上 + List<String> collect = goodsList.stream().map(MerSureConsumerGoodsListDto::getConsumerGoodsId).collect(Collectors.toList()); + Member member = remoteMemberService.getMember(merSureConsumerGoodsDto.getUserId()).getData(); + member.setLastServiceId(JSON.toJSONString(collect)); + remoteMemberService.editMember(member); + //更新商户和会员服务统计 MemberTotalChangeDto memberTotalChange = new MemberTotalChangeDto(); memberTotalChange.setUserId(merSureConsumerGoodsDto.getMemberUserId()); memberTotalChange.setTypeService(2); memberTotalChange.setServiceCount(serviceCount); remoteMemberService.changeMemberTotal(memberTotalChange); - if(!sendData.isEmpty()){ - Member member = remoteMemberService.getMember(userId).getData(); + if (!sendData.isEmpty()) { R<Shop> r = remoteShopService.getShop(shopId); - if(r.getCode() != 200){ + if (r.getCode() != 200) { throw new ServiceException(r.getMsg()); } Shop shop = r.getData(); @@ -327,11 +343,10 @@ Integer number = Integer.valueOf(sendDatum.get("number").toString()); String msg = "{\"name\":\"" + (StringUtils.isEmpty(member.getRealName()) ? member.getNickName() : member.getRealName()) + "\"," + "\"store\":\"" + shop.getShopName() + "\",\"product\":\"" + product + "\"}"; - if(number == 2){ - MsgUtils.sendMsg(member.getMobile(),"SMS_464376210",msg); - } - if(number == 0){ - MsgUtils.sendMsg(member.getMobile(),"SMS_464321234",msg); + if (number == 0) { + MsgUtils.sendMsg(member.getMobile(), "SMS_464321234", msg); + } else { + MsgUtils.sendMsg(member.getMobile(), "SMS_464376210", msg); } } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 1ab53ad..1ef2d06 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -3032,9 +3032,27 @@ if (merMemberNoClearOrderVo.getUnPaidMoney() == null) { merMemberNoClearOrderVo.setUnPaidMoney(zeroBig); } - if(merMemberNoClearOrderVo.getUnPaidMoney().compareTo(zeroBig)<0){ + if (merMemberNoClearOrderVo.getUnPaidMoney().compareTo(zeroBig) < 0) { merMemberNoClearOrderVo.setUnPaidMoney(zeroBig); } + List<MerCouponGoodsListVo> goodsList = new ArrayList<>(); + orderGoodsService.listByOrderId(merMemberNoClearOrderVo.getOrderId()).forEach(orderGoodsVo -> { + MerCouponGoodsListVo merCouponGoodsListVo = new MerCouponGoodsListVo(); + merCouponGoodsListVo.setGoodsId(orderGoodsVo.getGoodsId()); + merCouponGoodsListVo.setGoodsName(orderGoodsVo.getGoodsName()); + merCouponGoodsListVo.setGoodsNum(orderGoodsVo.getBuyNum()); + if (orderGoodsVo.getGoodsType() == 1) { + merCouponGoodsListVo.setGoodsType("周期"); + } else if (orderGoodsVo.getGoodsType() == 2) { + merCouponGoodsListVo.setGoodsType("服务"); + } else if (orderGoodsVo.getGoodsType() == 3) { + merCouponGoodsListVo.setGoodsType("体验"); + } else if (orderGoodsVo.getGoodsType() == 4) { + merCouponGoodsListVo.setGoodsType("单品"); + } + goodsList.add(merCouponGoodsListVo); + }); + merMemberNoClearOrderVo.setGoodsList(goodsList); } } return merMemberNoClearOrderVoList; @@ -4801,17 +4819,17 @@ if (memberGiftRecord.getGiftFrom() == 1) { BirthdayCard birthdayCard = remoteMemberService.getBirthdayCard().getData(); //判断生日活动状态 - if(birthdayCard!=null&&birthdayCard.getCardStatus()==1){ + if (birthdayCard != null && birthdayCard.getCardStatus() == 1) { shop = remoteShopService.getShop(shopId).getData(); //判断指定区域全部店铺 - if(birthdayCard.getAreaFlag()==2&&birthdayCard.getShopFlag()==1&&!StringUtils.checkString(birthdayCard.getDesignatedArea(),shop.getShopCityCode())){ + if (birthdayCard.getAreaFlag() == 2 && birthdayCard.getShopFlag() == 1 && !StringUtils.checkString(birthdayCard.getDesignatedArea(), shop.getShopCityCode())) { throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); } //判断指定店铺 - if(birthdayCard.getShopFlag()==2&&!StringUtils.checkString(birthdayCard.getApplicableShop(),shopId.toString())){ + if (birthdayCard.getShopFlag() == 2 && !StringUtils.checkString(birthdayCard.getApplicableShop(), shopId.toString())) { throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); } - }else{ + } else { throw new ServiceException(AppErrorConstant.BIRTHDAY_CARD_ERROR); } } @@ -4819,16 +4837,20 @@ if (memberGiftRecord.getGiftFrom() == 2 && !memberGiftRecord.getShopId().equals(shopId)) { throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); } - + merVerifyAwardVo.setUserName(member.getRealName()); merVerifyAwardVo.setUserMobile(member.getMobile()); - if (memberGiftRecord.getGiftFrom() == 1) { - merVerifyAwardVo.setGiftFrom("平台生日卡"); + if (1 == memberGiftRecord.getPrizeFrom()) { + if (memberGiftRecord.getGiftFrom() == 1) { + merVerifyAwardVo.setGiftFrom("平台生日卡"); + } else { + merVerifyAwardVo.setGiftFrom("商户生日卡"); + } } else { - merVerifyAwardVo.setGiftFrom("商户生日卡"); + merVerifyAwardVo.setGiftFrom("平台抽奖"); } merVerifyAwardVo.setGiftType(memberGiftRecord.getGiftType()); - //礼物类型1优惠券2商品3现金4实物 + //礼物类型1优惠券2商品3现金4实物5积分 switch (memberGiftRecord.getGiftType()) { case 1: merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName()); diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index f6656e0..4370b43 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml @@ -365,24 +365,32 @@ toc.order_status orderStatus, toc.order_money orderGoodsMoney, toc.coupon_money couponDiscount, - CASE toc.pay_type WHEN 1 THEN toc.order_money-toc.coupon_money WHEN 2 THEN toc.order_money-toc.coupon_money-toc.online_pay_money END receivableMoney, + CASE toc.pay_type WHEN 1 THEN toc.order_money-toc.coupon_money WHEN 2 THEN + toc.order_money-toc.coupon_money-toc.online_pay_money END receivableMoney, toc.receivable_deposit receivableDeposit, toc.pay_money payMoney, - (CASE WHEN null = toc.change_receivable_money or toc.change_receivable_money = 0 THEN toc.receivable_money ELSE toc.change_receivable_money END) relReceiveMoney, + (CASE WHEN null = toc.change_receivable_money or toc.change_receivable_money = 0 THEN toc.receivable_money ELSE + toc.change_receivable_money END) relReceiveMoney, CASE toc.pay_type WHEN 1 THEN toc.pay_money WHEN 2 THEN IFNULL(toc.offline_pay_money,0) END receiveMoney, - (CASE WHEN null = toc.change_receivable_money or toc.change_receivable_money = 0 THEN toc.receivable_money ELSE toc.change_receivable_money END) - (CASE toc.pay_type WHEN 1 THEN toc.pay_money WHEN 2 THEN IFNULL(toc.offline_pay_money,0) END) unPaidMoney, + (CASE WHEN null = toc.change_receivable_money or toc.change_receivable_money = 0 THEN toc.receivable_money ELSE + toc.change_receivable_money END) - (CASE toc.pay_type WHEN 1 THEN toc.pay_money WHEN 2 THEN + IFNULL(toc.offline_pay_money,0) END) unPaidMoney, toc.order_remark orderRemark, toc.create_time createTime, toc.order_from orderFrom, - CASE toc.order_from WHEN 1 THEN '商城订单' WHEN 2 THEN CONCAT('平台秒杀活动(',toc.activity_name,')') WHEN 3 THEN '线下创建' END orderFromDesc, + CASE toc.order_from WHEN 1 THEN '商城订单' WHEN 2 THEN CONCAT('平台秒杀活动(',toc.activity_name,')') WHEN 3 THEN + '线下创建' END orderFromDesc, toc.activity_name activityName FROM t_order toc - WHERE toc.del_flag = 0 AND toc.shop_id = #{param.shopId} and if(toc.order_from = 1, 1 = 1, toc.order_status = 3)<!--临时增加过滤--> + WHERE toc.del_flag = 0 AND toc.shop_id = #{param.shopId} <if test="param.memberUserId != null and param.memberUserId != ''"> AND toc.user_id = #{param.memberUserId} </if> + <if test="param.type != null and param.type ==0 "> + AND toc.order_status = 0 + </if> <if test="param.type != null and param.type ==1 "> - AND (toc.order_status = 2 OR toc.order_status = 3) + AND toc.order_status in(0, 2, 3) </if> <if test="param.type != null and param.type ==2 "> AND toc.order_status = 2 diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java index 9b5aaf7..25a399c 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java @@ -286,4 +286,18 @@ shopAppointableTimeService.updateById(shopAppointableTime); return R.ok(); } + + @RequestMapping(value = "/getMyShopList", method = RequestMethod.POST) + @ApiOperation(value = "获取当前账户可切换的门店列表【2.0】") + public R<List<Shop>> getMyShopList() { + Long userId = SecurityUtils.getUserId(); + List<ShopRelUser> shopRelUser = shopRelUserService.getByUserId(userId); + List<Shop> collect = shopRelUser.stream().map(e -> { + Shop shop = shopService.getById(e.getShopId()); + return shop; + }).collect(Collectors.toList()); + return R.ok(collect); + } + + } -- Gitblit v1.7.1