bug
jiangqs
2023-07-26 add86a49cc69b6882500c95dd67a2ac826c35526
bug
45个文件已修改
5个文件已添加
597 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtMemberShopNameDto.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/resources/bootstrap.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-gateway/src/main/resources/bootstrap.yml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-file/pom.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/config/AppConfig.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeService.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeServiceImpl.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ISysFileService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/LocalSysFileServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/ImgUtils.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/RuoYiGoodsApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MerActivityPageVo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/scheduler/ActivityScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/RuoYiMemberApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppMemberPrizePageVo.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/birthday/BirthdayCardMapper.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberSuggestMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/RuoYiOrderApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerTotalOrderVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/scheduler/OrderScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/RuoYiShopApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | 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-shop/src/main/resources/mapper/shop/ShopSuggestMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/RuoYiSystemApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtMemberShopNameDto.java
New file
@@ -0,0 +1,22 @@
package com.ruoyi.system.api.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtMemberShopNameDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/7/26 17:06
 * @Version 1.0
 */
@Data
public class MgtMemberShopNameDto {
    @ApiModelProperty(value = "商户id")
    private Long shopId;
    @ApiModelProperty(value = "商户名称")
    private String shopName;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java
@@ -138,6 +138,11 @@
                return null;
            }
            @Override
            public R updateMemberShopName(MgtMemberShopNameDto mgtMemberShopNameDto) {
                return R.fail("更新商户绑定会员:" + throwable.getMessage());
            }
        };
    }
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
@@ -215,4 +215,15 @@
     */
    @PostMapping("/member/getAreaNewMember")
    public R<Integer> getAreaNewMember(@RequestBody List<Long> shopIdList);
    /**
     * @description  更新会员绑定商户名
     * @author  jqs
     * @date    2023/7/26 17:07
     * @param mgtMemberShopNameDto
     * @return  R
     */
    @PostMapping("/member/updateMemberShopName")
    public R updateMemberShopName(@RequestBody MgtMemberShopNameDto mgtMemberShopNameDto);
}
ruoyi-auth/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
    nacos:
      discovery:
        # 服务注册地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
ruoyi-gateway/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
    nacos:
      discovery:
        # 服务注册地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
@@ -35,8 +35,8 @@
      datasource:
        ds1:
          nacos:
            #server-addr: 47.109.78.184:5000
            server-addr: 127.0.0.1:8848
            server-addr: 47.109.78.184:5000
            #server-addr: 127.0.0.1:8848
            dataId: sentinel-ruoyi-gateway
            groupId: DEFAULT_GROUP
            data-type: json
ruoyi-modules/ruoyi-file/pom.xml
@@ -81,6 +81,23 @@
            <version>0.4.9</version>
        </dependency>
        
        <!-- 小程序统一服务 -->
        <dependency>
            <groupId>com.github.binarywang</groupId>
            <artifactId>weixin-java-miniapp</artifactId>
            <version>4.5.0</version>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-core</artifactId>
            <version>5.8.20</version>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-extra</artifactId>
            <version>5.8.20</version>
        </dependency>
    </dependencies>
    <build>
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/config/AppConfig.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.file.config;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.WxMaConfig;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * @author jqs34
 * @ClassName AppConfig
 * @description: TODO
 * @date 2023年02月17日
 * @version: 1.0
 */
@Configuration
public class AppConfig {
    @Bean
    public WxMaService wxMaService() {
        WxMaService service = new WxMaServiceImpl();
        service.setWxMaConfig(memberWxMaConfig());
        return service;
    }
    @Bean
    public WxMaConfig memberWxMaConfig(){
        WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
        config.setAppid("wxb7f0ea286fc4e535");
        config.setSecret("852a2512a6ab559cafc68bae5d4160ac");
        return config;
    }
}
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeService.java
New file
@@ -0,0 +1,37 @@
package com.ruoyi.file.service;
import me.chanjar.weixin.common.error.WxErrorException;
import java.io.FileNotFoundException;
/**
 * @ClassName ActivityCodeService
 * @Description TODO
 * @Author jqs
 * @Date 2023/7/26 19:12
 * @Version 1.0
 */
