From 9cc156790825cdbedd3748d18f96c718c81817e4 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Sat, 29 Jun 2024 19:48:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9F=A5=E8=AF=A2=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/AppUserMoneyController.java | 38 ++++++++++++++++--- .../modules/app/service/UserMoneyService.java | 3 +- .../impl/UserMoneyDetailsServiceImpl.java | 13 +++++-- .../service/impl/UserMoneyServiceImpl.java | 22 +++++++++-- 4 files changed, 61 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/sqx/modules/app/controller/app/AppUserMoneyController.java b/src/main/java/com/sqx/modules/app/controller/app/AppUserMoneyController.java index 30a9d52..1df32ae 100644 --- a/src/main/java/com/sqx/modules/app/controller/app/AppUserMoneyController.java +++ b/src/main/java/com/sqx/modules/app/controller/app/AppUserMoneyController.java @@ -15,6 +15,7 @@ import com.sqx.modules.app.service.UserMoneyArtificerService; import com.sqx.modules.app.service.UserMoneyDetailsService; import com.sqx.modules.app.service.UserMoneyService; import com.sqx.modules.app.service.UserService; +import com.sqx.modules.artificer.entity.Artificer; import com.sqx.modules.artificer.entity.Period; import com.sqx.modules.artificer.service.ArtificerService; import com.sqx.modules.utils.PeriodUtil; @@ -24,6 +25,7 @@ import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @@ -150,13 +152,37 @@ public class AppUserMoneyController { @GetMapping("/profitDetailed") @Login @ApiOperation("收益明细") - public Result profitDetailed(@RequestAttribute Long userId, Long page, Long limit) { - if (page != null || limit != null) { - return Result.error("分页条件为空"); - } else { - IPage ipage = new Page(page, limit); - return Result.success().put("data", userMoneyService.profitDetailed(userId, ipage)); + public Result profitDetailed(@RequestAttribute Long userId, Long page, Long limit,Integer fundType) { + Artificer artificer = artificerService.selectArtificerByUserId(userId); + + String startTime = ""; + String endTime = ""; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if(fundType==1){//当日 + startTime = sdf.format(new Date()); + endTime = sdf.format(new Date())+" 23:59:59"; + }else if(fundType == 2){//当期 + Period period = new Period(); + period.setArtificerId(artificer.getArtificerId()+""); + period.setFundData(new Date()); + period.setFundType(1); + period = PeriodUtil.calculationPeriod(period); + startTime = sdf.format(period.getStartFundData()); + endTime = sdf.format(period.getEndFundData()); + }else if(fundType == 3){//当月 + Period period = new Period(); + period.setArtificerId(artificer.getArtificerId()+""); + period.setFundData(new Date()); + period.setFundType(3); + period = PeriodUtil.calculationPeriod(period); + startTime = sdf.format(period.getStartFundData()); + endTime = sdf.format(period.getEndFundData()); } + + if(page == null){page = 1L;} + if(limit == null){limit = 10L;} + IPage ipage = new Page(page, limit); + return userMoneyService.profitDetailed(artificer.getArtificerId(), ipage,startTime,endTime); } diff --git a/src/main/java/com/sqx/modules/app/service/UserMoneyService.java b/src/main/java/com/sqx/modules/app/service/UserMoneyService.java index 08f22e5..4ef93ea 100644 --- a/src/main/java/com/sqx/modules/app/service/UserMoneyService.java +++ b/src/main/java/com/sqx/modules/app/service/UserMoneyService.java @@ -7,6 +7,7 @@ import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.Result; import com.sqx.modules.app.entity.UserMoney; import com.sqx.modules.app.entity.UserMoneyDetails; +import com.sqx.modules.artificer.entity.Period; import org.springframework.web.bind.annotation.RequestAttribute; import java.math.BigDecimal; @@ -25,6 +26,6 @@ public interface UserMoneyService extends IService { PageUtils balanceDetailed(@RequestAttribute Long userId, Page ipage); - Result profitDetailed(@RequestAttribute Long userId, IPage ipage); + Result profitDetailed(@RequestAttribute Long userId, IPage ipage, String startTime,String endTime); } diff --git a/src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java b/src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java index 5f87fab..d2f374a 100644 --- a/src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java +++ b/src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java @@ -268,7 +268,7 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper(); queryWrapper.eq("user_id", period.getArtificerId()); if(StringUtil.isNotEmpty(period.getStartFundData().toString())){ - queryWrapper.between("end_times", period.getStartFundData(), period.getEndFundData()); + queryWrapper.between("create_time", period.getStartFundData(), period.getEndFundData()); } if(period.getDetailsType()!= null){ //方便前端判断 传1则查询全部 2查询收入 3查询支出 @@ -285,16 +285,21 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl page2 = baseMapper.selectPage(page1, queryWrapper); //资金明细添加到返回对象中 FundDetailsResult fundDetailsResult = new FundDetailsResult(); fundDetailsResult.setUserMoneyDetailsList(page2); QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper1.eq("user_id", period.getArtificerId()); queryWrapper1.select("sum(money) as sum_value"); + + queryWrapper2.eq("user_id", period.getArtificerId()); + queryWrapper2.select("sum(money) as sum_value"); if(StringUtil.isNotEmpty(period.getStartFundData().toString())){ queryWrapper1.between("create_time", period.getStartFundData(), period.getEndFundData()); + queryWrapper2.between("create_time", period.getStartFundData(), period.getEndFundData()); } //设置类型为进账 queryWrapper1.eq("type", "1"); @@ -305,9 +310,9 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl map2 = baseMapper.selectMaps(queryWrapper1).get(0); + Map map2 = baseMapper.selectMaps(queryWrapper2).get(0); BigDecimal outgoing = new BigDecimal(0); //如果结果为空则没有出账使用默认值0计算 if(map2 != null){ diff --git a/src/main/java/com/sqx/modules/app/service/impl/UserMoneyServiceImpl.java b/src/main/java/com/sqx/modules/app/service/impl/UserMoneyServiceImpl.java index 0a598f6..a18617f 100644 --- a/src/main/java/com/sqx/modules/app/service/impl/UserMoneyServiceImpl.java +++ b/src/main/java/com/sqx/modules/app/service/impl/UserMoneyServiceImpl.java @@ -11,7 +11,9 @@ import com.sqx.common.utils.Result; import com.sqx.modules.app.dao.*; import com.sqx.modules.app.entity.*; import com.sqx.modules.app.service.*; +import com.sqx.modules.artificer.dao.OrdersDao; import com.sqx.modules.artificer.entity.Artificer; +import com.sqx.modules.artificer.entity.Orders; import com.sqx.modules.artificer.entity.Period; import com.sqx.modules.artificer.service.ArtificerService; import com.sqx.modules.bl.collect.entity.CollectMassage; @@ -29,6 +31,7 @@ import org.springframework.web.bind.annotation.RequestAttribute; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -47,6 +50,8 @@ public class UserMoneyServiceImpl extends ServiceImpl i private UserService userService; @Autowired private UserMoneyDetailsServiceImpl userMoneyDetailsService; + @Autowired + private OrdersDao ordersDao; @Override public Result payUserMoneyArtificer(@RequestAttribute Long userId, Long artificerId, BigDecimal money){ UserMoney userMoney = selectUserMoneyByUserId(userId); @@ -149,11 +154,20 @@ public class UserMoneyServiceImpl extends ServiceImpl i // return new PageUtils(userMoneyDetailsDao.selectPage(pages,new QueryWrapper().eq("user_id",userId).orderByDesc("create_time "))); return new PageUtils(userMoneyDetailsDao.findUserMontyDetailPage(pages,userId)); } - + //收益明细 @Override - public Result profitDetailed(Long userId, IPage ipage) { - //收益明细 - return null; + public Result profitDetailed(Long userId, IPage page1, String startTime,String endTime) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("artificer_id", userId); + queryWrapper.between("end_times", startTime, endTime); + //只查询已完成和待评价的订单 + queryWrapper.in("status", Arrays.asList(5, 3)); + //只查询根节点数据 + queryWrapper.eq("parent_id", 0); + queryWrapper.orderByDesc("end_times"); + IPage page2 = ordersDao.selectPage(page1, queryWrapper); + //分成明细添加到返回对象中 + return Result.success().put("data", page2); } }