jiangqs
2023-06-15 a262dee3a122f081a2d31d86b851ce3df0680d1a
生日卡管理
34个文件已修改
23个文件已添加
1742 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/WebMvcConfig.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityPageDto.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtBirthdayController.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtBirthdayEditDto.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtBirthdayGetDto.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtBirthdayGiftDto.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponAuditDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponAuditPageDto.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponListDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponPageDto.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberIntegralPageDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberPageDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberSuggestPageDto.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/birthday/BirthdayCard.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/birthday/BirthdayGift.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/coupon/Coupon.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtBirthdayGetVo.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtBirthdayGiftVo.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtCouponAuditGetVo.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtCouponAuditPageVo.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtCouponSimpleListVo.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/birthday/BirthdayCardMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/birthday/BirthdayGiftMapper.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/birthday/BirthdayCardService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/birthday/BirthdayGiftService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayGiftServiceImpl.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/birthday/BirthdayCardMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/birthday/BirthdayGiftMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderPageDto.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderTotalDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageDto.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerFollowAgencyTaskDto.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtChangeCoopDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopCertificatePageDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopSuggestPageDto.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthPageVo.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtArticleEditDto.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtArticlePageDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOperLogPageDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOtherConfigEditDto.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffSuggestPageDto.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/ActivenessService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/ActivenessServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/ArticleMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java
@@ -14,111 +14,15 @@
    String MOBILE_USER_DOUBLE = "手机号已创建用户,请直接登录";
    String AUTHORIZE_MISS = "授权信息不完整";
    String AUTHORIZE_FAILED = "授权信息解密失败";
    String USER_FROZE = "用户已被冻结";
    String USER_NOT_MOBILE = "用户没有手机授权";
    String NO_FIND_RESULT = "未找到编辑对象";
    String NO_REQUIRED_PARAM = "缺少必要参数";
    String CODE_EXPIRE = "验证码已过期";
    String CODE_FAILED = "验证码错误";
    String COUPON_NULL = "未找到优惠券";
    String COUPON_FAILED = "未满足领取条件";
    String NO_COUPON = "优惠券已领取完";
    String DOUBLE_COUPON = "已拥有优惠券,请勿重复领取";
    String REAL_NAME_FAILED = "实名认证失败,请检查上传的身份证图片";
    String REAL_NAME_DIFF = "与资料填写姓名不符,非本人身份证";
    String DISTRIBUTOR_APPLY_FAILED = "已经是分销员,请勿重复申请";
    String DOUBLE_USER_BANK = "请勿重复绑定银行卡";
    String USER_BANK_FAILED = "获取绑定银行卡失败";
    String BEYOND_WITHDRAW = "超出可提现金额";
    String BEYOND_WITHDRAW_TIME = "超出可提现金额";
    String USER_NO_WITHDRAW = "用户没有提现权限";
    String WX_WITHDRAW_FAILED = "用户没有提现权限";
    String MOBILE_FAILED = "验证手机非绑定手机";
    String MOBILE_DOUBLE = "手机号已被占用";
    String AGREEMENT_FAILED = "获取协议失败";
    String GOODS_DOWN = "商品已下架";
    String NO_STOCK = "商品已售完";
    String LIMIT_BUY = "达到商品购买限制";
    String NO_GOODS = "商品不存在或已下架";
    String DOUBLE_SUBMIT = "请勿重复提交";
    String COUPON_USE_FAILED = "优惠券已被使用";
    String INTEGRAL_USE_FAILED = "积分不够支付";
    String CREATE_ORDER_FAILED = "创建订单失败";
    String CANCEL_ERROR_ORDER = "只能取消未支付订单";
    String DELETE_ERROR_ORDER = "待支付订单需取消后才能删除";
    String RECEIVE_ERROR_ORDER = "只能收货已发货订单";
    String EVALUATE_ERROR_ORDER = "只能评价已完成订单";
    String EXPRESS_ERROR_ORDER = "订单未发货暂无物流信息";
    String EXPRESS_FAILED = "物流信息获取失败";
    String ORDER_FAILED = "获取订单失败";
    String REFUND_ERROR_ORDER = "只有已支付订单可申请退款";
    String REFUND_ORDER_ING = "订单已通过审核";
    String REFUND_ORDER_END = "订单已完成售后";
    String ORDER_AFTER_SALES = "订单还在售后中";
    String AFTER_SALES_FAILED = "获取售后订单失败";
    String AFTER_SALES_CANCEL = "撤销的售后不能修改";
    String AFTER_SALES_SUCCESS = "完成的售后不能修改";
    String AFTER_SALES_SEND = "订单需要审核";
    String AFTER_SALES_BEYOND = "退款不能超过支付金额";
    String AUTO_ORDER_FAILED = "自动获取订单失败";
    String PAYMENT_FAILED = "提交支付失败";
    String INVOICE_FAILED = "获取发票失败";
    String INTEGRAL_COUPON_ERROR = "积分不能和优惠券同时使用";
    String ADDRESS_FAILED = "只能修改未支付订单地址";
    String SALESPRICE_MIN = "设置价格不能低于最低限价";
@@ -147,4 +51,6 @@
    String ACTIVITY_ING_EDIT = "只能编辑未开始活动";
    String ACTIVITY_ING_DELETE = "只能删除未开始活动";
    String COUPON_AUDIT_DOUBLE = "优惠券已被其他员工审核";
}
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/WebMvcConfig.java
@@ -1,8 +1,8 @@
package com.ruoyi.common.security.config;
import com.ruoyi.common.security.interceptor.HeaderInterceptor;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import com.ruoyi.common.security.interceptor.HeaderInterceptor;
/**
 * 拦截器配置
@@ -30,4 +30,6 @@
    {
        return new HeaderInterceptor();
    }
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtActivityPageDto.java
@@ -23,17 +23,17 @@
    private Long shopId;
    @ApiModelProperty(value = "活动开始时间")
    private Date activityStartTime;
    private String activityStartTime;
    @ApiModelProperty(value = "活动结束时间")
    private Date activityEndTime;
    private String activityEndTime;
    @ApiModelProperty(value = "活动状态0未开始1进行中2已结束")
    private Integer activityStatus;
    @ApiModelProperty(value = "创建开始时间")
    private Date createStartTime;
    private String createStartTime;
    @ApiModelProperty(value = "创建结束时间")
    private Date createEndTime;
    private String createEndTime;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtBirthdayController.java
New file
@@ -0,0 +1,52 @@
package com.ruoyi.member.controller.management;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.dto.MgtBirthdayEditDto;
import com.ruoyi.member.domain.dto.MgtBirthdayGetDto;
import com.ruoyi.member.domain.vo.MgtBirthdayGetVo;
import com.ruoyi.member.service.birthday.BirthdayCardService;
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 MgtBirthdayController
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 11:52
 * @Version 1.0
 */
