jiangqs
2023-08-05 7c9dda6138ceea88a312583a3fcc9b2bb356fbc4
bug和二维码
85个文件已修改
1个文件已添加
991 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppEditUserDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberTotalChangeDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerMemberCouponVo.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/fliter/ParamsAuthFilter.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MerActivityPageVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/fliter/ParamsAuthFilter.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtMemberController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppMemberController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerMemberAddDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerMemberEditDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberTotal.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberBasicFileVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberInfoVo.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberSuggestPageVo.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/fliter/ParamsAuthFilter.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java 116 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberCouponMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberSuggestMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtMemberController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderTotalDto.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtShopOrderPageDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ConsumerGoods.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/OrderGoods.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppConsumerPageVo.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderGoodsPageVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberNoClearOrderVo.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderPageVo.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderTotalVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopAllOrderTotal.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/fliter/ParamsAuthFilter.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/config/WxPayConfiguration.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerFollowAgencyTaskDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerFollowMemberTaskDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtFollowShopTaskDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffFollowShopTaskDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/AgencyTaskRecord.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/MemberTaskRecord.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTaskRecord.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerAgencyTaskRecordPageVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerMemberTaskRecordPageVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtAgencyTaskRecordPageVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtMemberFollowPageVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopTaskRecordPageVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffAgencyTaskRecordPageVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffMyShopTaskRecordPageVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/fliter/ParamsAuthFilter.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopStaffMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WechatPayUtils.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopStaffMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskRecordMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskRecordMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/fliter/ParamsAuthFilter.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java
@@ -103,4 +103,6 @@
    String TRANS_NOT_MYSELF = "不能转移给自己";
    String GOODS_SURE_FAILED = "商品没有确认次数";
    String BIRTHDAYCARD_NO_GIFT = "请先配置礼物再开启";
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppEditUserDto.java
@@ -13,7 +13,7 @@
@Data
public class AppEditUserDto extends AppBaseDto{
    @ApiModelProperty(value = "修改类型1.昵称2.头像3.性别4.生日")
    @ApiModelProperty(value = "修改类型1.昵称2.头像3.性别4.生日5.姓名")
    private Integer editType;
    @ApiModelProperty(value = "修改值 性别0=男,1=女,2=未知 生日YYYY-MM-DD ")
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberTotalChangeDto.java
@@ -42,7 +42,7 @@
    private Integer serviceCount;
    @ApiModelProperty(value = "下次跟进时间")
    private Date nextTaskTime;
    private String nextTaskTime;
    @ApiModelProperty(value = "活动时间")
    private Date activityTime;
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerMemberCouponVo.java
@@ -42,4 +42,11 @@
    @ApiModelProperty(value="使用有效期")
    private Date deadlineTime;
    @ApiModelProperty(value="使用范围1.全场2.指定商品")
    private Integer useScope;
    @ApiModelProperty(value = "关联商品id")
    private String relGoodsIds;
}
ruoyi-auth/src/main/java/com/ruoyi/auth/fliter/ParamsAuthFilter.java
@@ -30,7 +30,14 @@
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        String requestUrl = request.getRequestURI();
        String requestUrlUpperCase = requestUrl.toUpperCase();
        if(requestUrlUpperCase.contains("EXPORT")
                ||requestUrlUpperCase.contains("IMPORTTEMPLATE")
        ){
            filterChain.doFilter(request, response);
            return;
        }
        RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response);
        getRequestParams(wrapper);
@@ -39,7 +46,6 @@
        // 返回的结果
        String content = responseWrapper.getTextContent();
        String requestUrl = request.getRequestURI();
        log.info("-------------------- Response Data ----------------------");
        log.info(requestUrl + " -> " + content);
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java
@@ -1,10 +1,10 @@
package com.ruoyi.common.core.utils;
import java.util.*;
import org.springframework.util.AntPathMatcher;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.text.StrFormatter;
import org.springframework.util.AntPathMatcher;
import java.util.*;
/**
 * 字符串工具类
@@ -570,4 +570,13 @@
        }
        return result.toArray(new String[0]);
    }
    public static boolean checkString(String originalString, String targetString) {
        // 使用逗号分隔字符串
        String[] stringArray = originalString.split(",");
        // 转换为列表
        List<String> stringList = Arrays.asList(stringArray);
        // 检查目标字符串是否在列表中
        return stringList.contains(targetString);
    }
}
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java
@@ -1,6 +1,5 @@
package com.ruoyi.file.utils;
import cn.hutool.core.img.ImgUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
@@ -12,7 +11,6 @@
import com.ruoyi.common.core.utils.uuid.IdUtils;
import org.springframework.web.multipart.MultipartFile;
import java.awt.*;
import java.io.*;
import java.util.Calendar;
@@ -26,28 +24,14 @@
public class OBSUploadUtils {
    public static void main(String[] args) throws Exception {
        String activityId = "123";
        String backImageUrl = "2023/8/3/6742e22f748349429e454c9c6ba168ee.jpg";
        String fileUrl = null;
        File qrCodeFile = new File("/home/image/qrcode.png");
        // 二维码内容
        String text = "https://wxapp.hhhrt.cn/mini/activity?"+activityId;
        String text = "https://wxapp.hhhrt.cn/mini/coupon";
        // 生成二维码
        QrCodeUtil.generate(text, 100, 100, qrCodeFile);
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        InputStream codeStream = new FileInputStream(qrCodeFile);
        InputStream backStream = OBSUploadUtils.getOSSInputStream(backImageUrl);
        // 将图片合成在一起
        ImgUtil.pressImage(
                backStream, // 主图片
                out, // 输出图片
                ImgUtil.read(codeStream).getScaledInstance(200, 200, Image.SCALE_DEFAULT), //水印图片
                0, //x坐标修正值。 默认在中间,偏移量相对于中间偏移
                350, //y坐标修正值。 默认在中间,偏移量相对于中间偏移
                1.0f
        );
        InputStream inputStream = new ByteArrayInputStream(out.toByteArray());
        fileUrl =  OBSUploadUtils.uploadInputStream(inputStream,activityId);
        fileUrl =  OBSUploadUtils.uploadInputStream(codeStream,"couponCode");
        System.out.println(fileUrl);
    }
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtActivityController.java
@@ -95,8 +95,10 @@
    @ApiOperation(value = "导出活动参与记录列表")
    public void exportPageMgtActivityRecord( MgtActivityRecordPageDto mgtActivityRecordPageDto, HttpServletResponse response) {
        Page<MgtActivityRecordPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtActivityRecordPageVo> activityRecordPageVoList = activityService.pageMgtActivityRecord(page,mgtActivityRecordPageDto);
        ExcelUtil<MgtActivityRecordPageVo> util = new ExcelUtil<MgtActivityRecordPageVo>(MgtActivityRecordPageVo.class);
        util.exportExcel(response, activityRecordPageVoList, "商品列表");
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java
@@ -55,8 +55,10 @@
    @ApiOperation(value = "导出商品列表")
    public void exportPageMgtGoods( MgtGoodsPageDto mgtGoodsPageDto, HttpServletResponse response) {
        Page<MgtGoodsPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtGoodsPageVo> mgtGoodsPageVoList = goodsService.pageMgtGoods(page,mgtGoodsPageDto);
        ExcelUtil<MgtGoodsPageVo> util = new ExcelUtil<MgtGoodsPageVo>(MgtGoodsPageVo.class);
        util.exportExcel(response, mgtGoodsPageVoList, "商品列表");
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MerActivityPageVo.java
@@ -38,4 +38,7 @@
    @ApiModelProperty(value = "商品数量")
    private Integer goodsNum;
    @ApiModelProperty(value = "活动二维码地址")
    private String activityCode;
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/fliter/ParamsAuthFilter.java
@@ -30,7 +30,14 @@
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        String requestUrl = request.getRequestURI();
        String requestUrlUpperCase = requestUrl.toUpperCase();
        if(requestUrlUpperCase.contains("EXPORT")
                ||requestUrlUpperCase.contains("IMPORTTEMPLATE")
        ){
            filterChain.doFilter(request, response);
            return;
        }
        RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response);
        getRequestParams(wrapper);
@@ -39,7 +46,6 @@
        // 返回的结果
        String content = responseWrapper.getTextContent();
        String requestUrl = request.getRequestURI();
        log.info("-------------------- Response Data ----------------------");
        log.info(requestUrl + " -> " + content);
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
@@ -88,7 +88,8 @@
        WHEN 2 THEN '已结束'
        END activityStatus,
        ta.propaganda_poster propagandaPoster,
        COUNT(ag.activity_id) goodsNum
        COUNT(ag.activity_id) goodsNum,
        ta.activity_code activityCode
        FROM t_activity ta
        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)
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java
@@ -106,7 +106,7 @@
    @RequestMapping(value = "/addMerMember", method = RequestMethod.POST)
    @ApiOperation(value = "新增会员")
    public R addMerMember(@RequestBody MerMemberAddDto merMemberAddDto) {
    public R<Long> addMerMember(@RequestBody MerMemberAddDto merMemberAddDto) {
        Long userId = SecurityUtils.getUserId();
        merMemberAddDto.setUserId(userId);
        memberService.addMerMember(merMemberAddDto);
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtMemberController.java
@@ -65,8 +65,10 @@
    @ApiOperation(value = "导出会员列表")
    public void exportPageMgtMember(MgtMemberPageDto mgtMemberPageDto, HttpServletResponse response) {
        Page<MgtMemberPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtMemberPageVo> mgtShopPageVoList = memberService.pageMgtMember(page,mgtMemberPageDto);
        ExcelUtil<MgtMemberPageVo> util = new ExcelUtil<MgtMemberPageVo>(MgtMemberPageVo.class);
        util.exportExcel(response, mgtShopPageVoList, "用户管理");
@@ -124,8 +126,10 @@
        Long userId = SecurityUtils.getUserId();
        mgtMemberIntegralPageDto.setUserId(userId);
        Page<MgtMemberIntegralPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtMemberIntegralPageVo> mgtMemberIntegralPageVoList = integralRecordService.pageMgtMemberIntegral(page,mgtMemberIntegralPageDto);
        return R.ok(page.setRecords(mgtMemberIntegralPageVoList));
    }
@@ -161,8 +165,10 @@
        Long userId = SecurityUtils.getUserId();
        mgtMemberBrowsePageDto.setUserId(userId);
        Page<MgtMemberBrowsePageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtMemberBrowsePageVo> mgtMemberBrowsePageVoList = browseRecordService.pageMgtMemberBrowse(page,mgtMemberBrowsePageDto);
        ExcelUtil<MgtMemberBrowsePageVo> util = new ExcelUtil<MgtMemberBrowsePageVo>(MgtMemberBrowsePageVo.class);
        util.exportExcel(response, mgtMemberBrowsePageVoList, "用户浏览记录");
@@ -207,8 +213,10 @@
        Long userId = SecurityUtils.getUserId();
        memberSuggestPageDto.setUserId(userId);
        Page<MgtMemberSuggestPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtMemberSuggestPageVo> mgtMemberSuggestPageVoList = memberSuggestService.pageMgtMemberSuggest(page,memberSuggestPageDto);
        ExcelUtil<MgtMemberSuggestPageVo> util = new ExcelUtil<MgtMemberSuggestPageVo>(MgtMemberSuggestPageVo.class);
        util.exportExcel(response, mgtMemberSuggestPageVoList, "用户建议列表");
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppMemberController.java
@@ -118,6 +118,7 @@
                    int todayMonth = today.getMonthValue();
                    if (birthdayMonth == todayMonth) {
                        appBirthdayCardVo = birthdayCardService.getUserBirthdayCard(userId,member.getRelationShopId());
                        appBirthdayCardVo.setCheckBirthdayCard(1);
                        appBirthdayCardVo.setHaveBirthdayFlag(1);
                        appBirthdayCardVo.setInBirthdayFlag(1);
                    } else {
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerMemberAddDto.java
@@ -19,7 +19,7 @@
    @ApiModelProperty(value = "用户昵称")
    private String nickName;
    private String realName;
    @ApiModelProperty(value = "手机号码")
    private String phonenumber;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerMemberEditDto.java
@@ -22,7 +22,7 @@
    private Long editUserId;
    @ApiModelProperty(value = "用户昵称")
    private String nickName;
    private String realName;
    @ApiModelProperty(value = "手机号码")
    private String phonenumber;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberTotal.java
@@ -82,7 +82,7 @@
     * 下次跟进时间
     */
    @TableField("next_task_time")
    private Date nextTaskTime;
    private String nextTaskTime;
    /**
     * 总服务次数
     */
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberBasicFileVo.java
@@ -21,7 +21,7 @@
    private Long userId;
    @ApiModelProperty(value = "用户名称")
    private String nickName;
    private String realName;
    @ApiModelProperty(value = "手机号码")
    private String phonenumber;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberInfoVo.java
