This commit is contained in:
张良(004796)
2024-03-04 19:14:12 +08:00
parent 273ee16e8c
commit 779de6cbc1
17 changed files with 991 additions and 35 deletions

View File

@@ -0,0 +1,108 @@
package com.ruoyi.xq.controller;
import java.util.List;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.xq.domain.vo.DynamicImageVo;
import com.ruoyi.xq.domain.bo.DynamicImageBo;
import com.ruoyi.xq.service.IDynamicImageService;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 动态图片
*
* @author 77
* @date 2024-03-04
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/xq/dynamicImage")
public class DynamicImageController extends BaseController {
private final IDynamicImageService iDynamicImageService;
/**
* 查询动态图片列表
*/
@SaCheckPermission("xq:dynamicImage:list")
@GetMapping("/list")
public TableDataInfo<DynamicImageVo> list(DynamicImageBo bo, PageQuery pageQuery) {
return iDynamicImageService.queryPageList(bo, pageQuery);
}
/**
* 导出动态图片列表
*/
@SaCheckPermission("xq:dynamicImage:export")
@Log(title = "动态图片", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(DynamicImageBo bo, HttpServletResponse response) {
List<DynamicImageVo> list = iDynamicImageService.queryList(bo);
ExcelUtil.exportExcel(list, "动态图片", DynamicImageVo.class, response);
}
/**
* 获取动态图片详细信息
*
* @param id 主键
*/
@SaCheckPermission("xq:dynamicImage:query")
@GetMapping("/{id}")
public R<DynamicImageVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(iDynamicImageService.queryById(id));
}
/**
* 新增动态图片
*/
@SaCheckPermission("xq:dynamicImage:add")
@Log(title = "动态图片", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody DynamicImageBo bo) {
return toAjax(iDynamicImageService.insertByBo(bo));
}
/**
* 修改动态图片
*/
@SaCheckPermission("xq:dynamicImage:edit")
@Log(title = "动态图片", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody DynamicImageBo bo) {
return toAjax(iDynamicImageService.updateByBo(bo));
}
/**
* 删除动态图片
*
* @param ids 主键串
*/
@SaCheckPermission("xq:dynamicImage:remove")
@Log(title = "动态图片", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(iDynamicImageService.deleteWithValidByIds(Arrays.asList(ids), true));
}
}

View File

@@ -0,0 +1,108 @@
package com.ruoyi.xq.controller;
import java.util.List;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.xq.domain.vo.UserExtendVo;
import com.ruoyi.xq.domain.bo.UserExtendBo;
import com.ruoyi.xq.service.IUserExtendService;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 用户邀请
*
* @author 77
* @date 2024-03-04
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/xq/userExtend")
public class UserExtendController extends BaseController {
private final IUserExtendService iUserExtendService;
/**
* 查询用户邀请列表
*/
@SaCheckPermission("xq:userExtend:list")
@GetMapping("/list")
public TableDataInfo<UserExtendVo> list(UserExtendBo bo, PageQuery pageQuery) {
return iUserExtendService.queryPageList(bo, pageQuery);
}
/**
* 导出用户邀请列表
*/
@SaCheckPermission("xq:userExtend:export")
@Log(title = "用户邀请", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(UserExtendBo bo, HttpServletResponse response) {
List<UserExtendVo> list = iUserExtendService.queryList(bo);
ExcelUtil.exportExcel(list, "用户邀请", UserExtendVo.class, response);
}
/**
* 获取用户邀请详细信息
*
* @param id 主键
*/
@SaCheckPermission("xq:userExtend:query")
@GetMapping("/{id}")
public R<UserExtendVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(iUserExtendService.queryById(id));
}
/**
* 新增用户邀请
*/
@SaCheckPermission("xq:userExtend:add")
@Log(title = "用户邀请", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody UserExtendBo bo) {
return toAjax(iUserExtendService.insertByBo(bo));
}
/**
* 修改用户邀请
*/
@SaCheckPermission("xq:userExtend:edit")
@Log(title = "用户邀请", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody UserExtendBo bo) {
return toAjax(iUserExtendService.updateByBo(bo));
}
/**
* 删除用户邀请
*
* @param ids 主键串
*/
@SaCheckPermission("xq:userExtend:remove")
@Log(title = "用户邀请", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(iUserExtendService.deleteWithValidByIds(Arrays.asList(ids), true));
}
}

View File

