jiangqs
2023-05-31 8b0f0fa277a2390463c6582c4fbe8600e1e53ced
用户管理商户管理
25个文件已修改
1个文件已删除
15个文件已添加
931 ■■■■■ 已修改文件
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtMemberController.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MemberIntegralChangeDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberBrowsePageDto.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberIntegralPageDto.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/BrowseRecord.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/IntegralRecord.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberBrowsePageVo.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberIntegralPageVo.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/BrowseRecordMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/IntegralRecordMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/BrowseRecordServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/IntegralRecordServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/BrowseRecordService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/IntegralRecordService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/BrowseRecordMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/IntegralRecordMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtMemberController.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberServiceRecordPageDto.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ServiceRecordDetail.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberServiceRecordPageVo.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/ServiceRecordDetailMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | 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/OrderServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ServiceRecordDetailServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/UserServiceRecordServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ServiceRecordDetailService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/UserServiceRecordService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ServiceRecordDetailMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtGoodsController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtMemberController.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtMemberFollowPageDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtMemberFollowPageVo.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskRecordMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskRecordService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskRecordMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtMemberController.java
@@ -3,13 +3,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.dto.MgtMemberIntEditDto;
import com.ruoyi.member.domain.dto.MgtMemberPageDto;
import com.ruoyi.member.domain.dto.MgtMemberRelDelDto;
import com.ruoyi.member.domain.dto.MgtMemberRelEditDto;
import com.ruoyi.member.domain.vo.MerMemberInfoVo;
import com.ruoyi.member.domain.vo.MgtMemberGetVo;
import com.ruoyi.member.domain.vo.MgtMemberPageVo;
import com.ruoyi.member.domain.dto.*;
import com.ruoyi.member.domain.vo.*;
import com.ruoyi.member.service.member.BrowseRecordService;
import com.ruoyi.member.service.member.IntegralRecordService;
import com.ruoyi.member.service.member.MemberService;
import com.ruoyi.system.api.domain.dto.MerBaseGetDto;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
@@ -39,6 +36,11 @@
    @Autowired
    private MemberService memberService;
    @Autowired
    private IntegralRecordService integralRecordService;
    @Autowired
    private BrowseRecordService browseRecordService;
    @RequestMapping(value = "/pageMgtMember", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取会员列表")
@@ -69,7 +71,7 @@
    }
    @RequestMapping(value = "/editMemberIntegral", method = RequestMethod.POST)
    @ApiOperation(value = "修改会员关联商户")
    @ApiOperation(value = "修改会员积分")
    public R<MerMemberInfoVo> editMemberIntegral(@RequestBody MgtMemberIntEditDto mgtMemberIntEditDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberIntEditDto.setUserId(userId);
@@ -88,6 +90,29 @@
    @RequestMapping(value = "/pageMgtMemberIntegral", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取用户积分列表")
    public R<Page<MgtMemberIntegralPageVo>> pageMgtMemberIntegral(@RequestBody MgtMemberIntegralPageDto mgtMemberIntegralPageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberIntegralPageDto.setUserId(userId);
        Page<MgtMemberIntegralPageVo> page = new Page<>();
        page.setSize(mgtMemberIntegralPageDto.getPageSize());
        page.setCurrent(mgtMemberIntegralPageDto.getPageNum());
        List<MgtMemberIntegralPageVo> mgtMemberIntegralPageVoList = integralRecordService.pageMgtMemberIntegral(page,mgtMemberIntegralPageDto);
        return R.ok(page.setRecords(mgtMemberIntegralPageVoList));
    }
    @RequestMapping(value = "/pageMgtMemberBrowse", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取用户浏览记录")
    public R<Page<MgtMemberBrowsePageVo>> pageMgtMemberBrowse(@RequestBody MgtMemberBrowsePageDto mgtMemberBrowsePageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberBrowsePageDto.setUserId(userId);
        Page<MgtMemberBrowsePageVo> page = new Page<>();
        page.setSize(mgtMemberBrowsePageDto.getPageSize());
        page.setCurrent(mgtMemberBrowsePageDto.getPageNum());
        List<MgtMemberBrowsePageVo> mgtMemberBrowsePageVoList = browseRecordService.pageMgtMemberBrowse(page,mgtMemberBrowsePageDto);
        return R.ok(page.setRecords(mgtMemberBrowsePageVoList));
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MemberIntegralChangeDto.java
@@ -13,6 +13,9 @@
@Data
public class MemberIntegralChangeDto {
    @ApiModelProperty(value = "用户id")
    private Long userId;
    @ApiModelProperty(value = "会员id")
    private String memberId;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberBrowsePageDto.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.member.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MgtMemberIntegralPageDto
 * @description: TODO
 * @date 2023年05月31日
 * @version: 1.0
 */
@Data
public class MgtMemberBrowsePageDto extends MgtPageDto {
    @ApiModelProperty(value = "会员用户id")
    private Long memberUserId;
    @ApiModelProperty(value = "浏览类型 1鸿瑞学堂2营销活动3商城商品4关于鸿瑞堂5申请加盟")
    private Integer browseType;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberIntegralPageDto.java
New file
@@ -0,0 +1,30 @@
package com.ruoyi.member.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MgtMemberIntegralPageDto
 * @description: TODO
 * @date 2023年05月31日
 * @version: 1.0
 */
@Data
public class MgtMemberIntegralPageDto extends MgtPageDto {
    @ApiModelProperty(value = "会员用户id")
    private Long memberUserId;
    @ApiModelProperty(value = "变动开始时间")
    private Date changeStartDate;
    @ApiModelProperty(value = "变动结束时间")
    private Date changeEndDate;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/BrowseRecord.java
@@ -44,7 +44,7 @@
    @TableField("user_id")
    private Long userId;
    /**
     * 浏览类型
     * 浏览类型1鸿瑞学堂2营销活动3商城商品4关于鸿瑞堂5申请加盟
     */
    @TableField("browse_type")
    private Integer browseType;
@@ -53,6 +53,12 @@
     */
    @TableField("browse_id")
    private String browseId;
    /**
     * 浏览名称
     */
    @TableField("browse_name")
    private String browseName;
    /**
     * 浏览时间
     */
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/IntegralRecord.java
@@ -38,6 +38,9 @@
     */
    @TableField("del_flag")
    private Integer delFlag;
    @TableField(value = "user_id")
    private Long userId;
    /**
     * 变动类型
     */
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberBrowsePageVo.java
New file
@@ -0,0 +1,31 @@
package com.ruoyi.member.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MgtMemberBrowsePageVo
 * @description: TODO
 * @date 2023年05月31日
 * @version: 1.0
 */
@Data
public class MgtMemberBrowsePageVo {
    @ApiModelProperty(value = "浏览类型1鸿瑞学堂2营销活动3商城商品4关于鸿瑞堂5申请加盟")
    private String browseType;
    @ApiModelProperty(value = "浏览名称")
    private String browseName;
    @ApiModelProperty(value = "浏览时间")
    private String browseTime;
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberIntegralPageVo.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.member.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MgtMemberIntegralPageDto
 * @description: TODO
 * @date 2023年05月31日
 * @version: 1.0
 */
@Data
public class MgtMemberIntegralPageVo {
    @ApiModelProperty(value = "记录id")
    private Long recordId;
    @ApiModelProperty(value = "变动时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty(value = "变动积分")
    private Integer changeIntegral;
    @ApiModelProperty(value = "剩余积分")
    private Integer surpIntegral;
    @ApiModelProperty(value = "变动理由")
    private String changeReason;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/BrowseRecordMapper.java
@@ -1,7 +1,14 @@
package com.ruoyi.member.mapper.member;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.member.domain.dto.MgtMemberBrowsePageDto;
import com.ruoyi.member.domain.pojo.member.BrowseRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.member.domain.vo.MgtMemberBrowsePageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +20,12 @@
 */
public interface BrowseRecordMapper extends BaseMapper<BrowseRecord> {
    /**
     * 平台分页获取会员浏览记录
     * @param page
     * @param mgtMemberBrowsePageDto
     * @return
     */
    List<MgtMemberBrowsePageVo> pageMgtMemberBrowse(Page page, @Param("param")MgtMemberBrowsePageDto mgtMemberBrowsePageDto);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/IntegralRecordMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.member.mapper.member;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.member.domain.dto.MgtMemberIntegralPageDto;
import com.ruoyi.member.domain.pojo.member.IntegralRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.member.domain.vo.MgtMemberIntegralPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -12,5 +18,10 @@
 * @since 2023-05-25
 */
public interface IntegralRecordMapper extends BaseMapper<IntegralRecord> {
    /**
     * 获取会员积分明细
     * @param mgtMemberIntegralPageDto
     * @return
     */
    List<MgtMemberIntegralPageVo> pageMgtMemberIntegral(Page page, @Param("param") MgtMemberIntegralPageDto mgtMemberIntegralPageDto);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/BrowseRecordServiceImpl.java
@@ -1,10 +1,16 @@
package com.ruoyi.member.service.impl.member;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.member.domain.dto.MgtMemberBrowsePageDto;
import com.ruoyi.member.domain.pojo.member.BrowseRecord;
import com.ruoyi.member.domain.vo.MgtMemberBrowsePageVo;
import com.ruoyi.member.mapper.member.BrowseRecordMapper;
import com.ruoyi.member.service.member.BrowseRecordService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
@@ -17,4 +23,18 @@
@Service
public class BrowseRecordServiceImpl extends ServiceImpl<BrowseRecordMapper, BrowseRecord> implements BrowseRecordService {
    @Resource
    private BrowseRecordMapper browseRecordMapper;
    /**
     * 平台分页获取会员浏览记录
     * @param page
     * @param mgtMemberBrowsePageDto
     * @return
     */
    @Override
    public List<MgtMemberBrowsePageVo> pageMgtMemberBrowse(Page page, MgtMemberBrowsePageDto mgtMemberBrowsePageDto){
        return browseRecordMapper.pageMgtMemberBrowse(page, mgtMemberBrowsePageDto);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/IntegralRecordServiceImpl.java
@@ -1,10 +1,16 @@
package com.ruoyi.member.service.impl.member;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.member.domain.dto.MgtMemberIntegralPageDto;
import com.ruoyi.member.domain.pojo.member.IntegralRecord;
import com.ruoyi.member.domain.vo.MgtMemberIntegralPageVo;
import com.ruoyi.member.mapper.member.IntegralRecordMapper;
import com.ruoyi.member.service.member.IntegralRecordService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
@@ -17,4 +23,16 @@
@Service
public class IntegralRecordServiceImpl extends ServiceImpl<IntegralRecordMapper, IntegralRecord> implements IntegralRecordService {
    @Resource
    private IntegralRecordMapper integralRecordMapper;
    /**
     * 获取会员积分明细
     * @param mgtMemberIntegralPageDto
     * @return
     */
    @Override
    public List<MgtMemberIntegralPageVo> pageMgtMemberIntegral(Page page, MgtMemberIntegralPageDto mgtMemberIntegralPageDto){
        return integralRecordMapper.pageMgtMemberIntegral(page, mgtMemberIntegralPageDto);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -750,6 +750,7 @@
    public void editMemberIntegral(MgtMemberIntEditDto mgtMemberIntEditDto){
        MemberIntegralChangeDto memberIntegralChangeDto = new MemberIntegralChangeDto();
        Member member = this.getByUserId(mgtMemberIntEditDto.getMemberUserId());
        memberIntegralChangeDto.setUserId(mgtMemberIntEditDto.getMemberUserId());
        memberIntegralChangeDto.setMemberId(member.getMemberId());
        memberIntegralChangeDto.setChangeType(1);
        memberIntegralChangeDto.setRecordType(3);
@@ -793,6 +794,7 @@
        //记录变动
        IntegralRecord integralRecord = new IntegralRecord();
        integralRecord.setDelFlag(0);
        integralRecord.setUserId(memberIntegralChangeDto.getUserId());
        integralRecord.setChangeType(recordType);
        if(changeType==1){
            integralRecord.setChangeIntegral(integer);
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/BrowseRecordService.java
@@ -1,7 +1,12 @@
package com.ruoyi.member.service.member;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.member.domain.dto.MgtMemberBrowsePageDto;
import com.ruoyi.member.domain.pojo.member.BrowseRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.member.domain.vo.MgtMemberBrowsePageVo;
import java.util.List;
/**
 * <p>
@@ -13,4 +18,11 @@
 */
public interface BrowseRecordService extends IService<BrowseRecord> {
    /**
     * 平台分页获取会员浏览记录
     * @param page
     * @param mgtMemberBrowsePageDto
     * @return
     */
    List<MgtMemberBrowsePageVo> pageMgtMemberBrowse(Page page, MgtMemberBrowsePageDto mgtMemberBrowsePageDto);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/IntegralRecordService.java
@@ -1,7 +1,12 @@
package com.ruoyi.member.service.member;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.member.domain.dto.MgtMemberIntegralPageDto;
import com.ruoyi.member.domain.pojo.member.IntegralRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.member.domain.vo.MgtMemberIntegralPageVo;
import java.util.List;
/**
 * <p>
@@ -13,4 +18,11 @@
 */
public interface IntegralRecordService extends IService<IntegralRecord> {
    /**
     * 获取会员积分明细
     * @param mgtMemberIntegralPageDto
     * @return
     */
    List<MgtMemberIntegralPageVo> pageMgtMemberIntegral(Page page, MgtMemberIntegralPageDto mgtMemberIntegralPageDto);
}
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/BrowseRecordMapper.xml
@@ -2,6 +2,24 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.member.mapper.member.BrowseRecordMapper">
    <select id="pageMgtMemberBrowse" resultType="com.ruoyi.member.domain.vo.MgtMemberBrowsePageVo">
        SELECT
        CASE browse_type
        WHEN 1 THEN "鸿瑞学堂"
        WHEN 2 THEN "营销活动"
        WHEN 3 THEN "商城商品"
        WHEN 4 THEN "关于鸿瑞堂"
        WHEN 5 THEN "申请加盟"
        END browseType,
        tbr.browse_name browseName,
        tbr.browse_time browseTime,
        tbr.create_time createTime
        FROM t_browse_record tbr
        WHERE tbr.del_flag = 0 AND tbr.user_id = #{param.memberUserId}
        <if test="param.browseType !=null and param.browseType != ''">
            tbr.browse_type = #{param.browseType}
        </if>
    </select>
</mapper>
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/IntegralRecordMapper.xml
@@ -2,6 +2,22 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.member.mapper.member.IntegralRecordMapper">
    <select id="pageMgtMemberIntegral" resultType="com.ruoyi.member.domain.vo.MgtMemberIntegralPageVo">
        SELECT
        tir.record_id recordId,
        tir.create_time createTime,
        tir.change_integral changeIntegral,
        tir.surp_integral surpIntegral,
        tir.change_reason changeReason
        FROM t_integral_record tir
        WHERE tir.del_flag = 0 AND tir.user_id = #{param.memberUserId}
        <if test="param.changeStartDate != null and param.changeStartDate != ''">
            AND tir.create_time &gt;= #{param.changeStartDate}
        </if>
        <if test="param.changeEndDate != null and param.changeEndDate != ''">
            AND tir.create_time &lt;= #{param.changeEndDate}
        </if>
        ORDER BY tir.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -177,6 +177,7 @@
        <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},'%'))
        </if>
        ORDER BY tm.create_time DESC
    </select>
    <select id="pageMerCashMember" resultType="com.ruoyi.member.domain.vo.MerCashMemberPageVo">
@@ -189,6 +190,7 @@
        <if test="param.keyword != null and param.keyword != ''">
            AND (tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.mobile LIKE CONCAT('%',#{param.keyword},'%'))
        </if>
        ORDER BY tm.create_time DESC
    </select>
    <select id="pageMgtMember" resultType="com.ruoyi.member.domain.vo.MgtMemberPageVo">
@@ -272,6 +274,7 @@
        <if test="param.memberTag != null and param.memberTag != ''">
            AND FIND_IN_SET( tm.user_tags,#{param.memberTag})
        </if>
        ORDER BY tm.create_time DESC
    </select>
    
</mapper>
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtMemberController.java
New file
@@ -0,0 +1,50 @@
package com.ruoyi.order.controller.management;
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.MgtMemberOrderPageDto;
import com.ruoyi.order.domain.dto.MgtMemberServiceRecordPageDto;
import com.ruoyi.order.domain.vo.MgtMemberOrderPageVo;
import com.ruoyi.order.domain.vo.MgtMemberServiceRecordPageVo;
import com.ruoyi.order.service.order.UserServiceRecordService;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @author jqs34
 * @ClassName MgtMemberController
 * @description: TODO
 * @date 2023年05月31日
 * @version: 1.0
 */
@Api(value = "管理台会员相关接口", tags = "管理台会员相关接口", description = "管理台会员相关接口")
@RestController
@RequestMapping("/mgt/member")
public class MgtMemberController {
    @Autowired
    private UserServiceRecordService userServiceRecordService;
    @RequestMapping(value = "/pageMgtMemberServiceRecord", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取用户服务记录列表")
    public R<Page<MgtMemberServiceRecordPageVo>> pageMgtMemberServiceRecord(@RequestBody MgtMemberServiceRecordPageDto mgtMemberServiceRecordPageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberServiceRecordPageDto.setUserId(userId);
        Page<MgtMemberServiceRecordPageVo> page = new Page<>();
        page.setSize(mgtMemberServiceRecordPageDto.getPageSize());
        page.setCurrent(mgtMemberServiceRecordPageDto.getPageNum());
        List<MgtMemberServiceRecordPageVo> list = userServiceRecordService.pageMgtMemberServiceRecord(page,mgtMemberServiceRecordPageDto);
        return R.ok(page.setRecords(list));
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberServiceRecordPageDto.java
New file
@@ -0,0 +1,23 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName MgtMemberServiceRecordPageDto
 * @description: TODO
 * @date 2023年05月31日
 * @version: 1.0
 */
@Data
public class MgtMemberServiceRecordPageDto extends MgtPageDto {
    @ApiModelProperty(value = "用户id")
    private Long memberUserId;
    @ApiModelProperty(value = "关键词")
    private String keyword;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ServiceRecordDetail.java
New file
@@ -0,0 +1,72 @@
package com.ruoyi.order.domain.pojo.order;
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 lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * <p>
 *
 * </p>
 *
 * @author jqs
 * @since 2023-05-31
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_service_record_detail")
public class ServiceRecordDetail extends Model<ServiceRecordDetail> {
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 删除标记
     */
    @TableField("del_flag")
    private Integer delFlag;
    /**
     * 记录id
     */
    @TableField("record_id")
    private Long recordId;
    /**
     * 服务商品id
     */
    @TableField("consumer_goods_id")
    private String consumerGoodsId;
    /**
     * 服务商品名称
     */
    @TableField("consumer_goods_name")
    private String consumerGoodsName;
    /**
     * 服务次数
     */
    @TableField("service_num")
    private Integer serviceNum;
    /**
     * 剩余次数
     */
    @TableField("surp_num")
    private Integer surpNum;
    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberServiceRecordPageVo.java
New file
@@ -0,0 +1,43 @@
package com.ruoyi.order.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MgtMemberServiceRecordPageVo
 * @description: TODO
 * @date 2023年05月31日
 * @version: 1.0
 */
@Data
public class MgtMemberServiceRecordPageVo {
    @ApiModelProperty("服务类型1.周期2.服务3.体验")
    private Integer serviceType;
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty("服务商户id")
    private Long shopId;
    @ApiModelProperty("服务商户")
    private String shopName;
    @ApiModelProperty("服务商品名称")
    private String consumerGoodsName;
    @ApiModelProperty("服务次数")
    private Integer serviceNum;
    @ApiModelProperty("剩余次数")
    private Integer surpNum;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/ServiceRecordDetailMapper.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.order.mapper;
import com.ruoyi.order.domain.pojo.order.ServiceRecordDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author jqs
 * @since 2023-05-31
 */
public interface ServiceRecordDetailMapper extends BaseMapper<ServiceRecordDetail> {
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.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.MerServiceRecordPageDto;
import com.ruoyi.order.domain.dto.MgtMemberServiceRecordPageDto;
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 com.ruoyi.order.domain.vo.MgtMemberServiceRecordPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -36,4 +38,12 @@
     * @return
     */
    List<MerServiceRecordPageVo> pageMerMemberServiceRecord(Page page,@Param("param") MerServiceRecordPageDto merServiceRecordPageDto);
    /**
     * 平台分页获取用户服务记录
     * @param page
     * @param mgtMemberServiceRecordPageDto
     * @return
     */
    List<MgtMemberServiceRecordPageVo> pageMgtMemberServiceRecord(Page page, @Param("param") MgtMemberServiceRecordPageDto mgtMemberServiceRecordPageDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -948,6 +948,16 @@
     */
    @Override
    public List<MgtMemberOrderPageVo> pageMgtMemberOrder(Page page, MgtMemberOrderPageDto mgtMemberOrderPageDto){
        return orderMapper.pageMgtMemberOrder(page, mgtMemberOrderPageDto);
        List<MgtMemberOrderPageVo> mgtMemberOrderPageVoList = orderMapper.pageMgtMemberOrder(page, mgtMemberOrderPageDto);
        if(mgtMemberOrderPageVoList!=null&&!mgtMemberOrderPageVoList.isEmpty()){
            Long shopId;
            Shop shop;
            for(MgtMemberOrderPageVo mgtMemberOrderPageVo : mgtMemberOrderPageVoList){
                shopId = mgtMemberOrderPageVo.getShopId();
                shop = remoteShopService.getShop(shopId).getData();
                mgtMemberOrderPageVo.setShopName(shop.getShopName());
            }
        }
        return mgtMemberOrderPageVoList;
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ServiceRecordDetailServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.order.service.impl.order;
import com.ruoyi.order.domain.pojo.order.ServiceRecordDetail;
import com.ruoyi.order.mapper.ServiceRecordDetailMapper;
import com.ruoyi.order.service.order.ServiceRecordDetailService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author jqs
 * @since 2023-05-31
 */
@Service
public class ServiceRecordDetailServiceImpl extends ServiceImpl<ServiceRecordDetailMapper, ServiceRecordDetail> implements ServiceRecordDetailService {
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/UserServiceRecordServiceImpl.java
@@ -5,9 +5,11 @@
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.dto.MgtMemberServiceRecordPageDto;
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.domain.vo.MgtMemberServiceRecordPageVo;
import com.ruoyi.order.mapper.order.UserServiceRecordMapper;
import com.ruoyi.order.service.order.UserServiceRecordService;
import org.springframework.stereotype.Service;
@@ -41,7 +43,7 @@
    }
    /**
     *
     * 商户分页获取用户服务记录
     * @param page
     * @param merServiceRecordPageDto
     * @return
@@ -50,4 +52,15 @@
    public List<MerServiceRecordPageVo> pageMerMemberServiceRecord(Page page, MerServiceRecordPageDto merServiceRecordPageDto){
        return userServiceRecordMapper.pageMerMemberServiceRecord(page, merServiceRecordPageDto);
    }
    /**
     * 平台分页获取用户服务记录
     * @param page
     * @param mgtMemberServiceRecordPageDto
     * @return
     */
    @Override
    public List<MgtMemberServiceRecordPageVo> pageMgtMemberServiceRecord(Page page, MgtMemberServiceRecordPageDto mgtMemberServiceRecordPageDto){
        return userServiceRecordMapper.pageMgtMemberServiceRecord(page, mgtMemberServiceRecordPageDto);
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ServiceRecordDetailService.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.order.service.order;
import com.ruoyi.order.domain.pojo.order.ServiceRecordDetail;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jqs
 * @since 2023-05-31
 */
public interface ServiceRecordDetailService extends IService<ServiceRecordDetail> {
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/UserServiceRecordService.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.MerServiceRecordPageDto;
import com.ruoyi.order.domain.dto.MgtMemberServiceRecordPageDto;
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 com.ruoyi.order.domain.vo.MgtMemberServiceRecordPageVo;
import java.util.List;
@@ -29,10 +31,18 @@
    List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, AppConsumerPageDto appConsumerPageDto);
    /**
     *
     * 商户分页获取用户服务记录
     * @param page
     * @param merServiceRecordPageDto
     * @return
     */
    List<MerServiceRecordPageVo> pageMerMemberServiceRecord(Page page, MerServiceRecordPageDto merServiceRecordPageDto);
    /**
     * 平台分页获取用户服务记录
     * @param page
     * @param mgtMemberServiceRecordPageDto
     * @return
     */
    List<MgtMemberServiceRecordPageVo> pageMgtMemberServiceRecord(Page page, MgtMemberServiceRecordPageDto mgtMemberServiceRecordPageDto);
}
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -341,13 +341,19 @@
        <if test="param.keyword != null and param.keyword != ''">
            AND toc.order_no LIKE CONCAT('%',#{param.keyword},'%')
        </if>
        ORDER BY toc.create_time DESC
    </select>
    <select id="pageMgtMemberOrder" resultMap="mgtOrderResultMap">
        SELECT
        toc.order_id orderId,
        toc.order_no orderNo,
        toc.order_status orderStatus,
        CASE toc.order_status
        WHEN 0 THEN "已取消"
        WHEN 1 THEN "待支付"
        WHEN 2 THEN "待核销"
        WHEN 3 THEN "已完成"
        END orderStatus,
        toc.shop_id shopId,
        toc.order_money orderGoodsMoney,
        toc.discount_money discountMoney,
@@ -356,7 +362,11 @@
        tog.goods_name goodsName,
        tog.buy_num buyNum,
        toc.create_time createTime,
        toc.order_from orderFrom
        CASE toc.order_from
        WHEN 1 THEN "商城订单"
        WHEN 2 THEN "秒杀活动订单"
        WHEN 3 THEN "线下创建订单"
        END orderFrom
        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
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ServiceRecordDetailMapper.xml
New file
@@ -0,0 +1,6 @@
<?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.order.mapper.ServiceRecordDetailMapper">
</mapper>
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml
@@ -97,4 +97,21 @@
        WHERE tusr.del_flag = 0 AND tusr.user_id = #{param.memberUserId} AND tusr.shop_id = #{param.shopId}
        ORDER BY tusr.create_time DESC
    </select>
    <select id="pageMerMemberServiceRecord" resultType="com.ruoyi.order.domain.vo.MgtMemberServiceRecordPageVo">
        SELECT
        tusr.shop_id shopId,
        tsrd.consumer_goods_name consumerGoodsName,
        tusr.service_type serviceType,
        tusr.create_time createTime,
        tsrd.service_num serviceNum,
        tsrd.surp_num surpNum
        FROM t_user_service_record tusr
        INNER JOIN t_service_record_detail tsrd ON tsrd.record_id = tusr.id
        WHERE tusr.del_flag = 0 AND tusr.user_id = #{param.memberUserId}
        <if test="param.keyword != null and param.keyword != ''">
            AND tsrd.consumer_goods_name LIKE  CONCAT('%',#{param.keyword},'%')
        </if>
        ORDER BY tusr.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtGoodsController.java
File was deleted
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtMemberController.java
New file
@@ -0,0 +1,47 @@
package com.ruoyi.shop.controller.management;
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.vo.MgtMemberFollowPageVo;
import com.ruoyi.shop.service.task.MemberTaskRecordService;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @author jqs34
 * @ClassName MgtMemberController
 * @description: TODO
 * @date 2023年05月31日
 * @version: 1.0
 */
@Api(value = "管理台用户相关接口", tags = "管理台用户相关接口", description = "管理台用户相关接口")
@RestController
@RequestMapping("/mgt/member")
public class MgtMemberController {
    @Autowired
    private MemberTaskRecordService memberTaskRecordService;
    @RequestMapping(value = "/pageMgtMemberFollow", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取用户跟进列表")
    public R<Page<MgtMemberFollowPageVo>> pageMgtMemberFollow(@RequestBody MgtPageDto mgtPageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtPageDto.setUserId(userId);
        Page<MgtMemberFollowPageVo> page = new Page<>();
        page.setSize(mgtPageDto.getPageSize());
        page.setCurrent(mgtPageDto.getPageNum());
        List<MgtMemberFollowPageVo> mgtMemberFollowPageVoList = memberTaskRecordService.pageMgtMemberFollow(page);
        return R.ok(page.setRecords(mgtMemberFollowPageVoList));
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtMemberFollowPageDto.java
New file
@@ -0,0 +1,19 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName MgtMemberFollowPageDto
 * @description: TODO
 * @date 2023年05月31日
 * @version: 1.0
 */
@Data
public class MgtMemberFollowPageDto extends MgtPageDto {
    @ApiModelProperty(value = "会员用户id")
    private Long memberUserId;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java
@@ -1,7 +1,11 @@
package com.ruoyi.shop.domain.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
@@ -13,5 +17,72 @@
@Data
public class MgtShopPageDto extends MgtPageDto {
    @ApiModelProperty(value = "搜索关键词")
    private String keyword ;
    @ApiModelProperty(value = "店铺地址省code")
    private String shopProvinceCode;
    @ApiModelProperty(value = "店铺地址市code")
    private String shopCityCode;
    @ApiModelProperty(value = "店铺地址区code")
    private String shopAreaCode;
    @ApiModelProperty(value = "签约时间")
    private Date signTime;
    @ApiModelProperty(value = "签约省code")
    private String signProvinceCode;
    @ApiModelProperty(value = "签约市code")
    private String signCityCode;
    @ApiModelProperty(value = "签约区域code")
    private String signAreaCode;
    @ApiModelProperty(value = "商户状态0冻结1正常2终止合作")
    private Integer shopStatus;
    @ApiModelProperty(value = "推荐人")
    private String recommendPerson;
    @ApiModelProperty(value = "归属员工")
    private Long belongUserId;
    @ApiModelProperty(value = "来源渠道")
    private String shopSource;
    @ApiModelProperty(value = "店铺设置状态")
    private String shopCustomStatus;
    @ApiModelProperty(value = "到期标记")
    private Integer expireFlag;
    @ApiModelProperty(value = "商户标签")
    private String shopTags;
    @ApiModelProperty(value = "扶持能力1.有2.没有")
    private Integer supportingCapacityFlag;
    @ApiModelProperty(value = "店面操作人数1.1人2.1人以上")
    private Integer operationPersonFlag;
    @ApiModelProperty(value = "执行力1.强2.弱")
    private Integer executiveForceFlag;
    @ApiModelProperty(value = "格局1.大2.小")
    private Integer patternFlag;
    @ApiModelProperty(value = "人脉1.宽2.窄")
    private Integer connectionFlag;
    @ApiModelProperty(value = "经济能力1.强2.差")
    private Integer economicAbilityFlag;
    @ApiModelProperty(value = "与合作商关系1.好2.差")
    private Integer relationPartner;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtMemberFollowPageVo.java
New file
@@ -0,0 +1,59 @@
package com.ruoyi.shop.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
 * @author jqs34
 * @ClassName MgtMemberFollowPageVo
 * @description: TODO
 * @date 2023年05月06日
 * @version: 1.0
 */
@Data
public class MgtMemberFollowPageVo {
    @ApiModelProperty(value = "商户id")
    private Long shopId;
    @ApiModelProperty(value = "商户名称")
    private String shopName;
    @ApiModelProperty(value = "商户头像")
    private String shopPicture;
    @ApiModelProperty(value = "跟进id")
    private Long followId;
    @ApiModelProperty(value = "任务id")
    private String taskId;
    @ApiModelProperty(value = "任务时间")
    private String taskDate;
    @ApiModelProperty("跟踪类型1电话2手动")
    private Integer followType;
    @ApiModelProperty("电话时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date callTime;
    @ApiModelProperty("跟踪内容")
    private String followContent;
    @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/mapper/task/MemberTaskRecordMapper.java
@@ -5,6 +5,7 @@
import com.ruoyi.shop.domain.pojo.task.MemberTaskRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo;
import com.ruoyi.shop.domain.vo.MgtMemberFollowPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -20,10 +21,18 @@
public interface MemberTaskRecordMapper extends BaseMapper<MemberTaskRecord> {
    /**
     *
     * 商户分页获取会员跟进任务
     * @param page
     * @param merMemberTaskPageDto
     * @return
     */
    List<MerMemberTaskRecordPageVo> pageMerMemberTaskRecord(Page page, @Param("param") MerMemberTaskPageDto merMemberTaskPageDto);
    /**
     * 平台分页获取会员跟进任务
     * @param page
     * @return
     */
    List<MgtMemberFollowPageVo> pageMgtMemberFollow(Page page);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java
@@ -5,11 +5,15 @@
import com.ruoyi.shop.domain.pojo.task.MemberTaskRecord;
import com.ruoyi.shop.domain.pojo.task.TaskFile;
import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo;
import com.ruoyi.shop.domain.vo.MgtMemberFollowPageVo;
import com.ruoyi.shop.mapper.task.MemberTaskRecordMapper;
import com.ruoyi.shop.service.shop.ShopService;
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 com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.service.RemoteShopService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -35,9 +39,10 @@
    @Resource
    private TaskFileService taskFileService;
    @Resource
    private ShopService shopService;
    /**
     *
     * 商户分页获取会员跟进任务
     * @param page
     * @param merMemberTaskPageDto
     * @return
@@ -73,4 +78,41 @@
        return merMemberTaskRecordPageVoList;
    }
    /**
     * 平台分页获取会员跟进任务
     * @param page
     * @return
     */
    @Override
    public List<MgtMemberFollowPageVo> pageMgtMemberFollow(Page page){
        List<MgtMemberFollowPageVo> mgtMemberFollowPageVoList = memberTaskRecordMapper.pageMgtMemberFollow(page);
        if(mgtMemberFollowPageVoList!=null&&!mgtMemberFollowPageVoList.isEmpty()){
            Long followId;
            List<TaskFile> taskFileList;
            List<String> picture = new ArrayList<>();
            List<String> video = new ArrayList<>();
            List<String> audio = new ArrayList<>();
            Long shopId;
            Shop shop;
            for(MgtMemberFollowPageVo mgtMemberFollowPageVo : mgtMemberFollowPageVoList){
                followId = mgtMemberFollowPageVo.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());
                }
                mgtMemberFollowPageVo.setPicture(picture);
                mgtMemberFollowPageVo.setVideo(video);
                mgtMemberFollowPageVo.setAudio(audio);
            }
        }
        return mgtMemberFollowPageVoList;
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskRecordService.java
@@ -5,6 +5,7 @@
import com.ruoyi.shop.domain.pojo.task.MemberTaskRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo;
import com.ruoyi.shop.domain.vo.MgtMemberFollowPageVo;
import java.util.List;
@@ -19,10 +20,17 @@
public interface MemberTaskRecordService extends IService<MemberTaskRecord> {
    /**
     *
     * 商户分页获取会员跟进任务
     * @param page
     * @param merMemberTaskPageDto
     * @return
     */
    List<MerMemberTaskRecordPageVo> pageMerMemberTaskRecord(Page page, MerMemberTaskPageDto merMemberTaskPageDto);
    /**
     * 平台分页获取会员跟进任务
     * @param page
     * @return
     */
    List<MgtMemberFollowPageVo> pageMgtMemberFollow(Page page);
}
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskRecordMapper.xml
@@ -91,4 +91,25 @@
        WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmt.user_id = #{param.memberUserId}
        ORDER BY tmt.task_date DESC
    </select>
    <select id="pageMgtMemberFollow" resultType="com.ruoyi.shop.domain.vo.MgtMemberFollowPageVo">
        SELECT
        tmt.shop_id shopId,
        ts.shop_name shopName,
        tsf.file_url shopPicture,
        tmtr.id followId,
        tmtr.task_id taskId,
        tmt.task_date taskDate,
        tmtr.follow_type followType,
        tmtr.call_time callTime,
        tmtr.follow_content followContent,
        tmtr.call_phone callPhone
        FROM t_member_task tmt
        INNER JOIN t_member_task_record tmtr ON tmtr.task_id = tmt.task_id
        INNER JOIN t_shop ts ON ts.shop_id = tmt.shop_id
        INNER JOIN t_shop_file tsf ON tsf.shop_id = ts.shop_id AND tsf.del_flag = 0 AND tsf.file_type = 1
        WHERE tmt.del_flag = 0 AND tmt.user_id = #{param.memberUserId}
        ORDER BY tmt.task_date DESC
    </select>
</mapper>