@@ -21,7 +21,7 @@
    private Long userId;
    @ApiModelProperty(value = "用户名称")
    private String nickName;
    private String realName;
    @ApiModelProperty(value = "手机号码")
    private String phonenumber;
@@ -58,8 +58,7 @@
    private Date lastTaskTime;
    @ApiModelProperty(value = "下次跟进任务时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date nextTaskTime;
    private String nextTaskTime;
    @ApiModelProperty(value = "最近消费时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberSuggestPageVo.java
@@ -61,9 +61,11 @@
    @Excel(name = "平台响应时间", width = 30)
    @ApiModelProperty(value = "平台响应时间")
    private String responseTime;
    @Excel(name = "回复商户名", width = 30)
    @ApiModelProperty(value = "回复商户名")
    private String replayShopName;
    @ApiModelProperty(value = "商户id")
    private Long shopId;
    @Excel(name = "商户名", width = 30)
    @ApiModelProperty(value = "商户名")
    private String shopName;
    @Excel(name = "商户回复人姓名", width = 30)
    @ApiModelProperty(value = "商户回复人姓名")
    private String shopReplayUserName;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/fliter/ParamsAuthFilter.java
@@ -30,7 +30,14 @@
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        String requestUrl = request.getRequestURI();
        String requestUrlUpperCase = requestUrl.toUpperCase();
        if(requestUrlUpperCase.contains("EXPORT")
                ||requestUrlUpperCase.contains("IMPORTTEMPLATE")
        ){
            filterChain.doFilter(request, response);
            return;
        }
        RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response);
        getRequestParams(wrapper);
@@ -39,7 +46,6 @@
        // 返回的结果
        String content = responseWrapper.getTextContent();
        String requestUrl = request.getRequestURI();
        log.info("-------------------- Response Data ----------------------");
        log.info(requestUrl + " -> " + content);
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.member.domain.dto.MerBirthdayEditDto;
@@ -16,6 +18,7 @@
import com.ruoyi.member.service.birthday.BirthdayCardService;
import com.ruoyi.member.service.birthday.BirthdayGiftService;
import com.ruoyi.member.service.member.MemberGiftRecordService;
import com.ruoyi.system.api.constant.AppErrorConstant;
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;
@@ -412,6 +415,12 @@
        }
        birthdayCard.setCardStatus(merBirthdayEditDto.getCardStatus());
        this.saveOrUpdate(birthdayCard);
        List<BirthdayGift> birthdayGiftList = birthdayGiftService.listByCardId(birthdayCard.getCardId());
        if(merBirthdayEditDto.getCardStatus()==1){
            if(birthdayGiftList==null||birthdayGiftList.isEmpty()){
                throw new ServiceException(AppErrorConstant.BIRTHDAYCARD_NO_GIFT);
            }
        }
    }
    /**
@@ -493,7 +502,7 @@
        if (plBirthdayCard != null && plBirthdayCard.getCardStatus()==1) {
            // 获取生日卡对应的生日礼物列表
            List<BirthdayGift> birthdayGiftList = birthdayGiftService.listByCardId(plBirthdayCard.getCardId());
            if(!birthdayGiftList.isEmpty()){
            if(birthdayGiftList!=null&&!birthdayGiftList.isEmpty()){
                // 遍历生日礼物列表
                for (BirthdayGift birthdayGift : birthdayGiftList) {
                    winningProbability = birthdayGift.getWinningProbability();
@@ -691,15 +700,29 @@
    @Override
    public Integer checkBirthdayCard(Long shopId){
        // 获取平台生日卡信息
        BirthdayCard plBirthdayCard = birthdayCardMapper.getPlatformBirthdayCard(shopId);
        // 如果生日卡存在
        Boolean platformBirthdayCardOpen = true;
        BirthdayCard plBirthdayCard = birthdayCardMapper.getMerShopBirthdayCard(0L);
        if (plBirthdayCard == null || plBirthdayCard.getCardStatus()!=1) {
            return 0;
            platformBirthdayCardOpen = false;
        }else{
            if(plBirthdayCard.getAreaFlag()==2&&!StringUtils.checkString(plBirthdayCard.getApplicableShop(),shopId.toString())){
                platformBirthdayCardOpen = false;
            }
        }
        BirthdayCard shopBirthdayCard = birthdayCardMapper.getMerShopBirthdayCard(shopId);
        // 如果生日卡存在
        Boolean shopBirthdayCardOpen  = true;
        if (shopBirthdayCard == null || shopBirthdayCard.getCardStatus()!=1) {
            shopBirthdayCardOpen = false;
        }
        Integer marketingStatus = remoteShopService.getShopMarketingStatus(shopId).getData();
        if(marketingStatus<=1){
            shopBirthdayCardOpen = false;
        }
        if(!platformBirthdayCardOpen||!shopBirthdayCardOpen){
            return 1;
        }else{
            return 0;
        }
        return 1;
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -384,47 +384,93 @@
            String memberCouponId;
            Integer sendUserTotal;
            for(Long userId : userIdList){
                memberCouponId = IdUtils.simpleUUID();
                memberCoupon = new MemberCoupon();
                memberCoupon.setId(memberCouponId);
                memberCoupon.setDelFlag(0);
                memberCoupon.setCouponId(coupon.getCouponId());
                memberCoupon.setUserId(userId);
                memberCoupon.setShopId(coupon.getShopId());
                memberCoupon.setCouponType(coupon.getCouponType());
                memberCoupon.setCouponStatus(coupon.getCouponStatus());
                memberCoupon.setCouponName(coupon.getCouponName());
                memberCoupon.setSendType(coupon.getSendType());
                memberCoupon.setSendTarget(coupon.getSendTarget());
                memberCoupon.setSendTimeType(coupon.getSendTimeType());
                memberCoupon.setSendTime(coupon.getSendTime());
                memberCoupon.setMoneyThreshold(coupon.getMoneyThreshold());
                memberCoupon.setDiscountMoney(coupon.getDiscountMoney());
                memberCoupon.setDiscountPercent(coupon.getDiscountPercent());
                memberCoupon.setUseScope(coupon.getUseScope());
                memberCoupon.setValidTimeType(coupon.getValidTimeType());
                memberCoupon.setValidStartTime(coupon.getValidStartTime());
                memberCoupon.setValidEndTime(coupon.getValidEndTime());
                memberCoupon.setValidDay(coupon.getValidDay());
                memberCoupon.setCouponFrom(coupon.getCouponFrom());
                memberCoupon.setReceiveTime(nowTime);
                memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds());
                //有效期处理1.时间段2.领取之日起
                if(coupon.getValidTimeType()==1){
                    memberCoupon.setDeadlineTime(coupon.getValidEndTime());
                }else if(coupon.getValidTimeType()==2){
                    memberCoupon.setDeadlineTime(DateUtils.addDays(nowTime,coupon.getValidDay()));
                if(coupon.getCouponFrom()==2){
                    for(int i=0;i<coupon.getLimitNumber();i++){
                        memberCouponId = IdUtils.simpleUUID();
                        memberCoupon = new MemberCoupon();
                        memberCoupon.setId(memberCouponId);
                        memberCoupon.setDelFlag(0);
                        memberCoupon.setCouponId(coupon.getCouponId());
                        memberCoupon.setUserId(userId);
                        memberCoupon.setShopId(coupon.getShopId());
                        memberCoupon.setCouponType(coupon.getCouponType());
                        memberCoupon.setCouponStatus(coupon.getCouponStatus());
                        memberCoupon.setCouponName(coupon.getCouponName());
                        memberCoupon.setSendType(coupon.getSendType());
                        memberCoupon.setSendTarget(coupon.getSendTarget());
                        memberCoupon.setSendTimeType(coupon.getSendTimeType());
                        memberCoupon.setSendTime(coupon.getSendTime());
                        memberCoupon.setMoneyThreshold(coupon.getMoneyThreshold());
                        memberCoupon.setDiscountMoney(coupon.getDiscountMoney());
                        memberCoupon.setDiscountPercent(coupon.getDiscountPercent());
                        memberCoupon.setUseScope(coupon.getUseScope());
                        memberCoupon.setValidTimeType(coupon.getValidTimeType());
                        memberCoupon.setValidStartTime(coupon.getValidStartTime());
                        memberCoupon.setValidEndTime(coupon.getValidEndTime());
                        memberCoupon.setValidDay(coupon.getValidDay());
                        memberCoupon.setCouponFrom(coupon.getCouponFrom());
                        memberCoupon.setReceiveTime(nowTime);
                        memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds());
                        //有效期处理1.时间段2.领取之日起
                        if(coupon.getValidTimeType()==1){
                            memberCoupon.setDeadlineTime(coupon.getValidEndTime());
                        }else if(coupon.getValidTimeType()==2){
                            memberCoupon.setDeadlineTime(DateUtils.addDays(nowTime,coupon.getValidDay()));
                        }
                        memberCouponList.add(memberCoupon);
                        sendTotal = sendTotal + 1;
                        if(coupon.getSendType()==1){
                            sendUserTotal = memberCouponService.totalMemberCouponByUserAndCoupon(userId,coupon.getCouponId());
                            if(sendUserTotal!=null&&sendUserTotal>0){
                            }else{
                                sendPerson = sendPerson + 1;
                            }
                        }
                        memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1);
                    }
                }else{
                    memberCouponId = IdUtils.simpleUUID();
                    memberCoupon = new MemberCoupon();
                    memberCoupon.setId(memberCouponId);
                    memberCoupon.setDelFlag(0);
                    memberCoupon.setCouponId(coupon.getCouponId());
                    memberCoupon.setUserId(userId);
                    memberCoupon.setShopId(coupon.getShopId());
                    memberCoupon.setCouponType(coupon.getCouponType());
                    memberCoupon.setCouponStatus(coupon.getCouponStatus());
                    memberCoupon.setCouponName(coupon.getCouponName());
                    memberCoupon.setSendType(coupon.getSendType());
                    memberCoupon.setSendTarget(coupon.getSendTarget());
                    memberCoupon.setSendTimeType(coupon.getSendTimeType());
                    memberCoupon.setSendTime(coupon.getSendTime());
                    memberCoupon.setMoneyThreshold(coupon.getMoneyThreshold());
                    memberCoupon.setDiscountMoney(coupon.getDiscountMoney());
                    memberCoupon.setDiscountPercent(coupon.getDiscountPercent());
                    memberCoupon.setUseScope(coupon.getUseScope());
                    memberCoupon.setValidTimeType(coupon.getValidTimeType());
                    memberCoupon.setValidStartTime(coupon.getValidStartTime());
                    memberCoupon.setValidEndTime(coupon.getValidEndTime());
                    memberCoupon.setValidDay(coupon.getValidDay());
                    memberCoupon.setCouponFrom(coupon.getCouponFrom());
                    memberCoupon.setReceiveTime(nowTime);
                    memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds());
                    //有效期处理1.时间段2.领取之日起
                    if(coupon.getValidTimeType()==1){
                        memberCoupon.setDeadlineTime(coupon.getValidEndTime());
                    }else if(coupon.getValidTimeType()==2){
                        memberCoupon.setDeadlineTime(DateUtils.addDays(nowTime,coupon.getValidDay()));
                    }
                    memberCouponList.add(memberCoupon);
                    sendTotal = sendTotal + 1;
                    if(coupon.getSendType()==1){
                        sendUserTotal = memberCouponService.totalMemberCouponByUserAndCoupon(userId,coupon.getCouponId());
                        if(sendUserTotal!=null&&sendUserTotal>0){
                        }else{
                            sendPerson = sendPerson + 1;
                        }
                    }
                    memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1);
                }
                memberCouponList.add(memberCoupon);
                sendTotal = sendTotal + 1;
                if(coupon.getSendType()==1){
                   sendUserTotal = memberCouponService.totalMemberCouponByUserAndCoupon(userId,coupon.getCouponId());
                   if(sendUserTotal!=null&&sendUserTotal>0){
                   }else{
                       sendPerson = sendPerson + 1;
                   }
                }
                memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1);
            }
            memberCouponService.saveBatch(memberCouponList);
            //处理优惠券统计
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -360,6 +360,9 @@
            case 4:
                member.setBirthday(editValue);
                break;
            case 5:
                member.setRealName(editValue);
                break;
            default:
                break;
        }
@@ -457,7 +460,7 @@
        Member member = this.getByUserId(userId);
        // 设置MerMemberInfoVo对象的属性值
        merMemberInfoVo.setUserId(userId);
        merMemberInfoVo.setNickName(member.getNickName());
        merMemberInfoVo.setRealName(member.getRealName());
        merMemberInfoVo.setPhonenumber(member.getMobile());
        merMemberInfoVo.setAvatar(member.getAvatar());
        merMemberInfoVo.setBirthday(member.getBirthday());
@@ -532,7 +535,7 @@
        MerMemberBasicFileVo merMemberBasicFileVo = new MerMemberBasicFileVo();
        Member member = this.getByUserId(userId);
        BeanUtils.copyProperties(member, merMemberBasicFileVo);
        merMemberBasicFileVo.setNickName(member.getNickName());
        merMemberBasicFileVo.setRealName(member.getRealName());
        merMemberBasicFileVo.setPhonenumber(member.getMobile());
        merMemberBasicFileVo.setCreateTime(member.getCreateTime());
        /*List<MemberNurse> memberNurseList = memberNurseService.listByUserId(userId);
@@ -607,7 +610,7 @@
     * @param merMemberAddDto
     */
    @Override
    public void addMerMember(MerMemberAddDto merMemberAddDto) {
    public Long addMerMember(MerMemberAddDto merMemberAddDto) {
        String phoneNumber = merMemberAddDto.getPhonenumber();
        Member oldMember = this.getByMobile(phoneNumber);
        // Check if the member already exists
@@ -622,7 +625,7 @@
            sysUser = new SysUser();
            sysUser.setUserName(memberId);
            sysUser.setUserType("03");
            sysUser.setNickName(merMemberAddDto.getNickName());
            sysUser.setNickName(merMemberAddDto.getRealName());
            sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
            String password = "hongruitang";
            sysUser.setPassword(SecurityUtils.encryptPassword(password));
@@ -636,8 +639,8 @@
            member.setUserId(sysUser.getUserId());
            member.setDelFlag(0);
            member.setFrozenFlag(0);
            member.setNickName(merMemberAddDto.getNickName());
            member.setRealName(merMemberAddDto.getNickName());
            member.setNickName(merMemberAddDto.getRealName());
            member.setRealName(merMemberAddDto.getRealName());
            member.setGender(merMemberAddDto.getGender());
            member.setMobile(phoneNumber);
            member.setReferrer(merMemberAddDto.getReferrer());
@@ -671,6 +674,7 @@
                memberArchiveService.saveBatch(memberArchiveList);
            }
        }
        return sysUser.getUserId();
    }
    /**
@@ -680,54 +684,54 @@
     */
    @Override
    public void editMerMember(MerMemberEditDto merMemberEditDto) {
    // 获取用户信息
    Member member = this.getByUserId(merMemberEditDto.getEditUserId());
     // 检查手机号是否已经存在
    if (!member.getMobile().equals(merMemberEditDto.getPhonenumber())) {
        Member memberOld = getByMobile(merMemberEditDto.getPhonenumber());
        if (memberOld != null) {
            throw new ServiceException(AppErrorConstant.MOBILE_DOUBLE);
        // 获取用户信息
        Member member = this.getByUserId(merMemberEditDto.getEditUserId());
         // 检查手机号是否已经存在
        if (!member.getMobile().equals(merMemberEditDto.getPhonenumber())) {
            Member memberOld = getByMobile(merMemberEditDto.getPhonenumber());
            if (memberOld != null) {
                throw new ServiceException(AppErrorConstant.MOBILE_DOUBLE);
            }
        }
         // 更新用户信息
        member.setRealName(merMemberEditDto.getRealName());
        member.setMobile(merMemberEditDto.getPhonenumber());
        member.setGender(merMemberEditDto.getGender());
        member.setReferrer(merMemberEditDto.getReferrer());
        member.setCustomerSource(merMemberEditDto.getCustomerSource());
        member.setLevel(merMemberEditDto.getLevel());
        member.setBirthday(merMemberEditDto.getBirthday());
        member.setUpdateUserId(merMemberEditDto.getUserId());
        member.setUpdateTime(new Date());
        List<String> memberNurse = merMemberEditDto.getMemberNurse();
        if(memberNurse!=null&&!memberNurse.isEmpty()){
            String memberNurseString = String.join(",", memberNurse);
            member.setMemberNurse(memberNurseString);
        }
        this.saveOrUpdate(member);
         // 更新用户手机号
        SysUser sysUser = new SysUser();
        sysUser.setUserId(merMemberEditDto.getEditUserId());
        sysUser.setPhonenumber(merMemberEditDto.getPhonenumber());
        sysUserService.updateUserMobile(sysUser);
         // 删除用户的档案信息
        memberArchiveService.deleteByUserId(sysUser.getUserId());
         // 添加用户的档案信息
        List<MemberArchiveVo> achiveList = merMemberEditDto.getAchiveList();
        if (achiveList != null && !achiveList.isEmpty()) {
            // 构造用户档案列表
            List<MemberArchive> memberArchiveList = achiveList.stream().map(memberArchiveVo -> {
                MemberArchive memberArchive = new MemberArchive();
                memberArchive.setDelFlag(0);
                memberArchive.setUserId(sysUser.getUserId());
                memberArchive.setFieldId(memberArchiveVo.getFieldId());
                memberArchive.setFieldValue(memberArchiveVo.getFieldValue());
                return memberArchive;
            }).collect(Collectors.toList());
             // 批量保存用户档案信息
            memberArchiveService.saveBatch(memberArchiveList);
        }
    }
     // 更新用户信息
    member.setRealName(merMemberEditDto.getNickName());
    member.setMobile(merMemberEditDto.getPhonenumber());
    member.setGender(merMemberEditDto.getGender());
    member.setReferrer(merMemberEditDto.getReferrer());
    member.setCustomerSource(merMemberEditDto.getCustomerSource());
    member.setLevel(merMemberEditDto.getLevel());
    member.setBirthday(merMemberEditDto.getBirthday());
    member.setUpdateUserId(merMemberEditDto.getUserId());
    member.setUpdateTime(new Date());
    List<String> memberNurse = merMemberEditDto.getMemberNurse();
    if(memberNurse!=null&&!memberNurse.isEmpty()){
        String memberNurseString = String.join(",", memberNurse);
        member.setMemberNurse(memberNurseString);
    }
    this.saveOrUpdate(member);
     // 更新用户手机号
    SysUser sysUser = new SysUser();
    sysUser.setUserId(merMemberEditDto.getEditUserId());
    sysUser.setPhonenumber(merMemberEditDto.getPhonenumber());
    sysUserService.updateUserMobile(sysUser);
     // 删除用户的档案信息
    memberArchiveService.deleteByUserId(sysUser.getUserId());
     // 添加用户的档案信息
    List<MemberArchiveVo> achiveList = merMemberEditDto.getAchiveList();
    if (achiveList != null && !achiveList.isEmpty()) {
        // 构造用户档案列表
        List<MemberArchive> memberArchiveList = achiveList.stream().map(memberArchiveVo -> {
            MemberArchive memberArchive = new MemberArchive();
            memberArchive.setDelFlag(0);
            memberArchive.setUserId(sysUser.getUserId());
            memberArchive.setFieldId(memberArchiveVo.getFieldId());
            memberArchive.setFieldValue(memberArchiveVo.getFieldValue());
            return memberArchive;
        }).collect(Collectors.toList());
         // 批量保存用户档案信息
        memberArchiveService.saveBatch(memberArchiveList);
    }
}
    /**
     * @param mobile
@@ -974,9 +978,11 @@
            for (String str : memberUserIdArr) {
                Member member = this.getByUserId(Long.valueOf(str));
                member.setBindingFlag(0);
                member.setRelationShopId(null);
                member.setRelationShopName(null);
                member.setUpdateTime(new Date());
                member.setUpdateUserId(mgtMemberRelDelDto.getUserId());
                this.saveOrUpdate(member);
                memberMapper.update(member,null);
            }
        }
    }
@@ -1105,7 +1111,9 @@
        mgtMemberGetVo.setCreateTime(member.getCreateTime());
        mgtMemberGetVo.setLastPayTime(memberTotal.getLastPayTime());
        mgtMemberGetVo.setGoodsType(member.getGoodsType());
        mgtMemberGetVo.setRelationShopName(member.getRelationShopName());
        if(member.getBindingFlag()==1){
            mgtMemberGetVo.setRelationShopName(member.getRelationShopName());
        }
        mgtMemberGetVo.setIntegral(memberTotal.getTotalIntegral());
        mgtMemberGetVo.setMemberFrom(member.getCustomerSource());
        mgtMemberGetVo.setTotalActivityCount(memberTotal.getTotalActivityCount());
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java
@@ -17,19 +17,21 @@
import com.ruoyi.member.service.member.MemberSuggestService;
import com.ruoyi.system.api.domain.dto.AppSuggestPageDto;
import com.ruoyi.system.api.domain.dto.AppUserSuggestDto;
import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.poji.config.SysTag;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
import com.ruoyi.system.api.service.RemoteConfigService;
import com.ruoyi.system.api.service.RemoteShopService;
import com.ruoyi.system.api.service.RemoteUserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
 * <p>
@@ -112,11 +114,7 @@
            mgtShopIdByCodeDto.setShopCityCode(memberSuggestPageDto.getShopCityCode());
            mgtShopIdByCodeDto.setShopAreaCode(memberSuggestPageDto.getShopAreaCode());
            MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData();
            if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){
                memberSuggestPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds());
            }else{
                return mgtMemberSuggestPageVoList;
            }
            memberSuggestPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds());
        }
        //处理标签为正则方便sql判断
        if(StringUtils.isNotBlank(memberSuggestPageDto.getTags())){
@@ -127,6 +125,25 @@
        }
        //获取返回结果
        mgtMemberSuggestPageVoList = memberSuggestMapper.pageMgtMemberSuggest(page, memberSuggestPageDto);
        if(mgtMemberSuggestPageVoList!=null&&!mgtMemberSuggestPageVoList.isEmpty()){
            HashSet<Long> shopIdSet = new HashSet<>();
            for(MgtMemberSuggestPageVo mgtMemberSuggestPageVo : mgtMemberSuggestPageVoList){
                if(mgtMemberSuggestPageVo.getShopId()!=null){
                    shopIdSet.add(mgtMemberSuggestPageVo.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(MgtMemberSuggestPageVo mgtMemberSuggestPageVo : mgtMemberSuggestPageVoList){
                if(mgtMemberSuggestPageVo.getShopId()!=null){
                    mgtMemberSuggestPageVo.setShopName(shopMap.get(mgtMemberSuggestPageVo.getShopId()).getShopName());
                }
            }
        }
        return mgtMemberSuggestPageVoList;
    }
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -111,7 +111,7 @@
     * 添加会员
     * @param merMemberAddDto
     */
    void addMerMember(MerMemberAddDto merMemberAddDto);
    Long addMerMember(MerMemberAddDto merMemberAddDto);
    /**
     * 编辑会员
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberCouponMapper.xml
@@ -206,6 +206,8 @@
    <select id="listMerShopGoodsMemberCoupon" resultType="com.ruoyi.system.api.domain.vo.MerMemberCouponVo">
        SELECT
            tuc.id memberCouponId,
            tuc.use_scope,
            tuc.rel_goods_ids relGoodsIds,
            tuc.coupon_type couponType,
            tuc.coupon_name couponName,
            tuc.money_threshold moneyThreshold,
@@ -216,7 +218,9 @@
        FROM t_member_coupon tuc
        WHERE tuc.del_flag = 0 AND tuc.coupon_status = 1 AND tuc.user_id = #{param.userId} AND tuc.coupon_type IN (1,2,3)
            AND (tuc.coupon_from = 1 OR (tuc.coupon_from = 2 AND tuc.shop_id = #{param.shopId}))
            AND (tuc.use_scope = 1 OR (tuc.use_scope = 2 AND FIND_IN_SET(#{param.goodsId}, rel_goods_ids) &gt; 0))
          <if test="param.goodsId!=null and param.goodsId!=''">
              AND (tuc.use_scope = 1 OR (tuc.use_scope = 2 AND FIND_IN_SET(#{param.goodsId}, rel_goods_ids) &gt; 0))
          </if>
        ORDER BY tuc.receive_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -199,10 +199,10 @@
            AND FIND_IN_SET(#{param.memberNurse},tm.member_nurse) &gt; 0
        </if>
        <if test="param.actStartDate!=null and param.actStartDate!=''">
            AND Date(tmt.last_pay_time) &gt;= #{param.actStartDate}
            AND Date(tmt.last_service_time) &gt;= #{param.actStartDate}
        </if>
        <if test="param.actEndDate!=null and param.actEndDate!=''">
            AND Date(tmt.last_pay_time) &lt;= #{param.actEndDate}
            AND Date(tmt.last_service_time) &lt;= #{param.actEndDate}
        </if>
        <if test="param.keyword != null and param.keyword != ''">
            AND (tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.mobile LIKE CONCAT('%',#{param.keyword},'%') OR tm.referrer LIKE CONCAT('%',#{param.keyword},'%'))
@@ -240,7 +240,7 @@
        tm.create_time createTime,
        tmt.last_pay_time lastPayTime,
        tm.goods_type goodsType,
        tm.relation_shop_name relationShopName,
        CASE binding_flag WHEN 1 THEN tm.relation_shop_name ELSE "" END relationShopName,
        tmt.total_integral integral,
        tm.referrer referrer,
        tm.customer_source memberFrom,
@@ -252,7 +252,7 @@
        LEFT JOIN t_member_total tmt ON tm.member_id = tmt.member_id
        WHERE tm.del_flag = 0
        <if test="param.keyword != null and param.keyword != ''">
            AND (tm.member_no LIKE CONCAT('%',#{param.keyword},'%') OR tm.mobile LIKE CONCAT('%',#{param.keyword},'%') OR tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.nick_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(#{param.keyword},tm.member_nurse) &gt; 0)
            AND (tm.user_id LIKE CONCAT('%',#{param.keyword},'%') OR tm.mobile LIKE CONCAT('%',#{param.keyword},'%') OR tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.nick_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(#{param.keyword},tm.member_nurse) &gt; 0)
        </if>
        <if test="param.belongDistrict != null and param.belongDistrict != ''">
            AND tm.belong_district = #{param.belongDistrict}
@@ -270,7 +270,7 @@
            AND FIND_IN_SET(#{param.goodsType},tm.goods_type) &gt; 0
        </if>
        <if test="param.relationShopId != null and param.relationShopId != ''">
            AND tm.relation_shop_id = #{param.relationShopId}
            AND tm.relation_shop_id = #{param.relationShopId} AND tm.binding_flag = 1
        </if>
        <if test="param.memberFrom != null and param.memberFrom != ''">
            AND tm.customer_source = #{param.memberFrom}
@@ -294,10 +294,10 @@
            AND tmt.total_integral &lt;= #{param.endIntegral}
        </if>
        <if test="param.actStartDate != null and param.actStartDate != ''">
            AND Date(tmt.last_pay_time) &gt;= #{param.actStartDate}
            AND Date(tmt.last_service_time) &gt;= #{param.actStartDate}
        </if>
        <if test="param.actEndDate != null and param.actEndDate != ''">
            AND Date(tmt.last_pay_time) &lt;= #{param.actEndDate}
            AND Date(tmt.last_service_time) &lt;= #{param.actEndDate}
        </if>
        <if test="param.startPayCount != null and param.startPayCount != ''">
            AND tmt.total_pay_count &gt;= #{param.startPayCount}
@@ -483,10 +483,10 @@
            AND tm.relation_shop_id = #{shopId}
        </if>
        <if test="actStartDate != null and actStartDate != ''">
            AND Date(tmt.last_pay_time) &gt;= #{actStartDate}
            AND Date(tmt.last_service_time) &gt;= #{actStartDate}
        </if>
        <if test="actEndDate != null and actEndDate != ''">
            AND Date(tmt.last_pay_time) &lt;= #{actEndDate}
            AND Date(tmt.last_service_time) &lt;= #{actEndDate}
        </if>
    </select>
@@ -664,10 +664,10 @@
            </foreach>
        </if>
        <if test="actStartDate != null and actStartDate != ''">
            AND Date(tmt.last_pay_time) &gt;= #{actStartDate}
            AND Date(tmt.last_service_time) &gt;= #{actStartDate}
        </if>
        <if test="actEndDate != null and actEndDate != ''">
            AND Date(tmt.last_pay_time) &lt;= #{actEndDate}
            AND Date(tmt.last_service_time) &lt;= #{actEndDate}
        </if>
    </select>
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberSuggestMapper.xml
@@ -39,7 +39,8 @@
            tms.shop_replay_user_name shopReplayUserName,
            tms.shop_replay_time shopReplayTime,
            tms.shop_response_time shopResponseTime,
            tms.suggest_tags suggestTags
            tms.suggest_tags suggestTags,
            tms.shop_id shopId
        FROM
            t_member_suggest tms
        INNER JOIN t_member tm ON tms.create_user_id = tm.user_id
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtMemberController.java
@@ -53,8 +53,10 @@
        Long userId = SecurityUtils.getUserId();
        mgtMemberServiceRecordPageDto.setUserId(userId);
        Page<MgtMemberServiceRecordPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtMemberServiceRecordPageVo> list = userServiceRecordService.pageMgtMemberServiceRecord(page,mgtMemberServiceRecordPageDto);
        ExcelUtil<MgtMemberServiceRecordPageVo> util = new ExcelUtil<MgtMemberServiceRecordPageVo>(MgtMemberServiceRecordPageVo.class);
        util.exportExcel(response, list, "用户浏览记录");
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java
@@ -65,8 +65,10 @@
        Long userId = SecurityUtils.getUserId();
        mgtMemberOrderPageDto.setUserId(userId);
        Page<MgtMemberOrderPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtMemberOrderPageVo> mgtMemberOrderPageVoList = orderService.pageMgtMemberOrder(page,mgtMemberOrderPageDto);
        if(!mgtMemberOrderPageVoList.isEmpty()){
            List<MgtOrderGoodsPageVo> mgtOrderGoodsVoList;
@@ -92,6 +94,8 @@
        return R.ok(mgtOrderTotal);
    }
    @RequestMapping(value = "/pageMgtActivityOrder", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取秒杀订单列表")
    public R<Page<MgtActivityOrderPageVo>> pageMgtActivityOrder(@RequestBody MgtShopOrderPageDto mgtShopOrderPageDto) {
@@ -110,8 +114,10 @@
        Long userId = SecurityUtils.getUserId();
        mgtShopOrderPageDto.setUserId(userId);
        Page<MgtActivityOrderPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtActivityOrderPageVo> mgtActivityOrderPageVos = orderService.pageMgtActivityOrder(page,mgtShopOrderPageDto);
        ExcelUtil<MgtActivityOrderPageVo> util = new ExcelUtil<MgtActivityOrderPageVo>(MgtActivityOrderPageVo.class);
        util.exportExcel(response, mgtActivityOrderPageVos, "秒杀订单列表");
@@ -135,8 +141,10 @@
        Long userId = SecurityUtils.getUserId();
        mgtShopOrderPageDto.setUserId(userId);
        Page<MgtShopOrderPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtShopOrderPageVo> shopOrderPageVoList = orderService.pageMgtShopOrder(page,mgtShopOrderPageDto);
        ExcelUtil<MgtShopOrderPageVo> util = new ExcelUtil<MgtShopOrderPageVo>(MgtShopOrderPageVo.class);
        util.exportExcel(response, shopOrderPageVoList, "门店订单列表");
@@ -151,6 +159,15 @@
        return R.ok(mgtOrderDetail);
    }
    @RequestMapping(value = "/getMgtShopAllOrderTotal", method = RequestMethod.POST)
    @ApiOperation(value = "获取商户订单统计")
    public R<MgtShopAllOrderTotal> getMgtShopAllOrderTotal(@RequestBody MgtShopOrderPageDto mgtShopOrderPageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtShopOrderPageDto.setUserId(userId);
        MgtShopAllOrderTotal shopAllOrderTotal = orderService.getMgtShopAllOrderTotal(mgtShopOrderPageDto);
        return R.ok(shopAllOrderTotal);
    }
    @RequestMapping(value = "/pageMgtShopAllOrder", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取商户订单记录")
    public R<Page<MgtShopAllOrderPageVo>> pageMgtShopAllOrder(@RequestBody MgtShopAllOrderPageDto mgtShopAllOrderPageDto) {
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderTotalDto.java
@@ -4,8 +4,6 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MgtMemberOrderTotalDto
@@ -17,7 +15,7 @@
public class MgtMemberOrderTotalDto extends MgtBaseDto {
    @ApiModelProperty(value = "用户id")
    private Long userId;
    private Long memberUserId;
    @ApiModelProperty(value = "搜索关键词")
    private String keyword;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtShopOrderPageDto.java
@@ -17,6 +17,9 @@
    @ApiModelProperty(value = "关键词")
    private String keyword;
    @ApiModelProperty(value = "订单来源")
    private Integer orderFrom;
    @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成")
    private Integer orderStatus;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ConsumerGoods.java
@@ -108,6 +108,9 @@
     */
    @TableField("goods_type")
    private Integer goodsType;
    @TableField("goods_tag")
    private String goodsTag;
    /**
     * 商品名称
     */
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/OrderGoods.java
@@ -94,6 +94,9 @@
    @TableField("goods_name")
    private String goodsName;
    @TableField("goods_tag")
    private String goodsTag;
    @TableField("goods_introduction")
    private String goodsIntroduction;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppConsumerPageVo.java
@@ -1,7 +1,5 @@
package com.ruoyi.order.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -27,8 +25,14 @@
    @ApiModelProperty(value="商品类型1周期2服务3体验4单品")
    private Integer goodsType;
    @ApiModelProperty(value="商品标签")
    private String goodsTag;
    @ApiModelProperty(value="商品名称")
    private String goodsName;
    @ApiModelProperty(value="商品名称")
    private String goodsIntroduction;
    @ApiModelProperty(value="商品图片")
    private String goodsPicture;
@@ -45,4 +49,7 @@
    @ApiModelProperty(value="消耗次数")
    private Integer usedNum;
    @ApiModelProperty(value="消耗次数")
    private Integer sureNum;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderGoodsPageVo.java
@@ -27,6 +27,9 @@
    @ApiModelProperty(value = "商品简介")
    private String goodsIntroduction;
    @ApiModelProperty(value="商品标签")
    private String goodsTag;
    @ApiModelProperty(value="商品图片")
    private String goodsPicture;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberNoClearOrderVo.java
@@ -6,7 +6,6 @@
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * @author jqs34
@@ -39,10 +38,13 @@
    @ApiModelProperty(value="应收订金")
    private BigDecimal receivableDeposit;
    @ApiModelProperty(value="订单实际支付金额")
    @ApiModelProperty(value="实收金额")
    private BigDecimal receiveMoney;
    @ApiModelProperty(value="已收金额")
    private BigDecimal payMoney;
    @ApiModelProperty(value="订单未支付金额")
    @ApiModelProperty(value="未收金额")
    private BigDecimal unPaidMoney;
    @ApiModelProperty(value="创建时间")
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderPageVo.java
@@ -50,10 +50,13 @@
    @ApiModelProperty(value="应收金额")
    private BigDecimal receivableMoney;
    @Excel(name = "订单实际支付金额", width = 30)
    @ApiModelProperty(value="订单实际支付金额")
    private BigDecimal payMoney;
    @Excel(name = "订单实收金额", width = 30)
    @ApiModelProperty(value = "实收金额")
    private BigDecimal receiveMoney;
    @Excel(name = "订单未支付金额", width = 30)
    @ApiModelProperty(value="订单未支付金额")
    private BigDecimal unPaidMoney;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderTotalVo.java
@@ -29,4 +29,7 @@
    @ApiModelProperty(value = "支付总金额")
    private BigDecimal totalPayMoney;
    @ApiModelProperty(value = "实收金额")
    private BigDecimal totalReceiveMoney;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopAllOrderTotal.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.order.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @ClassName MgtShopAllOrderTotal
 * @Description TODO
 * @Author jqs
 * @Date 2023/8/4 10:23
 * @Version 1.0
 */
@Data
public class MgtShopAllOrderTotal {
    @ApiModelProperty(value = "订单总数")
    private Integer orderTotal;
    @ApiModelProperty(value = "订单总金额")
    private BigDecimal totalOrderMoney;
    @ApiModelProperty(value = "实收金额")
    private BigDecimal totalReceiveMoney;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/fliter/ParamsAuthFilter.java
@@ -30,7 +30,14 @@
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        String requestUrl = request.getRequestURI();
        String requestUrlUpperCase = requestUrl.toUpperCase();
        if(requestUrlUpperCase.contains("EXPORT")
                ||requestUrlUpperCase.contains("IMPORTTEMPLATE")
        ){
            filterChain.doFilter(request, response);
            return;
        }
        RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response);
        getRequestParams(wrapper);
@@ -39,7 +46,6 @@
        // 返回的结果
        String content = responseWrapper.getTextContent();
        String requestUrl = request.getRequestURI();
        log.info("-------------------- Response Data ----------------------");
        log.info(requestUrl + " -> " + content);
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -92,7 +92,7 @@
     * @param
     * @return  MgtOrderTotal
     */
    MgtOrderTotal totalOrderFirst();
    MgtOrderTotal totalOrderFirst(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto);
    /**
     * @description  统计门店订单总数
@@ -141,6 +141,15 @@
     * @date 2023/6/18 17:20
     */
    MgtBulletinBoardVo boardOrderTotal();
    /**
     * @description  活动人数统计
     * @author  jqs
     * @date    2023/8/3 21:12
     * @param
     * @return  Integer
     */
    Integer activityUserTotal();
    /**
    * @description getTotalOrderTotalOrderFrom
@@ -507,7 +516,7 @@
     * @description  商户端订单管理统计
     * @author  jqs
     * @date    2023/7/4 16:27
     * @param shopId
     * @param merOrderPageDto
     * @return  MerTotalOrderVo
     */
    MerTotalOrderVo totalMerOrder(@Param("param")MerOrderPageDto merOrderPageDto);
@@ -600,4 +609,14 @@
     * @return  Integer
     */
    Integer countUserBuyGoodsNum(@Param("userId")Long userId, @Param("goodsId")String goodsId);
    /**
     * @description  获取商户订单统计
     * @author  jqs
     * @date    2023/8/4 10:25
     * @param mgtShopOrderPageDto
     * @return  MgtShopAllOrderTotal
     */
    MgtShopAllOrderTotal getMgtShopAllOrderTotal(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
@@ -142,6 +142,7 @@
                        consumerGoods.setUsedNum(0);
                        consumerGoods.setCreateTime(new Date());
                        consumerGoods.setGoodsType(goods.getGoodsType());
                        consumerGoods.setGoodsTag(goods.getGoodsTags());
                        consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
                        consumerGoods.setGoodsPicture(goodsFile.getFileUrl());
                        consumerGoods.setGoodsNurses(goods.getGoodsNurses());
@@ -420,6 +421,7 @@
                consumerGoods.setUsedNum(0);
                consumerGoods.setCreateTime(new Date());
                consumerGoods.setGoodsType(goods.getGoodsType());
                consumerGoods.setGoodsTag(goods.getGoodsTags());
                consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
                consumerGoods.setGoodsPicture(goodsFile.getFileUrl());
                consumerGoods.setGoodsNurses(goods.getGoodsNurses());
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -648,6 +648,7 @@
            orderGoods.setServiceNum(serviceNum);
            orderGoods.setGoodsType(goods.getGoodsType());
            orderGoods.setGoodsName(goods.getGoodsName());
            orderGoods.setGoodsTag(goods.getGoodsTags());
            orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
            orderGoods.setGoodsPicture(goodsFile.getFileUrl());
            // 保存订单商品
@@ -900,6 +901,7 @@
        orderGoods.setCycleNumFlag(goods.getCycleNumFlag());
        orderGoods.setServiceNum(serviceNum);
        orderGoods.setGoodsType(goods.getGoodsType());
        orderGoods.setGoodsTag(goods.getGoodsTags());
        orderGoods.setGoodsName(goods.getGoodsName());
        orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
        orderGoods.setGoodsPicture(goodsFile.getFileUrl());
@@ -1302,6 +1304,7 @@
                consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
                consumerGoods.setUsedNum(0);
                consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
                consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag());
                consumerGoods.setCreateTime(nowTime);
                consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
                consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
@@ -1327,6 +1330,7 @@
                    consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
                    consumerGoods.setUsedNum(0);
                    consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
                    consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag());
                    consumerGoods.setCreateTime(nowTime);
                    consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
                    consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
