bug
jiangqs
2023-08-08 2d20929b57b4562959f355d20a09a474d46939dd
bug
35个文件已修改
1个文件已添加
395 ■■■■ 已修改文件
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtMemberController.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerCouponEditDto.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/coupon/Coupon.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerCouponGetVo.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/scheduler/MemberScheduler.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/MsgUtils.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/birthday/BirthdayCardMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/pom.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtMemberController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/MsgUtils.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopAuthDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthGetVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java
@@ -95,9 +95,12 @@
    @ApiOperation(value = "导出活动参与记录列表")
    public void exportPageMgtActivityRecord( MgtActivityRecordPageDto mgtActivityRecordPageDto, HttpServletResponse response) {
        Page<MgtActivityRecordPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtActivityRecordPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtActivityRecordPageDto.getPageSize());
            page.setCurrent(mgtActivityRecordPageDto.getPageNum());
        }
        List<MgtActivityRecordPageVo> activityRecordPageVoList = activityService.pageMgtActivityRecord(page,mgtActivityRecordPageDto);
        ExcelUtil<MgtActivityRecordPageVo> util = new ExcelUtil<MgtActivityRecordPageVo>(MgtActivityRecordPageVo.class);
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java
@@ -55,9 +55,12 @@
    @ApiOperation(value = "导出商品列表")
    public void exportPageMgtGoods( MgtGoodsPageDto mgtGoodsPageDto, HttpServletResponse response) {
        Page<MgtGoodsPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtGoodsPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtGoodsPageDto.getPageSize());
            page.setCurrent(mgtGoodsPageDto.getPageNum());
        }
        List<MgtGoodsPageVo> mgtGoodsPageVoList = goodsService.pageMgtGoods(page,mgtGoodsPageDto);
        ExcelUtil<MgtGoodsPageVo> util = new ExcelUtil<MgtGoodsPageVo>(MgtGoodsPageVo.class);
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
@@ -171,7 +171,7 @@
        tg.goods_introduction goodsIntroduction,
        tg.goods_type goodsType,
        tg.goods_tags goodsTag,
        IFNULL(tsg.sales_price,tg.sales_price) salesPrice,
        GREATEST(tg.sales_price, IFNULL(tsg.sales_price, 0.00)) salesPrice,
        tgf.file_url goodsPicture,
        tg.goods_nurses goodsNurses,
        tag.activity_price activityPrice,
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtMemberController.java
@@ -65,9 +65,12 @@
    @ApiOperation(value = "导出会员列表")
    public void exportPageMgtMember(MgtMemberPageDto mgtMemberPageDto, HttpServletResponse response) {
        Page<MgtMemberPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtMemberPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtMemberPageDto.getPageSize());
            page.setCurrent(mgtMemberPageDto.getPageNum());
        }
        List<MgtMemberPageVo> mgtShopPageVoList = memberService.pageMgtMember(page,mgtMemberPageDto);
        ExcelUtil<MgtMemberPageVo> util = new ExcelUtil<MgtMemberPageVo>(MgtMemberPageVo.class);
@@ -126,9 +129,12 @@
        Long userId = SecurityUtils.getUserId();
        mgtMemberIntegralPageDto.setUserId(userId);
        Page<MgtMemberIntegralPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtMemberIntegralPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtMemberIntegralPageDto.getPageSize());
            page.setCurrent(mgtMemberIntegralPageDto.getPageNum());
        }
        List<MgtMemberIntegralPageVo> mgtMemberIntegralPageVoList = integralRecordService.pageMgtMemberIntegral(page,mgtMemberIntegralPageDto);
        return R.ok(page.setRecords(mgtMemberIntegralPageVoList));
@@ -165,9 +171,12 @@
        Long userId = SecurityUtils.getUserId();
        mgtMemberBrowsePageDto.setUserId(userId);
        Page<MgtMemberBrowsePageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtMemberBrowsePageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtMemberBrowsePageDto.getPageSize());
            page.setCurrent(mgtMemberBrowsePageDto.getPageNum());
        }
        List<MgtMemberBrowsePageVo> mgtMemberBrowsePageVoList = browseRecordService.pageMgtMemberBrowse(page,mgtMemberBrowsePageDto);
        ExcelUtil<MgtMemberBrowsePageVo> util = new ExcelUtil<MgtMemberBrowsePageVo>(MgtMemberBrowsePageVo.class);
@@ -213,9 +222,12 @@
        Long userId = SecurityUtils.getUserId();
        memberSuggestPageDto.setUserId(userId);
        Page<MgtMemberSuggestPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(memberSuggestPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(memberSuggestPageDto.getPageSize());
            page.setCurrent(memberSuggestPageDto.getPageNum());
        }
        List<MgtMemberSuggestPageVo> mgtMemberSuggestPageVoList = memberSuggestService.pageMgtMemberSuggest(page,memberSuggestPageDto);
        ExcelUtil<MgtMemberSuggestPageVo> util = new ExcelUtil<MgtMemberSuggestPageVo>(MgtMemberSuggestPageVo.class);
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerCouponEditDto.java
@@ -73,6 +73,7 @@
    @ApiModelProperty(value = "关联用户id集合")
    private List<Long> relUserIdList;
    @ApiModelProperty(value = "宣传海报")
    private String propagandaPoster;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/coupon/Coupon.java
