From aff7d90dba9d9697f20b171ab7555acdb65efa52 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 24 Sep 2021 18:51:14 +0800 Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-mall --- src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java | 14 ++ src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java | 12 ++ src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 33 +++- src/main/resources/mapper/modules/MallMemberMapper.xml | 39 ++++++ src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java | 26 ++++ src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java | 40 ++++++ sql/xc_mall.sql | 3 src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java | 2 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java | 13 + src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 67 +++++++++- src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java | 5 src/main/resources/mapper/modules/MallGoodsMapper.xml | 8 + src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java | 38 ++++++ src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | 11 + src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java | 5 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java | 6 + src/main/resources/mapper/modules/MallMoneyFlowMapper.xml | 18 +++ src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java | 3 src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java | 2 19 files changed, 321 insertions(+), 24 deletions(-) diff --git a/sql/xc_mall.sql b/sql/xc_mall.sql index 01295a9..5490875 100644 --- a/sql/xc_mall.sql +++ b/sql/xc_mall.sql @@ -298,5 +298,8 @@ alter table mall_order_refund add phone varchar(32) null comment '联系电话'; alter table mall_order_refund add address text null comment '地址'; +alter table mall_money_flow add rt_member_id bigint null comment '返利用户ID'; +alter table mall_money_flow add status int null comment '提现状态 1-提现中2-成功3-拒绝'; + diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java new file mode 100644 index 0000000..efad520 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java @@ -0,0 +1,38 @@ +package cc.mrbird.febs.common.enumerates; + +import lombok.Getter; + +/** + * @author wzy + * @date 2021-09-24 + * 1-分红收入 2-业绩奖励 3-订单支付 4-退款 5-转账 + **/ +@Getter +public enum MoneyFlowTypeEnum { + /** + * 分红 + */ + BONUS(1), + /** + * 业绩 + */ + ACHIEVE(2), + /** + * 支付 + */ + PAY(3), + /** + * 退款 + */ + REFUND(4), + /** + * 转账 + */ + TRANSFER(5); + + private final int value; + + MoneyFlowTypeEnum(int value) { + this.value = value; + } +} diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java index 1031f9f..e1a238d 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java @@ -3,9 +3,11 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.mall.dto.ForgetPwdDto; import cc.mrbird.febs.mall.dto.ModifyMemberInfoDto; +import cc.mrbird.febs.mall.dto.MoneyFlowDto; import cc.mrbird.febs.mall.dto.TeamListDto; import cc.mrbird.febs.mall.service.IApiMallMemberService; import cc.mrbird.febs.mall.vo.MallMemberVo; +import cc.mrbird.febs.mall.vo.MoneyFlowVo; import cc.mrbird.febs.mall.vo.TeamListVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -67,6 +69,15 @@ }) @PostMapping(value = "/teamList") public FebsResponse teamList(@RequestBody TeamListDto teamListDto) { + return memberService.teamList(teamListDto); + } + + @ApiOperation(value = "资金流水列表") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = MoneyFlowVo.class) + }) + @PostMapping(value = "/moneyFlow") + public FebsResponse moneyFlow(@RequestBody MoneyFlowDto moneyFlowDto) { return null; } } diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java new file mode 100644 index 0000000..1ceb0a8 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java @@ -0,0 +1,26 @@ +package cc.mrbird.febs.mall.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wzy + * @date 2021-09-24 + **/ +@Data +@ApiModel(value = "MoneyFlowDto", description = "资金流水接收参数类") +public class MoneyFlowDto { + + @ApiModelProperty(value = "一页多少个", example = "10") + private Integer pageSize; + + @ApiModelProperty(value = "页码", example = "1") + private Integer pageNum; + + @ApiModelProperty(value = "类型 1-全部 2-支出 3-收入") + private Integer type; + + @ApiModelProperty(hidden = true) + private Long memberId; +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java b/src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java index 76842ea..fb0e579 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java @@ -12,6 +12,6 @@ @ApiModel(value = "TeamListDto", description = "我的团队接收参数类") public class TeamListDto { - @ApiModelProperty(value = "用户ID", example = "1") + @ApiModelProperty(value = "用户ID, 若查询本账号则不传", example = "1") private Long id; } diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java index ceacbfd..946f33f 100644 --- a/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java +++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java @@ -18,7 +18,21 @@ private BigDecimal amount; + /** + * 流水类型 1-分红收入 2-业绩奖励 3-订单支付 4-退款 5-转账 + */ private Integer type; private String orderNo; + + private String description; + + private String remark; + + private Long rtMemberId; + + /** + * 提现状态 1-提现中2-成功 3-拒绝 + */ + private Integer status; } diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java index b850a34..9e11a7f 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java @@ -10,6 +10,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; +import java.util.Map; + public interface MallGoodsMapper extends BaseMapper<MallGoods> { IPage<MallGoodsListVo> selectMallGoodsListQueryInPage(@Param("record") MallGoodsQueryDto queryDto, Page<MallGoodsListVo> page); @@ -23,4 +26,6 @@ Integer selectMallGoodsCountByGoodsNo(@Param("goodsNo")String goodsNo); AdminMailGoodsDetailVo selectMallGoodsInfoById(@Param("id")long id); + + Map<String, BigDecimal> selectGoodsStockAndVolume(@Param("id") Long id); } diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java index 3708e77..ad0f53a 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java @@ -2,10 +2,14 @@ import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.vo.MallMemberVo; +import cc.mrbird.febs.mall.vo.TeamListVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.List; /** * @author wzy @@ -22,4 +26,12 @@ MallMember selectInfoByAccountAndPwd(@Param("account") String account, @Param("password") String password); MallMemberVo getMallMemberInfoById(@Param("id")long id); + + List<TeamListVo> selectTeamListByInviteId(@Param("inviteId") String inviteId); + + BigDecimal selectOwnOrderAmountByInviteId(@Param("inviteId") String inviteId); + + Integer selectOwnCntByInviteId(@Param("inviteId") String inviteId); + + Integer selectOwnOrderCntByInviteId(@Param("inviteId") String inviteId); } diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java index 026adac..2a1f6e4 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java @@ -1,8 +1,10 @@ package cc.mrbird.febs.mall.mapper; +import cc.mrbird.febs.mall.dto.MoneyFlowDto; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.MallMoneyFlow; import cc.mrbird.febs.mall.vo.AdminMallMoneyFlowVo; +import cc.mrbird.febs.mall.vo.MoneyFlowVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -12,4 +14,5 @@ IPage<AdminMallMoneyFlowVo> selectMoneyFlowInPage(Page<AdminMallMoneyFlowVo> page, @Param("record")MallMember mallMember); + IPage<MoneyFlowVo> selectApiMoneyFlowInPage(IPage<MoneyFlowVo> page, @Param("record") MoneyFlowDto moneyFlowDto); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java index 1c6997f..03db35f 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java @@ -1,12 +1,11 @@ package cc.mrbird.febs.mall.service; import cc.mrbird.febs.common.entity.FebsResponse; -import cc.mrbird.febs.mall.dto.ForgetPwdDto; -import cc.mrbird.febs.mall.dto.LoginDto; -import cc.mrbird.febs.mall.dto.ModifyMemberInfoDto; -import cc.mrbird.febs.mall.dto.RegisterDto; +import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.MallMember; import com.baomidou.mybatisplus.extension.service.IService; + +import java.math.BigDecimal; public interface IApiMallMemberService extends IService<MallMember> { FebsResponse register(RegisterDto registerDto); @@ -24,4 +23,10 @@ FebsResponse setTradePwd(ForgetPwdDto forgetPwdDto); FebsResponse modifyMemberInfo(ModifyMemberInfoDto modifyMemberInfoDto); + + FebsResponse teamList(TeamListDto teamListDto); + + FebsResponse moneyFlows(MoneyFlowDto moneyFlowDto); + + void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, String description, String remark, Long rtMemberId, Integer status); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java index 7471bf9..b7fc216 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java @@ -17,7 +17,9 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.List; +import java.util.Map; /** * @author wzy @@ -44,6 +46,10 @@ } List<String> images = goodsImagesMapper.selectGoodsImagesByGoodsId(mallGoods.getId()); MallGoodsDetailsVo mallGoodsDetailsVo = MallGoodsConversion.INSTANCE.entityToDetailsVo(mallGoods); + + Map<String, BigDecimal> stockAndVolume = this.baseMapper.selectGoodsStockAndVolume(id); + mallGoodsDetailsVo.setStock(stockAndVolume.get("stock").intValue()); + mallGoodsDetailsVo.setVolume(stockAndVolume.get("volume").intValue()); mallGoodsDetailsVo.setImages(images); return mallGoodsDetailsVo; } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index ca6e862..9a61d7f 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -7,20 +7,17 @@ import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.common.utils.ShareCodeUtil; import cc.mrbird.febs.mall.conversion.MallMemberConversion; -import cc.mrbird.febs.mall.dto.ForgetPwdDto; -import cc.mrbird.febs.mall.dto.LoginDto; -import cc.mrbird.febs.mall.dto.ModifyMemberInfoDto; -import cc.mrbird.febs.mall.dto.RegisterDto; +import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.MallMemberWallet; +import cc.mrbird.febs.mall.entity.MallMoneyFlow; import cc.mrbird.febs.mall.entity.MallShoppingCart; -import cc.mrbird.febs.mall.mapper.MallMemberMapper; -import cc.mrbird.febs.mall.mapper.MallMemberWalletMapper; -import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; -import cc.mrbird.febs.mall.mapper.MallShoppingCartMapper; +import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IApiMallMemberService; import cc.mrbird.febs.mall.service.ICommonService; import cc.mrbird.febs.mall.vo.MallMemberVo; +import cc.mrbird.febs.mall.vo.MoneyFlowVo; +import cc.mrbird.febs.mall.vo.TeamListVo; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; @@ -29,6 +26,8 @@ import cn.hutool.crypto.asymmetric.KeyType; import cn.hutool.crypto.asymmetric.RSA; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -55,6 +54,7 @@ private final RedisUtils redisUtils; private final MallOrderInfoMapper mallOrderInfoMapper; private final MallShoppingCartMapper mallShoppingCartMapper; + private final MallMoneyFlowMapper mallMoneyFlowMapper; @Value("${spring.profiles.active}") private String active; @@ -264,4 +264,55 @@ this.baseMapper.updateById(mallMember); return new FebsResponse().success().message("修改成功"); } + + @Override + public FebsResponse teamList(TeamListDto teamListDto) { + Long memberId = null; + if (teamListDto.getId() == null) { + memberId = LoginUserUtil.getLoginUser().getId(); + } else { + memberId = teamListDto.getId(); + } + + MallMember mallMember = this.baseMapper.selectById(memberId); + + List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId()); + BigDecimal ownAmount = this.baseMapper.selectOwnOrderAmountByInviteId(mallMember.getInviteId()); + + TeamListVo own = new TeamListVo(); + own.setCreatedTime(mallMember.getCreatedTime()); + own.setAmount(ownAmount); + own.setName(mallMember.getName()); + own.setPhone(mallMember.getPhone()); + own.setInviteId(mallMember.getInviteId()); + own.setIsCurrent(1); + own.setCnt(this.baseMapper.selectOwnCntByInviteId(mallMember.getInviteId())); + own.setOrderCnt(this.baseMapper.selectOwnOrderCntByInviteId(mallMember.getInviteId())); + own.setId(mallMember.getId()); + list.add(0, own); + return new FebsResponse().success().data(list); + } + + @Override + public FebsResponse moneyFlows(MoneyFlowDto moneyFlowDto) { + IPage<MoneyFlowVo> page = new Page<>(moneyFlowDto.getPageNum(), moneyFlowDto.getPageSize()); + Long id = LoginUserUtil.getLoginUser().getId(); + moneyFlowDto.setMemberId(id); + IPage<MoneyFlowVo> pages = mallMoneyFlowMapper.selectApiMoneyFlowInPage(page, moneyFlowDto); + return new FebsResponse().success().data(pages); + } + + @Override + public void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, String description, String remark, Long rtMemberId, Integer status) { + MallMoneyFlow flow = new MallMoneyFlow(); + flow.setMemberId(memberId); + flow.setAmount(amount); + flow.setType(type); + flow.setOrderNo(orderNo); + flow.setDescription(description); + flow.setRemark(remark); + flow.setRtMemberId(rtMemberId); + flow.setStatus(status); + mallMoneyFlowMapper.insert(flow); + } } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index dee52ce..70da7dc 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -1,5 +1,6 @@ package cc.mrbird.febs.mall.service.impl; +import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; import cc.mrbird.febs.common.enumerates.OrderRefundStatusEnum; import cc.mrbird.febs.common.enumerates.OrderStatusEnum; import cc.mrbird.febs.common.exception.FebsException; @@ -12,8 +13,10 @@ import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; +import cc.mrbird.febs.mall.service.IApiMallMemberService; import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.service.IApiMallOrderInfoService; +import cc.mrbird.febs.mall.service.MallMemberService; import cc.mrbird.febs.mall.vo.OrderDetailVo; import cc.mrbird.febs.mall.vo.OrderListVo; import cc.mrbird.febs.mall.vo.OrderRefundVo; @@ -55,6 +58,7 @@ private final MallOrderRefundMapper mallOrderRefundMapper; private final MallOrderRefundOperationMapper mallOrderRefundOperationMapper; private final MallShoppingCartMapper mallShoppingCartMapper; + private final IApiMallMemberService memberService; private final RedisUtils redisUtils; @Override @@ -113,6 +117,7 @@ mallOrderItemMapper.insert(orderItem); sku.setStock(sku.getStock() - item.getCnt()); + sku.setSkuVolume(sku.getSkuVolume() + item.getCnt()); mallGoodsSkuMapper.updateById(sku); if (addOrderDto.getType() == 1) { @@ -160,19 +165,32 @@ throw new FebsException("订单状态不能支付"); } + String orderNo = ""; switch (payOrderDto.getType()) { case "1": // TODO 微信支付 + orderInfo.setPayMethod("微信支付"); break; case "2": // TODO 支付宝支付 + orderInfo.setPayMethod("支付宝支付"); break; case "3": - return balancePay(orderInfo, payOrderDto.getTradePwd()); + orderNo = balancePay(orderInfo, payOrderDto.getTradePwd()); + + orderInfo.setPayMethod("积分支付"); default: } - return ""; + + orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); + orderInfo.setPayTime(new Date()); + orderInfo.setPayOrderNo(orderInfo.getOrderNo()); + orderInfo.setPayResult("1"); + this.baseMapper.updateById(orderInfo); + + memberService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), null, null, null, null); + return orderNo; } private String balancePay(MallOrderInfo orderInfo, String tradePwd) { @@ -192,12 +210,6 @@ memberWalletService.reduceBalance(orderInfo.getAmount(), mallMember.getId()); - orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); - orderInfo.setPayTime(new Date()); - orderInfo.setPayMethod("积分支付"); - orderInfo.setPayOrderNo(orderInfo.getOrderNo()); - orderInfo.setPayResult("1"); - this.baseMapper.updateById(orderInfo); return orderInfo.getOrderNo(); } @@ -288,6 +300,7 @@ throw new FebsException("该订单不能退款"); } + Integer beforeStatus = orderInfo.getStatus(); MallMember member = LoginUserUtil.getLoginUser(); orderInfo.setStatus(OrderStatusEnum.REFUNDING.getValue()); this.baseMapper.updateById(orderInfo); @@ -301,7 +314,7 @@ orderRefund.setReason(addRefundDto.getReason()); orderRefund.setType(addRefundDto.getType()); orderRefund.setRefundTime(new Date()); - orderRefund.setBeforeStatus(orderInfo.getStatus()); + orderRefund.setBeforeStatus(beforeStatus); orderRefund.setStatus(OrderRefundStatusEnum.REFUND_APPLY.getValue()); mallOrderRefundMapper.insert(orderRefund); } else { @@ -309,7 +322,7 @@ orderRefund.setReason(addRefundDto.getReason()); orderRefund.setType(addRefundDto.getType()); orderRefund.setRefundTime(new Date()); - orderRefund.setBeforeStatus(orderInfo.getStatus()); + orderRefund.setBeforeStatus(beforeStatus); orderRefund.setStatus(OrderRefundStatusEnum.REFUND_APPLY.getValue()); mallOrderRefundMapper.updateById(orderRefund); } diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java new file mode 100644 index 0000000..b961ce3 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java @@ -0,0 +1,40 @@ +package cc.mrbird.febs.mall.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author wzy + * @date 2021-09-24 + **/ +@Data +@ApiModel(value = "MoneyFlowVo", description = "资金列表返回参数类") +public class MoneyFlowVo { + + @ApiModelProperty(value = "订单号") + private String orderNo; + + @ApiModelProperty(value = "金额,有正负") + private BigDecimal amount; + + @ApiModelProperty(value = "类型 1-分红收入 2-业绩奖励 3-订单支付 4-退款 5-转账") + private Integer type; + + @ApiModelProperty(value = "对方手机号") + private String phone; + + @ApiModelProperty(value = "代理等级") + private String memberLevel; + + @ApiModelProperty(value = "提现状态 1-提现中2-成功 3-拒绝") + private Integer status; + + @ApiModelProperty(value = "时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createdTime; +} diff --git a/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java b/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java index 4a88c14..4eacd0c 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java @@ -1,5 +1,6 @@ package cc.mrbird.febs.mall.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -23,6 +24,7 @@ private String orderNo; @ApiModelProperty(value = "下单时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date orderTime; @ApiModelProperty(value = "支付方式") diff --git a/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java index 2584c2f..b47daa9 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java @@ -31,7 +31,10 @@ @ApiModelProperty(value = "金额") private BigDecimal amount; - @ApiModelProperty(value = "数量") + @ApiModelProperty(value = "订单数量") + private Integer orderCnt; + + @ApiModelProperty(value = "团队数量") private Integer cnt; @ApiModelProperty(value = "注册时间") diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml index d27bff4..3070af0 100644 --- a/src/main/resources/mapper/modules/MallGoodsMapper.xml +++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml @@ -118,4 +118,12 @@ <select id="selectMallGoodsInfoById" resultType="cc.mrbird.febs.mall.vo.AdminMailGoodsDetailVo"> select * from mall_goods a where a.id = #{id} </select> + + <select id="selectGoodsStockAndVolume" resultType="java.util.HashMap"> + select + sum(stock) stock, + sum(sku_volume) volume + from mall_goods_sku + where goods_id=#{id} + </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml index 96f8df2..0d8527d 100644 --- a/src/main/resources/mapper/modules/MallMemberMapper.xml +++ b/src/main/resources/mapper/modules/MallMemberMapper.xml @@ -55,4 +55,43 @@ <select id="selectInfoByAccountAndPwd" resultType="cc.mrbird.febs.mall.entity.MallMember"> select * from mall_member where (phone=#{account} or email=#{account}) and password=#{password} </select> + + <select id="selectTeamListByInviteId" resultType="cc.mrbird.febs.mall.vo.TeamListVo"> + select + a.id, + a.name, + a.phone, + a.invite_id, + 2 isCurrent, + a.created_time, + (select sum(b.amount) from mall_member e + inner join mall_order_info b on e.id=b.member_id and b.status=4 + where e.invite_id=a.invite_id or e.referrer_id=a.invite_id) amount, + (select count(1) from mall_member e + inner join mall_order_info b on e.id=b.member_id and b.status=4 + where e.invite_id=a.invite_id or e.referrer_id=a.invite_id) orderCnt, + (select count(1) from mall_member x where x.referrer_id=a.invite_id) cnt + from mall_member a + where a.referrer_id=#{inviteId} + </select> + + <select id="selectOwnOrderAmountByInviteId" resultType="java.math.BigDecimal"> + select + IFNULL(sum(b.amount),0) + from mall_member e + inner join mall_order_info b on e.id=b.member_id and b.status=4 + where e.invite_id=#{inviteId} or e.referrer_id=#{inviteId} + </select> + + <select id="selectOwnCntByInviteId" resultType="java.lang.Integer"> + select IFNULL(count(1),0) from mall_member x where x.referrer_id=#{inviteId} + </select> + + <select id="selectOwnOrderCntByInviteId" resultType="java.lang.Integer"> + select + IFNULL(count(1),0) + from mall_member e + inner join mall_order_info b on e.id=b.member_id and b.status=4 + where e.invite_id=#{inviteId} or e.referrer_id=#{inviteId} + </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml index 9dfef8f..f5e1eb1 100644 --- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml +++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml @@ -7,4 +7,22 @@ order by a.CREATED_TIME desc </select> + <select id="selectApiMoneyFlowInPage" resultType="cc.mrbird.febs.mall.vo.MoneyFlowVo"> + select + a.*, + b.phone + from mall_money_flow a + inner join mall_member on a.rt_member_id=b.member_id + <where> + <if test="record.type == 2"> + and a.amount > 0 + </if> + <if test="record.type == 3"> + and 0 > a.amount + </if> + <if test="record.memberId != null"> + and a.member_id=#{record.memberId} + </if> + </where> + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1