@@ -1455,6 +1459,7 @@
            }
            consumerGoods.setUsedNum(0);
            consumerGoods.setGoodsType(goods.getGoodsType());
            consumerGoods.setGoodsTag(goods.getGoodsTags());
            consumerGoods.setCreateTime(new Date());
            consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
            goodsFile = remoteGoodsService.getGoodsFile(goods.getGoodsId()).getData();
@@ -1573,7 +1578,7 @@
    @Override
    public List<MerMemberNoClearOrderVo> pageMerMemberNoClearOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto) {
        List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberNoClearOrder(page, merMemberNoClearOrderDto.getMemberUserId());
        if (merMemberNoClearOrderVoList != null && !merMemberNoClearOrderVoList.isEmpty()) {
        /*if (merMemberNoClearOrderVoList != null && !merMemberNoClearOrderVoList.isEmpty()) {
            BigDecimal zeroBig = new BigDecimal("0.00");
            for (MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList) {
                merMemberNoClearOrderVo.setUnPaidMoney(merMemberNoClearOrderVo.getReceivableMoney().subtract(merMemberNoClearOrderVo.getPayMoney()));
@@ -1581,7 +1586,7 @@
                    merMemberNoClearOrderVo.setUnPaidMoney(zeroBig);
                }
            }
        }
        }*/
        return merMemberNoClearOrderVoList;
    }
@@ -1766,6 +1771,7 @@
            orderGoods.setCycleNumFlag(goods.getCycleNumFlag());
            orderGoods.setServiceNum(serviceNum);
            orderGoods.setGoodsType(goods.getGoodsType());
            orderGoods.setGoodsTag(goods.getGoodsTags());
            orderGoods.setGoodsName(goods.getGoodsName());
            orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
            orderGoods.setGoodsPicture(goodsFile.getFileUrl());
@@ -1813,7 +1819,6 @@
        order.setOrderRemark(merNewOrderDto.getOrderRemark());
        order.setGoodsNum(goodsNum);
        order.setCreateTime(nowTime);
        order.setPayTime(nowTime);
        order.setUseTime(nowTime);
        order.setUseUserId(merNewOrderDto.getUserId());
        order.setPayMoney(merNewOrderDto.getPayMoney());
@@ -1851,6 +1856,7 @@
                consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
                consumerGoods.setUsedNum(0);
                consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
                consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag());
                consumerGoods.setCreateTime(nowTime);
                consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
                consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