@@ -184,7 +184,13 @@
    @TableField("rel_user_ids")
    private String relUserIds;
    /**
     * 宣传海报
     */
    @TableField("propaganda_poster")
    private String propagandaPoster;
    @Override
    protected Serializable pkVal() {
        return this.couponId;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerCouponGetVo.java
@@ -1,5 +1,6 @@
package com.ruoyi.member.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.api.domain.dto.MerBaseDto;
import com.ruoyi.system.api.domain.vo.MerGoodsPriceListVo;
import io.swagger.annotations.ApiModelProperty;
@@ -38,18 +39,21 @@
    private Integer sendTimeType;
    @ApiModelProperty(value="发送时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date sendTime;
    @ApiModelProperty(value = "使用范围1.全场2.指定商品")
    private String useScope;
    private Integer useScope;
    @ApiModelProperty(value = "有效期类型1.时间段2.领取之日起")
    private Integer validTimeType;
    @ApiModelProperty(value = "有效开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date validStartTime;
    @ApiModelProperty(value = "有效截止时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date validEndTime;
    @ApiModelProperty(value = "有效期")
@@ -74,5 +78,6 @@
    @ApiModelProperty(value = "关联用户集合")
    private List<MgtCouponMemberListVo> relUserList;
    @ApiModelProperty(value = "宣传海报")
    private String propagandaPoster;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
@@ -410,6 +410,15 @@
     * @return  Integer
     */
    Integer getAreaNewMember(@Param("shopIdList")List<Long> shopIdList);
    /**
     * @description  获取今日生日用户电话
     * @author  jqs
     * @date    2023/8/7 16:13
     * @param
     * @return  List<String>
     */
    List<String> listTodayBirthday();
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/scheduler/MemberScheduler.java
@@ -3,6 +3,7 @@
import com.ruoyi.member.service.coupon.CouponService;
import com.ruoyi.member.service.member.MemberCouponService;
import com.ruoyi.member.service.member.MemberService;
import com.ruoyi.member.service.member.MemberTotalService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +30,9 @@
    @Resource
    private MemberTotalService memberTotalService;
    @Resource
    private MemberService memberService;
    /**
     * 优惠券定时发送
     */
@@ -54,8 +58,16 @@
    @Scheduled(cron="3 0 0 * * ?")
    private void timinginitIntegralFlag(){
        if(schedulerUtils.getSchedulerRun()) {
            log.info("定时更新用户每日任务标记");
            log.info("定时更新用户每日任务标记开始执行");
            memberTotalService.initIntegralFlag();
        }
    }
    @Scheduled(cron="0 0 10 * * ?")
    private void timingSendBirthdayBless(){
        if(schedulerUtils.getSchedulerRun()) {
            log.info("定时发送生日祝福开始执行");
            memberService.sendBirthdayBless();
        }
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java
@@ -719,7 +719,7 @@
        if(marketingStatus<=1){
            shopBirthdayCardOpen = false;
        }
        if(!platformBirthdayCardOpen||!shopBirthdayCardOpen){
        if(platformBirthdayCardOpen||shopBirthdayCardOpen){
            return 1;
        }else{
            return 0;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -798,7 +798,7 @@
        coupon.setUpdateTime(new Date());
        coupon.setUpdateUserId(mgtCouponAuditDto.getUserId());
        //审核通过后判断是否立即发放
        if(coupon.getAuditStatus()==2&&coupon.getSendTimeType()==1){
        if(coupon.getAuditStatus()==2&&coupon.getSendType()==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()){
@@ -990,6 +990,7 @@
        coupon.setUpdateTime(new Date());
        coupon.setUpdateUserId(merCouponEditDto.getUserId());
        coupon.setRelationType(1);
        coupon.setPropagandaPoster(merCouponEditDto.getPropagandaPoster());
        //判断是否指定商品
        if(coupon.getUseScope()==2&&!merCouponEditDto.getRelGoodsIdList().isEmpty()){
            List<String> relGoodsIdList = merCouponEditDto.getRelGoodsIdList();
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -27,6 +27,7 @@
import com.ruoyi.member.service.member.MemberService;
import com.ruoyi.member.service.member.MemberTotalService;
import com.ruoyi.member.util.HttpUtils;
import com.ruoyi.member.util.MsgUtils;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.constant.SecurityConstant;
import com.ruoyi.system.api.domain.dto.*;
@@ -390,8 +391,8 @@
                for(Activeness activeness : activenessList){
                    if(activeness.getActivenessName().equals(merMemberPageDto.getMemberActiveness())){
                        Date nowDay = DateUtils.getNowDate();
                        String actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay()));
                        String actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay()));
                        String actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getEndDay()));
                        String actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getStartDay()));
                        merMemberPageDto.setActStartDate(actStartDate);
                        merMemberPageDto.setActEndDate(actEndDate);
                        break;
@@ -421,8 +422,8 @@
                MgtActivenessJudgeVo mgtActivenessJudgeVo;
                for (Activeness activeness : activenessList) {
                    mgtActivenessJudgeVo = new MgtActivenessJudgeVo();
                    mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(), activeness.getEndDay()));
                    mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(), activeness.getStartDay() - 1));
                    mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(), -activeness.getEndDay()));
                    mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(), -activeness.getStartDay()));
                    mgtActivenessJudgeVo.setActivenessName(activeness.getActivenessName());
                }
                //活跃度赋值
