Browse Source

修复bug

master
前端-胡立永 2 weeks ago
parent
commit
e1529b9213
18 changed files with 487 additions and 56 deletions
  1. +1
    -1
      CatmDogd-Mall-Front-test/.env.development
  2. +7
    -3
      CatmDogd-Mall-Front-test/src/views/model/AppletConfig/hhindex.vue
  3. +1
    -1
      ruoyi-admin/src/main/resources/application.yml
  4. +55
    -5
      ruoyi-catdog/src/main/java/com/ruoyi/applet/contoller/ApiAppletHhrWorkOutController.java
  5. +31
    -0
      ruoyi-catdog/src/main/java/com/ruoyi/applet/contoller/ApiMallUserTeacherController.java
  6. +0
    -2
      ruoyi-catdog/src/main/java/com/ruoyi/applet/service/impl/IApiMallOrderServiceImpl.java
  7. +6
    -0
      ruoyi-catdog/src/main/java/com/ruoyi/model/domain/AppUsers.java
  8. +10
    -2
      ruoyi-catdog/src/main/java/com/ruoyi/model/domain/AppletAmountLog.java
  9. +4
    -0
      ruoyi-catdog/src/main/java/com/ruoyi/model/domain/AppletConfig.java
  10. +4
    -0
      ruoyi-catdog/src/main/java/com/ruoyi/model/service/IAppUsersService.java
  11. +5
    -1
      ruoyi-catdog/src/main/java/com/ruoyi/model/service/IAppletConfigService.java
  12. +252
    -31
      ruoyi-catdog/src/main/java/com/ruoyi/model/service/impl/AApiAppletHhrWorkOutServiceImpl.java
  13. +2
    -2
      ruoyi-catdog/src/main/java/com/ruoyi/model/service/impl/AApiAppletLoginServiceImpl.java
  14. +72
    -0
      ruoyi-catdog/src/main/java/com/ruoyi/model/service/impl/AppUsersServiceImpl.java
  15. +20
    -6
      ruoyi-catdog/src/main/java/com/ruoyi/model/service/impl/AppletConfigServiceImpl.java
  16. +3
    -0
      ruoyi-mall/src/main/java/com/cyl/h5/service/H5PetService.java
  17. +11
    -2
      ruoyi-mall/src/main/java/com/cyl/manager/ums/pojo/vo/MemberExtendVo.java
  18. +3
    -0
      ruoyi-mall/src/main/java/com/cyl/manager/ums/pojo/vo/MemberV2VO.java

+ 1
- 1
CatmDogd-Mall-Front-test/.env.development View File

@ -8,7 +8,7 @@ VUE_APP_TITLE = 下单伴宠师综合管理平台
# VUE_APP_BASE_API = 'https://api.catmdogd.com' # VUE_APP_BASE_API = 'https://api.catmdogd.com'
# VUE_APP_BASE_API = 'https://pet-admin.hhlm1688.com/api/' # VUE_APP_BASE_API = 'https://pet-admin.hhlm1688.com/api/'
# VUE_APP_BASE_API = 'http://h5.xzaiyp.top' # VUE_APP_BASE_API = 'http://h5.xzaiyp.top'
VUE_APP_BASE_API = 'http://localhost:8002'
VUE_APP_BASE_API = 'http://localhost:8003'
# 路由懒加载 # 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true


+ 7
- 3
CatmDogd-Mall-Front-test/src/views/model/AppletConfig/hhindex.vue View File

@ -99,6 +99,7 @@
<el-table-column label="编码" align="center" prop="paramCode" /> <el-table-column label="编码" align="center" prop="paramCode" />
<el-table-column label="数值" align="center" prop="paramValueNum" /> <el-table-column label="数值" align="center" prop="paramValueNum" />
<el-table-column label="比例(计算使用)" align="center" prop="paramValueNo" /> <el-table-column label="比例(计算使用)" align="center" prop="paramValueNo" />
<el-table-column label="需邀请人数" align="center" prop="paramCondition" />
<el-table-column label="百分比" align="center" prop="paramValueText" /> <el-table-column label="百分比" align="center" prop="paramValueText" />
<!-- <el-table-column label="参数值-图片" align="center" prop="paramValueImage" v-if="columns[3].visible"/>--> <!-- <el-table-column label="参数值-图片" align="center" prop="paramValueImage" v-if="columns[3].visible"/>-->
@ -158,10 +159,13 @@
<el-form-item label="比例" prop="paramValueNo"> <el-form-item label="比例" prop="paramValueNo">
<el-input v-model="form.paramValueNo" placeholder="请输入参数值-百分比" /> <el-input v-model="form.paramValueNo" placeholder="请输入参数值-百分比" />
</el-form-item> </el-form-item>
<el-form-item label="需邀请人数" prop="paramCondition">
<el-input v-model="form.paramCondition" placeholder="需邀请人数" />
</el-form-item>
<!-- <el-form-item label="图片">-->
<!-- <oss-image-upload v-model="form.paramValueImage" :limit="1"></oss-image-upload>-->
<!-- </el-form-item>-->
<el-form-item label="图">
<oss-image-upload v-model="form.paramValueImage" :limit="1"></oss-image-upload>
</el-form-item>
<!-- <el-form-item label="富文本" prop="paramValueArea">--> <!-- <el-form-item label="富文本" prop="paramValueArea">-->
<!-- <Editor v-model="form.paramValueArea" placeholder="请输入内容" type="url"></Editor>--> <!-- <Editor v-model="form.paramValueArea" placeholder="请输入内容" type="url"></Editor>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->


+ 1
- 1
ruoyi-admin/src/main/resources/application.yml View File

