package com.dsh.guns.modular.system.controller.code; import com.dsh.course.feignClient.account.*; import com.dsh.course.feignClient.competition.model.Competition; import com.dsh.course.feignClient.competition.model.CompetitionQuery; import com.dsh.course.feignClient.competition.model.PaymentCompetition; import com.dsh.course.feignClient.competition.model.TCompetition; import com.dsh.course.feignClient.other.SiteClient; import com.google.common.collect.Lists; import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.feignClient.account.model.*; import com.dsh.course.feignClient.competition.CompetitionClient; import com.dsh.course.feignClient.course.CancelledClassesClient; import com.dsh.course.feignClient.course.CoursePackagePaymentClient; import com.dsh.course.feignClient.other.StoreClient; import com.dsh.course.mapper.UserMapper; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.core.base.tips.SuccessTip; import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.util.ToolUtil; import com.dsh.guns.modular.system.model.*; import com.dsh.guns.modular.system.service.*; import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; import com.sun.org.apache.bcel.internal.generic.NEW; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.stream.Collectors; /** * 财务控制器 * */ @Controller @RequestMapping("/finance") public class TFinanceController extends BaseController { private String PREFIX = "/system/finance/"; @Autowired private AppUserClient appUserClient; @Autowired private ICityService cityService; @Autowired private IRegionService regionService; @Autowired private FinanceClient financeClient; @Autowired private CancelledClassesClient cancelledClassesClient; @Autowired private StoreClient storeClient; @Autowired private CoursePackagePaymentClient coursePackagePaymentClient; @Autowired private VipPaymentClient vipPaymentClient; @Autowired private CompetitionClient competitionClient; @Autowired private SiteClient siteClient; /** * 跳转到充值记录页面 */ @RequestMapping("/rechargeRecords") public String index(Model model) { List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("list",list); Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); model.addAttribute("userType",objectType); String roleid = UserExt.getUser().getRoleid(); model.addAttribute("objectType",objectType); return PREFIX + "RechargeRecords.html"; } /** * 获取充值记录 */ @RequestMapping(value = "/listAll") @ResponseBody public List list(String province, String city, String name, String phone,String time,Integer type) { RechargeRecordsQuery coachQuery = new RechargeRecordsQuery(); Region provinceCode = regionService.getOne(new QueryWrapper().eq("code", province)); Region cityCode = regionService.getOne(new QueryWrapper().eq("code", city)); if (provinceCode!=null){ coachQuery.setProvince(provinceCode.getName()); }else{ coachQuery.setProvince(province); } if (cityCode!=null){ coachQuery.setCity(cityCode.getName()); }else{ coachQuery.setCity(city); } coachQuery.setName(name); coachQuery.setPhone(phone); coachQuery.setTime(time); coachQuery.setType(type); return financeClient.rechargeList(coachQuery); } /** * 获取充值记录 */ @RequestMapping(value = "/getAmount") @ResponseBody public BigDecimal getAmount(String province, String city, String name, String phone, String time, Integer type) { RechargeRecordsQuery coachQuery = new RechargeRecordsQuery(); coachQuery.setProvince(province); coachQuery.setCity(city); coachQuery.setName(name); coachQuery.setPhone(phone); coachQuery.setTime(time); coachQuery.setType(type); List rechargeRecordsVOS = financeClient.rechargeList(coachQuery); BigDecimal total = new BigDecimal("0.00"); BigDecimal result = new BigDecimal("0.00"); for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) { BigDecimal amount = rechargeRecordsVO.getAmount(); total = total.add(amount); // 将新的值赋给total result = result.add(amount); // 将新的值赋给result } return total; } /** * 获取报名订单统计数据 */ @RequestMapping(value = "/getData") @ResponseBody public RegisterDataVO getData(String province,String city,Integer storeId,String registerTime ,String userName,String phone,String studentName,String coursePackageName,String salesName,Integer orderSource) { RegisterDataVO registerDataVO = new RegisterDataVO(); RegisterOrderQuery query = new RegisterOrderQuery(); query.setProvince(province); query.setCity(city); query.setStoreId(storeId); query.setInsertType(UserExt.getUser().getObjectType()); if(UserExt.getUser().getObjectType()==2){ List operatorId = storeService.list(new QueryWrapper() .eq("operatorId", UserExt.getUser().getObjectId())).stream() .map(TStore::getId).collect(Collectors.toList()); query.setStoresIds(operatorId); } if(UserExt.getUser().getObjectType()==3){ query.setStoreId(UserExt.getUser().getObjectId()); } query.setRegisterTime(registerTime); query.setUserName(userName); query.setUserIds(Lists.newArrayList()); query.setPhone(phone); query.setStudentName(studentName); query.setStudentIds(Lists.newArrayList()); query.setCoursePackageName(coursePackageName); query.setSalesName(salesName); query.setOrderSource(orderSource); AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO(); appUserByNameAndPhoneDTO.setUserName(query.getUserName()); appUserByNameAndPhoneDTO.setPhone(query.getPhone()); List tAppUsers = appUserClient.queryAPPUserByNameAndPhone(appUserByNameAndPhoneDTO); // 使用 Stream API 将 tAppUsers 中的 id 收集到一个集合中 List userIds = tAppUsers.stream() .map(TAppUser::getId) // 使用方法引用获取每个对象的 id .collect(Collectors.toList()); query.setUserIds(userIds); if (userIds.size()!=0){ List registerOrderVOS = coursePackagePaymentClient.listAllRegister(query); BigDecimal total = new BigDecimal("0.00"); BigDecimal result = new BigDecimal("0.00"); int playPaiCoin = 0 ; for (RegisterOrderVO rechargeRecordsVO : registerOrderVOS) { if (rechargeRecordsVO.getMoney()!=null){ BigDecimal amount = rechargeRecordsVO.getMoney(); total = total.add(amount); // 将新的值赋给total result = result.add(amount); // 将新的值赋给result } if (rechargeRecordsVO.getPlayPaiCoin()!=null){ playPaiCoin += rechargeRecordsVO.getPlayPaiCoin(); } } registerDataVO.setCashPayment(total); registerDataVO.setTotalOrder(registerOrderVOS.size()); registerDataVO.setPlayPaiCoin(playPaiCoin); } return registerDataVO; } /** * 跳转到消课记录页面 */ @RequestMapping("/cancelledClasses") public String cancelledClasses(Model model) { Integer objectType = UserExt.getUser().getObjectType(); model.addAttribute("objectType",objectType); return PREFIX + "CancelledClasses.html"; } /** * 根据市获取门店 */ @RequestMapping(value = "/getStore") @ResponseBody public List getStore(String city) { return storeClient.getStore(city); } /** * 跳转到消课记录页面 */ @RequestMapping("/registrationOrder") public String registrationOrder(Model model) { List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("list",list); Integer objectType = UserExt.getUser().getObjectType(); model.addAttribute("userType",objectType); model.addAttribute("roleType",objectType); return PREFIX + "RegistrationOrder.html"; } /** * 跳转到消课记录页面 */ @RequestMapping("/income") public String income(Model model) { Integer objectType = UserExt.getUser().getObjectType(); model.addAttribute("roleType",objectType); return PREFIX + "Income.html"; } /** * 获取收入管理列表 */ @RequestMapping(value = "/incomeListAll") @ResponseBody public List incomeListAll(String time,Integer incomeType,String userName,String amount) { // 充值记录查询query RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery(); // 报名课程查询query RegisterOrderQuery query = new RegisterOrderQuery(); query.setInsertType(UserExt.getUser().getObjectType()); if(UserExt.getUser().getObjectType()==2){ query.setStoresIds(storeService.list(new QueryWrapper() .eq("operatorId",UserExt.getUser().getObjectId()) ).stream().map(TStore::getId).collect(Collectors.toList())); } // 赛事活动查询query CompetitionQuery competitionQuery = new CompetitionQuery(); // 会员支付查询query IncomeQuery incomeQuery = new IncomeQuery(); // 场地预约记录查询query SiteBookingQuery siteBookingQuery = new SiteBookingQuery(); AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO(); appUserByNameAndPhoneDTO.setUserName(userName); if (userName!=null){ if (!userName.equals("")){ List tAppUsers = appUserClient.queryAPPUserByNameAndPhone(appUserByNameAndPhoneDTO); // 用户ids List collect = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()); competitionQuery.setUserIds(collect); rechargeRecordsQuery.setUserIds(collect); query.setUserIds(collect); incomeQuery.setUserIds(collect); siteBookingQuery.setUserIds(collect); } } if (amount==null || amount.equals("")){ siteBookingQuery.setAmount(null); query.setAmount(null); rechargeRecordsQuery.setAmount(null); competitionQuery.setAmount(null); incomeQuery.setAmount(null); }else { siteBookingQuery.setAmount(new BigDecimal(amount)); query.setAmount(new BigDecimal(amount)); rechargeRecordsQuery.setAmount(new BigDecimal(amount)); competitionQuery.setAmount(new BigDecimal(amount)); incomeQuery.setAmount(new BigDecimal(amount)); } if (UserExt.getUser().getObjectType()==2){ // 拿到门店集合id List operatorId = storeService.list(new QueryWrapper() .eq("operatorId", UserExt.getUser().getObjectId())).stream() .map(TStore::getId).collect(Collectors.toList()); query.setStoresIds(operatorId); competitionQuery.setOperatorId(UserExt.getUser().getObjectId()); siteBookingQuery.setStoreIds(operatorId); } siteBookingQuery.setTime(time); query.setRegisterTime(time); rechargeRecordsQuery.setTime(time); competitionQuery.setTime(time); incomeQuery.setTime(time); Integer roleType = UserExt.getUser().getObjectType(); IncomeVO incomeVO = new IncomeVO(); List incomeVOS = new ArrayList<>(); if ( incomeType==null || incomeType == 1){ // 会员支付记录 List vipPayments = vipPaymentClient.registrationList(incomeQuery); for (VipPayment vipPayment : vipPayments) { if (UserExt.getUser().getObjectType()!=1){ break; } TAppUser tAppUser = appUserClient.queryById(vipPayment.getAppUserId()); IncomeVO temp = new IncomeVO(); temp.setId(vipPayment.getId()); if (tAppUser!=null){ if (tAppUser.getProvince()!=null){ temp.setProvince(tAppUser.getProvince()); } if (tAppUser.getCity()!=null){ temp.setCity(tAppUser.getCity()); } temp.setPayUser(tAppUser.getName()); temp.setPhone(tAppUser.getPhone()); } temp.setStoreName(""); temp.setAmount(new BigDecimal(vipPayment.getAmount().toString())); temp.setIncomeType(1); temp.setState(vipPayment.getState()); temp.setInsertTime(vipPayment.getInsertTime()); if (UserExt.getUser().getObjectType()!=1){ break; } incomeVOS.add(temp); } } if ( incomeType==null || incomeType == 2) { // 充值记录 List rechargeRecordsVOS = financeClient.rechargeList(rechargeRecordsQuery); for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) { if (UserExt.getUser().getObjectType()!=1){ break; } TAppUser tAppUser = appUserClient.queryById(rechargeRecordsVO.getAppUserId()); IncomeVO temp = new IncomeVO(); temp.setId(rechargeRecordsVO.getId().intValue()); if (tAppUser!=null){ if (tAppUser.getProvince()!=null){ temp.setProvince(tAppUser.getProvince()); } if (tAppUser.getCity()!=null){ temp.setCity(tAppUser.getCity()); } temp.setPayUser(tAppUser.getName()); temp.setPhone(tAppUser.getPhone()); } temp.setStoreName(""); temp.setInsertTime(rechargeRecordsVO.getInsertTime()); if (rechargeRecordsVO.getAmount() != null) { temp.setAmount(rechargeRecordsVO.getAmount()); } temp.setIncomeType(2); temp.setState(rechargeRecordsVO.getPayStatus()); incomeVOS.add(temp); } } if ( incomeType==null || incomeType == 3) { // 报名课程记录 List registerOrderVOS = coursePackagePaymentClient.listAllRegister(query); for (RegisterOrderVO registerOrderVO : registerOrderVOS) { if (registerOrderVO.getMoney() == null) { continue; } TAppUser tAppUser = appUserClient.queryById(registerOrderVO.getAppUserId()); IncomeVO temp = new IncomeVO(); temp.setId(registerOrderVO.getId().intValue()); if (tAppUser!=null){ if (tAppUser.getProvince()!=null){ temp.setProvince(tAppUser.getProvince()); } if (tAppUser.getCity()!=null){ temp.setCity(tAppUser.getCity()); } temp.setPayUser(tAppUser.getName()); temp.setPhone(tAppUser.getPhone()); } temp.setStoreName(registerOrderVO.getStoreName()); temp.setInsertTime(registerOrderVO.getInsertTime()); if (registerOrderVO.getMoney() != null) { temp.setAmount(registerOrderVO.getMoney()); } temp.setIncomeType(3); temp.setState(registerOrderVO.getPayStatus()); incomeVOS.add(temp); } } if(roleType !=3) { if (incomeType == null || incomeType == 4) { // 报名活动 List competitions = competitionClient.listAllPayment(competitionQuery); for (PaymentCompetition competition : competitions) { if (competition.getPayStatus() == 3) { continue; } IncomeVO temp = new IncomeVO(); TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId()); Competition competition1 = competitionClient.queryById(competition.getCompetitionId()); if(null == competition1){ continue; } if (!competition1.getStoreId().equals("")){ String[] split = competition1.getStoreId().split(","); List list = new ArrayList<>(); for (String s : split) { list.add(Integer.valueOf(s)); } List id = storeService.list(new QueryWrapper().in("id", list)); StringBuilder storeNames = new StringBuilder(""); for (TStore store : id) { // 赛事举办门店 (可能会有多个门店举办 需要拼接门店名称) storeNames.append(store.getName() + ","); } String substring = storeNames.toString().substring(0, storeNames.toString().length() - 1); temp.setStoreName(substring); } temp.setId(competition.getId().intValue()); if (tAppUser!=null){ if (tAppUser.getProvince()!=null){ temp.setProvince(tAppUser.getProvince()); } if (tAppUser.getCity()!=null){ temp.setCity(tAppUser.getCity()); } temp.setPayUser(tAppUser.getName()); temp.setPhone(tAppUser.getPhone()); } temp.setInsertTime(competition.getInsertTime()); if (competition.getAmount() != null) { temp.setAmount(new BigDecimal(competition.getAmount().toString())); } temp.setIncomeType(4); temp.setState(competition.getPayStatus()); incomeVOS.add(temp); } } } if (incomeType == null || incomeType == 5) { // 预约场地 List siteBookings = siteClient.listAll(siteBookingQuery); for (SiteBooking siteBooking : siteBookings) { IncomeVO temp = new IncomeVO(); if (siteBooking.getStatus() == 0 || siteBooking.getStatus() == 5 || siteBooking.getStatus() == 4) { temp.setState(1); } else { temp.setState(2); } TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId()); Store store = storeClient.getStoreById(siteBooking.getStoreId()); temp.setId(siteBooking.getId()); temp.setProvince(siteBooking.getProvince()); temp.setCity(siteBooking.getCity()); temp.setStoreName(store.getName()); if (tAppUser!=null){ if (tAppUser.getProvince()!=null){ temp.setProvince(tAppUser.getProvince()); } if (tAppUser.getCity()!=null){ temp.setCity(tAppUser.getCity()); } temp.setPayUser(tAppUser.getName()); temp.setPhone(tAppUser.getPhone()); } temp.setInsertTime(siteBooking.getInsertTime()); if (siteBooking.getPayMoney() != null) { temp.setAmount(new BigDecimal(siteBooking.getPayMoney().toString())); } temp.setIncomeType(5); incomeVOS.add(temp); } } return incomeVOS; } /** * 获取收入管理列表 */ @RequestMapping(value = "/getIncomeData") @ResponseBody public Object getIncomeData(String time,Integer incomeType,String userName,String amount) { // 充值记录查询query RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery(); // 报名课程查询query RegisterOrderQuery query = new RegisterOrderQuery(); query.setInsertType(UserExt.getUser().getObjectType()); query.setStoresIds(storeService.list(new QueryWrapper() .eq("operatorId",UserExt.getUser().getObjectId())) .stream().map(TStore::getId).collect(Collectors.toList())); // 赛事活动查询query CompetitionQuery competitionQuery = new CompetitionQuery(); // 会员支付查询query IncomeQuery incomeQuery = new IncomeQuery(); // 场地预约记录查询query SiteBookingQuery siteBookingQuery = new SiteBookingQuery(); AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO(); appUserByNameAndPhoneDTO.setUserName(userName); if (userName!=null){ if (!userName.equals("")){ List tAppUsers = appUserClient.queryAPPUserByNameAndPhone(appUserByNameAndPhoneDTO); // 用户ids List collect = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()); competitionQuery.setUserIds(collect); rechargeRecordsQuery.setUserIds(collect); query.setUserIds(collect); incomeQuery.setUserIds(collect); siteBookingQuery.setUserIds(collect); } } if (amount==null || amount.equals("")){ siteBookingQuery.setAmount(null); query.setAmount(null); rechargeRecordsQuery.setAmount(null); competitionQuery.setAmount(null); incomeQuery.setAmount(null); }else { siteBookingQuery.setAmount(new BigDecimal(amount)); query.setAmount(new BigDecimal(amount)); rechargeRecordsQuery.setAmount(new BigDecimal(amount)); competitionQuery.setAmount(new BigDecimal(amount)); incomeQuery.setAmount(new BigDecimal(amount)); } if (UserExt.getUser().getObjectType()==2){ // 拿到门店集合id List operatorId = storeService.list(new QueryWrapper() .eq("operatorId", UserExt.getUser().getObjectId())).stream() .map(TStore::getId).collect(Collectors.toList()); query.setStoresIds(operatorId); competitionQuery.setOperatorId(UserExt.getUser().getObjectId()); siteBookingQuery.setStoreIds(operatorId); } siteBookingQuery.setTime(time); query.setRegisterTime(time); rechargeRecordsQuery.setTime(time); competitionQuery.setTime(time); incomeQuery.setTime(time); Integer roleType = UserExt.getUser().getObjectType(); IncomeVO incomeVO = new IncomeVO(); List incomeVOS = new ArrayList<>(); if ( incomeType==null || incomeType == 1){ // 会员支付记录 List vipPayments = vipPaymentClient.registrationList(incomeQuery); for (VipPayment vipPayment : vipPayments) { if (UserExt.getUser().getObjectType()!=1){ break; } TAppUser tAppUser = appUserClient.queryById(vipPayment.getAppUserId()); IncomeVO temp = new IncomeVO(); temp.setId(vipPayment.getId()); if (tAppUser!=null){ if (tAppUser.getProvince()!=null){ temp.setProvince(tAppUser.getProvince()); } if (tAppUser.getCity()!=null){ temp.setCity(tAppUser.getCity()); } temp.setPayUser(tAppUser.getName()); temp.setPhone(tAppUser.getPhone()); } temp.setStoreName(""); temp.setAmount(new BigDecimal(vipPayment.getAmount().toString())); temp.setIncomeType(1); temp.setState(vipPayment.getState()); temp.setInsertTime(vipPayment.getInsertTime()); if (UserExt.getUser().getObjectType()!=1){ break; } incomeVOS.add(temp); } } if ( incomeType==null || incomeType == 2) { // 充值记录 List rechargeRecordsVOS = financeClient.rechargeList(rechargeRecordsQuery); for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) { if (UserExt.getUser().getObjectType()!=1){ break; } TAppUser tAppUser = appUserClient.queryById(rechargeRecordsVO.getAppUserId()); IncomeVO temp = new IncomeVO(); temp.setId(rechargeRecordsVO.getId().intValue()); if (tAppUser!=null){ if (tAppUser.getProvince()!=null){ temp.setProvince(tAppUser.getProvince()); } if (tAppUser.getCity()!=null){ temp.setCity(tAppUser.getCity()); } temp.setPayUser(tAppUser.getName()); temp.setPhone(tAppUser.getPhone()); } temp.setStoreName(""); temp.setInsertTime(rechargeRecordsVO.getInsertTime()); if (rechargeRecordsVO.getAmount() != null) { temp.setAmount(rechargeRecordsVO.getAmount()); } temp.setIncomeType(2); temp.setState(rechargeRecordsVO.getPayStatus()); incomeVOS.add(temp); } } if ( incomeType==null || incomeType == 3) { // 报名课程记录 List registerOrderVOS = coursePackagePaymentClient.listAllRegister(query); for (RegisterOrderVO registerOrderVO : registerOrderVOS) { if (registerOrderVO.getMoney() == null) { continue; } TAppUser tAppUser = appUserClient.queryById(registerOrderVO.getAppUserId()); IncomeVO temp = new IncomeVO(); temp.setId(registerOrderVO.getId().intValue()); if (registerOrderVO.getPayStatus()==2) { temp.setState(2); } else { temp.setState(1); } if (tAppUser!=null){ if (tAppUser.getProvince()!=null){ temp.setProvince(tAppUser.getProvince()); } if (tAppUser.getCity()!=null){ temp.setCity(tAppUser.getCity()); } temp.setPayUser(tAppUser.getName()); temp.setPhone(tAppUser.getPhone()); } temp.setStoreName(registerOrderVO.getStoreName()); temp.setInsertTime(registerOrderVO.getInsertTime()); if (registerOrderVO.getMoney() != null) { temp.setAmount(registerOrderVO.getMoney()); } temp.setIncomeType(3); temp.setState(registerOrderVO.getPayStatus()); incomeVOS.add(temp); } } if(roleType !=3) { if (incomeType == null || incomeType == 4) { // 报名活动 List competitions = competitionClient.listAllPayment(competitionQuery); for (PaymentCompetition competition : competitions) { if (competition.getPayStatus() == 3) { continue; } IncomeVO temp = new IncomeVO(); TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId()); Competition competition1 = competitionClient.queryById(competition.getCompetitionId()); if(null == competition1){ continue; } if (!competition1.getStoreId().equals("")){ String[] split = competition1.getStoreId().split(","); List list = new ArrayList<>(); for (String s : split) { list.add(Integer.valueOf(s)); } List id = storeService.list(new QueryWrapper().in("id", list)); StringBuilder storeNames = new StringBuilder(""); for (TStore store : id) { // 赛事举办门店 (可能会有多个门店举办 需要拼接门店名称) storeNames.append(store.getName() + ","); } String substring = storeNames.toString().substring(0, storeNames.toString().length() - 1); temp.setStoreName(substring); } if (competition.getPayStatus()==2) { temp.setState(2); } else { temp.setState(1); } temp.setId(competition.getId().intValue()); if (tAppUser!=null){ if (tAppUser.getProvince()!=null){ temp.setProvince(tAppUser.getProvince()); } if (tAppUser.getCity()!=null){ temp.setCity(tAppUser.getCity()); } temp.setPayUser(tAppUser.getName()); temp.setPhone(tAppUser.getPhone()); } temp.setInsertTime(competition.getInsertTime()); if (competition.getAmount() != null) { temp.setAmount(new BigDecimal(competition.getAmount().toString())); } temp.setIncomeType(4); temp.setState(competition.getPayStatus()); incomeVOS.add(temp); } } } if (incomeType == null || incomeType == 5) { // 预约场地 List siteBookings = siteClient.listAll(siteBookingQuery); for (SiteBooking siteBooking : siteBookings) { IncomeVO temp = new IncomeVO(); if (siteBooking.getStatus() == 0 || siteBooking.getStatus() == 5 || siteBooking.getStatus() == 4) { temp.setState(1); } else { temp.setState(2); } TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId()); Store store = storeClient.getStoreById(siteBooking.getStoreId()); temp.setId(siteBooking.getId()); temp.setProvince(siteBooking.getProvince()); temp.setCity(siteBooking.getCity()); temp.setStoreName(store.getName()); if (tAppUser!=null){ if (tAppUser.getProvince()!=null){ temp.setProvince(tAppUser.getProvince()); } if (tAppUser.getCity()!=null){ temp.setCity(tAppUser.getCity()); } temp.setPayUser(tAppUser.getName()); temp.setPhone(tAppUser.getPhone()); } temp.setInsertTime(siteBooking.getInsertTime()); if (siteBooking.getPayMoney() != null) { temp.setAmount(new BigDecimal(siteBooking.getPayMoney().toString())); } temp.setIncomeType(5); incomeVOS.add(temp); } } BigDecimal totalAmount = BigDecimal.ZERO; // 初始化累加变量为0 for (IncomeVO vo : incomeVOS) { if (vo.getAmount() == null ){ BigDecimal temp = BigDecimal.ZERO; totalAmount = totalAmount.add(temp); }else{ BigDecimal totalMoney = vo.getAmount(); totalAmount = totalAmount.add(totalMoney); // 累加每个IncomeVO对象的amount } } return totalAmount; } /** * 获取消课记录 */ @RequestMapping(value = "/cancelListAll") @ResponseBody public List cancelListAll(String beginTime, String studentName, String courseName, String coachName) { CancelClassesQuery coachQuery = new CancelClassesQuery(); coachQuery.setStudentName(studentName); coachQuery.setCoachName(coachName); coachQuery.setCourseName(courseName); coachQuery.setTime(beginTime); if(UserExt.getUser().getObjectType()==3){ coachQuery.setStoreId(UserExt.getUser().getObjectId()); } if(UserExt.getUser().getObjectType()==2){ // 运营商门店ids List storeIds = storeService .list(new QueryWrapper().eq("operatorId", UserExt.getUser().getObjectId())) .stream().map(TStore::getId).collect(Collectors.toList()); coachQuery.setStoreIds(storeIds); } return cancelledClassesClient.listAll(coachQuery); } /** * 获取报名订单记录 */ @Autowired private IStoreService storeService; @RequestMapping(value = "/registerListAll") @ResponseBody public List registerListAll(String province,String city,Integer storeId,String registerTime ,String userName,String phone,String studentName,String coursePackageName,String salesName,Integer orderSource) { RegisterOrderQuery query = new RegisterOrderQuery(); query.setProvince(province); query.setCity(city); query.setStoreId(storeId); query.setInsertType(UserExt.getUser().getObjectType()); if(UserExt.getUser().getObjectType()==2){ query.setStoresIds(storeService.list(new QueryWrapper() .eq("operatorId",UserExt.getUser().getObjectId()) ).stream().map(TStore::getId).collect(Collectors.toList())); } if(UserExt.getUser().getObjectType()==3){ query.setStoreId(UserExt.getUser().getObjectId()); } query.setRegisterTime(registerTime); query.setUserName(userName); query.setUserIds(Lists.newArrayList()); query.setPhone(phone); query.setStudentName(studentName); query.setStudentIds(Lists.newArrayList()); query.setCoursePackageName(coursePackageName); query.setSalesName(salesName); query.setOrderSource(orderSource); AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO(); appUserByNameAndPhoneDTO.setUserName(query.getUserName()); appUserByNameAndPhoneDTO.setPhone(query.getPhone()); List tAppUsers = appUserClient.queryAPPUserByNameAndPhone(appUserByNameAndPhoneDTO); // 使用 Stream API 将 tAppUsers 中的 id 收集到一个集合中 List userIds = tAppUsers.stream() .map(TAppUser::getId) // 使用方法引用获取每个对象的 id .collect(Collectors.toList()); query.setUserIds(userIds); if (userIds.size()==0){ return new ArrayList<>(); } return coursePackagePaymentClient.listAllRegister(query); } }