@@ -885,8 +886,8 @@
                    .filter(activeness -> activeness.getActivenessId().equals(merMemberPageDto.getActivenessId()))
                    .findFirst()
                    .ifPresent(activeness -> {
                        merMemberPageDto.setActStartDate(DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())));
                        merMemberPageDto.setActEndDate(DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())));
                        merMemberPageDto.setActStartDate(DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getEndDay())));
                        merMemberPageDto.setActEndDate(DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getStartDay())));
                    });
        }
        //处理标签为正则表达
@@ -916,8 +917,8 @@
                MgtActivenessJudgeVo mgtActivenessJudgeVo;
                for (Activeness activeness : activenessList) {
                    mgtActivenessJudgeVo = new MgtActivenessJudgeVo();
                    mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(), activeness.getEndDay()));
                    mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(), activeness.getStartDay() - 1));
                    mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(), -activeness.getEndDay()));
                    mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(), -activeness.getStartDay()));
                    mgtActivenessJudgeVo.setActivenessName(activeness.getActivenessName());
                }
                //活跃度赋值
@@ -1278,8 +1279,8 @@
            // 遍历不同活跃度列表,设置活跃度数组和对应的会员数数组
            for (int i = 0; i < activenessList.size(); i++) {
                activeness = activenessList.get(i);
                actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay()));
                actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay()));
                actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getEndDay()));
                actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getStartDay()));
                count = memberMapper.getTotalMemberTotalActiveness(shopId, actStartDate, actEndDate);
                MgtMapIntTotalVo = new MgtMapIntTotalVo();
                MgtMapIntTotalVo.setMapKey(activeness.getActivenessName());
@@ -1391,8 +1392,8 @@
            // 遍历不同活跃度列表,设置活跃度数组和对应的会员数数组
            for (int i = 0; i < activenessList.size(); i++) {
                activeness = activenessList.get(i);
                actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay()));
                actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay()));
                actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getEndDay()));
                actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getStartDay()));
                count = memberMapper.getPlTotalMemberTotalActiveness(shopIdList, actStartDate, actEndDate);
                if (StringUtils.isNotBlank(activeness.getActivenessName())) {
                    MgtMapIntTotalVo = new MgtMapIntTotalVo();
@@ -1671,11 +1672,10 @@
            // 遍历不同活跃度列表,设置活跃度数组和对应的会员数数组
            for (int i = 0; i < activenessList.size(); i++) {
                activeness = activenessList.get(i);
                actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay()));
                actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay()));
                actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getEndDay()));
                actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getStartDay()));
                merTotalDto.setStartDate(actStartDate);
                merTotalDto.setEndDate(actEndDate);
                log.info("活跃度"+merTotalDto.toString());
                count = memberMapper.getMerMemberTotalActiveness(merTotalDto);
                MgtMapIntTotalVo = new MgtMapIntTotalVo();
                MgtMapIntTotalVo.setMapKey(activeness.getActivenessName());