public interface ActivityCodeService {
    /**
     * @description  生成活动二维码
     * @author  jqs
     * @date    2023/7/26 19:09
     * @param activityId
     * @return  void
     */
    public String createActivityCode(String activityId);
    /**
     * @description  生成活动二维码
     * @author  jqs
     * @date    2023/7/26 19:09
     * @param activityId
     * @return  void
     */
    public String createActivityCode(String activityId,String backImageUrl) throws WxErrorException, FileNotFoundException;
}
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeServiceImpl.java
New file
@@ -0,0 +1,82 @@
package com.ruoyi.file.service;
import cn.binarywang.wx.miniapp.api.WxMaQrcodeService;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.hutool.core.img.ImgUtil;
import com.ruoyi.file.utils.OBSUploadUtils;
import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.awt.*;
import java.io.*;
/**
 * @ClassName ActivityCodeServiceImpl
 * @Description TODO
 * @Author jqs
 * @Date 2023/7/26 19:12
 * @Version 1.0
 */
@Service
public class ActivityCodeServiceImpl implements ActivityCodeService{
    @Resource
    private WxMaService wxMaService;
    /**
     * @description  生成活动二维码
     * @author  jqs
     * @date    2023/7/26 19:09
     * @param activityId
     * @return  void
     */
    @Override
    public String createActivityCode(String activityId){
        WxMaQrcodeService wxMaQrcodeService = wxMaService.getQrcodeService();
        String scene = activityId;
        String page = "";
        String filePath = "";
        String fileUrl = null;
        try {
            File file = wxMaQrcodeService.createWxaCodeUnlimit(scene,page,filePath);
            fileUrl = OBSUploadUtils.uploadLocalFile(file);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return fileUrl;
    }
    /**
     * @description  生成活动二维码
     * @author  jqs
     * @date    2023/7/26 19:09
     * @param activityId
     * @return  void
     */
    @Override
    public String createActivityCode(String activityId,String backImageUrl) throws WxErrorException, FileNotFoundException {
        WxMaQrcodeService wxMaQrcodeService = wxMaService.getQrcodeService();
        String scene = activityId;
        String page = "";
        String filePath = "";
        String fileUrl = null;
        File file = wxMaQrcodeService.createWxaCodeUnlimit(scene,page,filePath);
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        InputStream codeStream = new FileInputStream(file);
        InputStream backStream = new FileInputStream(file);
        // 将图片合成在一起
        ImgUtil.pressImage(
                backStream, // 主图片
                out, // 输出图片
                ImgUtil.read(codeStream).getScaledInstance(516, 516, Image.SCALE_DEFAULT), //水印图片
                0, //x坐标修正值。 默认在中间,偏移量相对于中间偏移
                0, //y坐标修正值。 默认在中间,偏移量相对于中间偏移
                1.0f
        );
        InputStream inputStream = new ByteArrayInputStream(out.toByteArray());
        return fileUrl;
    }
}
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ISysFileService.java
@@ -17,4 +17,6 @@
     * @throws Exception
     */
    public String uploadFile(MultipartFile file) throws Exception;
}
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/LocalSysFileServiceImpl.java
@@ -47,4 +47,16 @@
        String url = domain + localFilePrefix + name;
        return url;
    }
    /**
     * @description  生成活动二维码
     * @author  jqs
     * @date    2023/7/26 19:09
     * @param activityId
     * @return  void
     */
    @Override
    public void createActivityCode(String activityId){
    }
}
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/ImgUtils.java
New file
@@ -0,0 +1,36 @@
package com.ruoyi.file.utils;
import cn.hutool.core.img.ImgUtil;
import java.awt.*;
import java.io.*;
public class ImgUtils {
    /**
     * 使用hutool 工具类
     */
    public void SyntheticImages2(File codeImage,File backImage) throws FileNotFoundException {
        // 生成的二维码
//        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
//        QrCodeUtil.generate("https://hutool.cn/", 516, 516, ImgUtil.IMAGE_TYPE_JPG, outputStream);
        // 要输出的图片
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        InputStream codeStream = new FileInputStream(codeImage);
        InputStream backStream = new FileInputStream(backImage);
        // 将图片合成在一起
        ImgUtil.pressImage(
                backStream, // 主图片
                out, // 输出图片
                ImgUtil.read(codeStream).getScaledInstance(516, 516, Image.SCALE_DEFAULT), //水印图片
                0, //x坐标修正值。 默认在中间,偏移量相对于中间偏移
                0, //y坐标修正值。 默认在中间,偏移量相对于中间偏移
                1.0f
        );
        InputStream inputStream = new ByteArrayInputStream(out.toByteArray());
    }
}
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java
@@ -9,6 +9,7 @@
import com.ruoyi.common.core.utils.uuid.IdUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.InputStream;
import java.util.Calendar;
@@ -86,4 +87,50 @@
        return result.getResponse().getErrorResponseAsString();
    }
    public static String uploadLocalFile (File file) throws Exception {
        // 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
        String bucketName = "hongruitang";
        Calendar calendar = Calendar.getInstance();
        // 获取当前年
        String year = String.valueOf(calendar.get(Calendar.YEAR));
        // 获取当前月
        String month = String.valueOf(calendar.get(Calendar.MONTH) + 1);
        // 获取当前日
        String day = String.valueOf(calendar.get(Calendar.DATE));
        String filePath = year+"/"+month+"/"+day+"/";
        String uuid = IdUtils.fastSimpleUUID();
        // 创建OSSClient实例。
        OSS ossClient = createOss();
        PutObjectResult result = null;
        try {
            String fileName =file.getName();
            System.out.println(fileName + "开始上传");
            String prefix = fileName.substring(fileName.lastIndexOf("."));
            String objectName = filePath + uuid + prefix;
            // 创建PutObject请求。
            result = ossClient.putObject(bucketName,objectName,file);
            // 如果上传成功,则返回200。
            System.out.println(fileName + "上传返回" + result.getResponse().getStatusCode());
            return result.getResponse().getUri();
        } catch (OSSException oe) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "but was rejected with an error response for some reason.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
        return result.getResponse().getErrorResponseAsString();
    }
}
ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml
@@ -19,12 +19,12 @@
    nacos:
      discovery:
        # 服务注册地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
    nacos:
      discovery:
        # 服务注册地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/RuoYiGoodsApplication.java
