From 6ceafc5b1f3d24dfa75b6b726a44c8a88acbe678 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 16 一月 2025 10:46:48 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/qijisheng --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java | 164 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 128 insertions(+), 36 deletions(-) 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 6167079..e8d1e6e 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,7 +1,9 @@ package com.ruoyi.other.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.poi.ExcelUtil; @@ -9,9 +11,12 @@ import com.ruoyi.other.api.domain.Shop; import com.ruoyi.other.api.domain.ShopBalanceStatement; import com.ruoyi.other.dto.ShopBalanceDto; +import com.ruoyi.other.mapper.ShopBalanceStatementMapper; import com.ruoyi.other.service.ShopBalanceStatementService; import com.ruoyi.other.service.ShopService; import com.ruoyi.other.vo.ShopCommissionStatisticsVO; +import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.feignClient.SysUserClient; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -20,6 +25,9 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.util.Collection; import java.util.List; import java.util.List; @@ -41,6 +49,14 @@ private TokenService tokenService; @Resource private ShopBalanceStatementMapper shopBalanceStatementMapper; + @Resource + private ShopService shopService; + @Resource + private SysUserClient sysUserClient; + + + + /** * 门店分佣统计 @@ -58,7 +74,10 @@ public R<Page<ShopBalanceStatement>> shopCommissionStatisticslist(@ApiParam("页码") @RequestParam Integer pageNum, @ApiParam("每一页数据大小") Integer pageSize, ShopBalanceStatement shopBalanceStatement){ - Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); + Long userid = tokenService.getLoginUser().getUserid(); + R<SysUser> sysUserR = sysUserClient.getSysUser(userid); + SysUser sysUser = sysUserR.getData(); + Integer objectId = sysUser.getObjectId(); Page<ShopBalanceStatement> page = shopBalanceStatementService.lambdaQuery().eq(ShopBalanceStatement::getShopId, objectId).eq(shopBalanceStatement.getType() != null, ShopBalanceStatement::getType, shopBalanceStatement.getType()) .orderByDesc(ShopBalanceStatement::getCreateTime) .page(Page.of(pageNum, pageSize)); @@ -68,46 +87,86 @@ } - @Resource - private ShopService shopService; + @GetMapping("/commissionStatistics/info") @ApiOperation(value = "门店余额明细上方数据", notes = "门店余额明细", tags = {"门店后台"}) - public R<ShopBalanceDto> shopCommissionStatisticsinfo(){ + public R<ShopBalanceDto> shopCommissionStatisticsinfo(Integer type){ Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); ShopBalanceDto dto = new ShopBalanceDto(); - List<ShopBalanceStatement> list = shopBalanceStatementService.lambdaQuery().eq(ShopBalanceStatement::getShopId,objectId).eq(ShopBalanceStatement::getType, 3).list(); - List<ShopBalanceStatement> list1 = shopBalanceStatementService.lambdaQuery().eq(ShopBalanceStatement::getShopId,objectId).eq(ShopBalanceStatement::getType, 4).list(); - BigDecimal bigDecimal1 = new BigDecimal(0); - for (ShopBalanceStatement shopBalanceStatement : list) { - bigDecimal1 = bigDecimal1.add(shopBalanceStatement.getVariableAmount()); - } - for (ShopBalanceStatement shopBalanceStatement : list1) { - bigDecimal1 = bigDecimal1.add(shopBalanceStatement.getVariableAmount()); - } - dto.setBigDecimal1(bigDecimal1); - - BigDecimal bigDecimal2= new BigDecimal(0); - for (ShopBalanceStatement shopBalanceStatement : list) { - bigDecimal2 = bigDecimal2.add(shopBalanceStatement.getVariableAmount()); - } - dto.setBigDecimal2(bigDecimal2); - - BigDecimal bigDecimal3= new BigDecimal(0); - for (ShopBalanceStatement shopBalanceStatement : list1) { - bigDecimal3 = bigDecimal3.add(shopBalanceStatement.getVariableAmount()); - } - dto.setBigDecimal3(bigDecimal3); - - List<ShopBalanceStatement> list2 = shopBalanceStatementService.lambdaQuery().eq(ShopBalanceStatement::getShopId,objectId).eq(ShopBalanceStatement::getType, 2).list(); - BigDecimal bigDecimal4= new BigDecimal(0); - for (ShopBalanceStatement shopBalanceStatement : list2) { - bigDecimal4 = bigDecimal4.add(shopBalanceStatement.getVariableAmount()); - } - dto.setBigDecimal4(bigDecimal4); - Shop byId = shopService.getById(objectId); - dto.setBigDecimal5(byId.getCanWithdrawMoney()); - dto.setBigDecimal6(byId.getWithdrawMoney()); + + if (type==null){ + List<ShopBalanceStatement> list = shopBalanceStatementService.lambdaQuery().eq(ShopBalanceStatement::getShopId,objectId).eq(ShopBalanceStatement::getType, 3).list(); + List<ShopBalanceStatement> list1 = shopBalanceStatementService.lambdaQuery().eq(ShopBalanceStatement::getShopId,objectId).eq(ShopBalanceStatement::getType, 1).list(); + BigDecimal bigDecimal1 = new BigDecimal(0); + for (ShopBalanceStatement shopBalanceStatement : list) { + bigDecimal1 = bigDecimal1.add(shopBalanceStatement.getVariableAmount()); + } + for (ShopBalanceStatement shopBalanceStatement : list1) { + bigDecimal1 = bigDecimal1.add(shopBalanceStatement.getVariableAmount()); + } + dto.setBigDecimal1(bigDecimal1); + + BigDecimal bigDecimal2= new BigDecimal(0); + for (ShopBalanceStatement shopBalanceStatement : list) { + bigDecimal2 = bigDecimal2.add(shopBalanceStatement.getVariableAmount()); + } + dto.setBigDecimal2(bigDecimal2); + + BigDecimal bigDecimal3= new BigDecimal(0); + for (ShopBalanceStatement shopBalanceStatement : list1) { + bigDecimal3 = bigDecimal3.add(shopBalanceStatement.getVariableAmount()); + } + dto.setBigDecimal3(bigDecimal3); + + List<ShopBalanceStatement> list2 = shopBalanceStatementService.lambdaQuery().eq(ShopBalanceStatement::getShopId,objectId).eq(ShopBalanceStatement::getType, 2).list(); + BigDecimal bigDecimal4= new BigDecimal(0); + for (ShopBalanceStatement shopBalanceStatement : list2) { + bigDecimal4 = bigDecimal4.add(shopBalanceStatement.getVariableAmount()); + } + dto.setBigDecimal4(bigDecimal4); + + dto.setBigDecimal5(byId.getCanWithdrawMoney()); + dto.setBigDecimal6(byId.getWithdrawMoney()); + return R.ok(dto); + }else{ + switch (type){ + case 1: + // 关联用户分拥 + BigDecimal bigDecimal = new BigDecimal("0"); + List<ShopBalanceStatement> list1 = shopBalanceStatementService.lambdaQuery().eq(ShopBalanceStatement::getShopId,objectId).eq(ShopBalanceStatement::getType, 1).list(); + for (ShopBalanceStatement shopBalanceStatement : list1) { + bigDecimal = bigDecimal.add(shopBalanceStatement.getVariableAmount()); + } + dto.setBigDecimal3(bigDecimal); + dto.setBigDecimal1(bigDecimal); + break; + case 2: + // 下级门店分佣 + BigDecimal bigDecimal2= new BigDecimal(0); + List<ShopBalanceStatement> list2 = shopBalanceStatementService.lambdaQuery().eq(ShopBalanceStatement::getShopId,objectId).eq(ShopBalanceStatement::getType, 2).list(); + for (ShopBalanceStatement shopBalanceStatement : list2) { + bigDecimal2 = bigDecimal2.add(shopBalanceStatement.getVariableAmount()); + } + dto.setBigDecimal4(bigDecimal2); + dto.setBigDecimal1(bigDecimal2); + break; + case 3: + // 服务费分佣 + List<ShopBalanceStatement> list = shopBalanceStatementService.lambdaQuery().eq(ShopBalanceStatement::getShopId,objectId).eq(ShopBalanceStatement::getType, 3).list(); + BigDecimal bigDecimal3= new BigDecimal(0); + for (ShopBalanceStatement shopBalanceStatement : list) { + bigDecimal3 = bigDecimal3.add(shopBalanceStatement.getVariableAmount()); + } + dto.setBigDecimal2(bigDecimal3); + dto.setBigDecimal1(bigDecimal3); + break; + case 4: + // 余额提现 + dto.setBigDecimal6(byId.getWithdrawMoney()); + break; + } + } return R.ok(dto); } @@ -130,6 +189,39 @@ public R<List<ShopBalanceStatement>> getList(@RequestBody ShopBalanceStatement shopBalanceStatement){ return R.ok(shopBalanceStatementMapper.selectShopBalanceStatementList(shopBalanceStatement)); } + + + /** + * 保存门店余额流水 + * @param shopBalanceStatement + */ + @PostMapping("/saveShopBalanceStatement") + public void saveShopBalanceStatement(@RequestBody ShopBalanceStatement shopBalanceStatement){ + shopBalanceStatementService.save(shopBalanceStatement); + } + + /** + * 获取门店流水数据 + * @param types + * @param objectId + * @return + */ + @PostMapping("/getShopBalanceStatementList") + public R<List<ShopBalanceStatement>> getShopBalanceStatementList(@RequestParam("types") Collection<Integer> types, @RequestParam(value = "objectId",required = false) Long objectId){ + List<ShopBalanceStatement> list = shopBalanceStatementService.list(new LambdaQueryWrapper<ShopBalanceStatement>() + .eq(objectId != null,ShopBalanceStatement::getObjectId, objectId) + .in(types !=null && !types.isEmpty(),ShopBalanceStatement::getType, types)); + return R.ok(list); + } + + @PostMapping("/getShopBalanceStatementList2") + public R<List<ShopBalanceStatement>> getShopBalanceStatementList2(@RequestParam("type") Integer type, + @RequestParam(value = "date") LocalDateTime date){ + List<ShopBalanceStatement> list = shopBalanceStatementService.list(new LambdaQueryWrapper<ShopBalanceStatement>() + .eq(ShopBalanceStatement::getType, type) + .between(ShopBalanceStatement::getCreateTime, date.with(LocalTime.MIN), date.with(LocalTime.MAX))); + return R.ok(list); + } } -- Gitblit v1.7.1