@@ -1981,4 +1981,26 @@
        updateWrapper.set(Member::getRelationShopName,mgtMemberShopNameDto.getShopName());
        this.update(updateWrapper);
    }
    /**
     * @description  发送生日祝福
     * @author  jqs
     * @date    2023/8/7 15:40
     * @param
     * @return  void
     */
    @Override
    public void sendBirthdayBless(){
        List<String> mobileList = memberMapper.listTodayBirthday();
        if(mobileList!=null&&!mobileList.isEmpty()){
            log.info("生日祝福发送短信---"+mobileList.toString());
            for(String mobile : mobileList){
                try {
                    MsgUtils.sendMsg(mobile,null,null);
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }
            }
        }
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -366,4 +366,13 @@
     * @return  void
     */
    void updateMemberShopName(MgtMemberShopNameDto mgtMemberShopNameDto);
    /**
     * @description  发送生日祝福
     * @author  jqs
     * @date    2023/8/7 15:40
     * @param
     * @return  void
     */
    void sendBirthdayBless();
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/MsgUtils.java
@@ -18,13 +18,17 @@
 * @date 2023 2023/8/6 12:48
 */
public class MsgUtils {
    public static void sendMsg(String phoneNumber,Integer sendType,String sendContent) throws Exception {
        StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
                .accessKeyId(System.getenv("LTAI5tAfKFuhyKFH12CTkXFj"))
                .accessKeySecret(System.getenv("tIBRuonHuQQPdcYrmlCdXlexOSwVXe"))
                .accessKeyId("LTAI5tAfKFuhyKFH12CTkXFj")
                .accessKeySecret("tIBRuonHuQQPdcYrmlCdXlexOSwVXe")
                .build());
        AsyncClient client = AsyncClient.builder()
@@ -39,6 +43,7 @@
        SendSmsRequest sendSmsRequest = SendSmsRequest.builder()
                .phoneNumbers(phoneNumber)
                .signName("鸿瑞堂")
                .templateCode("SMS_234035865")
                .build();
        CompletableFuture<SendSmsResponse> response = client.sendSms(sendSmsRequest);
ruoyi-modules/ruoyi-member/src/main/resources/mapper/birthday/BirthdayCardMapper.xml
@@ -21,10 +21,10 @@
        SELECT
        prize_id prizeId,
        CASE gift_type
            WHEN 1 THEN coupon_name
            WHEN 2 THEN goods_name
            WHEN 3 THEN gift_name
            WHEN 4 THEN CONCAT("现金",money,"元")
            WHEN 1 THEN CONCAT(coupon_name,"优惠券")
            WHEN 2 THEN CONCAT(goods_name,"商品")
            WHEN 4 THEN CONCAT(gift_name,"实物")
            WHEN 3 THEN CONCAT("现金",money,"元")
            END prizeName,
        "生日卡" prizeFrom,
        verify_status verifyStatus,
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -1013,4 +1013,10 @@
            #{item}
        </foreach>
    </select>
    <select id="listTodayBirthday" resultType="java.lang.String">
        SELECT mobile
        FROM t_member
        WHERE del_flag = 0 AND binding_flag = 1 AND birthday = CURRENT_DATE()
    </select>
</mapper>
ruoyi-modules/ruoyi-order/pom.xml
@@ -126,7 +126,11 @@
            <artifactId>weixin-java-pay</artifactId>
            <version>4.5.0</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>alibabacloud-dysmsapi20170525</artifactId>
            <version>2.0.24</version>
        </dependency>
    </dependencies>
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtMemberController.java
@@ -53,9 +53,12 @@
        Long userId = SecurityUtils.getUserId();
        mgtMemberServiceRecordPageDto.setUserId(userId);
        Page<MgtMemberServiceRecordPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtMemberServiceRecordPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtMemberServiceRecordPageDto.getPageSize());
            page.setCurrent(mgtMemberServiceRecordPageDto.getPageNum());
        }
        List<MgtMemberServiceRecordPageVo> list = userServiceRecordService.pageMgtMemberServiceRecord(page,mgtMemberServiceRecordPageDto);
        ExcelUtil<MgtMemberServiceRecordPageVo> util = new ExcelUtil<MgtMemberServiceRecordPageVo>(MgtMemberServiceRecordPageVo.class);
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java
@@ -65,9 +65,12 @@
        Long userId = SecurityUtils.getUserId();
        mgtMemberOrderPageDto.setUserId(userId);
        Page<MgtMemberOrderPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtMemberOrderPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtMemberOrderPageDto.getPageSize());
            page.setCurrent(mgtMemberOrderPageDto.getPageNum());
        }
        List<MgtMemberOrderPageVo> mgtMemberOrderPageVoList = orderService.pageMgtMemberOrder(page,mgtMemberOrderPageDto);
        if(!mgtMemberOrderPageVoList.isEmpty()){
@@ -114,9 +117,12 @@
        Long userId = SecurityUtils.getUserId();
        mgtShopOrderPageDto.setUserId(userId);
        Page<MgtActivityOrderPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtShopOrderPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtShopOrderPageDto.getPageSize());
            page.setCurrent(mgtShopOrderPageDto.getPageNum());
        }
        List<MgtActivityOrderPageVo> mgtActivityOrderPageVos = orderService.pageMgtActivityOrder(page,mgtShopOrderPageDto);
        ExcelUtil<MgtActivityOrderPageVo> util = new ExcelUtil<MgtActivityOrderPageVo>(MgtActivityOrderPageVo.class);
