jiangqs
2023-05-30 fc39a04331e80226d50242ac1ec27f93494fb359
用户管理
1 文件已重命名
20个文件已修改
13个文件已添加
1060 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/config/Activeness.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/Member.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteConfigFallbackFactory.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtMemberController.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MemberIntegralChangeDto.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberIntEditDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberPageDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberRelDelDto.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberRelEditDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MemberArchiveVo.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtActivenessJudgeVo.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberGetVo.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberArchiveMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberArchiveServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberArchiveService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/CodeFactoryUtil.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberArchiveMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderPageDto.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderTotalDto.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderPageVo.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderTotalVo.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderGoodsPageVo.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/ActivenessMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/ActivenessService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/ActivenessServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/config/Activeness.java
File was renamed from ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Activeness.java
@@ -1,4 +1,4 @@
package com.ruoyi.system.domain.pojo.config;
package com.ruoyi.system.api.domain.poji.config;
import java.util.Date;
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/Member.java
@@ -153,6 +153,12 @@
    @TableField("member_nurse")
    private String memberNurse;
    /**
     * 所属区域
     */
    @TableField("belong_district")
    private String belongDistrict;
    @Override
    protected Serializable pkVal() {
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteConfigFallbackFactory.java
@@ -1,6 +1,7 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.poji.config.Activeness;
import com.ruoyi.system.api.service.RemoteConfigService;
import com.ruoyi.system.api.domain.poji.config.SysTag;
import org.slf4j.Logger;
@@ -35,6 +36,11 @@
            public R<List<SysTag>> listSysTag(Integer tagType) {
                return R.fail("获取标签失败:" + throwable.getMessage());
            }
            @Override
            public R<List<Activeness>> listActiveness() {
                return R.fail("获取活跃度失败:" + throwable.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java
@@ -3,6 +3,7 @@
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
import com.ruoyi.system.api.domain.poji.config.Activeness;
import com.ruoyi.system.api.domain.poji.config.SysTag;
import com.ruoyi.system.api.factory.RemoteActivityFallbackFactory;
import com.ruoyi.system.api.factory.RemoteConfigFallbackFactory;
@@ -27,4 +28,8 @@
    @PostMapping("/config/listSysTag")
    public R<List<SysTag>> listSysTag(@RequestBody Integer tagType);
    @PostMapping("/config/listActiveness")
    public  R<List<Activeness>> listActiveness();
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtMemberController.java
@@ -3,11 +3,16 @@
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.service.member.MemberService;
import com.ruoyi.system.api.domain.dto.MerBaseGetDto;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -16,7 +21,6 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
@@ -48,9 +52,42 @@
    @RequestMapping(value = "/editMemberRelationShop", method = RequestMethod.POST)
    @ApiOperation(value = "修改会员关联商户")
    public R<MerMemberInfoVo> getMerMemberInfo(@RequestBody MerBaseGetDto merBaseGetDto) {
    public R<MerMemberInfoVo> getMerMemberInfo(@RequestBody MgtMemberRelEditDto mgtMemberRelEditDto) {
        Long userId = SecurityUtils.getUserId();
        MerMemberInfoVo merMemberInfo = memberService.getMerMemberInfo(Long.valueOf(merBaseGetDto.getId()));
        return R.ok(merMemberInfo);
        mgtMemberRelEditDto.setUserId(userId);
        memberService.editMemberRelationShop(mgtMemberRelEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/deleteMemberRelationShop", method = RequestMethod.POST)
    @ApiOperation(value = "删除会员关联商户")
    public R<MerMemberInfoVo> deleteMemberRelationShop(@RequestBody MgtMemberRelDelDto mgtMemberRelDelDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberRelDelDto.setUserId(userId);
        memberService.deleteMemberRelationShop(mgtMemberRelDelDto);
        return R.ok();
    }
    @RequestMapping(value = "/editMemberIntegral", method = RequestMethod.POST)
    @ApiOperation(value = "修改会员关联商户")
    public R<MerMemberInfoVo> editMemberIntegral(@RequestBody MgtMemberIntEditDto mgtMemberIntEditDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberIntEditDto.setUserId(userId);
        memberService.editMemberIntegral(mgtMemberIntEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/getMgtMemberInfo", method = RequestMethod.POST)
    @ApiOperation(value = "获取会员信息")
    public R<MgtMemberGetVo> getMgtMemberInfo(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        mgtBaseGetDto.setUserId(userId);
        MgtMemberGetVo mgtMemberGetVo = memberService.getMgtMemberInfo(Long.valueOf(mgtBaseGetDto.getId()));
        return R.ok(mgtMemberGetVo);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MemberIntegralChangeDto.java
New file
@@ -0,0 +1,33 @@
package com.ruoyi.member.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName MemberIntegralChangeDto
 * @description: TODO
 * @date 2023年05月30日
 * @version: 1.0
 */
@Data
public class MemberIntegralChangeDto {
    @ApiModelProperty(value = "会员id")
    private String memberId;
    @ApiModelProperty(value = "积分类型1.购物赠送2.活动赠送3.平台赠送")
    private Integer recordType;
    @ApiModelProperty(value = "变动类型1增2减")
    private Integer changeType;
    @ApiModelProperty(value = "积分")
    private Integer integral;
    @ApiModelProperty(value = "关联订单id")
    private String orderId;
    @ApiModelProperty(value = "关联订单编号")
    private String orderNo;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberIntEditDto.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.member.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName MgtMemberRelationEditDto
 * @description: TODO
 * @date 2023年05月30日
 * @version: 1.0
 */
@Data
public class MgtMemberIntEditDto extends MgtBaseDto {
    @ApiModelProperty(value = "用户id")
    private Long memberUserId;
    @ApiModelProperty(value = "积分")
    private Integer integral;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberPageDto.java
@@ -70,10 +70,10 @@
    private Long activenessId;
    @ApiModelProperty(value = "活跃度开始时间",hidden = true)
    private String actStartDate;
    private Date actStartDate;
    @ApiModelProperty(value = "活跃度结束时间",hidden = true)
    private String actEndDate;
    private Date actEndDate;
    @ApiModelProperty(value = "开始消费次数")
    private Integer startPayCount;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberRelDelDto.java
New file
@@ -0,0 +1,22 @@
package com.ruoyi.member.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName MgtMemberRelationEditDto
 * @description: TODO
 * @date 2023年05月30日
 * @version: 1.0
 */
@Data
public class MgtMemberRelDelDto extends MgtBaseDto {
    @ApiModelProperty(value = "用户id")
    private Long memberUserId;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberRelEditDto.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.member.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName MgtMemberRelationEditDto
 * @description: TODO
 * @date 2023年05月30日
 * @version: 1.0
 */
@Data
public class MgtMemberRelEditDto extends MgtBaseDto {
    @ApiModelProperty(value = "用户id")
    private Long memberUserId;
    @ApiModelProperty(value = "商户id")
    private Long shopId;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MemberArchiveVo.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.member.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName MgtMemberArchiveVo
 * @description: TODO
 * @date 2023年05月30日
 * @version: 1.0
 */
@Data
public class MemberArchiveVo {
    @ApiModelProperty(value = "档案id")
    private Long fieldId;
    @ApiModelProperty(value = "档案名")
    private String fieldName;
    @ApiModelProperty(value = "档案值")
    private String fieldValue;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtActivenessJudgeVo.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.member.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MgtActivenessJudgeVo
 * @description: TODO
 * @date 2023年05月30日
 * @version: 1.0
 */
@Data
public class MgtActivenessJudgeVo {
    @ApiModelProperty(value = "活跃度")
    private String activenessName;
    @ApiModelProperty(value = "开始日期")
    private Date startDay;
    @ApiModelProperty(value = "结束日期")
    private Date endDay;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberGetVo.java
New file
@@ -0,0 +1,82 @@
package com.ruoyi.member.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * @author jqs34
 * @ClassName MgtMemberPageVo
 * @description: TODO
 * @date 2023年05月26日
 * @version: 1.0
 */
@Data
public class MgtMemberGetVo {
    @ApiModelProperty(value = "会员id")
    private String memberId;
    @ApiModelProperty(value = "用户id")
    private Long userId;
    @ApiModelProperty(value = "会员编号")
    private String memberNo;
    @ApiModelProperty(value = "用户姓名")
    private String realName;
    @ApiModelProperty(value = "用户昵称")
    private String nickName;
    @ApiModelProperty(value = "用户手机")
    private String mobile;
    @ApiModelProperty(value = "用户性别")
    private String gender;
    @ApiModelProperty(value = "用户生日")
    private String birthday;
    @ApiModelProperty(value = "所属地区")
    private String belongDistrict;
    @ApiModelProperty(value = "注册时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty(value = "最近消费时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastPayTime;
    @ApiModelProperty(value = "客户类型")
    private String goodsType;
    @ApiModelProperty(value = "关联商户名称")
    private String relationShopName;
    @ApiModelProperty(value = "积分")
    private Integer integral;
    @ApiModelProperty(value = "会员来源")
    private String memberFrom;
    @ApiModelProperty(value = "活动次数")
    private Integer totalActivityCount;
    @ApiModelProperty(value = "消费总金额")
    private BigDecimal totalPayMoney;
    @ApiModelProperty(value = "备注")
    private String memberRemark;
    @ApiModelProperty(value = "档案字段列表")
    private List<MemberArchiveVo> memberArchiveVoList;
    @ApiModelProperty(value = "用户标签 多个,隔开")
    private String memberTags;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberArchiveMapper.java
@@ -2,6 +2,10 @@
import com.ruoyi.member.domain.pojo.member.MemberArchive;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.member.domain.vo.MemberArchiveVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +17,10 @@
 */
public interface MemberArchiveMapper extends BaseMapper<MemberArchive> {
    /**
     * 获取用户档案
     * @param userId
     * @return
     */
    List<MemberArchiveVo> listVoByUserId(@Param("userId") Long userId);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberArchiveServiceImpl.java
@@ -1,10 +1,14 @@
package com.ruoyi.member.service.impl.member;
import com.ruoyi.member.domain.pojo.member.MemberArchive;
import com.ruoyi.member.domain.vo.MemberArchiveVo;
import com.ruoyi.member.mapper.member.MemberArchiveMapper;
import com.ruoyi.member.service.member.MemberArchiveService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
@@ -17,4 +21,16 @@
@Service
public class MemberArchiveServiceImpl extends ServiceImpl<MemberArchiveMapper, MemberArchive> implements MemberArchiveService {
    @Resource
    private MemberArchiveMapper memberArchiveMapper;
    /**
     * 获取用户档案
     * @param userId
     * @return
     */
    @Override
    public List<MemberArchiveVo> listVoByUserId(Long userId){
        return memberArchiveMapper.listVoByUserId(userId);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -1,4 +1,5 @@
package com.ruoyi.member.service.impl.member;
import com.google.common.collect.Lists;
import java.util.Date;
import cn.binarywang.wx.miniapp.api.WxMaService;
@@ -11,21 +12,22 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.dto.*;
import com.ruoyi.member.domain.pojo.member.IntegralRecord;
import com.ruoyi.member.domain.pojo.member.MemberNurse;
import com.ruoyi.member.domain.pojo.member.MemberTotal;
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.service.member.MemberTotalService;
import com.ruoyi.member.service.member.*;
import com.ruoyi.member.util.CodeFactoryUtil;
import com.ruoyi.member.util.HttpUtils;
import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto;
import com.ruoyi.system.api.domain.poji.config.Activeness;
import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo;
import com.ruoyi.system.api.service.RemoteConfigService;
import com.ruoyi.system.api.service.RemoteOrderService;
@@ -43,6 +45,7 @@
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import com.ruoyi.system.api.model.AppMiniLoginDto;
import com.ruoyi.system.api.model.AppMiniLoginVo;
import io.swagger.models.auth.In;
import lombok.extern.log4j.Log4j2;
import com.ruoyi.common.core.utils.StringUtils;
import org.apache.commons.lang3.ArrayUtils;
@@ -102,6 +105,13 @@
    @Resource
    private MemberTotalService memberTotalService;
    @Resource
    private IntegralRecordService integralRecordService;
    @Resource
    private MemberArchiveService memberArchiveService;
    /**
     * @description: TODO
@@ -655,8 +665,195 @@
     */
    @Override
    public List<MgtMemberPageVo> pageMgtMember(Page page,MgtMemberPageDto merMemberPageDto){
        List<Activeness> activenessList = remoteConfigService.listActiveness().getData();
        Date nowDay = DateUtils.getNowDate();
        //处理活跃度筛选
        if(activenessList!=null&&!activenessList.isEmpty()){
            for(Activeness activeness : activenessList){
               if(activeness.getActivenessId().equals(merMemberPageDto.getActivenessId())){
                   merMemberPageDto.setActStartDate(DateUtils.addDays(nowDay,activeness.getEndDay()));
                   merMemberPageDto.setActEndDate(DateUtils.addDays(nowDay,activeness.getStartDay()));
               }
            }
        }
        //查询获取结果列表
        List<MgtMemberPageVo> memberPageVoList = memberMapper.pageMgtMember(page, merMemberPageDto);
        //处理活跃度返回
        if(memberPageVoList!=null&&!memberPageVoList.isEmpty()){
            if(activenessList!=null&&!activenessList.isEmpty()){
                //生成活跃度时间段列表
                List<MgtActivenessJudgeVo> mgtActivenessJudgeVoList = new ArrayList<>();
                MgtActivenessJudgeVo mgtActivenessJudgeVo;
                for(Activeness activeness : activenessList){
                    mgtActivenessJudgeVo = new MgtActivenessJudgeVo();
                    mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(),activeness.getEndDay()));
                    mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(),activeness.getStartDay()-1));
                    mgtActivenessJudgeVo.setActivenessName(activeness.getActivenessName());
                }
                //活跃度赋值
                Date lastPayTime;
                for(MgtMemberPageVo mgtMemberPageVo : memberPageVoList){
                    lastPayTime = mgtMemberPageVo.getLastPayTime();
                    StringJoiner sj = new StringJoiner(",");
                    if(lastPayTime!=null){
                        for(MgtActivenessJudgeVo entity: mgtActivenessJudgeVoList){
                            if(lastPayTime.compareTo(entity.getStartDay())>=0&&lastPayTime.compareTo(entity.getEndDay())<=0){
                                sj.add(entity.getActivenessName());
                            }
                        }
                        if(sj.length()>0){
                            mgtMemberPageVo.setActiveness(sj.toString());
                        }
                    }
                }
            }
        }
        return memberPageVoList;
    }
    /**
     * 修改会员关联商户
     * @param mgtMemberRelEditDto
     */
    @Override
    public void editMemberRelationShop(MgtMemberRelEditDto mgtMemberRelEditDto){
        Member member = this.getByUserId(mgtMemberRelEditDto.getMemberUserId());
        Shop shop = shopService.getShop(mgtMemberRelEditDto.getShopId()).getData();
        member.setRelationShopId(shop.getShopId());
        member.setRelationShopName(shop.getShopName());
        member.setBindingFlag(1);
        member.setUpdateTime(new Date());
        member.setUpdateUserId(mgtMemberRelEditDto.getUserId());
        this.saveOrUpdate(member);
    }
    /**
     * 删除会员关联商户
     * @param mgtMemberRelDelDto
     */
    @Override
    public void deleteMemberRelationShop(MgtMemberRelDelDto mgtMemberRelDelDto){
        Member member = this.getById(mgtMemberRelDelDto.getMemberUserId());
        member.setBindingFlag(0);
        member.setUpdateTime(new Date());
        member.setUpdateUserId(mgtMemberRelDelDto.getUserId());
        this.saveOrUpdate(member);
    }
    /**
     * 修改会员积分
     * @param mgtMemberIntEditDto
     */
    @Override
    public void editMemberIntegral(MgtMemberIntEditDto mgtMemberIntEditDto){
        MemberIntegralChangeDto memberIntegralChangeDto = new MemberIntegralChangeDto();
        Member member = this.getByUserId(mgtMemberIntEditDto.getMemberUserId());
        memberIntegralChangeDto.setMemberId(member.getMemberId());
        memberIntegralChangeDto.setChangeType(1);
        memberIntegralChangeDto.setRecordType(3);
        memberIntegralChangeDto.setIntegral(mgtMemberIntEditDto.getIntegral());
        //调用积分变动
        memberIntegralChange(memberIntegralChangeDto);
    }
    /**
     * 会员积分变动
     * @param memberIntegralChangeDto
     */
    @Override
    public void memberIntegralChange(MemberIntegralChangeDto memberIntegralChangeDto){
        MemberTotal memberTotal = memberTotalService.getById(memberIntegralChangeDto.getMemberId());
        Integer recordType = memberIntegralChangeDto.getRecordType();
        Integer changeType = memberIntegralChangeDto.getChangeType();
        Integer integer = memberIntegralChangeDto.getIntegral();
        Integer totalIntegral = memberTotal.getTotalIntegral();
        Integer usedIntegral = memberTotal.getUsedIntegral();
        Integer useableIntegral = memberTotal.getUseableIntegral();
        //变动统计
        if(changeType==1){
            totalIntegral = totalIntegral + integer;
            useableIntegral = useableIntegral + integer;
            memberTotal.setTotalIntegral(totalIntegral);
            memberTotal.setUseableIntegral(useableIntegral);
        }else if(changeType==2){
            usedIntegral = usedIntegral + integer;
            useableIntegral = useableIntegral - integer;
            if(useableIntegral<0){
                throw new ServiceException(AppErrorConstant.INTEGRAL_USE_FAILED);
            }
            memberTotal.setTotalIntegral(totalIntegral);
            memberTotal.setUseableIntegral(useableIntegral);
            memberTotal.setUsedIntegral(usedIntegral);
        }
        memberTotalService.saveOrUpdate(memberTotal);
        //记录变动
        IntegralRecord integralRecord = new IntegralRecord();
        integralRecord.setDelFlag(0);
        integralRecord.setChangeType(recordType);
        if(changeType==1){
            integralRecord.setChangeIntegral(integer);
        }else if(changeType==2){
            integralRecord.setChangeIntegral( 0-integer);
        }
        integralRecord.setSurpIntegral(useableIntegral);
        integralRecord.setCreateTime(new Date());
        integralRecord.setOrderId(memberIntegralChangeDto.getOrderId());
        integralRecord.setOrderNo(memberIntegralChangeDto.getOrderNo());
        switch (recordType){
            case 1:
                integralRecord.setChangeReason("购物赠送");
                break;
            case 2:
                integralRecord.setChangeReason("活动赠送");
                break;
            case 3:
                integralRecord.setChangeReason("平台赠送");
                break;
            default:
                break;
        }
        integralRecordService.saveOrUpdate(integralRecord);
    }
    /**
     * 平台获取会员信息
     * @param userId
     * @return
     */
    @Override
    public MgtMemberGetVo getMgtMemberInfo(Long userId){
        MgtMemberGetVo mgtMemberGetVo = new MgtMemberGetVo();
        Member member = this.getByUserId(userId);
        MemberTotal memberTotal = memberTotalService.getById(member.getMemberId());
        List<MemberArchiveVo> memberArchiveVoList = memberArchiveService.listVoByUserId(member.getUserId());
        if(memberArchiveVoList!=null&&!memberArchiveVoList.isEmpty()){
            //去掉未完善信息
            memberArchiveVoList.removeIf(o -> Objects.isNull(o.getFieldValue()));
        }
        mgtMemberGetVo.setMemberId(member.getMemberId());
        mgtMemberGetVo.setUserId(member.getUserId());
        mgtMemberGetVo.setMemberNo(member.getMemberNo());
        mgtMemberGetVo.setRealName(member.getRealName());
        mgtMemberGetVo.setNickName(member.getNickName());
        mgtMemberGetVo.setMobile(member.getMobile());
        mgtMemberGetVo.setGender(member.getGender()==0 ? "男" : member.getGender()==1 ? "女" : null);
        mgtMemberGetVo.setBirthday(member.getBirthday());
        mgtMemberGetVo.setBelongDistrict(member.getBelongDistrict());
        mgtMemberGetVo.setCreateTime(member.getCreateTime());
        mgtMemberGetVo.setLastPayTime(memberTotal.getLastPayTime());
        mgtMemberGetVo.setGoodsType(member.getGoodsType());
        mgtMemberGetVo.setRelationShopName(member.getRelationShopName());
        mgtMemberGetVo.setIntegral(memberTotal.getTotalIntegral());
        mgtMemberGetVo.setMemberFrom(member.getCustomerSource());
        mgtMemberGetVo.setTotalActivityCount(memberTotal.getTotalActivityCount());
        mgtMemberGetVo.setTotalPayMoney(memberTotal.getTotalPayMoney());
        mgtMemberGetVo.setMemberRemark(null);
        mgtMemberGetVo.setMemberArchiveVoList(memberArchiveVoList);
        mgtMemberGetVo.setMemberTags(member.getUserTags());
        return mgtMemberGetVo;
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberArchiveService.java
@@ -2,6 +2,9 @@
import com.ruoyi.member.domain.pojo.member.MemberArchive;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.member.domain.vo.MemberArchiveVo;
import java.util.List;
/**
 * <p>
@@ -13,4 +16,10 @@
 */
public interface MemberArchiveService extends IService<MemberArchive> {
    /**
     * 获取用户档案
     * @param userId
     * @return
     */
    List<MemberArchiveVo> listVoByUserId(Long userId);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -148,4 +148,35 @@
     * @return
     */
    List<MgtMemberPageVo> pageMgtMember(Page page,MgtMemberPageDto merMemberPageDto);
    /**
     * 修改会员关联商户
     * @param mgtMemberRelEditDto
     */
    void editMemberRelationShop(MgtMemberRelEditDto mgtMemberRelEditDto);
    /**
     * 删除会员关联商户
     * @param mgtMemberRelDelDto
     */
    void deleteMemberRelationShop(MgtMemberRelDelDto mgtMemberRelDelDto);
    /**
     * 修改会员积分
     * @param mgtMemberIntEditDto
     */
    void editMemberIntegral(MgtMemberIntEditDto mgtMemberIntEditDto);
    /**
     * 会员积分变动
     * @param memberIntegralChangeDto
     */
    void memberIntegralChange(MemberIntegralChangeDto memberIntegralChangeDto);
    /**
     * 平台获取会员信息
     * @param userId
     * @return
     */
    MgtMemberGetVo getMgtMemberInfo(Long userId);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/CodeFactoryUtil.java
@@ -51,10 +51,14 @@
     * 更具id进行加密+加随机数组成固定长度编码
     */
    public static void main(String[] args) {
        Long orderId = 1L;
        String userNo = getShopNo(orderId);
        System.out.println(userNo);
    public static void main(String[] args) throws Exception{
        Date date1 = DateUtils.parseDate("2023-05-29","YY-MM-dd");
        Date date2 = DateUtils.parseDate("2023-05-30","YY-MM-dd");
        Date date3 = DateUtils.parseDate("2023-05-31","YY-MM-dd");
        Date date4 = DateUtils.parseDate("2023-05-30 12:00:00","YY-MM-dd");
        System.out.println(date4.compareTo(date1));
        System.out.println(date4.compareTo(date2));
        System.out.println(date4.compareTo(date3));
    }
    /**
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberArchiveMapper.xml
@@ -66,4 +66,15 @@
        </foreach>
    </delete>
    <select id="listVoByUserId" resultType="com.ruoyi.member.domain.vo.MemberArchiveVo">
        SELECT
        tmaf.id fieldId,
        tmaf.field_name fieldName,
        tma.field_value fieldValue
        FROM t_member_archive_fields tmaf
        INNER JOIN t_member_archive tma ON tma.field_id = tmaf.id AND tma.user_id = #{userId} AND tma.del_flag = 0
        WHERE tmaf.del_flag = 0
        ORDER BY tmaf.field_sort DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java
New file
@@ -0,0 +1,62 @@
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.MerOrderPageDto;
import com.ruoyi.order.domain.dto.MgtMemberOrderPageDto;
import com.ruoyi.order.domain.dto.MgtMemberOrderTotalDto;
import com.ruoyi.order.domain.vo.MerOrderPageVo;
import com.ruoyi.order.domain.vo.MgtMemberOrderPageVo;
import com.ruoyi.order.domain.vo.MgtMemberOrderTotalVo;
import com.ruoyi.order.service.order.OrderService;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
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;
import static org.reflections.Reflections.log;
/**
 * @author jqs34
 * @ClassName MgtOrderController
 * @description: TODO
 * @date 2023年05月30日
 * @version: 1.0
 */
@Api(value = "管理台订单相关接口", tags = "管理台订单相关接口", description = "管理台订单相关接口")
@RestController
@RequestMapping("/mgt/order")
public class MgtOrderController {
    @Autowired
    private OrderService orderService;
    @RequestMapping(value = "/getMgtMemberOrderTotal", method = RequestMethod.POST)
    @ApiOperation(value = "获取会员订单统计")
    public R<MgtMemberOrderTotalVo> getMgtMemberOrderTotal(@RequestBody MgtMemberOrderTotalDto mgtMemberOrderTotalDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberOrderTotalDto.setUserId(userId);
        MgtMemberOrderTotalVo mgtMemberOrderTotalVo = orderService.getMgtMemberOrderTotal(mgtMemberOrderTotalDto);
        return R.ok(mgtMemberOrderTotalVo);
    }
    @RequestMapping(value = "/pageMgtMemberOrder", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取用户订单列表")
    public R<Page<MgtMemberOrderPageVo>> pageMgtMemberOrder(@RequestBody MgtMemberOrderPageDto mgtMemberOrderPageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberOrderPageDto.setUserId(userId);
        Page<MgtMemberOrderPageVo> page = new Page<>();
        page.setSize(mgtMemberOrderPageDto.getPageSize());
        page.setCurrent(mgtMemberOrderPageDto.getPageNum());
        List<MgtMemberOrderPageVo> mgtMemberOrderPageVoList = orderService.pageMgtMemberOrder(page,mgtMemberOrderPageDto);
        return R.ok(page.setRecords(mgtMemberOrderPageVoList));
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderPageDto.java
New file
@@ -0,0 +1,40 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MgtMemberOrderTotalDto
 * @description: TODO
 * @date 2023年05月30日
 * @version: 1.0
 */
@Data
public class MgtMemberOrderPageDto extends MgtPageDto {
    @ApiModelProperty(value = "用户id")
    private Long userId;
    @ApiModelProperty(value = "搜索关键词")
    private String keyword;
    @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成")
    private Integer orderStatus;
    @ApiModelProperty(value = "订单开始日期")
    private Date startOrderDate;
    @ApiModelProperty(value = "订单结束日期")
    private Date endOrderDate;
    @ApiModelProperty(value = "订单来源1.店铺商品2.平台秒杀活动3.线下创建")
    private Integer orderFrom;
    @ApiModelProperty(value = "核销门店id")
    private Long shopId;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderTotalDto.java
New file
@@ -0,0 +1,34 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName MgtMemberOrderTotalDto
 * @description: TODO
 * @date 2023年05月30日
 * @version: 1.0
 */
@Data
public class MgtMemberOrderTotalDto extends MgtBaseDto {
    @ApiModelProperty(value = "用户id")
    private Long userId;
    @ApiModelProperty(value = "搜索关键词")
    private String keyword;
    @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成")
    private Integer orderStatus;
    @ApiModelProperty(value = "订单开始日期")
    private Date startOrderDate;
    @ApiModelProperty(value = "订单结束日期")
    private Date endOrderDate;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderPageVo.java
New file
@@ -0,0 +1,60 @@
package com.ruoyi.order.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * @author jqs34
 * @ClassName MerMemberUnclearOrder
 * @description: TODO
 * @date 2023年05月05日
 * @version: 1.0
 */
@Data
public class MgtMemberOrderPageVo {
    @ApiModelProperty(value = "订单id")
    private String orderId;
    @ApiModelProperty("订单编号")
    private String orderNo;
    @ApiModelProperty("核销门店id")
    private Long shopId;
    @ApiModelProperty("核销门店")
    private String shopName;
    @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成")
    private Integer orderStatus;
    @ApiModelProperty(value = "订单总价")
    private BigDecimal orderMoney;
    @ApiModelProperty(value = "优惠券抵扣")
    private BigDecimal discountMoney;
    @ApiModelProperty("应收金额")
    private BigDecimal receivableMoney;
    @ApiModelProperty("订单实际支付金额")
    private BigDecimal payMoney;
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty("订单来源")
    private Integer orderFrom;
    @ApiModelProperty("订单来源")
    private String orderFromDesc;
    @ApiModelProperty("订单商品列表")
    private List<MgtOrderGoodsPageVo> mgtOrderGoodsVoList;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderTotalVo.java
New file
@@ -0,0 +1,32 @@
package com.ruoyi.order.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author jqs34
 * @ClassName MgtMemberOrderTotalVo
 * @description: TODO
 * @date 2023年05月30日
 * @version: 1.0
 */
@Data
public class MgtMemberOrderTotalVo {
    @ApiModelProperty(value = "订单总数")
    private Integer orderTotal;
    @ApiModelProperty(value = "订单总金额")
    private BigDecimal totalOrderMoney;
    @ApiModelProperty(value = "应收总金额")
    private BigDecimal totalReceivableMoney;
    @ApiModelProperty(value = "优惠总金额")
    private BigDecimal totalDiscountMoney;
    @ApiModelProperty(value = "支付总金额")
    private BigDecimal totalPayMoney;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderGoodsPageVo.java
New file
@@ -0,0 +1,22 @@
package com.ruoyi.order.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName MerOrderGoodsVo
 * @description: TODO
 * @date 2023年05月06日
 * @version: 1.0
 */
@Data
public class MgtOrderGoodsPageVo {
    @ApiModelProperty("商品名字")
    private String goodsName;
    @ApiModelProperty("购买数量")
    private Integer buyNum;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -3,11 +3,11 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.order.domain.dto.AppUserOrderPageDto;
import com.ruoyi.order.domain.dto.MerOrderPageDto;
import com.ruoyi.order.domain.dto.MgtMemberOrderPageDto;
import com.ruoyi.order.domain.dto.MgtMemberOrderTotalDto;
import com.ruoyi.order.domain.pojo.order.Order;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.order.domain.vo.AppUserOrderPageVo;
import com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo;
import com.ruoyi.order.domain.vo.MerOrderPageVo;
import com.ruoyi.order.domain.vo.*;
import com.ruoyi.system.api.domain.dto.MerPageDto;
import org.apache.ibatis.annotations.Param;
@@ -56,4 +56,19 @@
     * @return
     */
    List<MerMemberNoClearOrderVo> pageMerMemberOrder(Page page,  @Param("userId") Long userId);
    /**
     * 获取用户订单统计
     * @param mgtMemberOrderTotalDto
     * @return
     */
    MgtMemberOrderTotalVo getMgtMemberOrderTotal(@Param("param") MgtMemberOrderTotalDto mgtMemberOrderTotalDto);
    /**
     * 分页获取用户订单列表
     * @param page
     * @param mgtMemberOrderPageDto
     * @return
     */
    List<MgtMemberOrderPageVo> pageMgtMemberOrder(Page page, @Param("param") MgtMemberOrderPageDto mgtMemberOrderPageDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -32,6 +32,7 @@
import com.ruoyi.order.mapper.order.OrderMapper;
import com.ruoyi.order.service.order.OrderService;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -927,4 +928,26 @@
        }
        return merMemberNoClearOrderVoList;
    }
    /**
     * 获取用户订单统计
     * @param mgtMemberOrderTotalDto
     * @return
     */
    @Override
    public MgtMemberOrderTotalVo getMgtMemberOrderTotal(MgtMemberOrderTotalDto mgtMemberOrderTotalDto){
        MgtMemberOrderTotalVo mgtMemberOrderTotalVo = orderMapper.getMgtMemberOrderTotal(mgtMemberOrderTotalDto);
        return mgtMemberOrderTotalVo;
    }
    /**
     * 分页获取用户订单列表
     * @param page
     * @param mgtMemberOrderPageDto
     * @return
     */
    @Override
    public List<MgtMemberOrderPageVo> pageMgtMemberOrder(Page page, MgtMemberOrderPageDto mgtMemberOrderPageDto){
        return orderMapper.pageMgtMemberOrder(page, mgtMemberOrderPageDto);
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -9,6 +9,7 @@
import com.ruoyi.system.api.domain.dto.MerPageDto;
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -109,18 +110,32 @@
    void createNewOrder(MerNewOrderDto merNewOrderDto);
    /**
     *
     * 分页获取商户订单
     * @param merOrderPageDto
     * @return
     */
    List<MerOrderPageVo> pageMerOrder(Page page,MerOrderPageDto merOrderPageDto);
    /**
     *
     * 分页商户端用户收银记录
     * @param page
     * @param merMemberNoClearOrderDto
     * @return
     */
    List<MerMemberNoClearOrderVo> pageMerMemberOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto);
    /**
     * 获取用户订单统计
     * @param mgtMemberOrderTotalDto
     * @return
     */
    MgtMemberOrderTotalVo getMgtMemberOrderTotal(MgtMemberOrderTotalDto mgtMemberOrderTotalDto);
    /**
     * 分页获取用户订单列表
     * @param page
     * @param mgtMemberOrderPageDto
     * @return
     */
    List<MgtMemberOrderPageVo> pageMgtMemberOrder(Page page, MgtMemberOrderPageDto mgtMemberOrderPageDto);
}
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.order.mapper.order.OrderMapper">
    <resultMap type="Order" id="OrderResult">
    <resultMap type="com.ruoyi.order.domain.pojo.order.Order" id="OrderResult">
        <result property="orderId"    column="order_id"    />
        <result property="delFlag"    column="del_flag"    />
        <result property="orderStatus"    column="order_status"    />
@@ -69,11 +69,28 @@
        </collection>
    </resultMap>
    <resultMap id="mgtOrderResultMap" type="com.ruoyi.order.domain.vo.MgtMemberOrderPageVo">
        <result column="orderId" property="orderId"/>
        <result column="orderStatus" property="orderStatus"/>
        <result column="orderNo" property="orderNo"/>
        <result column="shopId" property="shopId"/>
        <result column="orderMoney" property="orderMoney"/>
        <result column="discountMoney" property="discountMoney"/>
        <result column="receivableMoney" property="receivableMoney"/>
        <result column="payMoney" property="payMoney"/>
        <result column="orderFrom" property="orderFrom" />
        <result column="createTime" property="createTime" />
        <collection property="merOrderGoodsVoList" ofType="com.ruoyi.order.domain.vo.MerOrderGoodsPageVo">
            <result column="goodsName" property="goodsName"/>
            <result column="buyNum" property="buyNum"/>
        </collection>
    </resultMap>
    <sql id="selectOrderVo">
        select order_id, del_flag, order_status, order_no, order_from, shop_id, user_id, order_money, coupon_money, discount_money, receivable_money, pay_type, pay_money, online_pay_money, offline_pay_money, order_remark, goods_info, create_time, pay_time, use_time, cancel_time, use_user_id from t_order
    </sql>
    <select id="selectOrderList" parameterType="Order" resultMap="OrderResult">
    <select id="selectOrderList" parameterType="com.ruoyi.order.domain.pojo.order.Order" resultMap="OrderResult">
        <include refid="selectOrderVo"/>
        <where>
            <if test="orderStatus != null "> and order_status = #{orderStatus}</if>
@@ -103,7 +120,7 @@
        where order_id = #{orderId}
    </select>
    <insert id="insertOrder" parameterType="Order">
    <insert id="insertOrder" parameterType="com.ruoyi.order.domain.pojo.order.Order">
        insert into t_order
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="orderId != null">order_id,</if>
@@ -155,7 +172,7 @@
        </trim>
    </insert>
    <update id="updateOrder" parameterType="Order">
    <update id="updateOrder" parameterType="com.ruoyi.order.domain.pojo.order.Order">
        update t_order
        <trim prefix="SET" suffixOverrides=",">
            <if test="delFlag != null">del_flag = #{delFlag},</if>
@@ -204,8 +221,8 @@
        toc.goods_num goodsNum,
        toc.shop_id shopId,
        tog.goods_id goodsId,
        tg.goods_name goodsName,
        tgf.file_url goodsPicture,
        tog.goods_name goodsName,
        tog.goods_picture goodsPicture,
        tog.order_goods_id orderGoodsId,
        tog.goods_type goodsType,
        tog.buy_num buyNum,
@@ -215,8 +232,6 @@
        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
        INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
        WHERE toc.del_flag = 0
        <if test="param.orderStatus != null">
            AND toc.order_status = #{param.orderStatus}
@@ -255,14 +270,13 @@
        toc.receivable_deposit receivableDeposit,
        toc.pay_money payMoney,
        toc.order_remark orderRemark,
        tg.goods_name goodsName,
        tog.goods_name goodsName,
        tog.goods_type goodsType,
        tog.buy_num buyNum,
        toc.create_time createTime,
        toc.order_from 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
        WHERE toc.del_flag = 0
        <if test="param.memberUserId != null and param.memberUserId != ''">
            AND toc.user_id = #{param.memberUserId}
@@ -305,4 +319,66 @@
        WHERE toc.del_flag = 0 AND toc.user_id = #{userId} AND (toc.order_status = 2 OR toc.order_status = 3)
        ORDER BY toc.create_time DESC
    </select>
    <select id="getMgtMemberOrderTotal" resultType="com.ruoyi.order.domain.vo.MgtMemberOrderTotalVo">
        SELECT
        COUNT(toc.order_id) orderTotal,
        IFNULL(SUM(IFNULL(toc.order_money,0)),0) totalOrderMoney,
        IFNULL(SUM(IFNULL(toc.receivable_money,0)),0) totalReceivableMoney,
        IFNULL(SUM(IFNULL(toc.discount_money,0)),0) totalDiscountMoney,
        IFNULL(SUM(IFNULL(toc.pay_money,0)),0) totalPayMoney
        FROM t_order toc
        WHERE toc.del_flag = 0 AND toc.user_id = #{param.userId}
        <if test="param.orderStatus != null">
            AND toc.order_status = #{param.orderStatus}
        </if>
        <if test="param.startOrderDate != null and param.startOrderDate != '' ">
            AND toc.create_time &gt;= #{param.startOrderDate}
        </if>
        <if test="param.endOrderDate != null and param.endOrderDate != '' ">
            AND toc.create_time &lt;= #{param.endOrderDate}
        </if>
        <if test="param.keyword != null and param.keyword != ''">
            AND toc.order_no LIKE CONCAT('%',#{param.keyword},'%')
        </if>
    </select>
    <select id="pageMgtMemberOrder" resultMap="mgtOrderResultMap">
        SELECT
        toc.order_id orderId,
        toc.order_no orderNo,
        toc.order_status orderStatus,
        toc.shop_id shopId,
        toc.order_money orderGoodsMoney,
        toc.discount_money discountMoney,
        toc.receivable_money receivableMoney,
        toc.pay_money payMoney,
        tog.goods_name goodsName,
        tog.buy_num buyNum,
        toc.create_time createTime,
        toc.order_from 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
        WHERE toc.del_flag = 0 AND toc.user_id = #{param.userId}
        <if test="param.orderStatus != null">
            AND toc.order_status = #{param.orderStatus}
        </if>
        <if test="param.shopId != null and param.shopId != ''">
            AND toc.shop_id = #{param.shopId}
        </if>
        <if test="param.orderFrom != null and param.orderFrom != ''">
            AND toc.order_from = #{param.orderFrom}
        </if>
        <if test="param.startOrderDate != null and param.startOrderDate != ''">
            AND toc.create_time &gt;= #{param.startOrderDate}
        </if>
        <if test="param.endOrderDate != null and param.endOrderDate != ''">
            AND toc.create_time &lt;= #{param.endOrderDate}
        </if>
        <if test="param.keyword != null and param.keyword != ''">
            AND toc.order_no LIKE CONCAT('%',#{param.keyword},'%')
        </if>
        ORDER BY toc.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java
@@ -1,10 +1,10 @@
package com.ruoyi.system.controller.conslole;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.annotation.InnerAuth;
import com.ruoyi.system.api.domain.poji.config.SysTag;
import com.ruoyi.system.api.domain.poji.config.Activeness;
import com.ruoyi.system.service.config.ActivenessService;
import com.ruoyi.system.service.config.SysTagService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -23,6 +23,9 @@
    @Resource
    private SysTagService sysTagService;
    @Resource
    private ActivenessService activenessService;
    /**
     * 获取系统标签
@@ -47,4 +50,16 @@
        List<SysTag> sysTagList = sysTagService.listByType(tagType);
        return R.ok(sysTagList);
    }
    /**
     * 获取活跃度配置
     * @return
     */
    @PostMapping("/listActiveness")
    public R<List<Activeness>> listActiveness()
    {
        List<Activeness> activenessList = activenessService.listActiveness();
        return R.ok(activenessList);
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/ActivenessMapper.java
@@ -1,6 +1,6 @@
package com.ruoyi.system.mapper.config;
import com.ruoyi.system.domain.pojo.config.Activeness;
import com.ruoyi.system.api.domain.poji.config.Activeness;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/ActivenessService.java
@@ -1,7 +1,9 @@
package com.ruoyi.system.service.config;
import com.ruoyi.system.domain.pojo.config.Activeness;
import com.ruoyi.system.api.domain.poji.config.Activeness;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * <p>
@@ -13,4 +15,10 @@
 */
public interface ActivenessService extends IService<Activeness> {
    /**
     * 获取活跃度list
     * @return
     */
    List<Activeness> listActiveness();
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/ActivenessServiceImpl.java
@@ -1,10 +1,14 @@
package com.ruoyi.system.service.impl.config;
import com.ruoyi.system.domain.pojo.config.Activeness;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.system.api.domain.poji.config.Activeness;
import com.ruoyi.system.mapper.config.ActivenessMapper;
import com.ruoyi.system.service.config.ActivenessService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
@@ -17,4 +21,17 @@
@Service
public class ActivenessServiceImpl extends ServiceImpl<ActivenessMapper, Activeness> implements ActivenessService {
    @Resource
    private ActivenessMapper activenessMapper;
    /**
     * 获取活跃度list
     * @return
     */
    @Override
    public List<Activeness> listActiveness(){
        List<Activeness> activenessList = activenessMapper.selectList(new LambdaQueryWrapper<Activeness>().eq(Activeness::getDelFlag, 0));
        return activenessList;
    }
}