From 3fb8fc0d2093a0646b11e5f2dc3b78bd6b633635 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期三, 14 六月 2023 18:40:26 +0800 Subject: [PATCH] 活动管理 --- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java | 2 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityPageVo.java | 49 ++++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityPageDto.java | 39 +++ ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/QuickEntryMapper.xml | 9 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityGoodsServiceImpl.java | 19 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java | 35 +++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtSimpleShopVo.java | 21 ++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtQuickEntryPageVo.java | 2 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGoodsListVo.java | 38 +++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityGoodsService.java | 11 + ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml | 8 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java | 9 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java | 7 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java | 14 + ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityGoodsMapper.xml | 19 + ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml | 48 ++++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java | 10 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGetVo.java | 64 ++++++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/QuickEntryServiceImpl.java | 1 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 13 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java | 8 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java | 68 ++++++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java | 37 +++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityGoodsMapper.java | 12 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java | 14 + 25 files changed, 548 insertions(+), 9 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java index 67e5919..c6ea203 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java @@ -145,4 +145,6 @@ String COUPON_SENT_DEL = "已发放优惠券不能删除"; String ACTIVITY_ING_EDIT = "只能编辑未开始活动"; + + String ACTIVITY_ING_DELETE = "只能删除未开始活动"; } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtSimpleShopVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtSimpleShopVo.java new file mode 100644 index 0000000..1ddc957 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtSimpleShopVo.java @@ -0,0 +1,21 @@ +package com.ruoyi.system.api.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ClassName MgtActivityShopVo + * @Description TODO + * @Author jqs + * @Date 2023/6/14 17:13 + * @Version 1.0 + */ +@Data +public class MgtSimpleShopVo { + + @ApiModelProperty(value = "商户id") + private Long shopId; + + @ApiModelProperty(value = "商户名称") + private String shopName; +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java index 352c973..ba61a32 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java @@ -3,6 +3,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto; import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo; +import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; import com.ruoyi.system.api.model.QwH5LoginVo; import com.ruoyi.system.api.model.QwUserDetailDto; import com.ruoyi.system.api.service.RemoteShopService; @@ -12,6 +13,8 @@ import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; + +import java.util.List; /** * 商户服务 @@ -59,6 +62,11 @@ return R.fail("获取商户失败:" + throwable.getMessage()); } + @Override + public R<List<MgtSimpleShopVo>> listShopSimpleVoByIds(String shopIds) { + return R.fail("获取商户列表失败:" + throwable.getMessage()); + } + }; } } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java index 982e716..2cba2fa 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java @@ -5,6 +5,7 @@ import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo; +import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; import com.ruoyi.system.api.domain.vo.ShopRelUserVo; import com.ruoyi.system.api.factory.RemoteShopFallbackFactory; import com.ruoyi.system.api.model.QwH5LoginVo; @@ -12,6 +13,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; @FeignClient(contextId = "remoteShopService", value = ServiceNameConstants.SHOP_SERVICE, fallbackFactory = RemoteShopFallbackFactory.class) public interface RemoteShopService { @@ -60,4 +63,8 @@ */ @PostMapping("/shop/getShopIdByCode") public R<MgtShopIdByCodeVo> getShopIdByCode(@RequestBody MgtShopIdByCodeDto mgtShopIdByCodeDto); + + + @PostMapping("/shop/listShopSimpleVoByIds") + public R<List<MgtSimpleShopVo>> listShopSimpleVoByIds(@RequestBody String shopIds); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java index 62f1070..a4aded3 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java @@ -1,9 +1,14 @@ package com.ruoyi.goods.controller.management; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.goods.domain.dto.MgtActivityEditDto; +import com.ruoyi.goods.domain.dto.MgtActivityPageDto; +import com.ruoyi.goods.domain.vo.MgtActivityGetVo; +import com.ruoyi.goods.domain.vo.MgtActivityPageVo; import com.ruoyi.goods.service.activity.ActivityService; +import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.RequestBody; @@ -12,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; /** * @ClassName MgtActivityController @@ -36,4 +42,33 @@ activityService.editMgtActivity(mgtActivityEditDto); return R.ok(); } + + @RequestMapping(value = "/pageMgtActivity", method = RequestMethod.POST) + @ApiOperation(value = "分页获取活动列表") + public R<Page<MgtActivityPageVo>> pageMgtActivity(@RequestBody MgtActivityPageDto mgtActivityPageDto) { + Page<MgtActivityPageVo> page = new Page<>(); + page.setSize(mgtActivityPageDto.getPageSize()); + page.setCurrent(mgtActivityPageDto.getPageNum()); + page.setOptimizeCountSql(false); + List<MgtActivityPageVo> mgtActivityPageVoList = activityService.pageMgtActivity(page,mgtActivityPageDto); + return R.ok(page.setRecords(mgtActivityPageVoList)); + } + + @RequestMapping(value = "/getMgtActivity", method = RequestMethod.POST) + @ApiOperation(value = "平台获取活动编辑信息") + public R<MgtActivityGetVo> getMgtActivity(@RequestBody MgtBaseGetDto mgtBaseGetDto) { + Long userId = SecurityUtils.getUserId(); + mgtBaseGetDto.setUserId(userId); + MgtActivityGetVo mgtActivityEditDto = activityService.getMgtActivity(mgtBaseGetDto.getId()); + return R.ok(mgtActivityEditDto); + } + + @RequestMapping(value = "/deleteMgtActivity", method = RequestMethod.POST) + @ApiOperation(value = "平台删除活动") + public R deleteMgtActivity(@RequestBody MgtBaseGetDto mgtBaseGetDto) { + Long userId = SecurityUtils.getUserId(); + mgtBaseGetDto.setUserId(userId); + activityService.deleteMgtActivity(mgtBaseGetDto.getId()); + return R.ok(); + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityPageDto.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityPageDto.java new file mode 100644 index 0000000..000e34c --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityPageDto.java @@ -0,0 +1,39 @@ +package com.ruoyi.goods.domain.dto; + +import com.ruoyi.system.api.domain.dto.MgtPageDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @ClassName MgtActivityPageDto + * @Description TODO + * @Author jqs + * @Date 2023/6/14 16:23 + * @Version 1.0 + */ +@Data +public class MgtActivityPageDto extends MgtPageDto { + + @ApiModelProperty(value = "商品名称") + private String activityName; + + @ApiModelProperty(value = "商户id") + private Long shopId; + + @ApiModelProperty(value = "活动开始时间") + private Date activityStartTime; + + @ApiModelProperty(value = "活动结束时间") + private Date activityEndTime; + + @ApiModelProperty(value = "活动状态0未开始1进行中2已结束") + private Integer activityStatus; + + @ApiModelProperty(value = "创建开始时间") + private Date createStartTime; + + @ApiModelProperty(value = "创建结束时间") + private Date createEndTime; +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGetVo.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGetVo.java new file mode 100644 index 0000000..9ff960b --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGetVo.java @@ -0,0 +1,64 @@ +package com.ruoyi.goods.domain.vo; + +import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @ClassName MgtActivityGetVo + * @Description TODO + * @Author jqs + * @Date 2023/6/14 17:11 + * @Version 1.0 + */ +@Data +public class MgtActivityGetVo { + + @ApiModelProperty(value = "活动id 新增不传") + private String activityId; + + @ApiModelProperty(value = "活动名称") + private String activityName; + + @ApiModelProperty(value = "活动开始时间") + private Date activityStartTime; + + @ApiModelProperty(value = "活动结束时间") + private Date activityEndTime; + + @ApiModelProperty(value = "成团人数") + private Integer groupBuyNumber; + + @ApiModelProperty(value = "限购标记0否1是") + private Integer purchaseLimitationFlag; + + @ApiModelProperty(value = "限购数量") + private Integer limitNumber; + + @ApiModelProperty(value = "宣传海报") + private String propagandaPoster; + + @ApiModelProperty(value = "适用地区标记1全部2指定") + private Integer areaFlag; + + @ApiModelProperty(value = "适用地区code集合 多个用,隔开") + private String designatedArea; + + @ApiModelProperty(value = "适用店铺标记1全部2指定") + private Integer shopFlag; + + @ApiModelProperty(value = "适用店铺 多个用,隔开") + private String applicableShop; + + @ApiModelProperty(value = "推荐标记") + private Integer recommendFlag; + + @ApiModelProperty(value = "商户列表") + private List<MgtSimpleShopVo> mgtSimpleShopVosList; + + @ApiModelProperty(value = "商品列表") + private List<MgtActivityGoodsListVo> mgtActivityGoodsVoList; +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGoodsListVo.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGoodsListVo.java new file mode 100644 index 0000000..971e438 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGoodsListVo.java @@ -0,0 +1,38 @@ +package com.ruoyi.goods.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @ClassName MgtActivityGoodsListVo + * @Description TODO + * @Author jqs + * @Date 2023/6/14 17:18 + * @Version 1.0 + */ +@Data +public class MgtActivityGoodsListVo { + + @ApiModelProperty(value = "商品id") + private String goodsId; + + @ApiModelProperty(value = "商品名称") + private String goodsName; + + @ApiModelProperty(value = "商品类型") + private String goodsType; + + @ApiModelProperty(value = "商品售价") + private BigDecimal salesPrice;; + + @ApiModelProperty(value = "秒杀活动价") + private BigDecimal activityPrice; + + @ApiModelProperty(value = "秒杀活动订金") + private BigDecimal activitySubscription; + + @ApiModelProperty(value = "秒杀活动库存") + private Integer activityNumber; +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityPageVo.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityPageVo.java new file mode 100644 index 0000000..bd6cbc6 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityPageVo.java @@ -0,0 +1,49 @@ +package com.ruoyi.goods.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @ClassName MgtActivityPageVo + * @Description TODO + * @Author jqs + * @Date 2023/6/14 16:34 + * @Version 1.0 + */ +@Data +public class MgtActivityPageVo { + + @ApiModelProperty(value = "活动id") + private String activityId; + + @ApiModelProperty(value = "活动名称") + private String activityName; + + @ApiModelProperty(value = "活动开始时间") + private Date activityStartTime; + + @ApiModelProperty(value = "活动结束时间") + private Date activityEndTime; + + @ApiModelProperty(value = "付款订单数") + private Integer orderTotal; + + @ApiModelProperty(value = "付款人数") + private Date personTotal; + + @ApiModelProperty(value = "适用店铺") + private String shopFlag; + + @ApiModelProperty(value = "活动状态0未开始1进行中2已结束") + private String activityStatus; + + @ApiModelProperty(value = "推荐标记") + private String recommendFlag; + + @ApiModelProperty(value = "创建开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityGoodsMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityGoodsMapper.java index 4f1b2da..cacfa49 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityGoodsMapper.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityGoodsMapper.java @@ -1,7 +1,11 @@ package com.ruoyi.goods.mapper.activity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.goods.domain.vo.MgtActivityGoodsListVo; import com.ruoyi.system.api.domain.poji.activity.ActivityGoods; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** @@ -14,4 +18,12 @@ */ public interface ActivityGoodsMapper extends BaseMapper<ActivityGoods> { + /** + * @description + * @author jqs + * @date 2023/6/14 18:02 + * @param + * @return List<MgtActivityGoodsListVo> + */ + List<MgtActivityGoodsListVo> listVoByActivityId(@Param("activityId")String activityId); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java index 540e9d5..02e804e 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java @@ -1,7 +1,13 @@ package com.ruoyi.goods.mapper.activity; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.goods.domain.dto.MgtActivityPageDto; import com.ruoyi.goods.domain.pojo.activity.Activity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.goods.domain.vo.MgtActivityPageVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * <p> @@ -13,4 +19,12 @@ */ public interface ActivityMapper extends BaseMapper<Activity> { + /** + * @description 分页获取活动列表 + * @author jqs + * @date 2023/6/14 16:39 + * @param mgtActivityPageDto + * @return List<MgtActivityPageVo> + */ + List<MgtActivityPageVo> pageMgtActivity(Page page, @Param("param") MgtActivityPageDto mgtActivityPageDto); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityGoodsService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityGoodsService.java index 2a427fa..ad26f68 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityGoodsService.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityGoodsService.java @@ -1,7 +1,10 @@ package com.ruoyi.goods.service.activity; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.goods.domain.vo.MgtActivityGoodsListVo; import com.ruoyi.system.api.domain.poji.activity.ActivityGoods; + +import java.util.List; /** @@ -29,4 +32,12 @@ * @return void */ void deleteByActivityId(String activityId); + /** + * @description + * @author jqs + * @date 2023/6/14 18:02 + * @param + * @return List<MgtActivityGoodsListVo> + */ + List<MgtActivityGoodsListVo> listVoByActivityId(String activityId); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java index 4a40d4a..c781a3b 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java @@ -1,8 +1,14 @@ package com.ruoyi.goods.service.activity; -import com.ruoyi.goods.domain.dto.MgtActivityEditDto; -import com.ruoyi.goods.domain.pojo.activity.Activity; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.goods.domain.dto.MgtActivityEditDto; +import com.ruoyi.goods.domain.dto.MgtActivityPageDto; +import com.ruoyi.goods.domain.pojo.activity.Activity; +import com.ruoyi.goods.domain.vo.MgtActivityGetVo; +import com.ruoyi.goods.domain.vo.MgtActivityPageVo; + +import java.util.List; /** * <p> @@ -22,4 +28,31 @@ * @return void */ void editMgtActivity(MgtActivityEditDto mgtActivityEditDto); + + /** + * @description 分页获取活动列表 + * @author jqs + * @date 2023/6/14 16:39 + * @param mgtActivityPageDto + * @return List<MgtActivityPageVo> + */ + List<MgtActivityPageVo> pageMgtActivity(Page page, MgtActivityPageDto mgtActivityPageDto); + + /** + * @description 获取活动编辑信息 + * @author jqs + * @date 2023/6/14 17:30 + * @param activityId + * @return MgtActivityGetVo + */ + MgtActivityGetVo getMgtActivity(String activityId); + + /** + * @description 平台删除活动 + * @author jqs + * @date 2023/6/14 18:12 + * @param activityId + * @return void + */ + void deleteMgtActivity(String activityId); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityGoodsServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityGoodsServiceImpl.java index c767f16..33cf898 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityGoodsServiceImpl.java @@ -4,12 +4,16 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.goods.domain.vo.MgtActivityGoodsListVo; import com.ruoyi.goods.mapper.activity.ActivityGoodsMapper; import com.ruoyi.goods.service.activity.ActivityGoodsService; import com.ruoyi.system.api.domain.poji.activity.ActivityGoods; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; /** * <p> @@ -21,6 +25,9 @@ */ @Service public class ActivityGoodsServiceImpl extends ServiceImpl<ActivityGoodsMapper, ActivityGoods> implements ActivityGoodsService { + + @Resource + private ActivityGoodsMapper activityGoodsMapper; /** * 通过id获取活动商品 @@ -50,4 +57,16 @@ wrapper.set(ActivityGoods::getDelFlag, 1); this.update(wrapper); } + + /** + * @description + * @author jqs + * @date 2023/6/14 18:02 + * @param + * @return List<MgtActivityGoodsListVo> + */ + @Override + public List<MgtActivityGoodsListVo> listVoByActivityId(String activityId){ + return activityGoodsMapper.listVoByActivityId(activityId); + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java index 712f5f8..c663856 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java @@ -1,12 +1,18 @@ package com.ruoyi.goods.service.impl.activity; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.goods.domain.dto.MgtActivityEditDto; import com.ruoyi.goods.domain.dto.MgtActivityGoodsEditDto; +import com.ruoyi.goods.domain.dto.MgtActivityPageDto; import com.ruoyi.goods.domain.pojo.activity.Activity; import com.ruoyi.goods.domain.pojo.activity.ActivityTotal; +import com.ruoyi.goods.domain.vo.MgtActivityGetVo; +import com.ruoyi.goods.domain.vo.MgtActivityGoodsListVo; +import com.ruoyi.goods.domain.vo.MgtActivityPageVo; import com.ruoyi.goods.mapper.activity.ActivityMapper; import com.ruoyi.goods.service.activity.ActivityGoodsService; import com.ruoyi.goods.service.activity.ActivityService; @@ -14,6 +20,8 @@ import com.ruoyi.goods.service.activity.ActivityTotalService; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.poji.activity.ActivityGoods; +import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; +import com.ruoyi.system.api.service.RemoteShopService; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -34,11 +42,16 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> implements ActivityService { @Resource + private ActivityMapper activityMapper; + + @Resource private ActivityGoodsService activityGoodsService; @Resource private ActivityTotalService activityTotalService; + @Resource + private RemoteShopService remoteShopService; /** * @param mgtActivityEditDto * @return void @@ -128,4 +141,59 @@ } } } + + /** + * @description 分页获取活动列表 + * @author jqs + * @date 2023/6/14 16:39 + * @param mgtActivityPageDto + * @return List<MgtActivityPageVo> + */ + @Override + public List<MgtActivityPageVo> pageMgtActivity(Page page, MgtActivityPageDto mgtActivityPageDto){ + List<MgtActivityPageVo> mgtActivityPageVoList = activityMapper.pageMgtActivity(page, mgtActivityPageDto); + return mgtActivityPageVoList; + } + + /** + * @description 获取活动编辑信息 + * @author jqs + * @date 2023/6/14 17:30 + * @param activityId + * @return MgtActivityGetVo + */ + @Override + public MgtActivityGetVo getMgtActivity(String activityId){ + MgtActivityGetVo mgtActivityGetVo = new MgtActivityGetVo(); + Activity activity = this.getById(activityId); + BeanUtils.copyProperties(activity, mgtActivityGetVo); + //活动关联商户 + if(activity.getShopFlag()==2&&StringUtils.isNotBlank(activity.getApplicableShop())){ + String applicableShop = activity.getApplicableShop(); + List<MgtSimpleShopVo> mgtSimpleShopVoList= remoteShopService.listShopSimpleVoByIds(applicableShop).getData(); + mgtActivityGetVo.setMgtSimpleShopVosList(mgtSimpleShopVoList); + } + //活动关联商品 + List<MgtActivityGoodsListVo> mgtActivityGoodsVoList = activityGoodsService.listVoByActivityId(activityId); + mgtActivityGetVo.setMgtActivityGoodsVoList(mgtActivityGoodsVoList); + return mgtActivityGetVo; + } + + /** + * @description 平台删除活动 + * @author jqs + * @date 2023/6/14 18:12 + * @param activityId + * @return void + */ + @Override + public void deleteMgtActivity(String activityId){ + Activity activity = this.getById(activityId); + if (activity.getActivityStatus() != 0) { + throw new ServiceException(AppErrorConstant.ACTIVITY_ING_DELETE); + } + activity.setDelFlag(1); + activity.setActivityStatus(-1); + this.saveOrUpdate(activity); + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityGoodsMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityGoodsMapper.xml index e06c20a..b86dc26 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityGoodsMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityGoodsMapper.xml @@ -81,4 +81,23 @@ </foreach> </delete> + <select id="listVoByActivityId" resultType="com.ruoyi.goods.domain.vo.MgtActivityGoodsListVo"> + SELECT + tag.goods_id goodsId, + tg.goods_name goodsName, + CASE tg.goods_type + WHEN 1 THEN "周期" + WHEN 2 THEN "服务" + WHEN 3 THEN "体验" + WHEN 4 THEN "单品" + END goodsType, + tg.sales_price salesPrice, + tag.activity_price activityPrice, + tag.activity_subscription activitySubscription, + tag.activity_number activityNumber + FROM t_activity_goods tag + INNER JOIN t_goods tg ON tag.goods_id = tg.goods_id + WHERE tag.del_flag = 0 + AND tag.activity_id = #{activityId} + </select> </mapper> diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml index 5ce5682..bb8af23 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml @@ -2,6 +2,52 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.goods.mapper.activity.ActivityMapper"> - + <select id="pageMgtActivity" resultType="com.ruoyi.goods.domain.vo.MgtActivityPageVo"> + SELECT + ta.activity_id activityId, + ta.activity_name activityName, + ta.activity_start_time activityStartTime, + ta.activity_end_time activityEndTime, + tat.order_total orderTotal, + tat.person_total personTotal, + CASE ta.shop_flag + WHEN 1 THEN '全部' + WHEN 2 THEN '部分' + END shopFlag, + CASE ta.activity_status + WHEN 0 THEN '未开始' + WHEN 1 THEN '进行中' + WHEN 2 THEN '已结束' + END activityStatus, + CASE ta.recommend_flag + WHEN 1 THEN '是' + ELSE '否' + END recommendFlag, + ta.create_time createTime + FROM t_activity ta + INNER JOIN t_activity_total tat ON ta.activity_id = tat.activity_id + WHERE ta.del_flag = 0 + <if test="param.activityName!=null and param.activityName != ''"> + AND ta.activity_name LIKE CONCAT('%',#{param.activityName},'%') + </if> + <if test="param.shopId!=null and param.shopId != ''"> + AND FIND_IN_SET(#{param.shopId}, ta.applicable_shop) > 0 + </if> + <if test="param.activityStartTime!=null and param.activityStartTime != ''"> + AND ta.activity_start_time >= #{param.activityStartTime} + </if> + <if test="param.activityEndTime!=null and param.activityEndTime != ''"> + AND ta.activity_start_time <= #{param.activityEndTime} + </if> + <if test="param.activityStatus!=null"> + AND ta.activity_status = #{param.activityStatus} + </if> + <if test="param.createStartTime!=null and param.createStartTime != ''"> + AND ta.create_time >= #{param.createStartTime} + </if> + <if test="param.createEndTime!=null and param.createEndTime != ''"> + AND ta.create_time <= #{createEndTime} + </if> + </select> </mapper> diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java index b942e92..ae2c29a 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java @@ -12,6 +12,7 @@ import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo; +import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; import com.ruoyi.system.api.domain.vo.ShopRelUserVo; import com.ruoyi.system.api.model.QwH5LoginVo; import com.ruoyi.system.api.model.QwUserDetailDto; @@ -22,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; import java.util.Optional; /** @@ -125,4 +127,11 @@ MgtShopIdByCodeVo mgtShopIdByCodeVo = shopService.getShopIdByCode(mgtShopIdByCodeDto); return R.ok(mgtShopIdByCodeVo); } + + @PostMapping("/listShopSimpleVoByIds") + public R<List<MgtSimpleShopVo>> listShopSimpleVoByIds(@RequestBody String shopIds) + { + List<MgtSimpleShopVo> mgtShopListSimpleVos = shopService.listShopSimpleVoByIds(shopIds); + return R.ok(mgtShopListSimpleVos); + } } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java index 359d6d2..20aac9a 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java @@ -6,6 +6,7 @@ import com.ruoyi.shop.domain.vo.*; import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto; import com.ruoyi.system.api.domain.poji.shop.Shop; +import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -79,4 +80,13 @@ * @return List<MgtShopListSimpleVo> */ List<MgtShopListSimpleVo> listMgtShopSimpleVo(@Param("param")MgtShopListDto mgtShopListDto); + + /** + * @description 通过id获取商户列表 + * @author jqs + * @date 2023/6/14 17:53 + * @param shopIds + * @return List<MgtSimpleShopVo> + */ + List<MgtSimpleShopVo> listShopSimpleVoByIds(@Param("shopIds")String shopIds); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java index 362d843..41aa9b3 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java @@ -24,6 +24,7 @@ import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo; import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo; +import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; import com.ruoyi.system.api.service.RemoteConfigService; import com.ruoyi.system.api.service.RemoteMemberService; import com.ruoyi.system.api.service.RemoteOrderService; @@ -553,4 +554,16 @@ public List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto){ return shopMapper.listMgtShopSimpleVo(mgtShopListDto); } + + /** + * @description 通过id获取商户列表 + * @author jqs + * @date 2023/6/14 17:53 + * @param shopIds + * @return List<MgtShopListSimpleVo> + */ + @Override + public List<MgtSimpleShopVo> listShopSimpleVoByIds(String shopIds){ + return shopMapper.listShopSimpleVoByIds(shopIds); + } } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java index 6574b9a..1d2ff6d 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java @@ -1,14 +1,15 @@ package com.ruoyi.shop.service.shop; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.shop.domain.dto.*; import com.ruoyi.shop.domain.vo.*; import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto; -import com.ruoyi.system.api.domain.poji.shop.Shop; -import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.api.domain.poji.member.Member; +import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo; import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo; +import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; import java.util.List; @@ -129,4 +130,13 @@ * @return List<MgtShopListSimpleVo> */ List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto); + + /** + * @description 通过id获取商户列表 + * @author jqs + * @date 2023/6/14 17:53 + * @param shopIds + * @return List<MgtSimpleShopVo> + */ + List<MgtSimpleShopVo> listShopSimpleVoByIds(String shopIds); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml index 9d4d8f4..d5aedfd 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml +++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml @@ -476,4 +476,12 @@ AND shop_name LIKE CONCAT('%',#{param.keyword},'%') </if> </select> + + <select id="listShopSimpleVoByIds" resultType="com.ruoyi.system.api.domain.vo.MgtSimpleShopVo"> + SELECT + shop_id, + shop_name + FROM t_shop + WHERE del_flag = 0 AND shop_id IN (#{shopIds}) + </select> </mapper> diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtQuickEntryPageVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtQuickEntryPageVo.java index 58ecfa2..b06ce9d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtQuickEntryPageVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtQuickEntryPageVo.java @@ -26,7 +26,7 @@ private String entryName; @ApiModelProperty(value = "链接类型1.外部2.内部3.无") - private Integer targetType; + private String targetType; @ApiModelProperty(value = "链接地址") private String linkUrl; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/QuickEntryServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/QuickEntryServiceImpl.java index 682e504..20db546 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/QuickEntryServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/QuickEntryServiceImpl.java @@ -98,7 +98,6 @@ public void deleteMgtQuickEntry(MgtBaseGetDto mgtBaseGetDto){ QuickEntry quickEntry = this.getById(Long.valueOf(mgtBaseGetDto.getId())); quickEntry.setDelFlag(1); - quickEntry.insertOrUpdate(); this.saveOrUpdate(quickEntry); } } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/QuickEntryMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/QuickEntryMapper.xml index 5d10ecc..d5113a6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/QuickEntryMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/QuickEntryMapper.xml @@ -107,9 +107,14 @@ entry_id entryId, entry_url entryUrl, entry_name entryName, - target_type targetType, + CASE target_type + WHEN 1 THEN '外部' + WHEN 2 THEN '内部' + ELSE '无' + END targetType, link_url linkUrl, - create_time createTime + create_time createTime, + entry_sort entrySort FROM t_quick_entry WHERE del_flag = 0 ORDER BY entry_sort,create_time DESC </select> -- Gitblit v1.7.1