@@ -141,9 +147,12 @@
        Long userId = SecurityUtils.getUserId();
        mgtShopOrderPageDto.setUserId(userId);
        Page<MgtShopOrderPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtShopOrderPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtShopOrderPageDto.getPageSize());
            page.setCurrent(mgtShopOrderPageDto.getPageNum());
        }
        List<MgtShopOrderPageVo> shopOrderPageVoList = orderService.pageMgtShopOrder(page,mgtShopOrderPageDto);
        ExcelUtil<MgtShopOrderPageVo> util = new ExcelUtil<MgtShopOrderPageVo>(MgtShopOrderPageVo.class);
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
@@ -18,6 +18,7 @@
import com.ruoyi.order.service.order.ConsumerGoodsService;
import com.ruoyi.order.service.order.ServiceRecordDetailService;
import com.ruoyi.order.service.order.UserServiceRecordService;
import com.ruoyi.order.util.MsgUtils;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.domain.dto.AppShopGoodsGetDto;
import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto;
@@ -26,6 +27,7 @@
import com.ruoyi.system.api.domain.poji.goods.Goods;
import com.ruoyi.system.api.domain.poji.goods.GoodsFile;
import com.ruoyi.system.api.domain.poji.goods.ShopGoods;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.service.RemoteGoodsService;
import com.ruoyi.system.api.service.RemoteMemberService;
import com.ruoyi.system.api.service.RemoteShopService;
@@ -240,6 +242,7 @@
            List<ServiceRecordDetail> serviceRecordDetailList = new ArrayList<>();
            ServiceRecordDetail serviceRecordDetail;
            MerMemberConsumerGoodsTotalVo memberGoodsTotal = this.getMemberConsumerGoodsTotalVo(merSureConsumerGoodsDto.getMemberUserId(), merSureConsumerGoodsDto.getShopId());
            List<String> consumerGoodsList = new ArrayList<>();
            for (MerSureConsumerGoodsListDto goodsDto : goodsList) {
                consumerGoods = this.getById(goodsDto.getConsumerGoodsId());
                serviceRecordDetail = new ServiceRecordDetail();
@@ -293,8 +296,12 @@
                serviceRecordDetail.setConsumerGoodsName(consumerGoods.getGoodsName());
                serviceRecordDetail.setServiceNum(consumerGoods.getServiceNum());
                serviceRecordDetail.setSurpNum(consumerGoods.getServiceNum()-consumerGoods.getUsedNum());
                if(serviceRecordDetail.getSurpNum()==0){
                    consumerGoodsList.add(consumerGoods.getGoodsName());
                }
                serviceRecordDetailList.add(serviceRecordDetail);
            }
            //判断是否减人
            if (cycleService > 0 && memberGoodsTotal.getCycleOrder() - cycleService < 1) {
                cyclePerson = 1;
@@ -337,6 +344,14 @@
            shopTotalChange.setExperienceService(experienceService);
            shopTotalChange.setExperiencePerson(experiencePerson);
            remoteShopService.changeShopTotal(shopTotalChange);
            if(!consumerGoodsList.isEmpty()){
                Member member = remoteMemberService.getMember(userId).getData();
                try {
                    MsgUtils.sendMsg(member.getMobile(),null,null);
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }
            }
        }
    }
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -694,7 +694,6 @@
        order.setDiscountMoney(couponDiscount);
        order.setReceivableMoney(orderPayMoney);
        order.setReceivableDeposit(orderPayDeposit);
        order.setChangeReceivableMoney(orderPayMoney);
        // 根据支付类型计算支付金额
        if (appPlaceOrderDto.getPayType() == 1) {
            order.setPayMoney(orderPayMoney);
@@ -711,6 +710,7 @@
            order.setPayType(2);
            order.setCloseFlag(0);
        }
        order.setChangeReceivableMoney(appPlaceOrderVo.getUnpaidMoney());
        order.setOrderRemark(appPlaceOrderDto.getOrderRemark());
        order.setGoodsNum(goodsNum);
        order.setCreateTime(new Date());
@@ -1028,7 +1028,6 @@
        order.setDiscountMoney(couponDiscount);
        order.setReceivableMoney(orderPayMoney);
        order.setReceivableDeposit(orderPayDeposit);
        order.setChangeReceivableMoney(orderPayMoney);
        order.setActivityId(activityId);
        order.setActivityName(activityGoodsGetVo.getActivityName());
        // 根据支付类型设置订单支付金额,在线支付金额,订单支付金额,未支付金额,关闭标志
@@ -1039,6 +1038,7 @@
            appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney()));
            order.setPayType(1);
            order.setCloseFlag(1);
            order.setChangeReceivableMoney(orderGoodsMoney.subtract(couponDiscount));
        } else if (appPlaceActivityDto.getPayType() == 2) {
            order.setPayMoney(orderPayDeposit);
            order.setOnlinePayMoney(orderPayDeposit);
@@ -1046,6 +1046,7 @@
            appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney()));
            order.setPayType(2);
            order.setCloseFlag(0);
            order.setChangeReceivableMoney(orderGoodsMoney.subtract(couponDiscount).subtract(orderPayDeposit));
        }
        // 设置订单备注,商品数量,创建时间
        order.setOrderRemark(appPlaceActivityDto.getOrderRemark());
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/MsgUtils.java
New file
@@ -0,0 +1,55 @@
package com.ruoyi.order.util;
import com.alibaba.nacos.shaded.com.google.gson.Gson;
import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.sdk.service.dysmsapi20170525.AsyncClient;
import com.aliyun.sdk.service.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.sdk.service.dysmsapi20170525.models.SendSmsResponse;
import darabonba.core.client.ClientOverrideConfiguration;
import java.util.concurrent.CompletableFuture;
/**
 * @author jqs34
 * @version 1.0
 * @classname MsgUtils
 * @description: TODO
 * @date 2023 2023/8/6 12:48
 */