@ -20,7 +20,7 @@ ruoyi:
# 开发环境配置.0 # 开发环境配置.0
server: server:
# 服务器的HTTP端口,默认为8080 # 服务器的HTTP端口,默认为8080
port: 8002
port: 8003
servlet: servlet:
# 应用的访问路径 # 应用的访问路径
context-path: / context-path: /


+ 55
- 5
ruoyi-catdog/src/main/java/com/ruoyi/applet/contoller/ApiAppletHhrWorkOutController.java View File

@ -1,17 +1,24 @@
package com.ruoyi.applet.contoller; package com.ruoyi.applet.contoller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.cyl.manager.oms.domain.Order;
import com.cyl.manager.oms.mapper.OrderMapper;
import com.cyl.manager.ums.domain.Member; import com.cyl.manager.ums.domain.Member;
import com.cyl.manager.ums.mapper.MemberMapper; import com.cyl.manager.ums.mapper.MemberMapper;
import com.cyl.manager.ums.pojo.query.MemberQuery; import com.cyl.manager.ums.pojo.query.MemberQuery;
import com.cyl.manager.ums.pojo.vo.MemberDataStatisticsVO; import com.cyl.manager.ums.pojo.vo.MemberDataStatisticsVO;
import com.cyl.manager.ums.pojo.vo.MemberExtendVo; import com.cyl.manager.ums.pojo.vo.MemberExtendVo;
import com.cyl.manager.ums.service.MemberService; import com.cyl.manager.ums.service.MemberService;
import com.github.pagehelper.PageHelper;
import com.ruoyi.applet.pojo.dto.ApiQueryIIdDTO; import com.ruoyi.applet.pojo.dto.ApiQueryIIdDTO;
import com.ruoyi.applet.pojo.dto.ApiQueryIIdMyUserDTO; import com.ruoyi.applet.pojo.dto.ApiQueryIIdMyUserDTO;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.SortUtil;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.model.domain.AppBanner; import com.ruoyi.model.domain.AppBanner;
import com.ruoyi.model.domain.AppUsers; import com.ruoyi.model.domain.AppUsers;
import com.ruoyi.model.domain.AppletAmountLog;
import com.ruoyi.model.domain.AppletUsers; import com.ruoyi.model.domain.AppletUsers;
import com.ruoyi.model.service.*; import com.ruoyi.model.service.*;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -46,6 +53,12 @@ public class ApiAppletHhrWorkOutController {
@Resource @Resource
private IAppUsersService appUsersService; private IAppUsersService appUsersService;
@Resource
private OrderMapper orderMapper;
@Resource
private IAppletAmountLogService appletAmountLogService;
//合伙人工作台 - 绑定用户基础信息 //合伙人工作台 - 绑定用户基础信息
@ApiOperation("合伙人工作台 - 绑定用户基础信息") @ApiOperation("合伙人工作台 - 绑定用户基础信息")
@ -85,22 +98,59 @@ public class ApiAppletHhrWorkOutController {
AppUsers appUsers = appUsersService.selectAppUsersByUserId(dto.getAppUserId()); AppUsers appUsers = appUsersService.selectAppUsersByUserId(dto.getAppUserId());
if (StringUtils.isEmpty(appUsers.getInvitationCode())){
return ResponseEntity.ok(new PageImpl<>(new ArrayList<>()));
}
// MemberQuery query = new MemberQuery();
// query.setInviteCode(appUsers.getInvitationCode());
// List<Member> list = service.selectList(query, page);
if (page != null) {
PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize(), SortUtil.sort2string(page.getSort(),"id desc"));
}
MemberQuery query = new MemberQuery();
query.setInviteCode(appUsers.getInvitationCode());
List<Member> list = service.selectList(query, page);
List<Member> list = memberMapper.selectList(Wrappers.<Member>lambdaQuery()
.eq(Member::getInviteCode, appUsers.getInvitationCode()));
List<MemberExtendVo> memberExtendVoList = new ArrayList<>(); List<MemberExtendVo> memberExtendVoList = new ArrayList<>();
list.forEach(member -> { list.forEach(member -> {
MemberExtendVo memberExtendVo = new MemberExtendVo(); MemberExtendVo memberExtendVo = new MemberExtendVo();
BeanUtils.copyProperties(member, memberExtendVo); BeanUtils.copyProperties(member, memberExtendVo);
MemberDataStatisticsVO mds = service.viewStatistics(member.getId()); MemberDataStatisticsVO mds = service.viewStatistics(member.getId());
if (mds.getOrderCount() == 0 && dto.getState() != 0
|| mds.getOrderCount() > 0 && dto.getState() == 0){
return;
}
BeanUtils.copyProperties(mds, memberExtendVo); BeanUtils.copyProperties(mds, memberExtendVo);
memberExtendVo.setPhoneHidden(service.getPhoneDecrypted(memberExtendVo.getPhoneEncrypted())); memberExtendVo.setPhoneHidden(service.getPhoneDecrypted(memberExtendVo.getPhoneEncrypted()));
//lzx-增加了一个邀请码的回显
memberExtendVo.setInviteCode(member.getInviteCode());
//查询最近下单时间
Order order = orderMapper.selectOne(Wrappers.<Order>lambdaQuery()
.select(Order::getCreateTime)
.orderByDesc(Order::getCreateTime)
.last("limit 1"));
memberExtendVo.setOrderTime(order.getCreateTime());
//查询累计报酬
List<AppletAmountLog> amountLogs = appletAmountLogService.lambdaQuery()
.select(AppletAmountLog::getAmount)
.eq(AppletAmountLog::getUserId, appUsers.getUserId())
.eq(AppletAmountLog::getFormId, member.getId())
.eq(AppletAmountLog::getType, 0)
.eq(AppletAmountLog::getMoneyType, 0)
.list();
// 统计金额总和
BigDecimal totalAmount = amountLogs.stream()
.map(AppletAmountLog::getAmount)
.reduce(BigDecimal.ZERO, BigDecimal::add);
memberExtendVo.setUserAmount(totalAmount);
memberExtendVoList.add(memberExtendVo); memberExtendVoList.add(memberExtendVo);
}); });


+ 31
- 0
ruoyi-catdog/src/main/java/com/ruoyi/applet/contoller/ApiMallUserTeacherController.java View File

@ -3,11 +3,15 @@ package com.ruoyi.applet.contoller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cyl.manager.staff.domain.vo.StaffVO; import com.cyl.manager.staff.domain.vo.StaffVO;
import com.cyl.manager.ums.domain.Member;
import com.cyl.manager.ums.mapper.MemberMapper; import com.cyl.manager.ums.mapper.MemberMapper;
import com.cyl.manager.ums.service.MemberWechatService;
import com.ruoyi.applet.mallpojo.TeacherListRequest; import com.ruoyi.applet.mallpojo.TeacherListRequest;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.model.domain.*; import com.ruoyi.model.domain.*;
import com.ruoyi.model.service.*; import com.ruoyi.model.service.*;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -17,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -42,6 +47,9 @@ public class ApiMallUserTeacherController extends BaseController {
@Autowired @Autowired
private MemberMapper memberMapper; private MemberMapper memberMapper;
@Autowired
private MemberWechatService memberWechatService;
//mall-首页周边伴宠师 //mall-首页周边伴宠师
@ApiOperation("mall-首页周边伴宠师接口") @ApiOperation("mall-首页周边伴宠师接口")
@GetMapping("/getTeacherListIndex") @GetMapping("/getTeacherListIndex")
@ -337,10 +345,33 @@ public class ApiMallUserTeacherController extends BaseController {
//mall端-下单端用户通过邀请码绑定伴宠师
@ApiOperation("mall端-下单端用户通过邀请码绑定伴宠师")
@GetMapping("/bindCode")
public AjaxResult bindCode(String code, String openId) {
if (StringUtils.isEmpty(openId)){
throw new ServiceException("openId不能为空");
}
Member member = memberWechatService.isRegister(openId);
if (member == null){
throw new ServiceException("用户不存在");
}
//判断当前用户有没有绑定
if (StringUtils.isNotEmpty(member.getInviteCode())){
throw new ServiceException("已经绑定过了");
}
AppUsers users = appUsersService.bindCode(code);
member.setInviteCode(code);
member.setSpreadTime(LocalDateTime.now());
member.setSpreadUid(users.getUserId());
memberMapper.updateById(member);
return AjaxResult.success();
}


+ 0
- 2
ruoyi-catdog/src/main/java/com/ruoyi/applet/service/impl/IApiMallOrderServiceImpl.java View File

@ -212,13 +212,11 @@ public class IApiMallOrderServiceImpl implements IApiMallOrderService {
item.setService(orderServiceInfo); item.setService(orderServiceInfo);
OmsOrderService omsOrderService = new OmsOrderService(); OmsOrderService omsOrderService = new OmsOrderService();
omsOrderService.setOrderId(item.getOrderId()); omsOrderService.setOrderId(item.getOrderId());
List<OmsOrderService> orderServiceList = omsOrderServiceMapper.selectListBySql(omsOrderService); List<OmsOrderService> orderServiceList = omsOrderServiceMapper.selectListBySql(omsOrderService);
// 使用一个 Set 来跟踪已经添加的 PetVO id // 使用一个 Set 来跟踪已经添加的 PetVO id
Set<Integer> addedPetIds = new HashSet<>(); Set<Integer> addedPetIds = new HashSet<>();
List<PetVO> petVOList = new ArrayList<>(); List<PetVO> petVOList = new ArrayList<>();


+ 6
- 0
ruoyi-catdog/src/main/java/com/ruoyi/model/domain/AppUsers.java View File

@ -5,6 +5,7 @@ import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -19,6 +20,7 @@ public class AppUsers {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 用户编号 */ /** 用户编号 */
@TableId
private Long userId; private Long userId;
/** 创建人 */ /** 创建人 */
@ -98,6 +100,10 @@ public class AppUsers {
@Excel(name = "邀请码") @Excel(name = "邀请码")
private String invitationCode; private String invitationCode;
/** 邀请人数 */
@Excel(name = "邀请人数")
private Integer invitationNumber;
/** 保证金 */ /** 保证金 */
@Excel(name = "保证金") @Excel(name = "保证金")
private BigDecimal baoPrice; private BigDecimal baoPrice;


+ 10
- 2
ruoyi-catdog/src/main/java/com/ruoyi/model/domain/AppletAmountLog.java View File

@ -2,6 +2,8 @@ package com.ruoyi.model.domain;
import java.math.BigDecimal; import java.math.BigDecimal;
import com.cyl.manager.oms.domain.Order;
import com.cyl.manager.ums.domain.Member;
import lombok.Data; import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
@ -30,7 +32,7 @@ public class AppletAmountLog extends BaseEntity
private BigDecimal amount; private BigDecimal amount;
/** 类型 */ /** 类型 */
@Excel(name = "类型")
@Excel(name = "类型 0收入 1支出")
private Integer type; private Integer type;
/** 删除标识 */ /** 删除标识 */
@ -46,7 +48,7 @@ public class AppletAmountLog extends BaseEntity
/** 钱包类型 */ /** 钱包类型 */
@Excel(name = "钱包类型")
@Excel(name = "钱包类型 0合伙人余额 1伴宠师余额 2保证金余额")
private Integer moneyType; private Integer moneyType;
/** 提现者姓名 */ /** 提现者姓名 */
@ -61,4 +63,10 @@ public class AppletAmountLog extends BaseEntity
/** 审核状态(0待审核1通过2不通过) */ /** 审核状态(0待审核1通过2不通过) */
@Excel(name = "审核状态(0待审核1通过2不通过)") @Excel(name = "审核状态(0待审核1通过2不通过)")
private Integer auditStatus; private Integer auditStatus;
@Excel(name = "金额来源用户")
private Long formId;
@Excel(name = "金额关联订单")
private Long orderId;
} }

+ 4
- 0
ruoyi-catdog/src/main/java/com/ruoyi/model/domain/AppletConfig.java View File

@ -156,6 +156,10 @@ public class AppletConfig
@Excel(name = "参数值-数值") @Excel(name = "参数值-数值")
private Integer paramValueNum; private Integer paramValueNum;
/** 参数值-达成人数 */
@Excel(name = "参数值-达成人数")
private Integer paramCondition;
/** 参数值-百分比 */ /** 参数值-百分比 */
@Excel(name = "参数值-百分比") @Excel(name = "参数值-百分比")
private BigDecimal paramValueNo; private BigDecimal paramValueNo;


+ 4
- 0
ruoyi-catdog/src/main/java/com/ruoyi/model/service/IAppUsersService.java View File

@ -67,4 +67,8 @@ public interface IAppUsersService extends IService<AppUsers>
public List<AppUsers> filterQualifiedUsers(filterQualifiedUsersVo filterVo); public List<AppUsers> filterQualifiedUsers(filterQualifiedUsersVo filterVo);
String getUserCode(Long appUserId);
AppUsers bindCode(String code);
} }

+ 5
- 1
ruoyi-catdog/src/main/java/com/ruoyi/model/service/IAppletConfigService.java View File

@ -1,6 +1,8 @@
package com.ruoyi.model.service; package com.ruoyi.model.service;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.model.domain.AppletConfig; import com.ruoyi.model.domain.AppletConfig;
/** /**
@ -9,7 +11,7 @@ import com.ruoyi.model.domain.AppletConfig;
* @author ruoyi * @author ruoyi
* @date 2025-03-28 * @date 2025-03-28
*/ */
public interface IAppletConfigService
public interface IAppletConfigService extends IService<AppletConfig>
{ {
/** /**
* 查询配置信息 * 查询配置信息
@ -18,6 +20,8 @@ public interface IAppletConfigService
* @return 配置信息 * @return 配置信息
*/ */
public AppletConfig selectAppletConfigById(Long id); public AppletConfig selectAppletConfigById(Long id);
public AppletConfig selectAppletConfigByClassAndNum(String paramClass,Integer paramValueNum); public AppletConfig selectAppletConfigByClassAndNum(String paramClass,Integer paramValueNum);
/** /**
* 查询配置信息列表 * 查询配置信息列表


+ 252
- 31
ruoyi-catdog/src/main/java/com/ruoyi/model/service/impl/AApiAppletHhrWorkOutServiceImpl.java View File

@ -1,6 +1,10 @@
package com.ruoyi.model.service.impl; package com.ruoyi.model.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.cyl.manager.oms.domain.Order;
import com.cyl.manager.oms.mapper.OrderMapper;
import com.cyl.manager.ums.domain.Member; import com.cyl.manager.ums.domain.Member;
import com.cyl.manager.ums.mapper.MemberMapper;
import com.cyl.manager.ums.pojo.query.MemberQuery; import com.cyl.manager.ums.pojo.query.MemberQuery;
import com.cyl.manager.ums.pojo.vo.MemberDataStatisticsVO; import com.cyl.manager.ums.pojo.vo.MemberDataStatisticsVO;
import com.cyl.manager.ums.pojo.vo.MemberExtendVo; import com.cyl.manager.ums.pojo.vo.MemberExtendVo;
@ -9,9 +13,11 @@ import com.ruoyi.applet.utils.conf.AppletUtil;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.model.domain.AppUsers; import com.ruoyi.model.domain.AppUsers;
import com.ruoyi.model.domain.AppletAmountLog;
import com.ruoyi.model.domain.AppletConfig; import com.ruoyi.model.domain.AppletConfig;
import com.ruoyi.model.service.IAApiAppletHhrWorkOutService; import com.ruoyi.model.service.IAApiAppletHhrWorkOutService;
import com.ruoyi.model.service.IAppUsersService; import com.ruoyi.model.service.IAppUsersService;
import com.ruoyi.model.service.IAppletAmountLogService;
import com.ruoyi.model.service.IAppletConfigService; import com.ruoyi.model.service.IAppletConfigService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -23,7 +29,12 @@ import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
@ -36,10 +47,17 @@ public class AApiAppletHhrWorkOutServiceImpl implements IAApiAppletHhrWorkOutSer
@Resource @Resource
private IAppletConfigService appletConfigService; private IAppletConfigService appletConfigService;
@Resource @Resource
private MemberService memberService; private MemberService memberService;
@Resource
private MemberMapper memberMapper;
@Resource
private OrderMapper orderMapper;
@Resource
private IAppletAmountLogService appletAmountLogService;
//合伙人工作台 - 绑定用户基础信息 //合伙人工作台 - 绑定用户基础信息
@Override @Override
@ -52,45 +70,39 @@ public class AApiAppletHhrWorkOutServiceImpl implements IAApiAppletHhrWorkOutSer
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
map.put("info",appUsers); //用户信息 map.put("info",appUsers); //用户信息
// map.put("partner_level","初级合伙人"); //合伙人等级 // map.put("partner_level","初级合伙人"); //合伙人等级
map.put("partner_day","138天"); //合伙人加入天数
// 计算合伙人入住天数
long partnerDays = 0;
if (appUsers.getCreateTime() != null) {
LocalDateTime createTime = appUsers.getCreateTime();
LocalDateTime now = LocalDateTime.now();
partnerDays = ChronoUnit.DAYS.between(createTime, now);
}
map.put("partner_day", partnerDays + "天"); //合伙人加入天数
AppletConfig petPaymentHh = appletConfigService.selectAppletConfigByClassAndNum("pet_payment_hh", appUsers.getUserHhRole()); AppletConfig petPaymentHh = appletConfigService.selectAppletConfigByClassAndNum("pet_payment_hh", appUsers.getUserHhRole());
map.put("partner_new_num",petPaymentHh.getParamValueText()); //合伙人当前合伙人比例
if (petPaymentHh != null){
map.put("partner_new_num",petPaymentHh.getParamValueText()); //合伙人当前合伙人比例
map.put("partner_new_image",petPaymentHh.getParamValueImage()); //合伙人当前合伙人比例
}else {
map.put("partner_new_num", 0); //合伙人当前合伙人比例
}
AppletConfig partner_upgrade_num = appletConfigService.selectAppletConfigByClassAndNum("pet_payment_hh", appUsers.getUserHhRole()+1); AppletConfig partner_upgrade_num = appletConfigService.selectAppletConfigByClassAndNum("pet_payment_hh", appUsers.getUserHhRole()+1);
map.put("partner_upgrade_num",partner_upgrade_num.getParamValueText()); //合伙人晋级之后的合伙人比例
// map.put("user_code","jsk66623"); //邀请码
if (partner_upgrade_num != null){
map.put("partner_upgrade_num", partner_upgrade_num.getParamValueText()); //合伙人晋级之后的合伙人比例
}else {
map.put("partner_upgrade_num", -1); //合伙人晋级之后的合伙人比例
}
map.put("user_code", appUsersService.getUserCode(appUserId)); //邀请码
map.put("user_code_bj","https://image.hhlm1688.com/img/work/log/indexInfo/11.png"); //邀请码背景图 map.put("user_code_bj","https://image.hhlm1688.com/img/work/log/indexInfo/11.png"); //邀请码背景图
map.put("user_code_fx","https://image.hhlm1688.com/img/work/log/indexInfo/11.png"); //分享海报背景图 map.put("user_code_fx","https://image.hhlm1688.com/img/work/log/indexInfo/11.png"); //分享海报背景图
map.put("user_code_url","https://image.hhlm1688.com/img/work/log/indexInfo/11.png"); //分销链接背景图 map.put("user_code_url","https://image.hhlm1688.com/img/work/log/indexInfo/11.png"); //分销链接背景图
map.put("register_users","0"); //当月注册用户
map.put("order_users","0"); //当月下单用户
map.put("use_users","0"); //当月有效用户
map.put("order_users_money","0"); //本月订单金额
map.put("use_users_money","0"); //本月有效订单金额
map.put("register_users_sum","0"); //累积注册用户
map.put("order_users_sum","0"); //累积下单用户
map.put("use_users_sum","0"); //累积有效用户
map.put("order_users_sum_money","0"); //累积订单金额
map.put("use_users_sum_money","0"); //累积有效订单金额
map.put("money",appUsers.getMoney()); //钱包金额
map.put("new_money","0"); //本月分成
map.put("old_money","0"); //累积分成
map.put("upgrade_register_num","5"); //距离下一个等级需要注册多少人 map.put("upgrade_register_num","5"); //距离下一个等级需要注册多少人
map.put("upgrade_order_num","20"); //距离下一个等级需要下单人数 map.put("upgrade_order_num","20"); //距离下一个等级需要下单人数
@ -105,6 +117,215 @@ public class AApiAppletHhrWorkOutServiceImpl implements IAApiAppletHhrWorkOutSer
// 获取用户邀请码
String invitationCode = appUsersService.getUserCode(appUserId);
// List<Long> memberIds = memberMapper.selectList(Wrappers.<Member>lambdaQuery()
// .select(Member::getId)
// .eq(Member::getInviteCode, invitationCode))
// .stream().map(n -> n.getId())
// .collect(Collectors.toList());
// 获取当月开始和结束时间
LocalDateTime monthStart = LocalDateTime.now().with(TemporalAdjusters.firstDayOfMonth()).withHour(0).withMinute(0).withSecond(0).withNano(0);
LocalDateTime monthEnd = LocalDateTime.now().with(TemporalAdjusters.lastDayOfMonth()).withHour(23).withMinute(59).withSecond(59);
// 统计当月注册用户通过邀请码注册的用户
Integer monthRegisterUsers = memberMapper.selectCount(
Wrappers.<Member>lambdaQuery()
.eq(Member::getInviteCode, invitationCode)
.ge(Member::getCreateTime, monthStart)
.le(Member::getCreateTime, monthEnd)
);
// 统计累积注册用户
Integer totalRegisterUsers = memberMapper.selectCount(
Wrappers.<Member>lambdaQuery()
.eq(Member::getInviteCode, invitationCode)
);
// 获取通过邀请码注册的所有用户ID列表
List<Member> invitedMembers = memberMapper.selectList(
Wrappers.<Member>lambdaQuery()
.select(Member::getId)
.eq(Member::getInviteCode, invitationCode)
);
List<Long> memberIds = new ArrayList<>();
for (Member member : invitedMembers) {
memberIds.add(member.getId());
}
// 统计当月下单用户
Integer monthOrderUsers = 0;
BigDecimal monthOrderMoney = BigDecimal.ZERO;
if (!memberIds.isEmpty()) {
// 获取当月下单的唯一用户ID列表
List<Order> monthOrderList = orderMapper.selectList(
Wrappers.<Order>lambdaQuery()
.select(Order::getMemberId)
.in(Order::getMemberId, memberIds)
.notIn(Order::getStatus, 0, 4) // 排除待支付和已关闭订单
.ge(Order::getCreateTime, monthStart)
.le(Order::getCreateTime, monthEnd)
.groupBy(Order::getMemberId)
);
monthOrderUsers = monthOrderList.size();
// 统计当月订单金额
List<Order> monthOrders = orderMapper.selectList(
Wrappers.<Order>lambdaQuery()
.select(Order::getPayAmount)
.in(Order::getMemberId, memberIds)
.notIn(Order::getStatus, 0, 4) // 排除待支付和已关闭订单
.ge(Order::getCreateTime, monthStart)
.le(Order::getCreateTime, monthEnd)
);
for (Order order : monthOrders) {
if (order.getPayAmount() != null) {
monthOrderMoney = monthOrderMoney.add(order.getPayAmount());
}
}
}
// 统计累积下单用户
Integer totalOrderUsers = 0;
BigDecimal totalOrderMoney = BigDecimal.ZERO;
if (!memberIds.isEmpty()) {
// 获取累积下单的唯一用户ID列表
List<Order> totalOrderList = orderMapper.selectList(
Wrappers.<Order>lambdaQuery()
.select(Order::getMemberId)
.in(Order::getMemberId, memberIds)
.notIn(Order::getStatus, 0, 4) // 排除待支付和已关闭订单
.groupBy(Order::getMemberId)
);
totalOrderUsers = totalOrderList.size();
// 统计累积订单金额
List<Order> totalOrders = orderMapper.selectList(
Wrappers.<Order>lambdaQuery()
.select(Order::getPayAmount)
.in(Order::getMemberId, memberIds)
.notIn(Order::getStatus, 0, 4) // 排除待支付和已关闭订单
);
for (Order order : totalOrders) {
if (order.getPayAmount() != null) {
totalOrderMoney = totalOrderMoney.add(order.getPayAmount());
}
}
}
// 统计当月有效用户已完成订单的用户
Integer monthValidUsers = 0;
BigDecimal monthValidMoney = BigDecimal.ZERO;
if (!memberIds.isEmpty()) {
// 获取当月有效订单的唯一用户ID列表
List<Order> monthValidUserList = orderMapper.selectList(
Wrappers.<Order>lambdaQuery()
.select(Order::getMemberId)
.in(Order::getMemberId, memberIds)
.eq(Order::getStatus, 3) // 已完成状态
.ge(Order::getCreateTime, monthStart)
.le(Order::getCreateTime, monthEnd)
.groupBy(Order::getMemberId)
);
monthValidUsers = monthValidUserList.size();
// 统计当月有效订单金额
List<Order> monthValidOrders = orderMapper.selectList(
Wrappers.<Order>lambdaQuery()
.select(Order::getPayAmount)
.in(Order::getMemberId, memberIds)
.eq(Order::getStatus, 3)
.ge(Order::getCreateTime, monthStart)
.le(Order::getCreateTime, monthEnd)
);
for (Order order : monthValidOrders) {
if (order.getPayAmount() != null) {
monthValidMoney = monthValidMoney.add(order.getPayAmount());
}
}
}
// 统计累积有效用户
Integer totalValidUsers = 0;
BigDecimal totalValidMoney = BigDecimal.ZERO;
if (!memberIds.isEmpty()) {
// 获取累积有效订单的唯一用户ID列表
List<Order> totalValidUserList = orderMapper.selectList(
Wrappers.<Order>lambdaQuery()
.select(Order::getMemberId)
.in(Order::getMemberId, memberIds)
.eq(Order::getStatus, 3)
.groupBy(Order::getMemberId)
);
totalValidUsers = totalValidUserList.size();
// 统计累积有效订单金额
List<Order> totalValidOrders = orderMapper.selectList(
Wrappers.<Order>lambdaQuery()
.select(Order::getPayAmount)
.in(Order::getMemberId, memberIds)
.eq(Order::getStatus, 3)
);
for (Order order : totalValidOrders) {
if (order.getPayAmount() != null) {
totalValidMoney = totalValidMoney.add(order.getPayAmount());
}
}
}
// 统计当月分成收入
List<AppletAmountLog> monthIncomes = appletAmountLogService.list(
Wrappers.<AppletAmountLog>lambdaQuery()
.eq(AppletAmountLog::getUserId, appUserId)
.eq(AppletAmountLog::getType, 0) // 收入
.eq(AppletAmountLog::getMoneyType, 0) // 合伙人余额
.ge(AppletAmountLog::getCreateTime, monthStart)
.le(AppletAmountLog::getCreateTime, monthEnd)
);
BigDecimal monthIncome = monthIncomes.stream()
.map(AppletAmountLog::getAmount)
.reduce(BigDecimal.ZERO, BigDecimal::add);
// 统计累积分成收入
List<AppletAmountLog> totalIncomes = appletAmountLogService.list(
Wrappers.<AppletAmountLog>lambdaQuery()
.eq(AppletAmountLog::getUserId, appUserId)
.eq(AppletAmountLog::getType, 0) // 收入
.eq(AppletAmountLog::getMoneyType, 0) // 合伙人余额
);
BigDecimal totalIncome = totalIncomes.stream()
.map(AppletAmountLog::getAmount)
.reduce(BigDecimal.ZERO, BigDecimal::add);
map.put("register_users", monthRegisterUsers); //当月注册用户
map.put("order_users", monthOrderUsers); //当月下单用户
map.put("use_users", monthValidUsers); //当月有效用户
map.put("order_users_money", monthOrderMoney); //本月订单金额
map.put("use_users_money", monthValidMoney); //本月有效订单金额
map.put("register_users_sum", totalRegisterUsers); //累积注册用户
map.put("order_users_sum", totalOrderUsers); //累积下单用户
map.put("use_users_sum", totalValidUsers); //累积有效用户
map.put("order_users_sum_money", totalOrderMoney); //累积订单金额
map.put("use_users_sum_money", totalValidMoney); //累积有效订单金额
map.put("money", appUsers.getMoney()); //钱包金额
map.put("new_money", monthIncome); //本月分成
map.put("old_money", totalIncome); //累积分成
return AjaxResult.success(map); return AjaxResult.success(map);
} }


+ 2
- 2
ruoyi-catdog/src/main/java/com/ruoyi/model/service/impl/AApiAppletLoginServiceImpl.java View File

@ -88,9 +88,9 @@ public class AApiAppletLoginServiceImpl implements IAApiAppletLoginService {
appUsers.setUserHhRole(0); //初始化合伙人角色 appUsers.setUserHhRole(0); //初始化合伙人角色
//初始化合伙人佣金 //初始化合伙人佣金
appUsers.setMoney(new BigDecimal(0)); appUsers.setMoney(new BigDecimal(0));
appUsers.setInvitationCode(String.valueOf(appletId));
// appUsers.setInvitationCode(String.valueOf(appletId));
appUsersService.insertAppUsers(appUsers); appUsersService.insertAppUsers(appUsers);
appUsersService.getUserCode(appletId);
LoginApplet loginApplet = new LoginApplet(); LoginApplet loginApplet = new LoginApplet();
loginApplet.setAppletId(appletId); loginApplet.setAppletId(appletId);
String appletToken = tokenService.createAppletToken(loginApplet); String appletToken = tokenService.createAppletToken(loginApplet);


+ 72
- 0
ruoyi-catdog/src/main/java/com/ruoyi/model/service/impl/AppUsersServiceImpl.java View File

@ -6,6 +6,7 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Random;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@ -15,6 +16,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cyl.manager.oms.domain.OmsOrderService; import com.cyl.manager.oms.domain.OmsOrderService;
import com.cyl.manager.oms.mapper.OmsOrderServiceMapper; import com.cyl.manager.oms.mapper.OmsOrderServiceMapper;
import com.ruoyi.applet.pojo.dto.filterQualifiedUsersVo; import com.ruoyi.applet.pojo.dto.filterQualifiedUsersVo;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.model.domain.AppletAddress; import com.ruoyi.model.domain.AppletAddress;
@ -22,6 +24,7 @@ import com.ruoyi.model.domain.AppletOrder;
import com.ruoyi.model.domain.AppletOutDate; import com.ruoyi.model.domain.AppletOutDate;
import com.ruoyi.model.service.IAppletAddressService; import com.ruoyi.model.service.IAppletAddressService;
import com.ruoyi.model.service.IAppletOutDateService; import com.ruoyi.model.service.IAppletOutDateService;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.model.mapper.AppUsersMapper; import com.ruoyi.model.mapper.AppUsersMapper;
@ -35,6 +38,7 @@ import com.ruoyi.model.service.IAppUsersService;
* @date 2025-03-27 * @date 2025-03-27
*/ */
@Service @Service
@Log4j2
public class AppUsersServiceImpl extends ServiceImpl<AppUsersMapper, AppUsers> implements IAppUsersService public class AppUsersServiceImpl extends ServiceImpl<AppUsersMapper, AppUsers> implements IAppUsersService
{ {
@Autowired @Autowired
@ -237,4 +241,72 @@ public class AppUsersServiceImpl extends ServiceImpl<AppUsersMapper, AppUsers> i
return qualifiedTechnicians; return qualifiedTechnicians;
} }
/**
* 生成唯一的6位字母数字邀请码
* @return 6位字母数字组合的邀请码
*/
private String generateUniqueInvitationCode() {
String characters = "abcdefghijklmnopqrstuvwxyz0123456789";
Random random = new Random();
String code;
do {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 6; i++) {
sb.append(characters.charAt(random.nextInt(characters.length())));
}
code = sb.toString();
} while (isInvitationCodeExists(code)); // 确保邀请码唯一
return code;
}
/**
* 检查邀请码是否已存在
* @param code 邀请码
* @return true表示已存在false表示不存在
*/
private boolean isInvitationCodeExists(String code) {
return appUsersMapper.selectCount(
Wrappers.<AppUsers>lambdaQuery()
.eq(AppUsers::getInvitationCode, code)
) > 0;
}
@Override
public String getUserCode(Long appUserId) {
AppUsers byId = getById(appUserId);
if (byId == null){
log.error("用户不存在 ID:{}", appUserId);
return null;
}
if (StringUtils.isNotEmpty(byId.getInvitationCode())){
return byId.getInvitationCode();
}
//生成邀请码
String invitationCode = generateUniqueInvitationCode();
byId.setInvitationCode(invitationCode);
updateById(byId);
return byId.getInvitationCode();
}
@Override
public AppUsers bindCode(String code) {
AppUsers users = lambdaQuery().eq(AppUsers::getInvitationCode, code).one();
if (users == null){
throw new ServiceException("无效的邀请码");
}
users.setInvitationNumber(users.getInvitationNumber() + 1);
updateById(users);
//TODO 检查是否满足升级条件
return users;
}
} }

+ 20
- 6
ruoyi-catdog/src/main/java/com/ruoyi/model/service/impl/AppletConfigServiceImpl.java View File

@ -3,8 +3,10 @@ package com.ruoyi.model.service.impl;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.model.mapper.AppletConfigMapper; import com.ruoyi.model.mapper.AppletConfigMapper;
@ -18,7 +20,7 @@ import com.ruoyi.model.service.IAppletConfigService;
* @date 2025-03-28 * @date 2025-03-28
*/ */
@Service @Service
public class AppletConfigServiceImpl implements IAppletConfigService
public class AppletConfigServiceImpl extends ServiceImpl<AppletConfigMapper, AppletConfig> implements IAppletConfigService
{ {
@Autowired @Autowired
private AppletConfigMapper appletConfigMapper; private AppletConfigMapper appletConfigMapper;
@ -32,13 +34,17 @@ public class AppletConfigServiceImpl implements IAppletConfigService
@Override @Override
public AppletConfig selectAppletConfigById(Long id) public AppletConfig selectAppletConfigById(Long id)
{ {
return appletConfigMapper.selectAppletConfigById(id);
return appletConfigMapper.selectById(id);
} }
@Override @Override
public AppletConfig selectAppletConfigByClassAndNum(String paramClass,Integer paramValueNum){ public AppletConfig selectAppletConfigByClassAndNum(String paramClass,Integer paramValueNum){
return appletConfigMapper.selectAppletConfigByClassAndNum(paramClass,paramValueNum);
// return appletConfigMapper.selectAppletConfigByClassAndNum(paramClass,paramValueNum);
return lambdaQuery().eq(AppletConfig::getParamClass, paramClass)
.eq(AppletConfig::getParamValueNum, paramValueNum)
.one();
} }
/** /**
@ -50,7 +56,15 @@ public class AppletConfigServiceImpl implements IAppletConfigService
@Override @Override
public List<AppletConfig> selectAppletConfigList(AppletConfig appletConfig) public List<AppletConfig> selectAppletConfigList(AppletConfig appletConfig)
{ {
return appletConfigMapper.selectAppletConfigList(appletConfig);
if (appletConfig == null){
appletConfig = new AppletConfig();
}
return appletConfigMapper.selectList(Wrappers.<AppletConfig>lambdaQuery()
.eq(StringUtils.isNotEmpty(appletConfig.getParamCode()), AppletConfig::getParamCode, appletConfig.getParamCode())
.like(StringUtils.isNotEmpty(appletConfig.getParamValueText()), AppletConfig::getParamValueText, appletConfig.getParamValueText())
.like(StringUtils.isNotEmpty(appletConfig.getParamValue()), AppletConfig::getParamValue, appletConfig.getParamValue())
.eq(StringUtils.isNotEmpty(appletConfig.getParamClass()), AppletConfig::getParamClass, appletConfig.getParamClass())
);
} }
/** /**
@ -63,7 +77,7 @@ public class AppletConfigServiceImpl implements IAppletConfigService
public int insertAppletConfig(AppletConfig appletConfig) public int insertAppletConfig(AppletConfig appletConfig)
{ {
appletConfig.setCreateTime(DateUtils.getNowDate()); appletConfig.setCreateTime(DateUtils.getNowDate());
return appletConfigMapper.insertAppletConfig(appletConfig);
return appletConfigMapper.insert(appletConfig);
} }
/** /**
@ -76,7 +90,7 @@ public class AppletConfigServiceImpl implements IAppletConfigService
public int updateAppletConfig(AppletConfig appletConfig) public int updateAppletConfig(AppletConfig appletConfig)
{ {
appletConfig.setUpdateTime(DateUtils.getNowDate()); appletConfig.setUpdateTime(DateUtils.getNowDate());
return appletConfigMapper.updateAppletConfig(appletConfig);
return appletConfigMapper.updateById(appletConfig);
} }
/** /**


+ 3
- 0
ruoyi-mall/src/main/java/com/cyl/h5/service/H5PetService.java View File

@ -32,6 +32,9 @@ public class H5PetService {
public PetVO selectPetById(Integer id){ public PetVO selectPetById(Integer id){
Pet pet = petMapper.selectById(id); Pet pet = petMapper.selectById(id);
PetVO petVO = convert.do2vo(pet); PetVO petVO = convert.do2vo(pet);
if(petVO == null){
return null;
}
if(!StringUtils.isEmpty(pet.getPersonality())){ if(!StringUtils.isEmpty(pet.getPersonality())){
List<String> list = Arrays.asList(pet.getPersonality().split(",")); List<String> list = Arrays.asList(pet.getPersonality().split(","));
petVO.setPersonality(list); petVO.setPersonality(list);


+ 11
- 2
ruoyi-mall/src/main/java/com/cyl/manager/ums/pojo/vo/MemberExtendVo.java View File

@ -1,5 +1,6 @@
package com.cyl.manager.ums.pojo.vo; package com.cyl.manager.ums.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseAudit; import com.ruoyi.common.core.domain.BaseAudit;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -8,6 +9,8 @@ import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Date;
@Data @Data
public class MemberExtendVo extends BaseAudit { public class MemberExtendVo extends BaseAudit {
@ -70,6 +73,7 @@ public class MemberExtendVo extends BaseAudit {
@ApiModelProperty("推广员关联时间") @ApiModelProperty("推广员关联时间")
@Excel(name = "推广员关联时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "推广员关联时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime spreadTime; private LocalDateTime spreadTime;
@ApiModelProperty("等级") @ApiModelProperty("等级")
@ -92,9 +96,14 @@ public class MemberExtendVo extends BaseAudit {
@ApiModelProperty("售后数") @ApiModelProperty("售后数")
private Integer aftersaleCount; private Integer aftersaleCount;
//lzx-增加一个邀请码字段 //lzx-增加一个邀请码字段
@Excel(name = "用户填写的邀请码") @Excel(name = "用户填写的邀请码")
private String inviteCode; private String inviteCode;
@ApiModelProperty("最近下单")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime orderTime;
@ApiModelProperty("累计报酬")
private BigDecimal userAmount;
} }

+ 3
- 0
ruoyi-mall/src/main/java/com/cyl/manager/ums/pojo/vo/MemberV2VO.java View File

@ -115,4 +115,7 @@ public class MemberV2VO extends BaseAudit {
/** 订单数量 */ /** 订单数量 */
private Integer orderNumber; private Integer orderNumber;
@Excel(name = "用户填写的邀请码")
private String inviteCode;
} }

Loading…
Cancel
Save