From 83751617ac342e4168cb714106bc009e3f25f99c Mon Sep 17 00:00:00 2001 From: phpcjl <phpcjl@gmail.com> Date: 星期三, 18 十二月 2024 09:32:02 +0800 Subject: [PATCH] 1 --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopBalanceStatementMapper.java | 6 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopBalanceStatementMapper.xml | 33 ++++ ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java | 127 +++++++---------- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/ShopBalanceStatementService.java | 4 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/excel/BalanceChangeRecordEX.java | 22 +++ ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopBalanceStatement.java | 23 +++ ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml | 2 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java | 42 ++++++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java | 49 +++++++ ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java | 16 ++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ShopCommissionStatisticsVO.java | 40 +++++ 11 files changed, 288 insertions(+), 76 deletions(-) diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java index 1824fcd..5479c1b 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java @@ -171,6 +171,22 @@ @TableField("total_distribution_amount") private BigDecimal totalDistributionAmount; + @ApiModelProperty(value = "拉新人积分总数") + @TableField("total_invite_point") + private Integer totalInvitePoint; + + @ApiModelProperty(value = "注册积分总数") + @TableField("total_register_point") + private Integer totalRegisterPoint; + + @ApiModelProperty(value = "做工积分总数") + @TableField("total_work_point") + private Integer totalWorkPoint; + + @ApiModelProperty(value = "业绩积分总数") + @TableField("total_performance_point") + private Integer totalPerformancePoint; + @ApiModelProperty(value = "剩余积分") @TableField("lave_point") diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopBalanceStatement.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopBalanceStatement.java index 2e8da40..526c5c4 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopBalanceStatement.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopBalanceStatement.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.core.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -36,8 +37,9 @@ @TableField("shop_id") private Integer shopId; - @ApiModelProperty(value = "变动类型(1=返佣,2=提现)") + @ApiModelProperty(value = "变动类型(1=门店分佣,2=下级门店分佣,3=门店服务费)") @TableField("type") + @Excel(name = "变更类型",readConverterExp = "1=门店分佣,2=下级门店分佣,3=门店服务费") private Integer type; @ApiModelProperty(value = "历史余额") @@ -48,8 +50,14 @@ @TableField("variable_amount") private BigDecimal variableAmount; + @ApiModelProperty(value = "变动后余额") + @TableField("balance") + @Excel(name = "变更后数量") + private BigDecimal balance; + @ApiModelProperty(value = "变动时间") @TableField("create_time") + @Excel(name = "变更时间",dateFormat = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty(value = "变动用户id") @@ -60,5 +68,18 @@ @TableField("object_id") private Long objectId; + @ApiModelProperty(value = "门店名称") + @TableField(exist = false) + @Excel(name = "门店名称") + private String shopName; + @ApiModelProperty(value = "店长名称") + @TableField(exist = false) + @Excel(name = "店长名称") + private String shopManagerName; + + @ApiModelProperty(value = "联系电话") + @TableField(exist = false) + @Excel(name = "联系电话") + private String phone; } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java index 5c5a224..e43b425 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java @@ -3,17 +3,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.api.model.BalanceChangeRecord; -import com.ruoyi.account.api.model.UserClickLog; -import com.ruoyi.account.api.model.UserPoint; import com.ruoyi.account.dto.BalanceQuery; -import com.ruoyi.account.dto.UserCancelQuery; -import com.ruoyi.account.excel.UserPointEx; +import com.ruoyi.account.excel.BalanceChangeRecordEX; import com.ruoyi.account.service.BalanceChangeRecordService; import com.ruoyi.account.vo.CommissionStatistics; -import com.ruoyi.account.vo.UserPointStatistics; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.poi.ExcelUtil; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -52,77 +49,63 @@ return R.ok(balanceChangeRecordService.pageList(agentQuery)); } -// /** -// * 用户分佣统计 -// */ -// @GetMapping("/commissionStatistics") -// @ApiOperation(value = "用户分佣统计", tags = "管理后台-财务统计-用户分佣统计") -// public R<CommissionStatistics> commissionStatistics(UserPoint userPoint) { -// userPoint.setType(2); -// IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(userPoint.getPageNum(), userPoint.getPageSize()), userPoint); -// UserPointStatistics statistics = userPointService.getStatistics(userPoint); -// CommissionStatistics commissionStatistics = new CommissionStatistics(); -// commissionStatistics.setStatistics(statistics); -// commissionStatistics.setUserPointPage(userPointPage); -// return R.ok(commissionStatistics); -// } + /** + * 用户分佣统计 + */ + @GetMapping("/commissionStatistics") + @ApiOperation(value = "用户分佣统计", tags = "管理后台-财务统计-用户分佣统计") + public R<CommissionStatistics> commissionStatistics(@ApiParam("页码") @RequestParam Integer pageNum, + @ApiParam("每一页数据大小") Integer pageSize, + BalanceChangeRecord balanceChangeRecord) { + CommissionStatistics commissionStatistics1 = balanceChangeRecordService.commissionStatistics(Page.of(pageNum, pageSize), balanceChangeRecord); + return R.ok(commissionStatistics1); + } // // /** // * 导出用户分佣统计 // */ -// @GetMapping("/commissionExport") -// @ApiOperation(value = "用户分佣统计导出", tags = "管理后台-财务统计-用户分佣统计") -// public void commissionExport(HttpServletResponse response, UserPoint userPoint) { -// userPoint.setType(2); -// IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(1, Integer.MAX_VALUE), userPoint); -// List<UserPoint> userPointList = userPointPage.getRecords(); -// List<UserPointEx> userPointExList = new ArrayList<>(); -// for (UserPoint point : userPointList) { -// UserPointEx userPointEx = new UserPointEx(); -// userPointEx.setUserName(point.getUserName()); -// userPointEx.setPhone(point.getPhone()); -// userPointEx.setChangeTime(point.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); -// userPointEx.setChangeNum(point.getVariablePoint().toString()); -// Integer type = point.getType(); -// switch (type) { -// case 1: -// userPointEx.setType("消费积分"); -// break; -// case 2: -// userPointEx.setType("返佣积分"); -// break; -// case 3: -// userPointEx.setType("拉新人积分"); -// break; -// case 4: -// userPointEx.setType("兑换商品"); -// break; -// case 5: -// userPointEx.setType("门店业绩"); -// break; -// case 6: -// userPointEx.setType("门店返佣"); -// break; -// case 7: -// userPointEx.setType("技师业绩"); -// break; -// case 8: -// userPointEx.setType("转赠积分"); -// break; -// case 9: -// userPointEx.setType("做工积分"); -// break; -// case 10: -// userPointEx.setType("注册积分"); -// break; -// default: -// userPointEx.setType("未知积分"); -// } -// userPointExList.add(userPointEx); -// } -// ExcelUtil<UserPointEx> util = new ExcelUtil<>(UserPointEx.class); -// util.exportExcel(response, userPointExList, "用户分佣统计"); -// } + @GetMapping("/commissionExport") + @ApiOperation(value = "用户分佣统计导出", tags = "管理后台-财务统计-用户分佣统计") + public void commissionExport(HttpServletResponse response, BalanceChangeRecord balanceChangeRecord) { + CommissionStatistics commissionStatistics1 = balanceChangeRecordService.commissionStatistics(Page.of(1, Integer.MAX_VALUE), balanceChangeRecord); + IPage<BalanceChangeRecord> userPointPage = commissionStatistics1.getUserPointPage(); + List<BalanceChangeRecord> userPointList = userPointPage.getRecords(); + List<BalanceChangeRecordEX> userPointExList = new ArrayList<>(); + for (BalanceChangeRecord balanceChangeRecord1 : userPointList) { + BalanceChangeRecordEX balanceChangeRecordEX = new BalanceChangeRecordEX(); + balanceChangeRecordEX.setUserName(balanceChangeRecord1.getUserName()); + balanceChangeRecordEX.setPhone(balanceChangeRecord1.getUserPhone()); + balanceChangeRecordEX.setChangeTime(balanceChangeRecord1.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + balanceChangeRecordEX.setChangeNum(balanceChangeRecord1.getAfterAmount().toString()); + Integer type = balanceChangeRecord1.getChangeType(); + // 类型:1充值2提现3红包4分佣5商城购物6订单取消回退 + switch (type) { + case 1: + balanceChangeRecordEX.setType("充值"); + break; + case 2: + balanceChangeRecordEX.setType("提现"); + break; + case 3: + balanceChangeRecordEX.setType("红包"); + break; + case 4: + balanceChangeRecordEX.setType("分佣"); + break; + case 5: + balanceChangeRecordEX.setType("商城购物"); + break; + case 6: + balanceChangeRecordEX.setType("订单取消回退"); + break; + default: + balanceChangeRecordEX.setType("未知积分"); + } + userPointExList.add(balanceChangeRecordEX); + } + ExcelUtil<BalanceChangeRecordEX> util = new ExcelUtil<>(BalanceChangeRecordEX.class); + util.exportExcel(response, userPointExList, "用户分佣统计"); + } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/excel/BalanceChangeRecordEX.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/excel/BalanceChangeRecordEX.java new file mode 100644 index 0000000..a81fee3 --- /dev/null +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/excel/BalanceChangeRecordEX.java @@ -0,0 +1,22 @@ +package com.ruoyi.account.excel; + +import com.ruoyi.common.core.annotation.Excel; +import lombok.Data; + +@Data +public class BalanceChangeRecordEX { + @Excel(name = "用户名称") + private String userName; + + @Excel(name = "联系电话") + private String phone; + + @Excel(name = "变更类型") + private String type; + + @Excel(name = "变更时间") + private String changeTime; + + @Excel(name = "变更数量") + private String changeNum; +} diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java index 9ee1f9e..d03e6f8 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java @@ -1,8 +1,23 @@ package com.ruoyi.other.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.poi.ExcelUtil; +import com.ruoyi.other.api.domain.ShopBalanceStatement; +import com.ruoyi.other.service.ShopBalanceStatementService; +import com.ruoyi.other.vo.ShopCommissionStatisticsVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; /** * <p> @@ -14,7 +29,34 @@ */ @RestController @RequestMapping("/shop-balance-statement") +@Api(tags = "管理后台-财务统计-门店分佣统计") public class ShopBalanceStatementController { + @Resource + private ShopBalanceStatementService shopBalanceStatementService; + + /** + * 门店分佣统计 + */ + @GetMapping("/commissionStatistics") + @ApiOperation("门店分佣统计") + public R<ShopCommissionStatisticsVO> shopCommissionStatistics(@ApiParam("页码") @RequestParam Integer pageNum, + @ApiParam("每一页数据大小") Integer pageSize, + ShopBalanceStatement shopBalanceStatement){ + ShopCommissionStatisticsVO shopCommissionStatisticsVO = shopBalanceStatementService.shopCommissionStatistics(Page.of(pageNum, pageSize), shopBalanceStatement); + return R.ok(shopCommissionStatisticsVO); + } + + /** + * 导出门店分佣统计 + */ + @GetMapping("/export") + @ApiOperation("导出门店分佣统计") + public void export(HttpServletResponse response , ShopBalanceStatement shopBalanceStatement){ + ShopCommissionStatisticsVO shopCommissionStatisticsVO = shopBalanceStatementService.shopCommissionStatistics(Page.of(1, Integer.MAX_VALUE), shopBalanceStatement); + IPage<ShopBalanceStatement> statementIPage = shopCommissionStatisticsVO.getStatementIPage(); + ExcelUtil<ShopBalanceStatement> util = new ExcelUtil<>(ShopBalanceStatement.class); + util.exportExcel(response, statementIPage.getRecords(), "用户积分统计"); + } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopBalanceStatementMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopBalanceStatementMapper.java index 3363860..4b0e3c4 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopBalanceStatementMapper.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopBalanceStatementMapper.java @@ -1,7 +1,11 @@ package com.ruoyi.other.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.ruoyi.other.api.domain.ShopBalanceStatement; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * <p> @@ -12,5 +16,5 @@ * @since 2024-11-20 */ public interface ShopBalanceStatementMapper extends BaseMapper<ShopBalanceStatement> { - + List<ShopBalanceStatement> findLatestChangeByType(ShopBalanceStatement shopBalanceStatement); } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/ShopBalanceStatementService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/ShopBalanceStatementService.java index 5328644..ff95d38 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/ShopBalanceStatementService.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/ShopBalanceStatementService.java @@ -1,7 +1,9 @@ package com.ruoyi.other.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.other.api.domain.ShopBalanceStatement; +import com.ruoyi.other.vo.ShopCommissionStatisticsVO; /** * <p> @@ -12,5 +14,5 @@ * @since 2024-11-20 */ public interface ShopBalanceStatementService extends IService<ShopBalanceStatement> { - + ShopCommissionStatisticsVO shopCommissionStatistics(IPage<ShopBalanceStatement> page, ShopBalanceStatement shopBalanceStatement); } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java index 74bf2d2..5e53178 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java @@ -1,10 +1,19 @@ package com.ruoyi.other.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.other.api.domain.Shop; import com.ruoyi.other.mapper.ShopBalanceStatementMapper; import com.ruoyi.other.api.domain.ShopBalanceStatement; import com.ruoyi.other.service.ShopBalanceStatementService; +import com.ruoyi.other.service.ShopService; +import com.ruoyi.other.vo.ShopCommissionStatisticsVO; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -16,5 +25,45 @@ */ @Service public class ShopBalanceStatementServiceImpl extends ServiceImpl<ShopBalanceStatementMapper, ShopBalanceStatement> implements ShopBalanceStatementService { + @Resource + private ShopBalanceStatementMapper shopBalanceStatementMapper; + @Resource + private ShopService shopService; + + @Override + public ShopCommissionStatisticsVO shopCommissionStatistics(IPage<ShopBalanceStatement> page, ShopBalanceStatement shopBalanceStatement) { + List<ShopBalanceStatement> latestChangeByType = shopBalanceStatementMapper.findLatestChangeByType(shopBalanceStatement); + ShopCommissionStatisticsVO shopCommissionStatisticsVO = new ShopCommissionStatisticsVO(); + for (ShopBalanceStatement sp : latestChangeByType) { + switch (sp.getType()) { + case 1: + shopCommissionStatisticsVO.setTotalCommission(sp.getBalance()); + break; + case 2: + shopCommissionStatisticsVO.setTotalSubordinateCommission(sp.getBalance()); + break; + case 3: + shopCommissionStatisticsVO.setTotalServiceCharge(sp.getBalance()); + break; + } + } + shopCommissionStatisticsVO.setTotalAmount(shopCommissionStatisticsVO.getTotalCommission() + .add(shopCommissionStatisticsVO.getTotalSubordinateCommission()) + .add(shopCommissionStatisticsVO.getTotalServiceCharge())); + + IPage<ShopBalanceStatement> statementIPage = page(page, new LambdaQueryWrapper<ShopBalanceStatement>()); + List<ShopBalanceStatement> records = statementIPage.getRecords(); + List<Integer> shopIds = records.stream().map(ShopBalanceStatement::getShopId).collect(Collectors.toList()); + List<Shop> shopList = shopService.listByIds(shopIds); + records.forEach(st -> { + shopList.stream().filter(shop -> shop.getId().equals(st.getShopId())).findFirst().ifPresent(shop -> { + st.setShopName(shop.getName()); + st.setShopManagerName(shop.getShopManager()); + st.setPhone(shop.getPhone()); + }); + }); + shopCommissionStatisticsVO.setStatementIPage(statementIPage); + return shopCommissionStatisticsVO; + } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ShopCommissionStatisticsVO.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ShopCommissionStatisticsVO.java new file mode 100644 index 0000000..38fa003 --- /dev/null +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ShopCommissionStatisticsVO.java @@ -0,0 +1,40 @@ +package com.ruoyi.other.vo; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ruoyi.other.api.domain.ShopBalanceStatement; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@ApiModel("门店分佣统计") +public class ShopCommissionStatisticsVO { + /** + * 总金额 + */ + @ApiModelProperty(value = "总金额") + private BigDecimal totalAmount; + + /** + * 分佣总金额 + */ + @ApiModelProperty(value = "分佣总金额") + private BigDecimal totalCommission; + + /** + * 服务费总计 + */ + @ApiModelProperty(value = "服务费总计") + private BigDecimal totalServiceCharge; + + /** + * 下级门店分佣总金额 + */ + @ApiModelProperty(value = "下级门店分佣总金额") + private BigDecimal totalSubordinateCommission; + + private IPage<ShopBalanceStatement> statementIPage; +} diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopBalanceStatementMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopBalanceStatementMapper.xml new file mode 100644 index 0000000..3def01d --- /dev/null +++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopBalanceStatementMapper.xml @@ -0,0 +1,33 @@ +<?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.other.mapper.ShopBalanceStatementMapper"> + + <select id="findLatestChangeByType" resultType="com.ruoyi.other.api.domain.ShopBalanceStatement"> + SELECT + id, + shop_id, + type, + historical_balance, + variable_amount, + balance, + create_time, + create_user_id, + object_id + FROM + ( + SELECT + id, + shop_id, + type, + historical_balance, + variable_amount, + balance, + create_time, + create_user_id, + object_id, + ROW_NUMBER() OVER ( PARTITION BY type, create_user_id ORDER BY create_time DESC ) AS rn + FROM + t_shop_balance_statement + ) AS subquery + </select> +</mapper> \ No newline at end of file diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml index 51e5f7e..6828ee3 100644 --- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml +++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml @@ -23,7 +23,7 @@ create_time, create_user_id, object_id, - ROW_NUMBER() OVER ( PARTITION BY type ORDER BY create_time DESC ) AS rn + ROW_NUMBER() OVER ( PARTITION BY type,create_user_id ORDER BY create_time DESC ) AS rn FROM t_shop_point -- Gitblit v1.7.1