@@ -1876,6 +1882,7 @@
                    consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
                    consumerGoods.setUsedNum(0);
                    consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
                    consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag());
                    consumerGoods.setCreateTime(nowTime);
                    consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
                    consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
@@ -2155,7 +2162,7 @@
            }
        }
        MgtOrderTotal mgtOrderTotal = new MgtOrderTotal();
        MgtOrderTotal mgtOrderTotalFirst = orderMapper.totalOrderFirst();
        MgtOrderTotal mgtOrderTotalFirst = orderMapper.totalOrderFirst(mgtShopOrderPageDto);
        MgtOrderTotal mgtOrderTotalSecond = orderMapper.totalOrderSecond(mgtShopOrderPageDto);
        MgtOrderTotal mgtOrderTotalThird = orderMapper.totalOrderThird(mgtShopOrderPageDto);
        mgtOrderTotal.setOrderTotal(mgtOrderTotalFirst.getOrderTotal());
@@ -2360,6 +2367,8 @@
    @Override
    public MgtBulletinBoardVo boardOrderTotal() {
        MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal();
        Integer activityUserTotal = orderMapper.activityUserTotal();
        mgtBulletinBoardVo.setActivityUserTotal(activityUserTotal);
        return mgtBulletinBoardVo;
    }