public class MsgUtils {
    public static void sendMsg(String phoneNumber,Integer sendType,String sendContent) throws Exception {
        StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
                .accessKeyId("LTAI5tAfKFuhyKFH12CTkXFj")
                .accessKeySecret("tIBRuonHuQQPdcYrmlCdXlexOSwVXe")
                .build());
        AsyncClient client = AsyncClient.builder()
                .credentialsProvider(provider)
                .overrideConfiguration(
                        ClientOverrideConfiguration.create()
                                // Endpoint 请参考 https://api.aliyun.com/product/Dysmsapi
                                .setEndpointOverride("dysmsapi.aliyuncs.com")
                )
                .build();
        SendSmsRequest sendSmsRequest = SendSmsRequest.builder()
                .phoneNumbers(phoneNumber)
                .signName("鸿瑞堂")
                .templateCode("SMS_234035865")
                .build();
        CompletableFuture<SendSmsResponse> response = client.sendSms(sendSmsRequest);
        SendSmsResponse resp = response.get();
        System.out.println(new Gson().toJson(resp));
        client.close();
    }
}
ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml
@@ -28,10 +28,10 @@
wx:
  pay:
    appId: #微信公众号或者小程序等的appid(平台)
    mchId: #微信支付商户号(平台)
    mchKey: #微信支付商户密钥(平台)
    platformTyMacId: # 平台特约商户号,用户平台收取服务费
    subAppId: #服务商模式下的子商户公众账号ID (这个可以不用配置)
    subMchId: #服务商模式下的子商户号 (二级商户号  也不用配置)
    keyPath: # (商户平台 下载的V3证书)p12证书的位置,可以指定绝对路径,也可以指定类路径(以classpath:开头)
    appId: wxb7f0ea286fc4e535
    mchId: 1631381314
    mchKey: J8v9JDHKJYDHW9bdk30o2bdjy6z9mn1A
    subAppId: #服务商模式下的子商户公众账号ID
    subMchId: #服务商模式下的子商户号
    keyPath: /home/cert/apiclient_cert.p12
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml
@@ -130,7 +130,8 @@
        tcg.goods_nurses goodsNurses,
        tcg.cycle_num_flag cycleNumFlag,
        tcg.service_num serviceNum,
        tcg.used_num usedNum
        tcg.used_num usedNum,
        tcg.sure_num sureNum
        FROM t_consumer_goods tcg
        WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.userId} AND tcg.shop_id = #{param.shopId}
        <if test="param.goodsType != null">
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -331,12 +331,6 @@
        <if test="param.memberUserId != null and param.memberUserId != ''">
            AND toc.user_id = #{param.memberUserId}
        </if>
        <if test="param.memberUserIdList != null and param.memberUserIdList.size()>0">
            AND toc.user_id IN
            <foreach collection="param.memberUserIdList" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
        <if test="param.type != null and param.type ==1 ">
            AND (toc.order_status = 2 OR toc.order_status = 3)
        </if>