@Api(value = "平台端生日卡相关接口", tags = "平台端生日卡相关接口", description = "平台端生日卡相关接口")
@RestController
@RequestMapping("/mgt/birthday")
public class MgtBirthdayController {
    @Resource
    private BirthdayCardService birthdayCardService;
    @RequestMapping(value = "/editMgtBirthdayCard", method = RequestMethod.POST)
    @ApiOperation(value = "平台编辑生日卡")
    public R editMgtBirthdayCard(@RequestBody MgtBirthdayEditDto mgtBirthdayEditDto) {
        Long userId = SecurityUtils.getUserId();
        mgtBirthdayEditDto.setUserId(userId);
        birthdayCardService.editMgtBirthdayCard(mgtBirthdayEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/getMgtBirthdayCard", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取生日卡编辑信息")
    public R<MgtBirthdayGetVo> getMgtBirthdayCard(@RequestBody MgtBirthdayGetDto mgtBirthdayGetDto) {
        Long userId = SecurityUtils.getUserId();
        mgtBirthdayGetDto.setUserId(userId);
        MgtBirthdayGetVo mgtBirthdayGetVo = birthdayCardService.getMgtBirthdayCard(mgtBirthdayGetDto);
        return R.ok(mgtBirthdayGetVo);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java
@@ -3,10 +3,8 @@
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.dto.MgtCouponEditDto;
import com.ruoyi.member.domain.dto.MgtCouponPageDto;
import com.ruoyi.member.domain.vo.MgtCouponGetVo;
import com.ruoyi.member.domain.vo.MgtCouponPageVo;
import com.ruoyi.member.domain.dto.*;
import com.ruoyi.member.domain.vo.*;
import com.ruoyi.member.service.coupon.CouponService;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import io.swagger.annotations.Api;
@@ -49,7 +47,7 @@
    @RequestMapping(value = "/getMgtCouponVo", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取优惠券编辑信息")
    public R<MgtCouponGetVo> pageMgtCoupon(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
    public R<MgtCouponGetVo> getMgtCouponVo(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        mgtBaseGetDto.setUserId(userId);
        MgtCouponGetVo mgtCouponGetVo = couponService.getMgtCouponVo(mgtBaseGetDto.getId());
@@ -73,4 +71,41 @@
        couponService.deleteMgtCoupon(mgtBaseGetDto);
        return R.ok();
    }
    @RequestMapping(value = "/listMgtCouponSimpleVo", method = RequestMethod.POST)
    @ApiOperation(value = "获取优惠券选择列表")
    public R<List<MgtCouponSimpleListVo>> listMgtCouponSimpleVo(@RequestBody MgtCouponListDto mgtCouponListDto) {
        List<MgtCouponSimpleListVo> mgtCouponSimpleListVoList = couponService.listMgtCouponSimpleVo(mgtCouponListDto);
        return R.ok(mgtCouponSimpleListVoList);
    }
    @RequestMapping(value = "/pageMgtAuditCoupon", method = RequestMethod.POST)
    @ApiOperation(value = "平台分页获取优惠券审核列表")
    public R<Page<MgtCouponAuditPageVo>> pageMgtAuditCoupon(@RequestBody MgtCouponAuditPageDto mgtCouponAuditPageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtCouponAuditPageDto.setUserId(userId);
        Page<MgtCouponAuditPageVo> page = new Page<>();
        page.setSize(mgtCouponAuditPageDto.getPageSize());
        page.setCurrent(mgtCouponAuditPageDto.getPageNum());
        List<MgtCouponAuditPageVo> mgtCouponPageVoList = couponService.pageMgtAuditCoupon(page,mgtCouponAuditPageDto);
        return R.ok(page.setRecords(mgtCouponPageVoList));
    }
    @RequestMapping(value = "/getMgtCouponAuditVo", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取优惠券编辑信息")
    public R<MgtCouponAuditGetVo> getMgtCouponAuditVo(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        mgtBaseGetDto.setUserId(userId);
        MgtCouponAuditGetVo mgtCouponAuditVo = couponService.getMgtCouponAuditVo(mgtBaseGetDto.getId());
        return R.ok(mgtCouponAuditVo);
    }
    @RequestMapping(value = "/auditMgtCoupon", method = RequestMethod.POST)
    @ApiOperation(value = "平台审核优惠券")
    public R auditMgtCoupon(@RequestBody MgtCouponAuditDto mgtCouponAuditDto) {
        Long userId = SecurityUtils.getUserId();
        mgtCouponAuditDto.setUserId(userId);
        couponService.auditMgtCoupon(mgtCouponAuditDto);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtBirthdayEditDto.java
New file
@@ -0,0 +1,39 @@
package com.ruoyi.member.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @ClassName MgtBirthdayEditDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 11:54
 * @Version 1.0
 */
@Data
public class MgtBirthdayEditDto extends MgtBaseDto {
    @ApiModelProperty(value = "生日卡id 新增不传")
    private Long cardId;
    @ApiModelProperty(value = "生日卡状态1开启2关闭")
    private Integer cardStatus;
    @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 List<MgtBirthdayGiftDto> mgtBirthdayGiftDtoList;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtBirthdayGetDto.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.member.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtBirthdayGetDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 15:09
 * @Version 1.0
 */
@Data
public class MgtBirthdayGetDto extends MgtBaseDto {
    @ApiModelProperty(value = "商户id")
    private Long shopId;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtBirthdayGiftDto.java
New file
@@ -0,0 +1,86 @@
package com.ruoyi.member.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @ClassName MgtBirthdayGiftDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 11:57
 * @Version 1.0
 */
@Data
public class MgtBirthdayGiftDto {
    /**
     * 生日卡id
     */
    @ApiModelProperty(value = "生日卡id")
    private Long cardId;
    /**
     * 礼物类型1优惠券2商品3现金4实物
     */
    @ApiModelProperty(value = "礼物类型1优惠券2商品3现金4实物")
    private Integer giftType;
    /**
     * 优惠券id
     */
    @ApiModelProperty(value = "优惠券id")
    private String couponId;
    @ApiModelProperty(value = "优惠券名称")
    private String couponName;
    /**
     * 优惠券数量
     */
    @ApiModelProperty(value = "优惠券数量")
    private Integer couponNumber;
    /**
     * 商品id
     */
    @ApiModelProperty(value = "商品id")
    private String goodsId;
    @ApiModelProperty(value = "商品名称")
    private String goodsName;
    /**
     * 商品数量
     */
    @ApiModelProperty(value = "商品数量")
    private Integer goodsNumber;
    /**
     * 实物名称
     */
    @ApiModelProperty(value = "实物名称")
    private String giftName;
    /**
     * 实物数量
     */
    @ApiModelProperty(value = "实物数量")
    private Integer giftNumber;
    /**
     * 现金
     */
    @ApiModelProperty(value = "现金")
    private BigDecimal money;
    /**
     * 中奖概率
     */
    @ApiModelProperty(value = "中奖概率")
    private BigDecimal winningProbability;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponAuditDto.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.member.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtCouponAduitDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 16:41
 * @Version 1.0
 */
@Data
public class MgtCouponAuditDto extends MgtBaseDto {
    @ApiModelProperty(value = "优惠券id")
    private String couponId;
    @ApiModelProperty("审核状态2审核通过3审核拒绝")
    private Integer auditStatus;
    @ApiModelProperty("拒绝理由")
    private String auditReason;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponAuditPageDto.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.member.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtCouponAuditPageDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 16:19
 * @Version 1.0
 */
@Data
public class MgtCouponAuditPageDto extends MgtPageDto {
    @ApiModelProperty("1申请中2审核通过3审核拒绝")
    private Integer auditStatus;
    @ApiModelProperty("优惠券名称")
    private String couponName;
    @ApiModelProperty(value = "创建开始时间")
    private String createStartTime;
    @ApiModelProperty(value = "创建结束时间")
    private String createEndTime;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponListDto.java
New file
@@ -0,0 +1,19 @@
package com.ruoyi.member.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtCouponListDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 14:51
 * @Version 1.0
 */
@Data
public class MgtCouponListDto extends MgtBaseDto {
    @ApiModelProperty(value = "商户id")
    private Long shopId;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponPageDto.java
@@ -4,8 +4,6 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtCouponPageDto
 * @Description TODO
@@ -16,12 +14,15 @@
@Data
public class MgtCouponPageDto extends MgtPageDto {
    @ApiModelProperty("商户id")
    private Long shopId;
    @ApiModelProperty("优惠券名称")
    private String couponName;
    @ApiModelProperty(value = "创建开始时间")
    private Date createStartTime;
    private String createStartTime;
    @ApiModelProperty(value = "创建结束时间")
    private Date createEndTime;
    private String createEndTime;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberIntegralPageDto.java
@@ -21,10 +21,10 @@
    private Long memberUserId;
    @ApiModelProperty(value = "变动开始时间")
    private Date changeStartDate;
    private String changeStartDate;
    @ApiModelProperty(value = "变动结束时间")
    private Date changeEndDate;
    private String changeEndDate;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberPageDto.java
@@ -4,8 +4,6 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MgtMemerPageDto
@@ -69,10 +67,10 @@
    private Long activenessId;
    @ApiModelProperty(value = "活跃度开始时间",hidden = true)
    private Date actStartDate;
    private String actStartDate;
    @ApiModelProperty(value = "活跃度结束时间",hidden = true)
    private Date actEndDate;
    private String actEndDate;
    @ApiModelProperty(value = "开始消费次数")
    private Integer startPayCount;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberSuggestPageDto.java
@@ -20,10 +20,10 @@
    private String keyword;
    @ApiModelProperty(value = "提交开始时间")
    private Date createStartTime;
    private String createStartTime;
    @ApiModelProperty(value = "提交结束时间")
    private Date createEndTime;
    private String createEndTime;
    @ApiModelProperty(value = "建议状态0未回复1已回复")
    private Integer suggestStatus;
@@ -35,16 +35,16 @@
    private String tags;
    @ApiModelProperty(value = "商户回复开始时间")
    private Date shopReplayStartTime;
    private String shopReplayStartTime;
    @ApiModelProperty(value = "商户回复结束时间")
    private Date shopReplayEndTime;
    private String shopReplayEndTime;
    @ApiModelProperty(value = "平台回复开始时间")
    private Date replayStartTime;
    private String replayStartTime;
    @ApiModelProperty(value = "平台回复结束时间")
    private Date replayEndTime;
    private String replayEndTime;
    @ApiModelProperty(value = "建议类型1平台2商户")
    private Integer suggestType;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/birthday/BirthdayCard.java
New file
@@ -0,0 +1,98 @@
package com.ruoyi.member.domain.pojo.birthday;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
 * <p>
 *
 * </p>
 *
 * @author jqs
 * @since 2023-06-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_birthday_card")
public class BirthdayCard extends Model<BirthdayCard> {
    private static final long serialVersionUID = 1L;
    /**
     * 生日卡id
     */
    @TableId(value = "card_id", type = IdType.AUTO)
    private Long cardId;
    /**
     * 删除标记
     */
    @TableField("del_flag")
    private Integer delFlag;
    /**
     * 商户id
     */
    @TableField("shop_id")
    private Long shopId;
    /**
     * 生日卡状态1开启2关闭
     */
    @TableField("card_status")
    private Integer cardStatus;
    /**
     * 关闭时间
     */
    @TableField("close_time")
    private Date closeTime;
    /**
     * 开启时间
     */
    @TableField("open_time")
    private Date openTime;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 适用区域标记1全部2指定
     */
    @TableField("area_flag")
    private Integer areaFlag;
    /**
     * 适用区域
     */
    @TableField("designated_area")
    private String designatedArea;
    /**
     * 适用店铺标记1全部2指定
     */
    @TableField("shop_flag")
    private Integer shopFlag;
    /**
     * 适用店铺
     */
    @TableField("applicable_shop")
    private String applicableShop;
    /**
     * 创建用户id
     */
    @TableField("create_user_id")
    private Long createUserId;
    @Override
    protected Serializable pkVal() {
        return this.cardId;
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/birthday/BirthdayGift.java
New file
@@ -0,0 +1,103 @@
package com.ruoyi.member.domain.pojo.birthday;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
/**
 * <p>
 *
 * </p>
 *
 * @author jqs
 * @since 2023-06-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_birthday_gift")
public class BirthdayGift extends Model<BirthdayGift> {
    private static final long serialVersionUID = 1L;
    /**
     * 礼品id
     */
    @TableId(value = "gift_id", type = IdType.AUTO)
    private Long giftId;
    /**
     * 删除标记
     */
    @TableField("del_flag")
    private Integer delFlag;
    /**
     * 生日卡id
     */
    @TableField("card_id")
    private Long cardId;
    /**
     * 礼物类型1优惠券2商品3现金4实物
     */
    @TableField("gift_type")
    private Integer giftType;
    /**
     * 优惠券id
     */
    @TableField("coupon_id")
    private String couponId;
    @TableField("coupon_name")
    private String couponName;
    /**
     * 优惠券数量
     */
    @TableField("coupon_number")
    private Integer couponNumber;
    /**
     * 商品id
     */
    @TableField("goods_id")
    private String goodsId;
    @TableField("goods_name")
    private String goodsName;
    /**
     * 商品数量
     */
    @TableField("goods_number")
    private Integer goodsNumber;
    /**
     * 实物名称
     */
    @TableField("gift_name")
    private String giftName;
    /**
     * 实物数量
     */
    @TableField("gift_number")
    private Integer giftNumber;
    /**
     * 现金
     */
    private BigDecimal money;
    /**
     * 中奖概率
     */
    @TableField("winning_probability")
    private BigDecimal winningProbability;
    @Override
    protected Serializable pkVal() {
        return this.giftId;
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/coupon/Coupon.java
@@ -165,6 +165,12 @@
    @TableField("relation_activity_id")
    private String relationActivityId;
    /**
     * 领取限制数量
     */
    @TableField("limit_number")
    private Integer limitNumber;
    @Override
    protected Serializable pkVal() {
        return this.couponId;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtBirthdayGetVo.java
New file
@@ -0,0 +1,40 @@
package com.ruoyi.member.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @ClassName MgtBirthdayGetVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 15:09
 * @Version 1.0
 */
@Data
public class MgtBirthdayGetVo {
    @ApiModelProperty(value = "生日卡id")
    private Long cardId;
    @ApiModelProperty(value = "生日卡状态1开启2关闭")
    private Integer cardStatus;
    @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 List<MgtBirthdayGiftVo> mgtBirthdayGiftVoList;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtBirthdayGiftVo.java
New file
@@ -0,0 +1,86 @@
package com.ruoyi.member.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @ClassName MgtBirthdayGiftDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 11:57
 * @Version 1.0
 */
@Data
public class MgtBirthdayGiftVo {
    /**
     * 生日卡id
     */
    @ApiModelProperty(value = "生日卡id")
    private Long cardId;
    /**
     * 礼物类型1优惠券2商品3现金4实物
     */
    @ApiModelProperty(value = "礼物类型1优惠券2商品3现金4实物")
    private Integer giftType;
    /**
     * 优惠券id
     */
    @ApiModelProperty(value = "优惠券id")
    private String couponId;
    @ApiModelProperty(value = "优惠券名称")
    private String couponName;
    /**
     * 优惠券数量
     */
    @ApiModelProperty(value = "优惠券数量")
    private Integer couponNumber;
    /**
     * 商品id
     */
    @ApiModelProperty(value = "商品id")
    private String goodsId;
    @ApiModelProperty(value = "商品名称")
    private String goodsName;
    /**
     * 商品数量
     */
    @ApiModelProperty(value = "商品数量")
    private Integer goodsNumber;
    /**
     * 实物名称
     */
    @ApiModelProperty(value = "实物名称")
    private String giftName;
    /**
     * 实物数量
     */
    @ApiModelProperty(value = "实物数量")
    private Integer giftNumber;
    /**
     * 现金
     */
    @ApiModelProperty(value = "现金")
    private BigDecimal money;
    /**
     * 中奖概率
     */
    @ApiModelProperty(value = "中奖概率")
    private BigDecimal winningProbability;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtCouponAuditGetVo.java
New file
@@ -0,0 +1,23 @@
package com.ruoyi.member.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @ClassName MgtCouponAuditGetVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 16:33
 * @Version 1.0
 */
@Data
public class MgtCouponAuditGetVo {
    @ApiModelProperty(value = "选择商品集合")
    private List<MgtCouponGoodsListVo> relGoodsList;
    @ApiModelProperty(value = "关联用户集合")
    private List<MgtCouponMemberListVo> relUserList;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtCouponAuditPageVo.java
New file
@@ -0,0 +1,69 @@
package com.ruoyi.member.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtCouponAuditPageVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 15:50
 * @Version 1.0
 */
@Data
public class MgtCouponAuditPageVo {
    @ApiModelProperty(value = "优惠券id")
    private String couponId;
    @ApiModelProperty("店铺名称")
    private String shopName;
    @ApiModelProperty("优惠券名称")
    private String couponName;
    @ApiModelProperty(value = "有效期类型1.时间段2.领取之日起",hidden = true)
    private Integer validTimeType;
    @ApiModelProperty(value = "有效开始时间",hidden = true)
    private Date validStartTime;
    @ApiModelProperty(value = "有效截止时间",hidden = true)
    private Date validEndTime;
    @ApiModelProperty(value = "有效期",hidden = true)
    private Integer validDay;
    @ApiModelProperty(value = "有效期")
    private String validTime;
    @ApiModelProperty(value = "使用范围")
    private String useScope;
    @ApiModelProperty(value = "发送方式")
    private String sendType;
    @ApiModelProperty(value = "发送对象")
    private String sendTarget;
    @ApiModelProperty(value = "领取限制数量")
    private Integer limitNumber;
    @ApiModelProperty(value = "发送时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date sendTime;
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty("审核状态1申请中2审核通过3审核拒绝")
    private String auditStatus;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtCouponSimpleListVo.java
New file
@@ -0,0 +1,21 @@
package com.ruoyi.member.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtCouponSimpleListVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 14:50
 * @Version 1.0
 */
@Data
public class MgtCouponSimpleListVo {
    @ApiModelProperty(value = "优惠券id")
    private String couponId;
    @ApiModelProperty("优惠券名称")
    private String couponName;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/birthday/BirthdayCardMapper.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.member.mapper.birthday;
import com.ruoyi.member.domain.pojo.birthday.BirthdayCard;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author jqs
 * @since 2023-06-15
 */
public interface BirthdayCardMapper extends BaseMapper<BirthdayCard> {
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/birthday/BirthdayGiftMapper.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.member.mapper.birthday;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.member.domain.pojo.birthday.BirthdayGift;
import com.ruoyi.member.domain.vo.MgtBirthdayGiftVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author jqs
 * @since 2023-06-15
 */
public interface BirthdayGiftMapper extends BaseMapper<BirthdayGift> {
    /**
     * @description
     * @author  jqs
     * @date    2023/6/15 15:37
     * @param cardId
     * @return  List<MgtBirthdayGiftDto>
     */
    List<MgtBirthdayGiftVo> listGiftVoByCardId(@Param("cardId")Long cardId);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java
@@ -2,9 +2,13 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.member.domain.dto.MgtCouponAuditPageDto;
import com.ruoyi.member.domain.dto.MgtCouponListDto;
import com.ruoyi.member.domain.dto.MgtCouponPageDto;
import com.ruoyi.member.domain.pojo.coupon.Coupon;
import com.ruoyi.member.domain.vo.MgtCouponAuditPageVo;
import com.ruoyi.member.domain.vo.MgtCouponPageVo;
import com.ruoyi.member.domain.vo.MgtCouponSimpleListVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -27,7 +31,24 @@
     * @param mgtCouponPageDto
     * @return  List<MgtCouponPageVo>
     */
    List<MgtCouponPageVo> pageMgtCoupon(Page page, @Param("param") MgtCouponPageDto mgtCouponPageDto);
    List<MgtCouponPageVo> pageMgtCoupon(Page page, @Param("param")MgtCouponPageDto mgtCouponPageDto);
    /**
     * @description  获取优惠券选择列表
     * @author  jqs
     * @date    2023/6/15 14:59
     * @param mgtCouponListDto
     * @return  List<MgtCouponSimpleListVo>
     */
    List<MgtCouponSimpleListVo> listMgtCouponSimpleVo(@Param("param")MgtCouponListDto mgtCouponListDto);
    /**
     * @description  获取商户优惠券审核列表
     * @author  jqs
     * @date    2023/6/15 16:20
     * @param page
     * @param mgtCouponAuditPageDto
     * @return  List<MgtCouponAuditPageVo>
     */
    List<MgtCouponAuditPageVo> pageMgtAuditCoupon(Page page, @Param("param")MgtCouponAuditPageDto mgtCouponAuditPageDto);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/birthday/BirthdayCardService.java
New file
@@ -0,0 +1,36 @@
package com.ruoyi.member.service.birthday;
import com.baomidou.mybatisplus.extension.service.IService;
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.MgtBirthdayGetVo;
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jqs
 * @since 2023-06-15
 */
public interface BirthdayCardService extends IService<BirthdayCard> {
    /**
     * @description  平台编辑生日卡
     * @author  jqs
     * @date    2023/6/15 13:55
     * @param mgtBirthdayEditDto
     * @return  void
     */
    void editMgtBirthdayCard(MgtBirthdayEditDto mgtBirthdayEditDto);
    /**
     * @description  平台获取生日卡编辑信息
     * @author  jqs
     * @date    2023/6/15 15:26
     * @param mgtBirthdayGetDto
     * @return  MgtBirthdayGetVo
     */
    MgtBirthdayGetVo getMgtBirthdayCard(MgtBirthdayGetDto mgtBirthdayGetDto);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/birthday/BirthdayGiftService.java
New file
@@ -0,0 +1,36 @@
package com.ruoyi.member.service.birthday;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.member.domain.pojo.birthday.BirthdayGift;
import com.ruoyi.member.domain.vo.MgtBirthdayGiftVo;
import java.util.List;
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jqs
 * @since 2023-06-15
 */
public interface BirthdayGiftService extends IService<BirthdayGift> {
    /**
     * @description  通过id删除
     * @author  jqs
     * @date    2023/6/15 14:37
     * @param cardId
     * @return  void
     */
    void deleteByCardId(Long cardId);
    /**
     * @description
     * @author  jqs
     * @date    2023/6/15 15:37
     * @param cardId
     * @return  List<MgtBirthdayGiftDto>
     */
    List<MgtBirthdayGiftVo> listGiftVoByCardId(Long cardId);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java
@@ -1,12 +1,10 @@
package com.ruoyi.member.service.coupon;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.member.domain.dto.MgtCouponEditDto;
import com.ruoyi.member.domain.dto.MgtCouponPageDto;
import com.ruoyi.member.domain.dto.*;
import com.ruoyi.member.domain.pojo.coupon.Coupon;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.member.domain.vo.MgtCouponGetVo;
import com.ruoyi.member.domain.vo.MgtCouponPageVo;
import com.ruoyi.member.domain.vo.*;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import java.util.List;
@@ -67,4 +65,41 @@
     * @return  void
     */
    void timingSendCoupon();
    /**
     * @description  获取优惠券选择列表
     * @author  jqs
     * @date    2023/6/15 14:59
     * @param mgtCouponListDto
     * @return  List<MgtCouponSimpleListVo>
     */
    List<MgtCouponSimpleListVo> listMgtCouponSimpleVo(MgtCouponListDto mgtCouponListDto);
    /**
     * @description  获取商户优惠券审核列表
     * @author  jqs
     * @date    2023/6/15 16:20
     * @param page
     * @param mgtCouponAuditPageDto
     * @return  List<MgtCouponAuditPageVo>
     */
    List<MgtCouponAuditPageVo> pageMgtAuditCoupon(Page page, MgtCouponAuditPageDto mgtCouponAuditPageDto);
    /**
     * @description  获取优惠券审核信息
     * @author  jqs
     * @date    2023/6/15 16:36
     * @param couponId
     * @return  MgtCouponAuditGetVo
     */
    MgtCouponAuditGetVo getMgtCouponAuditVo(String couponId);
    /**
     * @description  审核优惠券
     * @author  jqs
     * @date    2023/6/15 16:46
     * @param mgtCouponAuditDto
     * @return  void
     */
    void auditMgtCoupon(MgtCouponAuditDto mgtCouponAuditDto);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java
New file
@@ -0,0 +1,129 @@
package com.ruoyi.member.service.impl.birthday;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.member.domain.dto.MgtBirthdayEditDto;
import com.ruoyi.member.domain.dto.MgtBirthdayGetDto;
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.MgtBirthdayGetVo;
import com.ruoyi.member.domain.vo.MgtBirthdayGiftVo;
import com.ruoyi.member.mapper.birthday.BirthdayCardMapper;
import com.ruoyi.member.service.birthday.BirthdayCardService;
import com.ruoyi.member.service.birthday.BirthdayGiftService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author jqs
 * @since 2023-06-15
 */
@Service
public class BirthdayCardServiceImpl extends ServiceImpl<BirthdayCardMapper, BirthdayCard> implements BirthdayCardService {
    @Resource
    private BirthdayGiftService birthdayGiftService;
    /**
     * @description  平台编辑生日卡
     * @author  jqs
     * @date    2023/6/15 13:55
     * @param mgtBirthdayEditDto
     * @return  void
     */
    @Override
    public void editMgtBirthdayCard(MgtBirthdayEditDto mgtBirthdayEditDto){
        if(mgtBirthdayEditDto.getCardId()!=null){
            BirthdayCard birthdayCardOld = this.getById(mgtBirthdayEditDto.getCardId());
            birthdayCardOld.setDelFlag(1);
            this.saveOrUpdate(birthdayCardOld);
            birthdayGiftService.deleteByCardId(birthdayCardOld.getCardId());
        }
        BirthdayCard birthdayCard = new BirthdayCard();
        birthdayCard.setDelFlag(0);
        birthdayCard.setShopId(0L);
        birthdayCard.setCardStatus(mgtBirthdayEditDto.getCardStatus());
        if(mgtBirthdayEditDto.getCardStatus()==1){
            birthdayCard.setOpenTime(new Date());
        }else{
            birthdayCard.setCloseTime(new Date());
        }
        birthdayCard.setCreateTime(new Date());
        birthdayCard.setAreaFlag(mgtBirthdayEditDto.getAreaFlag());
        if(mgtBirthdayEditDto.getAreaFlag()==2){
            birthdayCard.setDesignatedArea(mgtBirthdayEditDto.getDesignatedArea());
        }else{
            birthdayCard.setDesignatedArea(null);
        }
        birthdayCard.setShopFlag(mgtBirthdayEditDto.getShopFlag());
        if(mgtBirthdayEditDto.getShopFlag()==2){
            birthdayCard.setApplicableShop(mgtBirthdayEditDto.getApplicableShop());
        }else{
            birthdayCard.setApplicableShop(null);
        }
        birthdayCard.setCreateUserId(mgtBirthdayEditDto.getUserId());
        this.saveOrUpdate(birthdayCard);
        List<MgtBirthdayGiftDto> mgtBirthdayGiftDtoList = mgtBirthdayEditDto.getMgtBirthdayGiftDtoList();
        List<BirthdayGift> birthdayGiftList = new ArrayList<>();
        if(!mgtBirthdayGiftDtoList.isEmpty()){
            mgtBirthdayGiftDtoList.forEach( dto->{
                        BirthdayGift birthdayGift = new BirthdayGift();
                        birthdayGift.setDelFlag(0);
                        birthdayGift.setCardId(birthdayCard.getCardId());
                        birthdayGift.setGiftType(dto.getGiftType());
                        birthdayGift.setCouponId(dto.getCouponId());
                        birthdayGift.setCouponName(dto.getCouponName());
                        birthdayGift.setCouponNumber(dto.getCouponNumber());
                        birthdayGift.setGoodsId(dto.getGoodsId());
                        birthdayGift.setGoodsName(dto.getGoodsName());
                        birthdayGift.setGoodsNumber(dto.getGoodsNumber());
                        birthdayGift.setGiftName(dto.getGiftName());
                        birthdayGift.setGiftNumber(dto.getGiftNumber());
                        birthdayGift.setMoney(dto.getMoney());
                        birthdayGift.setWinningProbability(dto.getWinningProbability());
                        birthdayGiftList.add(birthdayGift);
                    }
            );
            birthdayGiftService.saveBatch(birthdayGiftList);
        }
    }
    /**
     * @description  平台获取生日卡编辑信息
     * @author  jqs
     * @date    2023/6/15 15:26
     * @param mgtBirthdayGetDto
     * @return  MgtBirthdayGetVo
     */
    @Override
    public MgtBirthdayGetVo getMgtBirthdayCard(MgtBirthdayGetDto mgtBirthdayGetDto){
        MgtBirthdayGetVo mgtBirthdayGetVo = new MgtBirthdayGetVo();
        LambdaQueryWrapper<BirthdayCard> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(BirthdayCard::getDelFlag,0);
        if(mgtBirthdayGetDto.getShopId()!=null&&mgtBirthdayGetDto.getShopId()>0){
            queryWrapper.eq(BirthdayCard::getShopId,mgtBirthdayGetDto.getShopId());
        }
        BirthdayCard birthdayCard = this.getOne(queryWrapper,false);
        if(birthdayCard!=null){
            mgtBirthdayGetVo.setCardId(birthdayCard.getCardId());
            mgtBirthdayGetVo.setCardStatus(birthdayCard.getCardStatus());
            mgtBirthdayGetVo.setAreaFlag(birthdayCard.getAreaFlag());
            mgtBirthdayGetVo.setDesignatedArea(birthdayCard.getDesignatedArea());
            mgtBirthdayGetVo.setShopFlag(birthdayCard.getShopFlag());
            mgtBirthdayGetVo.setApplicableShop(birthdayCard.getApplicableShop());
            List<MgtBirthdayGiftVo> mgtBirthdayGiftVoList = birthdayGiftService.listGiftVoByCardId(birthdayCard.getCardId());
            mgtBirthdayGetVo.setMgtBirthdayGiftVoList(mgtBirthdayGiftVoList);
        }
        return mgtBirthdayGetVo;
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayGiftServiceImpl.java
New file
@@ -0,0 +1,55 @@
package com.ruoyi.member.service.impl.birthday;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.member.domain.pojo.birthday.BirthdayGift;
import com.ruoyi.member.domain.vo.MgtBirthdayGiftVo;
import com.ruoyi.member.mapper.birthday.BirthdayGiftMapper;
import com.ruoyi.member.service.birthday.BirthdayGiftService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author jqs
 * @since 2023-06-15
 */
@Service
public class BirthdayGiftServiceImpl extends ServiceImpl<BirthdayGiftMapper, BirthdayGift> implements BirthdayGiftService {
    @Resource
    private BirthdayGiftMapper birthdayGiftMapper;
    /**
     * @description  通过id删除
     * @author  jqs
     * @date    2023/6/15 14:37
     * @param cardId
     * @return  void
     */
    @Override
    public void deleteByCardId(Long cardId){
        LambdaUpdateWrapper<BirthdayGift> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.eq(BirthdayGift::getDelFlag,0);
        updateWrapper.eq(BirthdayGift::getCardId,cardId);
        updateWrapper.set(BirthdayGift::getDelFlag,1);
        this.update(updateWrapper);
    }
    /**
     * @description
     * @author  jqs
     * @date    2023/6/15 15:37
     * @param cardId
     * @return  List<MgtBirthdayGiftDto>
     */
    @Override
    public List<MgtBirthdayGiftVo> listGiftVoByCardId(Long cardId){
        return birthdayGiftMapper.listGiftVoByCardId(cardId);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -8,17 +8,13 @@
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.member.domain.dto.MgtCouponEditDto;
import com.ruoyi.member.domain.dto.MgtCouponPageDto;
import com.ruoyi.member.domain.dto.*;
import com.ruoyi.member.domain.pojo.coupon.Coupon;
import com.ruoyi.member.domain.pojo.coupon.CouponRelGoods;
import com.ruoyi.member.domain.pojo.coupon.CouponRelUser;
import com.ruoyi.member.domain.pojo.coupon.CouponTotal;
import com.ruoyi.member.domain.pojo.member.MemberCoupon;
import com.ruoyi.member.domain.vo.MgtCouponGetVo;
import com.ruoyi.member.domain.vo.MgtCouponGoodsListVo;
import com.ruoyi.member.domain.vo.MgtCouponMemberListVo;
import com.ruoyi.member.domain.vo.MgtCouponPageVo;
import com.ruoyi.member.domain.vo.*;
import com.ruoyi.member.mapper.coupon.CouponMapper;
import com.ruoyi.member.service.coupon.CouponRelGoodsService;
import com.ruoyi.member.service.coupon.CouponRelUserService;
@@ -421,4 +417,147 @@
            }
        }
    }
    /**
     * @description  获取优惠券选择列表
     * @author  jqs
     * @date    2023/6/15 14:59
     * @param mgtCouponListDto
     * @return  List<MgtCouponSimpleListVo>
     */
    @Override
    public List<MgtCouponSimpleListVo> listMgtCouponSimpleVo(MgtCouponListDto mgtCouponListDto){
        if(mgtCouponListDto.getShopId()!=null&&mgtCouponListDto.getShopId()==0){
            mgtCouponListDto.setShopId(null);
        }
        return couponMapper.listMgtCouponSimpleVo(mgtCouponListDto);
    }
    /**
     * @description  获取商户优惠券审核列表
     * @author  jqs
     * @date    2023/6/15 16:20
     * @param page
     * @param mgtCouponAuditPageDto
     * @return  List<MgtCouponAuditPageVo>
     */
    @Override
    public List<MgtCouponAuditPageVo> pageMgtAuditCoupon(Page page, MgtCouponAuditPageDto mgtCouponAuditPageDto){
        List<MgtCouponAuditPageVo> mgtCouponAuditPageVoList = couponMapper.pageMgtAuditCoupon(page, mgtCouponAuditPageDto);
        //处理使用限制和有效期
        if(mgtCouponAuditPageVoList!=null&&!mgtCouponAuditPageVoList.isEmpty()){
            Integer couponType;
            Integer validTimeType;
            Date validStartTime;
            Date validEndTime;
            Integer validDay;
            String validTime = "";
            for(MgtCouponAuditPageVo mgtCouponAuditPageVo : mgtCouponAuditPageVoList){
                //处理有效期
                validTimeType = mgtCouponAuditPageVo.getValidTimeType();
                if(validTimeType==1){
                    validStartTime = mgtCouponAuditPageVo.getValidStartTime();
                    validEndTime = mgtCouponAuditPageVo.getValidEndTime();
                    validTime = DateUtils.dateTime(validStartTime) + '-' +  DateUtils.dateTime(validEndTime);
                }else if(validTimeType==2){
                    validDay = mgtCouponAuditPageVo.getValidDay();
                    validTime = "领取之日起" + validDay.toString() + "天";
                }
                mgtCouponAuditPageVo.setValidTime(validTime);
            }
        }
        return mgtCouponAuditPageVoList;
    }
    /**
     * @description  获取优惠券审核信息
     * @author  jqs
     * @date    2023/6/15 16:36
     * @param couponId
     * @return  MgtCouponAuditGetVo
     */
    @Override
    public MgtCouponAuditGetVo getMgtCouponAuditVo(String couponId){
        MgtCouponAuditGetVo mgtCouponAuditGetVo = new MgtCouponAuditGetVo();
        Coupon coupon = this.getById(couponId);
        //判断优惠券是否为指定商品
        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);
                    }
                    mgtCouponAuditGetVo.setRelGoodsList(relGoodsList);
                }
            }
        }
        //判断优惠券是否指定发放用户
        if(coupon.getSendType()==5&&coupon.getRelationType()==1){
            //获取优惠券发放用户
            List<MgtCouponMemberListVo> relUserList = couponRelUserService.listCouponMemberVo(coupon.getCouponId());
            mgtCouponAuditGetVo.setRelUserList(relUserList);
        }
        return mgtCouponAuditGetVo;
    }
    /**
     * @description  审核优惠券
     * @author  jqs
     * @date    2023/6/15 16:46
     * @param mgtCouponAuditDto
     * @return  void
     */
    @Override
    public void auditMgtCoupon(MgtCouponAuditDto mgtCouponAuditDto){
        Coupon coupon = this.getById(mgtCouponAuditDto.getCouponId());
        //判断优惠券是否审核
        if(coupon.getCouponStatus()!=1){
            throw new ServiceException(AppErrorConstant.COUPON_AUDIT_DOUBLE);
        }
        coupon.setAuditStatus(mgtCouponAuditDto.getAuditStatus());
        coupon.setAuditReason(mgtCouponAuditDto.getAuditReason());
        coupon.setUpdateTime(new Date());
        coupon.setUpdateUserId(mgtCouponAuditDto.getUserId());
        this.saveOrUpdate(coupon);
        //审核通过后判断是否立即发放
        if(coupon.getCouponStatus()==2&&coupon.getSendTimeType()==1){
            List<CouponRelUser> couponRelUserList = couponRelUserService.list(new LambdaQueryWrapper<CouponRelUser>().eq(CouponRelUser::getDelFlag,0).eq(CouponRelUser::getCouponId,coupon.getCouponId()));
            List<Long> userIdList = new ArrayList<>();
            if(couponRelUserList!=null&&!couponRelUserList.isEmpty()){
                userIdList = couponRelUserList.stream()
                        .map(CouponRelUser::getUserId)
                        .collect(Collectors.toList());
            }
            //发放优惠券
            sendCoupon(coupon, userIdList);
        }
    }
}
ruoyi-modules/ruoyi-member/src/main/resources/mapper/birthday/BirthdayCardMapper.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.member.mapper.birthday.BirthdayCardMapper">
</mapper>
ruoyi-modules/ruoyi-member/src/main/resources/mapper/birthday/BirthdayGiftMapper.xml
New file
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.member.mapper.birthday.BirthdayGiftMapper">
    <select id="listGiftVoByCardId" resultType="com.ruoyi.member.domain.vo.MgtBirthdayGiftVo">
        SELECT
            card_id,
            gift_type,
            coupon_id,
            coupon_name,
            coupon_number,
            goods_id,
            goods_name,
            goods_number,
            gift_name,
            gift_number,
            money,
            winning_probability
        FROM t_birthday_gift
        WHERE del_flag = 0 AND card_id = #{cardId}
    </select>
</mapper>
ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml
@@ -177,9 +177,15 @@
        tc.create_time  createTime
        FROM t_coupon tc
        LEFT JOIN t_coupon_total tct ON tc.coupon_id = tct.coupon_id
        WHERE del_flag = 0 AND coupon_status = 2
        WHERE tc.del_flag = 0 AND tc.coupon_status = 2
        <if test="param.shopId==null">
            AND tc.coupon_from = 1
        </if>
        <if test="param.shopId!=null and param.shopId!=''">
            AND tc.shop_id = #{param.shopId}
        </if>
        <if test="param.couponName!=null and param.couponName!=''">
            tc.coupon_name LIKE CONCAT('%',#{param.couponName},'%')
            AND tc.coupon_name LIKE CONCAT('%',#{param.couponName},'%')
        </if>
        <if test="param.createStartTime!=null and param.createStartTime!=''">
            AND tc.create_time &gt;= #{param.createStartTime}
@@ -189,5 +195,62 @@
        </if>
    </select>
    
    <select id="listMgtCouponSimpleVo" resultType="com.ruoyi.member.domain.vo.MgtCouponSimpleListVo">
        SELECT
            coupon_id couponId,
            coupon_name couponName,
        FROM t_coupon
        WHERE del_flag = 0
        <if test="param.shopId!=null and param.shopId!='' ">
            AND shop_id = #{param.shopId}
        </if>
    </select>
    <select id="pageMgtAuditCoupon" resultType="com.ruoyi.member.domain.vo.MgtCouponAuditPageVo">
        SELECT
        tc.coupon_id  couponId,
        tc.coupon_name  couponName,
        tc.valid_time_type  validTimeType,
        tc.valid_start_time  validStartTime,
        tc.valid_end_time  validEndTime,
        tc.valid_day  validDay,
        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.limit_number  limitNumber,
        tc.send_time  sendTime,
        tc.create_time  createTime,
        CASE tc.audit_status
            WHEN 2 THEN '审核通过'
            WHEN 3 THEN '审核拒绝'
            ELSE '审核中'
            END auditStatus
        FROM t_coupon tc
        WHERE del_flag = 0
        <if test="param.auditStatus!=null and param.auditStatus!=''">
            AND tc.audit_status = #{param.auditStatus}
        </if>
        <if test="param.couponName!=null and param.couponName!=''">
            AND tc.coupon_name LIKE CONCAT('%',#{param.couponName},'%')
        </if>
        <if test="param.createStartTime!=null and param.createStartTime!=''">
            AND tc.create_time &gt;= #{param.createStartTime}
        </if>
        <if test="param.createEndTime!=null and param.createEndTime!=''">
            AND tc.create_time &lt;= #{param.createEndTime}
        </if>
    </select>
</mapper>
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderPageDto.java
@@ -1,11 +1,8 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
@@ -27,10 +24,10 @@
    private Integer orderStatus;
    @ApiModelProperty(value = "订单开始日期")
    private Date startOrderDate;
    private String startOrderDate;
    @ApiModelProperty(value = "订单结束日期")
    private Date endOrderDate;
    private String endOrderDate;
    @ApiModelProperty(value = "订单来源1.店铺商品2.平台秒杀活动3.线下创建")
    private Integer orderFrom;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderTotalDto.java
@@ -26,9 +26,9 @@
    private Integer orderStatus;
    @ApiModelProperty(value = "订单开始日期")
    private Date startOrderDate;
    private String startOrderDate;
    @ApiModelProperty(value = "订单结束日期")
    private Date endOrderDate;
    private String endOrderDate;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageDto.java
New file
@@ -0,0 +1,22 @@
package com.ruoyi.order.domain.vo;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtShopOrderPageDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/15 17:07
 * @Version 1.0
 */
@Data
public class MgtShopOrderPageDto extends MgtPageDto {
    @ApiModelProperty(value = "关键词")
    private String keyword;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerFollowAgencyTaskDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.shop.domain.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.api.domain.dto.MerBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -26,6 +27,7 @@
    private String callPhone;
    @ApiModelProperty("电话时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date callTime;
    @ApiModelProperty("跟踪内容")
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtChangeCoopDto.java
@@ -20,9 +20,9 @@
    private Long shopId;
    @ApiModelProperty("合作开始时间")
    private Date coopStartTime;
    private String coopStartTime;
    @ApiModelProperty("合作结束时间")
    private Date coopEndTime;
    private String coopEndTime;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopCertificatePageDto.java
@@ -21,10 +21,10 @@
    private String keyword;
    @ApiModelProperty(value = "提交开始时间")
    private Date createStartTime;
    private String createStartTime;
    @ApiModelProperty(value = "提交结束时间")
    private Date createEndTime;
    private String createEndTime;
    @ApiModelProperty(value = "证书状态0待审核1审核通过2审核拒绝")
    private Integer cerStatus;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java
@@ -32,7 +32,7 @@
    private String shopAreaCode;
    @ApiModelProperty(value = "签约时间")
    private Date signTime;
    private String signTime;
    @ApiModelProperty(value = "签约省code")
    private String signProvinceCode;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopSuggestPageDto.java
@@ -21,10 +21,10 @@
    private String keyword;
    @ApiModelProperty(value = "提交开始时间")
    private Date createStartTime;
    private String createStartTime;
    @ApiModelProperty(value = "提交结束时间")
    private Date createEndTime;
    private String createEndTime;
    @ApiModelProperty(value = "建议状态0未回复1已回复")
    private Integer suggestStatus;
@@ -33,10 +33,10 @@
    private String tags;
    @ApiModelProperty(value = "复开始时间")
    private Date replayStartTime;
    private String replayStartTime;
    @ApiModelProperty(value = "回复结束时间")
    private Date replayEndTime;
    private String replayEndTime;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthPageVo.java
@@ -30,5 +30,8 @@
    private String mainType;
    @ApiModelProperty("审核状态")
    private String auditStatus;
    private Integer auditStatus;
    @ApiModelProperty("审核状态描述")
    private String auditStatusDesc;
}
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -505,18 +505,19 @@
        CASE tsa.main_mype
            WHEN 1 THEN '个人'
            WHEN 2 THEN '企业'
            END mainType
            END mainType,
        tsa.audit_status auditStatus,
        CASE tsa.audit_status
            WHEN 0 THEN '未提交'
            WHEN 1 THEN '资料校验中'
            WHEN 2 THEN '待账户验证'
            WHEN 3 THEN '资料校验中'
            WHEN 4 THEN '待账户验证'
            WHEN 5 THEN '资料校验中'
            WHEN 6 THEN '待账户验证'
            WHEN 7 THEN '资料校验中'
            WHEN 8 THEN '待账户验证'
        END audit_status
            WHEN 0 THEN '待审核'
            WHEN 1 THEN '审核中'
            WHEN 2 THEN '审核中'
            WHEN 3 THEN '审核中'
            WHEN 4 THEN '已拒绝'
            WHEN 5 THEN '审核中'
            WHEN 6 THEN '已通过'
            WHEN 7 THEN '已拒绝'
            WHEN 8 THEN '已拒绝'
        END auditStatusDesc
        FROM t_shop ts
        INNER JOIN t_shop_authentication tsa ON ts.shop_id = tsa.shop_id AND tsa.del_flag = 0
        WHERE ts.del_flag = 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java
@@ -44,7 +44,7 @@
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL);
        dataSourceConfig.setTypeConvert(new MySqlTypeConvert());
        dataSourceConfig.setUrl("jdbc:mysql://47.109.78.184:10010/hrt_goods?tinyInt1isBit=false");
        dataSourceConfig.setUrl("jdbc:mysql://47.109.78.184:10010/hrt_member?tinyInt1isBit=false");
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("hrt123456");
@@ -53,7 +53,7 @@
        // 包名配置
        PackageConfig packageConfig = new PackageConfig();
        // 父包和子包名分开处理
        packageConfig.setParent("com.ruoyi.goods");
        packageConfig.setParent("com.ruoyi.member");
        packageConfig.setController("app");
        packageConfig.setEntity("domain.pojo");
        packageConfig.setMapper("mapper");
@@ -74,7 +74,7 @@
        strategy.setControllerMappingHyphenStyle(true);
        //表和前缀处理
        String[] table = {
                "t_activity_total"
                "t_birthday_gift","t_birthday_card"
        };
        strategy.setInclude(table);
        String[] tablePre = new String[]{"t_"};
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
@@ -264,6 +264,14 @@
        return R.ok();
    }
    @RequestMapping(value = "/deleteActiveness", method = RequestMethod.POST)
    @ApiOperation(value = "删除活跃度")
    public R deleteMgtActiveness(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        mgtBaseGetDto.setUserId(SecurityUtils.getUserId());
        activenessService.deleteMgtActiveness(mgtBaseGetDto);
        return R.ok();
    }
    @RequestMapping(value = "/pageClassification", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取分类列表")
    public R<Page<MgtClassificationPageVo>> pageClassification(@RequestBody MgtClassificationPageDto mgtClassificationPageDto) {
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtArticleEditDto.java
@@ -4,8 +4,6 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtArticleEditDto
 * @Description TODO
@@ -33,9 +31,6 @@
    @ApiModelProperty(value = "文章封面")
    private String articleCover;
    @ApiModelProperty(value = "文章标题")
    private Date createTime;
    @ApiModelProperty(value = "文章视频")
    private String articleVideo;
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtArticlePageDto.java
@@ -4,8 +4,6 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtArticlePageDto
 * @Description TODO
@@ -20,8 +18,8 @@
    private String articleTitle;
    @ApiModelProperty(value = "创建开始时间")
    private Date createStartTime;
    private String createStartTime;
    @ApiModelProperty(value = "创建结束时间")
    private Date createEndTime;
    private String createEndTime;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOperLogPageDto.java
@@ -4,8 +4,6 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtOperLogPageDto
 * @Description TODO
@@ -24,10 +22,10 @@
    private String operTitle;
    @ApiModelProperty(value = "操作开始时间")
    private Date operStartTime;
    private String operStartTime;
    @ApiModelProperty(value = "操作结束时间")
    private Date operEndTime;
    private String operEndTime;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOtherConfigEditDto.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
 * @ClassName MgtOtherConfigEditDto
 * @Description TODO
@@ -15,23 +17,30 @@
public class MgtOtherConfigEditDto extends MgtBaseDto {
    @ApiModelProperty(value = "分享小程序可获得积分")
    @NotNull(message = "分享小程序可获得积分不能为空")
    private Integer shareIntegral;
    @ApiModelProperty(value = "平台建议可获得积分")
    @NotNull(message = "平台建议可获得积分不能为空")
    private Integer suggestPlatformIntegral;
    @ApiModelProperty(value = "每日签到可获得积分")
    @NotNull(message = "每日签到可获得积分不能为空")
    private Integer signInIntegral;
    @ApiModelProperty(value = "门店建议可获得积分")
    @NotNull(message = "门店建议可获得积分不能为空")
    private Integer suggestShopIntegral;
    @ApiModelProperty(value = "购物满1元可获得积分")
    @NotNull(message = "购物满1元可获得积分不能为空")
    private Integer payMoneyIntegral;
    @ApiModelProperty(value = "C端订单自动取消时间")
    @NotNull(message = "C端订单自动取消时间不能为空")
    private Integer orderAutoCancelTime;
    @ApiModelProperty(value = "首页风格1.鸿瑞堂2.古引坊")
    @NotNull(message = "首页风格不能为空")
    private Integer homeStyle;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java
@@ -4,8 +4,6 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtpopEditDto
 * @Description TODO
@@ -38,9 +36,9 @@
    private Integer popSort;
    @ApiModelProperty(value = "展示开始时间 yyyy-MM-dd")
    private Date showStartTime;
    private String showStartTime;
    @ApiModelProperty(value = "展示结束时间  yyyy-MM-dd")
    private Date showEndTime;
    private String showEndTime;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffSuggestPageDto.java
@@ -4,8 +4,6 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @version 1.0
@@ -24,10 +22,10 @@
    private Long deptId;
    @ApiModelProperty(value = "提交开始时间")
    private Date createStartTime;
    private String createStartTime;
    @ApiModelProperty(value = "提交结束时间")
    private Date createEndTime;
    private String createEndTime;
    @ApiModelProperty(value = "建议状态0未回复1已回复")
    private Integer suggestStatus;
@@ -36,9 +34,9 @@
    private String tags;
    @ApiModelProperty(value = "回复开始时间")
    private Date replayStartTime;
    private String replayStartTime;
    @ApiModelProperty(value = "回复结束时间")
    private Date replayEndTime;
    private String replayEndTime;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/ActivenessService.java
@@ -1,6 +1,7 @@
package com.ruoyi.system.service.config;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import com.ruoyi.system.api.domain.poji.config.Activeness;
import com.ruoyi.system.domain.dto.MgtActivenessEditDto;
@@ -32,4 +33,13 @@
     */
    void editMgtActiveness(MgtActivenessEditDto mgtActivenessEditDto);
    /**
     * @description  删除活跃度
     * @author  jqs
     * @date    2023/6/15 16:15
     * @param mgtBaseGetDto
     * @return  void
     */
    void deleteMgtActiveness(MgtBaseGetDto mgtBaseGetDto);
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/ActivenessServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.system.service.impl.config;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import com.ruoyi.system.api.domain.poji.config.Activeness;
import com.ruoyi.system.domain.dto.MgtActivenessEditDto;
import com.ruoyi.system.mapper.config.ActivenessMapper;
@@ -62,4 +63,20 @@
        activeness.setEndDay(mgtActivenessEditDto.getEndDay());
        this.saveOrUpdate(activeness);
    }
    /**
     * @description  删除活跃度
     * @author  jqs
     * @date    2023/6/15 16:15
     * @param mgtBaseGetDto
     * @return  void
     */
    @Override
    public void deleteMgtActiveness(MgtBaseGetDto mgtBaseGetDto){
        Activeness activeness = this.getById(Long.valueOf(mgtBaseGetDto.getId()));
        activeness.setDelFlag(1);
        activeness.setUpdateTime(new Date());
        activeness.setUpdateUserId(mgtBaseGetDto.getUserId());
        this.saveOrUpdate(activeness);
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
@@ -71,6 +71,7 @@
        if (customConfig == null) {
            customConfig = new CustomConfig();
            customConfig.setCreateTime(new Date());
            customConfig.setDelFlag(0);
        }
        // 设置配置的类型、键、名称、值和更新时间
        customConfig.setConfigType(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyType());
@@ -232,41 +233,36 @@
            customConfig.setConfigType(configEnum.getKeyType());
            customConfig.setConfigKey(configEnum.getKey());
            customConfig.setConfigName(configEnum.getKeyName());
            customConfig.setConfigValue(getConfigValue(configEnum, mgtOtherConfigEditDto));
            customConfig.setCreateTime(updateTime);
            customConfig.setUpdateTime(updateTime);
            this.saveOrUpdate(customConfig);
            switch (configEnum) {
                case SHARE_INTEGRAL:
                    customConfig.setConfigValue(mgtOtherConfigEditDto.getShareIntegral().toString());
                    this.saveOrUpdate(customConfig);
                case SUGGEST_PLATFORM_INTEGRAL:
                    customConfig.setConfigValue(mgtOtherConfigEditDto.getSuggestPlatformIntegral().toString());
                    this.saveOrUpdate(customConfig);
                case SIGN_IN_INTEGRAL:
                    customConfig.setConfigValue(mgtOtherConfigEditDto.getSignInIntegral().toString());
                    this.saveOrUpdate(customConfig);
                case SUGGEST_SHOP_INTEGRAL:
                    customConfig.setConfigValue(mgtOtherConfigEditDto.getSuggestShopIntegral().toString());
                    this.saveOrUpdate(customConfig);
                case ORDER_AUTO_CANCEL_TIME:
                    customConfig.setConfigValue(mgtOtherConfigEditDto.getOrderAutoCancelTime().toString());
                    this.saveOrUpdate(customConfig);
                case PAY_MONEY_INTEGRAL:
                    customConfig.setConfigValue(mgtOtherConfigEditDto.getPayMoneyIntegral().toString());
                    this.saveOrUpdate(customConfig);
                case HOME_STYLE:
                    customConfig.setConfigValue(mgtOtherConfigEditDto.getHomeStyle().toString());
                    this.saveOrUpdate(customConfig);
                default:
                    break;
            }
        }
    }
    /**
     * @param configEnum
     * @param mgtOtherConfigEditDto
     * @return String
     * @description 获取配置参数
     * @author jqs
     * @date 2023/6/7 16:37
     */
    private String getConfigValue(ConfigEnum configEnum, MgtOtherConfigEditDto mgtOtherConfigEditDto) {
        switch (configEnum) {
            case SHARE_INTEGRAL:
                return mgtOtherConfigEditDto.getShareIntegral().toString();
            case SUGGEST_PLATFORM_INTEGRAL:
                return mgtOtherConfigEditDto.getSuggestPlatformIntegral().toString();
            case SIGN_IN_INTEGRAL:
                return mgtOtherConfigEditDto.getSignInIntegral().toString();
            case SUGGEST_SHOP_INTEGRAL:
                return mgtOtherConfigEditDto.getSuggestShopIntegral().toString();
            case ORDER_AUTO_CANCEL_TIME:
                return mgtOtherConfigEditDto.getOrderAutoCancelTime().toString();
            case PAY_MONEY_INTEGRAL:
                return mgtOtherConfigEditDto.getPayMoneyIntegral().toString();
            case HOME_STYLE:
                return mgtOtherConfigEditDto.getHomeStyle().toString();
            default:
                throw new IllegalArgumentException("Invalid ConfigEnum");
        }
    }
    /**
     * @param mgtShopConfigEditDto
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/ArticleMapper.xml
@@ -18,13 +18,13 @@
        LEFT JOIN t_sys_classification tsc ON tsc.class_id = ta.class_id
        WHERE ta.del_flag = 0
        <if test="param.articleTitle!=null and param.articleTitle!=''">
            ta.article_title LIKE CONCAT('%',#{param.articleTitle},'%')
            AND ta.article_title LIKE CONCAT('%',#{param.articleTitle},'%')
        </if>
        <if test="param.createStartTime!=null and param.createStartTime!=''">
            ta.create_time &gt;= #{createStartTime}
            AND ta.create_time &gt;= #{param.createStartTime}
        </if>
        <if test="param.createEndTime!=null and param.createEndTime!=''">
            ta.create_time &lt;= #{createEndTime}
            AND ta.create_time &lt;= #{param.createEndTime}
        </if>
        ORDER BY ta.create_time DESC
    </select>