@@ -3509,6 +3518,9 @@
        if (haveGoods) {
            memberTotalChangeDto.setGoodsOrderChange(1);
        }
        if(order.getOrderFrom()==2){
            memberTotalChangeDto.setActivityTime(order.getCreateTime());
        }
        // 更新会员统计信息
        remoteMemberService.changeMemberTotal(memberTotalChangeDto);
        // 如果订单来源于活动,则更新活动统计信息
@@ -4021,4 +4033,17 @@
            }
        }
    }
    /**
     * @description  获取商户订单统计
     * @author  jqs
     * @date    2023/8/4 10:25
     * @param mgtShopOrderPageDto
     * @return  MgtShopAllOrderTotal
     */
    @Override
    public MgtShopAllOrderTotal getMgtShopAllOrderTotal(MgtShopOrderPageDto mgtShopOrderPageDto){
        MgtShopAllOrderTotal shopAllOrderTotal = orderMapper.getMgtShopAllOrderTotal(mgtShopOrderPageDto);
        return shopAllOrderTotal;
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -489,4 +489,13 @@
     * @return  void
     */
    void checkOrderStatus();
    /**
     * @description  获取商户订单统计
     * @author  jqs
     * @date    2023/8/4 10:25
     * @param mgtShopOrderPageDto
     * @return  MgtShopAllOrderTotal
     */
    MgtShopAllOrderTotal getMgtShopAllOrderTotal(MgtShopOrderPageDto mgtShopOrderPageDto);
}
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml
@@ -124,6 +124,8 @@
        tcg.shop_id shopId,
        tcg.goods_type goodsType,
        tcg.goods_name goodsName,
        tcg.goods_introduction goodsIntroduction,
        tcg.goods_tag goodsTag,
        tcg.goods_picture goodsPicture,
        tcg.goods_nurses goodsNurses,
        tcg.cycle_num_flag cycleNumFlag,
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml
@@ -109,6 +109,7 @@
        tog.goods_id goodsId,
        tog.goods_name goodsName,
        tog.goods_type goodsType,
        tog.goods_tag goodsTag,
        tog.buy_num buyNum,
        tog.goods_price goodsPrice,
        tog.goods_picture goodsPicture,
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -82,7 +82,9 @@
        <result column="discountMoney" property="discountMoney"/>
        <result column="receivableMoney" property="receivableMoney"/>
        <result column="payMoney" property="payMoney"/>
        <result column="receiveMoney" property="receiveMoney"/>
        <result column="orderFrom" property="orderFrom" />
        <result column="orderFromDesc" property="orderFromDesc" />
        <result column="createTime" property="createTime" />
        <collection property="mgtOrderGoodsVoList" ofType="com.ruoyi.order.domain.vo.MgtOrderGoodsPageVo">
            <result column="goodsName" property="goodsName"/>