@@ -356,7 +350,14 @@
            AND Date(toc.create_time) &lt;= #{param.endOrderDate}
        </if>
        <if test="param.keyword != null and param.keyword != ''">
            AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR tog.goods_name LIKE CONCAT('%',#{param.keyword},'%'))
            AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR tog.goods_name LIKE CONCAT('%',#{param.keyword},'%')
            <if test="param.memberUserIdList != null and param.memberUserIdList.size()>0">
                OR toc.user_id IN
                <foreach collection="param.memberUserIdList" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
            )
        </if>
        ORDER BY toc.create_time DESC
    </select>
@@ -1496,41 +1497,47 @@
    <select id="totalMerOrder" resultType="com.ruoyi.order.domain.vo.MerTotalOrderVo">
        SELECT
        COUNT(order_id) orderTotal,
        IFNULL(SUM(receivable_money-IFNULL(online_pay_money,0)),0) receivableMoney,
        IFNULL(SUM(change_receivable_money),0) relReceiveMoney,
        IFNULL(SUM(CASE pay_type WHEN 1 THEN online_pay_money WHEN 2 THEN IFNULL(offline_pay_money,0) END),0) relPayMoney,
        IFNULL(SUM(change_receivable_money-IFNULL(CASE pay_type WHEN 1 THEN online_pay_money WHEN 2 THEN IFNULL(offline_pay_money,0) END,0)),0) unpaidMoney,
        IFNULL(SUM(CASE pay_type WHEN 2 THEN online_pay_money ELSE 0 END),0) receivableDeposit
        FROM t_order
        WHERE del_flag = 0 AND shop_id = #{param.shopId}
        COUNT(toc.order_id) orderTotal,
        IFNULL(SUM(toc.receivable_money-IFNULL(toc.online_pay_money,0)),0) receivableMoney,
        IFNULL(SUM(toc.change_receivable_money),0) relReceiveMoney,
        IFNULL(SUM(CASE toc.pay_type WHEN 1 THEN toc.online_pay_money WHEN 2 THEN IFNULL(toc.offline_pay_money,0) END),0) relPayMoney,
        IFNULL(SUM(toc.change_receivable_money-IFNULL(CASE toc.pay_type WHEN 1 THEN toc.online_pay_money WHEN 2 THEN IFNULL(toc.offline_pay_money,0) END,0)),0) unpaidMoney,
        IFNULL(SUM(CASE toc.pay_type WHEN 2 THEN toc.online_pay_money ELSE 0 END),0) receivableDeposit
        FROM t_order toc
        WHERE toc.del_flag = 0 AND toc.shop_id = #{param.shopId}
        <if test="param.memberUserId != null and param.memberUserId != ''">
            AND user_id = #{param.memberUserId}
        </if>
        <if test="param.type == null">
            AND order_status (order_status = 2 OR order_status = 3)
            AND toc.user_id = #{param.memberUserId}
        </if>
        <if test="param.type != null and param.type ==1 ">
            AND (order_status = 2 OR order_status = 3)
            AND (toc.order_status = 2 OR toc.order_status = 3)
        </if>
        <if test="param.type != null and param.type ==2 ">
            AND order_status = 2
            AND toc.order_status = 2
        </if>
        <if test="param.type != null and param.type ==3 ">
            AND order_status = 3
            AND toc.order_status = 3
        </if>
        <if test="param.orderFrom != null and param.orderFrom != '' ">
            AND order_from = #{param.orderFrom}
            AND toc.order_from = #{param.orderFrom}
        </if>
        <if test="param.startOrderDate != null and param.startOrderDate != '' ">
            AND Date(create_time) &gt;= #{param.startOrderDate}
            AND Date(toc.create_time) &gt;= #{param.startOrderDate}
        </if>
        <if test="param.endOrderDate != null and param.endOrderDate != '' ">
            AND Date(create_time) &lt;= #{param.endOrderDate}
            AND Date(toc.create_time) &lt;= #{param.endOrderDate}
        </if>
        <if test="param.keyword != null and param.keyword != ''">
            AND order_no LIKE CONCAT('%',#{param.keyword},'%')
            AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR
            toc.order_id IN (SELECT DISTINCT tog.order_id FROM t_order_goods tog WHERE tog.goods_name LIKE CONCAT('%',#{param.keyword},'%'))
            <if test="param.memberUserIdList != null and param.memberUserIdList.size()>0">
                OR toc.user_id IN
                <foreach collection="param.memberUserIdList" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
            )
        </if>
        ORDER BY toc.create_time DESC
    </select>
    <select id="pageMgtShopAllOrder" resultMap="mgtShopAllOrderResultMap">
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java
@@ -125,6 +125,7 @@
            String[] editArr = editValue.split("-");
            shop.setBusinessStartTime(editArr[0]);
            shop.setBusinessEndTime(editArr[1]);
            shopService.saveOrUpdate(shop);
        }
        return R.ok();
    }
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
@@ -71,9 +71,12 @@
    @ApiOperation(value = "导出商户列表")
    public void exportPageMgtShop(MgtShopPageDto mgtShopPageDto, HttpServletResponse response) {
        Page<MgtShopPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtShopPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtShopPageDto.getPageSize());
            page.setCurrent(mgtShopPageDto.getPageNum());
        }
        List<MgtShopPageVo> mgtShopPageVoList = shopService.pageMgtShop(page,mgtShopPageDto);
        ExcelUtil<MgtShopPageVo> util = new ExcelUtil<MgtShopPageVo>(MgtShopPageVo.class);
@@ -187,9 +190,12 @@
        Long userId = SecurityUtils.getUserId();
        mgtShopSuggestPageDto.setUserId(userId);
        Page<MgtShopSuggestPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtShopSuggestPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtShopSuggestPageDto.getPageSize());
            page.setCurrent(mgtShopSuggestPageDto.getPageNum());
        }
        List<MgtShopSuggestPageVo> mgtShopSuggestPageVoList = shopSuggestService.pageMgtShopSuggest(page,mgtShopSuggestPageDto);
        ExcelUtil<MgtShopSuggestPageVo> util = new ExcelUtil<MgtShopSuggestPageVo>(MgtShopSuggestPageVo.class);
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopAuthDto.java
@@ -64,6 +64,9 @@
     */
    @ApiModelProperty(value = "营业执照期限")
    private String blBusinessDeanline;
    @ApiModelProperty(value = "营业执照期限长期标记0否1是")
    private Integer blBusinessFoeverFlag;
    /**
     * 营业执照图片
     */
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthGetVo.java
@@ -71,6 +71,9 @@
     */
    @ApiModelProperty(value = "营业执照期限")
    private String blBusinessDeanline;
    @ApiModelProperty(value = "营业执照期限长期标记0否1是")
    private Integer blBusinessFoeverFlag;
    /**
     * 营业执照图片
     */
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -310,7 +310,7 @@
            //生成商户关联记录
            initNewShop(shop,mgtEditShopDto.getUserId());
            CodeGetDto codeGetDto = new CodeGetDto();
            String url = "https://wxapp.hhhrt.cn/mini/activity?activityId="+shop.getShopId();
            String url = "https://wxapp.hhhrt.cn/mini/shop?shopId="+shop.getShopId();
            codeGetDto.setUrl(url);
            codeGetDto.setFileName("shop-"+shop.getShopId());
            String codeUrl = remoteFileService.getAppOrderTotal(codeGetDto).getData();
