jiangqs
2023-05-07 5814550ca780067f20d6494b5fe8baf729a67dd9
DEMO初步完成
39个文件已修改
23个文件已添加
1534 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseGetDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberBasicFileVo.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberNurseServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberNurseService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerConsumerController.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppGoodsController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerConsumerGoodsPageDto.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerServiceRecordPageDto.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderGetVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderPageVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerServiceRecordPageVo.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/ConsumerGoodsMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ShoppingCartServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/UserServiceRecordServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ConsumerGoodsService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/UserServiceRecordService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ShoppingCartMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerTaskController.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerAgencyPageDto.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerAgencyTaskPageDto.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerCreateAgencyTaskDto.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerCreateMemberTaskDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerFollowAgencyTaskDto.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerFollowMemberTaskDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/AgencyTask.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/AgencyTaskRecord.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/MemberTask.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerAgencyPageVo.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerAgencyTaskPageVo.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerAgencyTaskRecordPageVo.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerMemberTaskPageVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerMemberTaskRecordPageVo.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskMapper.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskRecordMapper.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskServiceImpl.java 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskRecordService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskService.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/FileConvertUtils.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskMapper.xml 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseGetDto.java
New file
@@ -0,0 +1,19 @@
package com.ruoyi.system.api.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName AppBaseGetDto
 * @description: TODO
 * @date 2023年04月19日
 * @version: 1.0
 */