@@ -7,6 +7,7 @@
import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScans;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
 * 商品模块
@@ -17,6 +18,7 @@
@EnableCustomSwagger2
@EnableRyFeignClients
@SpringBootApplication
@EnableScheduling
@ComponentScans(value = {@ComponentScan("com.ruoyi.system.api"),@ComponentScan("com.ruoyi.common.security.utils")})
public class RuoYiGoodsApplication
{
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MerActivityPageVo.java
@@ -23,11 +23,11 @@
    private String activityName;
    @ApiModelProperty(value = "活动开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date activityStartTime;
    @ApiModelProperty(value = "活动结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date activityEndTime;
    @ApiModelProperty(value = "活动状态")
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/scheduler/ActivityScheduler.java
@@ -22,7 +22,7 @@
    /**
     * 活动定时开始
     */
    @Scheduled(cron="0 */1 * * * ?")
    @Scheduled(cron="0 * */1 * * ?")
    private void timingSendCoupon(){
        if(schedulerUtils.getSchedulerRun()) {
            log.info("活动定时任务开始执行");
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
@@ -81,6 +81,7 @@
    @Resource
    private RedisService redisService;
    @Autowired
    private RedissonClient redissonClient;
@@ -596,4 +597,11 @@
    public List<MgtActivityListVo> listStaffActivity(StaffActivityListDto staffActivityListDto){
        return activityMapper.listStaffActivity(staffActivityListDto);
    }
    private void createActivityCode(String activityId){
    }
}
ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
    nacos:
      discovery:
        # 服务注册地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
@@ -88,7 +88,7 @@
        ta.propaganda_poster propagandaPoster,
        COUNT(ag.activity_id) goodsNum
        FROM t_activity ta
        LEFT JOIN t_activity_goods ag ON ta.activity_id = ag.activity_id
        LEFT JOIN t_activity_goods ag ON ta.activity_id = ag.activity_id AND ag.del_flag = 0
        WHERE ta.del_flag = 0 AND shop_flag = 1 OR (shop_flag = 2 AND FIND_IN_SET(#{param.shopId}, ta.applicable_shop) &gt; 0)
        group by ta.activity_id
        ORDER BY ta.activity_status ASC,ta.create_time DESC
@@ -132,7 +132,7 @@
            ta.propaganda_poster propagandaPoster,
            ta.activity_introduce activityIntroduce
        FROM t_activity ta
        WHERE ta.del_flag = 0 AND (ta.shop_flag = 1 OR (ta.shop_flag = 2 AND FIND_IN_SET(#{shopId}, ta.applicable_shop) &gt; 0))
        WHERE ta.del_flag = 0 AND ta.activity_status &lt;=1 AND (ta.shop_flag = 1 OR (ta.shop_flag = 2 AND FIND_IN_SET(#{shopId}, ta.applicable_shop) &gt; 0))
        group by ta.activity_id
        ORDER BY ta.activity_status ASC,ta.create_time DESC
    </select>
ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
    nacos:
      discovery:
        # 服务注册地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/RuoYiMemberApplication.java
@@ -7,6 +7,7 @@
import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScans;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
 * 系统模块
@@ -17,6 +18,7 @@
@EnableCustomSwagger2
@EnableRyFeignClients
@SpringBootApplication
@EnableScheduling
@ComponentScans(value = {@ComponentScan("com.ruoyi.system.api"),@ComponentScan("com.ruoyi.common.security.utils")})
public class RuoYiMemberApplication
{
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
@@ -317,4 +317,18 @@
        Integer count = memberService.getAreaNewMember(shopIdList);
        return R.ok(count);
    }
    /**
     * @description  更新会员绑定商户名
     * @author  jqs
     * @date    2023/7/26 17:07
     * @param mgtMemberShopNameDto
     * @return  R
     */
    @PostMapping("/updateMemberShopName")
    public R updateMemberShopName(@RequestBody MgtMemberShopNameDto mgtMemberShopNameDto) {
        memberService.updateMemberShopName(mgtMemberShopNameDto);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppMemberPrizePageVo.java
@@ -34,4 +34,14 @@
    @ApiModelProperty(value = "核销码")
    private String verifyCode;
    @ApiModelProperty(value = "核销时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String verifyTime;
    @ApiModelProperty(value = "核销店铺id")
    private Long shopId;
    @ApiModelProperty(value = "核销店铺")
    private String verifyShopName;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java
@@ -17,7 +17,9 @@
import com.ruoyi.member.service.birthday.BirthdayGiftService;
import com.ruoyi.member.service.member.MemberGiftRecordService;
import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto;
import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord;
import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
import com.ruoyi.system.api.service.RemoteShopService;
import org.springframework.stereotype.Service;
@@ -25,6 +27,7 @@
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -519,6 +522,9 @@
                                birthdayGiftSendDto.setCouponId(birthdayGift.getCouponId());
                                birthdayGiftSendDto.setCouponNumber(birthdayGift.getCouponNumber());
                                sendGoodsList.add(birthdayGiftSendDto);
                                memberGiftRecord.setCouponId(birthdayGift.getCouponId());
                                memberGiftRecord.setCouponName(birthdayGift.getCouponName());
                                memberGiftRecord.setCouponNumber(birthdayGift.getCouponNumber());
                                break;
                            case 2:
                                // 礼物类型为2,即商品
@@ -527,16 +533,22 @@
                                birthdayGiftSendDto.setGoodsId(birthdayGift.getGoodsId());
                                birthdayGiftSendDto.setCouponNumber(birthdayGift.getGoodsNumber());
                                sendCouponList.add(birthdayGiftSendDto);
                                memberGiftRecord.setGoodsId(birthdayGift.getGoodsId());
                                memberGiftRecord.setGoodsName(birthdayGift.getGoodsName());
                                memberGiftRecord.setGoodsNumber(birthdayGift.getGoodsNumber());
                                break;
                            case 3:
                                // 礼物类型为3,即现金
                                appBirthdayGiftVo.setGiftName("现金");
                                appBirthdayGiftVo.setGiftNumber(memberGiftRecord.getMoney().doubleValue());
                                memberGiftRecord.setMoney(birthdayGift.getMoney());
                                break;
                            case 4:
                                // 礼物类型为4,即礼品
                                appBirthdayGiftVo.setGiftName(birthdayGift.getCouponName());
                                appBirthdayGiftVo.setGiftNumber(birthdayGift.getCouponNumber());
                                memberGiftRecord.setGiftName(birthdayGift.getGiftName());
                                memberGiftRecord.setGiftNumber(birthdayGift.getGiftNumber());
                                break;
                            default:
                                break;
@@ -590,6 +602,9 @@
                                    birthdayGiftSendDto.setCouponId(birthdayGift.getCouponId());
                                    birthdayGiftSendDto.setCouponNumber(birthdayGift.getCouponNumber());
                                    sendGoodsList.add(birthdayGiftSendDto);
                                    memberGiftRecord.setCouponId(birthdayGift.getCouponId());
                                    memberGiftRecord.setCouponName(birthdayGift.getCouponName());
                                    memberGiftRecord.setCouponNumber(birthdayGift.getCouponNumber());
                                    break;
                                case 2:
                                    // 礼物类型为2,即商品
@@ -598,16 +613,22 @@
                                    birthdayGiftSendDto.setGoodsId(birthdayGift.getGoodsId());
                                    birthdayGiftSendDto.setCouponNumber(birthdayGift.getGoodsNumber());
                                    sendCouponList.add(birthdayGiftSendDto);
                                    memberGiftRecord.setGoodsId(birthdayGift.getGoodsId());
                                    memberGiftRecord.setGoodsName(birthdayGift.getGoodsName());
                                    memberGiftRecord.setGoodsNumber(birthdayGift.getGoodsNumber());
                                    break;
                                case 3:
                                    // 礼物类型为3,即现金
                                    appBirthdayGiftVo.setGiftName("现金");
                                    appBirthdayGiftVo.setGiftNumber(memberGiftRecord.getMoney().doubleValue());
                                    memberGiftRecord.setMoney(birthdayGift.getMoney());
                                    break;
                                case 4:
                                    // 礼物类型为4,即礼品
                                    appBirthdayGiftVo.setGiftName(birthdayGift.getCouponName());
                                    appBirthdayGiftVo.setGiftNumber(birthdayGift.getCouponNumber());
                                    memberGiftRecord.setGiftName(birthdayGift.getGiftName());
                                    memberGiftRecord.setGiftNumber(birthdayGift.getGiftNumber());
                                    break;
                                default:
                                    break;
@@ -637,8 +658,21 @@
    public List<AppMemberPrizePageVo> pageAppMemberPrize(Page page, Long userId){
        List<AppMemberPrizePageVo> memberPrizePageVoList = birthdayCardMapper.pageAppMemberPrize(page, userId);
        if(memberPrizePageVoList!=null&&!memberPrizePageVoList.isEmpty()){
            HashSet<Long> shopIdSet = new HashSet<>();
            for(AppMemberPrizePageVo appMemberPrizePageVo : memberPrizePageVoList){
                appMemberPrizePageVo.setVerifyCode("3-"+appMemberPrizePageVo.getPrizeId());
                if(appMemberPrizePageVo.getShopId()!=null){
                    shopIdSet.add(appMemberPrizePageVo.getShopId());
                }
            }
            String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList()));
            MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
            mgtBaseBathDto.setIds(shopJoinedString);
            List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData();
            Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream()
                    .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity()));
            for(AppMemberPrizePageVo appMemberPrizePageVo : memberPrizePageVoList){
                appMemberPrizePageVo.setVerifyShopName(shopMap.get(appMemberPrizePageVo.getShopId().toString()).getShopName());
            }
        }
        return memberPrizePageVoList;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -791,7 +791,7 @@
                if(validTimeType==1){
                    validStartTime = merCouponPageVo.getValidStartTime();
                    validEndTime = merCouponPageVo.getValidEndTime();
                    validTime = DateUtils.dateTime(validStartTime) + '-' +  DateUtils.dateTime(validEndTime);
                    validTime = DateUtils.parseDateToStr("yyyy.MM.dd",validStartTime) + '-' +  DateUtils.parseDateToStr("yyyy.MM.dd",validEndTime);
                }else if(validTimeType==2){
                    validDay = merCouponPageVo.getValidDay();
                    validTime = "领取之日起" + validDay.toString() + "天";
@@ -849,7 +849,7 @@
                if(validTimeType==1){
                    validStartTime = merCouponPageVo.getValidStartTime();
                    validEndTime = merCouponPageVo.getValidEndTime();
                    validTime = DateUtils.dateTime(validStartTime) + '-' +  DateUtils.dateTime(validEndTime);
                    validTime = DateUtils.parseDateToStr("yyyy.MM.dd",validStartTime) + '-' +  DateUtils.parseDateToStr("yyyy.MM.dd",validEndTime);
                }else if(validTimeType==2){
                    validDay = merCouponPageVo.getValidDay();
                    validTime = "领取之日起" + validDay.toString() + "天";
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -4,6 +4,7 @@
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -199,7 +200,26 @@
            String errcode = jsonUserPhoneNumber.getString("errcode");
            String errmsg = jsonUserPhoneNumber.getString("errmsg");
            if (!"0".equals(errcode)) {
                //因为生产测试差异,临时更新token
                redisService.deleteObject(SecurityConstant.WX_TOKEN);
                String responseAccessToken = getAccessTokenByWX();
                JSONObject jsonAccessToken = JSONObject.parseObject(responseAccessToken);
                accessToken = jsonAccessToken.getString("access_token");
                errmsg = jsonAccessToken.getString("errmsg");
                Long expiresIn = jsonAccessToken.getLong("expires_in");
                if (StringUtils.isBlank(accessToken)) {
                throw new ServiceException(errmsg);
                } else {
                    expiresIn = expiresIn - 100;
                    redisService.setCacheObject(SecurityConstant.WX_TOKEN, accessToken, Long.valueOf(expiresIn), TimeUnit.SECONDS);
                }
                responseUserPhoneNumber = getMobileByWX(accessToken, appUserRegisterDto.getMobileCode());
                jsonUserPhoneNumber = JSONObject.parseObject(responseUserPhoneNumber);
                errcode = jsonUserPhoneNumber.getString("errcode");
                errmsg = jsonUserPhoneNumber.getString("errmsg");
                if (!"0".equals(errcode)) {
                    throw new ServiceException(errmsg);
                }
            }
            String phoneInfo = jsonUserPhoneNumber.getString("phone_info");
            JSONObject jsonUserPhoneInfo = JSONObject.parseObject(phoneInfo);
@@ -916,6 +936,7 @@
                member.setUpdateTime(new Date());
                member.setUpdateUserId(mgtMemberRelEditDto.getUserId());
                this.saveOrUpdate(member);
                memberMapper.updateById(member);
            }
        }
    }
@@ -1724,6 +1745,7 @@
        Long userId = mgtFrozenMemberDto.getId();
        Member member = this.getByUserId(userId);
        member.setFrozenFlag(mgtFrozenMemberDto.getFrozenFlag());
        this.saveOrUpdate(member);
        sysUserService.frozenUser(mgtFrozenMemberDto);
    }
@@ -1897,4 +1919,19 @@
    public Integer getAreaNewMember(List<Long> shopIdList){
        return memberMapper.getAreaNewMember(shopIdList);
    }
    /**
     * @description  更新会员绑定商户名
     * @author  jqs
     * @date    2023/7/26 17:08
     * @param mgtMemberShopNameDto
     * @return  void
     */
    @Override
    public void updateMemberShopName(MgtMemberShopNameDto mgtMemberShopNameDto){
        LambdaUpdateWrapper<Member> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.eq(Member::getRelationShopId,mgtMemberShopNameDto.getShopId());
        updateWrapper.set(Member::getRelationShopName,mgtMemberShopNameDto.getShopName());
        this.update(updateWrapper);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -357,4 +357,13 @@
     * @return  Integer
     */
    Integer getAreaNewMember(List<Long> shopIdList);
    /**
     * @description  更新会员绑定商户名
     * @author  jqs
     * @date    2023/7/26 17:08
     * @param mgtMemberShopNameDto
     * @return  void
     */
    void updateMemberShopName(MgtMemberShopNameDto mgtMemberShopNameDto);
}
ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
    nacos:
      discovery:
        # 服务注册地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
ruoyi-modules/ruoyi-member/src/main/resources/mapper/birthday/BirthdayCardMapper.xml
@@ -24,12 +24,15 @@
            WHEN 1 THEN coupon_name
            WHEN 2 THEN goods_name
            WHEN 3 THEN gift_name
            WHEN 4 THEN "现金"
            WHEN 4 THEN CONCAT("现金",money,"元")
            END prizeName,
        "生日卡" prizeFrom,
        verify_status verifyStatus,
        create_time createTime
        create_time createTime,
        verify_time verifyTime,
        shop_id shopId
        FROM t_member_gift_record
        WHERE del_flag = 0 AND user_id = #{userId}
        ORDER BY verify_status ASC
    </select>
</mapper>
ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml
@@ -157,7 +157,7 @@
        tc.valid_day  validDay,
        tct.send_count  sendCount,
        CASE tc.use_scope
            WHEN 1 THEN '全部'
            WHEN 1 THEN '全部商品'
            WHEN 2 THEN '指定商品'
            END useScope,
        CASE tc.send_type
@@ -193,7 +193,7 @@
        <if test="param.createEndTime!=null and param.createEndTime!=''">
            AND Date(tc.create_time) &lt;= #{param.createEndTime}
        </if>
        ORDER BY tc.create_time
        ORDER BY tc.create_time DESC
    </select>
    
    <select id="listMgtCouponSimpleVo" resultType="com.ruoyi.member.domain.vo.MgtCouponSimpleListVo">
@@ -217,7 +217,7 @@
        tc.valid_end_time  validEndTime,
        tc.valid_day  validDay,
        CASE tc.use_scope
        WHEN 1 THEN '全部'
        WHEN 1 THEN '全部商品'
        WHEN 2 THEN '指定商品'
        END useScope,
        CASE tc.send_type
@@ -253,7 +253,7 @@
        <if test="param.createEndTime!=null and param.createEndTime!=''">
            AND Date(tc.create_time) &lt;= #{param.createEndTime}
        </if>
        ORDER BY tc.create_time
        ORDER BY tc.create_time DESC
    </select>
    <update id="updateCouponTotal">
@@ -271,7 +271,7 @@
        tc.valid_day  validDay,
        tct.send_count  sendCount,
        CASE tc.use_scope
        WHEN 1 THEN '全部'
        WHEN 1 THEN '全部商品'
        WHEN 2 THEN '指定商品'
        END useScope,
        CASE tc.send_type
@@ -305,7 +305,7 @@
            tc.valid_day  validDay,
            tct.send_count  sendCount,
            CASE tc.use_scope
                WHEN 1 THEN '全部'
                WHEN 1 THEN '全部商品'
                WHEN 2 THEN '指定商品'
                END useScope,
            CASE tc.send_type
@@ -331,6 +331,7 @@
        <if test="param.auditStatus != null and param.auditStatus != ''">
            AND tc.audit_status = #{param.auditStatus}
        </if>
        ORDER BY tc.create_time DESC
    </select>
    <select id="listUserUnGetCoupon" resultType="java.lang.String">
@@ -368,5 +369,6 @@
                #{item}
            </foreach>
        </if>
        ORDER BY tc.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -163,7 +163,7 @@
        tmt.last_pay_time lastPayTime
        FROM t_member tm
        INNER JOIN t_member_total tmt ON tm.member_id = tmt.member_id
        WHERE tm.relation_shop_id = #{param.shopId}
        WHERE tm.relation_shop_id = #{param.shopId} AND tm.binding_flag = 1
        <if test="param.memberGender != null and param.memberGender != ''">
            AND tm.gender = #{param.memberGender}
        </if>
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberSuggestMapper.xml
@@ -11,6 +11,7 @@
        FROM t_member_suggest
        WHERE del_flag = 0 AND create_user_id = #{param.userId}
        AND suggest_type = #{param.suggestType}
        ORDER BY create_time DESC
    </select>
    <update id="deleteMemberSuggestTag">
@@ -79,5 +80,6 @@
        <if test="param.shopIds!=null and param.shopIds!=''">
            AND tms.shop_id IN (#{param.shopIds})
        </if>
        ORDER BY tms.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/RuoYiOrderApplication.java
@@ -7,6 +7,7 @@
import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScans;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
 * 系统模块
@@ -16,6 +17,7 @@
@EnableCustomConfig
@EnableCustomSwagger2
@EnableRyFeignClients
@EnableScheduling
@SpringBootApplication
@ComponentScans(value = {@ComponentScan("com.ruoyi.system.api"),@ComponentScan("com.ruoyi.common.security.utils")})
public class RuoYiOrderApplication
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerTotalOrderVo.java
@@ -15,8 +15,6 @@
@Data
public class MerTotalOrderVo {
    @ApiModelProperty(value = "是否代理商0否1是")
    private Integer agencyFlag;
    @ApiModelProperty(value = "总订单数")
    private Integer orderTotal;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/scheduler/OrderScheduler.java
@@ -25,7 +25,7 @@
    /**
     * 定时检查跟进任务状态
     */
    @Scheduled(cron="*/10 * * * *")
    @Scheduled(cron="0 0/5 * * * ?")
    private void timingCheckMemberCoupon(){
        if(schedulerUtils.getSchedulerRun()) {
            log.info("定时检查订单状态任务开始执行");
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -3110,12 +3110,6 @@
    public MerTotalOrderVo totalMerOrder(MerBaseDto merBaseDto) {
        MerTotalOrderVo merTotalOrderVo = new MerTotalOrderVo();
        merTotalOrderVo = orderMapper.totalMerOrder(merBaseDto.getShopId());
        Shop shop = remoteShopService.getShop(merBaseDto.getShopId()).getData();
        if(shop.getShopType()==2){
            merTotalOrderVo.setAgencyFlag(1);
        }else{
            merTotalOrderVo.setAgencyFlag(0);
        }
        return merTotalOrderVo;
    }
ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
    nacos:
      discovery:
        # 服务注册地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml
@@ -196,9 +196,9 @@
    <select id="getMemberConsumerGoodsTotalVo" resultType="com.ruoyi.order.domain.vo.MerMemberConsumerGoodsTotalVo">
        SELECT
        SUM(CASE WHEN goods_type = 1 THEN service_num - used_num ELSE 0 END) cycleOrder,
        SUM(CASE WHEN goods_type = 3 THEN service_num - used_num ELSE 0 END) experienceOrder,
        SUM(CASE WHEN goods_type = 2 THEN service_num - used_num ELSE 0 END) serviceOrder
        IFNULL(SUM(CASE WHEN goods_type = 1 THEN service_num - used_num ELSE 0 END),0) cycleOrder,
        IFNULL(SUM(CASE WHEN goods_type = 3 THEN service_num - used_num ELSE 0 END),0) experienceOrder,
        IFNULL(SUM(CASE WHEN goods_type = 2 THEN service_num - used_num ELSE 0 END),0) serviceOrder
        FROM t_consumer_goods tcg
        WHERE tcg.del_flag = 0 AND tcg.user_id = #{userId} AND tcg.shop_id = #{shopId}
    </select>
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/RuoYiShopApplication.java
@@ -7,6 +7,7 @@
import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScans;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
 * 系统模块
@@ -17,6 +18,7 @@
@EnableCustomSwagger2
@EnableRyFeignClients
@SpringBootApplication
@EnableScheduling
@ComponentScans(value = {@ComponentScan("com.ruoyi.system.api"),@ComponentScan("com.ruoyi.common.security.utils")})
public class RuoYiShopApplication
{
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -193,6 +193,12 @@
            //清空归属
            shopRelUserService.deleteByShopId(shop.getShopId());
            shopStaffService.clearShopStaffRelation(shop.getShopId());
            if(!shop.getShopName().equals(mgtEditShopDto.getShopName())){
                MgtMemberShopNameDto mgtMemberShopNameDto = new MgtMemberShopNameDto();
                mgtMemberShopNameDto.setShopId(mgtEditShopDto.getShopId());
                mgtMemberShopNameDto.setShopName(mgtEditShopDto.getShopName());
                remoteMemberService.updateMemberShopName(mgtMemberShopNameDto);
            }
        }else{
            if(shopSame!=null){
                throw new ServiceException(AppErrorConstant.SHOP_DOUBLE);
@@ -409,6 +415,7 @@
            shop.setFrozenFlag(0);
        }
        shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag()));
        this.saveOrUpdate(shop);
    }
    /**
ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
    nacos:
      discovery:
        # 服务注册地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -427,7 +427,7 @@
        SIN(RADIANS(#{param.longitude})) *
        SIN(RADIANS(ts.shop_latitude))
        ) * 6378 as distance
        FROM t_shop ts
        FROM t_shop ts WHERE ts.del_flag = 0 AND ts.shop_status = 1
        ORDER BY distance ASC LIMIT 1
    </select>
@@ -492,7 +492,7 @@
            shop_id,
            shop_name
        FROM t_shop
        WHERE del_flag = 0 AND FIND_IN_SET(shop_id,#{shopIds}) &gt; 0
        WHERE FIND_IN_SET(shop_id,#{shopIds}) &gt; 0
    </select>
    
    <select id="pageMgtShopByCityCode" resultType="com.ruoyi.system.api.domain.vo.MgtSimpleShopVo">
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopSuggestMapper.xml
@@ -10,6 +10,7 @@
        FROM
        t_shop_suggest
        WHERE del_flag = 0 AND shop_id = #{param.shopId} AND create_user_id =  #{param.userId}
        ORDER BY create_time DESC
    </select>
    <update id="deleteShopSuggestTag">
@@ -57,5 +58,6 @@
        <if test="param.replayEndTime!=null and param.replayEndTime!=''">
            AND Date(tss.replay_time) &lt;= #{param.replayEndTime}
        </if>
        ORDER BY tss.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/RuoYiSystemApplication.java
@@ -5,6 +5,7 @@
import com.ruoyi.common.security.annotation.EnableCustomConfig;
import com.ruoyi.common.security.annotation.EnableRyFeignClients;
import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
 * 系统模块
@@ -15,6 +16,7 @@
@EnableCustomSwagger2
@EnableRyFeignClients
@SpringBootApplication
@EnableScheduling
public class RuoYiSystemApplication
{
    public static void main(String[] args)
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
@@ -34,6 +34,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.Set;
@@ -280,6 +281,9 @@
        {
            return error("当前用户不能删除");
        }
        if(Arrays.stream(userIds).anyMatch((element->element.equals(1L)))){
            throw new ServiceException("禁止删除admin");
        }
        return toAjax(userService.deleteUserByIds(userIds));
    }
@@ -424,6 +428,9 @@
    @PostMapping("/frozenUser")
    public R frozenUser(@RequestBody MgtFrozenMemberDto mgtFrozenMemberDto)
    {
        if(mgtFrozenMemberDto.getUserId()==1){
            throw new ServiceException("禁止删除admin");
        }
        userService.frozenUser(mgtFrozenMemberDto);
        return R.ok();
    }
ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
    nacos:
      discovery:
        # 服务注册地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml
@@ -51,6 +51,7 @@
        <if test="param.replayEndTime!=null and param.replayEndTime!=''">
            AND Date(tss.replay_time) &lt;= #{param.replayEndTime}
        </if>
        ORDER BY tss.create_time DESC
    </select>
    <select id="pageStaffShopSuggest" resultType="com.ruoyi.system.domain.vo.StaffSuggestPageVo">
@@ -61,5 +62,6 @@
        FROM
            t_staff_suggest
        WHERE del_flag = 0 AND create_user_id = #{param.userId}
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
    nacos:
      discovery:
        # 服务注册地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        #server-addr: 47.109.78.184:5000
        server-addr: 127.0.0.1:8848
        server-addr: 47.109.78.184:5000
        #server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置