jiangqs
2023-07-02 fad58948e8c787706525dcbd70f06140e8dab2b7
商户端优惠券
14个文件已修改
3个文件已添加
562 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerBirthdayController.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerCouponController.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtBirthdayGetDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerBirthdayGetVo.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerCouponGetVo.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/birthday/BirthdayCardMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/birthday/BirthdayCardService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/birthday/BirthdayGiftService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayGiftServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/birthday/BirthdayCardMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java
@@ -87,6 +87,6 @@
     * @param name
     * @return  R<Activeness>
     */
    @PostMapping("/getActivenessByName")
    @PostMapping("/config/getActivenessByName")
    public R<Activeness> getActivenessByName(@RequestBody String name);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerBirthdayController.java
New file
@@ -0,0 +1,50 @@
package com.ruoyi.member.controller.business;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.vo.MerBirthdayGetVo;
import com.ruoyi.member.service.birthday.BirthdayCardService;
import com.ruoyi.system.api.domain.dto.MerBaseDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
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;
/**
 * @ClassName MerBirthdayController
 * @Description TODO
 * @Author jqs
 * @Date 2023/7/1 14:32
 * @Version 1.0
 */
@Api(value = "商户端生日卡相关接口", tags = "商户端生日卡相关接口", description = "商户端生日卡相关接口")
@RestController
@RequestMapping("/mer/birthday")
public class MerBirthdayController {
    @Resource
    private BirthdayCardService birthdayCardService;
    @RequestMapping(value = "/getMerPlatformBirthdayCard", method = RequestMethod.POST)
    @ApiOperation(value = "商户端获取平台生日卡信息")
    public R<MerBirthdayGetVo> getMerPlatformBirthdayCard(@RequestBody MerBaseDto merBaseDto) {
        Long userId = SecurityUtils.getUserId();
        merBaseDto.setUserId(userId);
        MerBirthdayGetVo birthdayGetVo = birthdayCardService.getMerPlatformBirthdayCard(merBaseDto.getShopId());
        return R.ok(birthdayGetVo);
    }
    @RequestMapping(value = "/getMerShopBirthdayCard", method = RequestMethod.POST)
    @ApiOperation(value = "商户端获取商户生日卡信息")
    public R<MerBirthdayGetVo> getMerShopBirthdayCard(@RequestBody MerBaseDto merBaseDto) {
        Long userId = SecurityUtils.getUserId();
        merBaseDto.setUserId(userId);
        MerBirthdayGetVo birthdayGetVo = birthdayCardService.getMerShopBirthdayCard(merBaseDto.getShopId());
        return R.ok(birthdayGetVo);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerCouponController.java
@@ -3,9 +3,12 @@
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.member.domain.vo.MerCouponGetVo;
import com.ruoyi.member.domain.vo.MerCouponPageVo;
import com.ruoyi.member.domain.vo.MgtCouponGetVo;
import com.ruoyi.member.service.coupon.CouponService;
import com.ruoyi.system.api.domain.dto.MerPageDto;
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;
@@ -33,7 +36,7 @@
    private CouponService couponService;
    @RequestMapping(value = "/pagePlatformMerCoupon", method = RequestMethod.POST)
    @ApiOperation(value = "平台分页获取优惠券列表")
    @ApiOperation(value = "商户分页获取平台优惠券列表")
    public R<Page<MerCouponPageVo>> pagePlatformMerCoupon(@RequestBody MerPageDto merPageDto) {
        Long userId = SecurityUtils.getUserId();
        merPageDto.setUserId(userId);
@@ -44,7 +47,24 @@
        return R.ok(page.setRecords(couponPageVoList));
    }
    @RequestMapping(value = "/pageShopMerCoupon", method = RequestMethod.POST)
    @ApiOperation(value = "商户分页获取商户优惠券列表")
    public R<Page<MerCouponPageVo>> pageShopMerCoupon(@RequestBody MerPageDto merPageDto) {
        Long userId = SecurityUtils.getUserId();
        merPageDto.setUserId(userId);
        Page<MerCouponPageVo> page = new Page<>();
        page.setSize(merPageDto.getPageSize());
        page.setCurrent(merPageDto.getPageNum());
        List<MerCouponPageVo> couponPageVoList = couponService.pageShopMerCoupon(page,merPageDto);
        return R.ok(page.setRecords(couponPageVoList));
    }
    @RequestMapping(value = "/getMerCouponVo", method = RequestMethod.POST)
    @ApiOperation(value = "商户获取优惠券编辑信息")
    public R<MerCouponGetVo> getMerCouponVo(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        mgtBaseGetDto.setUserId(userId);
        MerCouponGetVo couponGetVo = couponService.getMerCouponVo(mgtBaseGetDto.getId());
        return R.ok(couponGetVo);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtBirthdayGetDto.java
@@ -14,7 +14,7 @@
@Data
public class MgtBirthdayGetDto extends MgtBaseDto {
    @ApiModelProperty(value = "商户id")
    @ApiModelProperty(value = "商户id 平台不传")
    private Long shopId;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerBirthdayGetVo.java
New file
@@ -0,0 +1,19 @@
package com.ruoyi.member.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MerBirthdayGetVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/7/1 15:24
 * @Version 1.0
 */
@Data
public class MerBirthdayGetVo {
    @ApiModelProperty(value = "礼品描述")
    private String giftDesc;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerCouponGetVo.java
New file
@@ -0,0 +1,76 @@
package com.ruoyi.member.domain.vo;
import com.ruoyi.system.api.domain.dto.MerBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * @ClassName MerCouponGetVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/7/2 18:57
 * @Version 1.0
 */
@Data
public class MerCouponGetVo extends MerBaseDto {
    @ApiModelProperty(value = "优惠券id 新增不传")
    private String couponId;
    @ApiModelProperty("优惠券类型1.满减2.折扣3.代金4.商品")
    private Integer couponType;
    @ApiModelProperty("优惠券名称")
    private String couponName;
    @ApiModelProperty(value = "发送类型1.手动领取2.全部用户3.会员用户4非会员用户5自定义")
    private Integer sendType;
    @ApiModelProperty("发送时间类型1立即2定时")
    private Integer sendTimeType;
    @ApiModelProperty("发送时间")
    private Date sendTime;
    @ApiModelProperty(value = "使用范围1.全场2.指定商品")
    private String useScope;
    @ApiModelProperty(value = "有效期类型1.时间段2.领取之日起")
    private Integer validTimeType;
    @ApiModelProperty(value = "有效开始时间")
    private Date validStartTime;
    @ApiModelProperty(value = "有效截止时间")
    private Date validEndTime;
    @ApiModelProperty(value = "有效期")
    private Integer validDay;
    @ApiModelProperty(value = "门槛金额")
    private BigDecimal moneyThreshold;
    @ApiModelProperty(value = "折扣金额")
    private BigDecimal discountMoney;
    @ApiModelProperty(value = "折扣百分比")
    private BigDecimal discountPercent;
    @ApiModelProperty(value = "选择商品集合")
    private List<MgtCouponGoodsListVo> relGoodsList;
    @ApiModelProperty(value = "关联类型1.用户管理筛选2.活动管理筛选")
    private Integer relationType;
    @ApiModelProperty(value = "关联活动id")
    private String relationActivityId;
    @ApiModelProperty(value = "关联用户集合")
    private List<MgtCouponMemberListVo> relUserList;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/birthday/BirthdayCardMapper.java
@@ -2,6 +2,7 @@
import com.ruoyi.member.domain.pojo.birthday.BirthdayCard;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
 * <p>
@@ -13,4 +14,21 @@
 */
public interface BirthdayCardMapper extends BaseMapper<BirthdayCard> {
    /**
     * @description
     * @author  jqs
     * @date    2023/7/1 15:34
     * @param
     * @return  BirthdayCard
     */
    BirthdayCard getPlatformBirthdayCard(@Param("shopId") Long shopId);
    /**
     * @description
     * @author  jqs
     * @date    2023/7/1 15:34
     * @param
     * @return  BirthdayCard
     */
    BirthdayCard getMerShopBirthdayCard(@Param("shopId") Long shopId);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java
@@ -74,5 +74,15 @@
     * @param merPageDto
     * @return  List<MerCouponPageVo>
     */
    List<MerCouponPageVo> pagePlatformMerCoupon(Page page, MerPageDto merPageDto);
    List<MerCouponPageVo> pagePlatformMerCoupon(Page page, @Param("param")MerPageDto merPageDto);
    /**
     * @description  平台获取优惠券列表
     * @author  jqs
     * @date    2023/6/30 16:53
     * @param page
     * @param merPageDto
     * @return  List<MerCouponPageVo>
     */
    List<MerCouponPageVo> pageShopMerCoupon(Page page, @Param("param")MerPageDto merPageDto);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/birthday/BirthdayCardService.java
@@ -4,6 +4,7 @@
import com.ruoyi.member.domain.dto.MgtBirthdayEditDto;
import com.ruoyi.member.domain.dto.MgtBirthdayGetDto;
import com.ruoyi.member.domain.pojo.birthday.BirthdayCard;
import com.ruoyi.member.domain.vo.MerBirthdayGetVo;
import com.ruoyi.member.domain.vo.MgtBirthdayGetVo;
/**
@@ -33,4 +34,22 @@
     * @return  MgtBirthdayGetVo
     */
    MgtBirthdayGetVo getMgtBirthdayCard(MgtBirthdayGetDto mgtBirthdayGetDto);
    /**
     * @description  获取平台生日卡
     * @author  jqs
     * @date    2023/7/1 15:25
     * @param
     * @return  MerBirthdayGetVo
     */
    MerBirthdayGetVo getMerPlatformBirthdayCard(Long shopId);
    /**
     * @description  获取平台生日卡
     * @author  jqs
     * @date    2023/7/1 15:25
     * @param
     * @return  MerBirthdayGetVo
     */
    MerBirthdayGetVo getMerShopBirthdayCard(Long shopId);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/birthday/BirthdayGiftService.java
@@ -33,4 +33,13 @@
     * @return  List<MgtBirthdayGiftDto>
     */
    List<MgtBirthdayGiftVo> listGiftVoByCardId(Long cardId);
    /**
     * @description  通过生日卡id获取礼物列表
     * @author  jqs
     * @date    2023/7/1 15:58
     * @param cardId
     * @return  List<BirthdayGift>
     */
    List<BirthdayGift> listByCardId(Long cardId);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java
@@ -41,6 +41,15 @@
    MgtCouponGetVo getMgtCouponVo(String couponId);
    /**
     * @description  平台获取优惠券编辑信息
     * @author  jqs
     * @date    2023/6/13 14:29
     * @param couponId
     * @return  MerCouponGetVo
     */
    MerCouponGetVo getMerCouponVo(String couponId);
    /**
     * @description  平台编辑优惠券
     * @author  jqs
     * @date    2023/6/13 16:50
@@ -113,4 +122,14 @@
     * @return  List<MerCouponPageVo>
     */
    List<MerCouponPageVo> pagePlatformMerCoupon(Page page, MerPageDto merPageDto);
    /**
     * @description  平台获取优惠券列表
     * @author  jqs
     * @date    2023/6/30 16:53
     * @param page
     * @param merPageDto
     * @return  List<MerCouponPageVo>
     */
    List<MerCouponPageVo> pageShopMerCoupon(Page page, MerPageDto merPageDto);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java
@@ -7,6 +7,7 @@
import com.ruoyi.member.domain.dto.MgtBirthdayGiftDto;
import com.ruoyi.member.domain.pojo.birthday.BirthdayCard;
import com.ruoyi.member.domain.pojo.birthday.BirthdayGift;
import com.ruoyi.member.domain.vo.MerBirthdayGetVo;
import com.ruoyi.member.domain.vo.MgtBirthdayGetVo;
import com.ruoyi.member.domain.vo.MgtBirthdayGiftVo;
import com.ruoyi.member.mapper.birthday.BirthdayCardMapper;
@@ -18,6 +19,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.StringJoiner;
/**
 * <p>
@@ -30,6 +32,8 @@
@Service
public class BirthdayCardServiceImpl extends ServiceImpl<BirthdayCardMapper, BirthdayCard> implements BirthdayCardService {
    @Resource
    private BirthdayCardMapper birthdayCardMapper;
    @Resource
    private BirthdayGiftService birthdayGiftService;
@@ -112,6 +116,8 @@
        queryWrapper.eq(BirthdayCard::getDelFlag,0);
        if(mgtBirthdayGetDto.getShopId()!=null&&mgtBirthdayGetDto.getShopId()>0){
            queryWrapper.eq(BirthdayCard::getShopId,mgtBirthdayGetDto.getShopId());
        }else{
            queryWrapper.eq(BirthdayCard::getShopId,0);
        }
        BirthdayCard birthdayCard = this.getOne(queryWrapper,false);
        if(birthdayCard!=null){
@@ -126,4 +132,117 @@
        }
        return mgtBirthdayGetVo;
    }
    /**
     * @description  获取平台生日卡
     * @author  jqs
     * @date    2023/7/1 15:25
     * @param
     * @return  MerBirthdayGetVo
     */
    @Override
    public MerBirthdayGetVo getMerPlatformBirthdayCard(Long shopId){
        MerBirthdayGetVo birthdayGetVo = new MerBirthdayGetVo();
        // 获取平台生日卡信息
        BirthdayCard birthdayCard = birthdayCardMapper.getPlatformBirthdayCard(shopId);
        // 如果生日卡存在
        if (birthdayCard != null) {
            String giftDesc = "";
            StringJoiner giftSj = new StringJoiner(",");
            // 获取生日卡对应的生日礼物列表
            List<BirthdayGift> birthdayGiftList = birthdayGiftService.listByCardId(birthdayCard.getCardId());
            // 如果生日礼物列表不为空
            if (!birthdayGiftList.isEmpty()) {
                String giftStr;
                // 遍历生日礼物列表
                for (BirthdayGift birthdayGift : birthdayGiftList) {
                    switch (birthdayGift.getGiftType()) {
                        case 1:
                            // 礼物类型为1,即优惠券
                            giftStr = birthdayGift.getCouponName() + "*" + birthdayGift.getCouponNumber();
                            giftSj.add(giftStr);
                            break;
                        case 2:
                            // 礼物类型为2,即商品
                            giftStr = birthdayGift.getGoodsName() + "*" + birthdayGift.getGoodsNumber();
                            giftSj.add(giftStr);
                            break;
                        case 3:
                            // 礼物类型为3,即现金
                            giftStr = "¥" + birthdayGift.getMoney() + "现金";
                            giftSj.add(giftStr);
                            break;
                        case 4:
                            // 礼物类型为4,即礼品
                            giftStr = birthdayGift.getGiftName() + "*" + birthdayGift.getGiftNumber();
                            giftSj.add(giftStr);
                            break;
                        default:
                            break;
                    }
                }
                // 将礼物描述设置到生日获取VO对象中
                giftDesc = giftSj.toString();
                birthdayGetVo.setGiftDesc(giftDesc);
            }
        }
        return birthdayGetVo;
    }
    /**
     * @description  获取平台生日卡
     * @author  jqs
     * @date    2023/7/1 15:25
     * @param
     * @return  MerBirthdayGetVo
     */
    @Override
    public MerBirthdayGetVo getMerShopBirthdayCard(Long shopId){
        MerBirthdayGetVo birthdayGetVo = new MerBirthdayGetVo();
        // 获取平台生日卡信息
        BirthdayCard birthdayCard = birthdayCardMapper.getMerShopBirthdayCard(shopId);
        // 如果生日卡存在
        if (birthdayCard != null) {
            String giftDesc = "";
            StringJoiner giftSj = new StringJoiner(",");
            // 获取生日卡对应的生日礼物列表
            List<BirthdayGift> birthdayGiftList = birthdayGiftService.listByCardId(birthdayCard.getCardId());
            // 如果生日礼物列表不为空
            if (!birthdayGiftList.isEmpty()) {
                String giftStr;
                // 遍历生日礼物列表
                for (BirthdayGift birthdayGift : birthdayGiftList) {
                    switch (birthdayGift.getGiftType()) {
                        case 1:
                            // 礼物类型为1,即优惠券
                            giftStr = birthdayGift.getCouponName() + "*" + birthdayGift.getCouponNumber();
                            giftSj.add(giftStr);
                            break;
                        case 2:
                            // 礼物类型为2,即商品
                            giftStr = birthdayGift.getGoodsName() + "*" + birthdayGift.getGoodsNumber();
                            giftSj.add(giftStr);
                            break;
                        case 3:
                            // 礼物类型为3,即现金
                            giftStr = "¥" + birthdayGift.getMoney() + "现金";
                            giftSj.add(giftStr);
                            break;
                        case 4:
                            // 礼物类型为4,即礼品
                            giftStr = birthdayGift.getGiftName() + "*" + birthdayGift.getGiftNumber();
                            giftSj.add(giftStr);
                            break;
                        default:
                            break;
                    }
                }
                // 将礼物描述设置到生日获取VO对象中
                giftDesc = giftSj.toString();
                birthdayGetVo.setGiftDesc(giftDesc);
            }
        }
        return birthdayGetVo;
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayGiftServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.member.service.impl.birthday;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.member.domain.pojo.birthday.BirthdayGift;
@@ -52,4 +53,19 @@
    public List<MgtBirthdayGiftVo> listGiftVoByCardId(Long cardId){
        return birthdayGiftMapper.listGiftVoByCardId(cardId);
    }
    /**
     * @description  通过生日卡id获取礼物列表
     * @author  jqs
     * @date    2023/7/1 15:58
     * @param cardId
     * @return  List<BirthdayGift>
     */
    @Override
    public List<BirthdayGift> listByCardId(Long cardId){
        LambdaQueryWrapper<BirthdayGift> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(BirthdayGift::getDelFlag,0);
        queryWrapper.eq(BirthdayGift::getCardId,cardId);
        return this.list(queryWrapper);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -192,6 +192,66 @@
    }
    /**
     * @description  平台获取优惠券编辑信息
     * @author  jqs
     * @date    2023/6/13 14:29
     * @param couponId
     * @return  MgtCouponGetVo
     */
    @Override
    public MerCouponGetVo getMerCouponVo(String couponId){
        MerCouponGetVo merCouponGetVo = new MerCouponGetVo();
        Coupon coupon = this.getById(couponId);
        BeanUtils.copyProperties(coupon, merCouponGetVo);
        //判断优惠券是否为指定商品
        if(coupon.getUseScope()==2){
            String relGoodsIds = coupon.getRelGoodsIds();
            if(StringUtils.isNotBlank(relGoodsIds)){
                //获取指定商品列表
                List<Goods> goodsList = remoteGoodsService.listGoodsByGoodsId(relGoodsIds).getData();
                if(!goodsList.isEmpty()){
                    //转换为返回对象
                    List<MgtCouponGoodsListVo> relGoodsList = new ArrayList<>();
                    MgtCouponGoodsListVo mgtCouponGoodsListVo;
                    for(Goods goods : goodsList){
                        mgtCouponGoodsListVo = new MgtCouponGoodsListVo();
                        mgtCouponGoodsListVo.setGoodsId(goods.getGoodsId());
                        mgtCouponGoodsListVo.setGoodsName(goods.getGoodsName());
                        mgtCouponGoodsListVo.setGoodsNo(goods.getGoodsNo());
                        //商品类型1周期2服务3体验4单品
                        switch (goods.getGoodsType()){
                            case 1:
                                mgtCouponGoodsListVo.setGoodsType("周期");
                                break;
                            case 2:
                                mgtCouponGoodsListVo.setGoodsType("服务");
                                break;
                            case 3:
                                mgtCouponGoodsListVo.setGoodsType("体验");
                                break;
                            case 4:
                                mgtCouponGoodsListVo.setGoodsType("单品");
                                break;
                            default:
                                break;
                        }
                        mgtCouponGoodsListVo.setSalesPrice(goods.getSalesPrice());
                        relGoodsList.add(mgtCouponGoodsListVo);
                    }
                    merCouponGetVo.setRelGoodsList(relGoodsList);
                }
            }
        }
        //判断优惠券是否指定发放用户
        if(coupon.getSendType()==5&&coupon.getRelationType()==1){
            //获取优惠券发放用户
            List<MgtCouponMemberListVo> relUserList = couponRelUserService.listCouponMemberVo(coupon.getCouponId());
            merCouponGetVo.setRelUserList(relUserList);
        }
        return merCouponGetVo;
    }
    /**
     * @description  平台编辑优惠券
     * @author  jqs
     * @date    2023/6/13 16:50
@@ -629,4 +689,62 @@
        }
        return couponPageVoList;
    }
    /**
     * @description  平台获取优惠券列表
     * @author  jqs
     * @date    2023/6/30 16:53
     * @param page
     * @param merPageDto
     * @return  List<MerCouponPageVo>
     */
    @Override
    public List<MerCouponPageVo> pageShopMerCoupon(Page page, MerPageDto merPageDto){
        List<MerCouponPageVo> couponPageVoList = couponMapper.pageShopMerCoupon(page, merPageDto);
        //处理使用限制和有效期
        if(couponPageVoList!=null&&!couponPageVoList.isEmpty()){
            Integer couponType;
            Integer validTimeType;
            Date validStartTime;
            Date validEndTime;
            Integer validDay;
            String validTime = "";
            BigDecimal moneyThreshold;
            BigDecimal discountMoney;
            BigDecimal discountPercent;
            String useLimit = "";
            for(MerCouponPageVo merCouponPageVo : couponPageVoList){
                //处理使用限制
                couponType = merCouponPageVo.getCouponType();
                switch (couponType){
                    case 1:
                        moneyThreshold = merCouponPageVo.getMoneyThreshold();
                        discountMoney = merCouponPageVo.getDiscountMoney();
                        useLimit = "满" + moneyThreshold.toString() + "减" + discountMoney.toString() + "元";
                        break;
                    case 2:
                        break;
                    case 3:
                        break;
                    case 4:
                        break;
                    default:
                        break;
                }
                merCouponPageVo.setUseLimit(useLimit);
                //处理有效期
                validTimeType = merCouponPageVo.getValidTimeType();
                if(validTimeType==1){
                    validStartTime = merCouponPageVo.getValidStartTime();
                    validEndTime = merCouponPageVo.getValidEndTime();
                    validTime = DateUtils.dateTime(validStartTime) + '-' +  DateUtils.dateTime(validEndTime);
                }else if(validTimeType==2){
                    validDay = merCouponPageVo.getValidDay();
                    validTime = "领取之日起" + validDay.toString() + "天";
                }
                merCouponPageVo.setValidTime(validTime);
            }
        }
        return couponPageVoList;
    }
}
ruoyi-modules/ruoyi-member/src/main/resources/mapper/birthday/BirthdayCardMapper.xml
@@ -2,6 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.member.mapper.birthday.BirthdayCardMapper">
    <select id="getPlatformBirthdayCard" resultType="com.ruoyi.member.domain.pojo.birthday.BirthdayCard">
        SELECT *
        FROM t_birthday_card
        WHERE del_flag = 0 AND card_status = 1 AND shop_id = 0
            AND shop_flag = 1 OR (shop_flag = 2 AND FIND_IN_SET(#{shop_id}, applicable_shop) > 0)
    </select>
    <select id="getPlatformBirthdayCard" resultType="com.ruoyi.member.domain.pojo.birthday.BirthdayCard">
        SELECT *
        FROM t_birthday_card
        WHERE del_flag = 0 AND card_status = 1
            AND shop_id = #{shop_id}
    </select>
</mapper>
ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml
@@ -296,4 +296,46 @@
        LEFT JOIN t_coupon_total tct ON tc.coupon_id = tct.coupon_id
        WHERE tc.del_flag = 0 AND tc.coupon_status = 2 AND tc.coupon_from = 1
    </select>
    <select id="pageShopMerCoupon" resultType="com.ruoyi.member.domain.vo.MgtCouponPageVo">
        SELECT
            tc.coupon_id  couponId,
            tc.coupon_name  couponName,
            CASE tc.coupon_type
                WHEN 1 THEN '满减'
                WHEN 2 THEN '折扣'
                WHEN 3 THEN '代金'
                WHEN 4 THEN '商品'
                END couponType,
            tc.valid_time_type  validTimeType,
            tc.valid_start_time  validStartTime,
            tc.valid_end_time  validEndTime,
            tc.valid_day  validDay,
            tct.send_count  sendCount,
            CASE tc.use_scope
                WHEN 1 THEN '全部'
                WHEN 2 THEN '指定商品'
                END useScope,
            CASE tc.send_type
                WHEN 1 THEN '手动获取'
                ELSE '指定发放'
                END sendType,
            CASE tc.send_type
                WHEN 2 THEN '全部用户'
                WHEN 3 THEN '会员用户'
                WHEN 4 THEN '非会员用户'
                WHEN 5 THEN '自定义'
                ELSE ''
                END sendTarget,
            tc.money_threshold  moneyThreshold,
            tc.discount_money  discountMoney,
            tc.discount_percent  discountPercent,
            tc.create_time  createTime
        FROM t_coupon tc
                 LEFT JOIN t_coupon_total tct ON tc.coupon_id = tct.coupon_id
        WHERE tc.del_flag = 0 AND tc.coupon_status = 2 AND tc.coupon_from = 2 AND tc.shop_id = #{param.shopId}
    </select>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
@@ -274,4 +274,6 @@
        MgtShopAuthCodeVo mgtShopAuthCodeVo = shopService.getMgtShopAuthCode(mgtShopAuthGetDto.getAuthId());
        return R.ok(mgtShopAuthCodeVo);
    }
}