jiangqs
2023-06-14 3fb8fc0d2093a0646b11e5f2dc3b78bd6b633635
活动管理
20个文件已修改
5个文件已添加
557 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtSimpleShopVo.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityPageDto.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGetVo.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGoodsListVo.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityPageVo.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityGoodsMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityGoodsService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityGoodsServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityGoodsMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtQuickEntryPageVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/QuickEntryServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/QuickEntryMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 = "只能删除未开始活动";
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtSimpleShopVo.java
New file
@@ -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;
}
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());
            }
        };
    }
}
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);
}
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();
    }
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityPageDto.java
New file
@@ -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;
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGetVo.java
New file
@@ -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;
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGoodsListVo.java
New file
@@ -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;
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityPageVo.java
New file
@@ -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;
}
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);
}
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);
}
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);
}
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);
}
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);
    }
}
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);
    }
}
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>
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) &gt; 0
        </if>
        <if test="param.activityStartTime!=null and param.activityStartTime != ''">
            AND ta.activity_start_time &gt;= #{param.activityStartTime}
        </if>
        <if test="param.activityEndTime!=null and param.activityEndTime != ''">
            AND ta.activity_start_time &lt;= #{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 &gt;= #{param.createStartTime}
        </if>
        <if test="param.createEndTime!=null and param.createEndTime != ''">
            AND ta.create_time &lt;= #{createEndTime}
        </if>
    </select>
</mapper>
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);
    }
}
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);
}
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);
    }
}
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);
}
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>
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;
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);
    }
}
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>