@@ -0,0 +1,47 @@
package com.ruoyi.xq.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 动态图片对象 xq_dynamic_image
*
* @author 77
* @date 2024-03-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xq_dynamic_image")
public class DynamicImage extends BaseEntity {
private static final long serialVersionUID=1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 用户ID
*/
private Long userId;
/**
* 用户号
*/
private String usercode;
/**
* 动态ID
*/
private Long dynamicId;
/**
* 文件URL
*/
private String url;
}

View File

@@ -0,0 +1,64 @@
package com.ruoyi.xq.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 用户邀请对象 xq_user_extend
*
* @author 77
* @date 2024-03-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xq_user_extend")
public class UserExtend extends BaseEntity {
private static final long serialVersionUID=1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 用户ID
*/
private Long userId;
/**
* 用户号
*/
private String usercode;
/**
* 收益的余额
*/
private BigDecimal incomeCoin;
/**
* 邀请人
*/
private Long inviteId;
/**
* 邀请人Code
*/
private String inviteCode;
/**
* 消费统计
*/
private BigDecimal consumeTotal;
/**
* 提现统计
*/
private BigDecimal withdrawTotal;
/**
* 给上家的返现提成
*/
private BigDecimal cashbackTotal;
}

View File

@@ -0,0 +1,55 @@
package com.ruoyi.xq.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 动态图片业务对象 xq_dynamic_image
*
* @author 77
* @date 2024-03-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class DynamicImageBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 用户ID
*/
@NotNull(message = "用户ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/**
* 用户号
*/
@NotBlank(message = "用户号不能为空", groups = { AddGroup.class, EditGroup.class })
private String usercode;
/**
* 动态ID
*/
@NotNull(message = "动态ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long dynamicId;
/**
* 文件URL
*/
@NotBlank(message = "文件URL不能为空", groups = { AddGroup.class, EditGroup.class })
private String url;
}

View File

@@ -0,0 +1,80 @@
package com.ruoyi.xq.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 用户邀请业务对象 xq_user_extend
*
* @author 77
* @date 2024-03-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class UserExtendBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 用户ID
*/
@NotNull(message = "用户ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/**
* 用户号
*/
@NotBlank(message = "用户号不能为空", groups = { AddGroup.class, EditGroup.class })
private String usercode;
/**
* 收益的余额
*/
@NotNull(message = "收益的余额不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal incomeCoin;
/**
* 邀请人
*/
@NotNull(message = "邀请人不能为空", groups = { AddGroup.class, EditGroup.class })
private Long inviteId;
/**
* 邀请人Code
*/
@NotBlank(message = "邀请人Code不能为空", groups = { AddGroup.class, EditGroup.class })
private String inviteCode;
/**
* 消费统计
*/
@NotNull(message = "消费统计不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal consumeTotal;
/**
* 提现统计
*/
@NotNull(message = "提现统计不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal withdrawTotal;
/**
* 给上家的返现提成
*/
@NotNull(message = "给上家的返现提成不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal cashbackTotal;
}

View File

@@ -0,0 +1,55 @@
package com.ruoyi.xq.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
import java.io.Serializable;
/**
* 动态图片视图对象 xq_dynamic_image
*
* @author 77
* @date 2024-03-04
*/
@Data
@ExcelIgnoreUnannotated
public class DynamicImageVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 用户ID
*/
@ExcelProperty(value = "用户ID")
private Long userId;
/**
* 用户号
*/
@ExcelProperty(value = "用户号")
private String usercode;
/**
* 动态ID
*/
@ExcelProperty(value = "动态ID")
private Long dynamicId;
/**
* 文件URL
*/
@ExcelProperty(value = "文件URL")
private String url;
}

View File

@@ -0,0 +1,80 @@
package com.ruoyi.xq.domain.vo;
import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
import java.io.Serializable;
/**
* 用户邀请视图对象 xq_user_extend
*
* @author 77
* @date 2024-03-04
*/
@Data
@ExcelIgnoreUnannotated
public class UserExtendVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 用户ID
*/
@ExcelProperty(value = "用户ID")
private Long userId;
/**
* 用户号
*/
@ExcelProperty(value = "用户号")
private String usercode;
/**
* 收益的余额
*/
@ExcelProperty(value = "收益的余额")
private BigDecimal incomeCoin;
/**
* 邀请人
*/
@ExcelProperty(value = "邀请人")
private Long inviteId;
/**
* 邀请人Code
*/
@ExcelProperty(value = "邀请人Code")
private String inviteCode;
/**
* 消费统计
*/
@ExcelProperty(value = "消费统计")
private BigDecimal consumeTotal;
/**
* 提现统计
*/
@ExcelProperty(value = "提现统计")
private BigDecimal withdrawTotal;
/**
* 给上家的返现提成
*/
@ExcelProperty(value = "给上家的返现提成")
private BigDecimal cashbackTotal;
}

View File

@@ -0,0 +1,15 @@
package com.ruoyi.xq.mapper;
import com.ruoyi.xq.domain.DynamicImage;
import com.ruoyi.xq.domain.vo.DynamicImageVo;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
/**
* 动态图片Mapper接口
*
* @author 77
* @date 2024-03-04
*/
public interface DynamicImageMapper extends BaseMapperPlus<DynamicImageMapper, DynamicImage, DynamicImageVo> {
}

View File

@@ -0,0 +1,15 @@
package com.ruoyi.xq.mapper;
import com.ruoyi.xq.domain.UserExtend;
import com.ruoyi.xq.domain.vo.UserExtendVo;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
/**
* 用户邀请Mapper接口
*
* @author 77
* @date 2024-03-04
*/
public interface UserExtendMapper extends BaseMapperPlus<UserExtendMapper, UserExtend, UserExtendVo> {
}

View File

@@ -0,0 +1,49 @@
package com.ruoyi.xq.service;
import com.ruoyi.xq.domain.DynamicImage;
import com.ruoyi.xq.domain.vo.DynamicImageVo;
import com.ruoyi.xq.domain.bo.DynamicImageBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 动态图片Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface IDynamicImageService {
/**
* 查询动态图片
*/
DynamicImageVo queryById(Long id);
/**
* 查询动态图片列表
*/
TableDataInfo<DynamicImageVo> queryPageList(DynamicImageBo bo, PageQuery pageQuery);
/**
* 查询动态图片列表
*/
List<DynamicImageVo> queryList(DynamicImageBo bo);
/**
* 新增动态图片
*/
Boolean insertByBo(DynamicImageBo bo);
/**
* 修改动态图片
*/
Boolean updateByBo(DynamicImageBo bo);
/**
* 校验并批量删除动态图片信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.ruoyi.xq.service;
import com.ruoyi.xq.domain.UserExtend;
import com.ruoyi.xq.domain.vo.UserExtendVo;
import com.ruoyi.xq.domain.bo.UserExtendBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 用户邀请Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface IUserExtendService {
/**
* 查询用户邀请
*/
UserExtendVo queryById(Long id);
/**
* 查询用户邀请列表
*/
TableDataInfo<UserExtendVo> queryPageList(UserExtendBo bo, PageQuery pageQuery);
/**
* 查询用户邀请列表
*/
List<UserExtendVo> queryList(UserExtendBo bo);
/**
* 新增用户邀请
*/
Boolean insertByBo(UserExtendBo bo);
/**
* 修改用户邀请
*/
Boolean updateByBo(UserExtendBo bo);
/**
* 校验并批量删除用户邀请信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -0,0 +1,112 @@
package com.ruoyi.xq.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.xq.domain.bo.DynamicImageBo;
import com.ruoyi.xq.domain.vo.DynamicImageVo;
import com.ruoyi.xq.domain.DynamicImage;
import com.ruoyi.xq.mapper.DynamicImageMapper;
import com.ruoyi.xq.service.IDynamicImageService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 动态图片Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class DynamicImageServiceImpl implements IDynamicImageService {
private final DynamicImageMapper baseMapper;
/**
* 查询动态图片
*/
@Override
public DynamicImageVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 查询动态图片列表
*/
@Override
public TableDataInfo<DynamicImageVo> queryPageList(DynamicImageBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<DynamicImage> lqw = buildQueryWrapper(bo);
Page<DynamicImageVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询动态图片列表
*/
@Override
public List<DynamicImageVo> queryList(DynamicImageBo bo) {
LambdaQueryWrapper<DynamicImage> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<DynamicImage> buildQueryWrapper(DynamicImageBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<DynamicImage> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getUserId() != null, DynamicImage::getUserId, bo.getUserId());
lqw.eq(StringUtils.isNotBlank(bo.getUsercode()), DynamicImage::getUsercode, bo.getUsercode());
lqw.eq(bo.getDynamicId() != null, DynamicImage::getDynamicId, bo.getDynamicId());
lqw.eq(StringUtils.isNotBlank(bo.getUrl()), DynamicImage::getUrl, bo.getUrl());
return lqw;
}
/**
* 新增动态图片
*/
@Override
public Boolean insertByBo(DynamicImageBo bo) {
DynamicImage add = BeanUtil.toBean(bo, DynamicImage.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改动态图片
*/
@Override
public Boolean updateByBo(DynamicImageBo bo) {
DynamicImage update = BeanUtil.toBean(bo, DynamicImage.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(DynamicImage entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除动态图片
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,116 @@
package com.ruoyi.xq.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.xq.domain.bo.UserExtendBo;
import com.ruoyi.xq.domain.vo.UserExtendVo;
import com.ruoyi.xq.domain.UserExtend;
import com.ruoyi.xq.mapper.UserExtendMapper;
import com.ruoyi.xq.service.IUserExtendService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 用户邀请Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class UserExtendServiceImpl implements IUserExtendService {
private final UserExtendMapper baseMapper;
/**
* 查询用户邀请
*/
@Override
public UserExtendVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 查询用户邀请列表
*/
@Override
public TableDataInfo<UserExtendVo> queryPageList(UserExtendBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<UserExtend> lqw = buildQueryWrapper(bo);
Page<UserExtendVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询用户邀请列表
*/
@Override
public List<UserExtendVo> queryList(UserExtendBo bo) {
LambdaQueryWrapper<UserExtend> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<UserExtend> buildQueryWrapper(UserExtendBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<UserExtend> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getUserId() != null, UserExtend::getUserId, bo.getUserId());
lqw.eq(StringUtils.isNotBlank(bo.getUsercode()), UserExtend::getUsercode, bo.getUsercode());
lqw.eq(bo.getIncomeCoin() != null, UserExtend::getIncomeCoin, bo.getIncomeCoin());
lqw.eq(bo.getInviteId() != null, UserExtend::getInviteId, bo.getInviteId());
lqw.eq(StringUtils.isNotBlank(bo.getInviteCode()), UserExtend::getInviteCode, bo.getInviteCode());
lqw.eq(bo.getConsumeTotal() != null, UserExtend::getConsumeTotal, bo.getConsumeTotal());
lqw.eq(bo.getWithdrawTotal() != null, UserExtend::getWithdrawTotal, bo.getWithdrawTotal());
lqw.eq(bo.getCashbackTotal() != null, UserExtend::getCashbackTotal, bo.getCashbackTotal());
return lqw;
}
/**
* 新增用户邀请
*/
@Override
public Boolean insertByBo(UserExtendBo bo) {
UserExtend add = BeanUtil.toBean(bo, UserExtend.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改用户邀请
*/
@Override
public Boolean updateByBo(UserExtendBo bo) {
UserExtend update = BeanUtil.toBean(bo, UserExtend.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(UserExtend entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除用户邀请
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.xq.mapper.DynamicImageMapper">
<resultMap type="com.ruoyi.xq.domain.DynamicImage" id="DynamicImageResult">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="usercode" column="usercode"/>
<result property="dynamicId" column="dynamic_id"/>
<result property="url" column="url"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.xq.mapper.UserExtendMapper">
<resultMap type="com.ruoyi.xq.domain.UserExtend" id="UserExtendResult">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="usercode" column="usercode"/>
<result property="incomeCoin" column="income_coin"/>
<result property="inviteId" column="invite_id"/>
<result property="inviteCode" column="invite_code"/>
<result property="consumeTotal" column="consume_total"/>
<result property="withdrawTotal" column="withdraw_total"/>
<result property="cashbackTotal" column="cashback_total"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
</mapper>

View File

@@ -4,40 +4,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.xq.mapper.UserMapper">
<resultMap type="com.ruoyi.xq.domain.User" id="UserResult">
<result property="id" column="id"/>
<result property="usercode" column="usercode"/>
<result property="nickname" column="nickname"/>
<result property="type" column="type"/>
<result property="password" column="password"/>
<result property="mobile" column="mobile"/>
<result property="avatar" column="avatar"/>
<result property="avatarState" column="avatar_state"/>
<result property="gender" column="gender"/>
<result property="age" column="age"/>
<result property="birthday" column="birthday"/>
<result property="height" column="height"/>
<result property="weight" column="weight"/>
<result property="somatotype" column="somatotype"/>
<result property="zodiac" column="zodiac"/>
<result property="sign" column="sign"/>
<result property="residence" column="residence"/>
<result property="address" column="address"/>
<result property="residenceCity" column="residence_city"/>
<result property="education" column="education"/>
<result property="marriage" column="marriage"/>
<result property="profession" column="profession"/>
<result property="annualIncome" column="annual_income"/>
<result property="companyNature" column="company_nature"/>
<result property="forPersonals" column="for_personals"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="status" column="status"/>
<result property="inviteId" column="invite_id"/>
<result property="inviteCode" column="invite_code"/>
<result property="imToken" column="im_token"/>
</resultMap>
</mapper>