添加查询数据

This commit is contained in:
yangjun 2024-06-29 19:48:11 +08:00
parent fdbbde9dd3
commit 9cc1567908
4 changed files with 61 additions and 15 deletions

View File

@ -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);
}

View File

@ -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<UserMoney> {
PageUtils balanceDetailed(@RequestAttribute Long userId, Page<UserMoneyDetails> ipage);
Result profitDetailed(@RequestAttribute Long userId, IPage ipage);
Result profitDetailed(@RequestAttribute Long userId, IPage ipage, String startTime,String endTime);
}

View File

@ -268,7 +268,7 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl<UserMoneyDetailsDao
QueryWrapper<UserMoneyDetails> 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<UserMoneyDetailsDao
}
//只查询操作余额的数据
queryWrapper.eq("manipulate_type", 2);
queryWrapper.orderByDesc("end_times");
queryWrapper.orderByDesc("create_time");
IPage<UserMoneyDetails> page2 = baseMapper.selectPage(page1, queryWrapper);
//资金明细添加到返回对象中
FundDetailsResult fundDetailsResult = new FundDetailsResult();
fundDetailsResult.setUserMoneyDetailsList(page2);
QueryWrapper<UserMoneyDetails> queryWrapper1 = new QueryWrapper();
QueryWrapper<UserMoneyDetails> 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<UserMoneyDetailsDao
income = new BigDecimal(map.get("sum_value").toString()) ;
}
//设置类型为出账
queryWrapper1.eq("type", "2");
queryWrapper2.eq("type", "2");
//查询出账
Map<String, Object> map2 = baseMapper.selectMaps(queryWrapper1).get(0);
Map<String, Object> map2 = baseMapper.selectMaps(queryWrapper2).get(0);
BigDecimal outgoing = new BigDecimal(0);
//如果结果为空则没有出账使用默认值0计算
if(map2 != null){

View File

@ -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<UserMoneyDao, UserMoney> 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<UserMoneyDao, UserMoney> i
// return new PageUtils(userMoneyDetailsDao.selectPage(pages,new QueryWrapper<UserMoneyDetails>().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<Orders> 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<Orders> page2 = ordersDao.selectPage(page1, queryWrapper);
//分成明细添加到返回对象中
return Result.success().put("data", page2);
}
}