@@ -967,6 +967,9 @@
        ShopAuthentication shopAuthentication = shopAuthenticationService.getById(mgtShopAuthDto.getAuthId());
        Shop shop = this.getByShopId(shopAuthentication.getShopId());
        String applyNumber = IdUtils.simpleUUID();
        if(mgtShopAuthDto.getBlBusinessFoeverFlag()!=null&&mgtShopAuthDto.getBlBusinessFoeverFlag()==1){
            mgtShopAuthDto.setBlBusinessDeanline("长期");
        }
        BeanUtils.copyProperties(mgtShopAuthDto , shopAuthentication);
        shopAuthentication.setApplyNumber(applyNumber);
        shopAuthentication.setAuditStatus(3);
@@ -1091,6 +1094,11 @@
        MgtShopAuthGetVo shopAuthGetVo = new MgtShopAuthGetVo();
        ShopAuthentication shopAuthentication = shopAuthenticationService.getById(authId);
        BeanUtils.copyProperties(shopAuthentication, shopAuthGetVo);
        if(shopAuthGetVo.getBlBusinessDeanline().equals("长期")){
            shopAuthGetVo.setBlBusinessFoeverFlag(1);
        }else{
            shopAuthGetVo.setBlBusinessFoeverFlag(0);
        }
        return shopAuthGetVo;
    }
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java
@@ -90,7 +90,7 @@
            merStaffInfoVo.setShopCodeUrl(shop.getShopCode());
        }else{
            CodeGetDto codeGetDto = new CodeGetDto();
            String url = "https://wxapp.hhhrt.cn/mini/activity?activityId="+shop.getShopId();
            String url = "https://wxapp.hhhrt.cn/mini/shop?shopId="+shop.getShopId();
            codeGetDto.setUrl(url);
            codeGetDto.setFileName("shop-"+shop.getShopId());
            String codeUrl = remoteFileService.getAppOrderTotal(codeGetDto).getData();
ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml
@@ -28,9 +28,9 @@
wx:
  pay:
    appId: #微信公众号或者小程序等的appid
    mchId: #微信支付商户号
    mchKey: #微信支付商户密钥
    appId: wxb7f0ea286fc4e535
    mchId: 1631381314
    mchKey: J8v9JDHKJYDHW9bdk30o2bdjy6z9mn1A
    subAppId: #服务商模式下的子商户公众账号ID
    subMchId: #服务商模式下的子商户号
    keyPath: # p12证书的位置,可以指定绝对路径,也可以指定类路径(以classpath:开头)
    keyPath: /home/cert/apiclient_cert.p12
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -409,10 +409,10 @@
        <if test="param.shopStatus!=null and param.shopStatus==1">
            AND ts.shop_status = 1
        </if>
        <if test="param.shopStatus!=null and param.shopStatus==2">
        <if test="param.shopStatus!=null and param.shopStatus==0">
            AND ts.frozen_flag = 1
        </if>
        <if test="param.shopStatus!=null and param.shopStatus==3">
        <if test="param.shopStatus!=null and param.shopStatus==2">
            AND ts.cooperative_flag = 0
        </if>
        <if test="param.keyword!=null and param.keyword!=''">
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
@@ -387,9 +387,12 @@
        Long userId = SecurityUtils.getUserId();
        mgtOperLogPageDto.setUserId(userId);
        Page<MgtOperLogPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtOperLogPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtOperLogPageDto.getPageSize());
            page.setCurrent(mgtOperLogPageDto.getPageNum());
        }
        List<MgtOperLogPageVo> mgtOperLogPageVoList = customConfigService.pageOperLog(page, mgtOperLogPageDto);
        ExcelUtil<MgtOperLogPageVo> util = new ExcelUtil<MgtOperLogPageVo>(MgtOperLogPageVo.class);
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java
@@ -80,9 +80,12 @@
        Long userId = SecurityUtils.getUserId();
        mgtStaffSuggestPageDto.setUserId(userId);
        Page<MgtStaffSuggestPageVo> page = new Page<>();
        if(page.getSize()>5000){
        if(mgtStaffSuggestPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtStaffSuggestPageDto.getPageSize());
            page.setCurrent(mgtStaffSuggestPageDto.getPageNum());
        }
        List<MgtStaffSuggestPageVo> staffSuggestPageVoList = staffSuggestService.pageMgtStaffSuggest(page,mgtStaffSuggestPageDto);
        ExcelUtil<MgtStaffSuggestPageVo> util = new ExcelUtil<MgtStaffSuggestPageVo>(MgtStaffSuggestPageVo.class);
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java
@@ -146,7 +146,8 @@
    public List<AppClassListVo> listByType(Integer classType){
        LambdaQueryWrapper<SysClassification> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(SysClassification::getDelFlag,0)
                .eq(SysClassification::getClassType,classType);
                .eq(SysClassification::getClassType,classType)
                .orderByDesc(SysClassification::getClassSort);
        List<SysClassification> sysClassificationList = this.list(queryWrapper);
        List<AppClassListVo> classListVos = sysClassificationList.stream().map(sysClassification ->{
            AppClassListVo appClassListVo = new AppClassListVo();