[fix]修改分账,增加主子表查询与保存

This commit is contained in:
wangqx 2025-06-27 15:43:48 +08:00
parent ee14312dcd
commit 1d578cbf8e
26 changed files with 342 additions and 51 deletions

View File

@ -57,6 +57,9 @@ public class MemberRegisterService {
boolean exist = memberService.exists(new LambdaQueryWrapper<Member>()
.eq(Member::getPhoneEncrypted, phoneNumber));
if (exist) {
throw new UserException("user.register.save.error", username);
}

View File

@ -3,9 +3,11 @@ package com.wzj.soopin.transation.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.transation.convert.DivideConvert;
import com.wzj.soopin.transation.convert.DivideDetailConvert;
import com.wzj.soopin.transation.domain.bo.DivideBO;
import com.wzj.soopin.transation.domain.po.Divide;
import com.wzj.soopin.transation.domain.vo.DivideVO;
import com.wzj.soopin.transation.service.IDivideDetailService;
import com.wzj.soopin.transation.service.IDivideService;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
@ -26,6 +28,7 @@ public class DivideController {
private final IDivideService service;
private final DivideConvert convert;
@Tag(name = "查询列表")
@PostMapping("/list")
public R<IPage<DivideVO>> list(@RequestBody DivideBO bo, @RequestBody Page page) {
@ -37,20 +40,20 @@ public class DivideController {
@Log(title = "新增 ", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody DivideBO bo) {
return R.ok(service.save(convert.toPo(bo)));
return R.ok(service.save(bo));
}
@Tag(name = "详情")
@GetMapping(value = "/{id}")
public R<DivideVO> getInfo(@PathVariable("id") Long id) {
return R.ok(convert.toVO(service.getById(id)));
return R.ok(service.getVOById(id));
}
@Tag(name = ("回调更新"))
@Log(title = "回调更新", businessType = BusinessType.UPDATE)
@PostMapping("/callback")
public R callback(@RequestBody DivideBO bo) {
service.save(convert.toPo(bo));
service.updateById(convert.toPo(bo));
return R.ok();
}

View File

@ -42,13 +42,13 @@ public class DivideRuleController {
@Log(title = "新增 ", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody DivideRuleBO bo) {
return R.ok(service.save(convert.toPo(bo)));
return R.ok(service.save(bo));
}
@Tag(name = "详情")
@GetMapping(value = "/{id}")
public R<DivideRuleVO> getInfo(@PathVariable("id") Long id) {
return R.ok(convert.toVO(service.getById(id)));
return R.ok(service.getVOById(id));
}
@Tag(name = ("修改"))

View File

@ -8,6 +8,8 @@ import lombok.Data;
import org.dromara.common.core.domain.BaseBO;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* 订单分账
@ -79,5 +81,13 @@ public class DivideBO extends BaseBO<Divide> {
@ExcelProperty(value = "订单编号", order = 9)
private String orderSn;
/**
* 分账规则明细
*/
@Schema(description = "分账规则明细")
@ExcelProperty(value = "分账规则明细", order = 10)
private List<DivideDetailBO> details=new ArrayList<>();
}

View File

@ -26,6 +26,14 @@ public class DivideDetailBO extends BaseBO<DivideDetail> {
@ExcelProperty(value = "主键", order = 1)
private Long id;
/**
* 分账id
*/
@Schema(description = "分账id")
@ExcelProperty(value = "分账id", order = 2)
private Long divideId;
/**
* 分账规则id
*/
@ -72,12 +80,7 @@ public class DivideDetailBO extends BaseBO<DivideDetail> {
* */
private Integer type;
/**
* 状态
*/
@Schema(description = "状态")
@ExcelProperty(value = "状态", order = 5)
private Integer status;
@Schema(description = "账户id")
@ExcelProperty(value = "账户id", order = 6)

View File

@ -7,6 +7,9 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.BaseBO;
import java.util.ArrayList;
import java.util.List;
/**
* 分账规则
*
@ -58,5 +61,6 @@ public class DivideRuleBO extends BaseBO<DivideRule> {
@ExcelProperty(value ="类型", order = 8)
private Integer type;
private List<DivideRuleDetailBO> details=new ArrayList<>();
}

View File

@ -32,7 +32,7 @@ public class DivideRuleDetailBO extends BaseBO<DivideRuleDetail> {
@Schema(description ="分账规则id")
@ExcelProperty(value = "分账规则id", order = 2)
private Long divideId;
private Long ruleId;
@Schema(description ="金额分配比例")
@ -43,12 +43,6 @@ public class DivideRuleDetailBO extends BaseBO<DivideRuleDetail> {
@ExcelProperty(value ="手续费分配比例", order = 5)
private BigDecimal feePercent;
/**
* 状态
*/
@Schema(description ="状态")
@ExcelProperty(value ="状态", order = 7)
private Integer status;
/**
* 类型
*/

View File

@ -18,7 +18,7 @@ import java.math.BigDecimal;
*/
@Schema(description = "订单分账")
@Data
@TableName("oms_aftersale")
@TableName("trans_divide")
public class Divide extends BaseEntity {
/**

View File

@ -3,6 +3,7 @@ package com.wzj.soopin.transation.domain.po;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.mybatis.core.domain.BaseEntity;
@ -15,6 +16,7 @@ import org.dromara.common.mybatis.core.domain.BaseEntity;
*/
@Schema(description="分账规则")
@Data
@TableName("trans_divide_rule")
public class DivideRule extends BaseEntity {
/**

View File

@ -3,6 +3,7 @@ package com.wzj.soopin.transation.domain.po;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.mybatis.core.domain.BaseEntity;
@ -17,6 +18,7 @@ import java.math.BigDecimal;
*/
@Schema(description="分账规则明细")
@Data
@TableName("trans_divide_rule_detail")
public class DivideRuleDetail extends BaseEntity {
/**
@ -27,13 +29,11 @@ public class DivideRuleDetail extends BaseEntity {
@TableId
private Long id;
/**
* 提现码
*/
@Schema(description ="分账规则id")
@ExcelProperty(value = "分账规则id", order = 2)
private Long divideId;
private Long ruleId;
@Schema(description ="金额分配比例")
@ -44,12 +44,6 @@ public class DivideRuleDetail extends BaseEntity {
@ExcelProperty(value ="手续费分配比例", order = 5)
private BigDecimal feePercent;
/**
* 状态
*/
@Schema(description ="状态")
@ExcelProperty(value ="状态", order = 7)
private Integer status;
/**
* 类型
*/

View File

@ -7,6 +7,7 @@ import com.wzj.soopin.member.domain.vo.MemberVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@ -19,7 +20,7 @@ import java.time.LocalDateTime;
*/
@Schema(description="充值")
@Data
public class ChargeVO extends BaseAudit {
public class ChargeVO extends BaseEntity {
/**
* 主键

View File

@ -5,6 +5,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.math.BigDecimal;
@ -16,7 +17,7 @@ import java.math.BigDecimal;
*/
@Schema(description = "订单分账明细")
@Data
public class DivideDetailVO extends BaseAudit {
public class DivideDetailVO extends BaseEntity {
/**
* 主键
@ -71,12 +72,7 @@ public class DivideDetailVO extends BaseAudit {
* */
private Integer type;
/**
* 状态
*/
@Schema(description = "状态")
@ExcelProperty(value = "状态", order = 5)
private Integer status;
@Schema(description = "账户id")
@ExcelProperty(value = "账户id", order = 6)

View File

@ -5,6 +5,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.math.BigDecimal;
@ -16,7 +17,7 @@ import java.math.BigDecimal;
*/
@Schema(description="分账规则明细")
@Data
public class DivideRuleDetailVO extends BaseAudit {
public class DivideRuleDetailVO extends BaseEntity {
/**
* 主键
@ -31,7 +32,7 @@ public class DivideRuleDetailVO extends BaseAudit {
@Schema(description ="分账规则id")
@ExcelProperty(value = "分账规则id", order = 2)
private Long divideId;
private Long ruleId;
@Schema(description ="金额分配比例")
@ -42,12 +43,7 @@ public class DivideRuleDetailVO extends BaseAudit {
@ExcelProperty(value ="手续费分配比例", order = 5)
private BigDecimal feePercent;
/**
* 状态
*/
@Schema(description ="状态")
@ExcelProperty(value ="状态", order = 7)
private Integer status;
/**
* 类型
*/

View File

@ -2,9 +2,14 @@ package com.wzj.soopin.transation.domain.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.wzj.soopin.transation.domain.bo.DivideRuleDetailBO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 分账规则
@ -14,7 +19,7 @@ import org.dromara.common.core.domain.model.BaseAudit;
*/
@Schema(description="分账规则")
@Data
public class DivideRuleVO extends BaseAudit {
public class DivideRuleVO extends BaseEntity {
/**
* 主键
@ -23,6 +28,12 @@ public class DivideRuleVO extends BaseAudit {
@ExcelProperty(value = "主键", order = 1)
private Long id;
@Schema(description ="分账规则id")
@ExcelProperty(value = "分账规则id", order = 2)
private Long ruleId;
/**
* 提现码
*/
@ -57,5 +68,7 @@ public class DivideRuleVO extends BaseAudit {
@ExcelProperty(value ="类型", order = 8)
private Integer type;
@Schema(description = "分账规则明细")
@ExcelProperty(value = "分账规则明细", order = 9)
private List<DivideRuleDetailVO> details=new ArrayList<>();
}

View File

@ -5,8 +5,11 @@ import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* 订单分账
@ -16,7 +19,7 @@ import java.math.BigDecimal;
*/
@Schema(description = "订单分账")
@Data
public class DivideVO extends BaseAudit {
public class DivideVO extends BaseEntity {
/**
* 主键
@ -32,6 +35,8 @@ public class DivideVO extends BaseAudit {
@ExcelProperty(value = "分账规则id", order = 2)
private Long ruleId;
private String ruleName;
/**
@ -78,5 +83,6 @@ public class DivideVO extends BaseAudit {
@ExcelProperty(value = "订单编号", order = 9)
private String orderSn;
private List<DivideDetailVO> details;
}

View File

@ -7,6 +7,7 @@ import com.wzj.soopin.member.domain.vo.MemberVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@ -19,7 +20,7 @@ import java.time.LocalDateTime;
*/
@Schema(description="提现")
@Data
public class WithdrawVO extends BaseAudit {
public class WithdrawVO extends BaseEntity {
/**
* 主键

View File

@ -0,0 +1,30 @@
package com.wzj.soopin.transation.enums;
public enum DivideRuleStatus {
/**
* 启用
*/
ON(1, "启用"),
/**
* 禁用
*/
OFF(0, "禁用");
private final int code;
private final String message;
DivideRuleStatus(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@ -0,0 +1,23 @@
package com.wzj.soopin.transation.enums;
public enum DivideStatus {
PENDING(0, "待分账"),
SUCCESS(1, "分账成功"),
FAIL(2, "分账失败");
private int code;
private String desc;
DivideStatus(int code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
}

View File

@ -3,12 +3,14 @@ package com.wzj.soopin.transation.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wzj.soopin.transation.domain.po.Divide;
import com.wzj.soopin.transation.domain.po.DivideDetail;
import com.wzj.soopin.transation.domain.vo.DivideDetailVO;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 意见反馈Mapper接口
*
* @author zcc
*/
public interface DivideDetailMapper extends BaseMapper<DivideDetail> {
public interface DivideDetailMapper extends BaseMapperPlus<DivideDetail, DivideDetailVO> {
}

View File

@ -2,6 +2,7 @@ package com.wzj.soopin.transation.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wzj.soopin.transation.domain.po.Divide;
import com.wzj.soopin.transation.domain.vo.DivideVO;
/**
* 意见反馈Mapper接口
@ -10,4 +11,5 @@ import com.wzj.soopin.transation.domain.po.Divide;
*/
public interface DivideMapper extends BaseMapper <Divide> {
DivideVO getVOById( Long divideId);
}

View File

@ -3,12 +3,15 @@ package com.wzj.soopin.transation.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wzj.soopin.transation.domain.po.DivideRule;
import com.wzj.soopin.transation.domain.po.DivideRuleDetail;
import com.wzj.soopin.transation.domain.vo.DivideRuleDetailVO;
import com.wzj.soopin.transation.domain.vo.DivideRuleVO;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 意见反馈Mapper接口
*
* @author zcc
*/
public interface DivideRuleDetailMapper extends BaseMapper<DivideRuleDetail> {
public interface DivideRuleDetailMapper extends BaseMapperPlus<DivideRuleDetail, DivideRuleDetailVO> {
}

View File

@ -1,9 +1,16 @@
package com.wzj.soopin.transation.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wzj.soopin.transation.domain.bo.DivideBO;
import com.wzj.soopin.transation.domain.bo.DivideRuleBO;
import com.wzj.soopin.transation.domain.po.Divide;
import com.wzj.soopin.transation.domain.po.DivideRule;
import com.wzj.soopin.transation.domain.vo.DivideRuleVO;
import com.wzj.soopin.transation.domain.vo.DivideVO;
public interface IDivideRuleService extends IService<DivideRule> {
boolean save( DivideRuleBO bo);
DivideRuleVO getVOById(Long divideId);
}

View File

@ -1,8 +1,13 @@
package com.wzj.soopin.transation.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wzj.soopin.transation.domain.bo.DivideBO;
import com.wzj.soopin.transation.domain.po.Divide;
import com.wzj.soopin.transation.domain.vo.DivideVO;
public interface IDivideService extends IService<Divide> {
boolean save( DivideBO bo);
DivideVO getVOById( Long divideId);
}

View File

@ -1,15 +1,35 @@
package com.wzj.soopin.transation.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wzj.soopin.transation.convert.DivideConvert;
import com.wzj.soopin.transation.convert.DivideDetailConvert;
import com.wzj.soopin.transation.convert.DivideRuleConvert;
import com.wzj.soopin.transation.convert.DivideRuleDetailConvert;
import com.wzj.soopin.transation.domain.bo.DivideBO;
import com.wzj.soopin.transation.domain.bo.DivideRuleBO;
import com.wzj.soopin.transation.domain.po.Divide;
import com.wzj.soopin.transation.domain.po.DivideDetail;
import com.wzj.soopin.transation.domain.po.DivideRule;
import com.wzj.soopin.transation.domain.po.DivideRuleDetail;
import com.wzj.soopin.transation.domain.vo.DivideRuleVO;
import com.wzj.soopin.transation.domain.vo.DivideVO;
import com.wzj.soopin.transation.enums.DivideRuleStatus;
import com.wzj.soopin.transation.enums.DivideStatus;
import com.wzj.soopin.transation.mapper.DivideDetailMapper;
import com.wzj.soopin.transation.mapper.DivideMapper;
import com.wzj.soopin.transation.mapper.DivideRuleDetailMapper;
import com.wzj.soopin.transation.mapper.DivideRuleMapper;
import com.wzj.soopin.transation.service.IDivideRuleService;
import com.wzj.soopin.transation.service.IDivideService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.exception.ServiceException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.List;
/**
* 分账服务实现类
@ -21,4 +41,69 @@ import org.springframework.stereotype.Service;
@Slf4j
public class DivideRuleServiceImpl extends ServiceImpl<DivideRuleMapper, DivideRule> implements IDivideRuleService {
private final DivideRuleDetailMapper detailMapper;
private final DivideRuleDetailConvert detailConvert;
private final DivideRuleConvert convert;
@Transactional(rollbackFor = Exception.class)
@Override
public boolean save(DivideRuleBO bo) {
DivideRule entity = convert.toPo(bo);
entity.setStatus(DivideRuleStatus.ON.getCode());
// 保存主分账信息
boolean mainResult = super.save(entity);
if (!mainResult) {
throw new ServiceException("分账主信息保存失败");
}
// 若明细列表不为空批量保存分账明细信息
if (!bo.getDetails().isEmpty()) {
List<DivideRuleDetail> detailEntities = bo.getDetails().stream()
.peek(detailBO -> detailBO.setRuleId(entity.getId()))
.map(detailConvert::toPo)
.toList();
boolean detailResult = detailMapper.insertBatch(detailEntities);
if (!detailResult) {
throw new ServiceException("明细保存失败");
}
}
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean removeById(Serializable id) {
// 根据主分账记录的 ID 删除对应的分账明细
boolean detailRemoveResult = detailMapper.delete(new QueryWrapper<DivideRuleDetail>().lambda().eq(DivideRuleDetail::getRuleId, id)) > 0;
if (!detailRemoveResult) {
log.error("分账规则明细信息删除失败,分账记录 ID: {}", id);
return false;
}
// 删除主分账记录
boolean mainRemoveResult = super.removeById(id);
if (!mainRemoveResult) {
log.error("分账规则主信息删除失败,分账记录 ID: {}", id);
return false;
}
return true;
}
@Override
public DivideRuleVO getVOById(Long divideId) {
DivideRule divideRule = baseMapper.selectById(divideId);
if (divideRule == null) {
return null;
}
List<DivideRuleDetail> detailList = detailMapper.selectList(new QueryWrapper<DivideRuleDetail>().lambda()
.eq(DivideRuleDetail::getRuleId, divideId));
DivideRuleVO vo = convert.toVO(divideRule);
vo.setDetails(detailConvert.toVO(detailList));
return vo;
}
}

View File

@ -1,12 +1,28 @@
package com.wzj.soopin.transation.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wzj.soopin.transation.convert.DivideConvert;
import com.wzj.soopin.transation.convert.DivideDetailConvert;
import com.wzj.soopin.transation.domain.bo.DivideBO;
import com.wzj.soopin.transation.domain.po.Divide;
import com.wzj.soopin.transation.domain.po.DivideDetail;
import com.wzj.soopin.transation.domain.po.DivideRule;
import com.wzj.soopin.transation.domain.vo.DivideVO;
import com.wzj.soopin.transation.enums.DivideRuleStatus;
import com.wzj.soopin.transation.enums.DivideStatus;
import com.wzj.soopin.transation.mapper.DivideDetailMapper;
import com.wzj.soopin.transation.mapper.DivideMapper;
import com.wzj.soopin.transation.service.IDivideService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.exception.ServiceException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.List;
/**
* 分账服务实现类
@ -18,4 +34,68 @@ import org.springframework.stereotype.Service;
@Slf4j
public class DivideServiceImpl extends ServiceImpl<DivideMapper, Divide> implements IDivideService {
private final DivideDetailMapper detailMapper;
private final DivideDetailConvert detailConvert;
private final DivideConvert divideConvert;
@Override
@Transactional(rollbackFor = Exception.class)
public boolean save(DivideBO bo) {
Divide entity = divideConvert.toPo(bo);
entity.setStatus(DivideStatus.PENDING.getCode());
// 保存主分账信息
boolean mainResult = super.save(entity);
if (!mainResult) {
throw new ServiceException("分账主信息保存失败DivideBO: {}");
}
// 若明细列表不为空批量保存分账明细信息
if (!bo.getDetails().isEmpty()) {
List<DivideDetail> detailEntities = bo.getDetails().stream()
.peek(detailBO -> detailBO.setDivideId(entity.getId()))
.map(detailConvert::toPo)
.toList();
boolean detailResult = detailMapper.insertBatch(detailEntities);
if (!detailResult) {
throw new ServiceException("分账主信息保存失败DivideBO: {}");
}
}
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean removeById(Serializable id) {
// 根据主分账记录的 ID 删除对应的分账明细
boolean detailRemoveResult = detailMapper.delete(new QueryWrapper<DivideDetail>().lambda().eq(DivideDetail::getDivideId, id)) > 0;
if (!detailRemoveResult) {
log.error("分账明细信息删除失败,分账记录 ID: {}", id);
return false;
}
// 删除主分账记录
boolean mainRemoveResult = super.removeById(id);
if (!mainRemoveResult) {
log.error("分账主信息删除失败,分账记录 ID: {}", id);
return false;
}
return true;
}
@Override
public DivideVO getVOById(Long divideId) {
DivideVO divide = baseMapper.getVOById(divideId);
if (divide == null) {
return null;
}
List<DivideDetail> detailList = detailMapper.selectList(new QueryWrapper<DivideDetail>().lambda().eq(DivideDetail::getDivideId, divideId));
divide.setDetails(detailConvert.toVO(detailList));
return divide;
}
}

View File

@ -0,0 +1,28 @@
<?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.wzj.soopin.transation.mapper.DivideMapper">
<select id="getVOById" resultType="com.wzj.soopin.transation.domain.vo.DivideVO">
SELECT
d.id,
d.order_sn,
d.order_money,
d.actual_money,
d.rule_id,
d.order_id,
d.fee,
d.status,
d.create_time,
dr.name as rule_name,
dr.type
FROM
trans_divide d
LEFT JOIN
trans_divide_rule dr ON d.rule_id = dr.id
WHERE
d.id = #{divideId}
</select>
</mapper>