@Data
public class MerBaseGetDto extends MerBaseDto{
    @ApiModelProperty(value = "请求对象id")
    private String id;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java
@@ -5,11 +5,10 @@
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.dto.MerCashMemberPageDto;
import com.ruoyi.member.domain.dto.MerMemberPageDto;
import com.ruoyi.member.domain.vo.AppUserInfoVo;
import com.ruoyi.member.domain.vo.MerCashMemberPageVo;
import com.ruoyi.member.domain.vo.MerMemberInfoVo;
import com.ruoyi.member.domain.vo.MerMemberPageVo;
import com.ruoyi.member.domain.vo.*;
import com.ruoyi.member.service.member.MemberService;
import com.ruoyi.system.api.domain.dto.MerBaseDto;
import com.ruoyi.system.api.domain.dto.MerBaseGetDto;
import com.ruoyi.system.api.domain.dto.MerPageDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -67,11 +66,19 @@
     */
    @RequestMapping(value = "/getMerMemberInfo", method = RequestMethod.POST)
    @ApiOperation(value = "获取会员信息")
    public R<MerMemberInfoVo> getMerMemberInfo() {
    public R<MerMemberInfoVo> getMerMemberInfo(@RequestBody MerBaseGetDto merBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        MerMemberInfoVo merMemberInfo = memberService.getMerMemberInfo(userId);
        MerMemberInfoVo merMemberInfo = memberService.getMerMemberInfo(Long.valueOf(merBaseGetDto.getId()));
        return R.ok(merMemberInfo);
    }
    @RequestMapping(value = "/getMerMemberBasicFile", method = RequestMethod.POST)
    @ApiOperation(value = "获取会员基础档案")
    public R<MerMemberBasicFileVo> getMerMemberBasicFile(@RequestBody MerBaseGetDto merBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        MerMemberBasicFileVo merMemberBasicFileVo = memberService.getMerMemberBasicFile(Long.valueOf(merBaseGetDto.getId()));
        return R.ok(merMemberBasicFileVo);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberBasicFileVo.java
New file
@@ -0,0 +1,46 @@
package com.ruoyi.member.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * @author jqs34
 * @version 1.0
 * @classname MerMeberInfoVo
 * @description: TODO
 * @date 2023 2023/5/4 22:48
 */
@Data
public class MerMemberBasicFileVo {
    @ApiModelProperty(value = "用户id")
    private Long userId;
    @ApiModelProperty(name = "用户名称")
    private String nickName;
    @ApiModelProperty(name = "手机号码")
    private String phonenumber;
    @ApiModelProperty(name = "性别0=男,1=女,2=未知")
    private Integer gender;
    @ApiModelProperty(name = "推荐人")
    private String referrer;
    @ApiModelProperty(name = "顾客来源")
    private String customerSource;
    @ApiModelProperty(name = "等级")
    private String level;
    @ApiModelProperty(name = "生日")
    private String birthday;
    @ApiModelProperty(name = "调理问题")
    private List<String> memberNurse;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberNurseServiceImpl.java
@@ -1,10 +1,15 @@
package com.ruoyi.member.service.impl.member;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.member.domain.pojo.member.MemberNurse;
import com.ruoyi.member.mapper.member.MemberNurseMapper;
import com.ruoyi.member.service.member.MemberNurseService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +22,16 @@
@Service
public class MemberNurseServiceImpl extends ServiceImpl<MemberNurseMapper, MemberNurse> implements MemberNurseService {
    /**
     *
     * @param userId
     * @return
     */
    @Override
    public List<MemberNurse> listByUserId(Long userId){
        LambdaQueryWrapper<MemberNurse> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.eq(MemberNurse::getDelFlag, 0).eq(MemberNurse::getUserId, userId);
        List<MemberNurse> memberNurseList = this.list(queryWrapper);
        return memberNurseList;
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -8,13 +8,16 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.dto.AppUserAuthorizeDto;
import com.ruoyi.member.domain.dto.MerCashMemberPageDto;
import com.ruoyi.member.domain.dto.MerMemberPageDto;
import com.ruoyi.member.domain.pojo.member.MemberNurse;
import com.ruoyi.member.domain.vo.*;
import com.ruoyi.member.mapper.member.MemberMapper;
import com.ruoyi.member.service.member.MemberNurseService;
import com.ruoyi.member.service.member.MemberService;
import com.ruoyi.member.util.HttpUtils;
import com.ruoyi.system.api.RemoteOrderService;
@@ -45,6 +48,7 @@
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
 * <p>
@@ -82,6 +86,9 @@
    @Resource
    private RemoteOrderService orderService;
    @Resource
    private MemberNurseService memberNurseService;
    /**
     * @description: TODO
@@ -375,4 +382,20 @@
        member.setRelationShopId(appMemberBindingDto.getShopId());
        this.saveOrUpdate(member);
    }
    /**
     *
     * @param userId
     * @return
     */
    @Override
    public MerMemberBasicFileVo getMerMemberBasicFile(Long userId){
        MerMemberBasicFileVo merMemberBasicFileVo = new MerMemberBasicFileVo();
        Member member = this.getByUserId(userId);
        BeanUtils.copyProperties(member, merMemberBasicFileVo);
        List<MemberNurse> memberNurseList = memberNurseService.listByUserId(userId);
        List<String> valueList = memberNurseList.stream().map(k->k.getNurse()).collect(Collectors.toList());
        merMemberBasicFileVo.setMemberNurse(valueList);
        return merMemberBasicFileVo;
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberNurseService.java
@@ -3,6 +3,8 @@
import com.ruoyi.member.domain.pojo.member.MemberNurse;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * <p>
 * 用户调理问题 服务类
@@ -13,4 +15,10 @@
 */
public interface MemberNurseService extends IService<MemberNurse> {
    /**
     *
     * @param userId
     * @return
     */
    List<MemberNurse> listByUserId(Long userId);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -88,4 +88,11 @@
     * @param appMemberBindingDto
     */
    void updateMemberBinding(AppMemberBindingDto appMemberBindingDto);
    /**
     *
     * @param userId
     * @return
     */
    MerMemberBasicFileVo getMerMemberBasicFile(Long userId);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerConsumerController.java
@@ -3,12 +3,11 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.order.domain.dto.MerConsumerGoodsDto;
import com.ruoyi.order.domain.dto.MerMemberNoClearOrderDto;
import com.ruoyi.order.domain.dto.MerSureConsumerGoodsDto;
import com.ruoyi.order.domain.vo.MerConsumerGoodsVo;
import com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo;
import com.ruoyi.order.domain.dto.*;
import com.ruoyi.order.domain.vo.*;
import com.ruoyi.order.service.order.ConsumerGoodsService;
import com.ruoyi.order.service.order.UserServiceRecordService;
import com.ruoyi.system.api.domain.poji.member.Member;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,6 +30,9 @@
    @Autowired
    private ConsumerGoodsService consumerGoodsService;
    @Autowired
    private UserServiceRecordService userServiceRecordService;
    @RequestMapping(value = "/listMerConsumerGoods", method = RequestMethod.POST)
    @ApiOperation(value = "获取用户服务列表")
    public R<MerConsumerGoodsVo> listMerConsumerGoods(@RequestBody MerConsumerGoodsDto merConsumerGoodsDto) {
@@ -39,6 +41,8 @@
        MerConsumerGoodsVo merConsumerGoodsVo = consumerGoodsService.listMerConsumerGoods(merConsumerGoodsDto);
        return R.ok(merConsumerGoodsVo);
    }
    @RequestMapping(value = "/sureMerConsumerGoods", method = RequestMethod.POST)
@@ -58,4 +62,27 @@
        consumerGoodsService.useMerConsumerGoods(merSureConsumerGoodsDto);
        return R.ok();
    }
    @RequestMapping(value = "/pageMerConsumerGoodsNum", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取用户服务次数列表")
    public R<Page<MerConsumerGoodsListVo>> pageMerConsumerGoodsNum(@RequestBody MerConsumerGoodsPageDto merConsumerGoodsPageDto) {
        Long userId = SecurityUtils.getUserId();
        merConsumerGoodsPageDto.setUserId(userId);
        Page<MerConsumerGoodsListVo> page = new Page<>();
        page.setSize(merConsumerGoodsPageDto.getPageSize());
        page.setCurrent(merConsumerGoodsPageDto.getPageNum());
        List<MerConsumerGoodsListVo> merConsumerGoodsListVos = consumerGoodsService.pageMerConsumerGoodsNum(page,merConsumerGoodsPageDto);
        return R.ok(page.setRecords(merConsumerGoodsListVos));
    }
    @RequestMapping(value = "/pageMerMemberServiceRecord", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取用户服务记录")
    public R<Page<MerServiceRecordPageVo>> pageMerMemberServiceRecord(@RequestBody MerServiceRecordPageDto merServiceRecordPageDto) {
        Long userId = SecurityUtils.getUserId();
        Page<MerServiceRecordPageVo> page = new Page<>();
        page.setSize(merServiceRecordPageDto.getPageSize());
        page.setCurrent(merServiceRecordPageDto.getPageNum());
        List<MerServiceRecordPageVo> merServiceRecordPageVoList = userServiceRecordService.pageMerMemberServiceRecord(page,merServiceRecordPageDto);
        return R.ok(page.setRecords(merServiceRecordPageVoList));
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
@@ -120,4 +120,16 @@
        List<MerOrderPageVo> merOrderPageVoList = orderService.pageMerOrder(page,merOrderPageDto);
        return R.ok(page.setRecords(merOrderPageVoList));
    }
    @RequestMapping(value = "/pageMerMemberOrder", method = RequestMethod.POST)
    @ApiOperation(value = "分页商户端用户收银记录")
    public R<Page<MerMemberNoClearOrderVo>> pageMerMemberOrder(@RequestBody MerMemberNoClearOrderDto merMemberNoClearOrderDto) {
        Long userId = SecurityUtils.getUserId();
        merMemberNoClearOrderDto.setUserId(userId);
        Page<MerMemberNoClearOrderVo> page = new Page<>();
        page.setSize(merMemberNoClearOrderDto.getPageSize());
        page.setCurrent(merMemberNoClearOrderDto.getPageNum());
        List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderService.pageMerMemberOrder(page,merMemberNoClearOrderDto);
        return R.ok(page.setRecords(merMemberNoClearOrderVoList));
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppGoodsController.java
@@ -76,7 +76,7 @@
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            appShoppingCartAddDto.setUserId(userId);
            if(member!=null&&member.getRelationShopId()!=null){
            if(appShoppingCartAddDto.getShopId()==null&&member!=null&&member.getRelationShopId()!=null){
                appShoppingCartAddDto.setShopId(member.getRelationShopId());
            }
        }
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerConsumerGoodsPageDto.java
New file
@@ -0,0 +1,23 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.MerBaseDto;
import com.ruoyi.system.api.domain.dto.MerPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName MerConsumerGoodsDto
 * @description: TODO
 * @date 2023年05月05日
 * @version: 1.0
 */
@Data
public class MerConsumerGoodsPageDto extends MerPageDto {
    @ApiModelProperty(name = "会员用户id")
    private Long memberUserId;
    @ApiModelProperty("商品类型1周期2服务3体验")
    private Integer goodsType;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerServiceRecordPageDto.java
New file
@@ -0,0 +1,21 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.AppPageDto;
import com.ruoyi.system.api.domain.dto.MerPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName AppConsumerPageDto
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Data
public class MerServiceRecordPageDto extends MerPageDto {
    @ApiModelProperty("会员用户id")
    private Long memberUserId;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderGetVo.java
@@ -71,4 +71,7 @@
    @ApiModelProperty("订单备注")
    private String orderRemark;
    @ApiModelProperty(value = "核销码")
    private String verifyCode;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderPageVo.java
@@ -50,4 +50,7 @@
    @ApiModelProperty(value = "是否绑定商户0否1是")
    private Integer sameShop;
    @ApiModelProperty(value = "核销码")
    private String verifyCode;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerServiceRecordPageVo.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.order.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName AppServiceRecordPageVo
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Data
public class MerServiceRecordPageVo {
    @ApiModelProperty("服务名称")
    private String consumerGoodsNames;
    @ApiModelProperty("服务类型1.周期2.服务3.体验")
    private Integer serviceType;
    @ApiModelProperty("创建时间")
    private Date createTime;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/ConsumerGoodsMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.dto.MerConsumerGoodsDto;
import com.ruoyi.order.domain.dto.MerConsumerGoodsPageDto;
import com.ruoyi.order.domain.pojo.order.ConsumerGoods;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.order.domain.vo.AppConsumerPageVo;
@@ -42,4 +43,12 @@
     * @return
     */
    List<MerConsumerGoodsListVo> listMerConsumerGoods(@Param("param") MerConsumerGoodsDto merConsumerGoodsDto);
    /**
     *
     * @param page
     * @param merConsumerGoodsPageDto
     * @return
     */
    List<MerConsumerGoodsListVo> pageMerConsumerGoodsNum(Page page,@Param("param") MerConsumerGoodsPageDto merConsumerGoodsPageDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -48,4 +48,12 @@
     */
    List<MerOrderPageVo> pageMerOrder(Page page,@Param("param") MerOrderPageDto merOrderPageDto);
    /**
     * 收银未结清订单列表
     * @param page
     * @param userId
     * @return
     */
    List<MerMemberNoClearOrderVo> pageMerMemberOrder(Page page,  @Param("userId") Long userId);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java
@@ -2,9 +2,11 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.dto.MerServiceRecordPageDto;
import com.ruoyi.order.domain.pojo.order.UserServiceRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.order.domain.vo.AppServiceRecordPageVo;
import com.ruoyi.order.domain.vo.MerServiceRecordPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -26,4 +28,12 @@
     * @return
     */
    List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, @Param("param") AppConsumerPageDto appConsumerPageDto);
    /**
     *
     * @param page
     * @param merServiceRecordPageDto
     * @return
     */
    List<MerServiceRecordPageVo> pageMerMemberServiceRecord(Page page,@Param("param") MerServiceRecordPageDto merServiceRecordPageDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
@@ -4,10 +4,7 @@
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.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.dto.MerConsumerGoodsDto;
import com.ruoyi.order.domain.dto.MerSureConsumerGoodsDto;
import com.ruoyi.order.domain.dto.MerSureConsumerGoodsListDto;
import com.ruoyi.order.domain.dto.*;
import com.ruoyi.order.domain.pojo.order.ConsumerGoods;
import com.ruoyi.order.domain.vo.AppConsumerPageVo;
import com.ruoyi.order.domain.vo.MerConsumerGoodsListVo;
@@ -113,4 +110,16 @@
            }
        }
    }
    /**
     *
     * @param page
     * @param merConsumerGoodsPageDto
     * @return
     */
    @Override
    public List<MerConsumerGoodsListVo> pageMerConsumerGoodsNum(Page page, MerConsumerGoodsPageDto merConsumerGoodsPageDto){
        List<MerConsumerGoodsListVo> merConsumerGoodsListVos = consumerGoodsMapper.pageMerConsumerGoodsNum(page, merConsumerGoodsPageDto);
        return merConsumerGoodsListVos;
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -315,7 +315,9 @@
            orderGoods.setOrderId(orderId);
            orderGoods.setGoodsId(goodsId);
            orderGoods.setBuyNum(buyNum);
            orderGoods.setCouponId(userCouponId.toString());
            if(userCouponId!=null){
                orderGoods.setCouponId(userCouponId.toString());
            }
            orderGoods.setGoodsPrice(goodsPrice);
            orderGoods.setGoodsTotalMoney(orderGoodsMoney);
            orderGoods.setGoodsReceivableMoney(goodsRealPrice);
@@ -327,7 +329,8 @@
        Order order = new Order();
        order.setOrderId(orderId);
        order.setDelFlag(0);
        order.setOrderStatus(1);
        //为对接支付 直接付款成功
        order.setOrderStatus(2);
        order.setOrderNo(orderNo);
        order.setOrderFrom(1);
        order.setShopId(appPlaceOrderDto.getShopId());
@@ -391,6 +394,7 @@
                }else{
                    appUserOrderPageVo.setSameShop(0);
                }
                appUserOrderPageVo.setVerifyCode("1-"+appUserOrderPageVo.getOrderId());
            }
        }
        return appUserOrderPageVoList;
@@ -422,6 +426,7 @@
        Shop shop = remoteShopService.getShop(order.getShopId()).getData();
        appUserOrderGetVo.setShopName(shop.getShopName());
        appUserOrderGetVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList);
        appUserOrderGetVo.setVerifyCode("1-"+orderId);
        return appUserOrderGetVo;
    }
@@ -775,4 +780,21 @@
        List<MerOrderPageVo> merOrderPageVoList = orderMapper.pageMerOrder(page, merOrderPageDto);
        return merOrderPageVoList;
    }
    /**
     *
     * @param page
     * @param merMemberNoClearOrderDto
     * @return
     */
    @Override
    public List<MerMemberNoClearOrderVo> pageMerMemberOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto){
        List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberOrder(page,merMemberNoClearOrderDto.getMemberUserId());
        if(merMemberNoClearOrderVoList!=null&&!merMemberNoClearOrderVoList.isEmpty()){
            for(MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList){
                merMemberNoClearOrderVo.setUnPaidMoney(merMemberNoClearOrderVo.getReceivableMoney().subtract(merMemberNoClearOrderVo.getPayMoney()));
            }
        }
        return merMemberNoClearOrderVoList;
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ShoppingCartServiceImpl.java
@@ -55,6 +55,7 @@
            shoppingCart = new ShoppingCart();
            shoppingCart.setUserId(appShoppingCartAddDto.getUserId());
            shoppingCart.setShopId(appShoppingCartAddDto.getShopId());
            shoppingCart.setGoodsId(appShoppingCartAddDto.getGoodsId());
            shoppingCart.setBuyNum(appShoppingCartAddDto.getBuyNum());
            shoppingCart.setDelFlag(0);
            shoppingCart.setCreateTime(new Date());
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/UserServiceRecordServiceImpl.java
@@ -4,8 +4,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.dto.MerServiceRecordPageDto;
import com.ruoyi.order.domain.pojo.order.UserServiceRecord;
import com.ruoyi.order.domain.vo.AppServiceRecordPageVo;
import com.ruoyi.order.domain.vo.MerServiceRecordPageVo;
import com.ruoyi.order.mapper.order.UserServiceRecordMapper;
import com.ruoyi.order.service.order.UserServiceRecordService;
import org.springframework.stereotype.Service;
@@ -37,4 +39,15 @@
    public List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, AppConsumerPageDto appConsumerPageDto){
        return userServiceRecordMapper.pageUserServiceRecord(page, appConsumerPageDto);
    }
    /**
     *
     * @param page
     * @param merServiceRecordPageDto
     * @return
     */
    @Override
    public List<MerServiceRecordPageVo> pageMerMemberServiceRecord(Page page, MerServiceRecordPageDto merServiceRecordPageDto){
        return userServiceRecordMapper.pageMerMemberServiceRecord(page, merServiceRecordPageDto);
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ConsumerGoodsService.java
@@ -3,10 +3,12 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.dto.MerConsumerGoodsDto;
import com.ruoyi.order.domain.dto.MerConsumerGoodsPageDto;
import com.ruoyi.order.domain.dto.MerSureConsumerGoodsDto;
import com.ruoyi.order.domain.pojo.order.ConsumerGoods;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.order.domain.vo.AppConsumerPageVo;
import com.ruoyi.order.domain.vo.MerConsumerGoodsListVo;
import com.ruoyi.order.domain.vo.MerConsumerGoodsVo;
import java.util.List;
@@ -47,4 +49,12 @@
     * @param merSureConsumerGoodsDto
     */
    void useMerConsumerGoods(MerSureConsumerGoodsDto merSureConsumerGoodsDto);
    /**
     *
     * @param page
     * @param merConsumerGoodsPageDto
     * @return
     */
    List<MerConsumerGoodsListVo> pageMerConsumerGoodsNum(Page page, MerConsumerGoodsPageDto merConsumerGoodsPageDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -115,4 +115,12 @@
     */
    List<MerOrderPageVo> pageMerOrder(Page page,MerOrderPageDto merOrderPageDto);
    /**
     *
     * @param page
     * @param merMemberNoClearOrderDto
     * @return
     */
    List<MerMemberNoClearOrderVo> pageMerMemberOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/UserServiceRecordService.java
@@ -2,9 +2,11 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.dto.MerServiceRecordPageDto;
import com.ruoyi.order.domain.pojo.order.UserServiceRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.order.domain.vo.AppServiceRecordPageVo;
import com.ruoyi.order.domain.vo.MerServiceRecordPageVo;
import java.util.List;
@@ -25,4 +27,12 @@
     * @return
     */
    List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, AppConsumerPageDto appConsumerPageDto);
    /**
     *
     * @param page
     * @param merServiceRecordPageDto
     * @return
     */
    List<MerServiceRecordPageVo> pageMerMemberServiceRecord(Page page, MerServiceRecordPageDto merServiceRecordPageDto);
}
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml
@@ -139,7 +139,7 @@
        ORDER BY tcg.cycle_num_flag ASC, tcg.create_time DESC
    </select>
    <select id="pageUserConsumerGoods" resultType="com.ruoyi.order.domain.vo.MerConsumerGoodsListVo">
    <select id="listMerNoSureConsumerGoods" resultType="com.ruoyi.order.domain.vo.MerConsumerGoodsListVo">
        SELECT
        tcg.consumer_goods_id consumerGoodsId,
        tcg.service_status serviceStatus,
@@ -154,7 +154,7 @@
        FROM t_consumer_goods tcg
        INNER JOIN t_goods tg ON tcg.goods_id = tg.goods_id
        INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
        WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.userId} AND tcg.shop_id = #{param.shopId}
        WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.userId} AND tcg.shop_id = #{param.shopId} AND tcg.service_status = 1
        AND tcg.goods_type = 1 AND tcg.cycle_num_flag = 0
        ORDER BY tcg.create_time DESC
    </select>
@@ -174,6 +174,26 @@
        FROM t_consumer_goods tcg
        INNER JOIN t_goods tg ON tcg.goods_id = tg.goods_id
        INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
        WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.userId} AND tcg.shop_id = #{param.shopId} AND tcg.service_status = 1
        AND tcg.goods_type = #{param.goodsType} AND tcg.cycle_num_flag = 1
        ORDER BY tcg.create_time DESC
    </select>
    <select id="pageMerConsumerGoodsNum" resultType="com.ruoyi.order.domain.vo.MerConsumerGoodsListVo">
        SELECT
        tcg.consumer_goods_id consumerGoodsId,
        tcg.service_status serviceStatus,
        tcg.shop_id shopId,
        tcg.goods_type goodsType,
        tg.goods_name goodsName,
        tgf.file_url goodsPicture,
        tg.goods_nurses goodsNurses,
        tcg.cycle_num_flag cycleNumFlag,
        tcg.service_num serviceNum,
        tcg.used_num usedNum
        FROM t_consumer_goods tcg
        INNER JOIN t_goods tg ON tcg.goods_id = tg.goods_id
        INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
        WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.userId} AND tcg.shop_id = #{param.shopId}
        AND tcg.goods_type = #{param.goodsType} AND tcg.cycle_num_flag = 1
        ORDER BY tcg.create_time DESC
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -34,13 +34,18 @@
        <result column="receivableMoney" property="receivableMoney"/>
        <result column="goodsNum" property="goodsNum"/>
        <result column="shopId" property="shopId" />
        <result column="orderFrom" property="orderFrom" />
        <collection property="appUserOrderGoodsPageVoList" ofType="com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo">
            <result column="orderGoodsId" property="orderGoodsId"/>
            <result column="goodsId" property="goodsId"/>
            <result column="goodsName" property="goodsName"/>
            <result column="goodsPicture" property="goodsPicture"/>
            <result column="goodsType" property="goodsType"/>
            <result column="buyNum" property="buyNum"/>
            <result column="goodsPrice" property="goodsPrice"/>
            <result column="goodsRealPrice" property="goodsRealPrice" />
            <result column="cycleNumFlag" property="cycleNumFlag" />
            <result column="serviceNum" property="serviceNum" />
        </collection>
    </resultMap>
@@ -198,10 +203,14 @@
        toc.shop_id shopId,
        tog.goods_id goodsId,
        tg.goods_name goodsName,
        tgf.file_url goodsPicture,
        tog.order_goods_id orderGoodsId,
        tog.goods_type goodsType,
        tog.buy_num buyNum,
        tog.goods_price goodsPrice,
        tog.goods_total_money goodsRealPrice
        tog.goods_total_money goodsRealPrice,
        tog.cycle_num_flag cycleNumFlag,
        tog.service_num serviceNum
        FROM t_order toc
        INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id
        INNER JOIN t_goods tg ON tg.goods_id = tog.goods_id
@@ -216,7 +225,7 @@
        ORDER BY toc.create_time DESC
    </select>
    <select id="pageUserOrder" resultType="com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo">
    <select id="pageMerMemberNoClearOrder" resultType="com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo">
        SELECT
        toc.order_id orderId,
        toc.order_no orderNo,
@@ -263,4 +272,18 @@
        </if>
        ORDER BY toc.create_time DESC
    </select>
    <select id="pageMerMemberOrder" resultType="com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo">
        SELECT
        toc.order_id orderId,
        toc.order_no orderNo,
        toc.order_money orderGoodsMoney,
        toc.coupon_money couponDiscount,
        toc.receivable_money receivableMoney,
        toc.receivable_deposit receivableDeposit,
        toc.pay_money payMoney
        FROM t_order toc
        WHERE toc.del_flag = 0 AND toc.user_id = #{userId} AND (toc.orderStatus = 2 OR toc.orderStatus = 3)
        ORDER BY toc.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ShoppingCartMapper.xml
@@ -81,6 +81,7 @@
    <select id="listShoppingCartVo" resultType="com.ruoyi.order.domain.vo.AppShoppingCartVo">
        SELECT
        tsc.id shoppingCartId,
        tg.goods_id goodsId,
        tg.goods_name goodsName,
        tg.goods_introduction goodsIntroduction,
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml
@@ -87,4 +87,14 @@
        </if>
        ORDER BY tusr.create_time DESC
    </select>
    <select id="pageUserServiceRecord" resultType="com.ruoyi.order.domain.vo.MerServiceRecordPageVo">
        SELECT
        tcg.consumer_goods_names consumerGoodsNames,
        tcg.service_type serviceType,
        tcg.create_time createTime
        FROM t_user_service_record tusr
        WHERE tusr.del_flag = 0 AND tusr.user_id = #{param.memberUserId} AND tusr.shop_id = #{param.shopId}
        ORDER BY tusr.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java
@@ -1,7 +1,12 @@
package com.ruoyi.shop.controller.business;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.shop.domain.dto.MerAgencyPageDto;
import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto;
import com.ruoyi.shop.domain.vo.MerAgencyPageVo;
import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo;
import com.ruoyi.shop.domain.vo.MgtShopInfoVo;
import com.ruoyi.shop.service.shop.ShopService;
import com.ruoyi.system.api.domain.dto.MerBaseDto;
@@ -14,6 +19,8 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @author jqs34
@@ -44,6 +51,16 @@
        return R.ok(merHomeShopTotalVo);
    }
    @RequestMapping(value = "/pageMerAgency", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取商户加盟商列表")
    public R<Page<MerAgencyPageVo>> pageMerAgency(@RequestBody MerAgencyPageDto merAgencyPageDto) {
        Long userId = SecurityUtils.getUserId();
        merAgencyPageDto.setUserId(userId);
        Page<MerAgencyPageVo> page = new Page<>();
        page.setSize(merAgencyPageDto.getPageSize());
        page.setCurrent(merAgencyPageDto.getPageNum());
        List<MerAgencyPageVo> merAgencyPageVoList = shopService.pageMerAgencyVo(page,merAgencyPageDto);
        return R.ok(page.setRecords(merAgencyPageVoList));
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerTaskController.java
@@ -3,11 +3,13 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.shop.domain.dto.MerCreateMemberTaskDto;
import com.ruoyi.shop.domain.dto.MerFollowMemberTaskDto;
import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto;
import com.ruoyi.shop.domain.dto.*;
import com.ruoyi.shop.domain.vo.MerAgencyTaskPageVo;
import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo;
import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo;
import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo;
import com.ruoyi.shop.service.task.AgencyTaskRecordService;
import com.ruoyi.shop.service.task.AgencyTaskService;
import com.ruoyi.shop.service.task.MemberTaskRecordService;
import com.ruoyi.shop.service.task.MemberTaskService;
import com.ruoyi.system.api.domain.poji.member.Member;
@@ -38,6 +40,12 @@
    @Autowired
    private MemberTaskRecordService memberTaskRecordService;
    @Autowired
    private AgencyTaskService agencyTaskService;
    @Autowired
    private AgencyTaskRecordService agencyTaskRecordService;
    @RequestMapping(value = "/pageMerMemberTask", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取商户会员跟进任务列表")
@@ -73,11 +81,55 @@
    }
    @RequestMapping(value = "/followMemberTask", method = RequestMethod.POST)
    @ApiOperation(value = "任务跟进")
    @ApiOperation(value = "会员任务跟进")
    public R followMemberTask(@RequestBody MerFollowMemberTaskDto merFollowMemberTaskDto) {
        Long userId = SecurityUtils.getUserId();
        merFollowMemberTaskDto.setUserId(userId);
        memberTaskService.followMemberTask(merFollowMemberTaskDto);
        return R.ok();
    }
    @RequestMapping(value = "/pageMerAgencyTask", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取商户代理商跟进任务列表")
    public R<Page<MerAgencyTaskPageVo>> pageMerAgencyTask(@RequestBody MerAgencyTaskPageDto merAgencyTaskPageDto) {
        Long userId = SecurityUtils.getUserId();
        merAgencyTaskPageDto.setUserId(userId);
        Page<MerAgencyTaskPageVo> page = new Page<>();
        page.setSize(merAgencyTaskPageDto.getPageSize());
        page.setCurrent(merAgencyTaskPageDto.getPageNum());
        List<MerAgencyTaskPageVo> merAgencyTaskPageVoList = agencyTaskService.pageMerAgencyTask(page,merAgencyTaskPageDto);
        return R.ok(page.setRecords(merAgencyTaskPageVoList));
    }
    @RequestMapping(value = "/pageMerAgencyTaskRecord", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取商户会员跟进任务记录列表")
    public R<Page<MerAgencyTaskRecordPageVo>> pageMerAgencyTaskRecord(@RequestBody MerAgencyTaskPageDto merAgencyTaskPageDto) {
        Long userId = SecurityUtils.getUserId();
        merAgencyTaskPageDto.setUserId(userId);
        Page<MerAgencyTaskRecordPageVo> page = new Page<>();
        page.setSize(merAgencyTaskPageDto.getPageSize());
        page.setCurrent(merAgencyTaskPageDto.getPageNum());
        List<MerAgencyTaskRecordPageVo> merAgencyTaskRecordPageVoList = agencyTaskRecordService.pageMerAgencyTaskRecord(page,merAgencyTaskPageDto);
        return R.ok(page.setRecords(merAgencyTaskRecordPageVoList));
    }
    @RequestMapping(value = "/createAgencyTask", method = RequestMethod.POST)
    @ApiOperation(value = "新建会员跟进任务")
    public R createAgencyTask(@RequestBody MerCreateAgencyTaskDto merCreateAgencyTaskDto) {
        Long userId = SecurityUtils.getUserId();
        merCreateAgencyTaskDto.setUserId(userId);
        agencyTaskService.createAgencyTask(merCreateAgencyTaskDto);
        return R.ok();
    }
    @RequestMapping(value = "/followAgencyTask", method = RequestMethod.POST)
    @ApiOperation(value = "会员任务跟进")
    public R followAgencyTask(@RequestBody MerFollowAgencyTaskDto merFollowAgencyTaskDto) {
        Long userId = SecurityUtils.getUserId();
        merFollowAgencyTaskDto.setUserId(userId);
        agencyTaskService.followAgencyTask(merFollowAgencyTaskDto);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerAgencyPageDto.java
New file
@@ -0,0 +1,24 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MerPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName merAgencyPageDto
 * @description: TODO
 * @date 2023年05月07日
 * @version: 1.0
 */
@Data
public class MerAgencyPageDto extends MerPageDto {
    @ApiModelProperty("商户id")
    private Long shopId;
    @ApiModelProperty(name = "搜索关键词")
    private String keyword ;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerAgencyTaskPageDto.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MerPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MerAgencyTaskPageDto
 * @description: TODO
 * @date 2023年05月06日
 * @version: 1.0
 */
@Data
public class MerAgencyTaskPageDto extends MerPageDto {
    @ApiModelProperty(name = "代理商id")
    private Long agencyId;
    @ApiModelProperty(name = "任务状态0未开始1待处理2已处理3已过期")
    private Integer taskStatus;
    @ApiModelProperty(name = "现在日期",hidden = true)
    private String nowDay;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerCreateAgencyTaskDto.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MerBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName merCreateMemberTaskDto
 * @description: TODO
 * @date 2023年05月06日
 * @version: 1.0
 */
@Data
public class MerCreateAgencyTaskDto extends MerBaseDto {
    @ApiModelProperty(name = "跟进代理商id")
    private Long agencyId;
    @ApiModelProperty(name = "任务时间")
    private String taskDate;
    @ApiModelProperty(name = "任务内容")
    private String taskContent;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerCreateMemberTaskDto.java
@@ -20,7 +20,7 @@
    private Long memberUserId;
    @ApiModelProperty(name = "任务时间")
    private Date taskDate;
    private String taskDate;
    @ApiModelProperty(name = "任务内容")
    private String taskContent;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerFollowAgencyTaskDto.java
New file
@@ -0,0 +1,50 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MerBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MerFollowAgencyTaskDto
 * @description: TODO
 * @date 2023年05月06日
 * @version: 1.0
 */
@Data
public class MerFollowAgencyTaskDto extends MerBaseDto {
    @ApiModelProperty(name = "任务id")
    private String taskId;
    @ApiModelProperty("跟踪类型1电话2手动")
    private Integer followType;
    @ApiModelProperty("拨打电话")
    private String callPhone;
    @ApiModelProperty("电话时间")
    private Date callTime;
    @ApiModelProperty("跟踪内容")
    private String followContent;
    @ApiModelProperty("跟进图片地址 多个,号隔开")
    private String picture;
    @ApiModelProperty("跟进视频地址 多个,号隔开")
    private String video;
    @ApiModelProperty("跟进音频地址 多个,号隔开")
    private String audio;
    @ApiModelProperty("下次任务时间")
    private String nextTaskDate;
    @ApiModelProperty("下次任务内容")
    private String nextTaskContent;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MerFollowMemberTaskDto.java
@@ -41,7 +41,7 @@
    private String audio;
    @ApiModelProperty("下次任务时间")
    private Date nextTaskDate;
    private String nextTaskDate;
    @ApiModelProperty("下次任务内容")
    private String nextTaskContent;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/AgencyTask.java
New file
@@ -0,0 +1,79 @@
package com.ruoyi.shop.domain.pojo.task;
import java.util.Date;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * <p>
 * 会员跟进任务
 * </p>
 *
 * @author jqs
 * @since 2023-05-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_agency_task")
public class AgencyTask extends Model<AgencyTask> {
    private static final long serialVersionUID = 1L;
    /**
     * 任务id
     */
    @TableId("task_id")
    private String taskId;
    /**
     * 删除标记
     */
    @TableField("del_flag")
    private Integer delFlag;
    /**
     * 商户id
     */
    @TableField("shop_id")
    private Long shopId;
    /**
     * 用户id
     */
    @TableField("agency_id")
    private Long agencyId;
    /**
     * 任务时间
     */
    @TableField("task_date")
    private String taskDate;
    /**
     * 任务内容
     */
    @TableField("task_content")
    private String taskContent;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 任务状态0未开始1待处理2已处理3已过期
     */
    @TableField("task_status")
    private Integer taskStatus;
    @Override
    protected Serializable pkVal() {
        return this.taskId;
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/AgencyTaskRecord.java
New file
@@ -0,0 +1,79 @@
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.TableName;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotations.Version;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * <p>
 * 会员跟进任务记录
 * </p>
 *
 * @author jqs
 * @since 2023-05-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_agency_task_record")
public class AgencyTaskRecord extends Model<AgencyTaskRecord> {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 删除标记
     */
    @TableField("del_flag")
    private Integer delFlag;
    /**
     * 任务id
     */
    @TableField("task_id")
    private String taskId;
    /**
     * 用户id
     */
    @TableField("user_id")
    private Long userId;
    /**
     * 跟踪类型1电话2手动
     */
    @TableField("follow_type")
    private Integer followType;
    /**
     * 电话时间
     */
    @TableField("call_time")
    private Date callTime;
    /**
     * 跟踪内容
     */
    @TableField("follow_content")
    private String followContent;
    /**
     * 拨打电话
     */
    @TableField("call_phone")
    private String callPhone;
    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/MemberTask.java
@@ -36,12 +36,16 @@
    @TableField("user_id")
    private Long userId;
    @TableField("task_date")
    private Date taskDate;
    private String taskDate;
    @TableField("task_content")
    private String taskContent;
    @TableField("create_time")
    private Date createTime;
    /**
     * 任务状态0未开始1待处理2已处理3已过期
     */
    @TableField("task_status")
    private Integer taskStatus;
    @Override
    protected Serializable pkVal() {
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerAgencyPageVo.java
New file
@@ -0,0 +1,41 @@
package com.ruoyi.shop.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MerAgencyPageVo
 * @description: TODO
 * @date 2023年05月07日
 * @version: 1.0
 */
@Data
public class MerAgencyPageVo {
    @ApiModelProperty(value = "商户id")
    private Long shopId;
    @ApiModelProperty("商户状态0冻结1正常2终止合作")
    private Integer shopStatus;
    @ApiModelProperty(value = "商户名称")
    private String shopName;
    @ApiModelProperty(value = "商户地址")
    private String shopAddress;
    @ApiModelProperty("店主姓名")
    private String shopownerName;
    @ApiModelProperty("店主联系方式")
    private String shopownerPhone;
    @ApiModelProperty("合作期限")
    private Date cooperationEndTime;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerAgencyTaskPageVo.java
New file
@@ -0,0 +1,30 @@
package com.ruoyi.shop.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MerMemberTaskPageVo
 * @description: TODO
 * @date 2023年05月06日
 * @version: 1.0
 */
@Data
public class MerAgencyTaskPageVo {
    @ApiModelProperty(name = "任务id")
    private String taskId;
    @ApiModelProperty(name = "任务时间")
    private String taskDate;
    @ApiModelProperty("任务内容")
    private String taskContent;
    @ApiModelProperty("任务内容")
    private Integer todayFlag;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerAgencyTaskRecordPageVo.java
New file
@@ -0,0 +1,51 @@
package com.ruoyi.shop.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
 * @author jqs34
 * @ClassName MerMemberTaskRecordPageVo
 * @description: TODO
 * @date 2023年05月06日
 * @version: 1.0
 */
@Data
public class MerAgencyTaskRecordPageVo {
    @ApiModelProperty(name = "跟进id")
    private Long followId;
    @ApiModelProperty(name = "任务id")
    private String taskId;
    @ApiModelProperty(name = "任务时间")
    private String taskDate;
    @ApiModelProperty("跟踪类型1电话2手动")
    private Integer followType;
    @ApiModelProperty("电话时间")
    private Date callTime;
    @ApiModelProperty("跟踪内容")
    private String followContent;
    @ApiModelProperty("联系人")
    private String callName;
    @ApiModelProperty("拨打电话")
    private String callPhone;
    @ApiModelProperty("跟进图片地址")
    private List<String> picture;
    @ApiModelProperty("跟进视频地址")
    private List<String> video;
    @ApiModelProperty("跟进音频地址")
    private List<String> audio;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerMemberTaskPageVo.java
@@ -21,7 +21,7 @@
    private String taskId;
    @ApiModelProperty(name = "任务时间")
    private Date taskDate;
    private String taskDate;
    @ApiModelProperty("任务内容")
    private String taskContent;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerMemberTaskRecordPageVo.java
@@ -4,6 +4,7 @@
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
 * @author jqs34
@@ -22,7 +23,7 @@
    private String taskId;
    @ApiModelProperty(name = "任务时间")
    private Date taskDate;
    private String taskDate;
    @ApiModelProperty("跟踪类型1电话2手动")
    private Integer followType;
@@ -36,12 +37,12 @@
    @ApiModelProperty("拨打电话")
    private String callPhone;
    @ApiModelProperty("跟进图片地址 多个,号隔开")
    private String picture;
    @ApiModelProperty("跟进图片地址")
    private List<String> picture;
    @ApiModelProperty("跟进视频地址 多个,号隔开")
    private String video;
    @ApiModelProperty("跟进视频地址")
    private List<String> video;
    @ApiModelProperty("跟进音频地址 多个,号隔开")
    private String audio;
    @ApiModelProperty("跟进音频地址")
    private List<String> audio;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
@@ -1,10 +1,13 @@
package com.ruoyi.shop.mapper.shop;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.dto.MerAgencyPageDto;
import com.ruoyi.shop.domain.vo.MerAgencyPageVo;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.shop.domain.dto.MgtShopPageDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.shop.domain.vo.MgtShopPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -23,6 +26,14 @@
     * @param mgtShopPageDto
     * @return
     */
    List<MgtShopPageVo> pageShop(Page page, MgtShopPageDto mgtShopPageDto);
    List<MgtShopPageVo> pageShop(Page page, @Param("param") MgtShopPageDto mgtShopPageDto);
    /**
     *
     * @param page
     * @param merAgencyPageDto
     * @return
     */
    List<MerAgencyPageVo> pageMerAgencyVo (Page page,  @Param("param")MerAgencyPageDto merAgencyPageDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskMapper.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.shop.mapper.task;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.dto.MerAgencyTaskPageDto;
import com.ruoyi.shop.domain.pojo.task.AgencyTask;
import com.ruoyi.shop.domain.vo.MerAgencyTaskPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 会员跟进任务 Mapper 接口
 * </p>
 *
 * @author jqs
 * @since 2023-05-07
 */
public interface AgencyTaskMapper extends BaseMapper<AgencyTask> {
    /**
     *
     * @param page
     * @param merAgencyTaskPageDto
     * @return
     */
    List<MerAgencyTaskPageVo> pageMerAgencyTask(Page page, @Param("param") MerAgencyTaskPageDto merAgencyTaskPageDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskRecordMapper.java
New file
@@ -0,0 +1,29 @@
package com.ruoyi.shop.mapper.task;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.dto.MerAgencyTaskPageDto;
import com.ruoyi.shop.domain.pojo.task.AgencyTaskRecord;
import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 会员跟进任务记录 Mapper 接口
 * </p>
 *
 * @author jqs
 * @since 2023-05-07
 */
public interface AgencyTaskRecordMapper extends BaseMapper<AgencyTaskRecord> {
    /**
     *
     * @param page
     * @param merAgencyTaskPageDto
     * @return
     */
    List<MerAgencyTaskRecordPageVo> pageMerAgencyTaskRecord (Page page, @Param("param") MerAgencyTaskPageDto merAgencyTaskPageDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java
@@ -1,9 +1,9 @@
package com.ruoyi.shop.mapper.task;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto;
import com.ruoyi.shop.domain.pojo.task.MemberTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.PostMapping;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -6,7 +6,7 @@
import com.ruoyi.shop.domain.dto.*;
import com.ruoyi.shop.domain.pojo.shop.*;
import com.ruoyi.shop.domain.pojo.task.ShopFile;
import com.ruoyi.shop.domain.vo.AppNearbyShopVo;
import com.ruoyi.shop.domain.vo.*;
import com.ruoyi.shop.mapper.shop.ShopMapper;
import com.ruoyi.shop.service.shop.*;
import com.ruoyi.shop.service.task.ShopFileService;
@@ -20,9 +20,6 @@
import com.ruoyi.system.api.domain.poji.config.SysTag;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.shop.domain.vo.AppShopInfoVo;
import com.ruoyi.shop.domain.vo.MgtShopInfoVo;
import com.ruoyi.shop.domain.vo.MgtShopPageVo;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import org.apache.commons.lang3.StringUtils;
@@ -385,4 +382,16 @@
        merHomeShopTotalVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData();
        return merHomeShopTotalVo;
    }
    /**
     *
     * @param page
     * @param merAgencyPageDto
     * @return
     */
    @Override
    public List<MerAgencyPageVo> pageMerAgencyVo(Page page, MerAgencyPageDto merAgencyPageDto){
        List<MerAgencyPageVo> merAgencyPageVoList = shopMapper.pageMerAgencyVo(page, merAgencyPageDto);
        return merAgencyPageVoList;
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java
New file
@@ -0,0 +1,76 @@
package com.ruoyi.shop.service.impl.task;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.shop.domain.dto.MerAgencyTaskPageDto;
import com.ruoyi.shop.domain.pojo.task.AgencyTaskRecord;
import com.ruoyi.shop.domain.pojo.task.TaskFile;
import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo;
import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo;
import com.ruoyi.shop.mapper.task.AgencyTaskRecordMapper;
import com.ruoyi.shop.service.task.AgencyTaskRecordService;
import com.ruoyi.shop.service.task.TaskFileService;
import com.ruoyi.shop.util.FileConvertUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.StringJoiner;
import java.util.stream.Collectors;
/**
 * <p>
 * 会员跟进任务记录 服务实现类
 * </p>
 *
 * @author jqs
 * @since 2023-05-07
 */
@Service
public class AgencyTaskRecordServiceImpl extends ServiceImpl<AgencyTaskRecordMapper, AgencyTaskRecord> implements AgencyTaskRecordService {
    @Resource
    private AgencyTaskRecordMapper agencyTaskRecordMapper;
    @Resource
    private TaskFileService taskFileService;
    /**
     *
     * @param page
     * @param merAgencyTaskPageDto
     * @return
     */
    @Override
    public List<MerAgencyTaskRecordPageVo> pageMerAgencyTaskRecord (Page page, MerAgencyTaskPageDto merAgencyTaskPageDto){
        List<MerAgencyTaskRecordPageVo> merAgencyTaskRecordPageVoList = agencyTaskRecordMapper.pageMerAgencyTaskRecord(page, merAgencyTaskPageDto);
        if(merAgencyTaskRecordPageVoList!=null&&!merAgencyTaskRecordPageVoList.isEmpty()){
            Long followId;
            List<TaskFile> taskFileList;
            List<String> picture = new ArrayList<>();
            List<String> video = new ArrayList<>();
            List<String> audio = new ArrayList<>();
            for(MerAgencyTaskRecordPageVo merAgencyTaskRecordPageVo : merAgencyTaskRecordPageVoList){
                followId = merAgencyTaskRecordPageVo.getFollowId();
                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,1);
                if(taskFileList!=null&&!taskFileList.isEmpty()){
                    picture = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
                }
                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,2);
                if(taskFileList!=null&&!taskFileList.isEmpty()){
                    video = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
                }
                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,3);
                if(taskFileList!=null&&!taskFileList.isEmpty()){
                    audio = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
                }
                merAgencyTaskRecordPageVo.setPicture(picture);
                merAgencyTaskRecordPageVo.setVideo(video);
                merAgencyTaskRecordPageVo.setAudio(audio);
            }
        }
        return merAgencyTaskRecordPageVoList;
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskServiceImpl.java
New file
@@ -0,0 +1,140 @@
package com.ruoyi.shop.service.impl.task;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.shop.domain.dto.MerAgencyTaskPageDto;
import com.ruoyi.shop.domain.dto.MerCreateAgencyTaskDto;
import com.ruoyi.shop.domain.dto.MerFollowAgencyTaskDto;
import com.ruoyi.shop.domain.pojo.task.*;
import com.ruoyi.shop.domain.vo.MerAgencyTaskPageVo;
import com.ruoyi.shop.mapper.task.AgencyTaskMapper;
import com.ruoyi.shop.service.task.AgencyTaskRecordService;
import com.ruoyi.shop.service.task.AgencyTaskService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
 * <p>
 * 会员跟进任务 服务实现类
 * </p>
 *
 * @author jqs
 * @since 2023-05-07
 */
@Service
public class AgencyTaskServiceImpl extends ServiceImpl<AgencyTaskMapper, AgencyTask> implements AgencyTaskService {
    @Resource
    private AgencyTaskMapper agencyTaskMapper;
    @Resource
    private AgencyTaskRecordService agencyTaskRecordService;
    /**
     *
     * @param page
     * @param merAgencyTaskPageDto
     * @return
     */
    @Override
    public List<MerAgencyTaskPageVo> pageMerAgencyTask(Page page, MerAgencyTaskPageDto merAgencyTaskPageDto){
        merAgencyTaskPageDto.setNowDay(DateUtils.parseDateToStr("YYYY-MM-DD",new Date()));
        List<MerAgencyTaskPageVo> merAgencyTaskPageVoList = agencyTaskMapper.pageMerAgencyTask(page, merAgencyTaskPageDto);
        return merAgencyTaskPageVoList;
    }
    /**
     *
     * @param merCreateAgencyTaskDto
     */
    @Override
    public void createAgencyTask(MerCreateAgencyTaskDto merCreateAgencyTaskDto){
        AgencyTask agencyTask = new AgencyTask();
        String taskId = IdUtils.fastUUID();
        agencyTask.setTaskId(taskId);
        agencyTask.setDelFlag(0);
        agencyTask.setTaskStatus(0);
        agencyTask.setShopId(merCreateAgencyTaskDto.getShopId());
        agencyTask.setAgencyId(merCreateAgencyTaskDto.getAgencyId());
        agencyTask.setTaskDate(merCreateAgencyTaskDto.getTaskDate());
        agencyTask.setTaskContent(merCreateAgencyTaskDto.getTaskContent());
        agencyTask.setCreateTime(new Date());
        this.saveOrUpdate(agencyTask);
    }
    /**
     *
     * @param merFollowAgencyTaskDto
     */
    @Override
    public void followAgencyTask(MerFollowAgencyTaskDto merFollowAgencyTaskDto){
        AgencyTaskRecord agencyTaskRecord = new AgencyTaskRecord();
        AgencyTask oldAgencyTask = this.getById(merFollowAgencyTaskDto.getTaskId());
        agencyTaskRecord.setTaskId(merFollowAgencyTaskDto.getTaskId());
        agencyTaskRecord.setDelFlag(0);
        agencyTaskRecord.setUserId(merFollowAgencyTaskDto.getUserId());
        agencyTaskRecord.setFollowType(merFollowAgencyTaskDto.getFollowType());
        agencyTaskRecord.setCallPhone(merFollowAgencyTaskDto.getCallPhone());
        agencyTaskRecord.setCallTime(merFollowAgencyTaskDto.getCallTime());
        agencyTaskRecordService.saveOrUpdate(agencyTaskRecord);
        String picture = merFollowAgencyTaskDto.getPicture();
        String video = merFollowAgencyTaskDto.getVideo();
        String audio = merFollowAgencyTaskDto.getAudio();
        String[] strArr;
        TaskFile taskFile;
        if(StringUtils.isNotBlank(picture)){
            strArr = picture.split(",");
            for(String str : strArr){
                taskFile = new TaskFile();
                taskFile.setDelFlag(0);
                taskFile.setFollowId(agencyTaskRecord.getId());
                taskFile.setFollowFrom(2);
                taskFile.setFileUrl(str);
                taskFile.setFileType(1);
            }
        }
        if(StringUtils.isNotBlank(video)){
            strArr = picture.split(",");
            for(String str : strArr){
                taskFile = new TaskFile();
                taskFile.setDelFlag(0);
                taskFile.setFollowId(agencyTaskRecord.getId());
                taskFile.setFollowFrom(2);
                taskFile.setFileUrl(str);
                taskFile.setFileType(2);
            }
        }
        if(StringUtils.isNotBlank(audio)){
            strArr = picture.split(",");
            for(String str : strArr){
                taskFile = new TaskFile();
                taskFile.setDelFlag(0);
                taskFile.setFollowId(agencyTaskRecord.getId());
                taskFile.setFollowFrom(2);
                taskFile.setFileUrl(str);
                taskFile.setFileType(3);
            }
        }
        if(StringUtils.isNotBlank(merFollowAgencyTaskDto.getNextTaskDate())){
            AgencyTask agencyTask = new AgencyTask();
            String taskId = IdUtils.fastUUID();
            agencyTask.setTaskId(taskId);
            agencyTask.setDelFlag(0);
            agencyTask.setShopId(oldAgencyTask.getShopId());
            agencyTask.setAgencyId(oldAgencyTask.getAgencyId());
            agencyTask.setTaskDate(merFollowAgencyTaskDto.getNextTaskDate());
            agencyTask.setTaskContent(merFollowAgencyTaskDto.getNextTaskContent());
            agencyTask.setTaskStatus(2);
            agencyTask.setCreateTime(new Date());
            this.saveOrUpdate(agencyTask);
        }
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java
@@ -9,11 +9,14 @@
import com.ruoyi.shop.service.task.MemberTaskRecordService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.shop.service.task.TaskFileService;
import com.ruoyi.shop.util.FileConvertUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.StringJoiner;
import java.util.stream.Collectors;
/**
 * <p>
@@ -45,17 +48,23 @@
        if(merMemberTaskRecordPageVoList!=null&&!merMemberTaskRecordPageVoList.isEmpty()){
            Long followId;
            List<TaskFile> taskFileList;
            String picture;
            String video;
            String audio;
            List<String> picture = new ArrayList<>();
            List<String> video = new ArrayList<>();
            List<String> audio = new ArrayList<>();
            for(MerMemberTaskRecordPageVo merMemberTaskRecordPageVo : merMemberTaskRecordPageVoList){
                followId = merMemberTaskRecordPageVo.getFollowId();
                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,1);
                picture = convertFileListToString(taskFileList);
                if(taskFileList!=null&&!taskFileList.isEmpty()){
                    picture = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
                }
                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,2);
                video = convertFileListToString(taskFileList);
                if(taskFileList!=null&&!taskFileList.isEmpty()){
                    video = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
                }
                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,3);
                audio = convertFileListToString(taskFileList);
                if(taskFileList!=null&&!taskFileList.isEmpty()){
                    audio = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
                }
                merMemberTaskRecordPageVo.setPicture(picture);
                merMemberTaskRecordPageVo.setVideo(video);
                merMemberTaskRecordPageVo.setAudio(audio);
@@ -64,15 +73,4 @@
        return merMemberTaskRecordPageVoList;
    }
    private String convertFileListToString(List<TaskFile> taskFileList){
        StringJoiner sj = new StringJoiner(",");
        if(taskFileList!=null&&!taskFileList.isEmpty()){
            for(TaskFile taskFile : taskFileList){
                sj.add(taskFile.getFileUrl());
            }
            return sj.toString();
        }else{
            return null;
        }
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java
@@ -53,10 +53,10 @@
        String today = DateUtils.parseDateToStr("YYYY-MM-DD",new Date());
        List<MerMemberTaskPageVo> merMemberTaskPageVoList = memberTaskMapper.pageMerMemberTask(page, merMemberTaskPageDto);
        if(merMemberTaskPageVoList!=null&&!merMemberTaskPageVoList.isEmpty()){
            Date taskDate;
            String taskDate;
            for(MerMemberTaskPageVo merMemberTaskPageVo : merMemberTaskPageVoList){
                taskDate = merMemberTaskPageVo.getTaskDate();
                if(today.equals(DateUtils.parseDateToStr("YYYY-MM-DD",taskDate))){
                if(today.equals(taskDate)){
                    merMemberTaskPageVo.setTodayFlag(1);
                }else{
                    merMemberTaskPageVo.setTodayFlag(0);
@@ -76,6 +76,7 @@
        String taskId = IdUtils.fastUUID();
        memberTask.setTaskId(taskId);
        memberTask.setDelFlag(0);
        memberTask.setTaskStatus(0);
        memberTask.setShopId(merCreateMemberTaskDto.getShopId());
        memberTask.setUserId(merCreateMemberTaskDto.getMemberUserId());
        memberTask.setTaskDate(merCreateMemberTaskDto.getTaskDate());
@@ -94,7 +95,7 @@
        MemberTask oldMemberTask = this.getById(merFollowMemberTaskDto.getTaskId());
        memberTaskRecord.setTaskId(merFollowMemberTaskDto.getTaskId());
        memberTaskRecord.setDelFlag(0);
        memberTaskRecord.setUserId(oldMemberTask.getUserId());
        memberTaskRecord.setUserId(merFollowMemberTaskDto.getUserId());
        memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType());
        memberTaskRecord.setCallPhone(merFollowMemberTaskDto.getCallPhone());
        memberTaskRecord.setCallTime(merFollowMemberTaskDto.getCallTime());
@@ -137,16 +138,18 @@
                taskFile.setFileType(3);
            }
        }
        MemberTask memberTask = new MemberTask();
        String taskId = IdUtils.fastUUID();
        memberTask.setTaskId(taskId);
        memberTask.setDelFlag(0);
        memberTask.setShopId(oldMemberTask.getShopId());
        memberTask.setUserId(oldMemberTask.getUserId());
        memberTask.setTaskDate(merFollowMemberTaskDto.getNextTaskDate());
        memberTask.setTaskContent(merFollowMemberTaskDto.getNextTaskContent());
        memberTask.setCreateTime(new Date());
        this.saveOrUpdate(memberTask);
        if(StringUtils.isNotBlank(merFollowMemberTaskDto.getNextTaskDate())){
            MemberTask memberTask = new MemberTask();
            String taskId = IdUtils.fastUUID();
            memberTask.setTaskId(taskId);
            memberTask.setDelFlag(0);
            memberTask.setShopId(oldMemberTask.getShopId());
            memberTask.setUserId(oldMemberTask.getUserId());
            memberTask.setTaskDate(merFollowMemberTaskDto.getNextTaskDate());
            memberTask.setTaskContent(merFollowMemberTaskDto.getNextTaskContent());
            memberTask.setTaskStatus(2);
            memberTask.setCreateTime(new Date());
            this.saveOrUpdate(memberTask);
        }
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -2,12 +2,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.dto.*;
import com.ruoyi.shop.domain.vo.*;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.shop.domain.vo.AppNearbyShopVo;
import com.ruoyi.shop.domain.vo.AppShopInfoVo;
import com.ruoyi.shop.domain.vo.MgtShopInfoVo;
import com.ruoyi.shop.domain.vo.MgtShopPageVo;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
@@ -84,4 +81,15 @@
     * @return
     */
    MerHomeShopTotalVo getMerHomeTotal(Long userId);
    /**
     *
     * @param page
     * @param merAgencyPageDto
     * @return
     */
    List<MerAgencyPageVo> pageMerAgencyVo (Page page, MerAgencyPageDto merAgencyPageDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskRecordService.java
New file
@@ -0,0 +1,30 @@
package com.ruoyi.shop.service.task;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.shop.domain.dto.MerAgencyTaskPageDto;
import com.ruoyi.shop.domain.pojo.task.AgencyTaskRecord;
import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo;
import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo;
import java.util.List;
/**
 * <p>
 * 会员跟进任务记录 服务类
 * </p>
 *
 * @author jqs
 * @since 2023-05-07
 */
public interface AgencyTaskRecordService extends IService<AgencyTaskRecord> {
    /**
     *
     * @param page
     * @param merAgencyTaskPageDto
     * @return
     */
    List<MerAgencyTaskRecordPageVo> pageMerAgencyTaskRecord (Page page, MerAgencyTaskPageDto merAgencyTaskPageDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskService.java
New file
@@ -0,0 +1,45 @@
package com.ruoyi.shop.service.task;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.shop.domain.dto.MerAgencyTaskPageDto;
import com.ruoyi.shop.domain.dto.MerCreateAgencyTaskDto;
import com.ruoyi.shop.domain.dto.MerFollowAgencyTaskDto;
import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto;
import com.ruoyi.shop.domain.pojo.task.AgencyTask;
import com.ruoyi.shop.domain.vo.MerAgencyTaskPageVo;
import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo;
import java.util.List;
/**
 * <p>
 * 会员跟进任务 服务类
 * </p>
 *
 * @author jqs
 * @since 2023-05-07
 */
public interface AgencyTaskService extends IService<AgencyTask> {
    /**
     *
     * @param page
     * @param merAgencyTaskPageDto
     * @return
     */
    List<MerAgencyTaskPageVo> pageMerAgencyTask(Page page, MerAgencyTaskPageDto merAgencyTaskPageDto);
    /**
     *
     * @param merCreateAgencyTaskDto
     */
    void createAgencyTask(MerCreateAgencyTaskDto merCreateAgencyTaskDto);
    /**
     *
     * @param merFollowAgencyTaskDto
     */
    void followAgencyTask(MerFollowAgencyTaskDto merFollowAgencyTaskDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/FileConvertUtils.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.shop.util;
import com.ruoyi.shop.domain.pojo.task.TaskFile;
import java.util.List;
import java.util.StringJoiner;
/**
 * @author jqs34
 * @ClassName FileConvertUtils
 * @description: TODO
 * @date 2023年05月07日
 * @version: 1.0
 */
public class FileConvertUtils {
    public static String convertFileListToString(List<TaskFile> taskFileList){
        StringJoiner sj = new StringJoiner(",");
        if(taskFileList!=null&&!taskFileList.isEmpty()){
            for(TaskFile taskFile : taskFileList){
                sj.add(taskFile.getFileUrl());
            }
            return sj.toString();
        }else{
            return null;
        }
    }
}
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -307,4 +307,21 @@
    </select>
    <select id="pageMerAgencyVo" resultType="com.ruoyi.shop.domain.vo.MerAgencyPageVo">
        SELECT
        ts.shop_id shopId,
        ts.shop_status shopStatus,
        ts.shop_name shopName,
        CONCAT(ts.shop_area_name,ts.shop_address) shopAddress,
        ts.shopowner_name shopownerName,
        ts.shopowner_phone shopownerPhone,
        ts.cooperationEndTime cooperationEndTime
        FROM t_shop ts
        WHERE ts.del_flag = 0 AND r.shop_id = #{param.shopId}
        <if test="param.keyword!=null and param.keyword!=''">
            AND (ts.shop_name LIKE CONCAT('%',#{param.keyword},'%') OR ts.shopowner_name LIKE CONCAT('%',#{param.keyword},'%')
            OR ts.shopowner_phone LIKE CONCAT('%',#{param.keyword},'%'))
        </if>
    </select>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskMapper.xml
New file
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.shop.mapper.task.AgencyTaskMapper">
    <resultMap type="AgencyTask" id="AgencyTaskResult">
        <result property="taskId"    column="task_id"    />
        <result property="delFlag"    column="del_flag"    />
        <result property="shopId"    column="shop_id"    />
        <result property="agencyId"    column="agency_id"    />
        <result property="taskDate"    column="task_date"    />
        <result property="taskContent"    column="task_content"    />
        <result property="createTime"    column="create_time"    />
        <result property="taskStatus"    column="task_status"    />
    </resultMap>
    <select id="pageMerAgencyTask" resultType="com.ruoyi.shop.domain.vo.MerAgencyPageVo">
        SELECT
        task_id taskId,
        task_date taskDate,
        task_content taskContent
        FROM t_agency_task tat
        WHERE delFlag = 0 AND shop_id = #{param.shopId} AND agency_id = #{param.agencyId}
        <if test="param.taskStatus!=null and param.taskStatus!=null == 0">
            AND task_status = 0 AND task_date &lt; #{param.nowDay}
        </if>
        <if test="param.taskStatus!=null and param.taskStatus!=null == 1">
            AND task_status = 0 AND task_date = #{param.nowDay}
        </if>
        <if test="param.taskStatus!=null and param.taskStatus!=null == 2">
            AND task_status = 2
        </if>
        <if test="param.taskStatus!=null and param.taskStatus!=null == 3">
            AND task_status = 0 AND task_date &gt; #{param.nowDay}
        </if>
        ORDER BY task_date DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml
New file
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.shop.mapper.task.AgencyTaskRecordMapper">
    <resultMap type="AgencyTaskRecord" id="AgencyTaskRecordResult">
        <result property="id"    column="id"    />
        <result property="delFlag"    column="del_flag"    />
        <result property="taskId"    column="task_id"    />
        <result property="userId"    column="user_id"    />
        <result property="followType"    column="follow_type"    />
        <result property="callTime"    column="call_time"    />
        <result property="followContent"    column="follow_content"    />
    </resultMap>
    <select id="pageMerMemberTaskRecord" resultType="com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo">
        SELECT
        tmtr.id followId,
        tmtr.task_id taskId,
        tmt.task_date taskDate,
        tmtr.followType followType,
        tmtr.callTime callTime,
        tmtr.followContent followContent,
        tmtr.callPhone callPhone
        FROM t_agency_task tmt
        INNER JOIN t_agency_task_record tmtr ON tmtr.task_id = tmt.task_id
        WHERE delFlag = 0 AND shop_id = #{param.shopId} AND agency_id = #{param.agencyId}
        ORDER BY tmt.task_date DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml
@@ -10,6 +10,7 @@
        <result property="taskDate"    column="task_date"    />
        <result property="taskContent"    column="task_content"    />
        <result property="createTime"    column="create_time"    />
        <result property="taskStatus"    column="task_status"    />
    </resultMap>
    <sql id="selectMemberTaskVo">
@@ -85,6 +86,6 @@
        task_content taskContent
        FROM t_member_task
        WHERE delFlag = 0 AND shop_id = #{param.shopId} AND user_id = #{param.memberUserId}
        ORDER BY tmt.task_date DESC
        ORDER BY task_date DESC
    </select>
</mapper>