@@ -294,10 +296,12 @@
        toc.coupon_money couponDiscount,
        toc.receivable_money receivableMoney,
        toc.receivable_deposit receivableDeposit,
        toc.pay_money payMoney,
        toc.change_receivable_money receiveMoney,
        IFNULL(toc.offline_pay_money,0) payMoney,
        toc.change_receivable_money-IFNULL(toc.offline_pay_money,0) unPaidMoney,
        toc.create_time createTime
        FROM t_order toc
        WHERE toc.del_flag = 0 AND toc.user_id = #{userId} AND toc.order_status = 2 AND toc.close_flag = 0
        WHERE toc.del_flag = 0 AND toc.user_id = #{userId} AND toc.order_status &gt;= 2 AND toc.close_flag = 0
        ORDER BY toc.create_time DESC
    </select>
@@ -377,9 +381,10 @@
        IFNULL(SUM(IFNULL(toc.order_money,0)),0) totalOrderMoney,
        IFNULL(SUM(IFNULL(toc.receivable_money,0)),0) totalReceivableMoney,
        IFNULL(SUM(IFNULL(toc.discount_money,0)),0) totalDiscountMoney,
        IFNULL(SUM(IFNULL(toc.pay_money,0)),0) totalPayMoney
        IFNULL(SUM(IFNULL(toc.pay_money,0)),0) totalPayMoney,
        IFNULL(SUM(IFNULL(toc.change_receivable_money,0)),0) totalReceiveMoney
        FROM t_order toc
        WHERE toc.del_flag = 0 AND toc.user_id = #{param.userId}
        WHERE toc.del_flag = 0 AND toc.user_id = #{param.memberUserId}
        <if test="param.orderStatus != null">
            AND toc.order_status = #{param.orderStatus}
        </if>
@@ -410,6 +415,7 @@
        toc.discount_money discountMoney,
        toc.receivable_money receivableMoney,
        toc.pay_money payMoney,
        toc.change_receivable_money receiveMoney,
        tog.goods_name goodsName,
        tog.buy_num buyNum,
        toc.create_time createTime,
@@ -487,9 +493,35 @@
    <select id="totalOrderFirst" resultType="com.ruoyi.order.domain.vo.MgtOrderTotal">
        SELECT
            COUNT(order_id) orderTotal,
            IFNULL(SUM(order_money),0) orderMoneyTotal
        FROM t_order ORDER BY create_time DESC
        COUNT(temp.order_id) orderTotal,
        IFNULL(SUM(temp.order_money),0) orderMoneyTotal
        FROM
        (SELECT toc.order_id,toc.order_money,toc.pay_money
        FROM t_order toc
        INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id
        WHERE toc.del_flag = 0 AND (toc.order_from = 1 OR toc.order_from = 3)
        <if test="param.orderStatus != null">
            AND toc.order_status = #{param.orderStatus}
        </if>
        <if test="param.goodsType != null and param.goodsType !=''">
            AND tog.goods_type = #{param.goodsType}
        </if>
        <if test="param.shopId != null and param.shopId != ''">
            AND toc.shop_id = #{param.shopId}
        </if>
        <if test="param.shopIds != null and param.shopIds != ''">
            AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) &gt; 0
        </if>
        <if test="param.keyword != null and param.keyword != ''">
            AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(toc.user_id, #{param.userIds}) &gt; 0)
        </if>
        <if test="param.verifyStartTime != null and param.verifyStartTime != ''">
            AND Date(toc.use_time) &gt;= #{param.verifyStartTime}
        </if>
        <if test="param.verifyEndTime != null and param.verifyEndTime != ''">
            AND Date(toc.use_time) &lt;= #{param.verifyEndTime}
        </if>
        GROUP BY toc.order_id) AS temp
    </select>
    <select id="totalOrderSecond" resultType="com.ruoyi.order.domain.vo.MgtOrderTotal">
@@ -647,6 +679,13 @@
            IFNULL(SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END),0) activityOrderTotal
        FROM t_order
        WHERE del_flag = 0
    </select>
    <select id="activityUserTotal" resultType="java.lang.Integer">
        SELECT
            COUNT(DISTINCT user_id)
        FROM t_order
        WHERE del_flag = 0 AND order_from = 2
    </select>
    <select id="getTotalOrderTotalOrderFrom" resultType="com.ruoyi.order.domain.vo.MgtTotalOrderTotalVo">
@@ -1344,7 +1383,7 @@
        SELECT
            DATE(toc.create_time) AS mapKey,
            COUNT(DISTINCT tog.order_id) AS mapValueFirst,
            SUM(tog.order_money) AS mapValueSecond
            SUM(tog.goods_receivable_money) AS mapValueSecond
        FROM t_order toc
        INNER JOIN t_order_goods tog ON toc.order_id = tog.order_id
        WHERE toc.del_flag = 0 AND tog.del_flag = 0 AND tog.goods_type = #{param.goodsType}
@@ -1632,4 +1671,32 @@
        INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id
        WHERE toc.del_flag = 0 AND toc.order_status &gt; 1 AND toc.user_id = #{userId} AND tog.goods_id = #{goodsId}
    </select>
    <select id="getMgtShopAllOrderTotal" resultType="com.ruoyi.order.domain.vo.MgtShopAllOrderTotal">
        SELECT
        COUNT(DISTINCT toc.order_id) orderTotal,
        IFNULL(SUM(toc.order_money),0) totalOrderMoney,
        IFNULL(SUM(toc.change_receivable_money),0) totalReceiveMoney
        FROM t_order toc
        WHERE toc.del_flag = 0 AND (toc.order_from = 1 OR toc.order_from = 3)
        <if test="param.orderFrom != null">
            AND toc.order_from = #{param.orderFrom}
        </if>
        <if test="param.orderStatus != null">
            AND toc.order_status = #{param.orderStatus}
        </if>
        <if test="param.orderNo != null and param.orderNo !=''">
            AND toc.order_no LIKE CONCAT('%',#{param.orderNo},'%')
        </if>
        <if test="param.shopId != null and param.shopId != ''">
            AND toc.shop_id = #{param.shopId}
        </if>
        <if test="param.startOrderDate != null and param.startOrderDate != '' ">
            AND Date(toc.create_time) &gt;= #{param.startOrderDate}
        </if>
        <if test="param.endOrderDate != null and param.endOrderDate != '' ">
            AND Date(toc.create_time) &lt;= #{param.endOrderDate}
        </if>
        ORDER BY toc.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml
@@ -123,7 +123,7 @@
    <select id="getMgtMemberServiceTotal" resultType="com.ruoyi.order.domain.vo.MgtMemberServiceTotalVo">
        SELECT
        COUNT(temp.consumerGoodsId),
        COUNT(temp.consumerGoodsId) cycleTotal,
        IFNULL(SUM(temp.cycleCount),0) cycleCount,
        IFNULL(SUM(temp.surpCycleCount),0) surpCycleCount
        FROM (SELECT
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/config/WxPayConfiguration.java
@@ -1,15 +1,9 @@
package com.ruoyi.shop.config;
import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.service.WxPayService;
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
@@ -22,7 +16,7 @@
public class WxPayConfiguration {
  private WxPayProperties properties;
  @Bean
  /*@Bean
  @ConditionalOnMissingBean
  public WxPayService wxService() {
    WxPayConfig payConfig = new WxPayConfig();
@@ -39,6 +33,6 @@
    WxPayService wxPayService = new WxPayServiceImpl();
    wxPayService.setConfig(payConfig);
    return wxPayService;
  }
  }*/
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
@@ -71,8 +71,10 @@
    @ApiOperation(value = "导出商户列表")
    public void exportPageMgtShop(MgtShopPageDto mgtShopPageDto, HttpServletResponse response) {
        Page<MgtShopPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtShopPageVo> mgtShopPageVoList = shopService.pageMgtShop(page,mgtShopPageDto);
        ExcelUtil<MgtShopPageVo> util = new ExcelUtil<MgtShopPageVo>(MgtShopPageVo.class);
        util.exportExcel(response, mgtShopPageVoList, "用户订单列表");
@@ -185,8 +187,10 @@
        Long userId = SecurityUtils.getUserId();
        mgtShopSuggestPageDto.setUserId(userId);
        Page<MgtShopSuggestPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtShopSuggestPageVo> mgtShopSuggestPageVoList = shopSuggestService.pageMgtShopSuggest(page,mgtShopSuggestPageDto);
        ExcelUtil<MgtShopSuggestPageVo> util = new ExcelUtil<MgtShopSuggestPageVo>(MgtShopSuggestPageVo.class);
        util.exportExcel(response, mgtShopSuggestPageVoList, "商户建议列表");
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerFollowAgencyTaskDto.java
@@ -22,6 +22,9 @@
    @ApiModelProperty(value="跟踪类型1电话2手动")
    private Integer followType;
    @ApiModelProperty(value="自定义跟进类型")
    private String customeFollowType;
    @ApiModelProperty(value="拨打电话")
    private String callPhone;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerFollowMemberTaskDto.java
@@ -22,6 +22,10 @@
    @ApiModelProperty(value="跟踪类型1电话2手动")
    private Integer followType;
    @ApiModelProperty(value="自定义跟进类型")
    private String customeFollowType;
    @ApiModelProperty(value="拨打电话")
    private String callPhone;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtFollowShopTaskDto.java
@@ -23,6 +23,7 @@
    @ApiModelProperty(value="跟进类型")
    private String followType;
    @ApiModelProperty(value="跟进内容")
    private String followContent;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffFollowShopTaskDto.java
@@ -47,7 +47,7 @@
    private String nextTaskContent;
    @ApiModelProperty(value="跟踪类型")
    private String customFollowType;
    private String customeFollowType;
    @ApiModelProperty(value="紧急程度")
    private String emergencyState;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/AgencyTaskRecord.java
@@ -1,20 +1,17 @@
package com.ruoyi.shop.domain.pojo.task;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.Version;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
 * <p>
@@ -76,6 +73,9 @@
    @TableField("create_time")
    private Date createTime;
    @TableField("custome_follow_type")
    private String customeFollowType;
    @Override
    protected Serializable pkVal() {
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/MemberTaskRecord.java
@@ -1,16 +1,16 @@
package com.ruoyi.shop.domain.pojo.task;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
 * <p>
@@ -73,6 +73,9 @@
    @TableField("create_time")
    private Date createTime;
    @TableField("custome_follow_type")
    private String customeFollowType;
    @Override
    protected Serializable pkVal() {
        return this.id;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTaskRecord.java
@@ -72,8 +72,8 @@
    @TableField("create_time")
    private Date createTime;
    @TableField("custom_follow_type")
    private String customFollowType;
    @TableField("custome_follow_type")
    private String customeFollowType;
    @Override
    protected Serializable pkVal() {
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerAgencyTaskRecordPageVo.java
@@ -29,6 +29,9 @@
    @ApiModelProperty(value="跟踪类型1电话2手动")
    private Integer followType;
    @ApiModelProperty(value="自定义跟进类型")
    private String customeFollowType;
    @ApiModelProperty(value="电话时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date callTime;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerMemberTaskRecordPageVo.java
@@ -29,6 +29,9 @@
    @ApiModelProperty(value="跟踪类型1电话2手动")
    private Integer followType;
    @ApiModelProperty(value="自定义跟进类型")
    private String customeFollowType;
    @ApiModelProperty(value="电话时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date callTime;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtAgencyTaskRecordPageVo.java
@@ -39,6 +39,9 @@
    @ApiModelProperty(value="跟踪类型1电话2手动")
    private Integer followType;
    @ApiModelProperty(value="跟进类型")
    private String customeFollowType;
    @ApiModelProperty(value="电话时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date callTime;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtMemberFollowPageVo.java
@@ -38,6 +38,9 @@
    @ApiModelProperty(value="跟踪类型1电话2手动")
    private Integer followType;
    @ApiModelProperty(value="自定义跟进类型")
    private String customeFollowType;
    @ApiModelProperty(value="电话时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date callTime;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopTaskRecordPageVo.java
@@ -39,6 +39,9 @@
    @ApiModelProperty(value="跟踪类型1电话2手动")
    private String followType;
    @ApiModelProperty(value="自定义跟踪类型")
    private String customeFollowType;
    @ApiModelProperty(value="电话时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date callTime;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffAgencyTaskRecordPageVo.java
@@ -39,6 +39,9 @@
    @ApiModelProperty(value="跟踪类型1电话2手动")
    private Integer followType;
    @ApiModelProperty(value="自定义跟进类型")
    private String customeFollowType;
    @ApiModelProperty(value="电话时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date callTime;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffMyShopTaskRecordPageVo.java
@@ -40,7 +40,7 @@
    private String followType;
    @ApiModelProperty(value="跟进类型")
    private String customFollowType;
    private String customeFollowType;
    @ApiModelProperty(value="电话时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/fliter/ParamsAuthFilter.java
@@ -30,7 +30,14 @@
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        String requestUrl = request.getRequestURI();
        String requestUrlUpperCase = requestUrl.toUpperCase();
        if(requestUrlUpperCase.contains("EXPORT")
                ||requestUrlUpperCase.contains("IMPORTTEMPLATE")
        ){
            filterChain.doFilter(request, response);
            return;
        }
        RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response);
        getRequestParams(wrapper);
@@ -39,7 +46,6 @@
        // 返回的结果
        String content = responseWrapper.getTextContent();
        String requestUrl = request.getRequestURI();
        log.info("-------------------- Response Data ----------------------");
        log.info(requestUrl + " -> " + content);
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopStaffMapper.java
@@ -23,9 +23,9 @@
    /**
     * @description  
     * @author  jqs
     * @date    2023/8/3 13:19
     * @date    2023/8/3 13:33
     * @param shopId
     * @param codeUrl
 * @param codeUrl
     * @return  void
     */
    void updateShopCodeUrl(@Param("shopId") Long shopId,@Param("codeUrl") String codeUrl);
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -23,9 +23,6 @@
import com.ruoyi.shop.service.task.MemberTaskService;
import com.ruoyi.shop.service.task.ShopFileService;
import com.ruoyi.shop.service.task.ShopTaskService;
import com.ruoyi.shop.util.WechatPayUtils;
import com.ruoyi.shop.util.WxShopUtils;
import com.ruoyi.shop.util.dto.*;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.domain.dto.*;
import com.ruoyi.system.api.domain.poji.config.SysTag;
@@ -35,7 +32,6 @@
import com.ruoyi.system.api.domain.vo.*;
import com.ruoyi.system.api.service.*;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -119,8 +115,8 @@
    @Resource
    private RedisService redisService;
    @Resource
    private WechatPayUtils wechatPayUtils;
    /*@Resource
    private WechatPayUtils wechatPayUtils;*/
    /**
     * 获取商户详情
@@ -807,6 +803,8 @@
        merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover());
        merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson());
        merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson());
        merHomeShopTotalVo.setPlatformBirthdayFlag(shop.getPlatformBirthdayFlag());
        merHomeShopTotalVo.setPlatformCouponFlag(shop.getPlatformCouponFlag());
        return merHomeShopTotalVo;
    }
@@ -970,7 +968,7 @@
        shopAuthentication.setApplyNumber(applyNumber);
        shopAuthentication.setAuditStatus(3);
        shopAuthenticationService.saveOrUpdate(shopAuthentication);
        wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop);
        //wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop);
    }
    /**
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskServiceImpl.java
@@ -121,6 +121,7 @@
                    agencyTaskRecord.setDelFlag(0);
                    agencyTaskRecord.setUserId(merFollowAgencyTaskDto.getUserId());
                    agencyTaskRecord.setFollowType(merFollowAgencyTaskDto.getFollowType());
                    agencyTaskRecord.setCustomeFollowType(merFollowAgencyTaskDto.getCustomeFollowType());
                    agencyTaskRecord.setCallPhone(merFollowAgencyTaskDto.getCallPhone());
                    agencyTaskRecord.setCallTime(followPhoneDto.getCallTime());
                    agencyTaskRecord.setFollowContent(followPhoneDto.getFollowContent());
@@ -130,6 +131,13 @@
            }
        }else{
            agencyTaskRecord = new AgencyTaskRecord();
            agencyTaskRecord.setTaskId(merFollowAgencyTaskDto.getTaskId());
            agencyTaskRecord.setDelFlag(0);
            agencyTaskRecord.setUserId(merFollowAgencyTaskDto.getUserId());
            agencyTaskRecord.setFollowType(merFollowAgencyTaskDto.getFollowType());
            agencyTaskRecord.setCustomeFollowType(merFollowAgencyTaskDto.getCustomeFollowType());
            agencyTaskRecord.setFollowContent(merFollowAgencyTaskDto.getFollowContent());
            agencyTaskRecord.setCreateTime(new Date());
            //创建任务详情文件
            String picture = merFollowAgencyTaskDto.getPicture();
            String video = merFollowAgencyTaskDto.getVideo();
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java
@@ -17,6 +17,7 @@
import com.ruoyi.shop.service.task.MemberTaskService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.shop.service.task.TaskFileService;
import com.ruoyi.system.api.domain.dto.MemberTotalChangeDto;
import com.ruoyi.system.api.domain.vo.MemberTaskSimpleVo;
import com.ruoyi.system.api.service.RemoteMemberService;
import org.springframework.stereotype.Service;
@@ -57,19 +58,7 @@
     */
    @Override
    public List<MerMemberTaskPageVo> pageMerMemberTask(Page page, MerMemberTaskPageDto merMemberTaskPageDto){
        String today = DateUtils.parseDateToStr("YYYY-MM-DD",new Date());
        List<MerMemberTaskPageVo> merMemberTaskPageVoList = memberTaskMapper.pageMerMemberTask(page, merMemberTaskPageDto);
        if(merMemberTaskPageVoList!=null&&!merMemberTaskPageVoList.isEmpty()){
            String taskDate;
            for(MerMemberTaskPageVo merMemberTaskPageVo : merMemberTaskPageVoList){
                taskDate = merMemberTaskPageVo.getTaskDate();
                if(today.equals(taskDate)){
                    merMemberTaskPageVo.setTodayFlag(1);
                }else{
                    merMemberTaskPageVo.setTodayFlag(0);
                }
            }
        }
        return merMemberTaskPageVoList;
    }
@@ -100,6 +89,9 @@
        memberTask.setTaskContent(merCreateMemberTaskDto.getTaskContent());
        memberTask.setCreateTime(new Date());
        this.saveOrUpdate(memberTask);
        MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
        memberTotalChangeDto.setNextTaskTime(merCreateMemberTaskDto.getTaskDate());
        remoteMemberService.changeMemberTotal(memberTotalChangeDto);
    }
    /**
@@ -131,6 +123,7 @@
                    memberTaskRecord.setDelFlag(0);
                    memberTaskRecord.setUserId(merFollowMemberTaskDto.getUserId());
                    memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType());
                    memberTaskRecord.setCustomeFollowType(merFollowMemberTaskDto.getCustomeFollowType());
                    memberTaskRecord.setCallPhone(merFollowMemberTaskDto.getCallPhone());
                    memberTaskRecord.setFollowContent(followPhoneDto.getFollowContent());
                    memberTaskRecord.setCallTime(followPhoneDto.getCallTime());
@@ -145,6 +138,7 @@
            memberTaskRecord.setDelFlag(0);
            memberTaskRecord.setUserId(merFollowMemberTaskDto.getUserId());
            memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType());
            memberTaskRecord.setCustomeFollowType(merFollowMemberTaskDto.getCustomeFollowType());
            memberTaskRecord.setFollowContent(merFollowMemberTaskDto.getFollowContent());
            memberTaskRecord.setCreateTime(new Date());
            // 保存或更新会员任务记录
@@ -217,6 +211,9 @@
            }
            memberTask.setCreateTime(new Date());
            this.saveOrUpdate(memberTask);
            MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
            memberTotalChangeDto.setNextTaskTime(merFollowMemberTaskDto.getNextTaskDate());
            remoteMemberService.changeMemberTotal(memberTotalChangeDto);
        }
    }
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java
@@ -71,7 +71,7 @@
        shopTaskRecord.setTaskId(taskId);
        shopTaskRecord.setUserId(mgtFollowShopTaskDto.getUserId());
        shopTaskRecord.setFollowType(2);
        shopTaskRecord.setCustomFollowType(mgtFollowShopTaskDto.getFollowType());
        shopTaskRecord.setCustomeFollowType(mgtFollowShopTaskDto.getFollowType());
        shopTaskRecord.setFollowContent(mgtFollowShopTaskDto.getFollowContent());
        shopTaskRecord.setCreateTime(nowTime);
        shopTaskRecordService.saveOrUpdate(shopTaskRecord);
@@ -244,7 +244,7 @@
            shopTaskRecord.setUserId(staffFollowShopTaskDto.getUserId());
            shopTaskRecord.setFollowType(staffFollowShopTaskDto.getFollowType());
            shopTaskRecord.setFollowContent(staffFollowShopTaskDto.getFollowContent());
            shopTaskRecord.setCustomFollowType(staffFollowShopTaskDto.getCustomFollowType());
            shopTaskRecord.setCustomeFollowType(staffFollowShopTaskDto.getCustomeFollowType());
            shopTaskRecord.setCreateTime(new Date());
            // 保存或更新会员任务记录
            shopTaskRecordService.saveOrUpdate(shopTaskRecord);
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WechatPayUtils.java
@@ -1,18 +1,8 @@
package com.ruoyi.shop.util;
import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsRequest;
import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsResult;
import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsStatusResult;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.github.binarywang.wxpay.service.EcommerceService;
import com.github.binarywang.wxpay.service.WxPayService;
import com.ruoyi.shop.domain.pojo.shop.ShopAuthentication;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
 * 微信支付
@@ -20,12 +10,13 @@
@Component
@AllArgsConstructor
public class WechatPayUtils {
    private final WxPayService wxService;
    //private final WxPayService wxService;
    /**
     * 电商二级商户进件(提交申请单)
     */
    public void ecommerceApply(ShopAuthentication shopAuthentication, String applyNumber, Shop shop) throws WxPayException {
    /*public void ecommerceApply(ShopAuthentication shopAuthentication, String applyNumber, Shop shop) throws WxPayException {
        EcommerceService ecommerceService = wxService.getEcommerceService();
        ApplymentsRequest request = new ApplymentsRequest();
        //生成提交类
@@ -109,14 +100,14 @@
    }
    /**
    *//**
     * 通过查询申请状态API查询二级商户入驻申请结果
     * @param applyNumber 业务申请编号
     * @return 申请状态
     * @throws WxPayException
     */
     *//*
    public ApplymentsStatusResult queryApplyStatusByOutRequestNo(String applyNumber) throws WxPayException {
        return wxService.getEcommerceService().queryApplyStatusByOutRequestNo(applyNumber);
    }
    }*/
}
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -406,8 +406,14 @@
        ts.cooperation_end_time cooperationEndTime
        FROM t_shop ts
        WHERE ts.del_flag = 0 AND ts.belong_shop_id = #{param.shopId}
        <if test="param.shopStatus!=null and param.shopStatus!=''">
            AND ts.shop_status = #{param.shopStatus}
        <if test="param.shopStatus!=null and param.shopStatus==1">
            AND ts.shop_status = 1
        </if>
        <if test="param.shopStatus!=null and param.shopStatus==2">
            AND ts.frozen_flag = 1
        </if>
        <if test="param.shopStatus!=null and param.shopStatus==3">
            AND ts.cooperative_flag = 0
        </if>
        <if test="param.keyword!=null and param.keyword!=''">
            AND (ts.shop_name LIKE CONCAT('%',#{param.keyword},'%') OR ts.shopowner_name LIKE CONCAT('%',#{param.keyword},'%')
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopStaffMapper.xml
@@ -8,7 +8,7 @@
        UPDATE t_shop_staff SET del_flag = 1 WHERE del_flag = 0 AND shop_id = #{shopId}
    </update>
    <update id="clearShopStaffRelation">
    <update id="updateShopCodeUrl">
        UPDATE t_shop SET shop_code =  #{codeUrl} WHERE shop_id = #{shopId}
    </update>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml
@@ -20,6 +20,7 @@
        tmtr.task_id taskId,
        tmt.task_date taskDate,
        tmtr.follow_type followType,
        tmtr.custome_follow_type customeFollowType,
        tmtr.call_time callTime,
        tmtr.follow_content followContent,
        tmtr.call_phone callPhone
@@ -36,6 +37,7 @@
        tmtr.task_id taskId,
        tmt.create_time createTime,
        tmtr.follow_type followType,
        tmtr.custome_follow_type customeFollowType,
        tmtr.call_time callTime,
        tmtr.follow_content followContent,
        tmtr.call_phone callPhone
@@ -54,6 +56,7 @@
            tmtr.task_id taskId,
            tmt.create_time createTime,
            tmtr.follow_type followType,
            tmtr.custome_follow_type customeFollowType,
            tmtr.call_time callTime,
            tmtr.follow_content followContent,
            tmtr.call_phone callPhone
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml
@@ -86,7 +86,7 @@
        tmt.task_content taskContent,
        tmtr.follow_content dealContent,
        tmt.emergency_state emergencyState,
        CASE WHEN task_date = #{param.today} THEN 1 ELSE 0 END todayFlag
        CASE WHEN task_date = CURRENT_DATE() THEN 1 ELSE 0 END todayFlag
        FROM t_member_task tmt
        LEFT JOIN t_member_task_record tmtr ON tmt.task_id = tmtr.task_id
        WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmt.user_id = #{param.memberUserId}
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskRecordMapper.xml
@@ -85,6 +85,7 @@
        tmtr.follow_type followType,
        tmtr.call_time callTime,
        tmtr.follow_content followContent,
        tmtr.custome_follow_type customeFollowType,
        tmtr.call_phone callPhone
        FROM t_member_task tmt
        INNER JOIN t_member_task_record tmtr ON tmtr.task_id = tmt.task_id
@@ -101,6 +102,7 @@
        tmtr.task_id taskId,
        tmt.task_date taskDate,
        tmtr.follow_type followType,
        tmtr.custome_follow_type customeFollowType,
        tmtr.call_time callTime,
        tmtr.follow_content followContent,
        tmtr.call_phone callPhone
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskRecordMapper.xml
@@ -8,8 +8,8 @@
        tmtr.id followId,
        tmtr.task_id taskId,
        tmtr.create_time createTime,
        CASE tmtr.follow_type WHEN 1 THEN "电话跟进" WHEN 2 THEN "手动跟进" END followType,
        tmtr.custom_follow_type customFollowType,
        tmt.follow_type WHEN 1 THEN "电话跟进" WHEN 2 THEN "手动跟进" END followType,
        tmtr.custome_follow_type customeFollowType,
        tmtr.follow_content followContent,
        tmtr.call_time callTime,
        tmtr.call_phone callPhone
@@ -26,7 +26,7 @@
            tmtr.task_id taskId,
            tmtr.create_time createTime,
            CASE tmtr.follow_type WHEN 1 THEN "电话跟进" WHEN 2 THEN "手动跟进" END followType,
            tmtr.custom_follow_type customFollowType,
            tmtr.custome_follow_type customeFollowType,
            tmtr.follow_content followContent,
            tmtr.call_time callTime,
            tmtr.call_phone callPhone
@@ -43,6 +43,7 @@
            tmtr.task_id taskId,
            tmtr.create_time createTime,
            CASE tmtr.follow_type WHEN 1 THEN "电话跟进" WHEN 2 THEN "手动跟进" END followType,
            tmtr.custome_follow_type customeFollowType,
            tmtr.follow_content followContent,
            tmtr.call_time callTime,
            tmtr.call_phone callPhone
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
@@ -387,8 +387,10 @@
        Long userId = SecurityUtils.getUserId();
        mgtOperLogPageDto.setUserId(userId);
        Page<MgtOperLogPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtOperLogPageVo> mgtOperLogPageVoList = customConfigService.pageOperLog(page, mgtOperLogPageDto);
        ExcelUtil<MgtOperLogPageVo> util = new ExcelUtil<MgtOperLogPageVo>(MgtOperLogPageVo.class);
        util.exportExcel(response, mgtOperLogPageVoList, "操作日志");
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java
@@ -80,8 +80,10 @@
        Long userId = SecurityUtils.getUserId();
        mgtStaffSuggestPageDto.setUserId(userId);
        Page<MgtStaffSuggestPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(page.getSize()>5000){
            page.setSize(5000);
            page.setCurrent(1);
        }
        List<MgtStaffSuggestPageVo> staffSuggestPageVoList = staffSuggestService.pageMgtStaffSuggest(page,mgtStaffSuggestPageDto);
        ExcelUtil<MgtStaffSuggestPageVo> util = new ExcelUtil<MgtStaffSuggestPageVo>(MgtStaffSuggestPageVo.class);
        util.exportExcel(response, staffSuggestPageVoList, "员工建议列表");
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/fliter/ParamsAuthFilter.java
@@ -30,7 +30,14 @@
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        String requestUrl = request.getRequestURI();
        String requestUrlUpperCase = requestUrl.toUpperCase();
        if(requestUrlUpperCase.contains("EXPORT")
                ||requestUrlUpperCase.contains("IMPORTTEMPLATE")
                ||requestUrlUpperCase.contains("GETAPPAGREEMENT")){
            filterChain.doFilter(request, response);
            return;
        }
        RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response);
        getRequestParams(wrapper);
@@ -39,7 +46,6 @@
        // 返回的结果
        String content = responseWrapper.getTextContent();
        String requestUrl = request.getRequestURI();
        log.info("-------------------- Response Data ----------------------");
        log.info(requestUrl + " -> " + content);
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
@@ -646,9 +646,9 @@
        mgtBulletinBoardVo.setSalesTotal(mgtBulletinBoardVoOrder.getSalesTotal());
        mgtBulletinBoardVo.setUnUseOrderTotal(mgtBulletinBoardVoOrder.getUnUseOrderTotal());
        mgtBulletinBoardVo.setActivityOrderTotal(mgtBulletinBoardVoOrder.getActivityOrderTotal());
        mgtBulletinBoardVo.setActivityUserTotal(mgtBulletinBoardVoOrder.getActivityUserTotal());
        // 获取活动信息
        MgtBulletinBoardVo mgtBulletinBoardVoActivity = remoteActivityService.boardActivityTotal().getData();
        mgtBulletinBoardVo.setActivityUserTotal(mgtBulletinBoardVoActivity.getActivityUserTotal());
        //MgtBulletinBoardVo mgtBulletinBoardVoActivity = remoteActivityService.boardActivityTotal().getData();
        //待回复建议数量
        Integer countA = remoteMemberService.getUnReplaySuggestVo().getData();
        Integer countB = remoteShopService.getUnReplaySuggestVo().getData();
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java
@@ -608,10 +608,6 @@
        String editValue = appEditUserDto.getEditValue();
        switch (editType){
            case 1:
                sysUser.setNickName(editValue);
                sysUser.setUpdateTime(DateUtils.getNowDate());
                sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId()));
                userMapper.updateUser(sysUser);
                break;
            case 2:
                sysUser.setAvatar(editValue);
@@ -627,6 +623,12 @@
                break;
            case 4:
                break;
            case 5:
                sysUser.setNickName(editValue);
                sysUser.setUpdateTime(DateUtils.getNowDate());
                sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId()));
                userMapper.updateUser(sysUser);
                break;
            default:
                break;
        }
ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml
@@ -19,7 +19,7 @@
        su.nick_name nickName
        FROM sys_dept sd
        LEFT JOIN sys_user su ON sd.dept_id = su.dept_id
        WHERE sd.del_flag = 0 AND su.del_flag = 0
        WHERE sd.del_flag = "0" AND su.del_flag = "0" AND su.status = "0"
    </select>
    <select id="listMgtDeptStaffByDept" resultMap="deptStaffResultMap">
@@ -30,7 +30,7 @@
            su.nick_name nickName
        FROM sys_dept sd
                 LEFT JOIN sys_user su ON sd.dept_id = su.dept_id
        WHERE sd.del_flag = 0 AND su.del_flag = 0 AND sd.dept_id = #{deptId}
        WHERE sd.del_flag = "0" AND su.del_flag = "0" AND sd.dept_id = #{deptId}
        <if test="userId != null and userId != ''">
            AND su.user_id = #{userId}
        </if>